:root{--bg:#07070a;--fg:#d8ffe0;--mag:#ff2bd6;--cy:#00f0ff;--lime:#9dff00;--dim:#1a1a24}
*{box-sizing:border-box}
body{margin:0;background:radial-gradient(circle at 20% 0%,#1a0620 0,transparent 50%),radial-gradient(circle at 90% 100%,#001a20 0,transparent 50%),var(--bg);color:var(--fg);font-family:'JetBrains Mono',monospace;min-height:100vh;animation:flick 6s infinite}
@keyframes flick{0%,97%,100%{opacity:1}98%{opacity:.93}}
.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:24px 12px 8px}
h1{font-family:'VT323',monospace;font-size:clamp(44px,9vw,96px);margin:0;letter-spacing:4px;position:relative;display:inline-block;text-shadow:3px 0 var(--mag),-3px 0 var(--cy)}
h1:hover{animation:jit .2s infinite}
@keyframes jit{0%{transform:translate(0)}25%{transform:translate(-2px,1px)}50%{transform:translate(2px,-1px)}75%{transform:translate(-1px,-2px)}}
.sub{font-weight:200;color:#9a9;margin:4px 0}
main{display:grid;grid-template-columns:320px 1fr;gap:20px;padding:16px;max-width:1400px;margin:auto}
@media(max-width:820px){main{grid-template-columns:1fr}}
aside{display:flex;flex-direction:column;gap:8px}
label{font-size:11px;letter-spacing:2px;color:var(--cy);margin-top:6px}
.drop{border:2px dashed var(--mag);padding:20px;text-align:center;cursor:pointer;font-size:12px;color:#caa;transition:.2s}
.drop.over{background:#ff2bd622;border-color:var(--lime)}
.drop .big{font-family:'VT323';font-size:30px;color:var(--mag)}
.info{color:var(--lime);margin-top:6px;word-break:break-all}
.row{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
input[type=text]{flex:1;min-width:0;background:#000;border:1px solid var(--lime);color:var(--lime);font-family:inherit;padding:8px}
input[type=range]{accent-color:var(--mag);width:100%}
.btn,.seg button{background:#000;color:var(--fg);border:1px solid var(--cy);font-family:inherit;padding:8px 10px;cursor:pointer;font-size:12px}
.btn:active,.seg button:active{text-shadow:2px 0 var(--mag),-2px 0 var(--cy);transform:translate(1px,1px)}
.btn:hover{background:#00f0ff22}
.seg button{flex:1}
.seg button.on{background:var(--cy);color:#000;font-weight:800}
.muts{display:grid;grid-template-columns:1fr 1fr;gap:4px;font-size:12px}
.chk{color:var(--fg);letter-spacing:0;font-size:12px;cursor:pointer}
.fuzz{font-family:'VT323';font-size:34px;background:var(--mag);color:#000;border:none;font-weight:800;animation:pulse 1.4s infinite;margin-top:8px}
.fuzz:hover{background:var(--lime)}
@keyframes pulse{50%{box-shadow:0 0 24px var(--mag)}}
.views{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:600px){.views{grid-template-columns:1fr}}
.pane{position:relative;border:1px solid var(--dim);background:#000;min-height:200px;display:flex;align-items:center;justify-content:center}
.pane canvas{max-width:100%;max-height:60vh;display:block}
.tag{position:absolute;top:4px;left:6px;font-size:10px;color:var(--cy);letter-spacing:2px;background:#000a;padding:2px 4px}
.dead{position:absolute;inset:0;background:#000e;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:12px;color:#f66}
.skull{font-family:'VT323';font-size:64px}
.hidden{display:none}
.actions{margin:10px 0}
.stats{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--lime)}
.stats b{color:var(--mag);font-weight:800}
.log{background:#000;color:#3f6;border:1px solid #143;height:150px;overflow:auto;font-size:11px;padding:8px;margin:10px 0}
.gallery{display:flex;gap:6px;overflow-x:auto;padding:6px 0}
.gallery img{height:70px;border:1px solid var(--dim);cursor:pointer}
.gallery img:hover{border-color:var(--mag)}
footer{text-align:center;padding:24px;font-size:12px;color:#888}
footer a{color:var(--mag)}