:root{--font-scale:1;--font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", "Noto Sans Devanagari", sans-serif;--font-num:"Inter", ui-sans-serif, system-ui, sans-serif;--bg-0:#0a0f1e;--bg-1:#111a2e;--bg-2:#18233d;--bg-3:#213052;--surface:#ffffff0e;--surface-2:#ffffff17;--surface-3:#ffffff24;--border:#ffffff1a;--border-strong:#fff3;--text:#eef2ff;--text-dim:#aab3cf;--text-muted:#7180a3;--accent:#22d3a6;--accent-ink:#052b22;--accent-2:#7c5cff;--gold:#f6c453;--gold-ink:#3a2700;--danger:#ff5c7a;--warn:#ffb547;--success:#33d17a;--info:#4cc3ff;--felt-1:#0f6b4f;--felt-2:#0a4636;--felt-rim:#3b2a17;--table-bg:radial-gradient(120% 90% at 50% 40%, #142546 0%, #0a0f1e 70%);--plate-bg:#050a16d1;--plate-text:#eef2ff;--dock-bg:#080d1cf5;--score-text:#f6c453;--card-face:#fff;--card-red:#d6213f;--card-black:#151a26;--card-blue:#1f5fd6;--card-green:#12895a;--game-callbreak:linear-gradient(135deg, #12b886 0%, #0b7a63 100%);--game-teenpatti:linear-gradient(135deg, #ff4d79 0%, #a3125f 100%);--game-poker:linear-gradient(135deg, #f6c453 0%, #b7791f 100%);--game-marriage:linear-gradient(135deg, #8b6cff 0%, #4b2ccf 100%);--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--s-10:40px;--fs-xs:calc(12px * var(--font-scale));--fs-sm:calc(14px * var(--font-scale));--fs-md:calc(16px * var(--font-scale));--fs-lg:calc(18px * var(--font-scale));--fs-xl:calc(22px * var(--font-scale));--fs-2xl:calc(28px * var(--font-scale));--fs-3xl:calc(36px * var(--font-scale));--r-sm:8px;--r-md:12px;--r-lg:18px;--r-xl:26px;--r-full:999px;--shadow-1:0 2px 8px #00000040;--shadow-2:0 10px 30px #00000059;--shadow-glow:0 0 0 2px #22d3a673, 0 0 24px #22d3a659;--touch:48px;--header-h:60px;--nav-h:68px;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px);--ease:cubic-bezier(.2, .8, .2, 1);--dur-1:.12s;--dur-2:.22s;--dur-3:.38s;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg-0:#eef1f8;--bg-1:#fff;--bg-2:#f4f6fb;--bg-3:#e6eaf4;--surface:#0f172a0a;--surface-2:#0f172a12;--surface-3:#0f172a1c;--border:#0f172a1a;--border-strong:#0f172a38;--text:#0f172a;--text-dim:#45506b;--text-muted:#6b7591;--accent:#0ea67f;--accent-ink:#fff;--shadow-1:0 2px 8px #0f172a14;--shadow-2:0 12px 30px #0f172a24;--table-bg:radial-gradient(120% 90% at 50% 40%, #fff 0%, #dde3ef 75%);--plate-bg:#fffffff2;--plate-text:#0f172a;--dock-bg:#fffffff7;--score-text:#a16207;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-contrast=high]{--text:#fff;--text-dim:#e4e8f5;--text-muted:#c4cbe0;--border:#ffffff73;--border-strong:#fffc;--surface:#ffffff1a;--accent:#3cffcb;--danger:#ff7d95}:root[data-motion=reduced]{--dur-1:0s;--dur-2:0s;--dur-3:0s}@media (prefers-reduced-motion:reduce){:root:not([data-motion=full]){--dur-1:0s;--dur-2:0s;--dur-3:0s}}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font-sans);font-size:var(--fs-md);color:var(--text);background:radial-gradient(1200px 600px at 10% -10%, #7c5cff29, transparent 60%), radial-gradient(900px 500px at 110% 10%, #22d3a61f, transparent 55%), var(--bg-0);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;margin:0;line-height:1.45}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--accent);text-decoration:none}img,svg{display:block}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius: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}.num{font-family:var(--font-num);font-variant-numeric:tabular-nums}.dim{color:var(--text-dim)}.muted{color:var(--text-muted)}.row{align-items:center;gap:var(--s-3);display:flex}.col{gap:var(--s-3);flex-direction:column;display:flex}.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.center{place-items:center;display:grid}.spread{justify-content:space-between;align-items:center;gap:var(--s-3);display:flex}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-shell{flex-direction:column;min-height:100%;display:flex}.page{width:100%;max-width:1100px;padding:calc(var(--s-4) + var(--safe-t)) var(--s-4) calc(var(--nav-h) + var(--s-6) + var(--safe-b));flex:1;margin:0 auto}.page.no-nav{padding-bottom:calc(var(--s-6) + var(--safe-b))}.page-title{font-size:var(--fs-2xl);letter-spacing:-.02em;margin:var(--s-2) 0 var(--s-4);font-weight:800}.section-title{font-size:var(--fs-lg);margin:var(--s-6) 0 var(--s-3);justify-content:space-between;align-items:center;font-weight:700;display:flex}.topbar{align-items:center;gap:var(--s-3);margin-bottom:var(--s-4);display:flex}.bottom-nav{z-index:40;height:calc(var(--nav-h) + var(--safe-b));padding-bottom:var(--safe-b);background:color-mix(in srgb, var(--bg-1) 88%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--border);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav a{color:var(--text-muted);font-size:var(--fs-xs);min-height:var(--touch);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-weight:600;display:flex;position:relative}.bottom-nav a.active{color:var(--accent)}.bottom-nav a.active:before{content:"";background:var(--accent);border-radius:0 0 3px 3px;width:28px;height:3px;position:absolute;top:0}.bottom-nav .badge{position:absolute;top:8px;right:calc(50% - 20px)}@media (min-width:900px){.bottom-nav{width:92px;height:auto;padding-top:var(--s-6);border-top:0;border-right:1px solid var(--border);grid-template-columns:1fr;grid-auto-rows:84px;align-content:start;inset:0 auto 0 0}.bottom-nav a.active:before{border-radius:0 3px 3px 0;width:3px;height:40px;top:20px;left:0}.with-nav .page{padding-left:calc(92px + var(--s-6));padding-bottom:var(--s-8);max-width:1192px}}.btn{--btn-bg:var(--surface-2);--btn-fg:var(--text);justify-content:center;align-items:center;gap:var(--s-2);min-height:var(--touch);padding:0 var(--s-5);border-radius:var(--r-md);background:var(--btn-bg);color:var(--btn-fg);font-weight:700;font-size:var(--fs-md);letter-spacing:.01em;transition:transform var(--dur-1) var(--ease), filter var(--dur-1) var(--ease), background var(--dur-2) var(--ease);-webkit-user-select:none;user-select:none;white-space:nowrap;border:1px solid #0000;display:inline-flex}.btn:hover{filter:brightness(1.08)}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.45;cursor:not-allowed;filter:none;transform:none}.btn.primary{--btn-bg:linear-gradient(135deg, #2ee6b5, #10b981);--btn-fg:var(--accent-ink);box-shadow:0 8px 22px #10b98159}.btn.gold{--btn-bg:linear-gradient(135deg, #ffd978, #f2a93b);--btn-fg:var(--gold-ink);box-shadow:0 8px 22px #f2a93b4d}.btn.danger{--btn-bg:linear-gradient(135deg, #ff7a93, #e23a5d);--btn-fg:#fff}.btn.ghost{--btn-bg:transparent;border-color:var(--border)}.btn.block{width:100%}.btn.lg{min-height:56px;font-size:var(--fs-lg);border-radius:var(--r-lg)}.btn.sm{min-height:36px;padding:0 var(--s-3);font-size:var(--fs-sm);border-radius:var(--r-sm)}.icon-btn{width:var(--touch);height:var(--touch);border-radius:var(--r-md);background:var(--surface);border:1px solid var(--border);flex:none;place-items:center;display:inline-grid;position:relative}.icon-btn:active{transform:scale(.95)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s-4)}.card.glass{background:color-mix(in srgb, var(--bg-2) 70%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.card.pad-lg{padding:var(--s-6)}.list{border-radius:var(--r-lg);border:1px solid var(--border);flex-direction:column;display:flex;overflow:hidden}.list-item{align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);background:var(--surface);border-bottom:1px solid var(--border);min-height:60px;display:flex}.list-item:last-child{border-bottom:0}button.list-item{text-align:left;border-top:0;border-left:0;border-right:0;width:100%}.badge{border-radius:var(--r-full);background:var(--danger);color:#fff;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:800;display:inline-flex}.pill{white-space:nowrap;border-radius:var(--r-full);background:var(--surface-2);border:1px solid var(--border);font-size:var(--fs-xs);color:var(--text-dim);align-items:center;gap:6px;padding:4px 10px;font-weight:700;display:inline-flex}.pill.live:before{content:"";background:var(--success);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #33d17a40}.pill.accent{color:var(--accent);background:#22d3a624;border-color:#22d3a659}.pill.gold{color:var(--gold);background:#f6c45324;border-color:#f6c45359}.pill.danger{color:var(--danger);background:#ff5c7a24;border-color:#ff5c7a66}.coin{font-variant-numeric:tabular-nums;align-items:center;gap:6px;font-weight:800;display:inline-flex}.coin-icon{flex:none;width:20px;height:20px}.divider{background:var(--border);height:1px;margin:var(--s-4) 0}.field{flex-direction:column;gap:6px;display:flex}.field label{font-size:var(--fs-sm);color:var(--text-dim);font-weight:600}.input{min-height:var(--touch);border-radius:var(--r-md);border:1px solid var(--border-strong);background:var(--surface);padding:0 var(--s-4);transition:border-color var(--dur-2);outline:none;width:100%}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #22d3a633}.field .error{color:var(--danger);font-size:var(--fs-sm)}.field .hint{color:var(--text-muted);font-size:var(--fs-xs)}.toggle{border-radius:var(--r-full);background:var(--surface-3);border:1px solid var(--border);width:52px;height:30px;transition:background var(--dur-2);flex:none;position:relative}.toggle:after{content:"";width:22px;height:22px;transition:transform var(--dur-2) var(--ease);box-shadow:var(--shadow-1);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px}.toggle[aria-checked=true]{background:var(--accent)}.toggle[aria-checked=true]:after{transform:translate(22px)}.segmented{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);gap:4px;max-width:100%;padding:4px;display:inline-flex;overflow-x:auto}.segmented button{font-weight:700;font-size:var(--fs-sm);color:var(--text-dim);white-space:nowrap;background:0 0;border:0;border-radius:9px;min-height:38px;padding:8px 14px}.segmented button[aria-pressed=true]{background:var(--surface-3);color:var(--text)}input[type=range]{accent-color:var(--accent);width:100%;min-height:32px}.overlay{z-index:80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:var(--s-4);animation:fade-in var(--dur-2) var(--ease);background:#03060f9e;place-items:center;display:grid;position:fixed;inset:0}.modal{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--r-xl);width:min(480px,100%);max-height:min(86vh,900px);padding:var(--s-6);box-shadow:var(--shadow-2);animation:pop-in var(--dur-3) var(--ease);overflow:auto}.modal h2{margin:0 0 var(--s-3);font-size:var(--fs-xl)}.sheet-overlay{place-items:end center;padding:0}.sheet{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--r-xl) var(--r-xl) 0 0;width:min(640px,100%);max-height:88vh;padding:var(--s-3) var(--s-5) calc(var(--s-6) + var(--safe-b));animation:slide-up var(--dur-3) var(--ease);overflow:auto}.sheet .grabber{background:var(--border-strong);width:44px;height:5px;margin:0 auto var(--s-4);border-radius:3px}.toasts{top:calc(var(--s-4) + var(--safe-t));z-index:100;gap:var(--s-2);pointer-events:none;flex-direction:column;width:min(440px,100% - 32px);display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast{pointer-events:auto;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-radius:var(--r-md);background:var(--bg-2);border:1px solid var(--border);box-shadow:var(--shadow-2);animation:drop-in var(--dur-3) var(--ease);align-items:center;font-weight:600;display:flex}.toast.success{border-color:#33d17a80}.toast.error{border-color:#ff5c7a8c}.toast .dot{background:var(--info);border-radius:50%;flex:none;width:10px;height:10px}.toast.success .dot{background:var(--success)}.toast.error .dot{background:var(--danger)}.banner{z-index:90;padding:calc(8px + var(--safe-t)) var(--s-4) 8px;text-align:center;font-weight:700;font-size:var(--fs-sm);background:var(--warn);color:#2a1700;justify-content:center;align-items:center;gap:var(--s-2);display:flex;position:fixed;top:0;left:0;right:0}.banner.offline{background:var(--danger);color:#fff}.state{text-align:center;align-items:center;gap:var(--s-3);padding:var(--s-8) var(--s-4);color:var(--text-dim);flex-direction:column;display:flex}.state .emoji{font-size:44px}.state h3{color:var(--text);margin:0}.skeleton{background:linear-gradient(90deg, var(--surface) 0%, var(--surface-3) 50%, var(--surface) 100%);border-radius:var(--r-md);background-size:200% 100%;animation:1.2s linear infinite shimmer}.spinner{border:3px solid var(--surface-3);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}.progress{border-radius:var(--r-full);background:var(--surface-2);height:8px;overflow:hidden}.progress>span{border-radius:inherit;background:linear-gradient(90deg, var(--accent), #52f5c8);height:100%;transition:width var(--dur-3) var(--ease);display:block}.avatar{--size:44px;width:var(--size);height:var(--size);font-weight:800;font-size:calc(var(--size) * .42);color:#fff;box-shadow:var(--shadow-1);-webkit-user-select:none;user-select:none;border:2px solid #ffffffd9;border-radius:50%;flex:none;place-items:center;display:grid;position:relative}.avatar .status{border:2px solid var(--bg-1);background:var(--text-muted);border-radius:50%;width:30%;height:30%;position:absolute;bottom:-2px;right:-2px}.avatar .status.online{background:var(--success)}.avatar .status.in_game{background:var(--warn)}.hero{align-items:center;gap:var(--s-2);margin-bottom:var(--s-4);display:flex}.hero>.col{flex:auto;min-width:0}.hero>.col .row{flex-wrap:nowrap;min-width:0}.hero .icon-btn{flex:none;width:40px;height:40px}.hero .wallet-chip{flex:none}.hero .name{font-weight:800;font-size:var(--fs-lg)}.xp-bar{flex:0 120px;width:120px;min-width:36px}.wallet-chip{align-items:center;gap:var(--s-2);border-radius:var(--r-full);background:var(--surface-2);border:1px solid var(--border);margin-left:auto;padding:6px 6px 6px 12px;display:flex}.wallet-chip .plus{background:var(--gold);width:32px;height:32px;color:var(--gold-ink);border:0;border-radius:50%;place-items:center;font-size:20px;font-weight:900;display:grid}.quick-row{gap:var(--s-3);grid-template-columns:repeat(4,1fr);display:grid}.quick-tile{border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--border);min-height:84px;font-size:var(--fs-xs);color:var(--text-dim);padding:var(--s-2);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;font-weight:700;display:flex;position:relative}.quick-tile .ico{font-size:26px;line-height:1}.quick-tile .badge{position:absolute;top:8px;right:8px}.games-grid{gap:var(--s-4);grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));display:grid}.game-card{border-radius:var(--r-xl);padding:var(--s-5);color:#fff;min-height:190px;box-shadow:var(--shadow-2);isolation:isolate;transition:transform var(--dur-2) var(--ease);border:1px solid #ffffff24;flex-direction:column;justify-content:space-between;display:flex;position:relative;overflow:hidden}.game-card:hover{transform:translateY(-2px)}.game-card[data-game=CALL_BREAK]{background:var(--game-callbreak)}.game-card[data-game=TEEN_PATTI]{background:var(--game-teenpatti)}.game-card[data-game=POKER]{background:var(--game-poker);color:#2b1a00}.game-card[data-game=MARRIAGE]{background:var(--game-marriage)}.game-card .art{opacity:.95;z-index:-1;position:absolute;top:14px;right:6px;transform:rotate(10deg)}.game-card h3{font-size:var(--fs-xl);letter-spacing:-.01em;margin:0;font-weight:900}.game-card .meta{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.game-card .meta span{border-radius:var(--r-full);font-size:var(--fs-xs);background:#00000038;padding:3px 9px;font-weight:700}.game-card[data-game=POKER] .meta span{background:#ffffff59}.game-card .actions{gap:var(--s-2);margin-top:var(--s-4);display:flex}.game-card .btn.play{--btn-bg:#fff;--btn-fg:#0b1020;flex:1}.game-card .btn.more{--btn-bg:#00000040;--btn-fg:inherit}.game-card.disabled{filter:grayscale(.85);opacity:.6}.table-tier{align-items:center;gap:var(--s-3);grid-template-columns:1fr auto;display:grid}.pcard{--w:64px;vertical-align:bottom;width:var(--w);height:calc(var(--w) * 1.4);border-radius:calc(var(--w) * .1);transition:transform var(--dur-2) var(--ease), filter var(--dur-2), box-shadow var(--dur-2);background:0 0;border:0;flex:none;padding:0;display:inline-block;position:relative;box-shadow:0 3px 10px #00000059}.pcard svg{width:100%;height:100%}.pcard.sm{--w:38px}.pcard.md{--w:56px}.pcard.lg{--w:74px}.pcard.xl{--w:92px}.pcard.selected{box-shadow:var(--shadow-glow);transform:translateY(-18px)}.pcard.playable{cursor:pointer}.pcard.playable:hover{transform:translateY(-10px)}.pcard.selected.playable:hover{transform:translateY(-20px)}.pcard.unplayable{filter:brightness(.55)saturate(.6)}.pcard.wild:after{content:"★";font-size:calc(var(--w) * .22);color:var(--gold);text-shadow:0 0 4px #0009;position:absolute;top:2px;right:4px}.pcard.deal-in{animation:deal-in var(--dur-3) var(--ease) both}.hand{justify-content:center;align-items:flex-end;padding:16px 6px 2px;display:flex}.hand .pcard+.pcard{margin-left:calc(var(--w) * -.48)}.hand.loose .pcard+.pcard{margin-left:calc(var(--w) * -.25)}.hand.tight .pcard+.pcard{margin-left:calc(var(--w) * -.62)}.hand.fit{justify-content:center;padding-left:4px;padding-right:4px}.hand.fit .pcard{--w:var(--fit-w)}.hand-slot{flex:none;position:relative}.hand .gap{flex:none;width:14px}.table-screen{background:var(--table-bg);color:var(--text);touch-action:manipulation;grid-template-rows:auto 1fr auto;grid-template-columns:minmax(0,1fr);display:grid;position:fixed;inset:0;overflow:hidden}.table-top{align-items:center;gap:var(--s-2);padding:calc(4px + var(--safe-t)) var(--s-2) 4px;z-index:5;display:flex}.table-top .icon-btn{width:40px;height:40px}.table-top .title{font-weight:800;font-size:var(--fs-sm);line-height:1.2}.table-area{flex-direction:column;min-height:0;display:flex;position:relative}.stage{--seat-w:116px;--top-row-h:122px;flex:1;min-height:0;position:relative}.felt{background:radial-gradient(ellipse at 50% 40%, var(--felt-1) 0%, var(--felt-2) 75%);box-shadow:inset 0 0 0 10px var(--felt-rim), inset 0 0 0 12px #ffffff14, inset 0 12px 40px #00000073, 0 24px 60px #00000080;border-radius:48%/34%;position:absolute;inset:2% 1.5%}.felt-center{align-items:center;gap:var(--s-2);z-index:2;flex-direction:column;width:min(72%,520px);display:flex;position:absolute;bottom:4%;left:50%;transform:translate(-50%)}.seat{z-index:3;width:var(--seat-w);text-align:center;flex-direction:column;align-items:center;gap:3px;display:flex;position:absolute;transform:translate(-50%,-50%)}.seat .ring{border-radius:50%;padding:3px;position:relative}.game-card h3,.game-card .meta{max-width:64%}.ring svg.timer,.seat .ring svg.timer{pointer-events:none;width:calc(100% + 8px);height:calc(100% + 8px);position:absolute;inset:-4px;transform:rotate(-90deg)}.seat.active .ring{box-shadow:0 0 0 3px var(--accent), 0 0 26px #22d3a699;animation:1.4s infinite pulse}.seat .nameplate{background:var(--plate-bg);color:var(--plate-text);border:1px solid var(--border);border-radius:var(--r-md);max-width:var(--seat-w);font-size:var(--fs-xs);padding:2px 6px;line-height:1.25}.seat .nameplate .n{text-overflow:ellipsis;white-space:nowrap;font-weight:800;display:block;overflow:hidden}.seat .tags{white-space:nowrap;flex-wrap:nowrap;justify-content:center;gap:3px;display:flex}.tag,.seat .tag{border-radius:var(--r-full);border:1px solid var(--border);white-space:nowrap;background:#00000073;padding:2px 6px;font-size:10px;font-weight:800}.tag.blind,.seat .tag.blind{color:#ffd7e3;border-color:#ff4d7999}.tag.seen,.seat .tag.seen{color:#c8fff0;border-color:#22d3a699}.tag.folded,.seat .tag.folded{color:var(--text-muted)}.tag.bot,.seat .tag.bot{color:#d6ccff;border-color:#7c5cff99}.tag.away,.seat .tag.away{color:#ffe0b0;border-color:#ffb54799}.seat.folded{opacity:.5}.seat .mini-cards{z-index:1;display:flex;position:absolute;top:2px;left:calc(50% + 12px)}.seat.dir-right .mini-cards{left:auto;right:calc(50% + 12px)}.seat .ring{z-index:2}.seat .mini-cards .pcard+.pcard{margin-left:-22px}.seat .bet{z-index:3;font-size:var(--fs-xs);border-radius:var(--r-full);background:#00000080;align-items:center;gap:4px;padding:2px 8px;font-weight:800;display:inline-flex;position:absolute;top:30px;right:calc(50% + 14px)}.trick{width:230px;height:190px;position:relative}.trick .slot{transition:transform var(--dur-3) var(--ease);position:absolute;top:50%;left:50%}.trick .slot.fly{animation:fly-in var(--dur-3) var(--ease) both}.trick.collect .slot{animation:collect .5s var(--ease) forwards}.pot{border-radius:var(--r-full);color:var(--gold);background:#00000073;border:1px solid #f6c45373;align-items:center;gap:8px;padding:6px 14px;font-weight:900;display:inline-flex}.board{justify-content:center;gap:6px;min-height:82px;display:flex}.center-note{font-size:var(--fs-sm);color:#ffffffd9;text-shadow:0 1px 2px #0009;text-align:center;font-weight:700}.table-bottom{z-index:6;padding:4px 6px calc(6px + var(--safe-b));background:var(--dock-bg);border-top:1px solid var(--border);flex:none;position:relative;box-shadow:0 -8px 24px #00000059}.my-panel{align-items:center;gap:8px;min-height:40px;padding:2px 4px;display:flex}.my-panel .who{flex-direction:column;flex:auto;align-items:flex-start;gap:1px;min-width:0;line-height:1.2;display:flex}.my-panel .who strong{font-size:var(--fs-sm);max-width:34vw}.my-panel .score{font-size:var(--fs-sm);color:var(--score-text);white-space:nowrap;font-weight:800}.my-panel .tags{flex-wrap:wrap;gap:4px;display:flex}.my-panel .turn-pill{white-space:nowrap;color:#04140d;background:var(--accent);border-radius:var(--r-full);letter-spacing:.03em;text-transform:uppercase;margin-top:2px;padding:2px 8px;font-size:10px;font-weight:900;animation:1.6s infinite pulse-text}.my-panel .aside{align-items:flex-end;margin-left:auto;display:flex}.my-panel .aside .pcard+.pcard{margin-left:calc(var(--w) * -.3)}.action-bar{flex-wrap:wrap;justify-content:center;gap:6px;padding:4px;display:flex}.action-bar .btn{flex:1 1 0;min-width:84px;max-width:200px;min-height:44px}.action-bar .btn.sm{flex:none;min-width:0}.bid-grid{grid-template-columns:repeat(7,minmax(36px,1fr));gap:5px;max-width:460px;margin:0 auto;padding:2px 4px 4px;display:grid}.bid-grid button{border-radius:var(--r-md);border:1px solid var(--border-strong);background:var(--surface-2);min-height:40px;font-weight:900;font-size:var(--fs-lg)}.bid-grid button.suggested{border-color:var(--accent);box-shadow:var(--shadow-glow)}.my-turn-hint{text-align:center;color:var(--accent);font-weight:800;font-size:var(--fs-sm);letter-spacing:.04em;text-transform:uppercase;animation:1.6s infinite pulse-text}.chat-panel{right:var(--s-3);z-index:20;flex-direction:column;width:min(320px,100% - 24px);max-height:50%;display:flex;position:absolute;bottom:140px}.chat-log{padding:var(--s-2);font-size:var(--fs-sm);flex-direction:column;gap:6px;display:flex;overflow:auto}.chat-bubble{border:1px solid var(--border);word-break:break-word;background:#0000008c;border-radius:12px;max-width:100%;padding:6px 10px}.emote-burst{z-index:30;animation:emote 1.8s var(--ease) forwards;pointer-events:none;font-size:40px;position:absolute}.speech{color:#111;white-space:nowrap;text-overflow:ellipsis;max-width:160px;animation:fade-in var(--dur-2);z-index:10;background:#fff;border-radius:10px;padding:4px 8px;font-size:12px;font-weight:700;position:absolute;top:-30px;left:50%;overflow:hidden;transform:translate(-50%)}.scoreboard{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.scoreboard th,.scoreboard td{text-align:center;border-bottom:1px solid var(--border);padding:8px 6px}.scoreboard th:first-child,.scoreboard td:first-child{text-align:left}.winner-glow{animation:winner 1.6s var(--ease) infinite}.confetti{pointer-events:none;z-index:95;position:fixed;inset:0;overflow:hidden}.confetti i{border-radius:2px;width:9px;height:14px;animation:linear forwards confetti-fall;position:absolute;top:-20px}.seat .melds{max-width:var(--seat-w);flex-wrap:wrap;justify-content:center;gap:2px}.seat .melds .meld{padding:1px}.seat .melds .pcard{--w:20px}.seat .melds .meld .pcard+.pcard{margin-left:-10px}.melds{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.meld{border-radius:var(--r-sm);background:#00000040;border:1px dashed #ffffff40;padding:4px;display:flex}.meld .pcard+.pcard{margin-left:-18px}.raise-panel{width:min(520px,100%);padding:2px var(--s-3);margin:0 auto}.raise-panel input[type=range]{margin:2px 0}@media (max-width:600px){.board .pcard{--w:min(56px, calc((60vw - 28px) / 5))}.seat .mini-cards .pcard{--w:26px}.seat .mini-cards .pcard+.pcard{margin-left:-14px}}@media (max-width:480px){.stage{--seat-w:84px}.seat .nameplate{font-size:11px}.seat .tag{padding:1px 5px;font-size:9px}.seat .mini-cards .pcard{--w:22px}.seat .mini-cards .pcard+.pcard{margin-left:-12px}.stage{--top-row-h:118px}.felt-center{width:94%;bottom:3%}.trick{width:170px;height:134px}.board{gap:4px;min-height:0}.board .pcard{--w:min(42px, calc((60vw - 16px) / 5))}}@media (max-width:420px){.quick-row{gap:var(--s-2);grid-template-columns:repeat(4,1fr)}.quick-tile{min-height:74px}}@media (min-width:900px){.pcard.lg{--w:84px}.trick{width:300px;height:230px}}.onboard{max-width:520px;min-height:100%;padding:calc(var(--s-6) + var(--safe-t)) var(--s-5) calc(var(--s-6) + var(--safe-b));flex-direction:column;margin:0 auto;display:flex}.onboard .steps{margin-bottom:var(--s-6);gap:6px;display:flex}.onboard .steps span{background:var(--surface-3);border-radius:2px;flex:1;height:4px}.onboard .steps span.on{background:var(--accent)}.onboard h1{font-size:var(--fs-3xl);letter-spacing:-.03em;margin:var(--s-4) 0 var(--s-3);line-height:1.1}.avatar-grid{gap:var(--s-3);grid-template-columns:repeat(auto-fill,minmax(64px,1fr));display:grid}.avatar-grid button{background:0 0;border:0;border-radius:50%;place-items:center;padding:4px;display:grid}.avatar-grid button[aria-pressed=true]{box-shadow:0 0 0 3px var(--accent)}.bonus-burst{color:var(--gold);text-shadow:0 6px 30px #f6c45373;animation:pop-in .6s var(--ease);font-size:64px;font-weight:900}.splash{background:var(--bg-0);z-index:200;place-items:center;display:grid;position:fixed;inset:0}.splash .logo{animation:pop-in .6s var(--ease)}@keyframes fade-in{0%{opacity:0}}@keyframes pop-in{0%{opacity:0;transform:scale(.92)translateY(8px)}}@keyframes slide-up{0%{transform:translateY(100%)}}@keyframes drop-in{0%{opacity:0;transform:translateY(-16px)}}@keyframes shimmer{to{background-position:-200% 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{box-shadow:0 0 0 4px var(--accent), 0 0 36px #22d3a6d9}}@keyframes pulse-text{50%{opacity:.55}}@keyframes deal-in{0%{opacity:0;transform:translateY(-160px)rotate(-14deg)scale(.6)}}@keyframes fly-in{0%{opacity:0;transform:translate(var(--from-x,0), var(--from-y,120px)) scale(.7)}}@keyframes collect{to{opacity:0;transform:translate(var(--to-x,0), var(--to-y,0)) scale(.4)}}@keyframes emote{0%{opacity:0;transform:translate(-50%)scale(.4)}20%{opacity:1;transform:translate(-50%,-20px)scale(1.15)}80%{opacity:1;transform:translate(-50%,-40px)scale(1)}to{opacity:0;transform:translate(-50%,-60px)scale(.9)}}@keyframes winner{50%{filter:drop-shadow(0 0 18px #f6c453e6)}}@keyframes confetti-fall{to{transform:translateY(110vh)rotate(720deg)}}@keyframes count-pop{50%{transform:scale(1.12)}}:root[data-motion=reduced] *,:root[data-motion=reduced] :before,:root[data-motion=reduced] :after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.replay-bar{padding:8px max(12px, env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom));background:color-mix(in srgb, var(--bg-0) 85%, transparent);border-top:1px solid var(--line,#ffffff14);align-items:center;gap:6px;display:flex}.replay-bar input[type=range]{min-width:0;accent-color:var(--accent)}.replay-bar .icon-btn.primary{background:var(--accent);color:#04140d}.replay-bar .icon-btn:disabled{opacity:.4}:root[data-felt=royal]{--felt-1:#1f4aa8;--felt-2:#0f2257;--felt-rim:#2b1d0e}:root[data-felt=maroon]{--felt-1:#8f1d2c;--felt-2:#4a0a14;--felt-rim:#2a1a0c}:root[data-felt=charcoal]{--felt-1:#3f4654;--felt-2:#151a23;--felt-rim:#57401f}:root[data-felt=teal]{--felt-1:#138a80;--felt-2:#064e4b;--felt-rim:#3b2a17}.cosmetic-grid{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:10px;display:grid}.cosmetic{background:var(--bg-2,#ffffff0a);color:inherit;font-size:var(--fs-xs);border:2px solid #0000;border-radius:12px;place-items:center;gap:4px;padding:6px;display:grid;position:relative}.cosmetic[aria-pressed=true]{border-color:var(--accent)}.cosmetic:disabled{opacity:.55}.cosmetic .card-back-preview{width:44px;height:62px}.cosmetic .card-back-preview svg{width:100%;height:100%}.cosmetic .felt-preview{width:52px;height:36px;box-shadow:inset 0 0 0 4px var(--rim);border-radius:18px}.hand-rows .hand+.hand{margin-top:-10px}.seat.dir-left .bet{top:40px;left:calc(50% + 12px);right:auto}.seat.dir-right .bet{top:40px;right:calc(50% + 12px)}.seat.dir-top .bet{inset:auto auto -20px 50%;transform:translate(-50%)}.seat .tag,.seat .bet{color:#eef2ff}.seat .nameplate .dim{color:inherit;opacity:.75}.bid-picker{flex-direction:column;gap:8px;max-width:480px;margin:0 auto;padding:4px 6px 6px;display:flex}.bid-head{font-size:var(--fs-sm);justify-content:space-between;align-items:baseline;padding:0 2px;display:flex}.bid-head b{color:var(--score-text)}.bid-chips{grid-template-columns:repeat(9,minmax(0,1fr));gap:5px;padding:4px 2px 0;display:grid}.bid-chips.more{grid-template-columns:repeat(7,minmax(0,1fr))}.bid-chip{aspect-ratio:1;border:2px solid var(--border-strong);background:var(--surface-2);width:100%;max-width:48px;color:var(--text);font-weight:900;font-size:var(--fs-lg);transition:transform var(--dur-1) var(--ease), background var(--dur-1), border-color var(--dur-1);border-radius:50%;justify-self:center;padding:0;position:relative}.bid-chip:active{transform:scale(.94)}.bid-chip.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);box-shadow:var(--shadow-glow);transform:scale(1.06)}.bid-chip.star:after{content:"★";color:var(--gold);text-shadow:0 1px 2px #00000080;font-size:12px;position:absolute;top:-7px;right:-4px}.bid-chip.plus{color:var(--text-dim);border-style:dashed}.bid-confirm{min-height:46px;font-size:var(--fs-lg)}@media (max-height:700px){.trick{height:112px}.bid-picker{gap:5px}.bid-confirm{min-height:42px}.stage .center-note{font-size:var(--fs-xs)}}.shop-item{border:1px solid color-mix(in srgb, var(--glow) 55%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--glow) 18%, transparent), 0 10px 28px color-mix(in srgb, var(--glow) 22%, transparent);position:relative;overflow:hidden}.shop-item.legend:after{content:"";pointer-events:none;background:linear-gradient(115deg,#0000 40%,#ffffff2e 50%,#0000 60%);animation:4s ease-in-out infinite shop-sheen;position:absolute;inset:0;transform:translate(-120%)}@keyframes shop-sheen{0%,55%{transform:translate(-120%)}to{transform:translate(120%)}}.shop-rarity{z-index:3;font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;color:#0b1020;border-radius:99px;padding:2px 10px;font-weight:800;position:absolute;top:10px;left:10px}.shop-stage{background:radial-gradient(circle at 50% 38%, color-mix(in srgb, var(--glow) 45%, #0b1020) 0%, #0b1020 72%);border-radius:16px;place-items:center;height:190px;margin-top:4px;display:grid;position:relative;overflow:hidden}.shop-stage:before{content:"";background:repeating-conic-gradient(from 0deg at 50% 38%, #ffffff0d 0 6deg, transparent 6deg 18deg);position:absolute;inset:0}.shop-hero{z-index:2;filter:drop-shadow(0 12px 18px #0009);width:92px;height:129px;animation:3.4s ease-in-out infinite shop-float;position:relative}.shop-hero svg{width:100%;height:100%;display:block}@keyframes shop-float{0%,to{transform:translateY(0)rotate(-1deg)}50%{transform:translateY(-6px)rotate(1deg)}}.shop-fan{z-index:1;filter:brightness(.85)drop-shadow(0 6px 10px #00000080);position:absolute;top:34px}.shop-fan.l{left:calc(50% - 98px);transform:rotate(-16deg)}.shop-fan.r{left:calc(50% + 12px);transform:rotate(16deg)}.shop-table{background:linear-gradient(145deg, color-mix(in srgb, var(--rim) 70%, #fff) 0%, var(--rim) 45%, color-mix(in srgb, var(--rim) 70%, #000) 100%);z-index:2;border-radius:999px;width:86%;height:118px;padding:9px;position:relative;transform:perspective(500px)rotateX(24deg);box-shadow:0 16px 24px #0000008c,inset 0 2px 3px #ffffff40}.shop-table:before{content:"";border:1.5px solid var(--accent);opacity:.85;border-radius:999px;position:absolute;inset:5px}.shop-felt{border-radius:999px;place-items:center;height:100%;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 28px #000000a6,inset 0 0 0 2px #00000059}.shop-felt:after{content:"";background:radial-gradient(at 50% 20%,#ffffff38,#0000 55%),repeating-linear-gradient(45deg,#ffffff0a 0 2px,#0000 2px 5px);position:absolute;inset:0}.shop-felt-mark{letter-spacing:.4em;opacity:.75;font-size:11px;position:absolute;top:9px}.shop-felt-cards{z-index:1;margin-top:6px;display:flex;position:relative}.shop-chips{z-index:1;display:flex;position:absolute;bottom:14px;right:26px}.shop-chips i{border:2.5px dashed #00000073;border-radius:50%;width:15px;height:15px;margin-left:-5px;box-shadow:0 1px 3px #00000080}@media (prefers-reduced-motion:reduce){.shop-hero,.shop-item.legend:after{animation:none}}
