:root{--bg: #0f1319;--panel: #171c24;--text: #e8eef6;--muted: #99a5b3;--accent: #7cc4ff;--danger: #ff6b6b;--ok: #39d98a;--card: #1e2530;--border: #283041}body{background:var(--bg);color:var(--text)}.container{max-width:900px;margin:24px auto;padding:0 16px;font-family:ui-sans-serif,system-ui}h1{font-size:40px;font-weight:800;margin:0 0 12px;letter-spacing:.3px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:14px}.row{display:flex;gap:8px;align-items:center}.grid{display:grid;gap:8px}.grid.cards{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.badge{font-size:12px;color:var(--muted)}.turn{display:inline-flex;align-items:center;gap:8px;font-weight:600;animation:pulse 1.2s infinite}@keyframes pulse{0%{text-shadow:0 0 0 rgba(124,196,255,0)}50%{text-shadow:0 0 12px rgba(124,196,255,.55)}to{text-shadow:0 0 0 rgba(124,196,255,0)}}.btn{padding:9px 14px;border:1px solid var(--border);background:#11161d;color:var(--text);border-radius:10px;cursor:pointer;transition:transform .12s ease,background .12s ease,opacity .12s ease}.btn:hover{transform:translateY(-1px);background:#0d1218}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn.primary{border-color:#2a5d85;background:#11314b}.btn.danger{border-color:#7a2b2b;background:#321316}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:10px 8px;text-align:center;-webkit-user-select:none;user-select:none;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease,background .12s ease,opacity .12s ease}.card .rank{font-weight:800;font-size:20px;line-height:1}.card .suit{font-size:16px;opacity:.85}.card:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 6px 30px #0000002e}.card.selected{outline:2px solid var(--accent);border-color:var(--accent);background:#162233}.card.blocked{opacity:.45;pointer-events:none}.pile{min-height:94px;display:grid;place-items:center;border:2px dashed var(--border);border-radius:14px;padding:10px;background:#0c1117}.flash{animation:flash .45s ease}@keyframes flash{0%{box-shadow:0 0 #7cc4ff00}50%{box-shadow:0 0 24px #7cc4ff59}to{box-shadow:0 0 #7cc4ff00}}:root{--bg: #0b1118;--fg: #e7eefc;--muted: #9fb3cc;--panel: #0f1622;--panel-2: #0b131e;--border: #1c2a3b;--accent: #69a8ff;--accent-2: #4fd1c5;--danger: #ff6868;--warning: #ffa94d;--card: #0c121a;--shadow: 0 8px 24px rgba(0,0,0,.35);--chip-bg: #0f1722;--chip-border: #223349;--chip-hi: #5aa7ff;--red: #ff5b6e;--black: #e7eefc}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{margin:0;background:radial-gradient(1000px 800px at 20% -10%,#142030,#0b1118 50%) fixed;color:var(--fg);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Inter,Helvetica Neue,Arial,"Apple Color Emoji","Segoe UI Emoji";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.container{max-width:1100px;margin:0 auto;padding:24px}h1{margin:0 0 8px;font-weight:800;letter-spacing:.2px}h3{margin:12px 0 6px;font-weight:700}.panel{background:linear-gradient(180deg,var(--panel) 0%,var(--panel-2) 100%);border:1px solid var(--border);border-radius:16px;padding:14px;box-shadow:var(--shadow)}.row{display:flex;gap:10px;align-items:center}input{background:#0d141f;color:var(--fg);border:1px solid var(--border);border-radius:10px;padding:10px 12px;outline:none;width:100%}input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #69a8ff1f}.btn{appearance:none;border:1px solid var(--border);background:#101a28;color:var(--fg);border-radius:12px;padding:10px 14px;cursor:pointer;font-weight:700;transition:transform .06s ease,box-shadow .12s ease,border-color .12s ease,background .12s ease;min-height:44px;touch-action:manipulation}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn.primary{background:linear-gradient(180deg,#1e3150,#142339);border-color:#284064;box-shadow:0 8px 22px #69a8ff2e}.btn.primary:hover{box-shadow:0 10px 26px #69a8ff47}.btn.danger{background:linear-gradient(180deg,#3a1720,#2a1219);border-color:#6d2b39;color:#ffdfe1;box-shadow:0 8px 22px #ff68682e}.btn.warning{background:linear-gradient(180deg,#3a2a12,#2f220f);border-color:#6e4b1b;color:#ffe3b0;box-shadow:0 8px 22px #ffa94d2e}.badge{font-size:12px;font-weight:800;padding:4px 8px;background:#0f1a28;border:1px solid var(--border);border-radius:10px;color:var(--muted)}.pill{background:#101620;border:1px solid var(--border);border-radius:999px;padding:4px 10px;font-size:12px}.playersGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;margin-top:6px}.playerCard{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:10px;transition:box-shadow .15s ease,transform .15s ease,border-color .15s ease}.playerCard.mine{border-color:#365b8d}.playerCard.turnGlow{box-shadow:0 0 22px #7cc4ff40;transform:translateY(-1px)}.playerHeader{display:flex;justify-content:space-between;align-items:center}.playerName{font-weight:700;display:flex;align-items:center;gap:8px}.playerBody{display:flex;align-items:center;gap:8px;margin-top:8px;flex-wrap:wrap}.faceUpRow{display:flex;gap:6px}.playerCard.turnGlow{box-shadow:0 0 0 2px #2ecc7159,0 8px 24px #00000059;border-radius:16px}.turnDot{width:10px;height:10px;border-radius:50%;background:transparent;outline:2px solid transparent}.turnDot.on{background:#2ecc71;outline:2px solid rgba(46,204,113,.35);box-shadow:0 0 0 6px #2ecc711f}.badgeGreen{background:#2ecc7126;border:1px solid rgba(46,204,113,.35)}.grid.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:10px}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:10px 8px;height:96px;display:grid;grid-template-rows:auto 1fr;align-items:start;justify-items:start;cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform .08s ease,box-shadow .12s ease,border-color .12s ease,background .12s ease;box-shadow:0 4px 16px #00000040;position:relative}.card:hover{transform:translateY(-2px)}.card.selected{border-color:var(--accent);box-shadow:0 0 0 1px #69a8ff73,0 0 18px #69a8ff33}.card.blocked{opacity:1;cursor:not-allowed}.card .rank{font-weight:900;font-size:22px;letter-spacing:.2px}.card .suit{margin-top:4px;opacity:.9}.card .suit.red,.miniCard.red{color:var(--red)}.card .suit.black,.miniCard.black{color:var(--black)}.card.blocked:after,.card.blank:after{content:"";position:absolute;inset:0;border-radius:inherit;background:#0c10186b;pointer-events:none}.card.selected.blocked:after{display:none}.card.magic{box-shadow:0 0 0 1px #ffd70059,0 0 16px #ffd70026;animation:magicPulse 2.2s ease-in-out infinite}.miniCard.magic{outline:1px solid rgba(255,215,0,.45);box-shadow:0 0 8px #ffd70040;animation:magicPulse 2.2s ease-in-out infinite}@keyframes magicPulse{0%,to{box-shadow:0 0 0 1px #ffd70059,0 0 10px #ffd7001a}50%{box-shadow:0 0 0 1px #ffd7008c,0 0 18px #ffd70047}}.card.blank{background:#b7c1cf;cursor:default}.card.blank .rank,.card.blank .suit{visibility:visible!important}.card.blank.invalid{filter:grayscale(1) brightness(.7);opacity:.85}.card.punish{background:#3b0b10;color:#ffdfe1;border-color:#7a1e28}.card.punish .rank{font-weight:800}.card.punish .suit{display:none}.card.back{width:72px;height:96px;border-radius:10px;background:#2a2f36;box-shadow:var(--shadow);opacity:.9}.handGlow{border-radius:14px;box-shadow:0 0 0 2px #2ecc7140 inset,0 0 24px #2ecc7124 inset;transition:box-shadow .16s ease;padding:6px}.pile{background:#0d1218;border:1px solid var(--border);border-radius:12px;height:180px;display:grid;place-items:center}.pile.flash{animation:pileFlash .38s ease}@keyframes pileFlash{0%{box-shadow:0 0 #69a8ff00}30%{box-shadow:0 0 0 6px #69a8ff2e}to{box-shadow:0 0 #69a8ff00}}.pile .card{aspect-ratio:5 / 7;height:min(90%,168px);width:auto;padding:12px 10px;border-radius:14px;pointer-events:none;transform:translateZ(0)}.pile .card .rank{font-size:clamp(22px,4.2vw,28px)}.pile .card .suit{font-size:clamp(18px,3.4vw,22px);opacity:1}.pileList{display:flex;flex-wrap:wrap;gap:8px;max-height:160px;overflow:auto;padding-right:6px}.miniCard{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:32px;padding:0 8px;background:var(--chip-bg);border:1px solid var(--chip-border);border-radius:8px;font-weight:800;font-size:13px;letter-spacing:.2px;font-variant-numeric:tabular-nums lining-nums;color:var(--fg)}.miniCard.hi{outline:2px solid var(--chip-hi);border-color:var(--chip-hi);box-shadow:0 0 14px #5aa7ff2e}.miniCard.punish{background:#3b0b10;color:#ffdfe1;border-color:#7a1e28}.miniCard.red{color:var(--red)}.miniCard.black{color:var(--black)}.deckSummary{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:6px}.deckCell{background:#0d1218;border:1px solid var(--border);border-radius:10px;padding:6px;display:grid;grid-template-columns:1fr auto;align-items:center}.deckCell .rankBadge{font-weight:800}.deckCell .count{opacity:.9}.deckCell.hi{border-color:#5aa7ff;box-shadow:0 0 16px #5aa7ff26}.pileList::-webkit-scrollbar{height:8px;width:8px}.pileList::-webkit-scrollbar-thumb{background:#1b2a3e;border-radius:8px}.pileList::-webkit-scrollbar-track{background:transparent}.fxHost{position:fixed;inset:0;display:grid;place-items:center;pointer-events:none;z-index:999}.toast{min-width:280px;max-width:80vw;text-align:center;padding:14px 18px;border-radius:12px;font-weight:700;letter-spacing:.2px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:toastPop .16s ease-out,toastFade 1.6s ease-in forwards}.toastGreen{background:#2ecc7133;border:1px solid rgba(46,204,113,.5);color:#dffbe9}.toastRed{background:#e74c3c33;border:1px solid rgba(231,76,60,.5);color:#ffe5e3}.toastPickup,.toastYellow{background:linear-gradient(180deg,#ffc44d2e,#ffaa4024);border:1px solid rgba(255,196,77,.6);color:#fff4d1;box-shadow:0 10px 26px #ffc44d38;display:inline-flex;align-items:center;gap:10px}.toastPickup:before,.toastYellow:before{content:"🫳🃏";font-size:18px;line-height:1;filter:drop-shadow(0 2px 6px rgba(0,0,0,.35))}.toastPickup .by,.toastYellow .by{font-weight:900}.badgeRed{background:#e74c3c2e;border:1px solid rgba(231,76,60,.45);color:#ffe5e3}.toastPickup .count,.toastYellow .count{background:#ffc44d2e;border:1px solid rgba(255,196,77,.55);padding:2px 8px;border-radius:999px;font-weight:800;letter-spacing:.2px}@keyframes toastPop{0%{transform:translateY(6px) scale(.98);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes toastFade{0%{opacity:1}85%{opacity:1}to{opacity:0}}@keyframes shakeStrong{0%{transform:translateZ(0)}15%{transform:translate3d(-6px,3px,0) rotate(-.6deg)}30%{transform:translate3d(7px,-5px,0) rotate(.5deg)}45%{transform:translate3d(-4px,4px,0) rotate(-.3deg)}60%{transform:translate3d(5px,0,0) rotate(.3deg)}75%{transform:translate3d(-3px,2px,0) rotate(-.2deg)}to{transform:translateZ(0)}}@keyframes shakeLight{0%{transform:translateZ(0)}25%{transform:translate3d(3px,-2px,0)}50%{transform:translate3d(-2px,2px,0)}75%{transform:translate3d(2px,-1px,0)}to{transform:translateZ(0)}}.container.shake-strong{animation:shakeStrong .9s cubic-bezier(.36,.07,.19,.97)}.container.shake-light{animation:shakeLight .5s ease}.boom10-overlay,.burn4-overlay{position:fixed;inset:0;pointer-events:none;display:grid;place-items:center;z-index:9999}.boom10-overlay{background:radial-gradient(1200px 800px at 50% 50%,#ff3c3c14,#000000d9);-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);animation:boom10-fade 1.2s ease forwards}@keyframes boom10-fade{0%{opacity:0}10%{opacity:1}80%{opacity:1}to{opacity:0}}.boom10-word{font-size:clamp(48px,12vw,160px);font-weight:900;letter-spacing:.06em;color:#fff;text-shadow:0 0 12px rgba(255,90,90,.9),0 0 38px rgba(255,0,0,.9),0 0 80px rgba(255,150,0,.8);transform:scale(.9);animation:boom10-pop .85s cubic-bezier(.16,.84,.44,1.02) both,boom10-wobble 1.1s ease-out both}@keyframes boom10-pop{0%{transform:scale(.4);filter:blur(6px);opacity:.2}40%{transform:scale(1.2);filter:blur(0);opacity:1}to{transform:scale(1)}}@keyframes boom10-wobble{0%{transform:translateZ(0)}30%{transform:translateY(-6px)}60%{transform:translateY(2px)}to{transform:translateY(0)}}.boom10-shockwave{position:absolute;width:24vmin;height:24vmin;border-radius:50%;border:3px solid rgba(255,200,160,.8);box-shadow:0 0 24px #ff7850cc,inset 0 0 18px #ff785099;animation:shock-out 1s ease-out forwards}@keyframes shock-out{0%{transform:scale(.2);opacity:1}to{transform:scale(5.2);opacity:0}}.boom10-glow{position:absolute;inset:-20%;background:radial-gradient(50% 35% at 50% 50%,#ff783c1f,#f000);filter:blur(18px);animation:glow-pulse 1.2s ease-out forwards}@keyframes glow-pulse{0%{opacity:0}30%{opacity:.9}to{opacity:0}}.burn4-overlay{background:radial-gradient(900px 600px at 50% 55%,#ff963c0f,#0009);animation:burn4-fade .8s ease forwards}@keyframes burn4-fade{0%{opacity:0}20%{opacity:1}to{opacity:0}}.burn4-word{position:absolute;top:46%;font-size:clamp(28px,7.2vw,96px);font-weight:800;text-transform:lowercase;color:#ffd8c2;opacity:.9;text-shadow:0 0 16px rgba(255,120,60,.35);animation:burn4-rise .6s ease-out both}@keyframes burn4-rise{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:.9}}.burn4-ring{position:absolute;width:16vmin;height:16vmin;border-radius:50%;border:2px dashed rgba(255,160,80,.8);animation:ring-lite .65s ease-out forwards}@keyframes ring-lite{0%{transform:scale(.6);opacity:1;filter:blur(0)}to{transform:scale(3.2);opacity:0;filter:blur(2px)}}.flames{position:absolute;inset:0;overflow:hidden;pointer-events:none}.flames.big .flame{--size: 16px;--spread: 42vw;--rise: 36vh}.flames.small .flame{--size: 10px;--spread: 30vw;--rise: 24vh}.flame{position:absolute;left:50%;bottom:12%;width:var(--size);height:var(--size);border-radius:50%;background:radial-gradient(closest-side,#ffd89c,#ff7b00 60%,#ff0000b3);box-shadow:0 0 12px #ff8228cc,0 0 24px #ff5a0080;filter:blur(.2px);opacity:.95;animation:flame-rise calc(.6s + (var(--i) * 40ms)) ease-out forwards;transform:translate(calc((var(--i) - 6) * (var(--spread) / 12))) translateY(0) scale(1) rotate(0)}@keyframes flame-rise{0%{transform:translate(calc((var(--i) - 6) * (var(--spread) / 12))) translateY(0) scale(.7) rotate(0);opacity:0;filter:blur(2px)}20%{opacity:.95;filter:blur(.6px)}to{transform:translate(calc((var(--i) - 6) * (var(--spread) / 12) + (var(--i) - 6) * 4px)) translateY(calc(-1 * var(--rise))) scale(.9) rotate(calc((var(--i) - 6) * 3deg));opacity:0;filter:blur(3px)}}.skullFx{position:fixed;inset:0;display:grid;place-items:center;font-size:clamp(56px,12vw,160px);line-height:1;color:#fff;text-shadow:0 10px 30px rgba(0,0,0,.6);animation:skullPop 1.2s ease-out forwards;pointer-events:none;z-index:1000}.skullFx.red{background:radial-gradient(500px 350px at 50% 45%,#e74c3c38,#e74c3c00 70%),#e74c3c14}@keyframes skullPop{0%{transform:scale(.6);opacity:0;filter:drop-shadow(0 0 0 rgba(255,255,255,0))}20%{transform:scale(1.1);opacity:1;filter:drop-shadow(0 0 12px rgba(255,255,255,.4))}60%{transform:scale(1);opacity:1}to{transform:scale(1);opacity:0}}.pickupFx{position:fixed;inset:0;pointer-events:none;display:grid;place-items:center;z-index:10000;animation:pickupFade 1.2s ease forwards}@keyframes pickupFade{0%{opacity:0}10%{opacity:1}85%{opacity:1}to{opacity:0}}.pickupBadge{display:inline-flex;align-items:center;gap:10px;font-weight:900;padding:12px 16px;border-radius:14px;background:#0f1a28cc;border:1px solid rgba(105,168,255,.5);color:#eef6ff;text-shadow:0 2px 6px rgba(0,0,0,.35);box-shadow:0 8px 26px #00000059;transform:translateY(-40px);animation:pickupDrop .42s cubic-bezier(.2,.8,.25,1.1) both}.pickupBadge .emoji{font-size:22px}@keyframes pickupDrop{0%{transform:translateY(-70px) scale(.96);opacity:0}to{transform:translateY(-40px) scale(1);opacity:1}}.pickupCards{position:absolute;bottom:14%;display:grid;place-items:center;perspective:800px}.pickupCard{width:52px;height:72px;background:#162234;border:1px solid #2a3a54;border-radius:8px;box-shadow:0 6px 16px #00000073;position:absolute;transform-origin:bottom center;animation:pickupArc .7s ease-out forwards;opacity:.95}.pickupCard:nth-child(2){animation-delay:60ms}.pickupCard:nth-child(3){animation-delay:.12s}@keyframes pickupArc{0%{transform:translateY(80px) translate(-60px) rotate(-12deg);opacity:0}50%{transform:translateY(-8px) translate(-10px) rotate(-4deg);opacity:1}to{transform:translateY(0) translate(40px) rotate(8deg) scale(.92);opacity:0}}.pickupHand{position:absolute;bottom:10%;right:50%;font-size:42px;filter:drop-shadow(0 4px 12px rgba(0,0,0,.5));transform:translate(60px) rotate(-10deg)}@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.container.shake-strong,.container.shake-light{animation:none!important}.boom10-overlay,.burn4-overlay,.boom10-word,.burn4-word,.boom10-shockwave,.burn4-ring,.boom10-glow,.flame,.pickupFx,.pickupBadge,.pickupCard{animation:none!important;opacity:.95}}@media(hover:none){.btn:hover,.card:hover{transform:none}}@media(max-width:900px){.container{max-width:100%;padding:18px}h1{font-size:clamp(20px,5vw,28px)}h3{font-size:clamp(15px,3.6vw,18px)}.row{gap:8px;flex-wrap:wrap}.playersGrid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}.grid.cards{grid-template-columns:repeat(auto-fill,minmax(68px,1fr));gap:8px}.card{height:88px;padding:8px 6px}.card .rank{font-size:20px}.card .suit{margin-top:2px}.card.back{width:66px;height:88px}.pile{height:170px}.pile .card{height:min(90%,160px)}.pileList{max-height:140px}.badge{font-size:11px;padding:3px 7px}.pill{font-size:11px;padding:3px 8px}.btn{padding:10px 12px;font-size:14px}input{padding:10px 12px}.playerBody{gap:6px}.faceUpRow{gap:5px}.miniCard{min-width:32px;height:30px;font-size:12.5px}}@media(max-width:600px){.container{padding:14px;padding-bottom:calc(16px + env(safe-area-inset-bottom))}.panel>.row{align-items:stretch}.panel>.row .btn{width:auto}.playersGrid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}.playerCard{padding:9px}.playerHeader{gap:8px;align-items:flex-start}.playerName{font-size:14px}.grid.cards{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px}.card{height:84px;padding:7px 6px}.card .rank{font-size:18px}.card.back{width:62px;height:84px}.handGlow{padding:4px}.row>.btn{flex:1 1 auto}.row[style*="gap: 8px"]>.btn{flex-basis:calc(50% - 4px)}.btn.primary,.btn.warning,.btn.danger{font-size:14px;padding:10px 12px}.pile{height:160px}.pile .card{height:min(90%,148px)}.pileList{max-height:130px}.toast{min-width:220px;padding:12px 14px;font-size:14px}}@media(max-width:380px){.container{padding:12px}.playersGrid{grid-template-columns:1fr}.grid.cards{grid-template-columns:repeat(auto-fill,minmax(58px,1fr));gap:6px}.card{height:78px;padding:6px}.card .rank{font-size:17px}.card.back{width:56px;height:78px}.miniCard{min-width:28px;height:28px;font-size:11.5px}.btn{padding:10px;font-size:13px}.badge{font-size:10px;padding:3px 6px}.pill{font-size:10px;padding:3px 7px}}.chatFab{position:fixed;right:clamp(12px,3vw,20px);bottom:clamp(12px,3vh,20px);width:54px;height:54px;border-radius:999px;border:1px solid var(--border);background:linear-gradient(180deg,#1b283d,#131d2d);color:var(--fg);font-size:22px;display:grid;place-items:center;box-shadow:var(--shadow);cursor:pointer;z-index:1001}.chatBadge{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#e74c3c;color:#fff;font-size:12px;font-weight:800;display:grid;place-items:center;border:2px solid #0b1118}.chatHeader{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--border)}.chatTitle{font-weight:800}.chatClose{appearance:none;border:0;background:transparent;color:var(--muted);font-size:18px;cursor:pointer}.chatList{padding:10px;overflow:auto;display:flex;flex-direction:column;gap:8px}.chatEmpty{text-align:center;color:var(--muted);padding:10px 0;font-size:14px}.chatMsg{display:flex;justify-content:flex-start}.chatMsg.mine{justify-content:flex-end}.chatBubble{max-width:80%;background:#101a28;border:1px solid var(--border);border-radius:14px;padding:8px 10px;box-shadow:0 6px 16px #00000040}.chatMsg.mine .chatBubble{background:#2ecc7126;border-color:#2ecc7159}.chatMeta{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--muted)}.chatTs{opacity:.8}.chatText{margin-top:4px;white-space:pre-wrap;word-break:break-word}.chatInputRow{display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px;border-top:1px solid var(--border)}.chatInput{background:#0d141f;color:var(--fg);border:1px solid var(--border);border-radius:10px;padding:10px 12px;outline:none}.chatInput:focus{border-color:var(--accent);box-shadow:0 0 0 3px #69a8ff1f}.chatSend{height:42px}.titleGradient{background:linear-gradient(92deg,#7cc2ff,#b598ff 40%,#6ef0d1 80%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none}.turnClock{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid var(--border);border-radius:999px;background:#102033;color:#eaf2ff;font-weight:900;letter-spacing:.2px;box-shadow:0 6px 18px #00000040}.turnClock.mine{border-color:#2ecc7173;box-shadow:0 0 0 2px #2ecc7140,0 6px 18px #00000040}.turnClock.danger{background:#e74c3c2e;border-color:#e74c3c80;color:#ffe9e7;animation:clockPulse .8s ease-in-out infinite}.clockIcon{opacity:.9}.clockNum{font-variant-numeric:tabular-nums;font-size:14px}@keyframes clockPulse{0%,to{transform:translateZ(0);box-shadow:0 0 #e74c3c47}50%{transform:translateZ(0) scale(1.02);box-shadow:0 0 0 6px #e74c3c24}}.modal{position:fixed;inset:0;background:#00000080;display:grid;place-items:center;z-index:1000}.playerCard.offline{border:2px solid #ffcc00;animation:offlinePulse .9s infinite}.playerName.offline{color:#ff4d4d}@keyframes offlinePulse{0%{box-shadow:0 0 #ffcc00b3;border-color:#fc0}50%{box-shadow:0 0 8px 2px #f009;border-color:#f33}to{box-shadow:0 0 #ffcc00b3;border-color:#fc0}}.rulesFab{position:fixed;right:20px;bottom:96px;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#1f3b68,#2a66f1);color:#fff;border:1px solid var(--border);display:grid;place-items:center;font-size:24px;cursor:pointer;z-index:1050;box-shadow:0 6px 20px #00000059,inset 0 0 14px #ffffff0f;transition:transform .08s ease,filter .2s ease}.rulesFab:hover{filter:brightness(1.08);transform:translateY(-1px)}.rulesFab:active{transform:translateY(0)}.rb-sec{margin:10px 0 14px}.rb-h4{margin:8px 0 6px;font-size:16px}.rb-p{margin:6px 0;opacity:.9}.rb-ul{margin:6px 0 0 18px;opacity:.95}.rb-ul.compact li{margin:2px 0}.rb-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}.rb-cardrow{display:flex;align-items:flex-start;gap:10px}.rb-desc{font-size:14px;line-height:1.25;opacity:.95}.joker-overlay{position:fixed;inset:0;pointer-events:none;z-index:9999;display:grid;place-items:center;animation:jokerFade 1.2s ease forwards}@keyframes jokerFade{0%{opacity:0}8%{opacity:1}to{opacity:0}}.joker-stripes{position:absolute;inset:-10%;background:repeating-linear-gradient(45deg,#ff004d14 0 24px,#ffffff0f 24px 48px);filter:blur(2px) saturate(1.2);transform:scale(1.05)}.joker-confetti{position:absolute;inset:0;overflow:hidden}.joker-confetti .confetti{--x: calc((var(--i) - 15) * 2%);position:absolute;top:-10%;left:50%;width:10px;height:14px;background:hsl(calc(var(--i) * 12),90%,60%);transform:translate(var(--x)) rotate(0);border-radius:2px;animation:fallConfetti 1.1s ease-in forwards}@keyframes fallConfetti{0%{transform:translate(var(--x)) translateY(-10%) rotate(0);opacity:0}10%{opacity:1}to{transform:translate(var(--x)) translateY(120vh) rotate(520deg);opacity:0}}.joker-mask{font-size:clamp(64px,18vw,200px);text-shadow:0 0 30px rgba(255,255,255,.35);transform:scale(.9);animation:maskPop .5s cubic-bezier(.2,1.5,.3,1) forwards}@keyframes maskPop{0%{transform:scale(.4) rotate(-12deg);filter:blur(6px);opacity:0}60%{transform:scale(1.05) rotate(6deg);filter:blur(0);opacity:1}to{transform:scale(1) rotate(0)}}.joker-neon{margin-top:10px;font-weight:900;letter-spacing:.08em;font-size:clamp(20px,6vw,60px);color:#ffd166;text-shadow:0 0 6px rgba(255,209,102,.8),0 0 18px rgba(255,0,77,.7);animation:neonPulse 1.1s ease-in-out forwards}@keyframes neonPulse{0%{opacity:0;transform:translateY(10px) scale(.96)}35%{opacity:1;transform:translateY(0) scale(1.02)}to{opacity:1;transform:translateY(0) scale(1)}}.chatDrawer{position:fixed;z-index:1200;right:0;top:0;bottom:0;width:min(380px,92vw);background:var(--bg);border-left:1px solid var(--border);display:flex;flex-direction:column}@media(max-width:640px){.chatDrawer{left:0;width:100vw;height:100dvh;border-left:none;border-top:1px solid var(--border)}}.chatHeader{padding:10px 12px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.chatList{flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:8px 10px}.chatTyping{padding:4px 12px 0;font-size:12px;opacity:.8}.chatInputRow{position:sticky;bottom:0;padding:8px;padding-bottom:calc(8px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--border);display:grid;grid-template-columns:1fr auto;gap:8px}.chatInput{width:100%}.chatSend{white-space:nowrap}.emojiBar{right:18px;bottom:calc(86px + env(safe-area-inset-bottom));display:flex;gap:8px;padding:6px 8px;border-radius:999px;background:#060a1099;border:1px solid var(--border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1200}.emojiBtn{font-size:20px;line-height:1;padding:6px 8px;border-radius:999px;background:#0d141f;color:var(--fg);border:1px solid var(--border);cursor:pointer;transition:transform .08s ease}.emojiBtn:active{transform:scale(.92)}.reactionTrack{position:absolute;left:0;right:0;top:-2px;pointer-events:none}.reactionBubble{position:absolute;left:50%;transform:translate(var(--dx, 0px));font-size:22px;filter:drop-shadow(0 2px 2px rgba(0,0,0,.3));animation:react-pop 1.15s ease-out forwards;will-change:transform,opacity}@keyframes react-pop{0%{opacity:0;transform:translate(var(--dx,0)) translateY(8px) scale(.6)}15%{opacity:1;transform:translate(var(--dx,0)) translateY(0) scale(1)}70%{opacity:1;transform:translate(var(--dx,0)) translateY(-14px) scale(1)}to{opacity:0;transform:translate(var(--dx,0)) translateY(-28px) scale(.92)}}.iconBtn{border:1px solid var(--border);background:#1a2433;color:var(--fg);border-radius:8px;padding:4px 8px;cursor:pointer}.iconBtn.sm{padding:2px 8px;font-size:14px;line-height:1}.iconBtn.danger{border-color:#7a2b2b}.iconBtn:hover{filter:brightness(1.1)}.winnerOverlay{position:fixed;inset:0;background:#080a0fb8;display:grid;place-items:center;z-index:9999;overflow:hidden}.winnerModal{position:relative;width:min(760px,92vw);background:#111821;border:1px solid #253041;border-radius:16px;padding:20px 18px 16px;box-shadow:0 10px 38px #0006,0 6px 20px #00000040}.winnerHeader{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.winTitle{font-size:clamp(20px,3.2vw,32px);font-weight:800;letter-spacing:.3px}.winTimer{font-variant-numeric:tabular-nums;opacity:.8}.podium{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:10px;align-items:end;margin:8px 0 10px}.podiumCol{background:#0c141d;border:1px solid #1e2a39;border-radius:14px;padding:12px 8px 10px;text-align:center;position:relative}.podiumCol.first{transform:translateY(-6px)}.podiumCol.second{transform:translateY(4px)}.podiumCol.third{transform:translateY(8px)}.avatar{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;margin:0 auto 6px;background:linear-gradient(180deg,#2d84ff,#4ed4ff);color:#0b0f14;font-weight:900;font-size:20px;box-shadow:0 6px 18px #2684ff73}.avatar.winner{background:linear-gradient(180deg,#ffd54a,#ff9f2e);box-shadow:0 6px 18px #ffa50073}.crown{position:absolute;left:50%;transform:translate(-50%) translateY(-8px) rotate(-6deg);top:-18px;font-size:28px;filter:drop-shadow(0 3px 3px rgba(0,0,0,.35))}.placeLabel{font-size:28px;font-weight:800;opacity:.9;margin-top:6px}.playerName{font-size:14px;opacity:.8}.standings{margin-top:12px}.standings h4{margin:0 0 6px 2px;opacity:.85}.standings ol{margin:0;padding-left:0;list-style:none}.standings li{display:grid;grid-template-columns:32px 1fr;gap:10px;padding:6px 8px;border-radius:10px}.standings li.firstRow{background:linear-gradient(90deg,#ffd54a1f,#ff9f2e14)}.standings .pos{font-weight:800;opacity:.8}.standings .nm{opacity:.95}.winButtons{display:flex;gap:10px;justify-content:flex-end;margin-top:10px}.confettiLayer{position:absolute;inset:0;pointer-events:none;overflow:hidden}.confettiPiece{position:absolute;top:-10vh;left:50vw;width:8px;height:14px;background:hsl(calc(var(--i) * 13deg),85%,56%);transform:translate(calc(var(--i) * 13px - 50vw)) rotate(calc(var(--i) * 19deg));animation:fall 2.8s linear infinite;animation-delay:calc(var(--i) * -.06s);opacity:.9}@keyframes fall{0%{transform:translate(calc(var(--i) * 13px - 50vw)) translateY(-10vh) rotate(0)}to{transform:translate(calc(var(--i) * 13px - 50vw)) translateY(110vh) rotate(720deg)}}select,textarea{background:#0d141f;color:var(--fg);border:1px solid var(--border);border-radius:10px;padding:10px 12px;outline:none;width:100%;font:inherit;transition:border-color .12s ease,box-shadow .12s ease,background .12s ease}select:hover,textarea:hover{border-color:#284064}select:focus,select:focus-visible,textarea:focus,textarea:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px #69a8ff1f}select:disabled,textarea:disabled{opacity:.55;cursor:not-allowed}select{appearance:none;-webkit-appearance:none;-moz-appearance:none;min-height:44px;padding-right:38px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2369a8ff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");background-repeat:no-repeat;background-position:right 10px center;background-size:18px 18px}select.inverse{background:#101c2a;border-color:#2b4262}select[multiple]{min-height:120px;padding-right:12px;background-image:none;overflow:auto}select[multiple]::-webkit-scrollbar{width:8px}select[multiple]::-webkit-scrollbar-thumb{background:#1b2a3e;border-radius:8px}select[multiple]::-webkit-scrollbar-track{background:transparent}option{background:#0d141f;color:var(--fg)}option:checked{background:#16263a;color:var(--fg)}optgroup{background:#0d141f;color:var(--muted);font-weight:700}textarea{min-height:120px;resize:vertical;line-height:1.35}textarea::placeholder{color:var(--muted);opacity:.85}select.error,textarea.error{border-color:var(--danger);box-shadow:0 0 0 3px #ff68681f}select.success,textarea.success{border-color:#2ecc718c;box-shadow:0 0 0 3px #2ecc711f}.sm{padding:8px 10px;min-height:36px;font-size:14px}.lg{padding:12px 14px;min-height:48px;font-size:16px}.field{display:grid;gap:6px}.field label{font-weight:700;font-size:12px;color:var(--muted)}.field .helper{font-size:12px;color:var(--muted);opacity:.9}.field .helper.error{color:var(--danger);opacity:1}label.row>input[type=checkbox],.check>input[type=checkbox]{appearance:none;-webkit-appearance:none;-moz-appearance:none;--cb-size: 18px;--cb-mark: calc(var(--cb-size) * .66);width:var(--cb-size);height:var(--cb-size);margin:0;position:relative;display:inline-block;background:#0d141f;border:1px solid var(--border);border-radius:6px;box-shadow:inset 0 1px #00000059;cursor:pointer;transition:border-color .12s ease,background .12s ease,box-shadow .12s ease,transform .06s ease}label.row>input[type=checkbox]:hover,.check>input[type=checkbox]:hover{border-color:#284064}label.row>input[type=checkbox]:focus-visible,.check>input[type=checkbox]:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #69a8ff1f}label.row>input[type=checkbox]:after,.check>input[type=checkbox]:after{content:"";position:absolute;top:50%;left:50%;width:var(--cb-mark);height:var(--cb-mark);transform:translate(-50%,-50%) scale(0);transform-origin:center center;transition:transform .12s ease;background:center / contain no-repeat;image-rendering:-webkit-optimize-contrast;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23eaf2ff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>")}label.row>input[type=checkbox]:checked,.check>input[type=checkbox]:checked{background:linear-gradient(180deg,#1e3150,#142339);border-color:#284064}label.row>input[type=checkbox]:checked:after,.check>input[type=checkbox]:checked:after{transform:translate(-50%,-50%) scale(1);filter:drop-shadow(0 0 4px rgba(105,168,255,.35))}label.row>input[type=checkbox]:indeterminate,.check>input[type=checkbox]:indeterminate{background:#16263a;border-color:#284064}label.row>input[type=checkbox]:indeterminate:after,.check>input[type=checkbox]:indeterminate:after{width:calc(var(--cb-mark) * .7);height:2px;background:#eaf2ff;border-radius:1px;background-image:none;transform:translate(-50%,-50%) scale(1)}label.row.disabled>input[type=checkbox],.check.disabled>input[type=checkbox],label.row>input[type=checkbox]:disabled,.check>input[type=checkbox]:disabled{opacity:.6;cursor:not-allowed}label.row.sm>input[type=checkbox],.check.sm>input[type=checkbox]{--cb-size: 16px;border-radius:5px}label.row.lg>input[type=checkbox],.check.lg>input[type=checkbox]{--cb-size: 20px;border-radius:6px}:root{--sb-size: 10px;--sb-track: rgba(13, 20, 31, .6);--sb-thumb: #1b2a3e;--sb-thumb-hover: #284064;--sb-thumb-active: #35527e}*{scrollbar-width:thin;scrollbar-color:var(--sb-thumb) transparent}::-webkit-scrollbar{width:var(--sb-size);height:var(--sb-size)}::-webkit-scrollbar-track{background:transparent;border-radius:999px}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--sb-thumb),#162233);border:3px solid transparent;background-clip:padding-box;border-radius:999px;box-shadow:inset 0 0 0 1px #ffffff0f}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,var(--sb-thumb-hover),#1a2b44)}::-webkit-scrollbar-thumb:active{background:linear-gradient(180deg,var(--sb-thumb-active),#20385c)}::-webkit-scrollbar-corner{background:transparent}.pileList,.chatList,.chatDrawer,.modal .panel,textarea{--sb-size: 8px}@media(forced-colors:active){*{scrollbar-color:auto}}input[type=checkbox]{--chk-size: 18px;--chk-bg: #0d141f;--chk-border: var(--border);--chk-tick: #0b1118;--chk-on: var(--accent);--chk-on-border: #284064;appearance:none;-webkit-appearance:none;-moz-appearance:none;position:relative;inline-size:var(--chk-size);block-size:var(--chk-size);border:1px solid var(--chk-border);border-radius:6px;background:var(--chk-bg);cursor:pointer;display:inline-grid;place-items:center;vertical-align:middle;outline:none;transition:box-shadow .14s ease,border-color .14s ease,background .14s ease,transform .06s ease}input[type=checkbox]:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-1px)}input[type=checkbox]:active:not(:disabled){transform:translateY(0)}input[type=checkbox]:focus-visible{box-shadow:0 0 0 3px #69a8ff2e;border-color:var(--accent)}input[type=checkbox]:checked{background:linear-gradient(180deg,#1e3150,#142339);border-color:var(--chk-on-border);box-shadow:0 6px 16px #69a8ff2e}input[type=checkbox]:after{content:"";position:absolute;inset:50% auto auto 50%;width:calc(var(--chk-size) * .46);height:calc(var(--chk-size) * .26);border:2.2px solid transparent;border-left-color:var(--chk-tick);border-bottom-color:var(--chk-tick);transform:translate(-50%,-58%) rotate(-45deg) scale(.85);opacity:0;transition:opacity .12s ease;pointer-events:none}input[type=checkbox]:checked:after{opacity:1}input[type=checkbox]:indeterminate{background:linear-gradient(180deg,#2a3a54,#1a263a);border-color:#3a567f}input[type=checkbox]:indeterminate:after{content:"";position:absolute;width:calc(var(--chk-size) * .58);height:2px;background:var(--fg);border:0;transform:translate(-50%,-50%) scale(1);left:50%;top:50%;opacity:1}input[type=checkbox]:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;filter:none}input[type=checkbox].sm{--chk-size: 16px}input[type=checkbox].lg{--chk-size: 20px}label.chk{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}label.chk>input[type=checkbox]{margin:0}:root{--dk-bg: #070b0f;--dk-bg-2: #0b1118;--dk-panel: rgba(14, 19, 27, .78);--dk-panel-solid: #111821;--dk-panel-soft: rgba(17, 24, 33, .68);--dk-border: rgba(170, 194, 213, .14);--dk-border-strong: rgba(94, 238, 210, .38);--dk-text: #eef5f3;--dk-muted: #8d9ca4;--dk-accent: #2ed6bd;--dk-accent-2: #77f8b7;--dk-felt: #0f6a3d;--dk-felt-dark: #06371f;--dk-danger: #ff5e5e;--dk-warning: #e8bb45;--dk-radius: 18px;--dk-shadow: 0 24px 80px rgba(0, 0, 0, .42);--dk-visual-vh: 100dvh}body{background:radial-gradient(900px 520px at 50% 10%,rgba(22,115,84,.16),transparent 64%),radial-gradient(900px 620px at 85% 76%,rgba(40,215,190,.12),transparent 68%),linear-gradient(180deg,#05080b,#0a1016 54%,#070b0f);color:var(--dk-text)}.container{width:min(100%,1720px);max-width:none;min-height:100dvh;margin:0 auto;padding:clamp(12px,1.6vw,24px)}.btn{border-color:var(--dk-border);border-radius:14px;background:#ffffff0e;color:var(--dk-text);box-shadow:none}.btn:hover{border-color:#2ed6bd66;background:#2ed6bd14}.btn.primary{border-color:#2ed6bd6b;background:linear-gradient(180deg,#34cfacd6,#158d79e6);color:#ebfffa;box-shadow:0 12px 34px #2ed6bd38}.btn.danger{border-color:#ff5e5e6b;background:#ff5e5e1a;color:#ffdada}.btn.warning{border-color:#e8bb456b;background:#e8bb451f;color:#ffe7a6}.btn.slim{min-height:38px;padding:8px 13px;border-radius:12px}.badge{border-color:var(--dk-border);background:#ffffff0d;color:var(--dk-muted);border-radius:12px}input,select,textarea{background:#ffffff0f;border-color:var(--dk-border);color:var(--dk-text)}input:focus,select:focus,textarea:focus{border-color:var(--dk-accent);box-shadow:0 0 0 4px #2ed6bd1f}.menuShell{min-height:calc(100dvh - 48px);display:grid;grid-template-columns:minmax(320px,.9fr) minmax(560px,1.5fr);gap:18px}.menuHeroPanel,.lobbyBrowserPanel,.selectedLobbyPanel,.roomShell,.gameShell,.panel{border:1px solid var(--dk-border);background:linear-gradient(180deg,#ffffff0e,#ffffff07),#080c11c7;box-shadow:var(--dk-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:var(--dk-radius)}.roomShell{width:min(100%,1220px);margin:16px auto 0;padding:clamp(16px,2vw,24px)}.menuHeroPanel{position:relative;display:grid;align-content:center;min-height:680px;padding:clamp(26px,4vw,56px);overflow:hidden}.menuHeroPanel:before{content:"";position:absolute;inset:18% -42% 8% -30%;border-radius:50%;background:radial-gradient(closest-side,rgba(24,129,75,.8),rgba(4,36,22,.94) 72%,transparent 73%),linear-gradient(180deg,rgba(255,255,255,.1),transparent);border:26px solid rgba(15,18,23,.92);box-shadow:inset 0 0 70px #0000007a,0 0 0 1px #ffffff14;opacity:.56}.brandLockup{position:absolute;top:22px;left:24px;display:inline-flex;align-items:center;gap:12px;font-size:18px;font-weight:850;letter-spacing:0}.brandMark{width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(46,214,189,.42);border-radius:11px;color:var(--dk-accent);background:#2ed6bd14;font-weight:900}.heroTableGlow{position:relative;height:92px;margin-bottom:22px;z-index:1}.heroCard{position:absolute;left:50%;top:12px;width:72px;height:96px;display:grid;place-items:start;padding:12px;border-radius:11px;background:#f6faf8;color:#111821;font-size:28px;font-weight:900;box-shadow:0 14px 28px #00000047}.heroCard.one{transform:translate(-62%) rotate(-8deg);color:#1e2a2f}.heroCard.two{transform:translate(-20%) rotate(8deg);color:#0d8d62}.menuHeroCopy,.menuNameField,.menuActionStack,.menuStats{position:relative;z-index:1}.menuHeroCopy h1{font-size:clamp(48px,7vw,82px);line-height:.92;margin-bottom:18px;letter-spacing:0}.menuHeroCopy p{color:var(--dk-muted);font-size:clamp(17px,1.4vw,22px);margin:0 0 34px}.menuNameField{width:min(100%,430px)}.menuNameField span{font-size:14px;color:var(--dk-muted)}.menuNameField input{height:62px;font-size:18px;border-radius:14px}.menuActionStack{width:min(100%,430px);display:grid;gap:14px;margin-top:22px}.menuActionStack .btn{height:66px;font-size:20px}.menuStats{width:min(100%,610px);display:grid;grid-template-columns:repeat(3,1fr);margin-top:58px;border:1px solid var(--dk-border);background:#05090d85;border-radius:16px;overflow:hidden}.menuStats span{display:grid;gap:4px;padding:18px;color:var(--dk-muted);font-size:12px;border-right:1px solid var(--dk-border)}.menuStats span:last-child{border-right:0}.menuStats b{color:var(--dk-text);font-size:22px}.lobbyBrowserPanel{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-height:680px;padding:clamp(22px,3vw,34px);gap:16px}.browserHeader{display:flex;align-items:center;justify-content:space-between;gap:16px}.browserHeader h2,.selectedLobbyPanel h3,.roomControlPanel h2{margin:0;font-size:clamp(22px,2vw,30px)}.lobbyTable{display:grid;align-content:start;gap:6px;min-height:0;overflow:auto}.lobbyTableHead,.lobbyRow{display:grid;grid-template-columns:minmax(210px,1fr) 120px 130px 124px;align-items:center;gap:14px}.lobbyTableHead{padding:10px 22px;color:var(--dk-muted);font-size:12px;border-bottom:1px solid var(--dk-border)}.lobbyRow{width:100%;min-height:62px;text-align:left;border:1px solid var(--dk-border);border-radius:12px;background:#ffffff09;color:var(--dk-text);padding:10px 14px 10px 22px;cursor:pointer;transition:transform .14s ease,border-color .14s ease,background .14s ease}.lobbyRow:hover,.lobbyRow.selected{transform:translateY(-1px);border-color:#2ed6bd5c;background:#2ed6bd0e}.lobbyRow b,.lobbyRow small{display:block}.lobbyRow small{margin-top:4px;color:var(--dk-muted)}.lobbyStatus{width:fit-content;min-width:72px;padding:7px 10px;border-radius:9px;text-align:center;font-size:13px;font-weight:800}.lobbyStatus.open{background:#35cf6a24;color:#8effaa}.lobbyStatus.running{background:#e8bb4524;color:#ffe28a}.lobbyJoinButton{display:grid;place-items:center;min-height:42px;border:1px solid rgba(46,214,189,.46);border-radius:10px;background:#2ed6bd0f;color:var(--dk-accent);font-weight:800;cursor:pointer}.lobbyJoinButton:hover{background:#2ed6bd1f}.emptyLobbyRow{padding:30px;color:var(--dk-muted);border:1px dashed var(--dk-border);border-radius:14px;text-align:center}.selectedLobbyPanel{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(280px,1.2fr);gap:18px;padding:24px;box-shadow:none}.selectedLobbyPanel p{margin:8px 0 18px;color:var(--dk-muted)}.lobbyDetails{display:grid;gap:12px}.lobbyDetails div{display:flex;justify-content:space-between;gap:18px}.lobbyDetails dt{color:var(--dk-muted)}.lobbyDetails dd{margin:0}.miniLobbyTable{position:relative;min-height:210px;border:18px solid rgba(9,12,16,.86);border-radius:50%/42%;background:radial-gradient(closest-side,#137e4be6,#09482af5),var(--dk-felt);box-shadow:inset 0 0 38px #0000006b,0 18px 34px #0000003d}.miniLobbyTable span{position:absolute;left:var(--seat-x);top:var(--seat-y);width:28px;height:28px;border-radius:50%;transform:translate(-50%,-50%);background:#ffffff17;border:1px solid rgba(255,255,255,.18)}.miniLobbyTable span.occupied{background:var(--dk-accent);box-shadow:0 0 18px #2ed6bd59}.miniLobbyTable b{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:9px 18px;border-radius:999px;background:#040f0c8c;border:1px solid rgba(46,214,189,.32)}.gameShell{min-height:calc(100dvh - 48px);padding:clamp(12px,1.6vw,22px);overflow:hidden}.gameShell>.row:first-child{min-height:56px;padding:4px 6px 12px;border-bottom:1px solid var(--dk-border)}.gameShell>.row:first-child b{font-size:18px}.tableFrame{position:relative;width:100%;margin:12px auto 0}.gameTableFrame{height:clamp(430px,55vw,690px)}.lobbyTableFrame{height:clamp(300px,34vw,480px);margin-top:18px;margin-bottom:18px}.feltTable{position:absolute;inset:0;border:clamp(18px,2.1vw,34px) solid rgba(10,13,17,.94);border-radius:50%/42%;background:radial-gradient(ellipse at center,#1d9658f0,#08492bfa 62%,#052718),linear-gradient(90deg,rgba(255,255,255,.06),transparent),var(--dk-felt);box-shadow:inset 0 0 110px #00000075,inset 0 0 0 2px #ffffff12,0 36px 90px #0000008c;overflow:visible}.lobbyFeltTable{border-width:clamp(16px,2vw,28px)}.feltTable:after{content:"";position:absolute;inset:13% 10%;border:1px solid rgba(255,255,255,.08);border-radius:50%/42%;pointer-events:none}.ovalSeats{position:absolute;inset:-3% -2%;pointer-events:none;z-index:3}.ovalSeats.compact{inset:0 -1%}.ovalSeat{position:absolute;left:var(--seat-x);top:var(--seat-y);min-width:168px;transform:translate(-50%,-50%);display:grid;justify-items:center;gap:4px;pointer-events:auto}.ovalSeats.compact .ovalSeat{min-width:132px}.ovalSeats.compact .seatCardFan{display:none}.ovalSeat.mine{top:min(var(--seat-y),88%)}.seatAvatar{position:relative;width:64px;height:64px;display:grid;place-items:center;border-radius:50%;border:3px solid rgba(169,191,198,.72);background:radial-gradient(circle at 35% 24%,rgba(255,255,255,.28),transparent 34%),linear-gradient(140deg,#2a414a,#0f1b22);color:#eef9f5;font-size:18px;font-weight:900;box-shadow:0 10px 24px #00000061}.ovalSeat.active .seatAvatar,.ovalSeat.mine .seatAvatar{border-color:var(--dk-accent);box-shadow:0 0 0 5px #2ed6bd24,0 0 28px #2ed6bd5c}.seatStatusDot{position:absolute;right:2px;bottom:4px;width:14px;height:14px;border-radius:50%;background:var(--dk-accent);border:2px solid #0b1015}.ovalSeat.offline .seatStatusDot{background:var(--dk-muted)}.seatPlate{min-width:126px;max-width:190px;padding:8px 12px;border:1px solid var(--dk-border);border-radius:13px;background:#060b0fc7;text-align:center;box-shadow:0 14px 30px #00000047}.ovalSeat.active .seatPlate{border-color:#2ed6bd80}.seatNameLine{display:flex;justify-content:center;align-items:center;gap:7px;flex-wrap:wrap}.seatName{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:800}.seatLeader,.seatPlace{color:var(--dk-accent);font-size:10px;font-weight:900}.seatMeta{display:flex;justify-content:center;gap:8px;margin-top:4px;color:var(--dk-muted);font-size:11px}.seatFaceUps{display:flex;justify-content:center;gap:4px;margin-top:6px}.seatMiniCard{min-width:24px;height:26px;display:inline-flex;justify-content:center;align-items:center;gap:2px;border-radius:5px;background:#f8fbf9;color:#111821;font-size:11px;font-weight:900}.seatMiniCard.red{color:#d3212b}.seatMiniCard.punish{color:#111821;outline:2px solid rgba(255,94,94,.55)}.seatCardFan{position:absolute;top:18px;width:92px;height:60px;transform:translateY(-26px) rotate(calc(var(--seat-angle) - 90deg));opacity:.72;z-index:-1}.seatCardFan span{position:absolute;left:calc(var(--fan-i) * 10px);top:calc(var(--fan-i) * -1px);width:38px;height:54px;border-radius:6px;border:1px solid rgba(255,255,255,.38);background:linear-gradient(135deg,rgba(255,255,255,.08) 25%,transparent 25% 50%,rgba(255,255,255,.08) 50% 75%,transparent 75%),#203039;background-size:8px 8px;box-shadow:0 4px 12px #00000057;transform:rotate(calc((var(--fan-i) - 2) * 6deg))}.seatKick{position:absolute;right:10px;top:58px;width:24px;height:24px;border:1px solid rgba(255,94,94,.45);border-radius:50%;background:#ff5e5e29;color:#ffdada;cursor:pointer}.tableCenter{position:absolute;left:50%;top:50%;width:min(520px,48%);height:min(260px,44%);transform:translate(-50%,-46%);display:grid;grid-template-columns:1fr 1fr;align-items:center;justify-items:center;gap:clamp(22px,4vw,58px);z-index:2}.turnOrbit{position:absolute;left:50%;top:50%;width:clamp(190px,22vw,340px);aspect-ratio:1;transform:translate(-50%,-50%);border:5px solid rgba(130,239,219,.24);border-radius:50%;pointer-events:none}.turnOrbit span{position:absolute;right:9%;top:15%;width:28px;height:28px;border-top:7px solid rgba(130,239,219,.6);border-right:7px solid rgba(130,239,219,.6);transform:rotate(50deg)}.turnOrbit span.counter{left:9%;right:auto;transform:rotate(-130deg)}.deckColumn,.pileColumn{position:relative;display:grid;justify-items:center;gap:8px}.tableLabel{color:#ecf8f4c7;font-size:18px;font-weight:800;text-shadow:0 2px 8px rgba(0,0,0,.4)}.deckStack,.pileStackButton{position:relative;width:clamp(76px,7.8vw,118px);height:clamp(106px,10.9vw,166px)}.deckStack{animation:deckPulse .36s ease}.deckStack span,.pileShadowCard{position:absolute;inset:0;border-radius:12px;border:1px solid rgba(255,255,255,.42);background:linear-gradient(135deg,rgba(255,255,255,.08) 25%,transparent 25% 50%,rgba(255,255,255,.08) 50% 75%,transparent 75%),#22313b;background-size:10px 10px;box-shadow:0 12px 26px #00000052}.deckStack span:nth-child(1){transform:translate(7px,7px);opacity:.55}.deckStack span:nth-child(2){transform:translate(3px,3px);opacity:.72}.deckTop{display:grid;place-items:center;color:#ffffffb8;font-weight:900;font-size:22px}@keyframes deckPulse{0%{transform:translateY(-8px);filter:brightness(1.2)}to{transform:translateY(0);filter:brightness(1)}}.stackCount{padding:9px 18px;border:1px solid rgba(46,214,189,.26);border-radius:12px;background:#05110ead;color:var(--dk-accent);font-weight:900;box-shadow:0 8px 20px #00000042}.pileStackButton{border:0;padding:0;background:transparent;cursor:pointer;color:inherit}.pileStackButton .card{position:relative;z-index:2;width:100%;height:100%;pointer-events:none}.pileShadowCard.one{transform:translate(10px,10px);opacity:.36}.pileShadowCard.two{transform:translate(5px,5px);opacity:.52}.pileStackButton.drop .card{animation:pileDrop .36s cubic-bezier(.2,.8,.2,1)}@keyframes pileDrop{0%{transform:translateY(-34px) scale(1.04) rotate(-4deg);opacity:0}to{transform:translateY(0) scale(1) rotate(0);opacity:1}}.emptyPileLabel{position:relative;z-index:2;display:grid;place-items:center;width:100%;height:100%;border:1px dashed rgba(255,255,255,.24);border-radius:13px;color:var(--dk-muted)}.pileHint{position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);width:150px;padding:12px 14px;border:1px solid var(--dk-border);border-radius:13px;background:#050a0db8;color:var(--dk-muted);font-size:13px;text-align:center}.pilePeek{position:absolute;left:calc(100% + 20px);top:48px;width:128px;max-height:190px;padding:10px;border:1px solid rgba(46,214,189,.28);border-radius:16px;background:#05110edb;opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .16s ease,transform .16s ease}.pileColumn:hover .pilePeek,.pilePeek.open{opacity:1;transform:translateY(0);pointer-events:auto}.pilePeekHeader{color:var(--dk-muted);font-size:11px;margin-bottom:8px}.pilePeekList{display:grid;gap:6px}.pilePeekCard{min-height:28px;display:grid;place-items:center;border-radius:8px;background:#ffffff14;font-weight:800;font-size:13px}.pilePeekCard.red{color:#f77}.pilePeekEmpty{color:var(--dk-muted);font-size:12px}.card{width:clamp(64px,5.5vw,92px);height:clamp(92px,7.7vw,132px);border-radius:10px;background:radial-gradient(circle at 50% 54%,rgba(0,0,0,.04),transparent 28%),#f8fbf9;color:#111821;border:1px solid rgba(0,0,0,.18);box-shadow:0 12px 24px #00000047;padding:10px;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}.card:hover{transform:translateY(-10px)}.card.selected{transform:translateY(-18px);border-color:var(--dk-accent);box-shadow:0 0 0 3px #2ed6bd40,0 20px 36px #00000061}.card.blocked{filter:grayscale(.45) brightness(.76)}.card .rank{font-size:clamp(21px,2vw,31px);line-height:.95;font-weight:950}.card .suit{margin-top:6px;font-size:clamp(20px,1.8vw,28px)}.card.red,.card .suit.red{color:#d51f2a}.card.magic{box-shadow:0 0 0 2px #2ed6bd2e,0 18px 34px #0000005c;animation:none}.card.punish{background:#f8fbf9;color:#111821;border-color:#ff5e5e6b}.card.back{width:clamp(64px,5.5vw,92px);height:clamp(92px,7.7vw,132px);border-radius:10px;background:linear-gradient(135deg,rgba(255,255,255,.08) 25%,transparent 25% 50%,rgba(255,255,255,.08) 50% 75%,transparent 75%),#22313b;background-size:10px 10px}.playPanel{position:relative;z-index:4;margin:-72px auto 0;width:min(1040px,calc(100% - 32px));padding:18px;border:1px solid var(--dk-border);border-radius:20px;background:#070b0fc7;box-shadow:0 20px 54px #0000006b;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.playPanelHeader{display:flex;justify-content:space-between;align-items:center;gap:12px}.tableHand{display:flex;justify-content:center;align-items:flex-end;min-height:clamp(128px,12vw,180px);margin-top:12px;padding:8px 30px 0;overflow-x:auto}.tableHand .card{flex:0 0 auto;margin-left:-16px}.tableHand .card:nth-child(1){rotate:-8deg}.tableHand .card:nth-child(2){rotate:-6deg}.tableHand .card:nth-child(3){rotate:-4deg}.tableHand .card:nth-child(4){rotate:-2deg}.tableHand .card:nth-child(5){rotate:0deg}.tableHand .card:nth-child(6){rotate:2deg}.tableHand .card:nth-child(7){rotate:4deg}.tableHand .card:nth-child(8){rotate:6deg}.tableHand .card:nth-child(9){rotate:8deg}.tableHand .card:nth-child(n+10){rotate:10deg}.playActions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:14px}.playActions .btn{min-width:138px}.turnClock{position:absolute;left:clamp(26px,4vw,64px);bottom:clamp(22px,3vw,42px);z-index:5;min-width:170px;border:1px solid var(--dk-border);border-radius:18px;background:#070b0fbd;box-shadow:0 14px 36px #00000057}.turnClock.mine{border-color:#2ed6bd6b}.swapCenterNotice{position:absolute;left:50%;top:50%;display:grid;gap:8px;transform:translate(-50%,-50%);padding:18px 24px;border:1px solid rgba(46,214,189,.28);border-radius:16px;background:#05110eb8;text-align:center;z-index:2}.swapCenterNotice span{color:var(--dk-muted)}.lobbyCenterNotice{position:absolute;left:50%;top:50%;display:grid;gap:4px;transform:translate(-50%,-50%);min-width:170px;padding:18px 24px;border:1px solid rgba(46,214,189,.3);border-radius:16px;background:#05110ebd;text-align:center;z-index:2}.lobbyCenterNotice b{color:var(--dk-accent);font-size:34px}.lobbyCenterNotice span{color:var(--dk-muted)}.panel:has(.playerRow){width:min(100%,1180px);margin-inline:auto}.playerRow{border-bottom:1px solid var(--dk-border)}.playerRow:last-child{border-bottom:0}.rulesFab,.chatFab,.emojiBar{border-color:var(--dk-border);background:#070b0fb8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.emojiBar{position:fixed}@media(max-width:1180px){.menuShell{grid-template-columns:1fr}.menuHeroPanel,.lobbyBrowserPanel{min-height:auto}}@media(max-width:900px){.container{padding:10px}.gameShell{min-height:100dvh;padding:8px}.gameTableFrame{height:min(70dvh,560px)}.ovalSeat{min-width:116px}.seatAvatar{width:48px;height:48px;font-size:14px}.seatPlate{min-width:92px;padding:6px 8px}.seatMeta,.seatLeader,.seatPlace,.pileHint{display:none}.tableCenter{width:58%;gap:18px}.playPanel{width:calc(100% - 10px);margin-top:-34px;padding:12px}.playPanelHeader{display:none}.tableHand{min-height:104px;justify-content:flex-start}.playActions .btn{min-width:106px;min-height:42px}}@media(max-width:820px)and (orientation:portrait){.gameShell:after{content:"Rotate phone";position:fixed;inset:0;z-index:20000;display:grid;place-items:center;background:radial-gradient(500px 300px at 50% 40%,rgba(46,214,189,.16),transparent),#05080bf0;color:var(--dk-text);font-size:28px;font-weight:900}}@media(max-width:720px){.lobbyTableHead{display:none}.lobbyRow{grid-template-columns:1fr auto}.lobbyRow>span:nth-child(2),.lobbyRow>span:nth-child(3){display:none}.selectedLobbyPanel,.menuStats{grid-template-columns:1fr}.menuStats span{border-right:0;border-bottom:1px solid var(--dk-border)}}.container:has(.gameShell){height:100dvh;min-height:0;overflow:hidden;padding:clamp(8px,1.2vw,18px)}.gameShell{position:relative;display:block;height:calc(100dvh - clamp(16px,2.4vw,36px));min-height:620px;padding:clamp(10px,1.2vw,18px);overflow:hidden}.gameShell>.row:first-child{min-height:48px;padding:0 6px 10px}.gameTableFrame{position:absolute;left:clamp(12px,1.4vw,24px);right:clamp(12px,1.4vw,24px);top:72px;bottom:86px;height:auto;margin:0}.gameShell .feltTable{border-width:clamp(16px,1.9vw,30px)}.gameShell .ovalSeats{inset:-3% 4%}.gameShell .ovalSeat.mine{top:min(var(--seat-y),86%);z-index:7}.tableCenter{width:min(620px,46vw);height:min(330px,42vh);display:block;transform:translate(-50%,-50%)}.tableCenter .turnOrbit{left:52%;width:clamp(190px,17vw,310px);opacity:.95}.tableCenter .deckColumn{position:absolute;left:16%;top:50%;transform:translate(-50%,-50%) scale(.9);transform-origin:center}.tableCenter .pileColumn{position:absolute;left:52%;top:50%;transform:translate(-50%,-50%);z-index:2}.tableCenter .pileHint{left:74%;top:50%;width:160px;transform:translateY(-50%)}.tableCenter .pilePeek{left:50%;top:calc(100% + 12px);width:min(240px,34vw);max-height:min(190px,30vh);overflow:hidden;transform:translate(-50%,8px);z-index:12}.tableCenter .pileColumn:hover .pilePeek,.tableCenter .pilePeek.open{transform:translate(-50%)}.tableCenter .pilePeekList{max-height:132px;overflow-y:auto;padding-right:4px}.tableCenter .pilePeekList::-webkit-scrollbar,.tableHand::-webkit-scrollbar{height:7px;width:7px}.tableCenter .pilePeekList::-webkit-scrollbar-thumb,.tableHand::-webkit-scrollbar-thumb{border-radius:999px;background:#7fead659}.playPanel,.swapPanel{position:absolute;left:50%;bottom:clamp(10px,1.4vw,20px);z-index:9;width:min(1120px,78vw);margin:0;padding:0;transform:translate(-50%);border:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.playPanel>.playPanelHeader{display:none}.swapPanel .playPanelHeader{width:fit-content;margin:0 auto 6px;padding:8px 14px;border:1px solid var(--dk-border);border-radius:14px;background:#060b0fc2;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.tableHand{min-height:clamp(150px,20vh,230px);margin-top:0;padding:0 30px;align-items:flex-end;overflow-x:auto;overflow-y:visible;scrollbar-width:thin}.tableHand.handGlow{padding:0 30px;border-radius:0;box-shadow:none}.tableHand .card{width:clamp(76px,6.1vw,118px);height:clamp(110px,8.6vw,168px);margin-left:clamp(-34px,-1.8vw,-16px);transform-origin:50% 100%;box-shadow:0 16px 34px #0000005c}.tableHand .card:hover{transform:translateY(-18px)}.tableHand .card.selected{transform:translateY(-28px)}.playActions{width:fit-content;margin:-2px auto 0;padding:10px;border:1px solid var(--dk-border);border-radius:18px;background:#060a0ecc;box-shadow:0 18px 44px #0000006b;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.playActions .btn{min-width:clamp(122px,10vw,184px);height:52px;border-radius:13px}.autoSortToggle{gap:8px}.autoSortToggle.active{border-color:#2ed6bd80;background:linear-gradient(180deg,#1e695cd1,#0e3631e6);color:#d8fff8;box-shadow:0 0 0 2px #2ed6bd24,0 14px 32px #00000057}.autoSortState{min-width:32px;min-height:22px;display:inline-grid;place-items:center;padding:0 7px;border-radius:999px;background:#ffffff17;color:var(--dk-muted);font-size:11px;font-weight:950}.autoSortToggle.active .autoSortState{background:#7fead638;color:var(--dk-accent)}.swapWarning{width:fit-content;margin:8px auto 0;padding:7px 12px;border:1px solid rgba(255,94,94,.35);border-radius:999px;background:#ff5e5e1a;color:#ffdada;font-size:13px}.emojiBar{right:clamp(14px,1.6vw,28px);top:50%;bottom:auto;transform:translateY(-50%);flex-direction:column;z-index:11}@media(max-width:1100px){.playPanel,.swapPanel{width:min(100%,calc(100vw - 34px))}.tableCenter{width:62vw}.tableCenter .deckColumn{left:14%;transform:translate(-50%,-50%) scale(.82)}.tableCenter .pileColumn{left:54%;transform:translate(-50%,-50%) scale(.92)}.tableCenter .pileHint{display:none}}@media(max-width:900px){.container:has(.gameShell){padding:6px}.gameShell{height:calc(100dvh - 12px);min-height:430px;padding:8px}.gameShell>.row:first-child{min-height:42px;padding-bottom:6px}.gameTableFrame{inset:54px 8px 78px}.tableCenter{width:74vw;height:34vh;transform:translate(-50%,-52%)}.tableCenter .turnOrbit{width:clamp(130px,24vw,210px)}.tableCenter .deckColumn{left:15%;transform:translate(-50%,-50%) scale(.68)}.tableCenter .pileColumn{left:55%;transform:translate(-50%,-50%) scale(.74)}.tableCenter .pilePeek{width:min(220px,56vw);max-height:140px}.playPanel,.swapPanel{width:calc(100% - 16px);bottom:8px}.tableHand{min-height:104px;padding:0 10px}.tableHand .card{width:64px;height:92px;margin-left:-18px;padding:8px}.playActions{width:100%;justify-content:center;padding:6px}.playActions .btn{flex:1 1 92px;min-width:auto;height:42px;font-size:13px}.emojiBar{top:62px;right:12px;transform:none;flex-direction:row}}.gameTopBar{position:relative;z-index:20;display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:0 4px 10px;border-bottom:1px solid var(--dk-border)}.gameBrand,.gameTopControls{display:flex;align-items:center;gap:12px}.gameBrand strong{font-size:clamp(24px,2.8vw,42px);line-height:1}.topIconButton,.topPill,.directionPill{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid var(--dk-border);border-radius:14px;background:#070b0fa8;color:var(--dk-text);box-shadow:0 12px 28px #00000047;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.topIconButton{min-width:52px;padding:0 14px;cursor:pointer;font-weight:800}.topIconButton.wide{min-width:72px}.topIconButton:hover{border-color:#2ed6bd61;background:#2ed6bd14}.styleMenuWrap{position:relative;display:inline-flex}.styleMenu{position:absolute;right:0;top:calc(100% + 8px);z-index:45;width:216px;display:grid;gap:6px;padding:8px;border:1px solid var(--dk-border);border-radius:14px;background:#070b0fe6;box-shadow:0 18px 42px #00000075;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.styleOption{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 12px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--dk-text);font-weight:850;cursor:pointer}.styleOption b{color:var(--dk-accent);font-size:12px}.styleOption.selected{border-color:#2ed6bd57;background:#2ed6bd1a}.styleOption:disabled{color:var(--dk-muted);cursor:default;opacity:.72}.leaveTopButton{border-color:#ff5e5e6b;color:#ffdada}.topPill{min-width:92px;padding:0 16px;color:var(--dk-muted);font-weight:800}.topPill b,.miniBadge{color:var(--dk-text)}.phasePill{min-width:106px}.directionPill{position:absolute;left:50%;min-width:116px;padding:0 16px;transform:translate(-50%);color:var(--dk-accent);font-weight:900}.hamburgerIcon{width:24px;display:grid;gap:5px}.hamburgerIcon span{display:block;height:3px;border-radius:999px;background:currentColor}.clubMark{position:relative;width:40px;height:40px;color:var(--dk-accent)}.clubMark:before,.clubMark:after{content:"";position:absolute;background:currentColor}.clubMark:before{left:12px;top:4px;width:16px;height:16px;border-radius:50%;box-shadow:-11px 13px 0 currentColor,11px 13px 0 currentColor}.clubMark:after{left:17px;top:22px;width:7px;height:15px;border-radius:5px}.miniBadge{min-width:18px;height:18px;display:grid;place-items:center;border-radius:999px;background:#2ed6bd38;font-size:11px}.container:has(.gameShell) .chatFab,.container:has(.gameShell) .rulesFab{display:none}.card:not(.back):before{content:attr(data-suit);position:absolute;inset:0;z-index:0;display:grid;place-items:center;padding-top:12%;color:currentColor;font-size:clamp(30px,3.2vw,62px);font-weight:900;opacity:.9}.card.punish:before{content:attr(data-rank)}.card.joker:before{content:"Joker";font-size:clamp(18px,1.7vw,28px)}.card .rank,.card .suit{position:relative;z-index:1}.tableHand .card:not(.back):before{font-size:clamp(42px,4.2vw,84px)}@media(max-width:900px){.gameTopBar{min-height:42px;padding-bottom:6px}.gameBrand{gap:8px}.gameBrand strong{font-size:22px}.clubMark{width:28px;height:28px}.clubMark:before{left:9px;top:3px;width:11px;height:11px;box-shadow:-8px 9px 0 currentColor,8px 9px 0 currentColor}.clubMark:after{left:12px;top:16px;width:5px;height:10px}.topIconButton,.topPill,.directionPill{min-height:36px;border-radius:11px}.topIconButton{min-width:38px;padding:0 10px}.topIconButton.wide,.styleMenuWrap,.phasePill,.directionPill{display:none}.topPill{min-width:58px;padding:0 10px}}.container:has(.gameShell) .rulesFab{display:grid}.container:has(.gameShell) .chatFab{display:none}.reactionFabWrap{position:fixed;right:20px;bottom:164px;z-index:1250}.reactionFab{width:56px;height:56px;display:grid;place-items:center;border:1px solid var(--dk-border);border-radius:50%;background:#070b0fc7;color:var(--dk-accent);box-shadow:0 14px 34px #00000061;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);cursor:pointer;font-size:12px;font-weight:900}.reactionFab:hover,.reactionFabWrap.open .reactionFab{border-color:#2ed6bd6b;background:#2ed6bd1a}.reactionFabWrap .emojiBar{position:absolute;right:calc(100% + 10px);top:50%;bottom:auto;display:flex;flex-direction:row;gap:8px;padding:7px 9px;transform:translate(12px,-50%) scale(.96);transform-origin:right center;opacity:0;pointer-events:none;transition:opacity .15s ease,transform .15s ease}.reactionFabWrap.open .emojiBar{transform:translateY(-50%) scale(1);opacity:1;pointer-events:auto}.reactionFabWrap .emojiBtn{transform:translate(8px);opacity:0;transition:opacity .15s ease,transform .15s ease}.reactionFabWrap.open .emojiBtn{transform:translate(0);opacity:1}.reactionFabWrap.open .emojiBtn:nth-child(2){transition-delay:24ms}.reactionFabWrap.open .emojiBtn:nth-child(3){transition-delay:48ms}.reactionFabWrap.open .emojiBtn:nth-child(4){transition-delay:72ms}.reactionFabWrap.open .emojiBtn:nth-child(5){transition-delay:96ms}@media(max-width:900px){.reactionFabWrap{right:12px;bottom:120px}.reactionFab{width:46px;height:46px;font-size:11px}.reactionFabWrap .emojiBar{right:calc(100% + 8px);top:50%}}.card.magic{border-color:#ffd966b8;box-shadow:0 0 0 2px #ffd96647,0 0 22px #ffd96638,0 18px 34px #00000061}.card.magic:before,.card.magic .rank,.card.magic .suit{text-shadow:0 0 12px rgba(255,217,102,.32)}.card.pickup-ref{border-color:#56b2ffcc;box-shadow:0 0 0 2px #56b2ff47,0 0 18px #56b2ff33,0 16px 34px #0000005c}.card.pickup-ref .rank,.card.pickup-ref .suit{text-shadow:0 0 10px rgba(86,178,255,.22)}.card.punish{background:radial-gradient(circle at 68% 34%,rgba(255,96,96,.24),transparent 34%),linear-gradient(160deg,#4d0710,#1c070a 74%);color:#ffdfe1;border-color:#ff5862c7;box-shadow:0 0 0 2px #ff586247,0 0 24px #ff58623d,0 18px 34px #0000006b}.card.punish:before{color:#ff5f6959;text-shadow:0 0 18px rgba(255,80,92,.3)}.card.punish .rank{color:#ffb3b9}.pilePeekCard.magic{outline:1px solid rgba(255,217,102,.56);color:#ffe9a0;background:#ffd9661a}.pilePeekCard.pickup-ref{outline:1px solid rgba(86,178,255,.72);color:#a9dcff;background:#56b2ff1f}.pilePeekCard.punish{outline:1px solid rgba(255,88,98,.74);color:#ffb7bd;background:#ff586224}@media(max-width:980px)and (orientation:landscape){body{overflow:hidden}.container:has(.gameShell){width:100vw;height:100dvh;padding:0}.gameShell{height:100dvh;min-height:0;border-radius:0;padding:7px 10px}.gameTopBar{min-height:44px;padding:0 2px 6px}.gameTopControls{gap:6px}.gameTableFrame{inset:50px 42px 74px}.gameShell .feltTable{border-width:13px;border-radius:50%/40%}.gameShell .ovalSeats{inset:-3% 6%}.ovalSeat{min-width:92px}.seatAvatar{width:42px;height:42px;font-size:13px;border-width:2px}.seatPlate{min-width:84px;max-width:118px;padding:5px 7px;border-radius:10px}.seatName{max-width:82px;font-size:12px}.seatFaceUps,.seatMeta span,.seatLeader,.seatPlace{display:none}.seatCardFan{transform:translateY(-20px) scale(.72) rotate(calc(var(--seat-angle) - 90deg))}.tableCenter{width:56vw;height:42vh;transform:translate(-50%,-50%)}.tableCenter .turnOrbit{width:clamp(150px,22vw,230px)}.tableCenter .deckColumn{left:22%;transform:translate(-50%,-50%) scale(.66)}.tableCenter .pileColumn{left:55%;transform:translate(-50%,-50%) scale(.7)}.tableCenter .pilePeek{left:calc(100% + 42px);top:38px;width:86px;max-height:140px;transform:translateY(8px)}.tableCenter .pileColumn:hover .pilePeek,.tableCenter .pilePeek.open{transform:translate(0)}.playPanel,.swapPanel{left:50%;bottom:6px;width:min(90vw,760px)}.tableHand{justify-content:center;min-height:102px;padding:0 8px}.tableHand.handGlow{padding:0 8px}.tableHand .card{width:clamp(54px,7.3vw,74px);height:clamp(78px,10.1vw,108px);margin-left:clamp(-22px,-2.7vw,-14px);padding:7px;border-radius:8px}.tableHand .card:not(.back):before{font-size:clamp(34px,5.4vw,52px)}.playActions{gap:7px;margin-top:-4px;padding:7px;border-radius:14px}.playActions .btn{flex:0 1 124px;height:42px;font-size:13px}.turnClock{left:12px;bottom:10px;min-width:130px;transform:scale(.84);transform-origin:bottom left}.reactionFabWrap{right:10px;bottom:104px}.rulesFab{right:10px;bottom:52px;width:46px;height:46px}}.container:has(.gameShell){display:grid;place-items:center}.gameShell{width:min(100%,1720px)}.gameTableFrame,.gameSeatFrame{left:50%;right:auto;width:min(calc(100% - 48px),1480px);transform:translate(-50%)}.gameTableFrame{z-index:2}.gameSeatFrame{position:absolute;top:72px;bottom:86px;height:auto;margin:0;border:0;pointer-events:none;z-index:14}.gameSeatFrame .ovalSeats{inset:-3% 4%;z-index:auto}.gameSeatFrame .ovalSeat{pointer-events:none}.gameShell .feltTable{left:50%;right:auto;width:100%;transform:translate(-50%)}.tableCenter{left:50%;top:50%;width:min(580px,42vw);transform:translate(-50%,-50%)}.tableCenter .turnOrbit,.tableCenter .pileColumn{left:50%}.tableCenter .deckColumn{left:18%}.tableCenter .pileHint{left:74%}.playPanel,.swapPanel{left:50%;transform:translate(-50%)}@media(max-width:1100px){.gameTableFrame,.gameSeatFrame{width:calc(100% - 24px)}.tableCenter{width:min(620px,64vw)}.tableCenter .deckColumn{left:18%}.tableCenter .pileColumn,.tableCenter .turnOrbit{left:50%}}@media(max-width:900px){.gameSeatFrame{top:54px;bottom:78px}}@media(max-width:980px)and (orientation:landscape){.gameTableFrame,.gameSeatFrame{left:50%;right:auto;width:calc(100% - 84px);transform:translate(-50%)}.tableCenter{left:50%;width:min(560px,62vw);transform:translate(-50%,-50%)}.tableCenter .deckColumn{left:24%}.tableCenter .pileColumn,.tableCenter .turnOrbit{left:52%}}.container:has(.gameShell) .chatFab{display:grid;right:20px;bottom:20px;border-color:var(--dk-border);background:#070b0fc7;box-shadow:0 14px 34px #00000061;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.container:has(.gameShell) .rulesFab{right:20px;bottom:92px;border-color:var(--dk-border);background:#070b0fc7;box-shadow:0 14px 34px #00000061;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.reactionFabWrap{bottom:164px}.tableHand,.tableHand.handGlow{overflow:visible;scrollbar-width:none}.tableHand::-webkit-scrollbar{display:none}.playPanel,.swapPanel{overflow:visible;z-index:12}.tableCenter .pileColumn .pilePeek{left:calc(100% + 18px);top:50%;width:min(220px,28vw);max-height:min(210px,34vh);transform:translate(10px,-50%) scale(.98)}.tableCenter .pileColumn:hover .pilePeek,.tableCenter .pileColumn .pilePeek.open{transform:translateY(-50%) scale(1)}.tableCenter .pileColumn:hover~.pileHint,.tableCenter:has(.pilePeek.open) .pileHint{opacity:0;pointer-events:none}.gameShell .ovalSeats{z-index:14}.gameShell .ovalSeat.mine{z-index:18}.gameShell .ovalSeat.mine .seatAvatar,.gameShell .ovalSeat.mine .seatPlate{position:relative;z-index:2}.gameShell .ovalSeat.mine .seatCardFan{z-index:0}@media(max-width:980px)and (orientation:landscape){.gameTableFrame,.gameSeatFrame{left:calc(50% - 14px);width:calc(100% - 104px)}.gameSeatFrame{top:62px;bottom:66px}.tableCenter{left:calc(50% - 4px)}.tableCenter .pileColumn .pilePeek{left:calc(100% + 10px);top:50%;width:78px;max-height:132px;transform:translate(8px,-50%) scale(.98)}.tableCenter .pileColumn:hover .pilePeek,.tableCenter .pileColumn .pilePeek.open{transform:translateY(-50%) scale(1)}.container:has(.gameShell) .chatFab{right:10px;bottom:8px;width:46px;height:46px}.container:has(.gameShell) .rulesFab{right:10px;bottom:60px}.reactionFabWrap{right:10px;bottom:112px}}.fullscreenTopButton{display:none}.tableHand .card{margin-left:var(--hand-overlap, clamp(-34px, -1.8vw, -16px));rotate:0deg!important;transform:translateY(var(--hand-rise, 0px)) rotate(var(--hand-rotation, 0deg));will-change:transform}.tableHand .card:first-child{margin-left:0}.tableHand .card:hover{transform:translateY(calc(var(--hand-rise, 0px) - 18px)) rotate(var(--hand-rotation, 0deg));z-index:120!important}.tableHand .card.selected{transform:translateY(calc(var(--hand-rise, 0px) - 28px)) rotate(var(--hand-rotation, 0deg));z-index:130!important}.faceUpControl{position:relative;display:inline-flex}.playActions{position:relative;z-index:170}.tableHand{position:relative;z-index:30}.faceUpToggle{gap:10px}.faceUpToggle span{min-width:24px;height:24px;display:inline-grid;place-items:center;border-radius:999px;background:#7fead624;color:var(--dk-accent);font-size:13px}.faceUpPopover{position:absolute;right:0;bottom:calc(100% + 14px);z-index:300;width:min(340px,78vw);padding:14px;border:1px solid rgba(127,234,214,.26);border-radius:16px;background:#060d10f0;box-shadow:0 22px 54px #0000007a;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.faceUpPopoverHeader{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px;color:var(--dk-text);font-size:13px}.faceUpPopoverHeader span,.faceUpEmpty{color:var(--dk-muted)}.faceUpPopoverCards{display:flex;justify-content:center;align-items:flex-end;gap:8px;min-height:86px}.faceUpPopover .card{width:58px;height:82px;padding:7px;pointer-events:none}.faceUpPopover .card:not(.back):before{font-size:34px}@media(max-width:900px)and (orientation:landscape){.fullscreenTopButton{display:inline-flex;min-width:92px}.tableHand .card{margin-left:max(var(--hand-overlap, -22px),-42px)}.faceUpPopover{right:auto;left:50%;width:min(300px,72vw);transform:translate(-50%)}.faceUpPopover .card{width:48px;height:68px;border-radius:8px}}.card.classicCard:not(.back):before{content:none!important}.card.classicCard{position:relative;overflow:hidden;padding:0;background:radial-gradient(circle at 36% 24%,rgba(255,255,255,.96),transparent 34%),linear-gradient(145deg,#fffefa,#f6f3ec 58%,#e3ded3);color:#12151b;border:1px solid rgba(19,22,28,.34);box-shadow:inset 0 0 0 1px #ffffffdb,0 14px 26px #00000057}.card.classicCard:after{content:"";position:absolute;inset:5px;border:1px solid rgba(20,24,28,.1);border-radius:7px;pointer-events:none;z-index:4}.card.classicCard.red{color:#bb1f26}.card.imageCard:not(.back):before{content:none!important}.card.imageCard{position:relative;overflow:hidden;padding:0;background:#fbfbf7;color:#111821;border:1px solid rgba(19,22,28,.34);box-shadow:inset 0 0 0 1px #ffffffe0,0 14px 26px #00000057}.card.imageCard:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px #ffffff85,inset 0 -18px 26px #0000000a;pointer-events:none;z-index:2}.cardImage{width:100%;height:100%;display:block;object-fit:contain;border-radius:inherit;pointer-events:none;-webkit-user-select:none;user-select:none}.card.imageCard.magic{border-color:#ffd966e6;box-shadow:0 0 0 2px #ffd96657,0 0 22px #ffd9663d,0 18px 34px #00000061}.card.imageCard.pickup-ref{border-color:#56b2ffdb;box-shadow:0 0 0 2px #56b2ff4d,0 0 18px #56b2ff33,0 16px 34px #0000005c}.cardCorner{position:absolute;z-index:5;display:grid;justify-items:center;gap:1px;line-height:.9;font-family:Georgia,Times New Roman,serif;font-weight:900;text-shadow:0 1px 0 rgba(255,255,255,.7)}.cardCorner.top{left:7%;top:6%}.cardCorner.bottom{right:7%;bottom:6%;transform:rotate(180deg)}.cornerRank{font-size:clamp(14px,1.2vw,20px);letter-spacing:0}.cornerSuit{font-size:clamp(14px,1.15vw,19px)}.card.joker .cornerRank{font-size:clamp(8px,.72vw,12px);text-transform:uppercase}.cardFace{position:absolute;inset:17% 16%;z-index:2}.pipFace{inset:15% 18%}.cardPip{position:absolute;left:50%;top:50%;font-family:Georgia,Times New Roman,serif;font-size:clamp(18px,2.05vw,34px);font-weight:900;line-height:1;transform:translate(-50%,-50%);text-shadow:0 1px 0 rgba(255,255,255,.62)}.cardPip.invert{transform:translate(-50%,-50%) rotate(180deg)}.cardPip.top-left{left:28%;top:17%}.cardPip.top-right{left:72%;top:17%}.cardPip.top-center{left:50%;top:17%}.cardPip.upper-left{left:28%;top:34%}.cardPip.upper-right{left:72%;top:34%}.cardPip.upper-center{left:50%;top:32%}.cardPip.middle-left{left:28%;top:50%}.cardPip.middle-right{left:72%;top:50%}.cardPip.center{left:50%;top:50%}.cardPip.lower-left{left:28%;top:66%}.cardPip.lower-right{left:72%;top:66%}.cardPip.lower-center{left:50%;top:68%}.cardPip.bottom-left{left:28%;top:83%}.cardPip.bottom-right{left:72%;top:83%}.cardPip.bottom-center{left:50%;top:83%}.aceFace,.jokerFace,.punishFace,.courtFace{display:grid;place-items:center}.aceSuit{font-family:Georgia,Times New Roman,serif;font-size:clamp(40px,4.9vw,82px);line-height:.9;filter:drop-shadow(0 2px 0 rgba(255,255,255,.72))}.aceFlourish{position:absolute;bottom:10%;font-family:Georgia,Times New Roman,serif;font-size:clamp(10px,1vw,16px);font-weight:900;opacity:.35}.courtFace{inset:18% 17%;grid-template-rows:10px 1fr 10px}.courtPortrait{position:relative;width:86%;height:100%;display:grid;place-items:center;border:1px solid rgba(28,35,50,.34);border-radius:8px;background:linear-gradient(160deg,rgba(211,172,69,.92),rgba(211,172,69,.16) 30%,transparent 31%),linear-gradient(25deg,rgba(42,75,151,.84),rgba(42,75,151,.08) 42%,transparent 43%),linear-gradient(90deg,#b9242bc7,#f7eed5eb 48%,#161c26b8);box-shadow:inset 0 0 0 2px #ffffff6b,inset 0 -18px #0000001a}.courtPortrait:before,.courtPortrait:after{content:"";position:absolute;left:18%;right:18%;height:28%;border-radius:999px 999px 8px 8px;background:radial-gradient(circle at 50% 34%,rgba(255,229,178,.95) 0 18%,transparent 19%),linear-gradient(135deg,#fffae8eb,#d3ac45c7);border:1px solid rgba(87,54,20,.22)}.courtPortrait:before{top:12%}.courtPortrait:after{bottom:12%;transform:rotate(180deg)}.courtCrown{position:absolute;top:8%;width:44%;height:11%;background:linear-gradient(135deg,transparent 20%,rgba(255,222,91,.95) 21% 34%,transparent 35%),linear-gradient(45deg,transparent 54%,rgba(255,222,91,.95) 55% 70%,transparent 71%),linear-gradient(to top,#bc8024f2,#ffe86ff5);clip-path:polygon(0 100%,12% 28%,28% 100%,50% 0,72% 100%,88% 28%,100% 100%);z-index:2}.courtRank{position:relative;z-index:3;font-family:Georgia,Times New Roman,serif;font-size:clamp(30px,3.1vw,54px);line-height:1;color:#fffff5f5;text-shadow:0 2px 0 rgba(0,0,0,.42),0 0 12px rgba(0,0,0,.22)}.courtSuit{position:absolute;z-index:3;bottom:15%;font-family:Georgia,Times New Roman,serif;font-size:clamp(16px,1.6vw,28px);color:currentColor;filter:drop-shadow(0 1px 0 rgba(255,255,255,.48))}.courtFiligree{width:72%;height:2px;border-radius:999px;background:currentColor;opacity:.35}.courtFiligree.bottom{transform:rotate(180deg)}.jokerFace{gap:4px;font-family:Georgia,Times New Roman,serif;color:#151a22}.jokerWord{writing-mode:vertical-rl;text-orientation:mixed;text-transform:uppercase;font-size:clamp(16px,1.45vw,24px);font-weight:950;letter-spacing:.05em}.jokerStar{position:absolute;font-size:clamp(40px,4.4vw,70px);color:#d3ac45b3;z-index:-1}.card.classicCard.punish{background:radial-gradient(circle at 50% 38%,rgba(255,255,255,.1),transparent 34%),linear-gradient(145deg,#3c0710,#130406 74%)}.punishFace{gap:4px}.punishSkull{font-size:clamp(34px,4.1vw,70px);line-height:.9;color:#ffb3b9;text-shadow:0 0 18px rgba(255,80,92,.42)}.punishLabel{color:#ffdfe1d1;font-size:clamp(9px,.72vw,12px);font-weight:900;letter-spacing:0;text-transform:uppercase}.card.magic .cardCorner,.card.magic .cardPip,.card.magic .aceSuit,.card.magic .courtSuit{text-shadow:0 0 12px rgba(255,217,102,.34)}.card.pickup-ref .cardCorner,.card.pickup-ref .cardPip,.card.pickup-ref .aceSuit,.card.pickup-ref .courtSuit{text-shadow:0 0 10px rgba(86,178,255,.24)}.pileStackButton .card.classicCard .cardCorner{transform:scale(.9);transform-origin:top left}.pileStackButton .card.classicCard .cardCorner.bottom{transform:rotate(180deg) scale(.9);transform-origin:center}@media(max-width:900px)and (orientation:landscape){.cardPip{font-size:20px}.cornerRank{font-size:13px}.cornerSuit{font-size:12px}}.container:has(.gameShell){height:var(--dk-visual-vh);min-height:0;margin:0 auto}.gameShell{height:calc(var(--dk-visual-vh) - clamp(16px,2.4vw,36px))}.container.gameFocusMode{position:fixed;inset:0;z-index:9999;width:100vw;max-width:none;height:var(--dk-visual-vh);min-height:0;padding:0;overflow:hidden;background:#070b0f}.container.gameFocusMode .gameShell{width:100vw;height:var(--dk-visual-vh);min-height:0;border:0;border-radius:0;padding:max(7px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(7px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}.modal .panel{max-height:min(92dvh,calc(var(--dk-visual-vh) - 24px));overflow:auto;-webkit-overflow-scrolling:touch}.seatAvatar{--timer-color: var(--dk-accent);isolation:isolate}.seatAvatar.timer-warn{--timer-color: var(--dk-warning)}.seatAvatar.timer-danger{--timer-color: var(--dk-danger)}.seatTimerRing{position:absolute;inset:-8px;z-index:0;border-radius:50%;background:conic-gradient(var(--timer-color) calc(var(--timer-progress) * 1turn),rgba(255,255,255,.09) 0);filter:drop-shadow(0 0 12px rgba(46,214,189,.4));pointer-events:none;-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 6px),#000 calc(100% - 5px));mask:radial-gradient(farthest-side,transparent calc(100% - 6px),#000 calc(100% - 5px));transition:background .22s linear}.seatTimerCount{position:absolute;left:-5px;bottom:-3px;z-index:3;min-width:24px;height:24px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:#070c10eb;color:var(--timer-color);font-size:11px;font-weight:950;box-shadow:0 8px 20px #00000052}.turnTimerBar{--timer-color: var(--dk-accent);--timer-progress: 1;width:min(100%,980px);margin:0 auto 8px;display:grid;grid-template-columns:minmax(24px,1fr) auto minmax(24px,1fr);align-items:center;gap:10px;color:var(--timer-color)}.turnTimerBar.warn{--timer-color: var(--dk-warning)}.turnTimerBar.danger{--timer-color: var(--dk-danger)}.turnTimerBar b{min-width:42px;padding:3px 8px;border:1px solid rgba(255,255,255,.13);border-radius:999px;background:#070c10c7;text-align:center;font-size:12px;line-height:1}.turnTimerFill{height:4px;border-radius:999px;background:linear-gradient(90deg,transparent,var(--timer-color));box-shadow:0 0 16px #2ed6bd5c;transform:scaleX(var(--timer-progress));transition:transform .22s linear,background .18s ease}.turnTimerFill.left{transform-origin:right center}.turnTimerFill.right{transform-origin:left center;background:linear-gradient(90deg,var(--timer-color),transparent)}.playActions{display:flex;flex-wrap:nowrap;width:min(100%,980px);gap:8px}.playActions .btn,.playActions .faceUpControl{flex:1 1 0;min-width:0}.playActions .btn{white-space:nowrap}.playActions .faceUpControl>.btn{width:100%}.useThreeAction{flex-grow:.92;color:#ffe3e6}@media(max-width:980px)and (orientation:landscape){.container:has(.gameShell){width:100vw;height:var(--dk-visual-vh);padding:0}.gameShell{height:var(--dk-visual-vh);padding:7px 10px}.fullscreenTopButton{display:inline-flex;min-width:78px}.gameTopControls .topIconButton.wide,.gameTopControls .styleMenuWrap,.gameTopControls .phasePill{display:none}.gameTableFrame,.gameSeatFrame{left:50%;width:calc(100% - 84px);transform:translate(-50%)}.gameSeatFrame{top:54px;bottom:72px}.tableCenter,.tableCenter .pileColumn,.tableCenter .turnOrbit{left:50%}.playPanel,.swapPanel{bottom:max(6px,env(safe-area-inset-bottom));width:min(calc(100vw - 118px),800px)}.turnTimerBar{margin-bottom:4px;gap:6px}.turnTimerFill{height:3px}.playActions{width:100%;gap:5px;padding:6px}.playActions .btn{height:40px;padding:0 6px;font-size:clamp(11px,1.85vw,13px)}.autoSortToggle{gap:5px}.autoSortState{min-width:24px;min-height:18px;padding:0 5px;font-size:10px}.faceUpToggle{gap:5px}.faceUpToggle span{min-width:20px;height:20px;font-size:11px}.seatTimerRing{inset:-6px}.seatTimerCount{min-width:20px;height:20px;font-size:10px}}
