:root{--bg:#0d0d11;--panel:rgba(24,24,32,.72);--line:#2a2a38;--pink:#ff2e88;--cyan:#22e6ff;--lime:#c6ff3d;--orange:#ff8a1f;--ink:#ecebf3;--mute:#8a89a0}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);font-family:'JetBrains Mono',monospace;min-height:100vh}
body{background:
 radial-gradient(900px 500px at 10% -10%,rgba(255,46,136,.16),transparent 60%),
 radial-gradient(800px 500px at 110% 10%,rgba(34,230,255,.12),transparent 60%),
 repeating-linear-gradient(90deg,rgba(255,255,255,.018) 0 1px,transparent 1px 48px),
 var(--bg)}
.display{font-family:'Syne',sans-serif}
.glass{background:var(--panel);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:18px}
.btn{border:1px solid var(--line);background:#1b1b25;border-radius:12px;padding:8px 12px;font-size:12px;transition:transform .12s,box-shadow .2s,border-color .2s;cursor:pointer;color:var(--ink)}
.btn:hover{border-color:var(--cyan);box-shadow:0 0 14px rgba(34,230,255,.3)}
.btn:active{transform:scale(.93)}
.btn-hot{background:linear-gradient(90deg,var(--pink),var(--orange));border:none;color:#140409;font-weight:700}
.btn-hot:hover{box-shadow:0 0 22px rgba(255,46,136,.55)}
.tab{padding:10px 6px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);border-bottom:2px solid transparent;cursor:pointer;flex:1;text-align:center}
.tab.on{color:var(--lime);border-color:var(--lime)}
input[type=range]{width:100%;accent-color:var(--pink)}
input[type=text],select{background:#121219;border:1px solid var(--line);color:var(--ink);border-radius:10px;padding:7px 9px;font-family:inherit;font-size:12px;width:100%}
label.lb{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--mute);display:block;margin:8px 0 3px}
.stage{box-shadow:0 0 0 1px var(--line),0 0 60px rgba(255,46,136,.18);border-radius:16px;background:#000}
.drop{border:2px dashed var(--cyan);border-radius:22px;transition:all .2s}
.drop.over{border-color:var(--lime);background:rgba(198,255,61,.06)}
.drop.over .cam{animation:bounce .5s infinite alternate}
@keyframes bounce{to{transform:translateY(-14px) rotate(-6deg)}}
.reel{animation:spin 6s linear infinite;display:inline-block}
@keyframes spin{to{transform:rotate(360deg)}}
.enh{background:radial-gradient(circle at 30% 30%,var(--lime),#5fd400);color:#0b1200;font-weight:800;border-radius:16px;padding:16px;width:100%;box-shadow:0 0 30px rgba(198,255,61,.4);animation:pulse 2s infinite}
@keyframes pulse{50%{box-shadow:0 0 50px rgba(198,255,61,.7)}}
.rise{animation:rise .6s both}
@keyframes rise{from{opacity:0;transform:translateY(14px)}}
.runner{animation:run .35s infinite alternate}
@keyframes run{to{transform:translateY(-5px) rotate(8deg)}}
::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:#333;border-radius:4px}