:root{--y:#ffd21f;--b:#1d3fb8;--o:#ff7a1a;--r:#e3242b;--bg:#120b26}
*{box-sizing:border-box}
body{margin:0;background:radial-gradient(circle at 50% 0,#2a1550,var(--bg) 70%);color:#fff;font-family:Fredoka,sans-serif}
#marquee{text-align:center;padding:14px 8px 6px;position:relative}
#marquee h1{font-family:'Bungee Shade',cursive;font-size:clamp(22px,6vw,56px);margin:0;color:var(--y);text-shadow:0 0 12px var(--o)}
.bulbs{height:10px;margin:6px auto 0;max-width:900px;background:repeating-linear-gradient(90deg,var(--y) 0 8px,transparent 8px 20px);animation:chase .5s linear infinite;border-radius:5px;filter:drop-shadow(0 0 6px var(--y))}
@keyframes chase{to{background-position:20px 0}}
main{max-width:1000px;margin:0 auto;padding:8px}
#stageWrap{position:relative;border:6px solid var(--b);border-radius:14px;overflow:hidden;box-shadow:0 0 30px #000}
#canvas{display:block;width:100%}
#vhs{position:absolute;inset:0;pointer-events:none;display:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,.25) 0 2px,transparent 2px 4px);mix-blend-mode:multiply;animation:jit .2s steps(2) infinite}
#vhs.on{display:block}
@keyframes jit{50%{transform:translateY(1px)}}
#controls{background:#22263a;border:4px solid #444b6b;border-radius:12px;margin-top:10px;padding:10px;font-family:Bungee,cursive}
.row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:8px}
.small{font-family:Fredoka;font-size:14px}
.abtn{border:none;border-radius:999px;padding:10px 16px;font-family:Bungee;cursor:pointer;color:#111;box-shadow:0 5px 0 rgba(0,0,0,.5);font-size:14px}
.abtn:active{transform:translateY(4px);box-shadow:0 1px 0 #000}
.yellow{background:var(--y)}.red{background:var(--r);color:#fff}.blue{background:#4c7dff;color:#fff}
.mini{background:#444b6b;color:#fff;border:none;border-radius:6px;padding:5px 9px;cursor:pointer;font-family:Fredoka}
#fname{font-family:Fredoka;opacity:.8}
#timeline{width:100%;background:#0c0e18;border-radius:6px;cursor:pointer;display:block;margin-bottom:8px}
#cast{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}
.c{background:#161a2b;border-left:6px solid;border-radius:8px;padding:6px 8px;font-size:12px}
.c input[type=range]{width:100%}
#pads{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}
#pads button{flex:1;min-width:60px;padding:12px 4px;border:none;border-radius:10px;font-family:Bungee;color:#111;touch-action:none}
footer{text-align:center;padding:16px;opacity:.8}
footer a{color:var(--y)}