
:root{--ivory:#F9F9F7;--charcoal:#0B0B0B;--cobalt:#0060FF;--pink:#FF5AC3;--orange:#FF8A00;--acid:#D7FF00;--line:#DADAD5;--muted:#666;--display:"Arial Black","Helvetica Neue",Arial,sans-serif;--ui:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--ivory);color:var(--charcoal);font-family:var(--ui)}
body:before{content:"";position:fixed;z-index:-1;inset:auto -10vw -22vh -10vw;height:46vh;border-radius:50%;background:#050505;box-shadow:0 -5px 0 var(--cobalt),-100px -25px 80px rgba(255,90,195,.16),100px -20px 80px rgba(215,255,0,.16)}
header{padding:20px 24px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:20px;background:rgba(249,249,247,.94);position:sticky;top:0;z-index:10}
header h1{font:900 22px/1 var(--display);text-transform:uppercase;letter-spacing:-.04em;margin:0}header p{margin:0;color:var(--muted);font-size:12px}
main{display:grid;grid-template-columns:260px 1fr 330px;min-height:calc(100vh - 84px)}
aside,.right{padding:20px;border-right:1px solid var(--line);background:rgba(249,249,247,.95)}.right{border-right:0;border-left:1px solid var(--line)}
.module{width:100%;padding:14px;text-align:left;background:transparent;border:1px solid var(--line);margin-bottom:8px;cursor:pointer}.module strong{display:block;text-transform:uppercase;font-weight:900}.module small{color:var(--muted)}.module.active{border-color:var(--cobalt);box-shadow:inset 4px 0 var(--cobalt)}
.stage{padding:18px;min-width:0}iframe{width:100%;height:calc(100vh - 125px);border:1px solid var(--line);background:white}
button{border:1px solid var(--charcoal);background:var(--ivory);padding:10px 14px;text-transform:uppercase;font-weight:900;letter-spacing:.08em;font-size:11px;cursor:pointer;margin:3px}button[data-hand="OPEN"]{background:var(--cobalt);color:white;border-color:var(--cobalt)}button[data-hand="HOLD"]{background:var(--charcoal);color:white}.right textarea,.right input{width:100%;padding:10px;border:1px solid var(--line);background:white}.right pre{white-space:pre-wrap;font:11px/1.45 ui-monospace,monospace;background:#0b0b0b;color:#f9f9f7;padding:14px;min-height:160px;overflow:auto}.badge{color:var(--cobalt);font-size:11px;font-weight:900;letter-spacing:.12em}
@media(max-width:980px){main{grid-template-columns:1fr}aside,.right{border:0;border-bottom:1px solid var(--line)}iframe{height:72vh}}
