:root{--bg:#0c2e2c;--surface:#123f3b;--felt:#164a43;--accent:#c9a961;--accent-rgb:201, 169, 97;--accent-dim:#8f7a4d;--danger:#a63d40;--text:#f2e8d5;--text-dim:#c9bfa9;--card-bg:#fbf7ee;--card-ink:#1c1a14;--shadow-rgb:0, 0, 0;--online:#5fc47e;--online-rgb:95, 196, 126;--felt-edge:#123f3b;--back-top:#123f3b;--back-bottom:#0c2e2c;--rim:#3e2a1a;--felt-shadow:inset 0 0 0 1px rgba(var(--accent-rgb), .3), inset 0 0 48px #00000059, 0 8px 20px rgba(var(--shadow-rgb), .35);--paper:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.35 0 0 0 0 0.28 0 0 0 0 0.16 0 0 0 0.08 0'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23p)'/%3E%3C/svg%3E");--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.16 0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23g)'/%3E%3C/svg%3E");--jade-black:var(--bg);--jade:var(--surface);--gold:var(--accent);--gold-dim:var(--accent-dim);--lacquer:var(--danger);--cream:var(--text);--cream-dim:var(--text-dim);--ink:var(--card-ink)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{touch-action:manipulation;overscroll-behavior-y:contain;min-height:100%;margin:0;padding:0}body{background:var(--jade-black) radial-gradient(ellipse at 50% 0%, var(--jade) 0%, var(--jade-black) 65%) no-repeat;color:var(--cream);min-height:100vh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);flex-direction:column;font-family:Work Sans Variable,sans-serif;display:flex}h1,h2,h3,.display{letter-spacing:.01em;font-family:Fraunces Variable,serif;font-weight:600}.screen{flex-direction:column;flex:1;justify-content:center;align-items:center;padding:24px 16px;display:flex}.panel{border:1px solid rgba(var(--accent-rgb), .35);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#123f3b8c;border-radius:6px;width:100%;max-width:420px;padding:32px 28px}.brand{text-align:center;margin-bottom:28px}.brand .display{color:var(--gold);margin:0;font-size:2.4rem}.brand .sub{color:var(--cream-dim);letter-spacing:.04em;margin-top:4px;font-size:.85rem}input[type=text],input[type=password],input[type=email]{background:rgba(var(--shadow-rgb), .25);border:1px solid rgba(var(--accent-rgb), .4);width:100%;color:var(--cream);border-radius:4px;margin-bottom:14px;padding:12px 14px;font-family:Work Sans Variable,sans-serif;font-size:1rem}input[type=text]:focus,input[type=password]:focus,input[type=email]:focus{outline:2px solid var(--gold);border-color:var(--gold)}input:-webkit-autofill{-webkit-text-fill-color:var(--cream);caret-color:var(--cream);transition:background-color 9999s ease-in-out;-webkit-box-shadow:inset 0 0 0 1000px #123f3be6}input:-webkit-autofill:hover{-webkit-text-fill-color:var(--cream);caret-color:var(--cream);transition:background-color 9999s ease-in-out;-webkit-box-shadow:inset 0 0 0 1000px #123f3be6}input:-webkit-autofill:focus{-webkit-text-fill-color:var(--cream);caret-color:var(--cream);transition:background-color 9999s ease-in-out;-webkit-box-shadow:inset 0 0 0 1000px #123f3be6}.btn{text-align:center;background:var(--gold);width:100%;color:var(--jade-black);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border:none;border-radius:4px;margin-bottom:10px;padding:12px 16px;font-family:Work Sans Variable,sans-serif;font-size:1rem;font-weight:600;transition:transform 80ms,background .15s;display:inline-block}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.secondary{color:var(--cream);border:1px solid rgba(var(--accent-rgb), .5);background:0 0}.btn.secondary:active{background:rgba(var(--accent-rgb), .18)}.btn.danger{background:var(--lacquer);color:var(--cream)}.divider{text-align:center;color:var(--cream-dim);margin:18px 0;font-size:.8rem;position:relative}.field-label{text-align:left;width:100%;color:var(--cream-dim);letter-spacing:.03em;margin-bottom:6px;font-size:.78rem}.choice-row{gap:8px;width:100%;margin-bottom:18px;display:flex}.choice-btn{border:1px solid rgba(var(--accent-rgb), .4);color:var(--cream);cursor:pointer;background:0 0;border-radius:4px;flex:1;padding:10px 6px;font-family:Work Sans Variable,sans-serif;font-size:.85rem}.choice-btn.active{border-color:var(--gold);background:rgba(var(--accent-rgb), .18);color:var(--gold)}.choice-help{text-align:left;width:100%;color:var(--cream-dim);margin-bottom:18px;font-size:.78rem}.error{color:#e8b4b0;background:#a63d4033;border:1px solid #a63d4080;border-radius:4px;margin-bottom:14px;padding:8px 12px;font-size:.85rem}.notice{color:var(--cream);background:rgba(var(--accent-rgb), .12);border:1px solid rgba(var(--accent-rgb), .45);border-radius:4px;margin-bottom:14px;padding:8px 12px;font-size:.85rem}.code-display{letter-spacing:.15em;color:var(--gold);text-align:center;border:1px dashed rgba(var(--accent-rgb), .5);cursor:pointer;border-radius:4px;margin-bottom:18px;padding:14px;font-family:Fraunces Variable,serif;font-size:2.2rem}.code-hint{text-align:center;color:var(--cream-dim);margin-top:-12px;margin-bottom:18px;font-size:.75rem}.player-list{margin:0 0 20px;padding:0;list-style:none}.player-list li{border-bottom:1px solid rgba(var(--accent-rgb), .15);align-items:center;gap:10px;padding:8px 10px;font-size:.95rem;display:flex}.player-list li .dot{background:var(--gold);border-radius:50%;width:8px;height:8px}.tag{color:var(--jade-black);background:var(--gold);border-radius:3px;margin-left:auto;padding:1px 6px;font-size:.7rem}.link-btn{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;margin:-12px -8px;padding:12px 8px;text-decoration:underline}.link-btn:hover{color:var(--gold)}.link-btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:2px}.danger-zone{border-top:1px solid #a63d4080;margin-top:22px;padding-top:14px}.captcha{justify-content:center;display:flex}.captcha iframe,.captcha-error{max-width:100%;margin:0 0 12px;display:block}.captcha-error{color:var(--lacquer);text-align:center;flex-direction:column;align-items:center;gap:8px;font-size:.85rem;display:flex}.preview-banner{z-index:50;text-align:center;color:var(--ink,#1a1a1a);background:var(--gold);padding:6px 12px;font-size:.8rem;position:sticky;top:0}.privacy p{text-align:left;margin:0 0 10px;font-size:.9rem;line-height:1.5}.privacy h2{margin-top:18px}.menu-grid{grid-template-columns:1fr 1fr;gap:8px;width:100%;margin:16px 0 6px;display:grid}.menu-grid .btn{margin:0;padding:11px 8px;font-size:.92rem}.foot-links{color:var(--cream-dim);flex-wrap:wrap;justify-content:center;align-items:center;gap:2px 10px;margin-top:14px;font-size:.85rem;display:flex}.foot-links .link-btn{white-space:nowrap;margin:0;padding:8px 4px}.pitch{text-align:center;margin:0 0 14px;font-size:.95rem;line-height:1.45}.prose p,.prose li{text-align:left;font-size:.9rem;line-height:1.5}.prose p{margin:0 0 10px}.prose ul{margin:0 0 6px;padding-left:20px}.prose li{margin-bottom:8px}.prose h2{margin-top:18px}.prose a{color:var(--gold)}.page-top{justify-content:space-between;align-items:center;min-height:32px;margin:-10px 0 10px;display:flex}.back-link{color:var(--cream-dim);align-items:center;gap:4px;font-size:.88rem;text-decoration:none;display:inline-flex}.back-link:hover{color:var(--gold)}.page-tools{gap:6px;display:flex}.icon{flex-shrink:0}.with-icon{justify-content:center;align-items:center;gap:7px;display:inline-flex}.group{margin-bottom:20px}.group>.btn:last-child,.inline-row .btn.secondary{margin-bottom:0}.inline-row{margin-bottom:10px}.segmented{border:1px solid rgba(var(--accent-rgb), .4);border-radius:4px;align-items:stretch;margin-bottom:10px;display:inline-flex;overflow:hidden}.segmented-label{letter-spacing:.06em;text-transform:uppercase;color:var(--cream-dim);align-items:center;padding:0 10px;font-size:.7rem;display:inline-flex}.seg-btn{border:none;border-left:1px solid rgba(var(--accent-rgb), .3);color:var(--cream);cursor:pointer;background:0 0;min-height:36px;padding:8px 14px;font-family:Work Sans Variable,sans-serif;font-size:.82rem}.seg-btn:active,.seg-btn.active{background:rgba(var(--accent-rgb), .18);color:var(--gold)}.bot-tag{letter-spacing:.08em;text-transform:uppercase;color:var(--cream-dim);border:1px solid rgba(var(--accent-rgb), .4);vertical-align:middle;white-space:nowrap;border-radius:3px;margin-left:6px;padding:1px 4px;font-size:.6rem}.boot{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.boot-line{max-width:34em;color:var(--cream-dim);margin:12px 0 0;font-size:.95rem;line-height:1.5}.boot-wordmark{color:var(--gold);font-family:Fraunces Variable,serif;font-size:2.4rem;font-weight:600}.brand-mark{margin:0 auto 8px;display:block}.front{width:100%;max-width:420px}.front-hero{display:none}.site-foot{margin-top:22px;font-size:.78rem}@media (min-width:900px){.front{grid-template-columns:1fr 420px;align-items:center;gap:56px;max-width:960px;display:grid}.front-hero{display:block}.front .panel .brand{display:none}.front-hero .brand-mark{margin:0 0 10px}.hero-title{color:var(--gold);font-size:4rem;line-height:1}.hero-line{color:var(--cream);max-width:30em;margin:14px 0 0;font-size:1.05rem;line-height:1.5}.hero-fan{margin-top:34px;padding-left:10px;display:flex}.hero-fan .card{width:96px;height:136px;transform:rotate(var(--tilt,0deg)) translateY(calc(var(--tilt,0deg) / 1deg * .6px));transform-origin:50% 120%;box-shadow:0 10px 22px rgba(var(--shadow-rgb), .45);margin-left:-22px;font-size:1.6rem}.hero-fan .card:first-child{margin-left:0}}.game-layout{align-items:flex-start;gap:20px;width:100%;max-width:1100px;display:flex}.table-wrap{flex:1;width:100%;min-width:0;max-width:900px}.table-felt{background:var(--grain), radial-gradient(ellipse at center, var(--felt) 0%, var(--felt-edge) 100%);border:3px solid var(--rim);box-shadow:var(--felt-shadow);border-radius:16px;flex-direction:column;justify-content:center;align-items:center;min-height:150px;margin-bottom:18px;padding:36px 20px 20px;display:flex;position:relative}.trick-cards{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.status-line{color:var(--cream-dim);text-align:center;margin-top:10px;font-size:.85rem}.turn-banner{letter-spacing:.05em;color:var(--gold);font-size:.72rem;position:absolute;top:8px;left:50%;transform:translate(-50%)}.card{background-color:var(--card-bg);background-image:linear-gradient(165deg, #ffffff80, #fff0 55%), var(--paper);width:52px;height:74px;box-shadow:inset 0 0 0 1px #ffffffa6, 0 2px 4px rgba(var(--shadow-rgb), .3);color:var(--ink);-webkit-user-select:none;user-select:none;border:1px solid #d3c7ab;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-family:Fraunces Variable,serif;font-size:1.1rem;font-weight:600;line-height:1;display:flex;position:relative}.card.red{color:var(--lacquer)}.card .idx{flex-direction:column;align-items:center;font-size:.72em;display:flex;position:absolute;top:3px;left:4px}.card .idx b{font-weight:600}.card .idx i{margin-top:1px;font-size:.85em;font-style:normal}.card .idx-b{inset:auto 4px 3px auto;transform:rotate(180deg)}.card .pip{font-size:1.55em}.card .pip.ace{font-size:1.95em}.card .court{filter:saturate(.88);background:50%/contain no-repeat;width:70%;height:66%}.card.small{width:40px;height:56px;font-size:.85rem}.card.tiny{border-radius:3px;width:26px;height:37px;font-size:.62rem}.card.tiny .idx{font-size:1em;position:static}.card.tiny .idx i{font-size:1.1em}.card.tiny .idx-b,.card.tiny .pip,.card.tiny .court{display:none}.hand-wrap{background:rgba(var(--shadow-rgb), .2);border-radius:10px;flex-direction:column;align-items:center;padding:16px;display:flex}.hand{flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:14px;padding-top:10px;display:flex;position:relative}.hand .card{cursor:pointer;transform:translate(var(--flip-x,0px), calc(var(--flip-y,0px) + var(--lift,0px)));touch-action:none;transition:transform .15s cubic-bezier(.16,1,.3,1)}.hand .card.dragging{cursor:grabbing;box-shadow:0 10px 18px rgba(var(--shadow-rgb), .5);z-index:20;transition:none}.hand .card:active{--lift:-2px}.hand .card.selected{--lift:-10px;box-shadow:0 0 0 2px var(--gold), 0 4px 8px rgba(var(--shadow-rgb), .4);transition:transform .18s cubic-bezier(.34,1.56,.64,1)}@media (max-width:420px){.hand .card{width:44px;height:63px;font-size:.95rem}.hand .card .suit{font-size:1.1rem}.hand{gap:4px}.hand-wrap{padding:12px 8px}}.trick-cards .card.is-new{animation:.4s cubic-bezier(.16,1,.3,1) backwards cardPlay}.hand .card.is-new{animation:.32s cubic-bezier(.16,1,.3,1) backwards cardDeal}.log-entry.is-new{animation:.35s cubic-bezier(.16,1,.3,1) backwards logIn}@keyframes cardPlay{0%{opacity:0;transform:translateY(14px)scale(.92)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes cardDeal{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes logIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes turnPulse{0%,to{box-shadow:0 0 0 1px var(--gold)}50%{box-shadow:0 0 0 3px var(--gold)}}.standings li:first-child{animation:1.8s ease-in-out infinite goldGlow}@keyframes goldGlow{0%,to{background:rgba(var(--shadow-rgb), .2)}50%{background:rgba(var(--accent-rgb), .18)}}.actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.actions .btn{width:auto;margin:0;padding:10px 26px}.skip-btn{width:auto;color:var(--gold);border:1px solid rgba(var(--accent-rgb), .5);cursor:pointer;background:0 0;border-radius:4px;margin:10px 0 0;padding:8px 18px;font-family:Work Sans Variable,sans-serif;font-size:.82rem}.skip-btn:active{background:rgba(var(--accent-rgb), .18)}.log-sidebar{background:rgba(var(--shadow-rgb), .25);border:1px solid rgba(var(--accent-rgb), .3);border-radius:10px;flex-shrink:0;width:230px;max-height:560px;padding:14px 16px;overflow-y:auto}.log-sidebar h3{letter-spacing:.06em;color:var(--gold);text-transform:uppercase;margin:0 0 10px;font-family:Work Sans Variable,sans-serif;font-size:.72rem;font-weight:600}.log-entry{color:var(--cream-dim);border-bottom:1px solid rgba(var(--accent-rgb), .12);padding:7px 0;font-size:.8rem;line-height:1.35}.log-entry:last-child{border-bottom:none}.log-entry.you{color:var(--cream)}.log-entry.you:before{content:"•";color:var(--gold)}details.rules{width:100%;max-width:1100px;color:var(--cream-dim);margin-top:14px;font-size:.8rem}details.rules summary{cursor:pointer;color:var(--gold);margin-bottom:6px}details.rules ul{padding-left:18px}.results-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:200;background:#0c2e2cc7;justify-content:center;align-items:center;padding:20px;animation:.2s ease-out overlayFade;display:flex;position:fixed;inset:0}@keyframes overlayFade{0%{opacity:0}to{opacity:1}}.results-card{border:1px solid rgba(var(--accent-rgb), .45);width:100%;max-width:440px;max-height:88vh;box-shadow:0 20px 50px rgba(var(--shadow-rgb), .5);background:#123f3bfa;border-radius:10px;padding:28px 26px;animation:.25s cubic-bezier(.16,1,.3,1) overlayCardIn;overflow-y:auto}@keyframes overlayCardIn{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.review-panel{text-align:left;max-width:560px;margin:18px auto 0}.review-summary{text-align:center;color:var(--cream-dim);margin-bottom:10px;font-size:.85rem}.review-toggle{margin-bottom:0}.review-rows{margin-top:14px}.review-summary b{color:var(--gold)}.review-row{background:rgba(var(--shadow-rgb), .2);border-radius:6px;justify-content:space-between;align-items:center;gap:14px;margin-bottom:6px;padding:10px 12px;display:flex}.review-row.mismatch{border:1px solid #a63d4066}.review-row.match{border:1px solid rgba(var(--accent-rgb), .25)}.review-col{flex:1;min-width:0}.review-label{color:var(--cream-dim);text-transform:uppercase;letter-spacing:.05em;margin-bottom:5px;font-size:.66rem}.review-cards{flex-wrap:wrap;align-items:center;gap:3px;min-height:37px;display:flex}.review-pass{color:var(--cream-dim);font-size:.8rem;font-style:italic}.review-verdict{flex-shrink:0;font-size:1rem}.standings{counter-reset:place;margin:0 0 20px;padding:0;list-style:none}.standings li{counter-increment:place;background:rgba(var(--shadow-rgb), .2);border-radius:4px;align-items:center;gap:10px;margin-bottom:6px;padding:10px 12px;display:flex}.standings li:before{content:counter(place);color:var(--gold);width:20px;font-family:Fraunces Variable,serif;font-size:1.1rem;font-weight:700}.top-bar{width:100%;max-width:900px;color:var(--cream-dim);justify-content:space-between;align-items:center;margin-bottom:6px;font-size:.78rem;display:flex}@media (max-width:520px){.card{width:42px;height:60px;font-size:.9rem}.card .suit{font-size:1.05rem}.btn,.choice-btn,.skip-btn{min-height:44px}.hand .card{margin-bottom:6px}}@media (max-width:820px){.game-layout{flex-direction:column}.log-sidebar{width:100%;max-height:160px}}@media (prefers-reduced-motion:reduce){.trick-cards .card.is-new,.hand .card.is-new,.log-entry.is-new,.opp.turn,.standings li:first-child,.results-overlay,.results-card,.reaction-float.is-new,.toast.is-new,.results-card.match-card.is-new,.confetti i{animation:none!important}.confetti{display:none}}@media (hover:hover) and (pointer:fine){.btn:hover{background:#ddc07d}.btn.secondary:hover{background:rgba(var(--accent-rgb), .12)}.hand .card:hover{transform:translateY(-4px)}.skip-btn:hover{background:rgba(var(--accent-rgb), .12)}.choice-btn:hover{border-color:rgba(var(--accent-rgb), .7)}}.log-sidebar,details.rules,.standings{-webkit-overflow-scrolling:touch}.card{position:relative}.card .cb-tag{display:none}.cb-mode .card .cb-tag{letter-spacing:0;font-family:Work Sans Variable,sans-serif;font-size:.56rem;font-weight:700;line-height:1;display:block;position:absolute;top:3px;right:4px}.cb-mode .card.small .cb-tag{font-size:.5rem;top:2px;right:3px}.cb-mode .card.tiny .cb-tag{display:none}.cb-mode .card.suit-S{color:var(--ink);border:2px solid var(--ink)}.cb-mode .card.suit-C{color:#1f6f3f;background-image:radial-gradient(#1f6f3f2e 1px,#0000 1.6px);background-size:6px 6px;border:2px dashed #1f6f3f}.cb-mode .card.suit-D{color:#1f5fa8;background-image:repeating-linear-gradient(45deg,#1f5fa81f 0 3px,#0000 3px 7px);border:2px dotted #1f5fa8}.cb-mode .card.suit-H{color:var(--lacquer);border:3px double var(--lacquer);background-image:repeating-linear-gradient(0deg,#a63d401a 0 2px,#0000 2px 6px)}.presence-dot{box-sizing:border-box;border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.presence-dot.active{background:var(--online);box-shadow:0 0 0 2px rgba(var(--online-rgb), .22)}.presence-dot.idle{background:#e0b34a}.presence-dot.offline{background:0 0;border:1.5px solid #9aa39f}.opp .name .presence-dot{vertical-align:1px;margin-right:6px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hand .card:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.top-tools{align-items:center;gap:6px;display:flex}.icon-btn{border:1px solid rgba(var(--accent-rgb), .35);color:var(--cream);cursor:pointer;background:0 0;border-radius:4px;justify-content:center;align-items:center;min-width:40px;min-height:40px;padding:3px 8px;font-family:Work Sans Variable,sans-serif;font-size:.85rem;line-height:1.2;display:inline-flex}.icon-btn.active{border-color:var(--gold);background:rgba(var(--accent-rgb), .18)}.turn-timer{font-variant-numeric:tabular-nums;color:var(--cream);margin-left:8px}.turn-timer.urgent{color:#f0a8a2;font-weight:700}.hand .card.hint{outline-offset:3px;outline:2px dashed #8fc8ffe6}.hint-bar{color:var(--cream-dim);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:10px;font-size:.78rem;display:flex}.hint-bar .hint-cards{gap:3px;display:flex}.hint-bar .hint-close{cursor:pointer;color:var(--cream-dim);padding:0 4px;font-size:.9rem}.icon-btn .icon{width:20px;height:20px}.icon-btn.plain{min-width:32px;min-height:32px;color:var(--cream-dim);border:none}.icon-btn.plain:hover{color:var(--lacquer)}.hint-close{background:0 0;border:none;align-items:center;display:inline-flex}.hint-bar .with-icon{gap:4px}.coach{background:var(--surface);border:1px solid rgba(var(--accent-rgb), .45);max-width:520px;box-shadow:0 6px 18px rgba(var(--shadow-rgb), .3);text-align:left;border-radius:12px;margin:12px auto 0;padding:12px 14px}.coach-head{letter-spacing:.08em;text-transform:uppercase;color:var(--gold);gap:6px;font-size:.72rem}.coach-text{color:var(--cream);margin:6px 0 10px;font-size:.92rem;line-height:1.45}.coach-actions{flex-wrap:wrap;gap:8px;display:flex}.seat-head{justify-content:center;align-items:center;gap:2px;max-width:100%;display:flex}.player-menu{flex-shrink:0;align-items:center;display:inline-flex;position:relative}.seat-more{min-width:28px;min-height:28px;padding:2px}.seat-more[aria-expanded=true]{color:var(--gold)}.muted-mark{color:var(--cream-dim);flex-shrink:0;align-items:center;display:inline-flex}.seat-menu{z-index:40;background:var(--surface);border:1px solid rgba(var(--accent-rgb), .45);min-width:132px;box-shadow:0 10px 24px rgba(var(--shadow-rgb), .45);border-radius:6px;flex-direction:column;padding:4px;display:flex;position:absolute;top:100%;right:0}.seat-left .seat-menu{left:0;right:auto}.seat-top .seat-menu{left:50%;right:auto;transform:translate(-50%)}.seat-menu-item{width:100%;min-height:36px;color:var(--cream);text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:8px;padding:8px 10px;font-family:Work Sans Variable,sans-serif;font-size:.82rem;display:flex}.seat-menu-item:hover,.seat-menu-item:focus-visible{background:rgba(var(--accent-rgb), .18);color:var(--gold);outline:none}.report-dialog{max-width:400px}.report-title{text-align:center;margin:0 0 18px;font-size:1.5rem}.report-reasons{gap:6px;margin-bottom:14px;display:grid}.report-reasons .choice-btn{text-align:left;padding:10px 12px}.report-note{background:rgba(var(--shadow-rgb), .25);border:1px solid rgba(var(--accent-rgb), .4);width:100%;color:var(--cream);resize:vertical;border-radius:4px;margin-bottom:12px;padding:10px 12px;font-family:Work Sans Variable,sans-serif;font-size:.95rem;display:block}.report-note:focus{outline:2px solid var(--gold);border-color:var(--gold)}.report-actions{justify-content:flex-end}.report-thanks{text-align:center;margin:4px 0 18px;font-size:.95rem}#fx-layer{pointer-events:none;z-index:300;position:fixed;inset:0}.reaction-bar{flex-wrap:wrap;justify-content:center;gap:6px;margin:-6px 0 14px;display:flex}@media (max-width:520px){.reaction-bar{margin:-2px 0 8px}}.reaction-btn{background:rgba(var(--shadow-rgb), .2);border:1px solid rgba(var(--accent-rgb), .3);cursor:pointer;border-radius:20px;justify-content:center;align-items:center;min-width:40px;min-height:40px;padding:3px 9px;font-size:1.05rem;line-height:1.3;display:inline-flex}.reaction-btn:active{transform:scale(.92)}.reaction-float{text-align:center;opacity:0;position:fixed;transform:translate(-50%)}.reaction-float.is-new{animation:2.4s cubic-bezier(.16,1,.3,1) forwards reactionFloat}.reaction-emoji{filter:drop-shadow(0 3px 6px rgba(var(--shadow-rgb), .45));font-size:2.3rem;line-height:1}.reaction-name{color:var(--cream);background:rgba(var(--shadow-rgb), .5);border-radius:8px;margin-top:3px;padding:1px 7px;font-size:.68rem;display:inline-block}@keyframes reactionFloat{0%{opacity:0;transform:translate(-50%,12px)scale(.6)}15%{opacity:1;transform:translate(-50%)scale(1.12)}75%{opacity:1}to{opacity:0;transform:translate(-50%,-90px)scale(1)}}.toast-stack{z-index:310;pointer-events:none;flex-direction:column;align-items:center;gap:8px;width:max-content;max-width:calc(100vw - 32px);display:flex;position:fixed;top:14px;left:50%;transform:translate(-50%)}.toast{border:1px solid var(--gold);color:var(--cream);box-shadow:0 10px 24px rgba(var(--shadow-rgb), .45);background:#123f3bf7;border-radius:8px;align-items:center;gap:10px;padding:10px 16px;font-size:.88rem;display:flex}.toast.is-new{animation:4.2s forwards toastInOut}@keyframes toastInOut{0%{opacity:0;transform:translateY(-10px)}8%{opacity:1;transform:none}88%{opacity:1}to{opacity:0;transform:translateY(-6px)}}.toast-icon{font-size:1.5rem;line-height:1}.toast-title{letter-spacing:.07em;text-transform:uppercase;color:var(--gold);font-size:.64rem}.results-overlay.match-complete{background:#0c2e2ce6;animation:none}.results-overlay.match-complete.is-new{animation:.3s ease-out overlayFade}.results-card.match-card{text-align:center;border:2px solid var(--gold);box-shadow:0 0 0 6px rgba(var(--accent-rgb), .14), 0 24px 60px rgba(var(--shadow-rgb), .6);animation:none}.results-card.match-card.is-new{animation:.6s cubic-bezier(.34,1.56,.64,1) matchPop}@keyframes matchPop{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.match-trophy{font-size:3.4rem;line-height:1}.match-title{color:var(--gold);margin:8px 0 4px;font-size:2.1rem}.match-winner{margin-bottom:4px;font-size:1.05rem}.match-sub{color:var(--cream-dim);margin-bottom:18px;font-size:.82rem}.match-card .standings li{text-align:left}.confetti{pointer-events:none;z-index:201;position:fixed;inset:0;overflow:hidden}.confetti i{opacity:0;border-radius:2px;width:8px;height:13px;animation:2.9s linear forwards confettiFall;position:absolute;top:-14px}@keyframes confettiFall{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:.85;transform:translateY(105vh)rotate(560deg)}}.auto-win{border:1px solid rgba(var(--accent-rgb), .5);background:rgba(var(--accent-rgb), .1);color:var(--gold);text-align:left;border-radius:8px;align-items:center;gap:12px;margin:0 0 16px;padding:12px 14px;display:flex}.auto-win-title{font-family:Fraunces Variable,serif;font-size:1.25rem;font-weight:600;line-height:1.1}.auto-win-text{color:var(--cream);margin-top:3px;font-size:.82rem}.ach-grid{grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:8px;margin:6px 0 16px;display:grid}.ach{text-align:left;border:1px solid rgba(var(--accent-rgb), .35);background:rgba(var(--shadow-rgb), .2);border-radius:6px;align-items:center;gap:8px;padding:8px 10px;font-size:.78rem;display:flex}.ach.locked{opacity:.45;filter:grayscale()}.ach-icon{font-size:1.35rem;line-height:1}.ach-name{color:var(--cream);font-weight:600}.ach-desc{color:var(--cream-dim);font-size:.7rem;line-height:1.3}@media (max-width:520px){.icon-btn,.reaction-btn{min-height:36px}}.ach-icon .icon,.toast-icon .icon{width:22px;height:22px;color:var(--gold);display:block}.match-trophy{color:var(--gold);justify-content:center;display:flex}.skip-btn.with-icon{display:inline-flex}.table-grid{grid-template-columns:minmax(118px,.8fr) minmax(0,2.4fr) minmax(118px,.8fr);grid-template-areas:".top.""left felt right";place-items:center;gap:10px;width:100%;margin-bottom:14px;display:grid}.seat-top{grid-area:top}.seat-left{grid-area:left}.seat-right{grid-area:right}.seat-felt{grid-area:felt;width:100%}.seat{border:1px solid #0000;border-radius:8px;flex-direction:column;align-items:center;gap:5px;max-width:100%;padding:8px 10px;transition:border-color .25s,background .25s;display:flex}.seat.turn{border-color:var(--gold);background:rgba(var(--accent-rgb), .1);animation:1.6s ease-in-out infinite turnPulse}.seat.finished{opacity:.55}.seat-name{text-align:center;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:5px;max-width:130px;font-size:.82rem;font-weight:600;display:flex;overflow:hidden}.seat.finished .seat-name:after{content:" ✓";color:var(--gold)}.seat-count{color:var(--cream-dim);letter-spacing:.04em;font-size:.72rem}.seat-kick{margin-top:2px}.fan{justify-content:center;align-items:center;min-height:38px;display:flex}.fan .card.back{transform:rotate(calc((var(--i) - 6) * .9deg));transform-origin:bottom;margin-left:-17px;transition:margin .3s}.fan .card.back:first-child{margin-left:0}.fan-tight .card.back{margin-left:-20px}.fan-tight .card.back:first-child{margin-left:0}.card.back{border-color:rgba(var(--accent-rgb), .5);box-shadow:0 1px 3px rgba(var(--shadow-rgb), .45)}.my-count{letter-spacing:.06em;text-transform:uppercase;color:var(--cream-dim);margin-bottom:10px;font-size:.75rem}.my-count-value{color:var(--gold);margin-right:4px;font-family:Fraunces Variable,serif;font-size:1.05rem;font-weight:700}@media (max-width:820px){.table-grid{grid-template-columns:minmax(104px,.7fr) minmax(0,2fr) minmax(104px,.7fr);gap:6px}.seat-name{max-width:92px;font-size:.74rem}}@media (max-width:520px){.table-grid{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.seat{flex:1 1 0;gap:3px;min-width:0;padding:6px 4px}.seat-left{order:1}.seat-top{order:2}.seat-right{order:3}.seat-felt{flex-basis:100%;order:4}.seat-name{max-width:100%;font-size:.74rem}.fan .card.back:nth-child(n+8){display:none}.fan .card.back,.fan-tight .card.back{margin-left:-18px}.fan .card.back:first-child,.fan-tight .card.back:first-child{margin-left:0}.my-count{margin-bottom:6px}.table-felt{border-width:2px;min-height:110px;padding:32px 14px 12px}}@keyframes dealIn{0%{opacity:0;transform:translate(var(--deal-x,0), var(--deal-y,90px)) scale(.6) rotate(-8deg)}to{opacity:1;transform:none}}.card.dealing{animation:.42s cubic-bezier(.2,.9,.3,1) backwards dealIn}.seat-top .card.dealing{--deal-y:70px}.seat-left .card.dealing{--deal-x:120px;--deal-y:30px}.seat-right .card.dealing{--deal-x:-120px;--deal-y:30px}.hand .card.dealing{--deal-y:-140px}@keyframes seatPlayed{50%{transform:translateY(-4px)}}.seat.just-played{animation:.35s seatPlayed}@keyframes countPop{50%{color:var(--cream);transform:scale(1.35)}}.my-count-value.changed{animation:.4s countPop;display:inline-block}@media (prefers-reduced-motion:reduce){.card.dealing,.seat.just-played,.my-count-value.changed{animation:none}}@media (hover:hover) and (pointer:fine){.hand .card:hover{box-shadow:0 6px 14px rgba(var(--shadow-rgb), .45);z-index:5;transform:translateY(-6px)}.hand .card.selected:hover{transform:translateY(-14px)}}@keyframes feltPulse{0%{box-shadow:var(--felt-shadow)}35%{box-shadow:var(--felt-shadow), inset 0 0 26px 0 rgba(var(--accent-rgb), .22)}to{box-shadow:var(--felt-shadow)}}.seat-felt.played{animation:.55s feltPulse}@keyframes turnSwap{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.turn-banner.changed{animation:.3s turnSwap}@media (prefers-reduced-motion:reduce){.seat-felt.played,.turn-banner.changed{animation:none}@media (hover:hover) and (pointer:fine){.hand .card:hover{box-shadow:0 2px 4px rgba(var(--shadow-rgb), .3);transform:none}}}.inline-row{align-items:stretch;gap:8px;width:100%;margin-bottom:6px;display:flex}.inline-row input{flex:auto;margin-bottom:0}.inline-row .btn{white-space:nowrap;flex:none;width:auto;padding-inline:18px}.friend-section{width:100%;margin-top:22px}.friend-section:first-of-type{margin-top:14px}.friend-section-title{letter-spacing:.1em;text-transform:uppercase;color:var(--gold-dim);border-bottom:1px solid rgba(var(--accent-rgb), .18);align-items:center;gap:7px;margin-bottom:4px;padding-bottom:6px;font-size:.72rem;display:flex}.friend-section-count{color:var(--jade-black);background:var(--gold-dim);border-radius:9px;padding:0 6px;font-size:.68rem;line-height:1.5}.friend-empty{color:var(--cream-dim);padding:10px 2px 2px;font-size:.82rem}.results-list{margin-top:4px}.player-list li .dot.online{background:var(--online);box-shadow:0 0 0 2px rgba(var(--online-rgb), .22)}.friend-online-line{color:var(--online);padding:4px 2px 2px;font-size:.78rem}.online-badge{letter-spacing:.02em;text-transform:none;color:var(--online);border:1px solid rgba(var(--online-rgb), .5);vertical-align:1px;border-radius:9px;margin-left:8px;padding:0 7px;font-size:.7rem;line-height:1.5;display:inline-block}.friend-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;overflow:hidden}.friend-actions{flex-shrink:0;align-items:center;gap:6px;margin-left:auto;display:flex}.friend-actions .tag{margin-left:0}.mini-btn{letter-spacing:.04em;text-transform:uppercase;color:var(--jade-black);background:var(--gold);border:1px solid var(--gold);cursor:pointer;border-radius:4px;min-height:30px;padding:5px 10px;font-family:Work Sans Variable,sans-serif;font-size:.72rem;font-weight:600;transition:background .15s,transform .1s}.mini-btn:hover{background:var(--cream)}.mini-btn:active{transform:translateY(1px)}.mini-btn.ghost{color:var(--cream-dim);border-color:rgba(var(--accent-rgb), .35);background:0 0}.mini-btn.ghost:hover{color:var(--cream);border-color:var(--gold)}.stat-strip{gap:10px;width:100%;margin:14px 0 6px;display:flex}.stat-tile{background:rgba(var(--shadow-rgb), .22);border:1px solid rgba(var(--accent-rgb), .25);text-align:center;border-radius:8px;flex:1 1 0;padding:12px 6px}.stat-value{color:var(--gold);font-family:Fraunces Variable,serif;font-size:1.5rem;font-weight:700;line-height:1.1}.stat-label{letter-spacing:.08em;text-transform:uppercase;color:var(--cream-dim);margin-top:2px;font-size:.7rem}.keep-account{border:1px solid rgba(var(--accent-rgb), .45);background:rgba(var(--accent-rgb), .08);border-radius:10px;width:100%;margin:18px 0 6px;padding:14px}.keep-account .btn{margin-bottom:0}@media (max-width:520px){.friend-actions .tag{display:none}.stat-strip{gap:6px}.stat-value{font-size:1.25rem}.friend-actions{gap:4px}}.lb-stats{color:var(--cream-dim);flex-direction:column;gap:2px;margin-top:2px;font-size:.7rem;font-weight:400;display:flex}.lb-places{flex-wrap:wrap;gap:8px;display:flex}.lb-place b{color:var(--cream);font-weight:600}.settings-block{width:100%;margin-top:10px}.option-group{width:100%;margin-bottom:12px}.option-label{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-dim);margin-bottom:5px;font-size:.72rem}.option-choices{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:6px;display:grid}.option-choices .choice-btn{min-width:0;padding-inline:6px}.option-help{color:var(--text-dim);margin-top:4px;font-size:.7rem}.unranked-note{border:1px solid rgba(var(--accent-rgb), .28);background:rgba(var(--accent-rgb), .08);color:var(--text-dim);text-align:center;border-radius:8px;margin-top:14px;padding:10px 12px;font-size:.78rem;line-height:1.45}[data-theme=jade]{--bg:#0c2e2c;--surface:#123f3b;--felt:#164a43;--accent:#c9a961;--accent-rgb:201, 169, 97;--accent-dim:#8f7a4d;--danger:#a63d40;--text:#f2e8d5;--text-dim:#c9bfa9;--card-bg:#fbf7ee;--card-ink:#1c1a14;--shadow-rgb:0, 0, 0;--felt-edge:#123f3b;--back-top:#123f3b;--back-bottom:#0c2e2c;--rim:#3e2a1a}[data-theme=lacquer]{--bg:#1a0d0c;--surface:#2e1512;--felt:#3d1c18;--accent:#d4a256;--accent-rgb:212, 162, 86;--accent-dim:#96713a;--danger:#e06a5c;--text:#f5e6d8;--text-dim:#cbb5a4;--card-bg:#fdf6ec;--card-ink:#1f1512;--shadow-rgb:0, 0, 0;--felt-edge:#2e1512;--back-top:#2e1512;--back-bottom:#1a0d0c;--rim:#4a2418}[data-theme=midnight]{--bg:#0b1220;--surface:#141f33;--felt:#1a2942;--accent:#8fb3d9;--accent-rgb:143, 179, 217;--accent-dim:#5d7a99;--danger:#e0798a;--text:#e6ecf5;--text-dim:#a8b6c9;--card-bg:#f7f9fc;--card-ink:#16202e;--shadow-rgb:0, 0, 0;--felt-edge:#141f33;--back-top:#141f33;--back-bottom:#0b1220;--rim:#2b3650}[data-theme=lotus]{--bg:#efe7d8;--surface:#f7f1e5;--felt:#2f6b5e;--accent:#9a6b3f;--accent-rgb:154, 107, 63;--accent-dim:#b08a5f;--danger:#a63d40;--text:#2a241c;--text-dim:#6a5f4f;--card-bg:#fff;--card-ink:#1c1a14;--shadow-rgb:74, 60, 40;--felt-edge:#245248;--back-top:#2f6b5e;--back-bottom:#1d453c;--rim:#7a5536}[data-theme=lotus] .table-felt,[data-theme=lotus] .table-felt .status-line{color:#f2e8d5}[data-theme=lotus] .turn-banner{color:#f0d9a0}.card.back{background:linear-gradient(160deg, var(--back-top) 0%, var(--back-bottom) 100%);overflow:hidden}.card.back:before{content:"";background:rgba(var(--accent-rgb), .55);-webkit-mask:var(--back-pattern) center / var(--back-tile) repeat;-webkit-mask:var(--back-pattern) center / var(--back-tile) repeat;mask:var(--back-pattern) center / var(--back-tile) repeat;border-radius:3px;position:absolute;inset:4px}.card.back:after{content:"";border:1px solid rgba(var(--accent-rgb), .55);pointer-events:none;border-radius:4px;position:absolute;inset:2px}:root,[data-deck=classic]{--back-pattern:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10'%3E%3Cpath d='M5 0L10 5 5 10 0 5z' fill='none' stroke='black'/%3E%3C/svg%3E");--back-tile:10px 10px}[data-deck=bamboo]{--back-pattern:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='16'%3E%3Crect x='3' width='2' height='16' fill='black'/%3E%3Crect x='2' y='7' width='4' height='1.5' fill='black'/%3E%3C/svg%3E");--back-tile:8px 16px}[data-deck=lotus]{--back-pattern:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cg fill='black'%3E%3Cpath d='M8 1c2.2 2.2 2.2 4.8 0 7-2.2-2.2-2.2-4.8 0-7z' transform='rotate(0 8 8)'/%3E%3Cpath d='M8 1c2.2 2.2 2.2 4.8 0 7-2.2-2.2-2.2-4.8 0-7z' transform='rotate(60 8 8)'/%3E%3Cpath d='M8 1c2.2 2.2 2.2 4.8 0 7-2.2-2.2-2.2-4.8 0-7z' transform='rotate(120 8 8)'/%3E%3Cpath d='M8 1c2.2 2.2 2.2 4.8 0 7-2.2-2.2-2.2-4.8 0-7z' transform='rotate(180 8 8)'/%3E%3Cpath d='M8 1c2.2 2.2 2.2 4.8 0 7-2.2-2.2-2.2-4.8 0-7z' transform='rotate(240 8 8)'/%3E%3Cpath d='M8 1c2.2 2.2 2.2 4.8 0 7-2.2-2.2-2.2-4.8 0-7z' transform='rotate(300 8 8)'/%3E%3Ccircle cx='8' cy='8' r='1'/%3E%3C/g%3E%3C/svg%3E");--back-tile:16px 16px}[data-deck=scales]{--back-pattern:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath d='M0 6a6 6 0 0 1 12 0M-6 12a6 6 0 0 1 12 0M6 12a6 6 0 0 1 12 0' fill='none' stroke='black' stroke-width='1.2'/%3E%3C/svg%3E");--back-tile:12px 12px}[data-deck=plain] .card.back:before{display:none}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-opsz-normal-Czevyj-6.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-opsz-normal-CJcjJNj7.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-opsz-normal-DihXLNYH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Work Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/work-sans-vietnamese-wght-normal-BKsN3ITN.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Work Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/work-sans-latin-ext-wght-normal-B5dZ8C4S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Work Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/work-sans-latin-wght-normal-Bl-S9Xys.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
