:root{--bg:#0a0a14;--cy:#00f0ff;--mg:#ff2fd0;--lime:#a6ff3b;--panel:#11112a}
*{box-sizing:border-box}
body{margin:0;background:radial-gradient(ellipse at top,#1a0f33 0,var(--bg) 60%);color:#d9e6ff;font-family:'JetBrains Mono',monospace;min-height:100vh}
.scan{pointer-events:none;position:fixed;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.03) 0 1px,transparent 1px 3px);z-index:50}
header{text-align:center;padding:22px 10px 6px}
h1{font-family:'Press Start 2P';font-size:clamp(18px,4.5vw,40px);margin:0;color:var(--cy);text-shadow:0 0 12px var(--cy)}
h1 span{color:var(--mg);text-shadow:0 0 12px var(--mg);margin-left:.4em}
.sub{font-weight:200;opacity:.8;margin:10px 0 4px}
.status{color:var(--lime);font-size:13px;min-height:1.2em}
.tabs{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:10px}
.tab{font-family:'Press Start 2P';font-size:11px;padding:12px 16px;border-radius:999px;background:#151530;color:#8890c0;border:2px solid #2a2a55;cursor:pointer}
.tab.active{color:#fff;border-color:var(--mg);box-shadow:0 0 14px var(--mg)}
.tab.done{border-color:var(--lime);color:var(--lime)}
.tab:disabled{opacity:.35;cursor:not-allowed}
main{display:grid;grid-template-columns:1fr 260px;gap:16px;max-width:1100px;margin:0 auto;padding:10px}
main>section{grid-column:1}
.side{grid-column:2;grid-row:1;align-self:start}
@media(max-width:820px){main{grid-template-columns:1fr}.side{grid-column:1;grid-row:auto}}
.panel{background:var(--panel);border:1px solid #2c2c66;border-radius:16px;padding:16px;box-shadow:0 0 24px rgba(0,240,255,.08) inset;display:flex;flex-wrap:wrap;gap:18px;justify-content:center}
.hidden{display:none!important}
.crt{margin:0;padding:8px;background:#000;border-radius:14px;box-shadow:0 0 0 3px #222,0 0 22px rgba(0,240,255,.35);position:relative;text-align:center}
.crt canvas{display:block;image-rendering:pixelated;border-radius:8px;max-width:100%;animation:flick 3s infinite}
.crt::after{content:'';position:absolute;inset:8px;border-radius:8px;pointer-events:none;background:radial-gradient(ellipse,transparent 55%,rgba(0,0,0,.55))}
@keyframes flick{0%,97%,100%{opacity:1}98%{opacity:.88}}
figcaption{font-family:'Press Start 2P';font-size:9px;color:var(--cy);margin-top:6px}
.ctrl{display:flex;flex-direction:column;gap:10px;min-width:240px}
.ctrl.wide{flex:1;min-width:280px}
#cv-loss{width:100%;background:#05050d;border:1px solid #2a2a55;border-radius:8px}
label{font-size:12px;display:flex;flex-direction:column;gap:4px;color:#9aa6d8}
input,select{background:#05050d;color:#fff;border:1px solid #33336a;border-radius:6px;padding:6px;font-family:inherit}
input[type=range]{accent-color:var(--mg);padding:0}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;justify-content:center;width:100%}
.btn{font-family:'Press Start 2P';font-size:10px;padding:12px 14px;border-radius:10px;border:2px solid var(--cy);background:var(--cy);color:#000;cursor:pointer}
.btn.ghost{background:transparent;color:var(--cy)}
.btn.sm{padding:8px 10px;font-size:8px}
.btn:active{transform:scale(.96)}
.stat{font-size:14px}.stat b{color:var(--mg);font-size:22px;font-weight:800}
.arrow{color:var(--lime);font-size:22px;margin-left:8px}
.bar,.mbar{height:10px;background:#05050d;border-radius:6px;overflow:hidden;border:1px solid #2a2a55}
#c-bar{height:100%;width:0;background:linear-gradient(90deg,var(--cy),var(--mg))}
.previews{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.previews figure{margin:0;text-align:center}
.previews canvas{image-rendering:pixelated;border:1px solid #33336a;border-radius:6px;background:#000}
.dreamwrap{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap;justify-content:center;width:100%}
.meter{display:flex;align-items:center;gap:10px;width:100%;max-width:520px;font-size:12px}
.meter .mbar{flex:1;height:14px}
#m-fill{height:100%;width:0;background:linear-gradient(90deg,var(--lime),#ffd23b,#ff3b3b);transition:width .15s}
.badge{background:var(--mg);color:#000;padding:8px 12px;border-radius:8px;font-weight:800;animation:wob .6s infinite alternate}
@keyframes wob{to{transform:rotate(1.5deg) scale(1.03)}}
.pbtn{font-size:34px;width:110px;height:70px;border-radius:16px;background:#1a1a3a;color:var(--mg);border:2px solid var(--mg);box-shadow:0 0 14px rgba(255,47,208,.4);user-select:none;touch-action:none}
.pbtn.on{background:var(--mg);color:#000}
.chk{flex-direction:row;align-items:center}
.side h3{font-family:'Press Start 2P';font-size:11px;color:var(--mg);margin:0;width:100%;text-align:center}
.mono{font-size:11px;opacity:.75;text-align:center}
.proof{width:100%;opacity:1;color:#9aa6d8}.proof b{color:var(--lime)}
footer{display:flex;gap:14px;justify-content:center;align-items:center;flex-wrap:wrap;padding:24px 10px 40px}
footer a{color:var(--mg)}
#confetti{position:fixed;inset:0;pointer-events:none;z-index:60}
.cf{position:absolute;top:-10px;width:8px;height:12px;animation:fall 2.4s linear forwards}
@keyframes fall{to{transform:translateY(105vh) rotate(720deg)}}