:root{color-scheme:dark;font-family:Space Grotesk,Inter,Segoe UI,SF Pro Display,sans-serif;font-size:clamp(13px,1vw + 10px,17px);--bg-body: #030303;--bg-shell: #050505;--bg-panel: #0a0a0a;--bg-panel-alt: #0d0d0d;--bg-card: #101010;--bg-card-muted: #151515;--border-soft: #1a1a1a;--border-strong: #2a2a2a;--shadow-strong: 0 20px 45px rgba(0, 0, 0, .55);--shadow-soft: 0 10px 30px rgba(0, 0, 0, .35);--text-strong: #f3f3f3;--text-muted: #9a9a9a;--accent: #f8f8f8;--accent-strong: #f5f5f5;--accent-muted: rgba(88, 166, 255, .18);--danger: #ff6b6b;--success: #72f1b8;--nav-height: 140px;--nav-gap: 32px;--nav-clearance: calc(var(--nav-height) + var(--nav-gap))}*,*:before,*:after{box-sizing:border-box}html{min-height:100svh;height:100svh}body{margin:0;min-height:100svh;height:100svh;background:var(--bg-body);color:var(--text-strong);font-family:inherit;line-height:1.5;overflow-x:hidden;overflow-y:hidden}#app{min-height:100svh;height:100svh}.app-shell{max-width:1200px;margin:0 auto;padding:clamp(1rem,4vw,2.5rem);padding-top:calc(env(safe-area-inset-top,0px) + clamp(1.25rem,3vw,2rem));display:flex;flex-direction:column;gap:1.5rem;min-height:100svh;height:100svh;width:100%;overflow:hidden}.app-shell.pre-game{max-width:560px}.app-shell.full-play{max-width:none;width:100%;min-height:100svh;height:100%;padding:clamp(1rem,3vw,2rem) clamp(.75rem,3vw,2rem);padding-top:calc(env(safe-area-inset-top,0px) + clamp(1.5rem,3vw,2.25rem));padding-bottom:calc(var(--nav-clearance) + env(safe-area-inset-bottom,0px) + 12px);overflow:hidden}.app-shell.with-bottom-nav{padding-bottom:calc(var(--nav-clearance) + env(safe-area-inset-bottom,0px) + 12px)}.app-shell.pre-game.with-bottom-nav{--pre-game-nav-clearance: min(var(--nav-clearance), 120px);padding-bottom:calc(var(--pre-game-nav-clearance) + env(safe-area-inset-bottom,0px));height:auto;min-height:100svh}.pre-game-hero .hero-card{text-align:left;align-items:stretch;gap:1.25rem;height:clamp(420px,60vh,620px);overflow:hidden}.hero-headline{display:flex;flex-direction:column;gap:.35rem;text-align:center}.hero-rules{display:grid;gap:.75rem;width:100%;padding:1rem 1.1rem;border-radius:16px;border:1px solid var(--border-soft);background:var(--bg-panel-alt);max-height:384px;overflow-y:auto;scrollbar-gutter:stable;text-align:center}.hero-rules::-webkit-scrollbar{width:8px}.hero-rules::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:999px}.hero-rule{display:flex;flex-direction:column;gap:.35rem;padding:.75rem .85rem;border-radius:12px;border:1px solid rgba(255,255,255,.05);background:#ffffff05;text-align:center;align-items:center}.rule-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .75rem;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:#ffffff0f;font-size:.85rem;letter-spacing:.05em;text-transform:uppercase;font-weight:700;color:var(--text-strong)}.hero-specials{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.45rem}.hero-specials li{color:var(--text-muted);font-size:.95rem;line-height:1.55;display:flex;flex-direction:column;gap:.4rem;padding:.75rem .85rem;border-radius:12px;border:1px solid rgba(255,255,255,.05);background:#ffffff05;text-align:center;align-items:center}.hero-specials strong{color:var(--text-strong);display:inline-flex;align-items:center;justify-content:center;padding:.35rem .75rem;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;letter-spacing:.08em;text-transform:uppercase;font-size:.85rem}.rules-modal .rules-list{display:grid;gap:.75rem;width:100%;padding:1rem 1.1rem;border-radius:16px;border:1px solid var(--border-soft);background:var(--bg-panel-alt);max-height:340px;overflow-y:auto;scrollbar-gutter:stable}.rules-modal .rules-list::-webkit-scrollbar{width:8px}.rules-modal .rules-list::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:999px}.rules-modal .rules-list li{display:flex;flex-direction:column;gap:.4rem;padding:.75rem .85rem;border-radius:12px;border:1px solid rgba(255,255,255,.05);background:#ffffff05;text-align:center;align-items:center;line-height:1.55}.rules-modal .rules-list li strong{display:inline-flex;align-items:center;justify-content:center;padding:.35rem .75rem;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;letter-spacing:.08em;text-transform:uppercase;font-size:.85rem}.hero-actions{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}.hero-actions button{min-width:180px}.app-header{display:flex;justify-content:center;align-items:center;padding:calc(env(safe-area-inset-top,0px) + .9rem) 0 1rem;position:relative}.logo-slot{width:clamp(170px,30vw,300px);height:auto;filter:drop-shadow(0 8px 25px rgba(0,0,0,.55))}.logo-static{border:none;background:transparent;padding:0}.logo-modal{width:min(380px,90vw);text-align:center}.logo-modal .actions .primary{background:#72f1b82e;border-color:#72f1b88c;color:#acf6d1;box-shadow:none}.rules-modal{max-width:520px}.rules-list{list-style:none;padding:0;margin:0 0 .5rem;display:flex;flex-direction:column;gap:.5rem;text-align:left}.rules-list li strong{color:var(--text-strong)}.compact-rules{gap:.25rem}@media(max-width:641px){.app-shell.pre-game .logo-slot,.app-shell.full-play.with-bottom-nav .logo-slot{width:min(70vw,220px)}.logo-slot{width:min(60vw,180px)}}.status-banner{position:relative;display:flex;justify-content:center;align-items:center;padding:.9rem 1.1rem .9rem 1.4rem;border-radius:18px;background:var(--bg-card);border:1px solid var(--border-soft);box-shadow:var(--shadow-soft);color:var(--text-strong);gap:.85rem;overflow:hidden;flex-wrap:nowrap}.status-banner>span:first-child{display:block;flex:1;font-weight:600;color:var(--text-strong);text-align:center;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:1rem}.status-banner button{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;border:1px solid rgba(255,255,255,.08);background:#ffffff14;color:inherit;font-size:.9rem;cursor:pointer;padding:0;flex:0 0 auto;margin-left:auto}.status-banner button:hover{background:#ffffff1f}@media(max-width:640px){.status-banner{flex-direction:row;align-items:center;gap:.65rem;flex-wrap:nowrap;padding:.85rem 1rem .85rem 1.2rem}.status-banner button{width:26px!important;height:26px;align-self:center;font-size:.85rem;padding:0;flex:0 0 26px;margin-left:auto;max-width:26px}.status-banner>span:first-child{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}.panel{background:var(--bg-panel);border-radius:28px;border:1px solid rgba(255,255,255,.05);box-shadow:0 30px 70px #000000a6;padding:clamp(1rem,3vw,1.75rem);display:flex;flex-direction:column;gap:1.25rem}.panel.grid{display:grid;gap:1.25rem;grid-template-columns:minmax(0,1fr);background:transparent;border:none;box-shadow:none;padding:0}@media(min-width:720px){.panel.grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}.panel.gameplay{display:grid;gap:1.5rem;grid-template-columns:minmax(0,1fr)}.panel.gameplay.board-mode,.board-mode{display:flex;flex-direction:column;gap:1.25rem;padding:clamp(1rem,3vw,1.75rem);flex:1;min-height:0;overflow:visible;padding-bottom:calc(var(--nav-clearance) - 8px);margin-bottom:0;width:100%;align-items:stretch;justify-content:flex-start}@media(min-width:960px){.panel.gameplay{grid-template-columns:320px 1fr;align-items:start}.panel.gameplay>.game-top,.panel.gameplay>.my-area,.panel.gameplay>.pile-area{grid-column:1 / -1}.panel.gameplay>.player-list-area{grid-column:1 / -1}}.card-panel{background:var(--bg-card);border-radius:24px;border:1px solid rgba(255,255,255,.04);box-shadow:0 22px 50px #0009;padding:clamp(1.25rem,3vw,1.75rem);display:flex;flex-direction:column;gap:1rem;min-height:100%}.card-panel.fill{min-height:320px}form.card-panel label{display:flex;flex-direction:column;gap:.35rem;font-size:.95rem;color:var(--text-muted)}form.card-panel>button{width:100%;margin-top:.75rem}input{border-radius:16px;border:1px solid var(--border-strong);background:#0b0b0b;color:var(--text-strong);padding:.75rem 1rem;font-size:1rem;font-family:inherit;transition:border-color .2s ease,box-shadow .2s ease}input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-muted)}p{margin:0;color:var(--text-muted)}.panel>p{color:var(--text-strong)}.room-code-banner{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:.75rem 1rem;border-radius:18px;background:var(--bg-panel-alt);border:1px solid var(--border-soft)}.code-details{display:flex;flex-direction:column;gap:.2rem;align-items:center;text-align:center}.room-code-banner .actions{display:flex;gap:.5rem;flex-wrap:nowrap;width:100%}.room-code-banner .actions button{width:auto;flex:1 1 0}.code-details .label{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.code-details strong{font-size:1.5rem;letter-spacing:.15em}.room-code-banner .copy-status{align-self:flex-start;margin-top:.05rem}.copy-status{font-size:.85rem;color:var(--success)}.player-panel{display:flex;flex-direction:column}.player-panel .player-actions{margin-top:auto;justify-content:center;display:flex}.player-panel .player-actions button{width:100%}.lobby-panel .lobby-form{display:flex;flex-direction:column;gap:.9rem}.lobby-panel .lobby-form label{display:flex;flex-direction:column;gap:.35rem;font-size:.95rem;color:var(--text-muted)}.lobby-panel .lobby-actions{display:flex;gap:.75rem;flex-wrap:wrap}.lobby-panel .lobby-actions button{flex:1 1 140px;padding:.55rem 1.1rem}.lobby-sheet .lobby-form{display:grid;gap:.75rem}.lobby-sheet .lobby-form label{flex-direction:column;align-items:center;text-align:center;gap:.4rem}.lobby-sheet .lobby-form input{width:100%;text-align:center}.lobby-sheet .room-code-banner{margin-top:.75rem}.lobby-sheet{display:flex;flex-direction:column;gap:1.25rem}.lobby-grid{display:grid;gap:1rem;align-items:stretch}.lobby-grid-centered{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%}.lobby-grid-centered .lobby-form{max-width:520px;width:100%;margin:0 auto;justify-self:center}.lobby-meta{background:var(--bg-panel);border:1px solid var(--border-soft);border-radius:18px;padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.75rem;align-self:stretch;height:100%}.lobby-meta-card{display:flex;flex-direction:column;gap:.35rem;background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:14px;padding:.9rem 1rem;text-align:center;align-items:center}.lobby-count{font-size:1.4rem;font-weight:700;color:var(--text-strong)}.lobby-meta button{width:100%}.lobby-meta .primary{margin-top:auto}.lobby-meta .hint.muted{text-align:center}.lobby-sheet .lobby-wide{grid-column:1 / -1;text-align:center}.lobby-sheet .size-picker button{min-width:0;padding:.55rem 0}.lobby-sheet .lobby-actions{display:flex;flex-direction:row;flex-wrap:nowrap;grid-column:1 / -1}.lobby-sheet .lobby-actions button{flex:1 1 0}@media(min-width:720px){.lobby-grid{grid-template-columns:minmax(0,1fr) .9fr;align-items:stretch}.lobby-sheet .lobby-form{grid-template-columns:repeat(2,minmax(0,1fr))}.lobby-sheet .lobby-form .hint,.lobby-sheet .room-code-banner{grid-column:1 / -1}}@media(max-width:640px){.lobby-panel .lobby-actions{flex-direction:column}.lobby-panel .lobby-actions button{width:100%;flex:1 1 auto}}button{border-radius:999px;border:1px solid transparent;background:#ffffff0d;color:var(--text-strong);font-size:1rem;padding:.65rem 1.5rem;cursor:pointer;font-family:inherit;transition:transform .15s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease;box-shadow:none}button:hover:not(:disabled){transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.45}button.primary{background:var(--accent);color:#050505;font-weight:600;box-shadow:none}.my-area .actions .primary{background:#72f1b82e;border-color:#72f1b88c;color:#acf6d1;box-shadow:none}button.primary:disabled{background:#58a6ff66;color:#05050580;box-shadow:none}.my-area .actions .primary:disabled{background:#72f1b814;color:#acf6d180}.card-panel button.primary{background:#f4f4f4;color:#050505;border-color:#fff9;box-shadow:none}.card-panel button.primary:disabled{background:#b5b5b5;color:#050505bf;border-color:#ffffff4d;box-shadow:none}button.ghost{background:transparent;border-color:var(--border-strong);color:var(--text-muted)}button.danger{background:#ff6b6b26;border-color:#ff6b6b73;color:#ff9a9a}.rematch-button,.primary.rematch-button{background:#72f1b82e;border-color:#72f1b88c;color:#acf6d1;box-shadow:none}.rematch-button:disabled{background:#72f1b814;border-color:#72f1b859;color:#acf6d1cc;opacity:.7}.primary.rematch-button:disabled{background:#72f1b814;border-color:#72f1b859;color:#acf6d1cc;box-shadow:none}.rematch-host-button,.primary.rematch-host-button{background:#ffd66633;border-color:#ffd66699;color:#ffe7a0;box-shadow:none}.rematch-host-button:disabled{background:#ffd66614;border-color:#ffd66659;color:#ffe7a0b3;opacity:.7}.primary.rematch-host-button:disabled{background:#ffd66614;border-color:#ffd66659;color:#ffe7a0b3;box-shadow:none;opacity:.7}.primary.play-selected{background:#72f1b82e;border-color:#72f1b88c;color:#acf6d1;box-shadow:none;font-weight:400}.primary.play-selected:disabled{background:#72f1b814;border-color:#72f1b84d;color:#acf6d180;box-shadow:none}.primary.play-hidden{background:#ffd66633;border-color:#ffd6668c;color:#ffe7a0;box-shadow:none;font-weight:400}.primary.play-hidden:disabled{background:#ffd6661a;border-color:#ffd66659;color:#ffe7a099;box-shadow:none}.game-top{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;padding:1rem;border-radius:20px;background:var(--bg-card);border:1px solid var(--border-soft)}.summary-card{background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:.85rem 1rem;box-shadow:inset 0 1px #ffffff0a,var(--shadow-soft);display:flex;flex-direction:column;gap:.35rem}.summary-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.summary-value{font-size:1.15rem;font-weight:400;color:var(--text-strong)}.summary-note{margin:0;color:var(--text-muted);font-size:.9rem}.effect-card .summary-value{color:var(--accent-strong)}.board-wrap{flex:1;min-height:0;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:1.25rem;width:100%;height:auto;padding-bottom:0;padding-top:clamp(.5rem,2vh,1.5rem);overflow:visible;overscroll-behavior:auto}main.pile-area.board-focus{display:flex;flex-direction:column;gap:1.25rem;padding:clamp(1rem,3vw,1.75rem);height:auto;flex:1;overflow:visible;padding-bottom:calc(var(--nav-clearance) * .02);margin-bottom:0;width:100%;align-items:stretch;justify-content:flex-start;background:transparent;border:none;box-shadow:none}.board-focus{width:100%;flex:1;display:flex;flex-direction:column;margin:0 auto;box-shadow:0 28px 65px #0000008c;min-height:0;max-height:100%}.board-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.pill-small{padding:.35rem .75rem;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:var(--text-strong);font-size:.9rem}.pill-small.muted-pill{color:var(--text-muted);border-color:#ffffff14}.board-note{text-align:center;color:var(--text-muted);margin:0}.header-note{margin-top:-.25rem;margin-bottom:.5rem}.turn-pill{display:inline-flex;align-items:center;justify-content:center;padding:.65rem 1.1rem;font-size:.95rem;font-weight:400;letter-spacing:.05em;text-transform:uppercase}.neutral-pill{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);color:var(--text-muted);border-radius:999px;box-shadow:none}.effect-pill{display:inline-flex;align-items:center;justify-content:center;padding:.35rem .8rem;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;color:var(--text-strong);font-size:.95rem}.effect-pill.effect-red{background:#ff6b6b38;border-color:#ff6b6b99;color:#ffc2c2}.effect-pill.effect-black{background:#00000059;border-color:#ffffff1f;color:#dfe3ff}.pile-area{background:var(--bg-card);border-radius:24px;border:1px solid var(--border-soft);padding:1.25rem;display:flex;flex-direction:column;gap:clamp(.75rem,1.5vw,1.25rem);flex:1;min-height:0;max-height:100%;overflow:hidden}.pile-area.board-focus{--pile-vertical-chrome: clamp(240px, 28vh, 340px);--pile-usable-height: max(260px, calc(100svh - var(--nav-clearance, 0px) - var(--pile-vertical-chrome)));max-width:min(960px,92vw);align-self:center;padding-top:.3rem;padding-bottom:.9rem;gap:1rem}.pile-area.board-focus>.pile-area.board-focus{flex:0 0 auto;height:auto;max-height:none;padding-bottom:.9rem}.pile-header{display:flex;align-items:center;justify-content:center;width:100%;padding:.75rem 0 .5rem}.board-title-pill{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.65rem 1.1rem;font-size:.95rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:#ffffff0a;border:1px solid #464646;color:var(--text-muted);border-radius:999px;box-shadow:none;width:100%}.board-title-pill .card-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .55rem;border-radius:12px;font-size:.9rem;font-weight:700;text-transform:none;border:1px solid rgba(255,255,255,.12)}.board-title-pill .card-chip.red{background:#f45d5d29;color:#ffb7b7;border-color:#f45d5d66}.board-title-pill .card-chip.black{background:#ffffff14;color:#f1f1f1;border-color:#fff3}.board-title-pill .card-chip.wild{background:#72f1b824;color:#b9ffe0;border-color:#72f1b880}.board-title-pill .player-chip{display:inline-flex;align-items:center;justify-content:center;padding:.28rem .7rem;border-radius:999px;font-size:.9rem;font-weight:700;letter-spacing:.04em;text-transform:none;box-shadow:none}.pile-header .board-meta{display:contents}.pile-header .board-meta .pill-small:first-child{grid-column:1;justify-self:start;align-self:center;grid-row:1}.pile-header .board-meta .pill-small:last-child{grid-column:3;justify-self:end;align-self:center;grid-row:1}.pile-deck-count{font-weight:700;color:var(--text-muted);background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:.35rem .75rem;font-size:.95rem}.pile-actions .pile-button{background:#ffffff0d;border-color:#ffffff14;color:var(--text-strong);box-shadow:none}.pile-actions .pile-button:hover:not(:disabled){background:#72f1b81f;border-color:#72f1b866}.pile-actions .pile-button:disabled{opacity:.45;color:#f3f3f3a6;border-color:#ffffff1a;background:#ffffff0a}.pile-stack{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:.75rem}.pile-stack.single{grid-template-columns:minmax(0,1fr);justify-content:center;justify-items:center;--pile-card-height: min(calc(var(--pile-usable-height, 100vh) * .62), clamp(210px, 46vh, 540px));--pile-stack-max-width: clamp(600px, 64vw, 920px);width:min(var(--pile-stack-max-width),76vw);max-width:100%;align-self:center;justify-self:center;margin:0 auto}.pile-stack.single .card{height:var(--pile-card-height);width:calc(var(--pile-card-height) * 2 / 3);max-width:100%}.card-effect-pill{margin-top:.5rem;display:flex;justify-content:center}.card-effect-pill .effect-pill{padding:.5rem 1.05rem}@media(max-width:768px){.pile-stack.single{--pile-card-height: clamp(170px, 40vh, 320px);--pile-stack-max-width: 100%;width:100%}body{overflow-y:auto}.app-shell,.app-shell.full-play{height:auto;min-height:100svh;overflow:auto}.pile-area{max-height:none;overflow:visible}.pile-area.board-focus{max-width:100%}}@media(max-width:640px){.pile-stack.single{--pile-card-height: clamp(150px, 38vh, 280px)}}@media(max-width:480px){.pile-stack.single{--pile-card-height: clamp(140px, 34vh, 240px)}}.pile-actions{display:flex;justify-content:flex-start;gap:1.5rem;margin-top:1rem}.board-focus .pile-actions{justify-content:center}.bottom-actions{margin-top:auto;padding-top:1rem}.pile-actions .burned-button{margin-left:auto}.info-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:.75rem;width:100%}.info-actions .pile-button{width:100%}.pill{padding:.25rem .85rem;border-radius:999px;font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;background:#58a6ff1f;color:var(--accent-strong);border:1px solid rgba(88,166,255,.35)}.pill.host{background:#ffd6662e;border-color:#ffd66673;color:#ffe7a0}.pill.you{background:#72f1b82e;border-color:#72f1b873;color:#acf6d1}.pill.other-player{background:#ff6b6b2e;border-color:#ff6b6b73;color:#ffc2c2}.pill.warning{background:#ff6b6b33;border-color:#ff6b6b66;color:#ffdddf}.pill.player-two{background:#ff6b6b2e;border-color:#ff6b6b73;color:#ffc2c2}.pill.player-three{background:#72f1b82e;border-color:#72f1b873;color:#acf6d1}.pill.player-four{background:#58a6ff2e;border-color:#58a6ff73;color:#b9d8ff}.pill.player-five{background:#a85cff33;border-color:#a85cff80;color:#e0c4ff}.pill.player-six{background:#ffa74233;border-color:#ffa7428c;color:#ffd7a6}.jack-red{background:#f74c4c;color:#1a0a0a;border-color:#fff3;box-shadow:none}.jack-black{background:#0f0f0f;color:#f5f5f5;border-color:#ffffff2e;box-shadow:none}.primary.jack-red{background:#f74c4c!important;color:#1a0a0a!important;border-color:#fff3!important;box-shadow:none!important}.primary.jack-black{background:#0f0f0f!important;color:#f5f5f5!important;border-color:#ffffff2e!important;box-shadow:none!important}.jack-red:hover:not(:disabled){background:#f74c4c}.jack-black:hover:not(:disabled){background:#0f0f0f}.primary.jack-red:disabled,.primary.jack-black:disabled{opacity:.7;box-shadow:none!important}.jack-color-modal .actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem}.jack-color-modal .actions button{width:100%}.player-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:.75rem}@media(min-width:640px){.player-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.player-list{grid-template-columns:repeat(3,minmax(0,1fr))}}.player-item{padding:.85rem 1rem;border-radius:18px;background:var(--bg-card-muted);border:1px solid transparent;display:flex;flex-direction:column;gap:.5rem;box-shadow:inset 0 0 0 1px #ffffff05;position:relative}.player-item.finished{opacity:.65}.player-name{font-weight:400;display:flex;align-items:center;justify-content:center;text-align:center;gap:.5rem;flex-wrap:wrap}.player-name .pill{display:inline-flex;justify-content:center;min-width:74px}.player-tags{display:flex;flex-wrap:nowrap;gap:.35rem .75rem;padding:.75rem 1rem;border-radius:16px;background:#ffffff08;color:var(--text-muted);font-size:.85rem;align-self:center;justify-content:center;width:fit-content}@media(min-width:1024px){.player-tags{font-size:.8rem;padding:.6rem .85rem;flex-wrap:nowrap;justify-content:center}}.player-tags span{min-width:0;text-align:center;white-space:nowrap}.player-tags span:not(:last-child){border-right:1px solid rgba(255,255,255,.08);padding-right:.75rem;margin-right:.75rem}.player-faceup{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.4rem;justify-content:center}.player-faceup .card{font-size:.88rem;max-width:clamp(60px,18vw,74px);box-shadow:0 10px 18px #00000059}@media(min-width:1024px){.player-faceup .card{max-width:clamp(55px,6vw,68px);font-size:.82rem}.player-faceup .card-face{padding:.5em}.player-faceup .card-center{transform:scale(.82)}.player-faceup .card-suit.large{font-size:.9em}}.player-status{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-muted)}.player-status.simple{justify-content:center;text-align:center;width:100%}.connection-dot{position:absolute;top:.7rem;right:.7rem;width:12px;height:12px;border-radius:50%;box-shadow:0 0 0 3px #00000059,0 0 0 1px #ffffff1f}.connection-dot.online{background:var(--success)}.connection-dot.reconnecting{background:#ffd166}.connection-dot.offline{background:var(--danger);box-shadow:0 0 0 3px #00000059,0 0 0 1px #ffffff1f,0 0 12px #ff6b6b8c}.my-area{background:var(--bg-card);border-radius:24px;border:1px solid var(--border-soft);padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.my-area header{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.hand-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:.75rem;list-style:none;padding:0;margin:0}.hand-sheet .hand-grid{grid-template-columns:repeat(auto-fit,minmax(80px,1fr))}.hand-grid-item{display:flex;justify-content:center}@media(max-width:640px){.hand-sheet .hand-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(86px,1fr));max-height:47.5vh;overflow-y:auto;padding:.8rem .3rem;gap:.7rem}.hand-sheet .hand-grid-item{justify-content:center}.hand-sheet .hand-grid .card{max-width:88px;font-size:.88rem}.hand-sheet .card.selected .card-face{transform:translateY(-2px)}}.hand-sheet .hand-grid .card{max-width:clamp(78px,16vw,96px);font-size:.92rem;margin:0 auto;box-shadow:none}.hand-sheet .hand-grid .card-face{padding:.55em}@media(min-width:1024px){.hand-sheet .hand-grid .card{max-width:clamp(72px,9vw,88px);font-size:.88rem}.hand-sheet .hand-grid .card-face{padding:.5em}}.hand-grid.setup-grid{justify-items:center}.setup-waiting-note{text-align:center;margin-top:.35rem}.hand-sheet h4{text-align:center}@media(min-width:900px){.hand-grid.setup-grid{grid-template-columns:repeat(3,minmax(110px,1fr));max-width:720px;margin:0 auto}}.my-area .hand-grid .card{max-width:110px;margin:0 auto}.hand-sheet .hand-grid .card.disabled{opacity:.35;filter:grayscale(.9) brightness(.85);cursor:not-allowed;box-shadow:none}.hand-sheet .hand-grid .card.disabled .card-face{box-shadow:inset 0 0 0 2px #ffffff0d}.hand-sheet .card.selected .card-face{box-shadow:0 0 0 3px var(--success);transform:translateY(-6px)}.hand-sheet .card-back-label{display:none}.hand-sheet .card.concealed{box-shadow:none}.hand-sheet .card.concealed .card-face{box-shadow:inset 0 0 0 1px #ffffff0f}.hand-sheet .card.concealed.selected .card-face{box-shadow:0 0 0 3px var(--success),inset 0 0 0 1px #ffffff0f;transform:translateY(-6px)}.actions{display:flex;flex-wrap:wrap;gap:.75rem}@media(min-width:720px){.play-actions{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.play-actions .primary{justify-self:start}.play-actions .play-hidden{justify-self:center}.play-actions .take-pile{margin-left:0;justify-self:end}}.hand-sheet .play-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.hand-sheet .play-actions button{width:100%;justify-self:stretch}.card-panel .actions{justify-content:center;width:100%}.card-panel .actions>button{width:100%}.actions .hint{color:var(--text-muted)}.hints{font-size:.9rem;color:var(--text-muted);padding:.85rem 1rem;border-radius:18px;background:#ffffff05;border:1px dashed rgba(255,255,255,.05);text-align:center}.info-hints{display:none}.card-explainer{font-size:.9rem;color:var(--text-muted);padding:.85rem 1rem;border-radius:18px;background:#ffffff05;border:1px dashed rgba(255,255,255,.05);display:flex;flex-direction:column;gap:.35rem}.card-explainer strong{color:var(--text-strong)}.muted,.hint{color:var(--text-muted)}.card{width:100%;aspect-ratio:2 / 3;border-radius:12px;border:none;padding:0;background:transparent;position:relative;box-shadow:0 12px 25px #00000059;font-size:clamp(.85rem,.65rem + .45vw,1.2rem)}.card-face{position:absolute;inset:0;border-radius:12px;background:#fff;color:#111;display:flex;flex-direction:column;justify-content:space-between;padding:.6em;overflow:hidden}.card.card-red .card-face{color:#e01125}.card.card-black .card-face{color:#050505}.card.joker .card-face{background:#fff;color:inherit;border:2px solid transparent}.card.joker.card-red .card-face{color:#e01125;border-color:currentColor}.card.joker.card-black .card-face{color:#050505;border-color:currentColor}.card .card-corner{display:flex;flex-direction:column;font-size:1em;font-weight:600;gap:0}.card .card-rank{font-size:1.35em;line-height:1}.card .card-suit{font-size:1em}.card .card-corner.top{align-items:flex-start;align-self:flex-start;text-align:left}.card .card-corner.bottom{align-items:flex-end;align-self:flex-end;text-align:right}.card .card-center{display:flex;justify-content:center;align-items:center;flex:1}.card .card-suit.large{font-size:clamp(2.2em,1.6em + 1vw,3em)}.card .card-joker-symbol{font-size:clamp(2.2em,1.6em + 1vw,3em);letter-spacing:.05em}.card-count-badge{position:absolute;top:6px;right:6px;min-width:24px;padding:.15rem .45rem;border-radius:999px;background:#050505d9;border:1px solid rgba(255,255,255,.08);color:var(--text-strong);font-size:.75rem;font-weight:700;text-align:center;line-height:1;box-shadow:0 6px 16px #00000059;pointer-events:none}.card.concealed .card-face{background:radial-gradient(circle at 30% 20%,#ffffff14,#00000040);color:#f3f3f3;border:1px solid var(--border-soft);box-shadow:inset 0 0 0 1px #ffffff0f,0 10px 25px #0006}.card-face.hidden-face{align-items:center;justify-content:center;gap:.2rem;padding:.5em}.card-back-symbol{font-size:clamp(2.2em,1.4em + 1vw,3em);letter-spacing:.2em}.card-back-label{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}.card.disabled{opacity:.35;filter:saturate(.2)}.pile-area .card.disabled,.pile-modal .card.disabled{opacity:1;filter:none}.card.selected .card-face{box-shadow:0 0 0 3px var(--success),0 18px 30px #ffffff40;transform:translateY(-6px)}.bottom-pill-nav{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 1.5rem);transform:translate(-50%);display:flex;gap:.5rem;padding:.45rem .65rem;background:#050505d1;border:1px solid var(--border-soft);border-radius:999px;box-shadow:0 22px 40px #0000008c;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);width:min(820px,92vw);z-index:40}.bottom-pill-nav button{border-radius:999px;border:1px solid transparent;background:#ffffff0a;color:var(--text-muted);padding:.65rem 1.1rem;font-weight:700;flex:1}.bottom-pill-nav button.active{background:var(--accent);color:#050505;box-shadow:none}.bottom-pill-nav button:disabled{opacity:.55}.pill-rules{background:#72f1b826!important;border-color:#72f1b873!important;color:#acf6d1!important;font-weight:400!important;box-shadow:none!important}.pill-rules:hover:not(:disabled){background:#72f1b838!important}.pill-report{background:#ffd2732e!important;border-color:#ffd2738c!important;color:#ffe9b8!important;font-weight:400!important;box-shadow:none!important}.pill-report:hover:not(:disabled){background:#ffd27342!important}.pill-kick{background:#58a6ff33!important;border-color:#58a6ff8c!important;color:#c8e0ff!important;box-shadow:none!important}.pill-kick:hover:not(:disabled){background:#58a6ff47!important}@media(display-mode:standalone){.bottom-pill-nav{bottom:calc(env(safe-area-inset-bottom,0px) + 1.75rem)}}@media(max-width:640px){:root{--nav-height: 190px;--nav-gap: 40px;--nav-clearance: calc(var(--nav-height) + var(--nav-gap))}.bottom-pill-nav{width:calc(100% - 1.5rem);bottom:calc(env(safe-area-inset-bottom,0px) + max(8vw,3.25rem));padding:.4rem .55rem}.bottom-pill-nav button{padding:.6rem .85rem}}@media(max-width:640px)and (display-mode:standalone){.bottom-pill-nav{bottom:calc(env(safe-area-inset-bottom,0px) + max(10vw,3.75rem))}}@media(min-height:1200px){.pile-stack.single{--pile-card-height: min(calc(var(--pile-usable-height, 100vh) * .64), clamp(260px, 50vh, 660px));--pile-stack-max-width: clamp(720px, 66vw, 1080px)}}@media(min-height:1500px){.pile-stack.single{--pile-card-height: min(calc(var(--pile-usable-height, 100vh) * .66), clamp(300px, 52vh, 760px));--pile-stack-max-width: clamp(820px, 68vw, 1240px)}}@media(min-height:1800px){.pile-stack.single{--pile-card-height: min(calc(var(--pile-usable-height, 100vh) * .68), clamp(340px, 54vh, 860px));--pile-stack-max-width: clamp(940px, 70vw, 1400px)}}@media(min-height:2160px){.pile-stack.single{--pile-card-height: min(calc(var(--pile-usable-height, 100vh) * .7), clamp(400px, 56vh, 980px));--pile-stack-max-width: clamp(1040px, 72vw, 1560px)}}@media(max-width:480px){.app-shell{padding:clamp(.75rem,4vw,1.2rem)}.bottom-pill-nav{width:calc(100% - 1rem);padding:.35rem .5rem;bottom:calc(env(safe-area-inset-bottom,0px) + max(6vw,1.2rem))}.bottom-pill-nav button{padding:.55rem .85rem;font-size:.95rem}}@media(max-width:480px)and (display-mode:standalone){.bottom-pill-nav{bottom:calc(env(safe-area-inset-bottom,0px) + max(8vw,2.8rem))}}.game-top.compact{padding:.75rem;background:var(--bg-card);border:1px solid var(--border-soft);border-radius:18px;box-shadow:var(--shadow-soft);text-align:center}.modal.sheet{align-items:flex-end;padding:1.25rem 1rem 7rem}.modal-card.sheet-card{width:min(920px,100%);max-height:80vh;overflow:auto;text-align:left}.modal-card.sheet-card.hand-sheet{box-shadow:none}.sheet-header{display:flex;flex-direction:column;gap:.35rem;text-align:left}.sheet-header h3{margin:0}.lobby-sheet .sheet-header,.players-sheet .sheet-header{text-align:center;align-items:center}.info-sheet.sheet-card{display:flex;flex-direction:column;gap:.85rem}.kick-select-modal,.kick-vote-modal{display:flex;flex-direction:column;gap:.85rem;text-align:left}.kick-select-modal .player-select-grid{display:grid;gap:.65rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));width:100%}.kick-select-modal .actions,.kick-vote-modal .actions{display:flex;gap:.75rem}.kick-select-modal .actions>button{flex:1}.kick-vote-modal .actions>button{flex:1}.report-modal{display:flex;flex-direction:column;gap:.9rem;align-items:stretch;text-align:left}.report-modal .report-form{display:flex;flex-direction:column;gap:.85rem;width:100%;max-width:100%}.report-modal .report-form label{display:flex;flex-direction:column;gap:.35rem}.report-modal .report-form .file-field{align-items:center;text-align:center}.report-modal .report-form textarea,.report-modal .report-form select,.report-modal .report-form input[type=file]{width:100%;margin:0 auto}.report-modal .report-form .file-field input[type=file]{width:min(210px,100%);margin:0 auto;display:block;padding:.5rem;font-size:.95rem}.report-modal .report-form textarea{min-height:140px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:var(--text-strong);padding:.75rem .85rem;resize:vertical}.report-modal .report-form select{border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:var(--text-strong);padding:.65rem .85rem}.report-modal .report-form select option,.report-modal .report-form select optgroup{background:#101010;color:var(--text-strong)}.report-modal .report-form select option:hover,.report-modal .report-form select option:focus,.report-modal .report-form select option:checked{background:#1a1a1a;color:var(--text-strong)}.report-modal .report-form .file-field .file-list{list-style:none;padding:0;margin:.25rem auto 0;text-align:center}.report-modal .report-form .file-field .file-list li{display:block}.report-modal .field span{font-weight:500}.report-modal .actions{display:flex;gap:.75rem;justify-content:stretch}.report-modal .actions>button{flex:1;min-width:0}.take-pile-actions{width:100%;gap:.75rem;flex-direction:column;align-items:stretch}.take-pile-actions>button{width:100%;min-width:0}.report-modal .actions .primary{background:#f4f4f4;color:#050505;border-color:#ffffff59;box-shadow:none}.report-modal .actions .primary:disabled{background:#f4f4f4b3;color:#05050599;border-color:#fff3}.hand-sheet .sheet-header,.info-sheet .sheet-header{text-align:center;align-items:center}.info-sheet .game-top{margin-bottom:.75rem}.info-sheet .actions{flex-direction:column;align-items:stretch}.info-sheet .actions>button{width:100%}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.5rem;text-align:center;margin:.75rem 0}.info-sheet .info-actions{margin-top:.5rem;gap:.75rem}@media(max-width:640px){.info-grid{display:flex;flex-wrap:nowrap;width:100%;gap:.5rem}.info-grid>*{flex:1 1 0}}.accent-pill{background:var(--accent-muted);border-color:#58a6ff73;color:var(--accent-strong)}.deck-pill{background:#72f1b82e;border-color:#72f1b873;color:#acf6d1}.pile-pill{background:#ffd66633;border-color:#ffd6668c;color:#ffe7a0}.burned-pill{background:#ff6b6b2e;border-color:#ff6b6b73;color:#ffc2c2}.info-actions .pile-button{background:#ffd66633;border-color:#ffd6668c;color:#ffe7a0}.info-actions .pile-button:hover:not(:disabled){background:#ffd66647;border-color:#ffd666a6}.info-actions .pile-button.burned-button{background:#ff6b6b2e;border-color:#ff6b6b73;color:#ffc2c2}.info-actions .pile-button.burned-button:hover:not(:disabled){background:#ff6b6b40;border-color:#ff6b6b8c}.modal{position:fixed;inset:0;background:#050505cc;display:flex;justify-content:center;align-items:center;padding:1.5rem;z-index:60}.modal-card{background:#101010;border-radius:24px;border:1px solid var(--border-soft);padding:1.5rem;width:min(420px,100%);box-shadow:var(--shadow-strong);display:flex;flex-direction:column;gap:1rem;text-align:center}.showdown-modal{width:min(640px,100%);max-height:100%;min-height:0}.showdown-modal>:not(.showdown-grid){flex-shrink:0}.showdown-grid{justify-items:center;flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:.25rem}.showdown-modal .actions{flex-direction:column;align-items:stretch;width:100%}.showdown-modal .actions>button{width:100%}.showdown-modal .primary,.showdown-submit{background:#72f1b82e;border-color:#72f1b88c;color:#acf6d1;box-shadow:none;display:block}.showdown-submit:disabled{background:#72f1b814;border-color:#72f1b859;color:#acf6d1cc;opacity:.7}.showdown-modal .primary:disabled{background:#72f1b814;border-color:#72f1b859;color:#acf6d1cc;box-shadow:none}.results-modal{width:min(620px,100%);text-align:left;gap:1.25rem}.results-modal h3,.winner-line,.results-modal .hint{text-align:center}.winner-line{color:var(--accent-strong);font-weight:700;margin:0}.standings-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.65rem}.standings-row{display:grid;grid-template-columns:auto 1fr auto;gap:.75rem;align-items:center;padding:.75rem .9rem;border-radius:14px;border:1px solid var(--border-soft);background:#ffffff05}.standings-row.winner{border-color:#72f1b899;background:#72f1b814;box-shadow:0 12px 30px #72f1b826}.standings-row.you{box-shadow:0 0 0 1px #58a6ff66}.placement-pill{min-width:70px;text-align:center;padding:.35rem .7rem;border-radius:999px;background:#ffffff0f;font-weight:700}.standings-name{font-weight:700;color:var(--text-strong)}.standings-status{justify-self:end;color:var(--text-muted);font-size:.9rem}.results-actions{width:100%;flex-direction:column}.results-actions>button{width:100%}@media(min-width:640px){.results-actions{flex-direction:row}.results-actions>button{width:auto;flex:1}}.modal-card.pile-modal{width:min(560px,100%);text-align:left}.pile-modal-header{display:flex;justify-content:center;align-items:center;text-align:center}.pile-list{max-height:60vh;overflow:auto;display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:1rem;padding-right:.5rem}@media(max-width:640px){.pile-list{grid-template-columns:repeat(3,minmax(90px,1fr))}}.pile-modal-actions{margin-top:1rem}.pile-modal-actions .pile-close{width:100%}.pile-row{display:flex;flex-direction:column;gap:.65rem;align-items:center;padding:.9rem;border:1px solid rgba(255,255,255,.06);border-radius:14px;background:#ffffff05}.pile-meta{display:flex;flex-direction:column;gap:.25rem;text-align:center}.pile-player{font-weight:600}.pile-card-label{color:var(--text-muted);font-size:.9rem}@media(max-width:640px){.actions{flex-direction:column;align-items:stretch}button:not(.card){width:100%}.room-code-banner .actions{flex-direction:row;flex-wrap:nowrap;justify-content:center}.room-code-banner .actions button{width:auto;flex:1 1 0}.lobby-sheet .lobby-actions{flex-direction:row;flex-wrap:nowrap}.lobby-sheet .lobby-actions button{width:auto}.lobby-sheet .lobby-form{grid-template-columns:1fr}.game-top{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}
