:root{color:#f5f2ff;font-synthesis:none;--accent:#53e7ff;--panel:#262344;--muted:#b6b1d4;--gold:#ffd35c;--red:#ff526c;background:#15112d;font-family:ui-rounded,Trebuchet MS,system-ui,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(at 80% 30%,#273b74aa,#0000 60%),radial-gradient(at 0 70%,#52238688,#0000 60%),#15112d;min-width:300px;min-height:100dvh;margin:0}body[data-theme=aurora]{--accent:#8affbe;--panel:#16353d;background:radial-gradient(at top,#23686d,#10182b 80%)}body[data-theme=sunset]{--accent:#ffc277;--panel:#422244;background:radial-gradient(at top,#733b5d,#20152b 80%)}button,input,a,label.button{touch-action:manipulation}button,.button{font:inherit;cursor:pointer;color:inherit;background:#332e57;border:1px solid #6c628e;border-radius:16px;min-height:46px;padding:12px 16px;font-weight:800;transition:transform .12s,background .12s;box-shadow:0 4px #0d0b20}button:active{transform:translateY(2px);box-shadow:0 2px #0d0b20}button:disabled{cursor:default;opacity:.4;transform:none}button.primary,.button.primary{color:#101633;background:linear-gradient(135deg,#39d0ff,#5980ff);border-color:#a6edff}button.gold{color:#382207;background:linear-gradient(#ffe193,#ffb847);border-color:#ffea9e}button.danger{border-color:#e4768b}button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:3px;outline:3px solid #fff}a{color:var(--accent)}h1,h2,h3,p{margin:0 0 14px}h1{letter-spacing:-1.4px;font-size:clamp(34px,9vw,52px);font-weight:1000;line-height:1.05}h1 em{color:var(--accent);font-style:normal}h2{font-size:24px}h3{margin-top:18px;font-size:19px}p{line-height:1.5}.muted{color:var(--muted);font-size:14px}.eyebrow{letter-spacing:2px;color:var(--accent);margin-bottom:8px;font-size:12px;font-weight:900}.shell{max-width:620px;padding:calc(16px + env(safe-area-inset-top)) 18px calc(28px + env(safe-area-inset-bottom));min-height:100dvh;margin:auto}.topbar{justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;display:flex}.topbar .brand{color:#fff;letter-spacing:1px;font-weight:1000}.topbar button{min-width:46px;padding:8px 12px}.hero{text-align:center;padding:16px 0 8px}.hero img{filter:drop-shadow(0 14px 18px #0006);border-radius:30px;width:125px;height:125px}.card{background:linear-gradient(140deg,#ffffff0b,#ffffff03),var(--panel);border:1px solid #ffffff24;border-radius:24px;margin:14px 0;padding:20px;box-shadow:0 14px 35px #06041435}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.row>*{flex:1}.stack{gap:12px;display:grid}.mode-card{text-align:left;align-items:center;gap:14px;padding:17px;display:flex}.mode-card .emoji{font-size:34px}.mode-card strong{font-size:19px;display:block}.mode-card small{color:var(--muted);margin-top:5px;font-weight:400;line-height:1.4;display:block}.chips{flex-wrap:wrap;justify-content:center;gap:9px;margin:14px 0;display:flex}.chip{background:#1c1937;border:1px solid #ffffff25;border-radius:40px;padding:7px 12px;font-size:13px;font-weight:800}.level-grid{grid-template-columns:repeat(5,1fr);gap:9px;display:grid}.level-grid button{min-height:66px;padding:12px 2px;position:relative}.level-grid small{color:var(--gold);margin-top:4px;font-size:12px;display:block}.level-grid button.current{border:2px solid var(--accent)}.tabs{gap:8px;margin:14px 0;display:flex}.tabs button{flex:1;padding:10px 4px;font-size:13px}.tabs .selected{border-color:var(--accent);color:var(--accent)}.status{text-align:center;background:linear-gradient(120deg,#27386a,#211c48);border:1px solid #5ee0ff88;border-radius:21px;min-height:96px;padding:14px 18px;box-shadow:0 0 24px #2f83ff22}.command{letter-spacing:.3px;font-size:clamp(21px,6vw,30px);font-weight:1000;line-height:1.12}.subcommand{color:#c6c4e2;margin-top:8px;font-size:13px}.timer{background:#0c0d22;border-radius:9px;height:8px;margin-top:12px;overflow:hidden}.timer span{transform-origin:0;background:linear-gradient(90deg,#52d8ff,#9af8ff);width:100%;height:100%;display:block;box-shadow:0 0 12px #61ecff}progress{width:100%;accent-color:var(--accent)}#modal{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:2000;background:#050314c9;place-items:center;padding:24px 16px;display:grid;position:fixed;inset:0;overflow:auto}#modal section{background:#26213f;border:1px solid #8a7ec3;border-radius:26px;gap:12px;width:min(100%,480px);max-height:90dvh;padding:24px;display:grid;overflow:auto;box-shadow:0 30px 80px #0009}#modal header{justify-content:space-between;align-items:center;gap:10px;display:flex}#modal header h2{margin:0}#modal header button{flex:none}#modal label{justify-content:space-between;align-items:center;gap:15px;padding:7px 0;display:flex}#modal input[type=range]{width:52%;min-height:40px}#modal input[type=checkbox]{width:24px;height:24px;accent-color:var(--accent)}#modal textarea{width:100%;min-height:100px}.achievement{border-bottom:1px solid #fff2;padding:10px 0}.toast{bottom:calc(30px + env(safe-area-inset-bottom));color:#fff;z-index:20000;text-align:center;background:#30264c;border:1px solid #c6b7ff;border-radius:18px;width:max-content;max-width:90vw;padding:15px 20px;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 10px 45px #0008}.footer{text-align:center;color:var(--muted);padding:20px 0 5px;font-size:12px}.result-stars{color:var(--gold);text-align:center;letter-spacing:8px;font-size:42px}body.reduced-motion *{transition:none!important;animation:none!important}.reduced-flashes .lit{filter:brightness(1.1)!important;box-shadow:inset 0 0 0 5px #fff!important}#app[inert]{filter:brightness(.5)}@media (width>=700px){.shell{padding-top:22px}}@media (width<=350px){.shell{padding-left:12px;padding-right:12px}.card{padding:15px}.level-grid{gap:6px}.command{font-size:22px}}@media (height<=600px) and (orientation:landscape){.shell{max-width:800px}.hero img{width:80px;height:80px}}body{--accent:#ffe065;--panel:#20395c;background:radial-gradient(at 80% 10%,#215f9f,#132d56 50%,#121b37)}h1{color:#ffdb62;text-shadow:0 4px #946323}.letter-game{max-width:560px}.game-meta{color:#d2ddf9;justify-content:space-between;gap:8px;margin-bottom:13px;font-size:12px;display:flex}.category{color:#1a3155;text-align:center;background:linear-gradient(#ffe68e,#f0c141);border:3px solid #fff0b1;border-radius:20px;padding:16px 12px;font-size:19px;font-weight:1000;box-shadow:0 5px #926d1f}.clock{background:#173a64;border:7px solid #fdd96a;border-color:#fdd96a #44d8ff #2592e7 #fdd96a;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:110px;height:110px;margin:17px auto;display:flex;box-shadow:0 0 25px #2ba1fb44,inset 0 0 15px #0003}.clock span{font-size:41px;font-weight:1000;line-height:1}.clock small{letter-spacing:1px;color:#b5d8f1;margin-top:5px;font-size:8px}.clock.urgent{color:#ffb989;border-color:#ff706d}.letters{grid-template-columns:repeat(9,1fr);gap:7px;margin:15px 0;display:grid}.letters button{color:#eaf5ff;background:linear-gradient(#2b5d8f,#1a365e);border:1px solid #5b9ac2;border-radius:11px;min-width:0;min-height:43px;padding:8px 0;font-size:18px;box-shadow:0 4px #0c1b38}.letters button.selected{color:#142c53;background:#ffda57;border-color:#fff1a1;box-shadow:0 0 15px #ffd85b88}.letters button.used{opacity:.28}#answer-form{gap:10px;margin-top:15px;display:grid}#answer-form label{font-size:11px;line-height:1.5}#answer-form input{text-transform:uppercase;color:#123158;outline-offset:3px;background:linear-gradient(#edfaff,#c3def0);border:2px solid #62cbed;border-radius:14px;width:100%;min-height:52px;padding:14px 12px;font:900 19px system-ui}#answer-form button{min-height:50px;font-size:18px}.answers{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.answers span{color:#a2cfe6;background:#173458;border:1px solid #728fba55;border-radius:9px;padding:6px;font-size:10px}.letter-game .row button{padding:11px 6px;font-size:12px}.scores{flex-wrap:wrap;gap:7px;margin-bottom:10px;font-size:11px;display:flex}.scores span{border:1px solid #87b8d766;border-radius:12px;padding:6px 9px}.scores .out{opacity:.35;text-decoration:line-through}select,#names input{font:inherit;color:#fff;background:#302d4f;border:1px solid #8b829b;border-radius:10px;width:55%;padding:10px}#names input{width:100%}@media (height<=740px) and (orientation:portrait){.clock{width:90px;height:90px;margin:12px auto}.clock span{font-size:33px}.category{padding:12px;font-size:16px}.letters{gap:5px;margin:10px 0}.letters button{min-height:38px;font-size:16px}.letter-game .topbar{margin-bottom:10px}}@media (orientation:landscape) and (height<=600px){.letter-game{grid-template-columns:230px 1fr;gap:12px;max-width:850px;display:grid}.letter-game .topbar,.letter-game .game-meta,.letter-game .scores{grid-column:1/3}.letter-game .category,.letter-game .clock{grid-column:1}.letter-game .clock{grid-row:4}.letters{grid-area:3/2/5}#answer-form{grid-area:5/2/8}.letter-game .footer{grid-column:1/3}}.hero h1{text-transform:uppercase;letter-spacing:-1px}.reduced-flashes .alarm.lit{box-shadow:none!important;outline:3px solid #fff!important}body.reduced-motion .comic-scene{transition:none}.home-screen{--home-accent:#ffde67;--home-bg:#173963;background:radial-gradient(at 90% 0,#ffde6718,#0000 62%);max-width:600px}.home-screen .hero{text-align:left;align-items:center;gap:12px;padding:26px 0 20px;display:flex}.hero-copy{flex:1;min-width:0}.home-screen .hero img{border:2px solid #ffde6766;flex:none;width:132px;height:132px;transform:rotate(6deg);box-shadow:0 16px 30px #0004}.home-screen h1{letter-spacing:-1px;font-size:clamp(34px,8vw,49px);line-height:1.02}.home-screen .hero p{color:var(--home-accent);margin:12px 0 0;font-size:16px;font-weight:800}.home-screen .eyebrow{letter-spacing:1.5px;color:var(--home-accent);font-size:10px}.home-mission{background:linear-gradient(120deg,var(--home-bg),#151829);border:1px solid #ffde6766;border-radius:22px;margin-bottom:22px;padding:17px;box-shadow:0 8px 24px #0003}.home-mission>span{letter-spacing:2px;color:var(--home-accent);margin-bottom:7px;font-size:10px;font-weight:900;display:block}.home-mission strong{font-size:18px;display:block}.home-mission small{color:#d0d5df}.mission-track{background:#ffffff19;border-radius:8px;height:5px;margin:12px 0;overflow:hidden}.mission-track i{background:var(--home-accent);height:100%;display:block}.home-actions .stack{gap:11px}.home-actions button{text-align:left;min-height:59px;padding-left:20px}.home-actions .primary{background:linear-gradient(120deg,var(--home-accent),#fff3bc);color:#162438;min-height:69px;font-size:18px;box-shadow:0 5px #0006}.coach-card{border-left:3px solid var(--home-accent);margin:22px 0 8px;padding:4px 0 4px 14px}.coach-card b{letter-spacing:1px;color:var(--home-accent);font-size:10px}.coach-card p{color:#d3d6e3;margin:7px 0;font-size:13px;line-height:1.5}.stage-goal{color:var(--muted);font-size:13px;line-height:1.4}@media (width<=350px){.home-screen .hero img{width:102px;height:102px}.home-screen h1{font-size:32px}.home-mission strong{font-size:16px}}.handoff-card{text-align:center;background:linear-gradient(120deg,#50396b,#284878);border:2px solid #ffe48a;border-radius:22px;margin:14px 0;padding:19px}.handoff-card span{letter-spacing:2px;color:#ffe48a;font-size:11px;font-weight:900;display:block}.handoff-card strong{margin:9px 0;font-size:30px;display:block}.handoff-card p{color:#e7e8fb;margin:0;font-size:13px}.contest-goal{text-align:center;color:#e8dfb8;margin:13px 0;font-size:12px}.clock.penalty{border-color:#ff7186;box-shadow:0 0 0 6px #fc48652b}.round-recap{background:#172b4c;border:1px solid #ffdf8366;border-radius:15px;padding:14px}.round-recap summary{cursor:pointer;font-weight:900}.round-recap p{margin:12px 0;line-height:1.7}.round-recap small{color:#dddfed}.letter-game .answers{max-height:130px;overflow:auto}@media (height<=740px){.letter-game .clock{width:115px;height:115px;margin:12px auto}.letter-game .letters{gap:5px}.letter-game .letters button{min-height:40px;padding:7px 1px}.letter-game .category{padding:12px}.letter-game .topbar{margin-bottom:10px}}.handoff-screen .letters,.handoff-screen #answer-form,.handoff-screen .clock,.handoff-screen>.row,.handoff-screen .answers{display:none}.handoff-screen #ready{min-height:72px;font-size:18px;margin-top:25px!important}.handoff-screen .handoff-card{padding:35px 20px}.handoff-screen .handoff-card strong{font-size:36px}.handoff-screen .contest-goal{margin:25px 0}.handoff-screen .footer{padding-top:35px}
