:root{--bg: #07090f;--panel: #10141f;--line: #232a3d;--text: #e9edff;--dim: #8b95bb;--mint: #3cf0c0;--yellow: #ffd23f;--red: #ff4040;--blue: #5aa0ff;--scan: #ffb347;--pix: "Silkscreen", "Press Start 2P", monospace;--mono: "Space Mono", ui-monospace, Menlo, monospace}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--mono);font-size:14px;line-height:1.45;overflow:hidden}#stage{position:fixed;inset:0;display:grid;place-items:center;outline:none;background:#07090f}#stage canvas.stage{image-rendering:pixelated;image-rendering:crisp-edges;box-shadow:0 0 0 2px #000,0 0 60px #3cf0c014}#stage:focus-visible{box-shadow:inset 0 0 0 2px var(--yellow)}.hidden{display:none!important}.dim{color:var(--dim)}.small{font-size:12.5px;margin:6px 0 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}button{font:inherit;color:var(--text);background:#171c2b;border:2px solid var(--line);padding:8px 14px;cursor:pointer;border-radius:0;box-shadow:3px 3px #000}button:hover{background:#1f2638}button:active{transform:translate(2px,2px);box-shadow:1px 1px #000}button.primary{background:var(--mint);color:#062018;border-color:var(--mint);font-weight:700}button.ghost{box-shadow:none;border-color:transparent;color:var(--dim)}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--yellow);outline-offset:2px}input,select{font:inherit;color:var(--text);background:#0b0e17;border:2px solid var(--line);padding:7px 10px;width:100%}select option{background:#0b0e17}h2{font-family:var(--pix);font-size:22px;margin:0 0 4px}h3{font-size:12px;color:var(--dim);margin:16px 0 6px;text-transform:none}.screen{position:fixed;inset:0;display:grid;place-items:center;padding:20px;overflow:auto;background:#07090fdb}.panel{width:min(760px,100%);background:var(--panel);border:2px solid var(--line);box-shadow:6px 6px #000;padding:24px 30px}.panel.wide{width:min(880px,100%)}.hero{display:grid;grid-template-columns:1fr 270px;gap:22px;align-items:center;margin-bottom:14px}.heroArt{width:100%;height:auto;border:2px solid var(--line);background:#141a2b;image-rendering:pixelated}.logo{font-family:var(--pix);font-size:40px;line-height:1;display:flex;gap:14px;margin-bottom:8px}.logo .l1{color:var(--mint);text-shadow:3px 3px 0 #0a3f33}.logo .l2{color:var(--yellow);text-shadow:3px 3px 0 #4a3a05}.lede{margin:0;max-width:46ch}.lede2{color:var(--dim);font-size:13px;line-height:1.5;margin:6px 0 0}.how{display:grid;gap:5px;margin-bottom:12px;font-size:13px;color:var(--dim)}.how .k,.how .k2{display:inline-block;min-width:54px;margin-right:8px;padding:1px 6px;border:1px solid var(--line);color:var(--text);font-family:var(--pix);font-size:10px;text-align:center}.how .k2{min-width:26px;margin-left:10px}.touchNote{display:none;color:var(--yellow)}@media (pointer: coarse){.touchNote{display:block}}.rulesBox,.prefsBox{margin-bottom:14px}.rulesBox summary,.prefsBox summary,.boardBox summary{font-size:12px;color:var(--dim);cursor:pointer;margin:8px 0 6px}.rules{display:grid;gap:4px;font-size:13px;padding:10px 12px;border:1px solid var(--line);background:#0b0e17}.rules b{color:var(--mint)}.form{display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:10px;margin-bottom:14px}.form label{display:grid;gap:4px;font-size:12px;color:var(--dim)}.actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.lib{font-size:12.5px;display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:6px}.libt{color:var(--dim)}.chip{display:inline-block;padding:2px 8px;border:1px solid var(--line);background:#0b0e17;font-size:12px}.chip.off{color:var(--dim);border-color:#1a2030}.chip.won,.chip.syn{border-color:var(--mint);color:var(--mint)}.chips{display:flex;flex-wrap:wrap;gap:6px}.prefsRow{display:flex;flex-wrap:wrap;gap:14px;align-items:center;padding:10px 12px;border:1px solid var(--line);background:#0b0e17}.prefsRow .inline{gap:6px}.prefsRow input[type=checkbox],.prefsRow select{width:auto}.ladderList{list-style:none;margin:12px 0;padding:0;display:grid;gap:6px}.ladderList li{display:grid;grid-template-columns:26px 1fr auto auto;gap:10px;align-items:center;padding:8px 10px;background:#0b0e17;border:1px solid var(--line)}.lnum{font-family:var(--pix);color:var(--dim)}.lname{display:grid;font-size:13px}.lnote{color:var(--dim);font-size:12px}.lrank{font-family:var(--pix);font-size:12px;color:var(--yellow)}.overlay{position:fixed;inset:0;display:grid;place-items:center;background:#07090fb8;padding:12px;overflow:auto}.draftBox{width:min(880px,96vw);background:var(--panel);border:2px solid var(--yellow);box-shadow:6px 6px #000;padding:18px 20px}.draftHead{display:flex;justify-content:space-between;gap:12px;font-family:var(--pix);font-size:12px;color:var(--yellow);margin-bottom:12px}.brief{margin:0 0 12px;font-size:13px;line-height:1.5;padding:10px 12px;border:1px solid var(--line);background:#0b0e17}.brief b{font-family:var(--pix);color:var(--mint);font-size:12px;margin-right:8px}.brief .motive{color:var(--yellow);margin-right:8px}.brief .goal{display:block;color:var(--yellow);margin-top:6px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:10px}.card{position:relative;display:grid;gap:6px;align-content:start;text-align:left;padding:14px 14px 22px;min-height:150px}.card b{font-size:15px}.card .ctext{color:var(--dim);font-size:12.5px}.card .csyn{color:var(--mint);font-size:11.5px}.card .crisk{color:#ff8f8f;font-size:11.5px}.card .ck{font-family:var(--pix);font-size:9px;text-transform:uppercase}.card .ctag{position:absolute;top:10px;right:12px;font-size:11px;color:var(--dim)}.card .ckey{position:absolute;bottom:8px;right:12px;font-family:var(--pix);font-size:10px;color:var(--dim)}.card.detection .ck{color:var(--mint)}.card.detection{border-color:#1f6f5c}.card.tuning .ck{color:var(--yellow)}.card.tuning{border-color:#6b5a15}.card.intel .ck{color:var(--blue)}.card.intel{border-color:#2a4d80}.card.hardening .ck{color:#ff8080}.card.hardening{border-color:#6b2a2a}.pauseBox{width:min(520px,96vw);background:var(--panel);border:2px solid var(--mint);box-shadow:6px 6px #000;padding:20px 24px}.pauseSlots{display:grid;gap:6px;margin:12px 0 16px;max-height:42vh;overflow-y:auto}.pslot{display:grid;padding:6px 10px;background:#0b0e17;border-left:3px solid var(--mint);font-size:12.5px}.pslot.off{border-left-color:var(--red)}.pslot span{font-size:11.5px}.r-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.actorline{margin:4px 0 0;font-size:12.5px;color:var(--yellow)}.r-score-wrap{display:flex;align-items:center;gap:14px;text-align:right}.r-rank{font-family:var(--pix);font-size:40px;width:64px;height:64px;display:grid;place-items:center;border:2px solid currentColor}.r-rank[data-rank=S]{color:#fff3c4;text-shadow:0 0 14px #fff3c4}.r-rank[data-rank=A]{color:var(--yellow)}.r-rank[data-rank=B]{color:var(--mint)}.r-rank[data-rank=C]{color:var(--blue)}.r-rank[data-rank=D]{color:var(--red)}.r-score{font-family:var(--pix);font-size:30px;line-height:1}.breakdown{font-size:11.5px;color:var(--dim);margin:10px 0 0}.breakdown b{color:var(--text);font-weight:400}.r-stats{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:10px;padding-top:10px;border-top:2px solid var(--line)}.stat span{color:var(--dim);font-size:12px;margin-right:6px}.timeline{margin-top:12px}.pblurb{display:block;color:var(--dim);font-size:11.5px;line-height:1.4;margin-top:3px}.covBox{margin-top:10px}.covBox h3{display:inline;margin:0 8px 0 0;font-size:12px;font-family:var(--pix);color:var(--dim);font-weight:400;letter-spacing:.04em}.covRow{display:inline-flex}.covRow{display:flex;flex-wrap:wrap;gap:4px 6px}.cov{display:inline-flex;align-items:baseline;gap:5px;padding:1px 6px;font-size:11px;border:1px solid var(--line);background:#0b0e17;border-left-width:3px}.cov i{font-style:normal;font-family:var(--pix);font-size:9px;color:var(--dim)}.cov b{font-weight:400}.cov.full{border-left-color:var(--mint)}.cov.part{border-left-color:var(--yellow)}.cov.none{border-left-color:var(--red);color:#ffb0b0}.timeline svg{width:100%;height:64px;display:block;background:#0b0e17;border:1px solid var(--line)}.timeline .tl-cap{font-size:10.5px;color:var(--dim);margin-top:2px}.objective{font-size:13px;margin:8px 0 0}.objective.met{color:var(--mint)}.objective.missed{color:var(--dim)}.lessons{margin:0;padding-left:18px;display:grid;gap:5px;font-size:13.5px}.r-cols{display:grid;grid-template-columns:1.4fr 1fr;gap:20px}.unlock{color:var(--mint);font-size:13px;margin:8px 0 0}.waveList{list-style:none;margin:0 0 8px;padding:0;display:grid;gap:3px;font-size:12px}.waveList li{display:grid;grid-template-columns:20px 1fr auto;gap:8px;padding:4px 8px;background:#0b0e17}.waveList li.clean{border-left:2px solid var(--mint)}.waveList .wnum{color:var(--dim);font-family:var(--pix);font-size:10px}.waveList .wless{grid-column:2 / -1;color:var(--dim);font-size:11.5px}.waveList .wnums{color:var(--dim);font-size:11px;white-space:nowrap}.board{margin:0 0 8px;padding:0;list-style:none;display:grid;gap:3px;font-size:13px}.board li{display:grid;grid-template-columns:22px 1fr 24px auto;gap:8px;padding:3px 8px;background:#0b0e17}.board .pos,.board .rk{color:var(--dim)}.board li.me{outline:1px solid var(--mint)}.board .sc{font-weight:700}label.inline{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--dim)}label.inline input{width:150px}.r-actions{display:grid;gap:8px;align-content:start;margin-top:30px}.boardBox[open] summary{margin-bottom:6px}.touch{position:fixed;inset:auto 0 0;height:40vh;pointer-events:none;z-index:5}.stick{position:absolute;left:16px;bottom:16px;width:108px;height:108px;border-radius:50%;border:2px solid var(--line);background:#0b0e178c;pointer-events:auto;touch-action:none}.knob{position:absolute;left:34px;top:34px;width:40px;height:40px;border-radius:50%;background:#3cf0c080}.tbtn{position:absolute;right:16px;bottom:24px;width:108px;height:68px;pointer-events:auto;font-family:var(--pix);font-size:11px;touch-action:none}.tbtn.small{right:16px;bottom:104px;width:54px;height:44px}@media (pointer: coarse) and (orientation: portrait){#stage{align-items:center;padding-bottom:30vh}}@media (pointer: coarse) and (orientation: landscape){.touch{height:70vh}.stick{width:88px;height:88px;left:10px;bottom:10px}.knob{left:26px;top:26px;width:36px;height:36px}.tbtn{width:88px;height:52px;right:10px;bottom:12px}.tbtn.small{width:46px;height:38px;right:10px;bottom:72px}}@media (max-width: 760px){.form,.cards,.r-cols,.hero{grid-template-columns:1fr}.draftBox{padding:12px 14px}.draftHead{margin-bottom:8px;font-size:11px}.cards{gap:8px;margin-bottom:8px}.card{min-height:0;padding:10px 12px 18px;gap:4px}.card b{font-size:14px}.card .ctext,.card .csyn,.card .crisk{font-size:12px}.brief{font-size:12.5px;padding:8px 10px}.heroArt{max-width:320px}.logo{font-size:30px}.panel{padding:18px}.ladderList li{grid-template-columns:22px 1fr}.lrank,.lgo{grid-column:2;justify-self:start}}@media (max-height: 800px) and (min-width: 900px){#results.screen{padding:10px}.panel.wide{width:min(1160px,100%);padding:10px 24px 12px;display:grid;grid-template-columns:1fr 1fr;column-gap:26px;grid-template-areas:"head head" "breakdown breakdown" "stats stats" "cov cov" "timeline lessons" "objective lessons" "cols lessons";align-content:start}.r-head{grid-area:head}.breakdown{grid-area:breakdown}.covBox{grid-area:cov;margin-top:4px}.covRow{max-height:74px;overflow:hidden}.r-stats{grid-area:stats;margin-top:10px;padding-top:8px}.timeline{grid-area:timeline;margin-top:8px}.timeline svg{height:34px}.objective{grid-area:objective}.lessonBox{grid-area:lessons;align-self:start}.lessonBox h3{margin:4px 0}.lessons{font-size:12px;gap:3px;line-height:1.4}.breakdown{margin-top:6px}.r-stats{gap:2px 16px;font-size:12.5px}.r-head h2{font-size:20px}.r-rank{font-size:34px;width:54px;height:54px}.r-score{font-size:26px}.r-cols{grid-area:cols;grid-template-columns:1fr;gap:4px}.r-cols h3{margin:6px 0 3px}.r-actions{display:flex;flex-wrap:wrap;margin-top:8px}.hero{grid-template-columns:1fr 190px}.logo{font-size:32px}}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}
