:root{--bg: #060D1C;--bg-rgb: 6, 13, 28;--deep: #08122A;--surface: #0E1830;--raised: #1C2A4A;--line: #1F2F52;--line2: #24365C;--muted: #93A3C2;--dim: #5A6A8A;--accent: #FFD21F;--accent-rgb: 255, 210, 31;--fg: #F3F6FB;--fg2: #C9D3E6;--ok: #22D97A;--bad: #FF4D5E;--display: "Saira Extra Condensed", system-ui, sans-serif;--body: Inter, system-ui, sans-serif;color-scheme:dark}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:var(--bg);color:var(--fg);font-family:var(--body);-webkit-font-smoothing:antialiased;transition:background-color .3s ease}a{color:var(--fg2)}a:hover{color:#fff}button{font-family:inherit;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.display{font-family:var(--display);font-weight:800;line-height:.9;letter-spacing:.01em}.label{font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--muted);text-transform:uppercase}.muted{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.screen{min-height:100dvh;max-width:480px;margin:0 auto;padding:max(18px,env(safe-area-inset-top)) 20px max(24px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:16px;position:relative}.screen.wide{max-width:1200px;padding-left:32px;padding-right:32px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;flex-wrap:wrap}.row{display:flex;align-items:center;gap:12px}.spacer{flex:1}.wordmark{display:flex;align-items:center;gap:.1em;font-family:var(--display);font-weight:800;line-height:1}.wordmark-one{border-radius:50%;background:var(--accent);color:var(--bg);display:inline-flex;align-items:center;justify-content:center}.crest-med{position:absolute;left:50%;box-sizing:border-box;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:800;line-height:1;letter-spacing:.02em}.crest-year{padding:1px 6px;border-radius:4px;color:#fff;font-family:var(--body);font-weight:700;line-height:1.3;letter-spacing:.06em}.btn{min-height:52px;padding:0 20px;border-radius:14px;border:1px solid var(--line2);background:var(--surface);color:var(--fg);font-size:16px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--bg);font-weight:700}.btn-light{background:var(--fg);border-color:var(--fg);color:var(--bg)}.btn-ghost{background:transparent}.btn-block{width:100%}.icon-btn{width:44px;height:44px;flex-shrink:0;border-radius:22px;border:1px solid var(--line2);background:var(--surface);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.pill{height:44px;padding:0 12px;border-radius:22px;border:1px solid var(--line2);background:var(--surface);display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;letter-spacing:.06em;cursor:pointer;text-decoration:none;color:var(--fg2)}.chip{height:32px;padding:0 12px;border-radius:16px;background:var(--surface);border:1px solid var(--line);display:inline-flex;align-items:center;font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--fg2)}.segmented{height:48px;padding:4px;border-radius:14px;background:var(--surface);border:1px solid var(--line);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.segmented button{border:none;border-radius:10px;background:transparent;color:var(--fg2);font-size:15px;font-weight:700;cursor:pointer}.segmented button[aria-pressed=true]{background:var(--accent);color:var(--bg)}.card{border-radius:18px;background:var(--surface);border:1px solid var(--line);padding:16px;display:flex;flex-direction:column;gap:8px}.card-hero{position:relative;overflow:hidden;border-radius:20px;background:var(--accent);color:var(--bg);text-decoration:none;padding:20px;min-height:188px;display:flex;flex-direction:column;justify-content:space-between;border:none;text-align:left;cursor:pointer}.card-hero:hover{color:var(--bg)}.card-hero .watermark{position:absolute;right:-18px;top:-46px;font-family:var(--display);font-weight:800;font-size:220px;line-height:1;color:rgba(var(--bg-rgb),.08);pointer-events:none}.hero-go{width:56px;height:56px;flex-shrink:0;border-radius:28px;background:var(--bg);color:var(--accent);display:flex;align-items:center;justify-content:center}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.soon-badge{align-self:flex-start;font-size:10px;font-weight:800;letter-spacing:.12em;padding:4px 8px;border-radius:6px;background:var(--raised);color:var(--fg2)}@media(min-width:900px){.home-grid{display:grid;grid-template-columns:2fr 1fr;gap:20px}.home-grid .card-hero{min-height:300px;padding:32px}.home-grid .card-hero .display-xl{font-size:104px}.home-row{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:20px}}.home-grid,.home-row{display:flex;flex-direction:column;gap:12px}@media(min-width:900px){.home-grid,.home-row{display:grid}}.menu{position:absolute;z-index:20;top:52px;right:0;width:248px;border-radius:16px;border:1px solid var(--line2);background:var(--surface);padding:6px;box-shadow:0 18px 40px #00000073}.menu button{width:100%;height:48px;border:none;border-radius:10px;background:transparent;padding:0 12px;display:flex;align-items:center;gap:10px;text-align:left;cursor:pointer;font-size:15px;font-weight:600}.menu button[aria-checked=true]{background:var(--raised)}.menu p{margin:4px 0 0;padding:8px 12px;border-top:1px solid var(--line);font-size:12px;line-height:1.4;color:var(--muted)}.league{min-height:56px;border-radius:14px;border:1.5px solid var(--line);background:var(--surface);display:flex;align-items:center;gap:12px;padding:0 14px 0 10px;text-align:left;cursor:pointer;width:100%}.league[aria-checked=true]{border-color:var(--accent);background:rgba(var(--accent-rgb),.07)}.league .mono{width:36px;height:36px;flex-shrink:0;border-radius:9px;display:flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:800;font-size:17px}.checkbox{width:24px;height:24px;flex-shrink:0;border-radius:7px;border:2px solid var(--dim);color:var(--bg);display:flex;align-items:center;justify-content:center}.league[aria-checked=true] .checkbox{border-color:var(--accent);background:var(--accent)}.league[aria-checked=false] .checkbox svg{opacity:0}.switch{width:48px;height:28px;flex-shrink:0;border-radius:14px;background:var(--line2);padding:3px;display:flex}.switch span{width:22px;height:22px;border-radius:11px;background:var(--muted)}[aria-checked=true]>.switch{background:var(--accent);justify-content:flex-end}[aria-checked=true]>.switch span{background:var(--bg)}.timebar{height:10px;border-radius:5px;background:var(--raised);overflow:hidden}.timebar>div{height:100%;border-radius:5px;background:var(--accent);transition:width .25s linear}.timebar.low>div{background:var(--bad)}.pair{display:flex;align-items:flex-start;justify-content:center;gap:14px}.pair-team{display:flex;flex-direction:column;align-items:center;gap:12px;width:150px;text-align:center}.pair-team .display{font-size:24px;line-height:1}.pair-x{font-family:var(--display);font-weight:800;font-size:64px;line-height:134px;color:var(--accent)}.dots{display:flex;gap:6px}.dot{width:26px;height:26px;border-radius:13px;display:flex;align-items:center;justify-content:center}.dot.ok{background:#22d97a29;color:var(--ok)}.dot.bad{background:#ff4d5e29;color:var(--bad)}.dot.empty{background:var(--surface);border:1px dashed var(--line2)}.micbar{border-radius:16px;background:var(--surface);border:1px solid var(--line2);display:flex;align-items:center;gap:12px;padding:12px 14px;min-height:76px}.micbar.on{border-color:var(--accent)}.mic-btn{width:48px;height:48px;flex-shrink:0;border-radius:24px;border:none;background:var(--raised);color:var(--fg2);display:flex;align-items:center;justify-content:center;cursor:pointer}.micbar.on .mic-btn{background:var(--accent);color:var(--bg)}.wave{height:26px;display:flex;align-items:center;gap:3px;overflow:hidden}.wave span{width:3px;flex-shrink:0;border-radius:2px;background:var(--accent);transform-origin:center;animation:wv .9s ease-in-out infinite}@keyframes wv{0%,to{transform:scaleY(.35)}50%{transform:scaleY(1)}}.heard{align-self:center;max-width:100%;padding:9px 18px 10px;border-radius:999px;background:rgba(var(--bg-rgb),.82);border:1px solid var(--accent);font-size:18px;font-weight:600;text-align:center}.answer-form{display:flex;gap:8px}.answer-form input{flex:1;min-width:0;height:48px;padding:0 14px;border-radius:12px;border:1px solid var(--line2);background:var(--deep);color:var(--fg);font:inherit;font-size:16px}.answer-form input::placeholder{color:var(--dim)}.notice{font-size:13px;line-height:1.4;color:var(--fg2);background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 12px}.notice.bad{border-color:#ff4d5e80}.flash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;pointer-events:none;display:flex;align-items:center;justify-content:center}.flash.ok{background:#22d97a24;box-shadow:inset 0 0 0 4px var(--ok),inset 0 0 90px #22d97a80}.flash-card{display:flex;flex-direction:column;align-items:center;gap:10px;padding:0 24px;text-align:center}.tag-ok{padding:4px 14px;border-radius:8px;background:var(--ok);color:#060d1c;font-family:var(--display);font-weight:800;font-size:26px;letter-spacing:.06em}.shake{animation:shake .35s}@keyframes shake{20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}.wrong-chip{align-self:center;height:32px;padding:0 12px;border-radius:16px;background:#ff4d5e29;color:var(--bad);display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700}.countdown{position:relative;width:260px;height:260px;margin:0 auto}.countdown .num{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:800;font-size:180px;line-height:1;animation:pop .9s cubic-bezier(.2,.8,.3,1)}@keyframes pop{0%{opacity:0;transform:scale(1.7)}to{opacity:1;transform:scale(1)}}.splash-rings{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.drain{animation:drain 3s linear infinite}@keyframes drain{0%{stroke-dashoffset:0}85%,to{stroke-dashoffset:590.6}}.share-card{aspect-ratio:1;width:100%;max-width:540px;margin:0 auto;border-radius:24px;background:var(--bg);border:1px solid var(--line);padding:28px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.tiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.tile{border-radius:12px;background:var(--surface);border:1px solid var(--line);padding:10px 4px;display:flex;flex-direction:column;align-items:center;gap:6px}.theme-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.theme-grid button{height:100px;border-radius:14px;border:2px solid var(--line);background:var(--surface);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;font-size:12px;font-weight:700}.theme-grid button[aria-checked=true]{border-color:var(--accent)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.cheat{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:10px 12px;border:1px dashed var(--line2);border-radius:14px}.cheat .chip{cursor:pointer;font:inherit;font-size:13px;letter-spacing:0}.cheat-list{display:flex;flex-wrap:wrap;gap:6px}.input{width:100%;height:50px;padding:0 14px;border-radius:12px;border:1px solid var(--line2);background:var(--deep);color:var(--fg);font:inherit;font-size:16px}.input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.code-input{flex:1;min-width:0;font-family:var(--display);font-weight:800;font-size:26px;letter-spacing:.3em}.mic-btn.on{background:var(--accent);color:var(--bg)}.duel{height:100dvh;max-width:520px;margin:0 auto;position:relative;display:grid;grid-template-rows:minmax(0,1fr) auto minmax(0,1fr) auto auto;gap:8px;padding:max(10px,env(safe-area-inset-top)) 10px max(10px,env(safe-area-inset-bottom))}.duel-tile{position:relative;min-height:0;border-radius:20px;overflow:hidden;background:var(--surface);border:1px solid var(--line)}.duel-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;background:#000}.duel-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:16px;text-align:center;color:var(--muted);font-size:14px}.duel-bot{font-family:var(--display);font-weight:800;font-size:72px;color:var(--accent);opacity:.85}.duel-tag{position:absolute;left:10px;top:10px;display:flex;align-items:center;gap:10px;padding:6px 6px 6px 12px;border-radius:999px;background:rgba(var(--bg-rgb),.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.duel-tag.self{top:auto;bottom:10px}.duel-name{font-weight:700;font-size:14px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.duel-score{min-width:34px;height:34px;border-radius:17px;background:var(--accent);color:var(--bg);display:flex;align-items:center;justify-content:center;font-size:24px}.duel-warn{position:absolute;right:10px;top:14px;font-size:12px;font-weight:700;color:var(--bad)}.duel-attempt{position:absolute;left:0;right:0;bottom:14px;margin:0 auto;width:fit-content;max-width:90%;display:flex;align-items:center;gap:6px;padding:7px 14px;border-radius:999px;background:rgba(var(--bg-rgb),.8);border:1px solid var(--bad);color:var(--fg);font-weight:600;font-size:15px;animation:shake .35s}.duel-attempt.mine{bottom:auto;top:14px}.duel-interim{position:absolute;right:10px;bottom:16px;max-width:55%;font-size:13px;color:var(--fg2);text-align:right;text-shadow:0 1px 6px rgba(0,0,0,.6)}.duel-mid{min-height:168px;display:flex;flex-direction:column;justify-content:center}.duel-center{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:8px}.duel-code{font-size:64px;letter-spacing:.12em;color:var(--accent);line-height:1}.duel-count{font-size:120px;color:var(--accent);line-height:1}.duel-round{display:flex;flex-direction:column;gap:8px;padding:4px 6px;position:relative}.duel-pair{display:flex;align-items:center;justify-content:center;gap:10px}.duel-pair .pair-team{width:140px;gap:6px}.duel-pair .pair-team .display{font-size:17px}.duel-pair .pair-x{font-size:40px;line-height:1}.duel-result{position:absolute;top:-4px;right:0;bottom:-4px;left:0;z-index:2;border-radius:16px;padding:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;background:rgba(var(--bg-rgb),.94);border:2px solid var(--line2)}.duel-result.ok{border-color:var(--ok);color:var(--ok)}.duel-result.ok .display:last-of-type{color:var(--fg)}.duel-result.bad{border-color:var(--bad)}.duel-answers{list-style:none;margin:2px 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:4px 12px;font-weight:600;font-size:15px}.duel-bar{display:flex;align-items:center;gap:10px}.duel-dev{display:flex;flex-direction:column;gap:6px}.duel-dev .chip,.duel-bar .chip{cursor:pointer;font:inherit;font-size:13px;letter-spacing:0}.duel-over{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(var(--bg-rgb),.78);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.duel-over-card{width:100%;max-width:360px;display:flex;flex-direction:column;align-items:center;gap:10px;padding:24px 20px;border-radius:22px;background:var(--surface);border:1px solid var(--line2);text-align:center}.spinner{width:34px;height:34px;border-radius:50%;border:4px solid var(--raised);border-top-color:var(--accent);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.home-row a.card{color:inherit;text-decoration:none}.home-row a.card:hover{border-color:var(--accent)}.code-input::placeholder{font-family:var(--body);font-weight:500;font-size:15px;letter-spacing:0;color:var(--dim)}.duel-answer{font-family:var(--display);font-weight:800;font-size:34px;line-height:1;color:var(--fg)}.duel-status{flex:1;font-size:12px;line-height:1.35;color:var(--fg2)}
