/* Discards originate at their actual owner's seat, rather than a fixed opposite-side vector. */
.gameScreen .discardSpot .imageTile.justDiscarded{animation-name:ownerDiscard!important;animation-timing-function:cubic-bezier(.2,.75,.2,1)!important}
@keyframes ownerDiscard{from{opacity:.45;transform:translate(var(--discard-from-x,0px),var(--discard-from-y,0px)) scale(.85)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.gameScreen .discardSpot .imageTile.justDiscarded{animation:none!important}}
@media(min-width:901px){
html body #root main.gameScreen.desktopGame.yuzbirGame:not(.phoneGame) .feltTable101 .discardSpot>.discardOwner{display:block!important;position:absolute!important;top:-17px!important;left:50%!important;right:auto!important;transform:translateX(-50%)!important;font-size:9px!important;font-weight:800!important;line-height:14px!important;color:#fff0c2!important;background:#082f29!important;border-radius:4px!important;padding:0 3px!important;white-space:nowrap!important;max-width:100px!important;overflow:hidden!important;text-overflow:ellipsis!important}
}
html body #root .gameScreen .centerDeck.startDeck{overflow:visible!important;cursor:default!important;background:transparent!important;border-color:transparent!important;box-shadow:none!important;pointer-events:auto!important}
html body #root .gameScreen .centerDeck.startDeck::after{display:none!important}
html body #root .gameScreen .centerDeck>.normalTableStart{position:absolute!important;left:50%!important;top:50%!important;right:auto!important;bottom:auto!important;transform:translate(-50%,-50%)!important;width:100px!important;max-width:none!important;z-index:80!important;gap:5px!important}
html body #root .gameScreen .centerDeck>.normalTableStart .roomStart{width:100%!important;min-width:0!important;min-height:48px!important;padding:8px 4px!important;font-size:12px!important;white-space:normal!important;border-radius:10px!important}
html body #root .gameScreen .centerDeck>.normalTableStart small{width:100%!important;box-sizing:border-box!important;padding:4px!important;margin:0!important;font-size:9px!important;line-height:12px!important;border-radius:6px!important}

html body #root .gameScreen .centerDeck>.normalTableStart small{white-space:normal!important;letter-spacing:normal!important;overflow-wrap:anywhere!important}

/* Seat indices always mean bottom=0, right=1, top=2, left=3 in both games. */
html body #root main.gameScreen.duzGame .feltTable .seat.seat-1{left:auto!important;right:1.2%!important}
html body #root main.gameScreen.duzGame .feltTable .seat.seat-3{left:1.2%!important;right:auto!important}
html body #root main.gameScreen.duzGame .feltTable .discardSpot{width:38px!important;min-width:38px!important;height:54px!important;min-height:54px!important;padding:2px!important;box-sizing:border-box!important;overflow:visible!important}
html body #root main.gameScreen.duzGame .feltTable .discardSpot .okeyTile{width:32px!important;min-width:32px!important;height:45px!important;min-height:45px!important;margin:0!important;padding:0!important}
html body #root main.gameScreen.duzGame .feltTable .discardSpot.discard-0{left:auto!important;right:32%!important;top:auto!important;bottom:6%!important;transform:none!important;display:flex!important}
html body #root main.gameScreen.duzGame .feltTable .discardSpot.discard-1{left:auto!important;right:8%!important;top:12%!important;bottom:auto!important;transform:none!important}
html body #root main.gameScreen.duzGame .feltTable .discardSpot.discard-2{left:35%!important;right:auto!important;top:8%!important;bottom:auto!important;transform:none!important}
html body #root main.gameScreen.duzGame .feltTable .discardSpot.discard-3{left:8%!important;right:auto!important;top:auto!important;bottom:18%!important;transform:none!important}
html body #root main.gameScreen.duzGame .feltTable .myDiscardDock{display:none!important}
html body #root main.gameScreen.duzGame .feltTable .discardRoleLabel{display:none!important}
html body #root main.gameScreen.duzGame .feltTable .discardOwner{display:block!important;position:absolute!important;left:50%!important;right:auto!important;top:-17px!important;bottom:auto!important;transform:translateX(-50%)!important;font-size:9px!important;line-height:14px!important;padding:0 3px!important;color:#fff0c2!important;background:#082f29!important;white-space:nowrap!important;border-radius:4px!important}
@media(max-width:900px){
html body #root main.gameScreen.yuzbirGame .feltTable .seat.seat-1{left:auto!important;right:6.154%!important}
html body #root main.gameScreen.yuzbirGame .feltTable .seat.seat-3{left:6.154%!important;right:auto!important}
html body #root main.gameScreen.yuzbirGame .feltTable .discardSpot.discard-1{left:auto!important;right:7.5%!important;top:20%!important;bottom:auto!important;transform:none!important}
html body #root main.gameScreen.yuzbirGame .feltTable .discardSpot.discard-3{left:7.5%!important;right:auto!important;top:50%!important;bottom:auto!important;transform:none!important}
html body #root main.gameScreen.yuzbirGame .feltTable .discardSpot.discard-2{left:26%!important;right:auto!important;top:10%!important;bottom:auto!important;transform:none!important}
html body #root main.gameScreen.duzGame .feltTable .discardSpot.discard-0{right:18%!important;bottom:6%!important}
}

html body #root main.gameScreen.duzGame .gameTableWrap .feltTable .seat.seat-0 .myDiscardDock{display:none!important}
html body #root main.gameScreen .feltTable .seat.turn::before,html body #root main.gameScreen .feltTable .seat.turn::after,html body #root main.gameScreen .feltTable .seat.turn b::before{content:none!important}

html body #root main.gameScreen.duzGame .gameTableWrap .feltTable .discardSpot>.discardHistoryCount{position:absolute!important;top:calc(100% + 4px)!important;bottom:auto!important;left:50%!important;right:auto!important;transform:translateX(-50%)!important;white-space:nowrap!important;font-size:8px!important;line-height:12px!important;padding:1px 4px!important;height:16px!important;min-height:16px!important}
html body #root main.gameScreen.duzGame .gameTableWrap .feltTable .discardSpot>.takeDiscardHint{position:absolute!important;top:-40px!important;bottom:auto!important;left:50%!important;right:auto!important;transform:translateX(-50%)!important;white-space:nowrap!important;font-size:9px!important;padding:2px 5px!important;min-width:68px!important;height:20px!important;min-height:20px!important}

html body #root .gameScreen .rackArea .autoPilotBanner,html body #root .gameScreen .rackArea .autoPilotBanner :not(button){color:#fff4d8!important}

@media(max-width:900px){html body #root main.gameScreen.duzGame .feltTable .discardSpot.discard-2{left:26%!important}}

/* Keep history labels within the mobile table and remove stale draw labels at hand end. */
html body #root .gameScreen .centerDeck.startDeck small::after{content:none!important;display:none!important}
@media(max-width:900px){
html body #root main.gameScreen .feltTable .discardSpot.discard-3>.discardHistoryCount{position:absolute!important;top:calc(100% + 3px)!important;bottom:auto!important;left:0!important;right:auto!important;transform:none!important;white-space:nowrap!important;font-size:8px!important}
}
/* Eighteen columns retain every rack slot; row height follows the tile width. */
@media(max-width:700px) and (orientation:portrait){
html body #root main.gameScreen.yuzbirGame .rackArea{height:calc(84px + 14.4vw)!important;min-height:0!important;max-height:none!important}
html body #root main.gameScreen.yuzbirGame .rackArea .rackBoardShell,html body #root main.gameScreen.yuzbirGame.finishedHand .rackArea .rackBoardShell{inset:65px 7px 7px!important}
html body #root main.gameScreen.yuzbirGame .rackArea .tileRackGrid{padding:3px 2px!important;column-gap:1px!important;row-gap:5px!important}
}

@media(max-width:900px){
html body #root main.gameScreen .tableChatBubble{z-index:130!important}
html body #root main.gameScreen.yuzbirGame .feltTable .discardSpot>.takeDiscardHint{position:absolute!important;top:-37px!important;bottom:auto!important;left:0!important;right:auto!important;transform:none!important;height:18px!important;min-height:18px!important;width:auto!important;min-width:0!important;padding:2px 3px!important;font-size:8px!important;white-space:nowrap!important}
}
@media(max-width:700px) and (orientation:portrait){
html body #root main.gameScreen.yuzbirGame .tableChatBubble{bottom:calc(110px + 14.4vw)!important;right:20px!important}
}
@media(max-width:900px) and (max-height:520px) and (orientation:landscape){
html body #root main.gameScreen.yuzbirGame .rackArea{height:112px!important;top:auto!important;bottom:8px!important;overflow:visible!important}
html body #root main.gameScreen.yuzbirGame .rackArea>.rackHead{display:flex!important;top:4px!important;left:6px!important;right:6px!important;width:auto!important;height:24px!important}
html body #root main.gameScreen.yuzbirGame .rackArea>.rackHead>div:first-child{display:none!important}
html body #root main.gameScreen.yuzbirGame .rackArea .rackTools{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;width:100%!important;height:24px!important;gap:4px!important}
html body #root main.gameScreen.yuzbirGame .rackArea .rackTools>button{display:block!important;position:static!important;width:auto!important;height:24px!important;min-height:24px!important;font-size:10px!important}
html body #root main.gameScreen.yuzbirGame .rackArea>.rack101ScoreBar{top:32px!important;left:6px!important;right:6px!important;width:auto!important;height:24px!important;min-height:24px!important;padding:0!important}
html body #root main.gameScreen.yuzbirGame .rackArea .rack101UnifiedActions{width:100%!important;height:24px!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:4px!important}
html body #root main.gameScreen.yuzbirGame .rackArea .rack101UnifiedActions>button{height:24px!important;min-height:24px!important;font-size:10px!important}
html body #root main.gameScreen.yuzbirGame .rackArea>.rackBoardShell{inset:60px 6px 5px!important}
html body #root main.gameScreen.yuzbirGame .rackArea .autoPilotBanner{width:min(360px,90%)!important;max-height:96px!important;top:50%!important;bottom:auto!important;transform:translate(-50%,-50%)!important;padding:6px!important}
html body #root main.gameScreen.yuzbirGame .rackArea .autoPilotBanner button{min-height:28px!important;padding:4px 12px!important;font-size:12px!important}
html body #root main.gameScreen.yuzbirGame .rackArea .autoPilotBanner p{margin:2px!important;font-size:9px!important}
html body #root main.gameScreen.yuzbirGame .tableChatBubble{bottom:126px!important;right:18px!important;width:38px!important;height:38px!important}
html body #root main.gameScreen.yuzbirGame .seat-0{display:none!important}
}

@media(max-width:900px) and (max-height:520px) and (orientation:landscape){
html body #root main.gameScreen.yuzbirGame .rackArea .tileRackGrid .rackSlot>.imageTile.okeyTile{position:relative!important;inset:auto!important;width:100%!important;min-width:0!important;max-width:100%!important;height:100%!important;min-height:0!important;max-height:100%!important;margin:0!important;padding:0!important}
html body #root main.gameScreen.yuzbirGame .rackArea .tileRackGrid .rackSlot>.imageTile.okeyTile img{width:100%!important;height:100%!important;object-fit:contain!important;transform:none!important}
}

@media(max-width:700px) and (orientation:portrait){
html body #root main.gameScreen.yuzbirGame.finishedHand .rackArea{top:auto!important;bottom:2.5%!important;height:calc(84px + 14.4vw)!important;min-height:0!important;max-height:none!important}
}
@media(max-width:900px) and (max-height:520px) and (orientation:landscape){
html body #root main.gameScreen.yuzbirGame.finishedHand .rackArea{top:auto!important;bottom:8px!important;height:112px!important;max-height:none!important}
html body #root main.gameScreen.yuzbirGame.finishedHand .rackArea>.rackBoardShell{inset:60px 6px 5px!important}
}

/* Landscape phone: one control row above two full-size tile rows. */
@media(max-width:900px) and (max-height:520px) and (orientation:landscape){
html body #root main.gameScreen.yuzbirGame{--landscape-rack-height:calc(48px + (82vw - 28px)*.1556)}
html body #root main.gameScreen.yuzbirGame .rackArea,html body #root main.gameScreen.yuzbirGame.finishedHand .rackArea{height:var(--landscape-rack-height)!important;top:auto!important;bottom:8px!important}
html body #root main.gameScreen.yuzbirGame .rackArea>.rackHead{left:6px!important;right:50%!important;top:4px!important;height:28px!important}
html body #root main.gameScreen.yuzbirGame .rackArea .rackTools,html body #root main.gameScreen.yuzbirGame .rackArea .rackTools>button{height:28px!important;min-height:28px!important}
html body #root main.gameScreen.yuzbirGame .rackArea>.rack101ScoreBar{left:calc(50% + 4px)!important;right:6px!important;top:4px!important;height:28px!important;min-height:28px!important}
html body #root main.gameScreen.yuzbirGame .rackArea .rack101UnifiedActions,html body #root main.gameScreen.yuzbirGame .rackArea .rack101UnifiedActions>button{height:28px!important;min-height:28px!important}
html body #root main.gameScreen.yuzbirGame .rackArea>.rackBoardShell,html body #root main.gameScreen.yuzbirGame.finishedHand .rackArea>.rackBoardShell{inset:36px 6px 6px!important}
html body #root main.gameScreen.yuzbirGame .rackArea .tileRackGrid{padding:3px!important;gap:5px 1px!important;grid-template-rows:repeat(2,minmax(0,1fr))!important}
html body #root main.gameScreen.yuzbirGame .rackArea .tileRackGrid .rackSlot,html body #root main.gameScreen.yuzbirGame .rackArea .tileRackGrid .rackSlot.occupied{height:100%!important;max-height:100%!important;min-height:0!important;min-width:0!important;border:0!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important}
html body #root main.gameScreen.yuzbirGame .rackArea .tileRackGrid .rackSlot.occupied>.imageTile.okeyTile{height:100%!important;min-height:0!important;max-height:100%!important}
html body #root main.gameScreen.yuzbirGame .yuzbirMeldBoard{top:56px!important;bottom:calc(var(--landscape-rack-height) + 24px)!important;height:auto!important;max-height:none!important}
html body #root main.gameScreen.yuzbirGame .centerDeck{top:auto!important;bottom:calc(var(--landscape-rack-height) + 16px)!important}
html body #root main.gameScreen.yuzbirGame .tableChatBubble{bottom:calc(var(--landscape-rack-height) + 18px)!important}
}

@media(max-width:900px) and (max-height:520px) and (orientation:landscape){
html body #root main.gameScreen.yuzbirGame .gameInfoBar .indicatorPanel{position:absolute!important;top:54px!important;left:20px!important;right:auto!important;bottom:auto!important;width:110px!important;height:48px!important;min-height:0!important;transform:none!important}
html body #root main.gameScreen.yuzbirGame .feltTable101 .seat.seat-2{left:30%!important;right:auto!important;top:6px!important;width:110px!important;height:28px!important}
html body #root main.gameScreen.yuzbirGame .feltTable101 .discardSpot.discard-2{left:24%!important;right:auto!important;top:8px!important;bottom:auto!important}
}

@media(max-width:900px) and (max-height:520px) and (orientation:landscape){
html body #root main.gameScreen.yuzbirGame .feltTable101 .seat.seat-2{left:28%!important;top:6px!important;width:100px!important;z-index:131!important}
html body #root main.gameScreen.yuzbirGame .feltTable101 .discardSpot.discard-2{left:23%!important;top:8px!important;z-index:131!important}
html body #root main.gameScreen.yuzbirGame .feltTable101 .discardSpot>.discardRoleLabel{display:none!important}
html body #root main.gameScreen.yuzbirGame .feltTable101 .discardSpot>.discardOwner{position:absolute!important;top:-14px!important;bottom:auto!important;left:50%!important;right:auto!important;transform:translateX(-50%)!important;font-size:8px!important;white-space:nowrap!important}
html body #root main.gameScreen.yuzbirGame .feltTable101 .discardSpot.discard-3{top:auto!important;bottom:calc(var(--landscape-rack-height) + 18px)!important;left:3%!important}
html body #root main.gameScreen.yuzbirGame .feltTable101 .discardSpot.discard-3>.discardHistoryCount{left:auto!important;right:calc(100% + 3px)!important;top:50%!important;transform:translateY(-50%)!important;font-size:7px!important;padding:1px 2px!important}
}

@media(max-width:900px) and (max-height:520px) and (orientation:landscape){
html body #root main.gameScreen.yuzbirGame .feltTable101 .seat.seat-2{top:44px!important;left:28%!important;height:28px!important}
html body #root main.gameScreen.yuzbirGame .feltTable101 .seat.seat-2>.botSeatRemove{display:none!important}
html body #root main.gameScreen.yuzbirGame .feltTable101 .discardSpot.discard-2{top:44px!important;width:28px!important;height:36px!important;min-height:0!important}
html body #root main.gameScreen.yuzbirGame .feltTable101 .discardSpot.discard-2>.discardOwner{display:none!important}
html body #root main.gameScreen.yuzbirGame .yuzbirMeldBoard{top:84px!important}
html body #root main.gameScreen.yuzbirGame .feltTable101 .discardSpot.discard-3>.discardHistoryCount{left:calc(100% + 3px)!important;right:auto!important;top:50%!important;transform:translateY(-50%)!important}
}

/* The centered undo button remains available; its duplicate must not cover opening actions. */
html body #root main.gameScreen.yuzbirGame .rackArea .rack101ScoreBar .rack101UnifiedActions>button.returnSideTile{display:none!important;pointer-events:none!important}
