/* The Forge Visualizer — compact, high-contrast workspace */
.forge-visualizer-page{min-height:100vh;background:#030603;color:#9dff8a;font-family:"Barlow Condensed",sans-serif}.viz-shell{max-width:1500px;margin:0 auto;padding:1rem 1rem 3rem}.viz-head{display:flex;justify-content:space-between;align-items:end;gap:1rem;padding:.5rem 0 .9rem;border-bottom:1px solid #214521}.viz-kicker{font:600 .62rem "IBM Plex Mono",monospace;letter-spacing:.12em;color:#70ff5a}.viz-head h1{margin:.15rem 0 0;font:500 2rem/.95 "Barlow Condensed",sans-serif;color:#d9ffd1;text-shadow:0 0 12px rgba(92,255,63,.18)}.viz-head p{margin:.35rem 0 0;color:#a7e89b;font-size:.86rem}.viz-engine-status{display:flex;align-items:center;gap:.45rem;padding:.4rem .55rem;border:1px solid #285528;background:#071007;font:600 .52rem "IBM Plex Mono",monospace;letter-spacing:.08em;color:#aaff9f}.viz-engine-status span{width:7px;height:7px;border-radius:50%;background:#5cff3f;box-shadow:0 0 10px #5cff3f}.viz-stage-wrap{margin-top:.8rem;border:1px solid #264a26;background:#050805;box-shadow:0 16px 40px rgba(0,0,0,.45)}.viz-stage{position:relative;width:100%;aspect-ratio:16/9;max-height:72vh;background:#000;overflow:hidden}.viz-stage canvas{display:block;width:100%;height:100%;background:#000}.viz-empty{position:absolute;inset:0;display:grid;place-content:center;text-align:center;background:radial-gradient(circle at center,rgba(92,255,63,.07),transparent 32%),#020402;color:#8dff78;pointer-events:none}.viz-empty strong{font:600 .9rem "IBM Plex Mono",monospace;letter-spacing:.12em}.viz-empty span{margin-top:.4rem;font:500 .58rem "IBM Plex Mono",monospace;letter-spacing:.08em;color:#5da957}.viz-transport{display:grid;grid-template-columns:auto auto auto auto auto minmax(120px,1fr) auto;gap:4px;align-items:center;padding:.45rem;border-top:1px solid #1b371b;background:#071007}.viz-transport button,.viz-file-btn,.viz-panel button{height:30px;display:inline-flex;align-items:center;justify-content:center;padding:0 .65rem;border:1px solid #356735;background:#0a150a;color:#baffae;font:600 .47rem "IBM Plex Mono",monospace;letter-spacing:.06em;cursor:pointer}.viz-transport button:hover,.viz-file-btn:hover,.viz-panel button:hover{border-color:#5cff3f;background:#102010;box-shadow:0 0 12px rgba(92,255,63,.16)}.viz-file-btn input{display:none}.viz-track-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 .5rem;font:500 .5rem "IBM Plex Mono",monospace;color:#91d486}.viz-controls{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.65fr) minmax(220px,.55fr);gap:8px;margin-top:.8rem}.viz-panel{border:1px solid #254525;background:#071007;padding:.75rem}.viz-panel-title{margin-bottom:.6rem;padding-bottom:.45rem;border-bottom:1px solid #183318;font:700 .52rem "IBM Plex Mono",monospace;letter-spacing:.1em;color:#72ff5e}.viz-panel label{display:grid;gap:.35rem;color:#a6e99b;font:600 .48rem "IBM Plex Mono",monospace;letter-spacing:.07em}.viz-panel select{width:100%;height:32px;border:1px solid #315a31;background:#081108;color:#d5ffd0;padding:0 .5rem;font:500 .52rem "IBM Plex Mono",monospace}.viz-inline{display:grid;grid-template-columns:1fr auto auto;gap:.65rem;align-items:end;margin-top:.65rem}.viz-inline label:nth-child(2){display:flex;align-items:center;gap:.5rem;height:32px}.viz-inline input[type=range]{width:100%;accent-color:#5cff3f}.viz-inline input[type=checkbox]{accent-color:#5cff3f}.viz-inline output{color:#74ff63}.viz-danger{width:100%;margin-top:.65rem;border-color:#7b2430!important;color:#ffbdc4!important;background:#17080a!important}.viz-danger.is-recording{background:#5b0711!important;color:#fff!important;box-shadow:0 0 16px rgba(255,34,57,.28)}.viz-panel small{display:block;margin-top:.45rem;color:#72a96b;font:500 .46rem/1.4 "IBM Plex Mono",monospace}.viz-meter-list{margin:0}.viz-meter-list div{display:flex;justify-content:space-between;gap:1rem;padding:.4rem 0;border-bottom:1px solid #173017}.viz-meter-list div:last-child{border-bottom:0}.viz-meter-list dt,.viz-meter-list dd{margin:0;font:600 .48rem "IBM Plex Mono",monospace;letter-spacing:.06em}.viz-meter-list dt{color:#71b768}.viz-meter-list dd{color:#caffc2}.viz-stage:fullscreen{width:100vw;height:100vh;aspect-ratio:auto;background:#000}.viz-stage:fullscreen canvas{width:100vw;height:100vh}.viz-error{color:#ff6b79!important}@media(max-width:1000px){.viz-controls{grid-template-columns:1fr 1fr}.viz-panel-wide{grid-column:1/-1}.viz-transport{grid-template-columns:repeat(5,auto) 1fr}.viz-transport #viz-fullscreen{grid-column:auto}.viz-track-name{grid-column:1/-1;grid-row:2}}@media(max-width:680px){.viz-shell{padding:.6rem .6rem 2rem}.viz-head{align-items:start}.viz-head p{display:none}.viz-controls{grid-template-columns:1fr}.viz-panel-wide{grid-column:auto}.viz-inline{grid-template-columns:1fr}.viz-transport{grid-template-columns:1fr 1fr 1fr}.viz-track-name{grid-column:1/-1}.viz-head h1{font-size:1.65rem}}
