/* Phone-reference layout: green suit tiles, four chairs and a blue rounded table. */
body.v101110-table .app-shell {
  background:#064438 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath fill='%23034b3c' d='M0 0h50v50H0zM50 50h50v50H50z'/%3E%3Cg fill='%230b6152' opacity='.65' font-family='Georgia,serif' font-size='33' text-anchor='middle'%3E%3Ctext x='25' y='36'%3E%E2%99%A0%3C/text%3E%3Ctext x='75' y='36'%3E%E2%99%A3%3C/text%3E%3Ctext x='25' y='86'%3E%E2%99%A3%3C/text%3E%3Ctext x='75' y='86'%3E%E2%99%A0%3C/text%3E%3C/g%3E%3C/svg%3E") center/var(--v20-pattern-size,100px) var(--v20-pattern-size,100px) repeat !important;
}
body.v101110-table #gameStage { background:none !important; }
body.v101110-table .v20-chairs { position:fixed;inset:0;z-index:0;pointer-events:none; }
body.v101110-table .v20-chairs > i {
  position:absolute;left:var(--chair-x);top:var(--chair-y);width:var(--chair-size);height:calc(var(--chair-size)*.85);
  transform:translate(-50%,-50%);border:2px solid #8f6637;border-radius:48%;
  background:radial-gradient(ellipse at 50% 30%,#af3541,#70212b 70%,#3d121a);
  box-shadow:inset 0 0 0 5px #49141d,0 5px 12px #001f1bbb;
}
body.v101110-table .v20-chair-top { --chair-x:var(--v20-chair-top-x);--chair-y:var(--v20-chair-top-y);--chair-size:var(--v20-chair-top-size); }
body.v101110-table .v20-chair-left { --chair-x:var(--v20-chair-left-x);--chair-y:var(--v20-chair-left-y);--chair-size:var(--v20-chair-left-size); }
body.v101110-table .v20-chair-right { --chair-x:var(--v20-chair-right-x);--chair-y:var(--v20-chair-right-y);--chair-size:var(--v20-chair-right-size); }
body.v101110-table .v20-chair-bottom { --chair-x:var(--v20-chair-bottom-x);--chair-y:var(--v20-chair-bottom-y);--chair-size:var(--v20-chair-bottom-size); }
body.v101110-table #gameStage .table-wrap {
  inset:auto !important; left:var(--v20-felt-x) !important; top:var(--v20-felt-y) !important;
  width:var(--v20-felt-w) !important; height:var(--v20-felt-h) !important; z-index:1;
}
body.v101110-table #gameStage .wood-rim {
  padding:var(--v20-rim) !important; border:2px solid #78817b !important; border-radius:clamp(32px,5.2vw,82px) !important;
  background:linear-gradient(#343b36,#111b16 40%,#222a24) !important;
  box-shadow:0 5px 14px #001c16a6,inset 0 0 0 3px #101713,inset 0 0 0 6px #626760 !important;
}
body.v101110-table #gameStage .wood-rim::before,body.v101110-table #gameStage .wood-rim::after { display:none !important; }
body.v101110-table #gameStage .table-felt {
  border:3px solid #9a5a32 !important;border-radius:clamp(24px,4vw,65px) !important;
  background:radial-gradient(ellipse at 50% 36%,#147dc0,#0766a8 66%,#034c86) !important;
  box-shadow:inset 0 0 0 2px #e5a26b55,inset 0 0 13px 5px #00284c,inset 0 0 45px #00325f88 !important;
}
body.v101110-table #gameStage .table-felt::before { display:block !important;content:'';position:absolute;inset:12px !important;border:1px solid #78c1ee16 !important;border-radius:inherit !important;pointer-events:none; }
body.v101110-table #gameStage .felt-pattern {
  display:none !important;
}
body.v101110-table #gameStage #seats .seat {
  inset:auto !important; left:var(--v20-seat-x) !important; top:var(--v20-seat-y) !important;
  width:var(--v20-peer-w) !important; height:var(--v20-peer-h) !important; padding:0 !important;
  display:flex !important; flex-direction:column !important; gap:3px !important;
  transform:none !important; translate:none !important; border:0 !important; border-radius:0 !important;
  background:none !important; box-shadow:none !important; overflow:visible !important;
  /* Rebuilt seat nodes must not animate from inherited legacy geometry. */
  transition:none !important;
}
body.v101110-table #gameStage #seats .seat-top { --v20-peer-h:var(--v20-top-avatar); --v20-avatar:var(--v20-top-avatar); }
body.v101110-table #gameStage #seats .seat .avatar {
  width:var(--v20-avatar) !important; height:var(--v20-avatar) !important;
  border:3px solid #a4b4ee !important; box-shadow:0 0 0 2px #4670ac,0 4px 10px #00190fcc !important;
}
body.v101110-table #gameStage .seat .avatar > .turn-timer { inset:-4px !important; }
body.v101110-table #gameStage .seat .avatar > .turn-timer:not(.urgent) { background:conic-gradient(#62ec69 var(--turn-progress),#24543c99 0) !important; }
body.v101110-table #gameStage #seats .seat .seat-meta {
  position:static !important; display:grid !important; flex:0 0 auto !important; gap:1px !important; width:100% !important;
  justify-items:center !important; overflow:hidden; text-shadow:0 1px 3px #000;
  min-height:28px !important; padding:3px 5px !important; border:0 !important;
  border-radius:6px !important; background:#032c24d9 !important;
}
body.v101110-table #gameStage #seats .seat .seat-meta strong,
body.v101110-table #gameStage #seats .seat .seat-meta span {
  text-align:center !important; white-space:nowrap; text-overflow:ellipsis; overflow:hidden;
  font:700 clamp(11px,1.3vw,19px)/1.15 Manrope,sans-serif !important;
}
body.v101110-table #gameStage #seats .seat .seat-meta span { font-size:clamp(10px,1.1vw,16px) !important; color:#f3e5bb !important; }
body.v101110-table #gameStage #seats .seat-top .seat-meta { position:absolute !important; top:20% !important; left:calc(100% + 12px) !important; width:clamp(82px,10vw,135px) !important; }
body.v101110-table #gameStage #seats .v14-seat-card-count {
  position:absolute !important; top:4px !important; right:-6px !important; width:18px !important; height:24px !important;
  border-color:#d4ac56; background:linear-gradient(#fff4cb,#d0ad65); font-size:10px;
}
body.v101110-table #gameStage #seats .seat-top .v14-seat-card-count { left:-11px !important; right:auto !important; top:9px !important; }
body.v101110-table #gameStage #seats .seat-bottom {
  z-index:1 !important;
  width:var(--v20-own-avatar) !important; height:var(--v20-own-h) !important; padding:0 !important;
  flex-direction:column !important;gap:0 !important;border:0 !important;border-radius:50% !important;
  background:none !important; transform:translateX(-50%) !important;
}
body.v101110-table #gameStage #seats .seat-bottom .avatar { width:var(--v20-own-avatar) !important; height:var(--v20-own-avatar) !important; }
body.v101110-table #gameStage #seats .seat-bottom .seat-meta { position:absolute !important;left:calc(100% + 12px) !important;top:20% !important;width:clamp(82px,10vw,135px) !important; }
body.v101110-table #gameStage #seats .seat-bottom .v14-seat-card-count { position:absolute !important; }
body.v101110-table #gameStage .opponent-left { transform:rotate(90deg) !important; }
body.v101110-table #gameStage .opponent-right { transform:rotate(-90deg) !important; }
body.v101110-table #gameStage .opponent-top { transform:none !important; }
body.v101110-table #gameStage .opponent-hand { transform-origin:50% 50% !important; }
body.v101110-table #gameStage .opponent-hand .card-back { border:2px solid #e7e9ed !important;border-radius:4px !important;background-color:#253e7a !important;background-image:repeating-linear-gradient(45deg,#b4ccf166 0 1px,transparent 1px 4px),repeating-linear-gradient(-45deg,#b4ccf166 0 1px,transparent 1px 4px) !important;box-shadow:0 2px 5px #00172dbb,inset 0 0 0 2px #aec5e6 !important; }
body.v101110-table #gameStage .opponent-hand .card-back::before { inset:4px; border-color:#ddbd72aa; }
body.v101110-table #gameStage .player-dock,body.v101110-table.fullscreen-active #gameStage .player-dock {
  inset:auto !important; left:var(--v20-hand-x) !important; top:var(--v20-dock-y) !important;
  width:var(--v20-hand-w) !important; height:var(--v20-card-h) !important; bottom:auto !important;
}
body.v101110-table #gameStage #playerHand > .card {
  width:var(--v20-card-w) !important; height:var(--v20-card-h) !important; flex-basis:var(--v20-card-w) !important;
  border-radius:7px !important;background:#fffef8 !important;
}
body.v101110-table #gameStage #playerHand .corner { font-size:var(--v20-rank-size) !important; left:var(--v20-corner-left,6px) !important; top:5px !important; }
body.v101110-table #gameStage #playerHand .corner small { font-size:var(--v20-suit-size) !important; }
body.v101110-table #gameStage #playerHand > .card:not([data-face]):not(.joker) .suit-big { font-size:var(--v20-pip-size) !important; }
body.v101110-table #gameStage .center-play {
  inset:auto !important; left:var(--v20-pile-x) !important; top:var(--v20-pile-y) !important;
  width:var(--v20-pile-w) !important; height:var(--v20-pile-h) !important; translate:none !important;
  transform:translateX(-50%) !important;
}
body.v101110-table #gameStage .pile { height:var(--v20-pile-h) !important; min-width:var(--v20-pile-w) !important; }
body.v101110-table #gameStage .pile .card { width:var(--v20-pile-card-w) !important; height:var(--v20-pile-h) !important; flex-basis:var(--v20-pile-card-w) !important; }
body.v101110-table #gameStage .pile .pile-play { --v20-pile-count:2; }
body.v101110-table #gameStage .pile.layered-pile .pile-previous { --pile-history-x:-18px !important;transform:translate3d(calc(-50% + var(--pile-history-x)),calc(-50% + 7px),0) scale(.88) !important; }
body.v101110-table #gameStage .pile.layered-pile .pile-previous.pile-offset-right { --pile-history-x:18px !important; }
body.v101110-table #gameStage .pile .pile-play:has(> .card:nth-child(3)) { --v20-pile-count:3; }
body.v101110-table #gameStage .pile .pile-play:has(> .card:nth-child(4)) { --v20-pile-count:4; }
body.v101110-table #gameStage .pile .pile-play:has(> .card:nth-child(5)) { --v20-pile-count:5; }
body.v101110-table #gameStage .pile .pile-play:has(> .card:nth-child(6)) { --v20-pile-count:6; }
body.v101110-table #gameStage .pile .pile-play:has(> .card:nth-child(7)) { --v20-pile-count:7; }
body.v101110-table #gameStage .pile .pile-play:has(> .card:nth-child(8)) { --v20-pile-count:8; }
body.v101110-table #gameStage .pile .pile-play:has(> .card:nth-child(9)) { --v20-pile-count:9; }
body.v101110-table #gameStage .pile .pile-play:has(> .card:nth-child(10)) { --v20-pile-count:10; }
body.v101110-table #gameStage .pile .pile-play:has(> .card:nth-child(11)) { --v20-pile-count:11; }
body.v101110-table #gameStage .pile .pile-play:has(> .card:nth-child(12)) { --v20-pile-count:12; }
body.v101110-table #gameStage .pile .pile-play:has(> .card:nth-child(13)) { --v20-pile-count:13; }
body.v101110-table #gameStage .pile .pile-play:has(> .card:nth-child(14)) { --v20-pile-count:14; }
body.v101110-table #gameStage .pile .pile-play:has(> .card:nth-child(15)) { --v20-pile-count:15; }
body.v101110-table #gameStage .pile .pile-play:has(> .card:nth-child(16)) { --v20-pile-count:16; }
body.v101110-table #gameStage .pile .pile-play:has(> .card:nth-child(17)) { --v20-pile-count:17; }
body.v101110-table #gameStage .pile .pile-play:has(> .card:nth-child(18)) { --v20-pile-count:18; }
body.v101110-table #gameStage .pile .pile-play:has(> .card:nth-child(19)) { --v20-pile-count:19; }
body.v101110-table #gameStage .pile .pile-play:has(> .card:nth-child(20)) { --v20-pile-count:20; }
body.v101110-table #gameStage .pile .pile-play:has(> .card:nth-child(21)) { --v20-pile-count:21; }
body.v101110-table #gameStage .pile .pile-play:has(> .card:nth-child(22)) { --v20-pile-count:22; }
body.v101110-table #gameStage .pile .pile-play:has(> .card:nth-child(23)) { --v20-pile-count:23; }
body.v101110-table #gameStage .pile .pile-play:has(> .card:nth-child(24)) { --v20-pile-count:24; }
body.v101110-table #gameStage .pile .pile-play:has(> .card:nth-child(25)) { --v20-pile-count:25; }
body.v101110-table #gameStage .pile .pile-play:has(> .card:nth-child(26)) { --v20-pile-count:26; }
body.v101110-table #gameStage .pile .pile-play:has(> .card:nth-child(27)) { --v20-pile-count:27; }
body.v101110-table #gameStage .pile .pile-play .card:not(:first-child) {
  margin-left:clamp(calc(var(--v20-pile-rank) + 8px - var(--v20-pile-card-w)),calc((var(--v20-pile-w) - var(--v20-pile-card-w))/(var(--v20-pile-count) - 1) - var(--v20-pile-card-w)),6px) !important;
}
/* Resolve pairs synchronously in CSS before the throw animation measures them. */
body.v101110-table #gameStage .pile .pile-play:not(:has(.card:nth-child(3))) .card:not(:first-child) { margin-left:6px !important; }
body.v101110-table #gameStage .pile .card .corner { font-size:var(--v20-pile-rank) !important; top:4px !important; left:4px !important; }
body.v101110-table #gameStage .pile .card .corner small { font-size:var(--v20-pile-suit) !important; }
body.v101110-table #gameStage .pile .card:not([data-face]):not(.joker) .suit-big { font-size:var(--v20-pile-pip) !important; }
body.v101110-table #gameStage .card .pip-art { position:absolute;inset:26% 13% 10% 32%;pointer-events:none; }
body.v101110-table #gameStage .card .pip-art > i { position:absolute;left:var(--pip-x);top:var(--pip-y);transform:translate(-50%,-50%) rotate(var(--pip-turn,0deg));font:normal calc(var(--v20-card-h)*.13)/1 Georgia,serif; }
body.v101110-table #gameStage .pile .card .pip-art > i { font-size:calc(var(--v20-pile-h)*.14); }
body.v101110-table #gameStage .play-flight .card .pip-art > i { font-size:calc(var(--v20-pile-h)*.14); }
body.v101110-table #gameStage .swap-table-card .card .pip-art > i { font-size:calc(var(--v20-swap-card-h)*.14); }
body.v101110-table .v14-round-hud {
  left:auto !important; right:var(--v20-hud-right) !important; top:var(--v20-hud-y) !important;
  transform:none !important; display:block; color:#e1c67e; font-size:clamp(9px,1vw,13px);
  padding:5px 9px; border:1px solid #ad873b66; border-radius:99px; background:#270b13cc;
}
body.v101110-table .v14-round-hud > i { display:none !important; }
body.v101110-table .topbar #homeBtn,
body.v101110-table .topbar #gameMenuBtn,
body.v101110-table .topbar #gameChatBtn,
body.v101110-table .topbar #gameEmojiBtn {
  inset:auto !important; width:var(--v20-icon-size) !important; height:var(--v20-icon-size) !important; min-width:44px !important;
  left:var(--v20-icon-x) !important; top:var(--v20-icon-y) !important; border:1px solid #c09b46 !important;
  border-radius:50% !important; background:linear-gradient(#211a0df5,#080908f5) !important; color:#f2d580 !important; box-shadow:0 3px 8px #0009 !important;
}
body.v101110-table .topbar #homeBtn { --v20-icon-x:var(--v20-home-x); --v20-icon-y:var(--v20-home-y); }
body.v101110-table .topbar #gameMenuBtn { --v20-icon-x:var(--v20-menu-x); --v20-icon-y:var(--v20-menu-y); }
body.v101110-table .topbar #gameChatBtn { --v20-icon-x:var(--v20-chat-x); --v20-icon-y:var(--v20-chat-y); }
body.v101110-table .topbar #gameEmojiBtn { --v20-icon-x:var(--v20-emoji-x); --v20-icon-y:var(--v20-emoji-y); }
body.v101110-table .topbar .icon-btn::before { width:calc(var(--v20-icon-size)*.5) !important; height:calc(var(--v20-icon-size)*.5) !important; }
body.v101110-table .game-wordmark-v10119 { left:var(--v20-brand-x) !important; top:var(--v20-brand-y) !important; height:36px !important; }
body.v101110-table #gameMenuPopover { top:calc(var(--v20-menu-y) + var(--v20-icon-size) + 6px) !important; left:var(--v20-menu-x) !important; bottom:auto !important; right:auto !important; }
body.v101110-table #quickChatPicker { top:calc(var(--v20-chat-y) + var(--v20-icon-size) + 6px) !important; left:var(--v20-chat-x) !important; bottom:auto !important; }
body.v101110-table #reactionPicker { top:calc(var(--v20-emoji-y) + var(--v20-icon-size) + 6px) !important; left:auto !important; right:var(--v20-emoji-right) !important; bottom:auto !important; }
body.v101110-table .controls.turn-visible #playBtn,body.v101110-table .controls.swap-visible #playBtn,body.v101110-table .controls.turn-visible #passBtn {
  inset:auto !important; left:var(--v20-action-x) !important; top:var(--v20-action-y) !important;
  width:var(--v20-action-w) !important; height:var(--v20-action-h) !important; min-height:56px !important; touch-action:manipulation;
  padding:4px 7px !important; border:2px solid #ebbf5c !important; border-radius:999px !important;
  background:radial-gradient(ellipse at 50% 20%,#087733,#025527 55%,#002810) !important; color:#ffe8a0 !important;
  font:900 clamp(15px,2vw,29px)/1 Manrope,sans-serif !important; letter-spacing:.02em !important;
  box-shadow:0 4px 8px #000b,inset 0 0 0 2px #553e1c,inset 0 2px 6px #f8dd7677 !important;
}
body.v101110-table .controls #passBtn { --v20-action-x:var(--v20-pass-x); background:radial-gradient(ellipse at 50% 20%,#a52418,#751109 55%,#300704) !important; }
body.v101110-table .controls #playBtn { --v20-action-x:var(--v20-play-x); }
body.v101110-table .controls.turn-visible #playBtn,body.v101110-table .controls.swap-visible #playBtn { display:flex !important;align-items:center;justify-content:center;gap:4px; }
body.v101110-table .controls #selectedCount { display:inline-grid;place-items:center;flex:none;width:24px;height:24px;min-width:24px;margin:0 !important;padding:0 !important;font-size:14px;line-height:1; }
@media (max-height:460px) and (orientation:landscape) {
  body.v101110-table .controls.turn-visible #playBtn,body.v101110-table .controls.swap-visible #playBtn { padding:4px 5px !important;font-size:17px !important;letter-spacing:0 !important; }
}
body.v101110-table .controls #playBtn.confirm-pending { font-size:clamp(10px,1.35vw,19px) !important;letter-spacing:0 !important; }
body.v101110-table .controls #playBtn.valid { box-shadow:0 0 14px #e2bd4d77,inset 0 0 0 2px #2e6840 !important; }
/* Exchange is printed directly on the felt, without a second panel. */
body.v101110-table #gameStage.swap-active .center-play { width:var(--v20-swap-w) !important; height:auto !important; display:block !important; }
body.v101110-table #gameStage.swap-active .swap-table-pile { width:100% !important; height:auto !important; min-width:0 !important; display:block !important; overflow:visible !important; }
body.v101110-table #gameStage.swap-active .opponent-hand { visibility:hidden !important; }
body.v101110-table #gameStage.swap-active .swap-selection-stage,
body.v101110-table #gameStage.swap-active .swap-table-message {
  width:100% !important; display:grid !important; justify-items:center;
  gap:var(--v20-swap-gap) !important; padding:0 !important; border:0 !important; border-radius:0 !important;
  background:none !important; box-shadow:none !important; color:#fff6dd; text-align:center;
}
body.v101110-table #gameStage.swap-active .swap-selection-stage > b,
body.v101110-table #gameStage.swap-active .swap-table-message > b {
  font:600 var(--v20-swap-title)/1.15 'Playfair Display',Georgia,serif !important;
  letter-spacing:0 !important; color:#fff6dd !important; white-space:normal;
}
body.v101110-table #gameStage.swap-active .swap-selection-stage > small,
body.v101110-table #gameStage.swap-active .swap-table-message > small {
  display:block !important; max-width:100%; color:#f3eddc;
  font:500 var(--v20-swap-caption)/1.3 Manrope,sans-serif !important;
}
body.v101110-table #gameStage.swap-active .swap-selection-cards { display:flex !important; justify-content:space-between; align-items:center !important; gap:0 !important; }
body.v101110-table #gameStage.swap-active .swap-table-card { width:42%; display:grid !important; grid-template-rows:auto !important; place-items:center !important; gap:0 !important; }
body.v101110-table #gameStage.swap-active .swap-table-card > small,
body.v101110-table #gameStage.swap-active .swap-table-arrow { display:none !important; }
body.v101110-table #gameStage.swap-active .swap-table-card .card,body.v101110-table #gameStage.swap-active .swap-card-back {
  width:var(--v20-swap-card-w) !important; height:var(--v20-swap-card-h) !important; min-height:var(--v20-swap-card-h) !important;
  flex:0 0 auto !important; padding:0 !important; margin:0 !important; transform:none !important; overflow:hidden !important;
  border:1px solid #d5c8a9 !important; border-radius:5px !important;
  box-shadow:0 4px 8px #0006 !important;
}
body.v101110-table #gameStage.swap-active .swap-card-back {
  position:relative; background-color:#253e7a !important; border:2px solid #e7e9ed !important;
  background-image:repeating-linear-gradient(45deg,#b4ccf166 0 1px,transparent 1px 4px),repeating-linear-gradient(-45deg,#b4ccf166 0 1px,transparent 1px 4px) !important;
}
body.v101110-table #gameStage.swap-active .swap-card-back::before { content:''; position:absolute; inset:4px; border:1px solid #ddbd72aa; border-radius:2px; }
body.v101110-table #gameStage.swap-active .swap-card-back::after { content:'♠'; position:absolute; inset:0; display:grid; place-items:center; color:#e2bf75; font:500 calc(var(--v20-swap-card-h)*.42)/1 Georgia,serif; }
body.v101110-table #gameStage.swap-active .swap-table-card .card .corner { top:4% !important; left:7.5% !important; font-size:calc(var(--v20-swap-card-h)*.18) !important; line-height:1 !important; }
body.v101110-table #gameStage.swap-active .swap-table-card .card .corner small { font-size:calc(var(--v20-swap-card-h)*.145) !important; }
body.v101110-table #gameStage.swap-active .swap-table-card .card:not([data-face]):not(.joker) .suit-big { inset:0 !important; font-size:var(--v20-swap-pip-size) !important; line-height:1 !important; }
body.v101110-table #gameStage.swap-active .swap-table-card .card.joker .corner,body.v101110-table #gameStage.swap-active .swap-table-card .card.joker::after { font-size:calc(var(--v20-swap-card-h)*.085) !important; }
/* Only the brief result can rise above the dock; choosing never covers the hand. */
body.v101110-table #gameStage .table-wrap:has(.reveal) { z-index:auto; }
body.v101110-table #gameStage.swap-active .center-play:has(.reveal) { z-index:60 !important; }
body.v101110-table #gameStage .pile .card.joker .corner,body.v101110-table #gameStage .pile .card.joker::after { font-size:clamp(5px,calc(1.1 * var(--app-vh,1dvh)),9px) !important; }
