:root{--bg: #0b0b0c;--panel: #161618;--panel-2: #101012;--line: #2a1c12;--orange: #eb7314;--glow: #ff4d05;--gold: #ffa608;--text: #f2ede4;--muted: #8a847a;--housing: #08090a;--ok: #d7ff8a;--err: #ff6b4a;--mono: "IBM Plex Mono", ui-monospace, monospace;--display: "Share Tech Mono", "IBM Plex Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:var(--mono)}body{background:var(--bg)}.app{position:relative;z-index:1;min-height:100vh;display:grid;grid-template-rows:auto 1fr auto}.top{display:grid;grid-template-columns:1fr auto;gap:.75rem 1.5rem;align-items:center;padding:1rem 1.25rem .85rem;border-bottom:1px solid var(--line);background:linear-gradient(90deg,transparent 0,rgba(235,115,20,.18) 18%,transparent 19%),linear-gradient(var(--panel-2),#0e0e10)}.lockup{display:flex;align-items:center;gap:.9rem}.icon-slot{width:52px;height:52px;flex:0 0 52px;border:1px dashed var(--line);background:var(--housing)}.icon-slot img,.icon-slot svg{display:block;width:100%;height:100%;object-fit:contain}.eyebrow{margin:0;color:var(--muted);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase}h1{margin:.1rem 0 0;font-family:var(--display);font-size:1.85rem;font-weight:400;letter-spacing:.08em;line-height:1}.badge{border:1px solid var(--orange);color:var(--glow);padding:.15rem .45rem;font-family:var(--display);font-size:1.1rem;box-shadow:0 0 12px #ff4d0540}.actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}button{font-family:var(--mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text);background:var(--housing);border:1px solid #3a2a1c;padding:.55rem .75rem;cursor:pointer}button:hover{border-color:var(--orange);color:var(--gold)}button.primary{background:linear-gradient(180deg,#ff6a12,#c44708);border-color:#ff9a3a;color:#140800;font-weight:600}#status{grid-column:1 / -1;margin:0;min-height:1.2rem;color:var(--muted);font-size:.78rem;white-space:pre-wrap}#status[data-kind=busy]{color:var(--gold)}#status[data-kind=ok]{color:var(--ok)}#status[data-kind=error]{color:var(--err)}.stage{display:grid;grid-template-columns:minmax(280px,360px) 1fr;min-height:0}.rail{position:relative;border-right:1px solid var(--line);background:repeating-linear-gradient(90deg,transparent 0 11px,rgba(235,115,20,.05) 11px 12px),var(--panel);overflow:auto;max-height:calc(100vh - 9rem)}.rail-label{margin:0;padding:.7rem 1rem .4rem;color:var(--orange);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase}.group{border-top:1px solid var(--line)}.group summary{list-style:none;cursor:pointer;display:flex;gap:.65rem;align-items:baseline;padding:.7rem 1rem;font-size:.8rem;text-transform:lowercase}.group summary::-webkit-details-marker{display:none}.group-id{color:var(--glow);font-size:.68rem}.group-body{padding:0 1rem .85rem;display:grid;gap:.55rem}.field{display:grid;grid-template-columns:1fr 92px;gap:.25rem .5rem;align-items:center;font-size:.72rem}.field input[type=range]{grid-column:1 / -1;width:100%;accent-color:var(--orange)}.field-label em{color:var(--muted);font-style:normal}.numeric,select{font-family:var(--mono);font-size:.72rem;color:var(--text);background:var(--housing);border:1px solid #332418;padding:.25rem .35rem;width:92px;justify-self:end}select{width:100%;grid-column:1 / -1}.field-toggle{position:relative;grid-template-columns:1fr auto}.field-toggle input{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.field-toggle:focus-within .switch{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}.switch{width:34px;height:18px;border:1px solid #4a321c;background:#1a120e;position:relative}.switch:after{content:"";position:absolute;top:1px;left:2px;width:12px;height:12px;background:#5a5348}.field-toggle input:checked+.switch{border-color:var(--orange);background:#3a1c08}.field-toggle input:checked+.switch:after{left:18px;background:var(--glow)}.viewport{min-width:0;min-height:62vh;padding:.9rem}.viewport-frame{position:relative;height:100%;min-height:58vh;border:1px solid var(--line);background:#2e3038;box-shadow:inset 0 0 80px #ff4d0514}#view{width:100%;height:100%;display:block}.foot{padding:.75rem 1.25rem 1rem;border-top:1px solid var(--line);color:var(--muted);font-size:.72rem}.foot a{color:var(--gold)}code{color:var(--orange)}@media(max-width:900px){.top{grid-template-columns:1fr}.actions{justify-content:flex-start}.stage{grid-template-columns:1fr}.rail{max-height:none;border-right:0;border-bottom:1px solid var(--line)}.viewport,.viewport-frame{min-height:52vh}}
