/* DARK OKEY PC 101 spacious table layout. Mobile untouched. */
@media (min-width:1000px){
 #root main.gameScreen.yuzbirGame{
  overflow:hidden!important;
 }
 #root main.gameScreen.yuzbirGame .gameTableWrap{
  position:absolute!important;
  inset:64px 0 0!important;
  width:100%!important;
  height:calc(100dvh - 64px)!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
 }
 #root main.gameScreen.yuzbirGame .feltTable101{
  position:absolute!important;
  inset:0 8px auto!important;
  width:calc(100% - 16px)!important;
  height:calc(100% - 258px)!important;
  min-height:470px!important;
  max-height:none!important;
  margin:0!important;
  border-radius:26px!important;
  overflow:hidden!important;
 }
 #root main.gameScreen.yuzbirGame .yuzbirMeldBoard{
  position:absolute!important;
  left:15.5%!important;
  top:8%!important;
  width:69%!important;
  height:50%!important;
  min-height:0!important;
  max-height:none!important;
  padding:28px 12px 12px!important;
  overflow:auto!important;
  border-radius:16px!important;
 }
 #root main.gameScreen.yuzbirGame .yuzbirMeldBoard:before{
  position:sticky!important;
  top:-28px!important;
  margin:-28px -12px 8px!important;
 }
 #root main.gameScreen.yuzbirGame .yuzbirMeldLane{
  min-height:82px!important;
  margin-bottom:7px!important;
  padding:6px 8px!important;
 }
 #root main.gameScreen.yuzbirGame .yuzbirMeldGroups{
  gap:6px!important;
 }
 #root main.gameScreen.yuzbirGame .centerLogo{
  display:block!important;
  inset:56% 0 auto!important;
  height:auto!important;
  font-size:34px!important;
  opacity:.22!important;
  pointer-events:none!important;
 }
 #root main.gameScreen.yuzbirGame .seat-2{
  position:absolute!important;
  top:1.5%!important;
  left:50%!important;
  width:170px!important;
  height:46px!important;
  transform:translateX(-50%)!important;
 }
 #root main.gameScreen.yuzbirGame .seat-1{
  position:absolute!important;
  top:35%!important;
  left:2.2%!important;
  width:145px!important;
  height:86px!important;
  transform:none!important;
 }
 #root main.gameScreen.yuzbirGame .seat-3{
  position:absolute!important;
  top:35%!important;
  right:2.2%!important;
  left:auto!important;
  width:145px!important;
  height:86px!important;
  transform:none!important;
 }
 #root main.gameScreen.yuzbirGame .seat-0{
  position:absolute!important;
  top:auto!important;
  bottom:2.4%!important;
  left:50%!important;
  width:200px!important;
  height:42px!important;
  transform:translateX(-50%)!important;
 }
 #root main.gameScreen.yuzbirGame .discardSpot{
  z-index:44!important;
  width:54px!important;
  height:70px!important;
  min-width:54px!important;
  min-height:70px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
 }
 #root main.gameScreen.yuzbirGame .discard-2{
  top:5%!important;
  left:60%!important;
  right:auto!important;
  bottom:auto!important;
  transform:none!important;
 }
 #root main.gameScreen.yuzbirGame .discard-1{
  top:52%!important;
  left:8.3%!important;
  right:auto!important;
  bottom:auto!important;
  transform:none!important;
 }
 #root main.gameScreen.yuzbirGame .discard-3{
  top:52%!important;
  right:8.3%!important;
  left:auto!important;
  bottom:auto!important;
  transform:none!important;
 }
 #root main.gameScreen.yuzbirGame .discard-0{
  top:auto!important;
  bottom:4.3%!important;
  left:61%!important;
  right:auto!important;
  transform:none!important;
 }
 #root main.gameScreen.yuzbirGame .indicatorPanel{
  position:absolute!important;
  left:17.5%!important;
  top:auto!important;
  bottom:3.5%!important;
  width:auto!important;
  height:72px!important;
  display:flex!important;
  align-items:flex-end!important;
  gap:8px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
 }
 #root main.gameScreen.yuzbirGame .indicatorPanel .okeyInfo{
  display:none!important;
 }
 #root main.gameScreen.yuzbirGame .indicatorPanel .indicatorInfo{
  width:auto!important;
 }
 #root main.gameScreen.yuzbirGame .centerDeck{
  position:absolute!important;
  left:auto!important;
  right:16.5%!important;
  top:18%!important;
  width:86px!important;
  height:118px!important;
  transform:none!important;
  flex-direction:column!important;
  gap:4px!important;
  padding:6px!important;
  z-index:46!important;
 }
 #root main.gameScreen.yuzbirGame .rackArea{
  position:absolute!important;
  left:2%!important;
  right:2%!important;
  top:auto!important;
  bottom:8px!important;
  width:96%!important;
  height:238px!important;
  margin:0!important;
  padding:0!important;
  border-radius:18px!important;
  overflow:hidden!important;
 }
 #root main.gameScreen.yuzbirGame .rackHead{
  position:absolute!important;
  left:2.5%!important;
  right:2.5%!important;
  top:8px!important;
  height:48px!important;
  margin:0!important;
  z-index:84!important;
 }
 #root main.gameScreen.yuzbirGame .rackBoardShell{
  position:absolute!important;
  left:2.5%!important;
  right:2.5%!important;
  top:62px!important;
  bottom:10px!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
 }
 #root main.gameScreen.yuzbirGame .tileRackGrid{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  display:grid!important;
  grid-template-columns:repeat(18,minmax(0,1fr))!important;
  grid-template-rows:repeat(2,minmax(0,1fr))!important;
  gap:4px!important;
  padding:7px!important;
  align-items:stretch!important;
  justify-items:stretch!important;
  overflow:hidden!important;
 }
 #root main.gameScreen.yuzbirGame .rackSlot{
  position:relative!important;
  width:auto!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
 }
 #root main.gameScreen.yuzbirGame .rackSlot .imageTile.okeyTile:not(.compact){
  position:relative!important;
  inset:auto!important;
  width:min(48px,92%)!important;
  min-width:0!important;
  max-width:48px!important;
  height:auto!important;
  max-height:100%!important;
  aspect-ratio:.68!important;
  margin:0!important;
 }
}@media (min-width:1000px) and (max-height:820px){
 #root main.gameScreen.yuzbirGame .feltTable101{
  height:calc(100% - 232px)!important;
  min-height:410px!important;
 }
 #root main.gameScreen.yuzbirGame .rackArea{
  height:214px!important;
 }
 #root main.gameScreen.yuzbirGame .rackBoardShell{
  top:56px!important;
 }
 #root main.gameScreen.yuzbirGame .yuzbirMeldBoard{
  top:7%!important;
  height:49%!important;
 }
}
/* v2 - force the spacious 101 layout to use the full desktop viewport. */
@media (min-width:1000px){
 html,body,#root{
  width:100%!important;
  max-width:none!important;
 }
 body:has(main.gameScreen.yuzbirGame){
  overflow:hidden!important;
 }
 #root main.gameScreen.yuzbirGame{
  position:relative!important;
  inset:auto!important;
  width:100vw!important;
  min-width:100vw!important;
  max-width:100vw!important;
  height:100dvh!important;
  min-height:100dvh!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  zoom:1!important;
 }
 #root main.gameScreen.yuzbirGame > .topbar{
  width:100vw!important;
  max-width:none!important;
  left:0!important;
  right:0!important;
  transform:none!important;
 }
 #root main.gameScreen.yuzbirGame .gameTableWrap{
  left:0!important;
  right:0!important;
  width:100vw!important;
  min-width:100vw!important;
  max-width:100vw!important;
  transform:none!important;
 }
 #root main.gameScreen.yuzbirGame .feltTable101{
  left:12px!important;
  right:12px!important;
  width:calc(100vw - 24px)!important;
  max-width:none!important;
  transform:none!important;
 }
 #root main.gameScreen.yuzbirGame .rackArea{
  left:2%!important;
  right:2%!important;
  width:96vw!important;
  max-width:none!important;
  transform:none!important;
 }
 #root main.gameScreen.yuzbirGame .yuzbirMeldBoard{
  left:14%!important;
  width:72%!important;
  max-width:none!important;
 }
 #root main.gameScreen.yuzbirGame > .topbar .desktopLeaveTable{
  display:none!important;
 }
 #root main.gameScreen.yuzbirGame > .topbar .leaveTableButton.leaveTableTextButton{
  display:inline-flex!important;
 }
}
/* v3 - neutralize legacy social-rail width reservations on desktop 101. */
@media (min-width:1000px){
 #root main.gameScreen.yuzbirGame:not(.socialCollapsed):has(.desktopSocialRail) > .gameTableWrap,
 #root main.gameScreen.yuzbirGame.socialCollapsed > .gameTableWrap,
 #root main.gameScreen.yuzbirGame:not(:has(.desktopSocialRail)) > .gameTableWrap{
  position:absolute!important;
  inset:64px 0 0 0!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  width:100vw!important;
  max-width:none!important;
  height:calc(100dvh - 64px)!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
 }
 #root main.gameScreen.yuzbirGame:not(.socialCollapsed):has(.desktopSocialRail) .feltTable101,
 #root main.gameScreen.yuzbirGame.socialCollapsed .feltTable101,
 #root main.gameScreen.yuzbirGame:not(:has(.desktopSocialRail)) .feltTable101{
  position:absolute!important;
  left:12px!important;
  right:12px!important;
  top:0!important;
  width:calc(100vw - 24px)!important;
  max-width:none!important;
  margin:0!important;
  transform:none!important;
  justify-self:auto!important;
 }
 #root main.gameScreen.yuzbirGame:not(.socialCollapsed):has(.desktopSocialRail) .rackArea,
 #root main.gameScreen.yuzbirGame.socialCollapsed .rackArea,
 #root main.gameScreen.yuzbirGame:not(:has(.desktopSocialRail)) .rackArea{
  position:absolute!important;
  left:2vw!important;
  right:2vw!important;
  width:96vw!important;
  max-width:none!important;
  margin:0!important;
  transform:none!important;
 }
 #root main.gameScreen.yuzbirGame:not(.socialCollapsed):has(.desktopSocialRail) .yuzbirMeldBoard,
 #root main.gameScreen.yuzbirGame.socialCollapsed .yuzbirMeldBoard,
 #root main.gameScreen.yuzbirGame:not(:has(.desktopSocialRail)) .yuzbirMeldBoard{
  left:14%!important;
  width:72%!important;
  max-width:none!important;
 }
}/* v4: stable desktop geometry; reserve only the visible chat rail. */
@media (min-width:1000px) {
 #root main.gameScreen.yuzbirGame {
  --pc-rack-height:clamp(220px,23dvh,250px);
  --pc-social-reserve:0px;
 }
 #root main.gameScreen.yuzbirGame:not(.socialCollapsed):has(.desktopSocialRail) {
  --pc-social-reserve:400px;
 }
 #root main.gameScreen.yuzbirGame .gameTableWrap {
  position:fixed!important;
  inset:64px var(--pc-social-reserve) calc(var(--pc-rack-height) + 16px) 0!important;
  width:auto!important;
  height:auto!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
 }
 #root main.gameScreen.yuzbirGame .feltTable101 {
  position:absolute!important;
  inset:8px 12px 0!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  max-width:none!important;
  margin:0!important;
  transform:none!important;
  overflow:hidden!important;
 }
 #root main.gameScreen.yuzbirGame .yuzbirMeldBoard {
  position:absolute!important;
  left:12%!important;
  top:15%!important;
  width:74%!important;
  height:58%!important;
  min-height:0!important;
  max-height:none!important;
  padding:30px 12px 10px!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
  z-index:24!important;
 }
 #root main.gameScreen.yuzbirGame .yuzbirMeldBoard:before {
  position:absolute!important;
  inset:0 0 auto!important;
  height:30px!important;
  margin:0!important;
  z-index:2!important;
 }
 #root main.gameScreen.yuzbirGame .meldPanCanvas {
  min-height:0!important;
  overflow:auto!important;
 }
 #root main.gameScreen.yuzbirGame .yuzbirMeldLane {
  min-height:clamp(78px,9dvh,96px)!important;
  margin:4px 0!important;
  padding:5px 8px!important;
  overflow:hidden!important;
 }
 #root main.gameScreen.yuzbirGame .yuzbirMeldGroups {
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-width:0!important;
 }
 #root main.gameScreen.yuzbirGame .yuzbirMeldGroup {
  display:flex!important;
  flex:0 0 auto!important;
  gap:1px!important;
 }
 #root main.gameScreen.yuzbirGame .yuzbirMeldGroup .imageTile.okeyTile.compact {
  width:clamp(42px,2.6vw,48px)!important;
  min-width:clamp(42px,2.6vw,48px)!important;
  height:clamp(62px,3.8vw,72px)!important;
 }
 #root main.gameScreen.yuzbirGame .centerDeck {
  position:absolute!important;
  top:63%!important;
  left:91%!important;
  right:auto!important;
  bottom:auto!important;
  width:76px!important;
  min-width:76px!important;
  height:auto!important;
  padding:6px!important;
  transform:translate(-50%,-50%)!important;
  z-index:46!important;
 }
 #root main.gameScreen.yuzbirGame .centerDeck .deckStack img {
  width:48px!important;
  height:68px!important;
  object-fit:contain!important;
 }
 #root main.gameScreen.yuzbirGame .seat-2 {
  top:1%!important;
  left:50%!important;
  right:auto!important;
  bottom:auto!important;
  width:190px!important;
  height:52px!important;
  transform:translateX(-50%)!important;
 }
 #root main.gameScreen.yuzbirGame .seat-1 {
  top:43%!important;
  left:1.5%!important;
  right:auto!important;
  bottom:auto!important;
  width:150px!important;
  height:62px!important;
 }
 #root main.gameScreen.yuzbirGame .seat-3 {
  top:43%!important;
  left:auto!important;
  right:1.5%!important;
  bottom:auto!important;
  width:150px!important;
  height:62px!important;
 }
 #root main.gameScreen.yuzbirGame .seat-0 {
  top:auto!important;
  left:50%!important;
  right:auto!important;
  bottom:1%!important;
  width:190px!important;
  height:52px!important;
  transform:translateX(-50%)!important;
 }
 #root main.gameScreen.yuzbirGame .discardSpot {
  z-index:50!important;
  width:50px!important;
  min-width:50px!important;
  height:72px!important;
  min-height:72px!important;
  padding:2px!important;
  transform:none!important;
 }
 #root main.gameScreen.yuzbirGame .discard-2 {top:9%!important;left:64%!important;right:auto!important;bottom:auto!important}
 #root main.gameScreen.yuzbirGame .discard-1 {top:47%!important;left:13%!important;right:auto!important;bottom:auto!important}
 #root main.gameScreen.yuzbirGame .discard-3 {top:47%!important;left:auto!important;right:13%!important;bottom:auto!important}
 #root main.gameScreen.yuzbirGame .discard-0 {top:auto!important;left:67%!important;right:auto!important;bottom:3%!important}
 #root main.gameScreen.yuzbirGame .gameInfoBar {
  display:contents!important;
 }
 #root main.gameScreen.yuzbirGame .gameInfoBar>.indicatorPanel {
  position:fixed!important;
  left:14px!important;
  top:72px!important;
  bottom:auto!important;
  width:118px!important;
  min-width:118px!important;
  height:72px!important;
  min-height:72px!important;
  padding:5px!important;
  z-index:95!important;
 }
 #root main.gameScreen.yuzbirGame .gameInfoBar>.indicatorPanel .okeyInfo {
  display:none!important;
 }
 #root main.gameScreen.yuzbirGame .gameInfoBar>.timerBox {
  position:fixed!important;
  left:140px!important;
  top:78px!important;
  width:100px!important;
  min-width:100px!important;
  height:44px!important;
  min-height:44px!important;
  padding:5px 8px!important;
  z-index:95!important;
 }
 #root main.gameScreen.yuzbirGame .gameInfoBar>.stockBox,
 #root main.gameScreen.yuzbirGame .gameInfoBar>.turnBox:not(.timerBox),
 #root main.gameScreen.yuzbirGame .gameTableWrap>.actionPanel {
  display:none!important;
 }
 #root main.gameScreen.yuzbirGame .rackArea {
  position:fixed!important;
  left:12px!important;
  right:auto!important;
  bottom:8px!important;
  width:calc(100vw - var(--pc-social-reserve) - 24px)!important;
  height:var(--pc-rack-height)!important;
  min-height:0!important;
  max-height:var(--pc-rack-height)!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
  z-index:65!important;
 }
 #root main.gameScreen.yuzbirGame .rackHead {
  position:absolute!important;
  inset:6px 12px auto!important;
  height:46px!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  z-index:85!important;
 }
 #root main.gameScreen.yuzbirGame .rackHead .rackTools {
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  height:44px!important;
 }
 #root main.gameScreen.yuzbirGame .rackHead .rackTools button {
  min-width:140px!important;
  height:42px!important;
  padding:0 14px!important;
  font-size:14px!important;
 }
 #root main.gameScreen.yuzbirGame .rackBoardShell {
  position:absolute!important;
  inset:58px 12px 10px!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  display:flex!important;
  align-items:stretch!important;
  justify-content:center!important;
  overflow:hidden!important;
 }
 #root main.gameScreen.yuzbirGame .tileRackGrid {
  position:relative!important;
  inset:auto!important;
  display:grid!important;
  grid-template-columns:repeat(18,var(--pc-rack-tile-width))!important;
  grid-template-rows:repeat(2,minmax(0,1fr))!important;
  gap:1px!important;
  width:max-content!important;
  max-width:100%!important;
  height:100%!important;
  min-height:0!important;
  justify-content:center!important;
  align-content:center!important;
  overflow:hidden!important;
 }
 #root main.gameScreen.yuzbirGame {
  --pc-rack-tile-width:clamp(42px,calc((100vw - var(--pc-social-reserve) - 600px)/18),52px);
 }
 #root main.gameScreen.yuzbirGame .tileRackGrid .rackSlot {
  position:relative!important;
  display:grid!important;
  place-items:center!important;
  width:var(--pc-rack-tile-width)!important;
  min-width:var(--pc-rack-tile-width)!important;
  max-width:var(--pc-rack-tile-width)!important;
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
 }
 #root main.gameScreen.yuzbirGame .tileRackGrid .rackSlot>.imageTile.okeyTile:not(.compact) {
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:auto!important;
  max-height:100%!important;
  aspect-ratio:.68!important;
  margin:0!important;
  transform:none!important;
 }
 #root main.gameScreen.yuzbirGame .tileRackGrid .rackSlot>.imageTile.okeyTile.compact {
  transform:none!important;
 }
}
/* v5: the chat dock is a sibling of the game root, so reserve by state. */
@media (min-width:1000px) {
 #root main.gameScreen.yuzbirGame {--pc-social-reserve:400px!important}
 #root main.gameScreen.yuzbirGame.socialCollapsed {--pc-social-reserve:0px!important}
 #root main.gameScreen.yuzbirGame .rackHead>div:first-child {
  flex:1 1 220px!important;
  min-width:0!important;
  max-width:320px!important;
  overflow:hidden!important;
  font-size:13px!important;
  line-height:1.25!important;
 }
 #root main.gameScreen.yuzbirGame .rackHead .rackTools {
  flex:1 1 450px!important;
  min-width:0!important;
  justify-content:stretch!important;
 }
 #root main.gameScreen.yuzbirGame .rackHead .rackTools button {
  flex:1 1 0!important;
  min-width:125px!important;
  max-width:210px!important;
 }
 #root main.gameScreen.yuzbirGame .tileRackGrid {
  flex:0 0 auto!important;
 }
}/* v6: beat the legacy high-specificity chat-state selectors. */
@media (min-width:1000px) {
 #root main.gameScreen.yuzbirGame:not(.socialCollapsed):has(.desktopSocialRail)>.gameTableWrap,
 #root main.gameScreen.yuzbirGame.socialCollapsed>.gameTableWrap,
 #root main.gameScreen.yuzbirGame:not(:has(.desktopSocialRail))>.gameTableWrap {
  position:fixed!important;
  inset:64px var(--pc-social-reserve) calc(var(--pc-rack-height) + 16px) 0!important;
  left:0!important;
  right:var(--pc-social-reserve)!important;
  bottom:calc(var(--pc-rack-height) + 16px)!important;
  width:auto!important;
  height:auto!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
 }
 #root main.gameScreen.yuzbirGame:not(.socialCollapsed):has(.desktopSocialRail) .feltTable101,
 #root main.gameScreen.yuzbirGame.socialCollapsed .feltTable101,
 #root main.gameScreen.yuzbirGame:not(:has(.desktopSocialRail)) .feltTable101 {
  inset:8px 12px 0!important;
  left:12px!important;
  right:12px!important;
  top:8px!important;
  bottom:0!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  max-width:none!important;
  margin:0!important;
  transform:none!important;
 }
 #root main.gameScreen.yuzbirGame:not(.socialCollapsed):has(.desktopSocialRail) .rackArea,
 #root main.gameScreen.yuzbirGame.socialCollapsed .rackArea,
 #root main.gameScreen.yuzbirGame:not(:has(.desktopSocialRail)) .rackArea {
  position:fixed!important;
  left:12px!important;
  right:auto!important;
  bottom:8px!important;
  width:calc(100vw - var(--pc-social-reserve) - 24px)!important;
  height:var(--pc-rack-height)!important;
  min-height:0!important;
  max-height:var(--pc-rack-height)!important;
  margin:0!important;
  transform:none!important;
 }
 #root main.gameScreen.yuzbirGame:not(.socialCollapsed):has(.desktopSocialRail) .yuzbirMeldBoard,
 #root main.gameScreen.yuzbirGame.socialCollapsed .yuzbirMeldBoard,
 #root main.gameScreen.yuzbirGame:not(:has(.desktopSocialRail)) .yuzbirMeldBoard {
  left:12%!important;
  top:15%!important;
  width:74%!important;
  height:58%!important;
  max-width:none!important;
  max-height:none!important;
  transform:none!important;
 }
}
/* v7: clear legacy 100vw minimums that made the felt slide behind chat. */
@media (min-width:1000px) {
 #root main.gameScreen.yuzbirGame:not(.socialCollapsed):has(.desktopSocialRail)>.gameTableWrap,
 #root main.gameScreen.yuzbirGame.socialCollapsed>.gameTableWrap,
 #root main.gameScreen.yuzbirGame:not(:has(.desktopSocialRail))>.gameTableWrap {
  min-width:0!important;
  max-width:none!important;
  box-sizing:border-box!important;
 }
 #root main.gameScreen.yuzbirGame:not(.socialCollapsed):has(.desktopSocialRail) .feltTable101,
 #root main.gameScreen.yuzbirGame.socialCollapsed .feltTable101,
 #root main.gameScreen.yuzbirGame:not(:has(.desktopSocialRail)) .feltTable101 {
  min-width:0!important;
  box-sizing:border-box!important;
 }
}/* v8: keep the 101 score/actions row separate from rack tools. */
@media (min-width:1000px) {
 #root main.gameScreen.yuzbirGame {--pc-rack-height:clamp(245px,26dvh,280px)!important}
 #root main.gameScreen.yuzbirGame .rackHead {
  inset:6px 12px auto!important;
  height:46px!important;
 }
 #root main.gameScreen.yuzbirGame .rack101ScoreBar {
  position:absolute!important;
  left:12px!important;
  right:12px!important;
  top:58px!important;
  width:auto!important;
  height:42px!important;
  min-height:42px!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  z-index:86!important;
 }
 #root main.gameScreen.yuzbirGame .rack101Score {
  flex:0 0 92px!important;
  width:92px!important;
  min-width:92px!important;
  height:38px!important;
  margin:0!important;
 }
 #root main.gameScreen.yuzbirGame .rack101UnifiedActions {
  flex:1 1 auto!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  align-items:center!important;
  gap:8px!important;
  height:42px!important;
  min-width:0!important;
  margin:0!important;
 }
 #root main.gameScreen.yuzbirGame .rack101UnifiedActions button {
  width:100%!important;
  min-width:0!important;
  height:38px!important;
  padding:0 8px!important;
  font-size:13px!important;
 }
 #root main.gameScreen.yuzbirGame .rackBoardShell {
  inset:108px 12px 10px!important;
 }
 #root main.gameScreen.yuzbirGame .discard-2 {
  top:3%!important;
  left:64%!important;
  right:auto!important;
 }
 #root main.gameScreen.yuzbirGame .discard-1 {
  top:56%!important;
  left:2%!important;
  right:auto!important;
 }
 #root main.gameScreen.yuzbirGame .discard-3 {
  top:56%!important;
  right:1%!important;
  left:auto!important;
 }
}/* v9: override finished-hand sizing and keep every discard beside its seat. */
@media (min-width:1000px) {
 #root main.gameScreen.yuzbirGame .rackArea .rackBoardShell,
 #root main.gameScreen.yuzbirGame.finishedHand .rackArea .rackBoardShell {
  position:absolute!important;
  inset:auto 12px 10px!important;
  top:108px!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  display:flex!important;
 }
 #root main.gameScreen.yuzbirGame .rackArea .rack101ScoreBar .rack101UnifiedActions,
 #root main.gameScreen.yuzbirGame.finishedHand .rackArea .rack101ScoreBar .rack101UnifiedActions {
  height:42px!important;
  min-height:42px!important;
  max-height:none!important;
  align-self:center!important;
 }
 #root main.gameScreen.yuzbirGame .rackArea .rack101ScoreBar .rack101UnifiedActions button {
  height:38px!important;
  min-height:38px!important;
  max-height:none!important;
 }
 #root main.gameScreen.yuzbirGame .feltTable101 .discardSpot.discard-1 {
  top:56%!important;
  left:2%!important;
  right:auto!important;
  bottom:auto!important;
 }
 #root main.gameScreen.yuzbirGame .feltTable101 .discardSpot.discard-2 {
  top:3%!important;
  left:64%!important;
  right:auto!important;
  bottom:auto!important;
 }
 #root main.gameScreen.yuzbirGame .feltTable101 .discardSpot.discard-3 {
  top:56%!important;
  left:auto!important;
  right:1%!important;
  bottom:auto!important;
 }
}

/* v10: desktop 101 cleanup from live screenshot */
@media (min-width:1000px) {
 #root main.gameScreen.yuzbirGame .topbarRight {
  position:absolute!important;
  left:126px!important;
  right:12px!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:8px!important;
  overflow:hidden!important;
 }
 #root main.gameScreen.yuzbirGame .topbarRight .tableQuickTools {order:0!important;flex:0 0 auto!important}
 #root main.gameScreen.yuzbirGame .topbarRight .stats {order:1!important;flex:0 1 150px!important;min-width:90px!important;white-space:nowrap!important}
 #root main.gameScreen.yuzbirGame .topbarRight .leaveTableButton.leaveTableTextButton {
  order:10!important;position:static!important;inset:auto!important;flex:0 0 auto!important;
 }
 #root main.gameScreen.yuzbirGame .topbarRight .balancePills {order:2!important;flex:0 0 auto!important}
 #root main.gameScreen.yuzbirGame .topbarRight .membershipBadge {order:3!important;flex:0 0 auto!important}
 #root main.gameScreen.yuzbirGame .topbarRight .speedScaleControl {flex:0 1 120px!important;width:120px!important;min-width:104px!important;overflow:hidden!important}
 #root main.gameScreen.yuzbirGame .topbarRight .speedScaleControl:nth-of-type(1) {order:4!important}
 #root main.gameScreen.yuzbirGame .topbarRight .speedScaleControl:nth-of-type(2) {order:5!important}
 #root main.gameScreen.yuzbirGame .topbarRight .speedScaleControl button {min-width:16px!important;padding-inline:3px!important}
 #root main.gameScreen.yuzbirGame .topbarRight .soundToggle {order:6!important;flex:0 0 32px!important}
 #root main.gameScreen.yuzbirGame .topbarRight .lobbyPeekButton {order:8!important;flex:0 0 auto!important}
 #root main.gameScreen.yuzbirGame .topbarRight .themeToggle {order:9!important;flex:0 0 auto!important}
 #root main.gameScreen.yuzbirGame .gameModeStrip {display:none!important}
 #root main.gameScreen.yuzbirGame .gameInfoBar {display:none!important}
 #root main.gameScreen.yuzbirGame .yuzbirMeldBoard {
  left:max(12%,160px)!important;
  right:max(12%,160px)!important;
  width:auto!important;
  box-sizing:border-box!important;
 }
 #root main.gameScreen.yuzbirGame .seat-2 {
  top:1.5%!important;left:50%!important;right:auto!important;
  width:240px!important;height:58px!important;
  box-sizing:border-box!important;padding:5px 8px!important;
  display:grid!important;grid-template-columns:26px minmax(0,1fr) auto!important;
  grid-template-rows:22px 18px!important;gap:2px 7px!important;
  align-items:center!important;justify-items:stretch!important;
  transform:translateX(-50%)!important;
 }
 #root main.gameScreen.yuzbirGame .seat-2>.yuzbirSeatAvatar {grid-area:1/1!important;justify-self:center!important}
 #root main.gameScreen.yuzbirGame .seat-2>b {grid-area:1/2!important;white-space:nowrap!important;min-width:max-content!important;justify-self:start!important}
 #root main.gameScreen.yuzbirGame .seat-2>.botSeatRemove {
  grid-area:1/3!important;position:static!important;inset:auto!important;
  transform:none!important;width:auto!important;min-width:78px!important;
  height:22px!important;padding:0 6px!important;font-size:11px!important;
 }
 #root main.gameScreen.yuzbirGame .seat-2>span:not(.yuzbirSeatAvatar) {
  grid-area:2/2/3/4!important;white-space:nowrap!important;justify-self:start!important;
 }
 #root main.gameScreen.yuzbirGame .seat-1,
 #root main.gameScreen.yuzbirGame .seat-3 {
  top:36%!important;width:138px!important;height:80px!important;
  box-sizing:border-box!important;padding:6px!important;
  display:grid!important;grid-template-columns:26px minmax(0,1fr)!important;
  grid-template-rows:23px 18px 24px!important;gap:2px 5px!important;
  align-items:center!important;justify-items:stretch!important;
 }
 #root main.gameScreen.yuzbirGame .seat-1 {left:1%!important;right:auto!important}
 #root main.gameScreen.yuzbirGame .seat-3 {right:1%!important;left:auto!important}
 #root main.gameScreen.yuzbirGame .seat-1>.yuzbirSeatAvatar,
 #root main.gameScreen.yuzbirGame .seat-3>.yuzbirSeatAvatar {grid-area:1/1!important;justify-self:center!important}
 #root main.gameScreen.yuzbirGame .seat-1>b,
 #root main.gameScreen.yuzbirGame .seat-3>b {grid-area:1/2!important;white-space:nowrap!important;min-width:max-content!important}
 #root main.gameScreen.yuzbirGame .seat-1>span:not(.yuzbirSeatAvatar),
 #root main.gameScreen.yuzbirGame .seat-3>span:not(.yuzbirSeatAvatar) {grid-area:2/1/3/3!important;white-space:nowrap!important;font-size:10px!important}
 #root main.gameScreen.yuzbirGame .seat-1>.botSeatRemove,
 #root main.gameScreen.yuzbirGame .seat-3>.botSeatRemove {
  grid-area:3/1/4/3!important;position:static!important;inset:auto!important;
  transform:none!important;justify-self:center!important;width:100%!important;
  min-width:0!important;height:23px!important;padding:0 4px!important;font-size:11px!important;
 }
 #root main.gameScreen.yuzbirGame .seat-0 {
  width:220px!important;height:54px!important;bottom:2%!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  gap:7px!important;white-space:nowrap!important;
 }
 #root main.gameScreen.yuzbirGame .discardSpot {
  width:48px!important;height:70px!important;min-width:48px!important;min-height:70px!important;
  display:flex!important;flex-direction:column!important;align-items:center!important;
  justify-content:center!important;gap:2px!important;overflow:visible!important;
 }
 #root main.gameScreen.yuzbirGame .discardSpot>.imageTile {
  display:block!important;flex:0 0 auto!important;width:46px!important;min-width:46px!important;
  max-width:46px!important;height:68px!important;min-height:68px!important;
  max-height:68px!important;padding:0!important;aspect-ratio:.676!important;
 }
 #root main.gameScreen.yuzbirGame .discardSpot>.imageTile>img {
  display:block!important;width:100%!important;height:100%!important;
  max-width:none!important;max-height:none!important;object-fit:fill!important;
 }
 #root main.gameScreen.yuzbirGame .discardSpot>.discardOwner {
  position:absolute!important;top:-21px!important;left:50%!important;
  transform:translateX(-50%)!important;width:max-content!important;
  min-width:max-content!important;max-width:none!important;height:auto!important;
  white-space:nowrap!important;line-height:16px!important;overflow:visible!important;
 }
 #root main.gameScreen.yuzbirGame .discardSpot>.discardHistoryCount {
  position:absolute!important;top:auto!important;bottom:-18px!important;left:50%!important;
  transform:translateX(-50%)!important;width:max-content!important;white-space:nowrap!important;
 }
 #root main.gameScreen.yuzbirGame .discardSpot.discard-2 {
  top:3%!important;left:64%!important;right:auto!important;bottom:auto!important;
 }
 #root main.gameScreen.yuzbirGame .discardSpot.discard-1 {
  top:57%!important;left:1%!important;right:auto!important;bottom:auto!important;
 }
 #root main.gameScreen.yuzbirGame .discardSpot.discard-3 {
  top:57%!important;left:auto!important;right:1%!important;bottom:auto!important;
 }
 #root main.gameScreen.yuzbirGame .discardSpot.discard-0 {
  top:auto!important;left:61%!important;right:auto!important;bottom:3%!important;
 }
 #root main.gameScreen.yuzbirGame .centerDeck {
  left:80%!important;right:auto!important;top:63%!important;bottom:auto!important;
  transform:translate(-50%,-50%)!important;z-index:46!important;
 }
 #root main.gameScreen.yuzbirGame .indicatorPanel {
  left:2%!important;top:2%!important;right:auto!important;bottom:auto!important;
  z-index:48!important;
 }
}

/* v11: override legacy topbar positioning and retain a clean desktop toolbar */
@media (min-width:1000px) {
 html body #root main.gameScreen.yuzbirGame > .topbar .topbarRight {
  position:absolute!important;left:126px!important;right:12px!important;inset:0 12px 0 126px!important;
  width:auto!important;height:64px!important;min-width:0!important;max-width:none!important;
  display:flex!important;align-items:center!important;justify-content:flex-start!important;
  gap:8px!important;overflow:hidden!important;transform:none!important;
 }
 html body #root main.gameScreen.yuzbirGame > .topbar .topbarRight > .tableQuickTools {flex:0 0 auto!important;order:0!important}
 html body #root main.gameScreen.yuzbirGame > .topbar .topbarRight > .stats {flex:0 1 145px!important;min-width:90px!important;order:1!important;white-space:nowrap!important}
 html body #root main.gameScreen.yuzbirGame > .topbar .topbarRight > .balancePills {flex:0 0 auto!important;order:2!important}
 html body #root main.gameScreen.yuzbirGame > .topbar .topbarRight > .membershipBadge {flex:0 0 auto!important;order:3!important}
 html body #root main.gameScreen.yuzbirGame > .topbar .topbarRight > .speedScaleControl {flex:0 1 112px!important;width:112px!important;min-width:100px!important;order:4!important;overflow:hidden!important}
 html body #root main.gameScreen.yuzbirGame > .topbar .topbarRight > .speedScaleControl:nth-child(7) {order:5!important}
 html body #root main.gameScreen.yuzbirGame > .topbar .topbarRight > .soundToggle {position:static!important;flex:0 0 32px!important;order:6!important}
 html body #root main.gameScreen.yuzbirGame > .topbar .topbarRight > .lobbyPeekButton {flex:0 0 auto!important;order:8!important}
 html body #root main.gameScreen.yuzbirGame > .topbar .topbarRight > .themeToggle {flex:0 0 auto!important;order:9!important}
 html body #root main.gameScreen.yuzbirGame > .topbar .topbarRight > .leaveTableButton.leaveTableTextButton {
  display:inline-flex!important;position:static!important;inset:auto!important;order:10!important;
  flex:0 0 auto!important;width:auto!important;min-width:112px!important;max-width:150px!important;
  height:38px!important;min-height:34px!important;padding:0 10px!important;font-size:12px!important;
  transform:none!important;pointer-events:auto!important;
 }
}
@media (min-width:1000px) and (max-width:1500px) {
 html body #root main.gameScreen.yuzbirGame > .topbar .topbarRight > .stats,
 html body #root main.gameScreen.yuzbirGame > .topbar .topbarRight > .speedScaleControl {display:none!important}
}

/* v12: keep header quick actions in normal flow beside the brand */
@media (min-width:1000px) {
 html body #root main.gameScreen.yuzbirGame > .topbar > .brand.small {
  position:relative!important;left:auto!important;right:auto!important;flex:0 0 98px!important;
  width:98px!important;min-width:98px!important;margin:0!important;opacity:1!important;z-index:2!important;
 }
 html body #root main.gameScreen.yuzbirGame > .topbar .topbarRight > .tableQuickTools {
  position:static!important;inset:auto!important;left:auto!important;right:auto!important;
  flex:0 0 auto!important;width:auto!important;min-width:0!important;max-width:none!important;
  margin:0!important;transform:none!important;
 }
}

/* v13: restore the indicator on desktop without stacking duplicate status boxes */
@media (min-width:1000px) {
 html body #root main.gameScreen.yuzbirGame .gameInfoBar {
  display:block!important;position:absolute!important;left:12px!important;top:8px!important;
  right:auto!important;bottom:auto!important;width:240px!important;height:80px!important;
  min-width:0!important;margin:0!important;padding:0!important;overflow:visible!important;
  background:transparent!important;border:0!important;box-shadow:none!important;
 }
 html body #root main.gameScreen.yuzbirGame .gameInfoBar .indicatorPanel {
  position:relative!important;inset:auto!important;left:auto!important;top:auto!important;
  display:flex!important;align-items:center!important;justify-content:flex-start!important;
  gap:8px!important;width:232px!important;height:74px!important;min-width:0!important;
  margin:0!important;padding:4px 8px!important;box-sizing:border-box!important;
  background:linear-gradient(145deg,#32231a,#120f0d)!important;
  border:1px solid rgba(238,196,94,.65)!important;border-radius:14px!important;
  box-shadow:0 5px 15px rgba(0,0,0,.24)!important;
 }
 html body #root main.gameScreen.yuzbirGame .gameInfoBar .indicatorPanel .indicatorInfo,
 html body #root main.gameScreen.yuzbirGame .gameInfoBar .indicatorPanel .okeyInfo {
  display:flex!important;position:relative!important;align-items:center!important;
  justify-content:center!important;gap:4px!important;width:100px!important;
  min-width:100px!important;height:62px!important;margin:0!important;padding:3px 4px!important;
 }
 html body #root main.gameScreen.yuzbirGame .gameInfoBar .indicatorPanel .okeyInfo {display:flex!important}
 html body main.gameScreen.yuzbirGame .gameInfoBar .indicatorPanel .okeyTile {
  width:38px!important;min-width:38px!important;max-width:38px!important;
  height:56px!important;min-height:56px!important;max-height:56px!important;
  aspect-ratio:.68!important;flex:0 0 38px!important;
 }
 html body #root main.gameScreen.yuzbirGame .gameInfoBar>.stockBox,
 html body #root main.gameScreen.yuzbirGame .gameInfoBar>.turnBox {display:none!important}
 html body #root main.gameScreen.yuzbirGame > .topbar > .brand.small {color:#f4f4f0!important}
 html body #root main.gameScreen.yuzbirGame > .topbar > .brand.small b,
 html body #root main.gameScreen.yuzbirGame > .topbar > .brand.small span {color:#a86af7!important}
}

/* v14: one clear restart action and a single-line wordmark */
@media (min-width:1000px) {
 html body #root main.gameScreen.yuzbirGame > .topbar > .brand.small {
  display:flex!important;flex-direction:row!important;align-items:center!important;
  gap:3px!important;white-space:nowrap!important;line-height:1!important;
 }
 html body #root main.gameScreen.yuzbirGame > .topbar > .brand.small b,
 html body #root main.gameScreen.yuzbirGame > .topbar > .brand.small span {
  display:inline!important;white-space:nowrap!important;line-height:1!important;
 }
 html body #root main.gameScreen.yuzbirGame.finishedHand .gameTableWrap>.postHandAction {
  display:none!important;
 }
}
