@font-face{font-family:Big Shoulders Display;font-weight:700;font-display:swap;src:url(/fonts/BigShouldersDisplay-700.woff2) format("woff2")}@font-face{font-family:Big Shoulders Display;font-weight:900;font-display:swap;src:url(/fonts/BigShouldersDisplay-900.woff2) format("woff2")}@font-face{font-family:Rubik;font-weight:400;font-display:swap;src:url(/fonts/Rubik-400.woff2) format("woff2")}@font-face{font-family:Rubik;font-weight:500;font-display:swap;src:url(/fonts/Rubik-500.woff2) format("woff2")}@font-face{font-family:Rubik;font-weight:700;font-display:swap;src:url(/fonts/Rubik-700.woff2) format("woff2")}@font-face{font-family:Libre Franklin;font-weight:700;font-display:swap;src:url(/fonts/LibreFranklin-700.woff2) format("woff2")}:root{--ground: #0B1020;--surface: #141A2E;--hair: #5466A0;--text: #F2F4FA;--muted: #9AA3BF;--accent: #FF6B4A;--on-accent: #1A0B07;--ok: #2FA95F;--on-ok: #07140B;--near: #D9A400;--on-near: #1A1400;--miss: #3A4160;--key: #2B3455;--key-hover: #38426A;--key-miss: #12172A;--on-key-miss: #7C86A3;--display: "Big Shoulders Display", "Arial Narrow", Impact, sans-serif;--body: "Rubik", "Helvetica Neue", Arial, sans-serif;--tile: "Libre Franklin", "Franklin Gothic Medium", "Helvetica Neue", Arial, sans-serif;--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-move: cubic-bezier(.77, 0, .175, 1);--reveal-stagger: .25s;--reveal-flip: .45s;--radius: 14px;--tile-radius: 8px;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%}body{background:var(--ground);color:var(--text);font-family:var(--body);margin:0;font-size:15px;line-height:1.4;-webkit-font-smoothing:antialiased}::selection{background:var(--accent);color:var(--on-accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button{font:inherit;color:inherit;cursor:pointer}input{font:inherit;color:inherit}.screen{max-width:440px;margin:0 auto;padding-block:24px 28px;padding-inline:16px;min-height:100dvh;display:flex;flex-direction:column;gap:22px}.wordmark{font-family:var(--display);font-weight:900;font-size:44px;line-height:1;letter-spacing:-.01em;margin:0}.wordmark em{font-style:normal;color:var(--accent)}.small{font-size:13px;line-height:1.55;color:var(--muted);margin:0}.label{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.field{display:flex;flex-direction:column;gap:8px;border:0;padding:0;margin:0;min-width:0}.field legend{padding:0;margin-bottom:8px}.btn{border:0;border-radius:var(--radius);min-height:52px;padding:0 20px;font-weight:500;font-size:16px;background:var(--key);color:var(--text);transition:transform .12s var(--ease-out),background-color .16s var(--ease-out),opacity .16s var(--ease-out)}.btn:active{transform:scale(.97)}.btn:disabled{cursor:default}.btn.primary{background:var(--accent);color:var(--on-accent)}.btn.quiet{background:transparent;border:1px solid var(--hair)}.btn.link{background:transparent;color:var(--muted);min-height:40px;padding:0;text-decoration:underline;text-underline-offset:4px;align-self:center}.btn.primary:disabled,.btn.quiet:disabled{background:var(--key);border-color:transparent;color:var(--muted)}@media (hover: hover) and (pointer: fine){.btn.primary:hover:not(:disabled){background:#ff7d60}.btn.quiet:hover:not(:disabled){border-color:var(--muted)}}.input{background:var(--ground);border:1px solid var(--hair);border-radius:var(--radius);min-height:52px;padding:0 14px;font-weight:700;font-size:22px;letter-spacing:.3em;text-transform:uppercase;width:100%;caret-color:var(--accent)}.input::placeholder{color:var(--muted);letter-spacing:.3em}.seg{display:flex;gap:8px}.seg-btn{flex:1;min-height:46px;display:grid;place-items:center;border:1px solid var(--hair);border-radius:10px;background:transparent;font-weight:500;font-variant-numeric:tabular-nums;transition:background-color .12s var(--ease-out),border-color .12s var(--ease-out),transform .12s var(--ease-out)}.seg-btn:active{transform:scale(.97)}.seg-btn.selected{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.seg-btn:disabled{opacity:.35;cursor:default}.code{font-family:var(--tile);font-weight:700;font-size:56px;line-height:1;letter-spacing:.16em;text-align:center;padding-left:.16em}.seats{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.seat{display:flex;align-items:center;gap:12px;min-height:48px;padding:0 14px;border:1px solid var(--hair);border-radius:12px}.seat .dot{width:8px;height:8px;border-radius:50%;background:var(--ok)}.seat .dot.off{background:var(--muted)}.seat .host{margin-left:auto;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.seat.empty{border-style:dashed;color:var(--muted)}.wr-actions{display:flex;gap:10px}.wr-actions .btn{flex:1}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.round-screen{max-width:520px;padding-block:0 max(8px,env(safe-area-inset-bottom));padding-inline:12px;gap:0;position:relative}.topbar{height:50px;flex:0 0 50px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--hair);font-variant-numeric:tabular-nums}.topbar .round{font-size:14px;font-weight:500;white-space:nowrap}.topbar .round span{color:var(--muted)}.topbar .brand{font-family:var(--display);font-weight:900;font-size:28px;line-height:1;letter-spacing:.04em;text-transform:uppercase}.topbar .status{display:flex;justify-content:flex-end;align-items:baseline;gap:12px;white-space:nowrap}.timer{font-weight:500;font-size:15px;font-variant-numeric:tabular-nums;transition:color .2s var(--ease-out)}.timer.urgent{color:var(--accent);animation:pulse 1s var(--ease-out) infinite}@keyframes pulse{50%{opacity:.55}}.timer.calm{color:var(--text);font-size:20px;font-weight:700}.strip{display:flex;align-items:baseline;gap:12px}.strip .round{font-family:var(--display);font-weight:700;font-size:18px;letter-spacing:.04em;text-transform:uppercase}.strip .round span{color:var(--muted)}.strip .timer{margin-left:auto}.total{font-size:14px;font-weight:500;color:var(--muted)}.stage{flex:1 1 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding-block:10px;min-height:0}.board{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;width:min(350px,100%,calc((100dvh - 350px) * 5 / 6));container-type:inline-size}.board .row{display:contents}.tile{aspect-ratio:1;display:grid;place-items:center;border:2px solid var(--hair);border-radius:var(--tile-radius);font-family:var(--tile);font-weight:700;font-size:9.2cqw;line-height:1;text-transform:uppercase;-webkit-user-select:none;user-select:none;--bg: transparent;--edge: var(--hair);--fg: var(--text);background:var(--bg);border-color:var(--edge);color:var(--fg);transition:background-color .18s var(--ease-out),border-color .18s var(--ease-out)}.tile.ok{--bg: var(--ok);--edge: var(--ok);--fg: var(--on-ok)}.tile.near{--bg: var(--near);--edge: var(--near);--fg: var(--on-near)}.tile.miss{--bg: var(--miss);--edge: var(--miss)}.tile{position:relative}.tile:after{content:"";position:absolute;top:1.7cqw;left:1.7cqw;width:2.6cqw;height:2.6cqw;border-radius:50%;box-sizing:border-box;opacity:0}.tile.ok:after{background:currentColor;opacity:1}.tile.near:after{border:max(1.5px,.7cqw) solid currentColor;opacity:1}.tile.cur{--edge: var(--muted);animation:pop .11s var(--ease-out)}@keyframes pop{0%{transform:scale(.9)}45%{transform:scale(1.08)}to{transform:scale(1)}}.tile.reveal{animation:flip var(--reveal-flip) var(--ease-move) calc(var(--i) * var(--reveal-stagger)) both,unveil var(--reveal-flip) linear calc(var(--i) * var(--reveal-stagger)) both;transition:none}.tile.reveal:after{animation:unveil-mark var(--reveal-flip) linear calc(var(--i) * var(--reveal-stagger)) both}@keyframes unveil-mark{0%,49.9%{opacity:0}50%,to{opacity:1}}@keyframes flip{0%{transform:rotateX(0)}50%{transform:rotateX(-90deg)}to{transform:rotateX(0)}}@keyframes unveil{0%,49.9%{background-color:transparent;border-color:var(--hair);color:var(--text)}50%,to{background-color:var(--bg);border-color:var(--edge);color:var(--fg)}}.board .row.win .tile{animation:flip var(--reveal-flip) var(--ease-move) calc(var(--i) * var(--reveal-stagger)) both,unveil var(--reveal-flip) linear calc(var(--i) * var(--reveal-stagger)) both,bounce .9s var(--ease-out) calc(var(--reveal-stagger) * 4 + var(--reveal-flip) + var(--i) * 90ms)}@keyframes bounce{0%,20%{transform:translateY(0)}40%{transform:translateY(-28%)}50%{transform:translateY(4%)}60%{transform:translateY(-14%)}80%{transform:translateY(2%)}to{transform:translateY(0)}}.board .row.shake .tile{animation:shake .32s var(--ease-out)}@keyframes shake{10%,90%{transform:translate(-2px)}20%,80%{transform:translate(3px)}30%,50%,70%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}.keys{display:flex;flex-direction:column;gap:8px;margin-top:auto;width:100%;max-width:500px;margin-inline:auto}.keys>div{display:flex;gap:6px;justify-content:center}.key{flex:1 1 0;max-width:43px;height:58px;display:grid;place-items:center;border:0;border-radius:4px;padding:0;font-family:var(--tile);font-weight:700;font-size:20px;text-transform:uppercase;background:var(--key);color:var(--text);transition:background-color .16s var(--ease-out),transform .1s var(--ease-out)}.key:active{transform:scale(.94)}.key.miss{background:var(--key-miss);color:var(--on-key-miss)}.key.ok{background:var(--ok);color:var(--on-ok)}.key.near{background:var(--near);color:var(--on-near)}.key{position:relative}.key.ok:after,.key.near:after{content:"";position:absolute;top:5px;left:5px;width:6px;height:6px;border-radius:50%;box-sizing:border-box}.key.ok:after{background:currentColor}.key.near:after{border:1.5px solid currentColor}.key.wide{flex:1.5 1 0;max-width:65px;font-size:12px;letter-spacing:.02em}@media (hover: hover) and (pointer: fine){.key.unused:hover{background:var(--key-hover)}}.opps{display:flex;gap:16px;overflow-x:auto;padding:8px 2px 6px;scrollbar-width:thin;scrollbar-color:var(--hair) transparent;flex:0 0 auto}.opps:empty{display:none}.opp{flex:0 0 auto;display:flex;align-items:center;gap:8px}.opp .name{font-size:12px;color:var(--muted);max-width:88px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.opp .mini{display:none;grid-template-columns:repeat(5,10px);gap:3px}.opp .last{display:grid;grid-template-columns:repeat(5,10px);gap:3px}.opp .mini b,.opp .last b{width:10px;height:10px;border-radius:2px;background:var(--miss)}.opp .mini b.ok,.opp .last b.ok{background:var(--ok)}.opp .mini b.near,.opp .last b.near{background:var(--near)}.opp .mini b.none,.opp .last b.none{background:transparent;border:1px solid var(--hair)}.opp .badge{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.opp .badge.solved{color:var(--ok)}.answer{text-align:center}.answer .word{font-family:var(--tile);font-weight:700;font-size:40px;letter-spacing:.12em;line-height:1;padding-left:.12em;text-transform:uppercase}.table{display:flex;flex-direction:column;gap:6px}.rowline{display:grid;grid-template-columns:28px 1fr auto auto;gap:14px;align-items:center;min-height:48px;padding:0 14px;border:1px solid var(--hair);border-radius:10px;font-variant-numeric:tabular-nums}.rowline .place{font-family:var(--display);font-weight:900;font-size:20px;color:var(--accent)}.rowline .pts{color:var(--muted);font-size:12px}.rowline .sum{font-family:var(--display);font-weight:700;font-size:20px}.rowline.me{border-color:var(--accent)}.minis{display:flex;flex-wrap:wrap;gap:18px;justify-content:center}.minis .opp{flex-direction:column;gap:4px}.minis .opp .last{display:none}.minis .board{gap:3px;width:120px}.minis .tile{border-width:1px;border-radius:3px}.podium{text-align:center;display:flex;flex-direction:column;gap:6px}.podium .who{font-family:var(--display);font-weight:900;font-size:44px;line-height:1;letter-spacing:-.01em}.podium .who span{color:var(--accent)}.toast{position:absolute;top:60px;left:50%;transform:translate(-50%);z-index:2;background:var(--text);color:var(--ground);border-radius:6px;padding:12px 16px;font-size:14px;font-weight:700;max-width:calc(100% - 32px);white-space:nowrap;animation:toast-in .14s var(--ease-out)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) scale(.96)}}.banner{background:var(--surface);border:1px solid var(--hair);border-radius:10px;padding:8px 12px;font-size:13px;color:var(--muted);text-align:center}.done-note{text-align:center}@media (min-width: 900px){.round-screen{max-width:1100px;display:grid;grid-template-columns:1fr minmax(350px,420px) 1fr;grid-template-rows:50px 1fr auto;grid-template-areas:"top top top" "opps stage note" "opps keys note";column-gap:40px;padding-inline:24px}.topbar{grid-area:top}.round-screen .opps{grid-area:opps;flex-direction:column;align-items:stretch;overflow:visible;padding-top:24px;gap:20px}.round-screen .opp{gap:12px}.round-screen .opp .name{width:96px;max-width:none;font-size:13px}.round-screen .opp .mini{display:grid;grid-template-columns:repeat(5,12px);gap:3px}.round-screen .opp .mini b{width:12px;height:12px}.round-screen .opp .last{display:none}.round-screen .opp .badge{margin-left:auto}.stage{grid-area:stage;padding-block:24px 12px}.board{width:min(350px,100%,calc((100dvh - 330px) * 5 / 6))}.keys{grid-area:keys;margin-top:0;padding-bottom:16px}.banner,.done-note{grid-area:note}}@media (prefers-reduced-motion: reduce){.tile.cur,.tile.reveal,.tile.reveal:after,.board .row.win .tile,.board .row.shake .tile{animation:none}.tile.reveal{transition:background-color .18s var(--ease-out),border-color .18s var(--ease-out)}.timer.urgent,.toast{animation:none}.btn,.seg-btn,.key{transition:none}}
