:root{
  --game-bg:#0e1014;--game-surface:#151820;--game-surface-2:#1b1f28;--game-line:#2b313d;--game-text:#f3f5f7;--game-muted:#98a1ad;
  --game-cream:#f4ead7;--game-ink:#17191d;--game-red:#f04f45;--game-blue:#56a7ff;--game-green:#5bc98a;--game-yellow:#f0c24c;
  --game-radius:16px;--game-radius-sm:9px;--game-gap:clamp(16px,2vw,28px);--game-fast:140ms;--game-normal:240ms;
}
[data-theme="light"]{--game-bg:#f4efe6;--game-surface:#fffdf8;--game-surface-2:#f2ece1;--game-line:#d6ccbb;--game-text:#1a1b1f;--game-muted:#68707a;}
.game-landing,.game-room-page,.game-table,.game-replay-page{width:min(1240px,calc(100% - 32px));margin:0 auto;padding:32px 0 72px;color:var(--game-text)}
.game-kicker,.game-section-label{display:inline-block;font-size:.72rem;letter-spacing:.18em;font-weight:800;color:var(--game-muted)}
.game-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr);gap:var(--game-gap);align-items:stretch;border-top:1px solid var(--game-line);border-bottom:1px solid var(--game-line);padding:42px 0}
.game-hero-copy h1{font-size:clamp(3rem,8vw,7.4rem);line-height:.88;letter-spacing:-.07em;margin:14px 0 20px;max-width:900px}.game-hero-copy h1 em{font-style:normal;color:var(--game-red)}
.game-hero-copy>p{font-size:clamp(1rem,1.5vw,1.24rem);line-height:1.7;max-width:760px;color:var(--game-muted)}
.game-feature-strip{display:flex;gap:8px;flex-wrap:wrap;margin-top:26px}.game-feature-strip span{border:1px solid var(--game-line);padding:8px 11px;border-radius:999px;font-size:.78rem;font-weight:700}
.game-hero-mark{display:flex;align-items:center;justify-content:center;gap:10px;background:var(--game-cream);color:var(--game-ink);min-height:290px;clip-path:polygon(6% 0,100% 0,94% 100%,0 100%);font-size:clamp(5rem,10vw,9rem);font-weight:950;letter-spacing:-.1em}.game-hero-mark i{font-size:.55em;color:#777}.game-hero-mark strong{color:var(--game-red)}
.game-entry-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--game-line);margin-top:28px;border:1px solid var(--game-line)}.game-entry{position:relative;background:var(--game-surface);padding:30px}.game-entry.is-targeted{outline:2px solid var(--game-blue);outline-offset:-2px}.game-entry-number{position:absolute;right:24px;top:22px;font-weight:900;font-size:2.2rem;color:color-mix(in srgb,var(--game-muted) 24%,transparent)}
.game-entry h2,.game-invite-panel h2,.game-how h3{margin:7px 0}.game-entry>div>p{margin:0 0 24px;color:var(--game-muted)}
.game-entry form{display:grid;gap:14px}.game-entry label{display:grid;gap:7px;font-size:.82rem;font-weight:800;color:var(--game-muted)}.game-entry input,.game-entry select,.game-share-link{width:100%;border:1px solid var(--game-line);background:transparent;color:var(--game-text);padding:13px 14px;border-radius:var(--game-radius-sm);font:inherit;outline:none}.game-entry input:focus,.game-entry select:focus,.game-share-link:focus{border-color:var(--game-blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--game-blue) 18%,transparent)}.game-form-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.game-primary,.game-secondary,.game-ready,.game-main-actions button,.game-powers button,.game-share-actions button,.game-final-list button,.game-dialog button{border:0;border-radius:var(--game-radius-sm);min-height:46px;padding:0 16px;font-weight:850;cursor:pointer;transition:transform var(--game-fast),opacity var(--game-fast),background var(--game-fast)}.game-primary{background:var(--game-red);color:#fff}.game-secondary{background:var(--game-cream);color:var(--game-ink)}button:disabled{opacity:.42;cursor:not-allowed}.game-primary:not(:disabled):active,.game-secondary:not(:disabled):active,.game-ready:not(:disabled):active{transform:translateY(1px)}
.game-how{margin-top:54px}.game-how-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--game-line);margin-top:12px}.game-how-grid article{padding:24px 24px 0 0}.game-how-grid article+article{border-left:1px solid var(--game-line);padding-left:24px}.game-how-grid b{font-size:2rem;color:var(--game-red)}.game-how-grid p{color:var(--game-muted);line-height:1.65}
.game-install-warning{margin-top:28px;border:1px solid #8a6428;background:#2b2317;padding:18px;border-radius:var(--game-radius-sm)}
.game-inline-status{position:sticky;bottom:18px;z-index:80;width:max-content;max-width:min(90vw,520px);margin:18px auto 0;background:var(--game-surface-2);border:1px solid var(--game-line);padding:11px 14px;border-radius:999px;opacity:0;transform:translateY(8px);pointer-events:none;transition:.2s}.game-inline-status.show{opacity:1;transform:none}.game-inline-status[data-type="error"]{border-color:var(--game-red)}.game-inline-status[data-type="ok"]{border-color:var(--game-green)}
.game-room-head,.game-table-top,.game-replay-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;border-bottom:1px solid var(--game-line);padding-bottom:22px}.game-room-head h1,.game-replay-head h1{font-size:clamp(2rem,5vw,4rem);margin:7px 0}.game-room-head p,.game-replay-head p{margin:0;color:var(--game-muted)}.game-code-copy,.game-room-mini button{font:inherit;color:var(--game-red);background:none;border:0;cursor:pointer;padding:0}.game-connection{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--game-muted)}.game-connection i{width:9px;height:9px;border-radius:50%;background:var(--game-yellow)}.game-connection[data-status="online"] i{background:var(--game-green)}.game-connection[data-status="fallback"] i{background:var(--game-blue)}
.game-lobby-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:28px;margin-top:28px}.game-lobby-main,.game-invite-panel,.game-roster,.game-feed{border:1px solid var(--game-line);background:var(--game-surface)}.game-lobby-main{padding:24px}.game-invite-panel{padding:24px;align-self:start}.game-panel-title{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:18px}.game-panel-title h2{margin:4px 0 0}.game-panel-title>span{color:var(--game-muted);font-size:.82rem}
.game-player-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.game-player-tile{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;padding:12px;border:1px solid var(--game-line);border-radius:var(--game-radius-sm)}.game-player-tile.is-ready{border-color:color-mix(in srgb,var(--game-green) 55%,var(--game-line))}.game-player-tile.is-me{background:color-mix(in srgb,var(--game-blue) 8%,transparent)}.game-avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--game-cream);color:var(--game-ink);font-weight:900}.game-player-tile b{display:block}.game-player-tile small{color:var(--game-muted)}.game-player-tile>span{font-weight:900;color:var(--game-green)}.game-lobby-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.game-ready{background:var(--game-surface-2);color:var(--game-text);border:1px solid var(--game-line)}
.game-qr{display:grid;place-items:center;background:#fff;padding:14px;min-height:248px;margin:18px 0;border-radius:12px}.game-qr img,.game-qr canvas{max-width:100%;height:auto}.game-qr-loading,.game-qr-fallback{color:#333;text-align:center}.game-qr-fallback b{display:block;font-size:2rem}.game-invite-code{text-align:center;font-size:1.1rem}.game-share-link{font-size:.76rem}.game-share-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.game-share-actions button{background:var(--game-surface-2);color:var(--game-text);border:1px solid var(--game-line)}.game-invite-panel>small{display:block;color:var(--game-muted);line-height:1.5;margin-top:12px}
.game-table-top{align-items:center}.game-room-mini,.game-turn-summary{display:grid;gap:2px}.game-room-mini span,.game-turn-summary span{font-size:.68rem;letter-spacing:.15em;color:var(--game-muted)}.game-room-mini button{font-size:1.4rem;font-weight:950;letter-spacing:.1em}.game-turn-summary{text-align:center}.game-turn-summary b{font-size:1.5rem}.game-turn-summary small{font-size:.7rem;color:var(--game-muted)}
.game-stage{display:grid;grid-template-columns:250px minmax(0,1fr) 250px;gap:18px;margin-top:20px;align-items:start}.game-roster,.game-feed{padding:16px;position:sticky;top:16px}.game-roster-row{display:grid;grid-template-columns:26px 36px minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px 0;border-top:1px solid var(--game-line)}.game-roster-row:first-child{border-top:0}.game-roster-row.is-turn{margin:0 -8px;padding:10px 8px;background:color-mix(in srgb,var(--game-red) 11%,transparent)}.game-roster-row .rank{font-size:.72rem;color:var(--game-muted)}.game-roster-row .game-avatar{width:34px;height:34px}.game-roster-row b{display:block;font-size:.86rem}.game-roster-row small{display:block;color:var(--game-muted);font-size:.67rem;overflow:hidden;text-overflow:ellipsis}.game-roster-row .score{text-align:right}.game-roster-row .score b{font-size:.95rem}.game-roster-row .score small{white-space:nowrap}
.game-feed [data-event-feed]{display:grid;gap:0}.game-feed article{display:grid;grid-template-columns:10px 1fr;gap:9px;padding:9px 0;border-top:1px solid var(--game-line)}.game-feed article i{width:7px;height:7px;background:var(--game-red);border-radius:50%;margin-top:5px}.game-feed article b{display:block;font-size:.75rem}.game-feed article small{font-size:.66rem;color:var(--game-muted)}.game-empty-note{color:var(--game-muted);font-size:.8rem}
.game-center{min-width:0}.game-master-line{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;border-bottom:1px dashed var(--game-line);padding:8px 0 14px;margin-bottom:16px}.game-master-line span{font-size:.64rem;letter-spacing:.13em;font-weight:900;color:var(--game-red)}.game-master-line p{margin:0;color:var(--game-muted);font-size:.86rem;line-height:1.5}.game-current-player{text-align:center;font-size:.9rem;color:var(--game-muted);margin-bottom:14px}.game-current-player strong{color:var(--game-text)}
.game-choice>p{text-align:center;color:var(--game-muted)}.game-choice>div{display:grid;grid-template-columns:1fr 1fr;gap:12px}.game-choice button{position:relative;min-height:240px;border:1px solid var(--game-line);background:var(--game-surface);color:var(--game-text);border-radius:var(--game-radius);cursor:pointer;text-align:left;padding:22px;overflow:hidden}.game-choice button span{display:block;font-size:5.5rem;line-height:1;font-weight:950;opacity:.16}.game-choice button b{display:block;font-size:2rem;margin-top:14px}.game-choice button small{display:block;color:var(--game-muted);margin-top:4px}.game-choice button.truth:hover{border-color:var(--game-blue)}.game-choice button.dare:hover{border-color:var(--game-red)}
.game-card{border:1px solid var(--game-line);background:var(--game-cream);color:var(--game-ink);padding:clamp(22px,5vw,48px);min-height:420px;position:relative;overflow:hidden}.game-card[data-type="DARE"]{background:#f5dfd8}.game-card.is-mystery{background:#17151f;color:#f3edf9;border-color:#5a4a73}.game-card-top{display:flex;justify-content:space-between;gap:10px;font-size:.72rem;font-weight:900;letter-spacing:.14em}.game-card-symbol{font-size:clamp(5rem,12vw,9rem);font-weight:950;line-height:.8;opacity:.12;position:absolute;right:24px;top:58px}.game-card h2{font-size:clamp(2rem,5vw,4.5rem);line-height:.96;letter-spacing:-.05em;max-width:80%;margin:46px 0 18px}.game-card>p{font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.65;max-width:800px}.game-card-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}.game-card-meta span{border:1px solid currentColor;border-radius:999px;padding:6px 9px;font-size:.7rem;font-weight:800;opacity:.7}.game-participants{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:18px}.game-participants>span{font-size:.65rem;letter-spacing:.14em;font-weight:900}.game-participants b{font-size:.75rem;background:rgba(0,0,0,.07);padding:6px 8px;border-radius:999px}.game-votes{margin-top:12px;font-size:.75rem;opacity:.7}
.game-timer{margin-top:26px}.game-timer strong{font-size:2.2rem;font-variant-numeric:tabular-nums}.game-timer>div{height:6px;background:rgba(0,0,0,.14);margin-top:8px;overflow:hidden}.game-timer i{display:block;width:calc(var(--timer-ratio,1)*100%);height:100%;background:#1b1d21;transition:width .25s linear}.game-timer[data-level="warning"] strong{color:#b86e00}.game-timer[data-level="critical"] strong{color:#c12222}.game-timer[data-level="critical"] i{background:#c12222}
.game-main-actions{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:8px;margin-top:10px}.game-main-actions button{background:var(--game-surface-2);color:var(--game-text);border:1px solid var(--game-line)}.game-main-actions .complete{background:var(--game-green);color:#102016;border-color:transparent}.game-main-actions .danger-lite{border-color:color-mix(in srgb,var(--game-red) 45%,var(--game-line))}
.game-powers{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:10px}.game-powers>span{font-size:.65rem;font-weight:900;letter-spacing:.13em;color:var(--game-muted)}.game-powers button{min-height:38px;background:transparent;color:var(--game-text);border:1px solid var(--game-line);font-size:.77rem}.game-powers button b{background:var(--game-surface-2);padding:2px 6px;border-radius:999px;margin-left:4px}.game-spectator-vote{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px;color:var(--game-muted);font-size:.8rem}.game-spectator-vote button{background:transparent;color:var(--game-text);border:1px solid var(--game-line);border-radius:999px;padding:7px 11px;cursor:pointer}
.game-final,.game-result{margin-top:36px;border-top:1px solid var(--game-line);padding-top:28px}.game-final>div:first-child,.game-result>div:first-child{max-width:700px}.game-final h2,.game-result h2{font-size:clamp(2rem,5vw,4rem);margin:6px 0}.game-final p,.game-result p{color:var(--game-muted)}.game-final-list{display:grid;gap:10px;margin-top:20px}.game-final-list article{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;border:1px solid var(--game-line);padding:16px}.game-final-list article span{font-size:.7rem;color:var(--game-muted)}.game-final-list h3{margin:5px 0}.game-final-list p{margin:0 0 7px}.game-final-list button{background:var(--game-green);color:#102016}.game-final-list .waiting{white-space:nowrap}.game-podium{display:grid;gap:8px;margin-top:20px}.game-podium article{display:grid;grid-template-columns:55px 1fr auto;align-items:center;gap:12px;border-top:1px solid var(--game-line);padding:14px 0}.game-podium article>span{font-size:1.4rem;font-weight:950;color:var(--game-red)}.game-podium article small{display:block;color:var(--game-muted)}.game-podium article>strong{font-size:1.2rem}.game-result-actions{display:flex;gap:10px;margin-top:22px}.game-result-actions a{display:inline-grid;place-items:center;min-height:44px;padding:0 16px;border:1px solid var(--game-line);border-radius:var(--game-radius-sm);text-decoration:none;color:var(--game-text)}.game-result-actions .game-primary{border-color:transparent;color:#fff}
.game-dialog-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.68);z-index:999;display:grid;place-items:center;padding:20px}.game-dialog-backdrop[hidden]{display:none}.game-dialog{width:min(440px,100%);background:var(--game-surface);border:1px solid var(--game-line);padding:22px;border-radius:var(--game-radius)}.game-dialog h3{margin:8px 0 16px}.game-dialog [data-swap-list]{display:grid;grid-template-columns:1fr 1fr;gap:8px}.game-dialog button{background:var(--game-surface-2);color:var(--game-text);border:1px solid var(--game-line);margin-top:8px}
.game-replay-head a{color:var(--game-text);text-decoration:none;border:1px solid var(--game-line);padding:10px 12px;border-radius:var(--game-radius-sm)}.game-timeline{max-width:850px;margin:28px auto 0}.game-timeline article{display:grid;grid-template-columns:70px 16px 1fr;gap:12px;min-height:84px}.game-timeline time{font-size:.72rem;color:var(--game-muted);padding-top:3px}.game-timeline article>i{width:9px;height:9px;border-radius:50%;background:var(--game-red);margin-top:4px;position:relative}.game-timeline article>i:after{content:"";position:absolute;width:1px;background:var(--game-line);left:4px;top:11px;bottom:-68px}.game-timeline article:last-child>i:after{display:none}.game-timeline article div{padding-bottom:22px}.game-timeline b{display:block}.game-timeline small{color:var(--game-muted)}.game-timeline p{font:12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--game-muted);overflow-wrap:anywhere}
@media (hover:hover) and (pointer:fine){.game-entry:hover{background:color-mix(in srgb,var(--game-surface) 92%,var(--game-cream) 8%)}.game-primary:not(:disabled):hover,.game-secondary:not(:disabled):hover{transform:translateY(-1px)}}
@media (max-width:1050px){.game-stage{grid-template-columns:210px minmax(0,1fr)}.game-feed{display:none}.game-lobby-grid{grid-template-columns:minmax(0,1fr) 300px}}
@media (max-width:780px){.game-landing,.game-room-page,.game-table,.game-replay-page{width:min(100% - 20px,1240px);padding-top:20px}.game-hero{grid-template-columns:1fr}.game-hero-mark{min-height:170px}.game-entry-grid{grid-template-columns:1fr}.game-how-grid{grid-template-columns:1fr}.game-how-grid article+article{border-left:0;border-top:1px solid var(--game-line);padding-left:0;padding-top:18px}.game-lobby-grid{grid-template-columns:1fr}.game-stage{grid-template-columns:1fr}.game-roster{position:static;order:2}.game-center{order:1}.game-roster [data-roster]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.game-choice button{min-height:190px}.game-main-actions{grid-template-columns:1fr}.game-table-top{align-items:flex-start}.game-room-head{align-items:flex-start}.game-room-head .game-connection{margin-top:8px}}
@media (max-width:520px){.game-hero{padding-top:24px}.game-hero-copy h1{font-size:3.2rem}.game-entry{padding:20px}.game-form-pair{grid-template-columns:1fr}.game-player-grid{grid-template-columns:1fr}.game-lobby-actions{display:grid}.game-choice>div{grid-template-columns:1fr 1fr;gap:8px}.game-choice button{min-height:155px;padding:15px}.game-choice button span{font-size:3.5rem}.game-choice button b{font-size:1.35rem}.game-card{padding:20px;min-height:380px}.game-card h2{max-width:100%;font-size:2.4rem;margin-top:70px}.game-roster [data-roster]{grid-template-columns:1fr}.game-final-list article{grid-template-columns:1fr}.game-podium article{grid-template-columns:42px 1fr}.game-podium article>strong{grid-column:2}.game-result-actions{display:grid}.game-room-head,.game-replay-head{display:block}.game-room-head .game-connection{margin-top:14px}.game-share-actions{grid-template-columns:1fr}.game-dialog [data-swap-list]{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.game-top-actions{display:flex;align-items:center;gap:12px}.game-top-actions>button{background:transparent;color:var(--game-text);border:1px solid var(--game-line);border-radius:999px;padding:7px 11px;cursor:pointer;font-size:.75rem}.game-participants button{border:0;background:rgba(0,0,0,.1);color:inherit;border-radius:999px;padding:6px 9px;font-size:.7rem;font-weight:800;cursor:pointer}.game-dialog [data-participant-list]{display:grid;gap:8px}.game-dialog [data-participant-list] label{display:flex;align-items:center;gap:9px;border:1px solid var(--game-line);padding:10px;border-radius:var(--game-radius-sm)}.game-dialog [data-participant-list] input{width:18px;height:18px}.game-dialog [data-participant-list] p{color:var(--game-muted);font-size:.78rem;line-height:1.5}
.game-result-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:var(--game-line);border:1px solid var(--game-line);margin:20px 0}.game-result-metrics article{background:var(--game-surface);padding:14px}.game-result-metrics b{display:block;font-size:1.45rem}.game-result-metrics span{font-size:.72rem;color:var(--game-muted)}.game-achievement-wall{margin-top:24px}.game-achievement-wall>div{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.game-achievement-wall>div>span{border:1px solid var(--game-line);padding:8px 10px;border-radius:999px;font-size:.78rem}.game-achievement-wall small{color:var(--game-muted)}
@media(max-width:650px){.game-result-metrics{grid-template-columns:repeat(2,1fr)}.game-result-metrics article:last-child{grid-column:1/-1}}
.game-replay-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:20px 0}.game-replay-controls button,.game-replay-controls select{background:var(--game-surface);color:var(--game-text);border:1px solid var(--game-line);border-radius:var(--game-radius-sm);min-height:40px;padding:0 12px}.game-replay-controls label{font-size:.78rem;color:var(--game-muted);display:flex;align-items:center;gap:7px}.game-timeline article{cursor:pointer;transition:background var(--game-fast),transform var(--game-fast)}.game-timeline article.is-active{background:color-mix(in srgb,var(--game-red) 8%,transparent);transform:translateX(4px)}
/* v1.2 visual refinement based on the supplied dark competitive party-game reference */
:root{--game-bg:var(--bg-main);--game-surface:var(--bg-surface);--game-surface-2:var(--bg-elevated);--game-line:var(--line);--game-text:var(--text-primary);--game-muted:var(--text-secondary);--game-red:var(--dare);--game-blue:var(--truth-glow);--game-green:var(--success);--game-yellow:var(--warning);--game-cream:#f8fafc;--game-ink:#0f172a;--game-radius:16px;--game-radius-sm:8px}
.game-landing,.game-room-page,.game-table,.game-replay-page{width:min(1200px,calc(100% - 32px))}.game-hero{padding:64px 0 44px;border-top:0}.game-hero-copy h1{font-size:clamp(3.2rem,7vw,6.6rem);line-height:.92}.game-hero-copy h1 em{color:var(--dare-glow)}.game-hero-copy>p{color:var(--text-secondary);max-width:700px}.game-hero-mark{background:linear-gradient(145deg,#111827,#172033);color:var(--truth-glow);border:1px solid var(--line-strong);clip-path:none;border-radius:22px;box-shadow:var(--shadow-card)}.game-hero-mark strong{color:var(--dare-glow)}.game-entry-grid{background:transparent;border:0;gap:18px}.game-entry{border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 24px rgba(0,0,0,.18)}.game-entry:hover{border-color:var(--line-strong)}.game-entry input,.game-entry select,.game-share-link{background:#0f141d;border-color:var(--line-strong)}.game-primary{background:var(--truth);color:#fff}.game-secondary{background:var(--bg-elevated);color:#fff;border:1px solid var(--line-strong)}.game-entry-create .game-primary{background:var(--truth)}.game-entry-join .game-secondary{background:var(--dare);border-color:var(--dare)}.game-feature-strip span,.game-card-meta span,.game-achievement-wall>div>span{border-radius:7px}.game-lobby-main,.game-invite-panel,.game-roster,.game-feed{border-radius:16px;box-shadow:0 8px 22px rgba(0,0,0,.18)}.game-player-tile{background:#10151e;border-color:var(--line)}.game-player-tile.is-ready{border-color:rgba(16,185,129,.55)}.game-player-tile.is-me{background:rgba(2,132,199,.09)}.game-avatar{background:linear-gradient(145deg,#243247,#172033);color:#fff;border:1px solid var(--line-strong)}.game-qr{border-radius:16px}.game-stage{grid-template-columns:240px minmax(0,1fr) 240px}.game-center{min-width:0}.game-master-line{background:rgba(2,132,199,.08);border:1px solid rgba(56,189,248,.22);border-radius:10px}.game-choice button{border-radius:18px;box-shadow:0 12px 30px rgba(0,0,0,.22)}.game-choice .truth{background:linear-gradient(155deg,#0c2338,#082f49);border-color:#0369a1}.game-choice .truth span,.game-choice .truth b{color:#7dd3fc}.game-choice .dare{background:linear-gradient(155deg,#380c17,#3f0b18);border-color:#be123c}.game-choice .dare span,.game-choice .dare b{color:#fda4af}.game-card{border-radius:22px;border:1px solid var(--line-strong);background:linear-gradient(160deg,#172033,#111827);color:#f8fafc;box-shadow:var(--shadow-card);overflow:hidden}.game-card[data-type="TRUTH"]{border-color:#0369a1;background:linear-gradient(160deg,#102638,#0c1725)}.game-card[data-type="DARE"]{border-color:#9f1239;background:linear-gradient(160deg,#32101c,#1b1119)}.game-card.is-mystery{border-color:#b45309;background:linear-gradient(160deg,#2e1a05,#17120a)}.game-card h2,.game-card>p{color:inherit}.game-card-symbol{opacity:.08}.game-timer{border-top:1px solid rgba(255,255,255,.09);padding-top:18px}.game-timer-head{display:flex;align-items:end;justify-content:space-between;gap:14px}.game-timer-head span{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:#94a3b8;font-weight:800}.game-timer strong{font-size:2.6rem}.game-timer>div{background:rgba(255,255,255,.1);border-radius:10px}.game-timer i{background:var(--truth-glow)}.game-timer[data-level="waiting"] strong{color:#cbd5e1}.game-timer[data-level="warning"] strong{color:#fbbf24}.game-timer[data-level="critical"] strong,.game-timer[data-level="expired"] strong{color:#fb7185}.game-timer[data-level="expired"] i{background:#e11d48;width:0!important}.game-owner-actions{grid-template-columns:1fr}.game-owner-actions button{background:var(--bg-elevated)}.game-review-panel{margin-top:12px;padding:14px;border:1px solid #334155;border-radius:12px;background:#10151e;display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:8px;align-items:center}.game-review-panel[hidden]{display:none}.game-review-panel>div{display:grid;gap:3px}.game-review-panel>div span{font-size:.65rem;letter-spacing:.12em;color:#64748b;font-weight:900}.game-review-panel>div strong{font-size:.82rem;color:#cbd5e1}.game-review-panel button{min-height:42px;border-radius:8px;padding:0 13px;font-weight:850;color:white;border:1px solid transparent}.review-start{background:#2563eb}.review-pass{background:#059669}.review-fail{background:#be123c}.game-powers button{border-radius:8px}.game-top-actions>button{border-radius:8px}.game-inline-status{border-radius:10px}.game-result-metrics{border-radius:14px;overflow:hidden}.game-dialog{background:#141923;border-color:#334155;box-shadow:0 25px 55px rgba(0,0,0,.5)}
@media(max-width:900px){.game-review-panel{grid-template-columns:1fr 1fr}.game-review-panel>div{grid-column:1/-1}.game-stage{grid-template-columns:200px minmax(0,1fr)}.game-feed{display:none}}
@media(max-width:780px){.game-stage{grid-template-columns:1fr}.game-roster{order:2}.game-center{order:1}.game-review-panel{grid-template-columns:1fr}.game-review-panel>div{grid-column:auto}.game-review-panel button{width:100%}}
/* Home v1.2 - closer to supplied reference */
.game-home-v12{padding-top:0}.arena-hero{min-height:540px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;max-width:860px;margin:auto;padding:54px 12px}.arena-hero h1{font-size:clamp(2.8rem,7vw,5.4rem);line-height:1.02;letter-spacing:-.055em;margin:16px 0 20px}.arena-hero h1 span{color:var(--truth-glow)}.arena-hero h1 em{font-style:normal;color:var(--dare-glow)}.arena-hero>p{max-width:700px;margin:0;color:var(--text-secondary);font-size:1.08rem;line-height:1.72}.arena-hero>p b{color:#e2e8f0}.arena-cta{display:flex;gap:12px;width:min(100%,470px);margin-top:30px}.arena-cta button,.arena-modal form>button{flex:1;min-height:52px;border:1px solid transparent;border-radius:12px;color:#fff;font-weight:850;cursor:pointer;padding:0 18px}.arena-primary{background:#2563eb}.arena-primary:hover{background:#1d4ed8}.arena-secondary{background:#141923!important;border-color:#334155!important}.arena-secondary:hover{background:#1d2433!important}.arena-metrics{display:flex;gap:10px 18px;justify-content:center;flex-wrap:wrap;margin-top:24px;color:#64748b;font-size:.75rem;font-weight:750}.arena-metrics span:first-child{color:#94a3b8}.arena-metrics i{display:inline-block;width:7px;height:7px;background:#10b981;border-radius:50%;box-shadow:0 0 7px #10b981;margin-right:5px}.arena-features{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:10px auto 60px;max-width:980px}.arena-features article{background:#141923;border:1px solid #232d3f;border-radius:16px;padding:22px;min-height:180px}.arena-features article>span{font-size:1.6rem}.arena-features h3{margin:13px 0 8px}.arena-features p{margin:0;color:#94a3b8;line-height:1.6;font-size:.9rem}.arena-modal{position:fixed;inset:0;z-index:500;background:rgba(6,8,12,.82);backdrop-filter:blur(6px);display:grid;place-items:center;padding:18px;opacity:1;transition:opacity .18s ease}.arena-modal.is-closed{opacity:0;pointer-events:none}.arena-modal-dialog{width:min(520px,100%);background:#141923;border:1px solid #334155;border-radius:20px;padding:24px;box-shadow:0 25px 70px rgba(0,0,0,.55);transform:translateY(0);transition:transform .2s ease}.arena-modal.is-closed .arena-modal-dialog{transform:translateY(14px)}.arena-modal-dialog header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.arena-modal-dialog h2{margin:4px 0 0}.arena-modal-dialog header button{width:38px;height:38px;border:1px solid #334155;background:#1d2433;color:white;border-radius:9px;font-size:1.4rem;cursor:pointer}.arena-modal form{display:grid;gap:14px}.arena-modal label{display:grid;gap:7px;color:#94a3b8;font-size:.82rem;font-weight:750}.arena-modal input,.arena-modal select{width:100%;background:#0b0e14;border:1px solid #334155;color:#f8fafc;padding:13px;border-radius:10px;outline:none}.arena-modal input:focus,.arena-modal select:focus{border-color:#38bdf8;box-shadow:0 0 0 3px rgba(56,189,248,.12)}
@media(max-width:700px){.arena-hero{min-height:440px;padding-top:32px}.arena-cta{display:grid}.arena-features{grid-template-columns:1fr}.arena-features article{min-height:0}.arena-modal-dialog{padding:18px}}
.final-review-actions{display:flex;gap:7px}.final-review-actions .final-fail{background:#be123c;color:#fff}.final-review-actions button:first-child{background:#059669;color:#fff}@media(max-width:520px){.final-review-actions{display:grid}}

/* v1.2 runtime states */
.game-install-warning a{color:#fbbf24;font-weight:800}.game-connection[data-status="online"] i{background:#10b981}.game-connection[data-status="fallback"] i{background:#f59e0b}.game-connection[data-status="offline"] i{background:#ef4444}.game-connection[data-status="connecting"] i{background:#38bdf8}
.game-final-list article{border-radius:14px;background:#111722}.final-card-copy{min-width:0}.final-timer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid #273244}.final-timer span{font-size:.68rem!important;letter-spacing:.08em;text-transform:uppercase}.final-timer strong{font-size:1.5rem;font-variant-numeric:tabular-nums}.final-timer strong[data-level="warning"]{color:#fbbf24}.final-timer strong[data-level="expired"]{color:#fb7185}.final-timer.no-timer{justify-content:flex-start}.final-review-actions{min-width:185px;align-items:stretch}.final-review-actions button{min-width:110px}.final-review-actions .final-start{background:#2563eb;color:#fff}.final-review-actions button:disabled{filter:saturate(.45)}
.game-inline-status[data-type="error"]{background:#2b1219;color:#fecdd3}.game-inline-status[data-type="ok"]{background:#10261d;color:#bbf7d0}
@media(max-width:640px){.final-review-actions{width:100%;min-width:0}.final-review-actions button{width:100%}.game-final-list article{padding:14px}}

/* v1.4 visual upgrade */
.game-landing,.game-room-page,.game-table,.game-replay-page{position:relative;padding-top:26px}
.game-landing::before,.game-room-page::before,.game-table::before,.game-replay-page::before{
  content:"";position:absolute;inset:0 0 auto 0;height:220px;pointer-events:none;z-index:-1;
  background:radial-gradient(600px 180px at 10% 0%, rgba(56,189,248,.10), transparent 70%),radial-gradient(560px 220px at 90% 0%, rgba(251,113,133,.09), transparent 68%);
}
.game-kicker,.game-section-label{color:#cbd5e1;font-weight:900;letter-spacing:.2em}
.game-install-warning{border:1px solid rgba(245,158,11,.38);background:linear-gradient(180deg,rgba(57,43,20,.95),rgba(38,28,14,.95));box-shadow:0 18px 40px rgba(0,0,0,.22)}

/* landing */
.arena-hero{
  position:relative;overflow:hidden;max-width:1120px;margin:10px auto 18px;
  padding:56px 58px;border:1px solid rgba(148,163,184,.14);border-radius:32px;
  background:
    linear-gradient(135deg,rgba(22,28,41,.97),rgba(13,18,28,.98)),
    radial-gradient(circle at top left, rgba(56,189,248,.13), transparent 42%),
    radial-gradient(circle at top right, rgba(251,113,133,.11), transparent 38%);
  box-shadow:0 30px 90px rgba(0,0,0,.34);
}
.arena-hero::before,
.arena-hero::after{
  content:"";position:absolute;border-radius:999px;pointer-events:none;filter:blur(8px);opacity:.6
}
.arena-hero::before{width:240px;height:240px;background:radial-gradient(circle, rgba(56,189,248,.22), transparent 65%);top:-90px;left:-65px}
.arena-hero::after{width:220px;height:220px;background:radial-gradient(circle, rgba(251,113,133,.18), transparent 65%);right:-70px;bottom:-80px}
.arena-hero h1{margin:16px 0 18px;max-width:760px;font-size:clamp(3rem,6.8vw,5.9rem);line-height:.92;letter-spacing:-.06em}
.arena-hero h1 span{color:#7dd3fc;text-shadow:0 0 22px rgba(56,189,248,.18)}
.arena-hero h1 em{font-style:normal;color:#fda4af;text-shadow:0 0 20px rgba(244,63,94,.14)}
.arena-hero>p{max-width:720px;font-size:1.03rem;line-height:1.78;color:#cbd5e1}
.arena-cta{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0 22px}
.arena-primary,.arena-secondary,.game-primary,.game-secondary,.game-ready,.game-main-actions button,.game-powers button,.game-share-actions button,.game-final-list button,.game-dialog button,.game-result-actions a,
.game-review-panel button,.game-replay-controls button,.game-replay-controls select{
  border-radius:14px;border:1px solid transparent;font-weight:850;letter-spacing:.01em;
  box-shadow:0 8px 20px rgba(0,0,0,.16)
}
.arena-primary,.game-primary{
  background:linear-gradient(135deg,#f04f45,#fb7185);color:#fff;
  box-shadow:0 12px 30px rgba(244,63,94,.28)
}
.arena-secondary,.game-secondary{
  background:linear-gradient(135deg,rgba(17,24,39,.96),rgba(23,31,47,.96));border-color:rgba(148,163,184,.18);color:#f8fafc
}
.arena-primary:hover,.game-primary:hover,.game-ready:hover,.game-main-actions button:hover,.game-powers button:hover,.game-share-actions button:hover,.game-review-panel button:hover,.game-result-actions a:hover{transform:translateY(-1px)}
.arena-metrics{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.arena-metrics span{
  padding:10px 14px;border:1px solid rgba(148,163,184,.14);border-radius:999px;
  background:rgba(255,255,255,.03);color:#cbd5e1;font-size:.76rem
}
.arena-features{margin:0 auto 64px;max-width:1120px;gap:18px}
.arena-features article{
  position:relative;overflow:hidden;min-height:200px;padding:26px 24px;
  border:1px solid rgba(148,163,184,.14);border-radius:22px;
  background:linear-gradient(180deg,rgba(20,25,35,.96),rgba(17,22,31,.94));
  box-shadow:0 20px 50px rgba(0,0,0,.24)
}
.arena-features article::after{content:"";position:absolute;inset:auto -40px -50px auto;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle, rgba(255,255,255,.06), transparent 65%)}
.arena-features article:nth-child(1){background-image:linear-gradient(180deg,rgba(15,27,38,.98),rgba(17,22,31,.94))}
.arena-features article:nth-child(2){background-image:linear-gradient(180deg,rgba(28,20,34,.98),rgba(17,22,31,.94))}
.arena-features article:nth-child(3){background-image:linear-gradient(180deg,rgba(24,24,36,.98),rgba(17,22,31,.94))}
.arena-features article>span{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:rgba(255,255,255,.05);font-size:1.5rem}
.arena-modal{background:rgba(4,8,14,.8)}
.arena-modal-dialog{border-radius:24px;background:linear-gradient(180deg,#141923,#111722);border-color:rgba(148,163,184,.18)}
.arena-modal-dialog header button{border-radius:12px}

/* lobby */
.game-room-head,.game-table-top,.game-replay-head{
  align-items:center;padding:22px 26px;border:1px solid rgba(148,163,184,.14);border-radius:24px;
  background:linear-gradient(180deg,rgba(18,23,32,.96),rgba(15,20,28,.94));
  box-shadow:0 20px 56px rgba(0,0,0,.22)
}
.game-room-head h1,.game-replay-head h1{letter-spacing:-.05em}
.game-lobby-grid{grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:22px;align-items:start}
.game-lobby-main,.game-invite-panel,.game-roster,.game-feed,.game-final,.game-result,.game-choice,.game-card,.game-master-line,.game-current-player,.game-review-panel{
  border:1px solid rgba(148,163,184,.14);border-radius:24px;box-shadow:0 22px 60px rgba(0,0,0,.22)
}
.game-lobby-main,.game-invite-panel,.game-roster,.game-feed,.game-final,.game-result{background:linear-gradient(180deg,rgba(20,25,35,.95),rgba(15,19,27,.95))}
.game-invite-panel{position:sticky;top:108px;padding:24px 22px}
.game-panel-title{margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid rgba(148,163,184,.11)}
.game-player-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.game-player-tile,.game-roster-row{
  position:relative;overflow:hidden;
  border:1px solid rgba(148,163,184,.12);border-radius:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.01));
}
.game-player-tile{padding:14px 14px 14px 12px}
.game-player-tile::before,.game-roster-row::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:transparent}
.game-player-tile.is-ready::before{background:linear-gradient(180deg,#10b981,#34d399)}
.game-player-tile.is-me{background:linear-gradient(180deg,rgba(14,165,233,.09),rgba(255,255,255,.02));border-color:rgba(56,189,248,.24)}
.game-avatar{background:linear-gradient(135deg,#f8fafc,#dbeafe 70%,#fde2e8);box-shadow:0 10px 22px rgba(255,255,255,.08), inset 0 1px 0 rgba(255,255,255,.5)}
.game-player-tile > span{padding:4px 9px;border-radius:999px;background:rgba(16,185,129,.12);font-size:.72rem}
.game-lobby-actions{justify-content:space-between;align-items:center;padding-top:18px;border-top:1px solid rgba(148,163,184,.11)}
.game-ready{background:linear-gradient(180deg,rgba(17,24,39,.92),rgba(19,30,49,.92));border:1px solid rgba(148,163,184,.18);color:#f8fafc}
.game-qr{border-radius:20px;box-shadow:inset 0 1px 0 rgba(255,255,255,.4)}
.game-share-link{background:rgba(8,11,17,.95)}
.game-share-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.game-share-actions button{background:linear-gradient(180deg,rgba(17,24,39,.98),rgba(20,25,35,.98));border:1px solid rgba(148,163,184,.16);color:#f8fafc}

/* table */
.game-table-top{margin-bottom:22px}
.game-room-mini,.game-turn-summary,.game-top-actions{display:flex;align-items:center;gap:12px}
.game-room-mini span,.game-turn-summary span{padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.05);font-size:.72rem;letter-spacing:.12em;color:#94a3b8}
.game-room-mini button{padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid rgba(148,163,184,.14);color:#fff}
.game-turn-summary{display:grid;justify-items:center;gap:2px}.game-turn-summary b{font-size:1.8rem}.game-turn-summary small{color:#cbd5e1}
.game-top-actions button[data-fullscreen]{height:44px;padding:0 14px;border:1px solid rgba(148,163,184,.16);border-radius:999px;background:rgba(255,255,255,.04);color:#f8fafc}
.game-stage{display:grid;grid-template-columns:280px minmax(0,1fr) 280px;gap:22px;align-items:start}
.game-roster,.game-feed{padding:20px;position:sticky;top:116px}
.game-roster-row{display:grid;grid-template-columns:32px 38px 1fr auto;align-items:center;gap:12px;padding:12px 12px 12px 10px;margin-bottom:10px}
.game-roster-row.is-turn{border-color:rgba(56,189,248,.3);background:linear-gradient(180deg,rgba(14,165,233,.12),rgba(255,255,255,.02))}
.game-roster-row.is-turn::before{background:linear-gradient(180deg,#38bdf8,#0ea5e9)}
.game-roster-row.is-me{box-shadow:inset 0 0 0 1px rgba(251,113,133,.18)}
.game-roster-row .rank{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.06);font-size:.76rem;font-weight:900}
.game-roster-row .score{text-align:right}.game-roster-row .score b{display:block;font-size:1.02rem}.game-roster-row .score small{color:#94a3b8}
.game-feed article{display:grid;grid-template-columns:10px 1fr;gap:12px;padding:12px 0;border-top:1px solid rgba(148,163,184,.08)}
.game-feed article:first-child{border-top:0;padding-top:0}
.game-feed article i{width:10px;height:10px;border-radius:50%;background:linear-gradient(135deg,#38bdf8,#fb7185);box-shadow:0 0 0 4px rgba(255,255,255,.04)}
.game-empty-note{color:#94a3b8}
.game-center{display:grid;gap:18px;align-content:start}
.game-master-line,.game-current-player,.game-choice,.game-card,.game-review-panel,.game-final,.game-result{padding:24px}
.game-master-line{
  background:linear-gradient(135deg,rgba(20,25,35,.96),rgba(15,19,27,.94));
  display:grid;gap:8px
}
.game-master-line span{display:inline-flex;width:max-content;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.04);letter-spacing:.14em;font-size:.7rem;color:#cbd5e1}
.game-master-line p{margin:0;font-size:1.02rem;color:#e2e8f0;line-height:1.65}
.game-current-player{background:linear-gradient(135deg,rgba(7,89,133,.18),rgba(15,23,42,.96));font-size:1.12rem;font-weight:800;line-height:1.6}
.game-choice{background:linear-gradient(180deg,rgba(20,25,35,.96),rgba(15,20,28,.94))}
.game-choice > p{margin:0 0 16px;color:#cbd5e1;font-weight:800}
.game-choice > div{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.game-choice button{
  position:relative;overflow:hidden;min-height:140px;padding:22px;border:1px solid rgba(148,163,184,.12);border-radius:22px;
  background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.01));text-align:left;color:#fff;cursor:pointer
}
.game-choice button span{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:rgba(255,255,255,.10);font-weight:900;font-size:1.15rem;margin-bottom:16px}
.game-choice button b{display:block;font-size:1.42rem;margin-bottom:8px}.game-choice button small{display:block;color:#cbd5e1;line-height:1.5}
.game-choice button.truth{box-shadow:inset 0 0 0 1px rgba(56,189,248,.14)}
.game-choice button.dare{box-shadow:inset 0 0 0 1px rgba(251,113,133,.16)}
.game-choice button.truth:hover{background:linear-gradient(180deg,rgba(14,165,233,.15),rgba(255,255,255,.02))}
.game-choice button.dare:hover{background:linear-gradient(180deg,rgba(244,63,94,.15),rgba(255,255,255,.02))}
.game-card{
  position:relative;overflow:hidden;
  background:linear-gradient(180deg,rgba(20,25,35,.97),rgba(15,20,28,.96));
}
.game-card::before{content:"";position:absolute;inset:0;background:radial-gradient(300px 120px at top right, rgba(255,255,255,.06), transparent 60%);pointer-events:none}
.game-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.game-card-top span:first-child{padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.06);font-size:.76rem;letter-spacing:.14em}
.game-card[data-type="TRUTH"] .game-card-top span:first-child{background:rgba(14,165,233,.16);color:#7dd3fc}
.game-card[data-type="DARE"] .game-card-top span:first-child{background:rgba(244,63,94,.16);color:#fda4af}
.game-card.is-mystery .game-card-top span:first-child{background:rgba(245,158,11,.18);color:#fcd34d}
.game-card-symbol{display:grid;place-items:center;width:70px;height:70px;border-radius:22px;margin-bottom:14px;background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.03));font-size:2rem;font-weight:900}
.game-card h2{margin:0 0 10px;font-size:clamp(1.8rem,2.6vw,2.3rem);letter-spacing:-.04em}
.game-card p{margin:0;color:#e2e8f0;line-height:1.72;font-size:1.05rem}
.game-card-meta,.game-participants,.game-votes{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;align-items:center}
.game-card-meta span,.game-participants span,.game-votes span,.game-participants b{padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.045);color:#cbd5e1;font-size:.84rem}
.game-participants b{font-weight:800;color:#fff}
.game-participants button{margin-left:auto;border:1px solid rgba(148,163,184,.18);background:rgba(255,255,255,.04);color:#fff;border-radius:999px;padding:8px 12px;cursor:pointer}
.game-timer{margin-top:22px;padding:18px;border-radius:20px;background:linear-gradient(180deg,rgba(8,12,18,.74),rgba(12,17,24,.92));border:1px solid rgba(148,163,184,.12)}
.game-timer-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:12px}
.game-timer-head span{font-size:.74rem;letter-spacing:.14em;color:#94a3b8}.game-timer-head strong{font-size:2.2rem;font-variant-numeric:tabular-nums;letter-spacing:-.03em}
.game-timer > div:last-child{height:10px;background:rgba(255,255,255,.06);border-radius:999px;overflow:hidden}
.game-timer > div:last-child i{display:block;height:100%;width:calc(var(--timer-ratio, 1) * 100%);border-radius:999px;background:linear-gradient(90deg,#38bdf8,#f43f5e);transition:width .25s linear}
.game-timer[data-level="warning"] strong{color:#fcd34d}.game-timer[data-level="critical"] strong,.game-timer[data-level="expired"] strong{color:#fda4af}
.game-main-actions,.game-powers{display:flex;gap:10px;flex-wrap:wrap}
.game-main-actions button,.game-powers button,.game-result-actions a,.game-replay-controls button,.game-replay-controls select{padding:0 16px;min-height:46px;text-decoration:none}
.game-main-actions button,.game-powers button{background:linear-gradient(180deg,rgba(17,24,39,.96),rgba(15,20,28,.96));border:1px solid rgba(148,163,184,.16);color:#f8fafc}
.game-review-panel{display:grid;grid-template-columns:1fr auto auto auto;gap:10px;align-items:center;background:linear-gradient(135deg,rgba(25,38,62,.9),rgba(17,22,31,.94))}
.game-review-panel > div{min-width:0}.game-review-panel span{display:block;font-size:.72rem;letter-spacing:.14em;color:#94a3b8;margin-bottom:5px}.game-review-panel strong{line-height:1.55}
.review-start{background:linear-gradient(135deg,#2563eb,#38bdf8)!important;color:#fff}.review-pass{background:linear-gradient(135deg,#059669,#34d399)!important;color:#fff}.review-fail{background:linear-gradient(135deg,#be123c,#fb7185)!important;color:#fff}
.game-final,.game-result{margin-top:22px}
.game-final > div:first-child,.game-result > div:first-child{margin-bottom:18px}
.game-final-list{display:grid;gap:14px}
.game-final-list article{border-radius:20px;border:1px solid rgba(148,163,184,.12);background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.01));padding:16px}
.game-final-list article h4{margin:0 0 8px}.game-final-list article p{margin:0;color:#cbd5e1;line-height:1.6}
.game-result-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}
.game-result-metrics article{padding:16px;border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.01));border:1px solid rgba(148,163,184,.12)}
.game-result-metrics b{display:block;font-size:1.7rem}.game-result-metrics span{display:block;margin-top:4px;color:#94a3b8;font-size:.78rem}
.game-podium{display:grid;gap:12px}
.game-podium article{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:16px;border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.01));border:1px solid rgba(148,163,184,.12)}
.game-podium article strong{font-size:1.1rem}.game-podium article b{font-size:1.3rem}
.game-achievement-wall{margin-top:18px;padding:18px;border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.01));border:1px solid rgba(148,163,184,.12)}
.game-achievement-wall > div{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.game-achievement-wall article,.game-achievement-wall > div > div{padding:10px 12px;border-radius:999px;background:rgba(245,158,11,.13);color:#fde68a;font-size:.84rem;font-weight:800}
.game-result-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.game-result-actions a{display:grid;place-items:center;background:linear-gradient(180deg,rgba(17,24,39,.96),rgba(15,20,28,.96));border:1px solid rgba(148,163,184,.16);color:#fff}
.game-result-actions .game-primary{background:linear-gradient(135deg,#f04f45,#fb7185);border:0}
.game-dialog-backdrop{background:rgba(6,8,12,.82);backdrop-filter:blur(8px)}
.game-dialog{width:min(560px,calc(100% - 32px));padding:24px;border-radius:24px;background:linear-gradient(180deg,#141923,#111722);border:1px solid rgba(148,163,184,.18);box-shadow:0 25px 70px rgba(0,0,0,.45)}
.game-dialog h3{margin:6px 0 16px}.game-dialog form,.game-dialog [data-swap-list]{display:grid;gap:12px}.game-dialog label{display:flex;gap:12px;align-items:center;padding:12px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(148,163,184,.12)}
.game-dialog button{background:linear-gradient(180deg,rgba(17,24,39,.96),rgba(15,20,28,.96));color:#fff;border:1px solid rgba(148,163,184,.16)}
.game-dialog button[type="submit"]{background:linear-gradient(135deg,#f04f45,#fb7185);border:0}

/* replay */
.game-replay-controls{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:18px 0 20px}
.game-replay-controls button,.game-replay-controls select{background:linear-gradient(180deg,rgba(20,25,35,.96),rgba(15,20,28,.96));border:1px solid rgba(148,163,184,.16);color:#fff}
.game-timeline{display:grid;gap:0;padding:8px 0}
.game-timeline article{display:grid;grid-template-columns:90px 20px 1fr;gap:14px;align-items:start;padding:16px 0;border-top:1px solid rgba(148,163,184,.10)}
.game-timeline article:first-child{border-top:0}.game-timeline time{font-variant-numeric:tabular-nums;color:#94a3b8;font-size:.84rem}.game-timeline i{width:14px;height:14px;border-radius:50%;margin-top:3px;background:linear-gradient(135deg,#38bdf8,#fb7185);box-shadow:0 0 0 6px rgba(255,255,255,.03)}
.game-timeline b{display:block;margin-bottom:4px}.game-timeline small,.game-timeline p{color:#cbd5e1}.game-timeline p{margin:8px 0 0;line-height:1.6}

@media(max-width:1100px){
  .game-stage{grid-template-columns:1fr}
  .game-roster,.game-feed{position:static}
  .game-lobby-grid{grid-template-columns:1fr}
  .game-invite-panel{position:static}
}
@media(max-width:860px){
  .arena-hero{padding:38px 26px 32px;border-radius:26px}
  .arena-features{grid-template-columns:1fr}
  .game-room-head,.game-table-top,.game-replay-head{padding:18px;border-radius:20px;align-items:flex-start;flex-direction:column}
  .game-player-grid{grid-template-columns:1fr}
  .game-choice > div{grid-template-columns:1fr}
  .game-review-panel{grid-template-columns:1fr}
  .game-result-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .game-timeline article{grid-template-columns:1fr;gap:8px}.game-timeline i{display:none}
}
@media(max-width:640px){
  .game-landing,.game-room-page,.game-table,.game-replay-page{width:min(100% - 20px,1240px);padding-top:18px;padding-bottom:52px}
  .arena-hero h1{font-size:clamp(2.3rem,14vw,3.7rem)}
  .arena-hero>p{font-size:.96rem}
  .game-master-line,.game-current-player,.game-choice,.game-card,.game-review-panel,.game-final,.game-result,.game-roster,.game-feed,.game-lobby-main,.game-invite-panel{padding:18px}
  .game-room-mini,.game-top-actions{width:100%;justify-content:space-between}
  .game-timer-head strong{font-size:1.8rem}
  .game-card h2{font-size:1.55rem}.game-card p{font-size:1rem}
  .game-result-metrics{grid-template-columns:1fr}
  .game-podium article{grid-template-columns:1fr auto}
  .game-podium article .game-avatar{order:-1}
}

/* Phase 1/10 — presets, host rule builder, spectator mode, game-feel */
.game-modal-open{overflow:hidden}
.arena-modal-wide{width:min(1040px,100%);max-height:min(88vh,920px);overflow:auto}
.arena-modal-dialog header p{margin:5px 0 0;color:#94a3b8;font-size:.86rem}
.game-create-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:22px;align-items:start}
.game-create-main{display:grid;gap:16px;min-width:0}
.game-preset-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-top:6px;padding-top:18px;border-top:1px solid rgba(148,163,184,.12)}
.game-preset-head h3,.game-rule-title h3{margin:4px 0 0;font-size:1.15rem}
.game-preset-head>span{padding:7px 11px;border:1px solid rgba(148,163,184,.15);background:#0c1119;color:#e2e8f0;font-size:.72rem;font-weight:900;letter-spacing:.06em}
.game-preset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.game-preset-card{min-height:108px;text-align:left;padding:15px;border:1px solid rgba(148,163,184,.13);background:#111722;color:#f8fafc;cursor:pointer;display:grid;grid-template-columns:36px 1fr;grid-template-rows:auto 1fr;gap:2px 10px;align-items:start;transition:border-color .18s ease,transform .18s ease,background .18s ease}
.game-preset-card:hover{border-color:rgba(125,211,252,.36);transform:translateY(-1px)}
.game-preset-card.is-selected{border-color:#38bdf8;background:#102131;box-shadow:inset 4px 0 0 #38bdf8}
.game-preset-icon{grid-row:1/3;display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(148,163,184,.16);font-size:1.05rem;color:#7dd3fc}
.game-preset-card b{font-size:.92rem}.game-preset-card small{color:#94a3b8;line-height:1.45}
.game-rule-builder{border-left:1px solid rgba(148,163,184,.13);padding-left:22px;min-width:0}
.game-rule-title{margin-bottom:14px}.game-rule-title small{display:block;margin-top:6px;color:#64748b;line-height:1.5}
.game-rule-list{display:grid;gap:3px}
.game-rule-toggle{display:grid!important;grid-template-columns:auto auto 1fr!important;gap:10px!important;align-items:center;padding:9px 0;border-bottom:1px solid rgba(148,163,184,.07);cursor:pointer;color:#f8fafc!important}
.game-rule-toggle input{position:absolute;opacity:0;pointer-events:none}
.game-rule-switch{position:relative;width:38px;height:22px;background:#273244;border:1px solid #334155;transition:.18s ease}
.game-rule-switch::after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;background:#94a3b8;transition:.18s ease}
.game-rule-toggle input:checked + .game-rule-switch{background:#075985;border-color:#0ea5e9}.game-rule-toggle input:checked + .game-rule-switch::after{transform:translateX(16px);background:#e0f2fe}
.game-rule-toggle span:last-child b,.game-rule-toggle span:last-child small{display:block}.game-rule-toggle span:last-child b{font-size:.82rem}.game-rule-toggle span:last-child small{margin-top:2px;color:#64748b;font-size:.72rem;line-height:1.4}
.game-rule-selects{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.game-rule-selects label:last-child{grid-column:1/-1}.game-rule-selects label{display:grid;gap:6px;color:#94a3b8;font-size:.75rem;font-weight:800}.game-rule-selects .is-disabled{opacity:.45}.game-rule-selects input,.game-rule-selects select{width:100%;background:#0b0f16;border:1px solid #2a3444;color:#f8fafc;padding:10px;border-radius:8px}
.game-create-submit{margin-top:18px;width:100%}
.game-role-choice{border:1px solid rgba(148,163,184,.13);padding:12px;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}.game-role-choice legend{padding:0 6px;color:#94a3b8;font-size:.75rem;font-weight:800}.game-role-choice label{display:grid!important;grid-template-columns:auto 1fr!important;align-items:center!important;gap:9px!important;padding:10px;background:#0d131d;border:1px solid transparent;cursor:pointer}.game-role-choice input{width:auto!important}.game-role-choice label:has(input:checked){border-color:#38bdf8;background:#0d2231}.game-role-choice b,.game-role-choice small{display:block}.game-role-choice small{color:#64748b;margin-top:2px;font-size:.7rem}
.game-room-status-stack{display:grid;justify-items:end;gap:9px}.game-role-badge,.game-live-role{display:inline-flex;align-items:center;min-height:32px;padding:0 10px;border:1px solid rgba(148,163,184,.14);background:#101722;color:#cbd5e1;font-size:.68rem;font-weight:900;letter-spacing:.12em}.game-role-badge.is-spectator,.game-live-role[data-role="spectator"]{border-color:rgba(245,158,11,.28);color:#fde68a;background:#241b0b}.game-role-badge.is-player,.game-live-role[data-role="player"]{border-color:rgba(56,189,248,.24);color:#bae6fd;background:#0b1e2b}
.game-rule-ribbon,.game-rule-strip{display:flex;gap:1px;background:#273244;border:1px solid #273244;margin-top:16px;overflow:auto}.game-rule-ribbon>div,.game-rule-strip>span{background:#101620;min-width:max-content;padding:10px 14px}.game-rule-ribbon span{display:block;color:#64748b;font-size:.62rem;font-weight:900;letter-spacing:.12em}.game-rule-ribbon b{display:block;margin-top:3px;font-size:.78rem}.game-rule-strip{margin:0 0 16px}.game-rule-strip>span{color:#cbd5e1;font-size:.7rem;font-weight:800}
.game-spectator-block{margin-top:24px;padding-top:20px;border-top:1px solid rgba(148,163,184,.10)}.game-spectator-list{display:flex;gap:8px;flex-wrap:wrap}.game-spectator-chip{display:flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid rgba(245,158,11,.18);background:#1d170c}.game-spectator-chip b{font-size:.78rem}.game-spectator-chip small{color:#a8a29e;font-size:.66rem}.game-spectator-chip.is-me{box-shadow:inset 3px 0 0 #f59e0b}

/* Game-feel: purposeful motion only */
@keyframes td-card-reveal{0%{opacity:0;transform:translateY(18px) scale(.965)}55%{opacity:1;transform:translateY(-3px) scale(1.008)}100%{transform:none}}
@keyframes td-mystery-reveal{0%{opacity:0;transform:rotate(-1.5deg) scale(.94);filter:blur(6px)}45%{opacity:1;transform:rotate(1deg) scale(1.015);filter:blur(0)}100%{transform:none}}
@keyframes td-turn-change{0%{box-shadow:0 0 0 0 rgba(56,189,248,.0)}35%{box-shadow:0 0 0 5px rgba(56,189,248,.18)}100%{box-shadow:0 0 0 0 rgba(56,189,248,0)}}
@keyframes td-score-pop{0%,100%{transform:none}45%{transform:translateX(3px);background:#122b27}}
.fx-card-reveal{animation:td-card-reveal .7s cubic-bezier(.2,.8,.2,1)}.fx-mystery-reveal{animation:td-mystery-reveal .82s cubic-bezier(.2,.8,.2,1)}.fx-turn-change{animation:td-turn-change .65s ease}.fx-score-pop{animation:td-score-pop .65s ease}
.game-card[data-type="TRUTH"].fx-card-reveal{box-shadow:0 24px 70px rgba(14,165,233,.16)}.game-card[data-type="DARE"].fx-card-reveal{box-shadow:0 24px 70px rgba(244,63,94,.15)}.game-card.fx-mystery-reveal{box-shadow:0 24px 80px rgba(245,158,11,.19)}
@media(max-width:900px){.game-create-grid{grid-template-columns:1fr}.game-rule-builder{border-left:0;border-top:1px solid rgba(148,163,184,.13);padding-left:0;padding-top:20px}.game-preset-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.game-preset-grid,.game-rule-selects,.game-role-choice{grid-template-columns:1fr}.game-rule-selects label:last-child{grid-column:auto}.game-room-status-stack{justify-items:start}.game-rule-ribbon{margin-left:-2px;margin-right:-2px}}
@media(prefers-reduced-motion:reduce){.fx-card-reveal,.fx-mystery-reveal,.fx-turn-change,.fx-score-pop{animation:none!important}.game-preset-card,.game-rule-switch,.game-rule-switch::after{transition:none!important}}

/* Phase 1 visual language: editorial arcade, deliberately avoiding generic AI/SaaS glass cards */
.arena-hero,.arena-features article,.game-room-head,.game-table-top,.game-replay-head,.game-lobby-main,.game-invite-panel,.game-roster,.game-feed,.game-final,.game-result,.game-choice,.game-card,.game-master-line,.game-current-player,.game-review-panel,.arena-modal-dialog,.game-dialog{
  background:#111722;
  box-shadow:none;
  backdrop-filter:none;
}
.arena-hero{border-radius:10px;border-top:4px solid #38bdf8;border-bottom:4px solid #fb7185}
.arena-hero::before,.arena-hero::after,.arena-features article::after,.game-card::before{display:none}
.arena-features article{border-radius:6px;border-top:3px solid #334155}
.arena-features article:nth-child(1){border-top-color:#38bdf8}.arena-features article:nth-child(2){border-top-color:#f59e0b}.arena-features article:nth-child(3){border-top-color:#fb7185}
.arena-features article>span{border-radius:4px;background:#0b1018;border:1px solid #273244}
.arena-primary,.arena-secondary,.game-primary,.game-secondary,.game-ready,.game-main-actions button,.game-powers button,.game-share-actions button,.game-final-list button,.game-dialog button,.game-result-actions a,.game-review-panel button,.game-replay-controls button,.game-replay-controls select{border-radius:5px;box-shadow:none}
.arena-primary,.game-primary{background:#ef4f5f}.arena-primary:hover,.game-primary:hover{background:#ff6675}
.arena-secondary,.game-secondary{background:#161e2b}
.game-player-tile,.game-roster-row,.game-result-metrics article,.game-podium article,.game-achievement-wall,.game-final-list article{border-radius:5px;background:#0f151f}
.game-avatar{border-radius:4px;box-shadow:none;background:#e5e7eb;color:#111827}
.game-qr{border-radius:4px}.game-share-actions button{background:#151d29}.game-preset-card{border-radius:0}.game-preset-icon{border-radius:0}.game-rule-switch{border-radius:0}.game-rule-switch::after{border-radius:0}
.game-role-choice,.game-role-choice label,.game-spectator-chip,.game-role-badge,.game-live-role,.game-rule-ribbon>div,.game-rule-strip>span{border-radius:0}
.game-card{border-radius:8px;border-top:4px solid #475569}.game-card[data-type="TRUTH"]{border-top-color:#38bdf8}.game-card[data-type="DARE"]{border-top-color:#fb7185}.game-card.is-mystery{border-top-color:#f59e0b}
.game-card-symbol{border-radius:4px;background:#0b1018;border:1px solid #334155}
.game-timer{border-radius:4px}.game-timer>div:last-child{border-radius:0}.game-timer>div:last-child i{border-radius:0}
.game-review-panel{border-radius:6px;border-left:4px solid #8b5cf6}
.game-rule-builder{background:#0d121b;padding-top:18px;padding-right:18px;padding-bottom:18px}
@media(max-width:900px){.game-rule-builder{padding-right:0;background:transparent}}

/* Phase 2 UX */
.game-category-picker{margin-top:18px;padding-top:18px;border-top:1px solid rgba(148,163,184,.12)}.game-category-picker>p{color:#94a3b8;font-size:.78rem;margin:6px 0 12px}.game-category-grid{display:flex;flex-wrap:wrap;gap:8px}.game-category-grid label{cursor:pointer}.game-category-grid input{position:absolute;opacity:0;pointer-events:none}.game-category-grid span{display:block;padding:8px 11px;border:1px solid rgba(148,163,184,.16);background:#0d131d;color:#cbd5e1;font-size:.78rem;font-weight:750}.game-category-grid input:checked+span{border-color:#38bdf8;background:#0c2433;color:#bae6fd}.game-room-tools{display:flex;align-items:center;gap:10px}.game-room-tools>button,.game-top-actions>[data-sound-toggle],.game-top-actions>[data-music-toggle]{min-height:38px;padding:0 11px;border:1px solid rgba(148,163,184,.16);background:#101720;color:#cbd5e1;font-size:.72rem;font-weight:800;cursor:pointer}.secret-mission-card{border:1px solid rgba(245,158,11,.3);border-left:4px solid #f59e0b;background:#17150e;padding:18px 20px;box-shadow:0 18px 45px rgba(0,0,0,.2)}.secret-mission-card h3{margin:7px 0 8px}.secret-mission-card p{margin:0;color:#d6d3d1;line-height:1.6}.secret-mission-card>div{display:flex;justify-content:space-between;gap:10px;margin-top:13px;padding-top:12px;border-top:1px solid rgba(245,158,11,.15)}.secret-mission-card>div b{color:#fcd34d}.secret-mission-card[data-status="COMPLETED"]{border-color:#22c55e;border-left-color:#22c55e;background:#0e1c14}.game-result-awards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 20px}.game-result-awards article{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:14px;border:1px solid rgba(148,163,184,.12);background:#111722}.game-result-awards span{grid-column:1/-1;color:#94a3b8;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.game-result-awards b{font-size:1rem}.game-result-awards small{color:#fbbf24}.game-mission-reveal{display:grid;gap:8px;margin-top:18px}.game-mission-reveal article{display:grid;grid-template-columns:28px 1fr;gap:10px;padding:12px;border-top:1px solid rgba(148,163,184,.1)}.game-mission-reveal article>span{font-weight:900;color:#fbbf24}.game-mission-reveal small{display:block;color:#94a3b8;margin-top:3px}.reconnect-panel{position:fixed;right:18px;bottom:18px;z-index:9999;max-width:min(380px,calc(100% - 36px));display:grid;grid-template-columns:12px 1fr;gap:12px;align-items:center;padding:14px 16px;border:1px solid #334155;background:#0d131d;color:#f8fafc;box-shadow:0 20px 60px rgba(0,0,0,.4)}.reconnect-panel[hidden]{display:none}.reconnect-panel i{width:10px;height:10px;border-radius:50%;background:#f59e0b}.reconnect-panel[data-status="online"] i{background:#10b981}.reconnect-panel b,.reconnect-panel small{display:block}.reconnect-panel small{color:#94a3b8;margin-top:3px;line-height:1.4}.game-result-actions button{min-height:46px;padding:0 16px;cursor:pointer}
@media(max-width:700px){.game-result-awards{grid-template-columns:1fr}.game-room-tools{width:100%;justify-content:space-between}.game-top-actions>[data-sound-toggle],.game-top-actions>[data-music-toggle]{display:none}}
.room-expiry-note{margin:12px 0 0;padding-top:12px;border-top:1px solid rgba(148,163,184,.1);color:#fbbf24!important;font-size:.74rem!important;line-height:1.55}
