:root{--color-bg: #0d0d0d;--color-surface: #1a1a1a;--color-surface-hi: #222;--color-border: #2a2a2a;--color-text: #e0e0e0;--color-muted: #888;--color-primary: #ff00ff;--color-primary-hover: #ff66ff;--color-accent: #00ffff;--color-danger: #ff4444;--color-success: #00ff88;--color-warn: #ffaa00;--blade-list-w: 320px;--blade-chat-w: 380px;--header-h: 56px;--tab-h: 44px;--glow-sm: 0 0 6px;--glow-md: 0 0 12px;--glow-lg: 0 0 20px}*{box-sizing:border-box}*{scrollbar-width:thin;scrollbar-color:var(--color-border) var(--color-bg)}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:var(--color-bg)}*::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:2px}*::-webkit-scrollbar-thumb:hover{background:var(--color-primary)}html,body{margin:0;padding:0;height:100%;background:var(--color-bg);color:var(--color-text);font-family:Inter,Segoe UI,system-ui,sans-serif;font-size:14px;line-height:1.5}#root{height:100%}code,.mono{font-family:Fira Code,Cascadia Code,SF Mono,Consolas,monospace}body:before{content:"";position:fixed;inset:0;background-image:linear-gradient(rgba(255,0,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,255,255,.03) 1px,transparent 1px);background-size:40px 40px;pointer-events:none;z-index:0}.app{position:relative;z-index:1;display:grid;grid-template-rows:var(--header-h) 1fr;height:100vh}header.app-header{display:flex;align-items:center;padding:0 24px;border-bottom:2px solid var(--color-primary);background:var(--color-surface);box-shadow:0 2px 12px #ff00ff40,inset 0 -1px 0 var(--color-border)}header.app-header h1{margin:0;font-family:Fira Code,monospace;font-weight:700;font-size:20px;letter-spacing:3px;color:var(--color-primary);text-shadow:0 0 4px var(--color-primary),0 0 12px rgba(255,0,255,.6)}header.app-header .build-meta{margin-left:auto;color:var(--color-muted);font-family:Fira Code,monospace;font-size:11px}header.app-header .build-meta .sha{color:var(--color-accent);text-shadow:0 0 6px rgba(0,255,255,.4)}.blades{display:grid;grid-template-columns:var(--blade-list-w) 1fr var(--blade-chat-w);min-height:0}.blades.chat-collapsed{grid-template-columns:var(--blade-list-w) 1fr 40px}.blade{min-height:0;overflow:auto;background:var(--color-bg)}.blade.list{border-right:1px solid var(--color-border);background:var(--color-surface)}.list-head{padding:14px 16px;border-bottom:1px solid var(--color-border);display:flex;align-items:center;gap:10px}.list-head h2{font-family:Fira Code,monospace;font-weight:600;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--color-accent);text-shadow:0 0 4px rgba(0,255,255,.4);margin:0}.list-head .count{color:var(--color-muted);font-size:11px}.list-head button{margin-left:auto}.search{padding:10px 14px 0}.search input{width:100%;background:#0a0a0a;border:1px solid var(--color-border);color:var(--color-text);padding:7px 10px;font-family:Fira Code,monospace;font-size:12px;border-radius:2px}.search input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 6px #00ffff4d}.video-list{list-style:none;padding:8px 0;margin:0}.video-row{padding:10px 14px;cursor:pointer;border-left:3px solid transparent;transition:background .12s}.video-row:hover{background:#ff00ff0f}.video-row.selected{background:#ff00ff1a;border-left-color:var(--color-primary);box-shadow:inset 0 0 16px #ff00ff26}.video-row .title{font-weight:500;color:var(--color-text);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.video-row .row-meta{display:flex;gap:8px;align-items:center;font-size:11px}.video-row .vid{color:var(--color-accent);font-family:Fira Code,monospace}.video-row .ago{color:var(--color-muted);margin-left:auto}.state-badge{display:inline-block;font-family:Fira Code,monospace;font-size:10px;text-transform:uppercase;letter-spacing:1px;padding:2px 6px;border-radius:2px;border:1px solid}.state-idea{color:var(--color-muted);border-color:var(--color-muted)}.state-commissioned{color:var(--color-accent);border-color:var(--color-accent);text-shadow:0 0 4px rgba(0,255,255,.4)}.state-in_production{color:var(--color-warn);border-color:var(--color-warn);text-shadow:0 0 4px rgba(255,170,0,.4)}.state-approved{color:var(--color-primary);border-color:var(--color-primary);text-shadow:0 0 4px rgba(255,0,255,.4)}.state-published{color:var(--color-success);border-color:var(--color-success);text-shadow:0 0 4px rgba(0,255,136,.4);box-shadow:0 0 8px #0f83}.state-cancelled,.state-render_failed{color:var(--color-danger);border-color:var(--color-danger)}.state-retired{color:var(--color-muted);border-color:var(--color-muted)}button,.btn{background:transparent;color:var(--color-primary);border:1px solid var(--color-primary);padding:6px 12px;font-family:Fira Code,monospace;font-size:11px;letter-spacing:1px;text-transform:uppercase;cursor:pointer;border-radius:2px;transition:all .12s}button:hover,.btn:hover{background:#ff00ff1a;color:var(--color-primary-hover);box-shadow:0 0 8px #ff00ff80,inset 0 0 8px #ff00ff26;text-shadow:0 0 4px var(--color-primary)}button.accent{color:var(--color-accent);border-color:var(--color-accent)}button.accent:hover{background:#00ffff1a;box-shadow:0 0 8px #00ffff80,inset 0 0 8px #00ffff26;text-shadow:0 0 4px var(--color-accent)}button.danger{color:var(--color-danger);border-color:var(--color-danger)}button.small{padding:3px 8px;font-size:10px}.detail-empty{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;color:var(--color-muted);gap:8px}.detail-empty .glyph{font-size:48px;color:var(--color-primary);opacity:.4;text-shadow:0 0 12px var(--color-primary)}.detail{display:grid;grid-template-rows:auto var(--tab-h) 1fr;min-height:0;height:100%}.detail-head{padding:16px 24px 10px;border-bottom:1px solid var(--color-border)}.detail-head .title-row{display:flex;align-items:center;gap:14px;margin-bottom:6px}.detail-head h1{margin:0;font-size:22px;font-weight:600;color:var(--color-text)}.detail-head .detail-meta{display:flex;gap:18px;font-size:12px;color:var(--color-muted);font-family:Fira Code,monospace;flex-wrap:wrap}.detail-head .detail-meta strong{color:var(--color-accent);font-weight:400}.detail-head .actions{margin-left:auto;display:flex;gap:8px}.tabs{display:flex;border-bottom:1px solid var(--color-border);background:#0a0a0a}.tab{padding:0 18px;display:flex;align-items:center;font-family:Fira Code,monospace;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--color-muted);cursor:pointer;border-bottom:2px solid transparent;height:100%;transition:color .12s;background:transparent;border-top:none;border-left:none;border-right:none;border-radius:0}.tab:hover{color:var(--color-text);box-shadow:none;background:transparent}.tab.active,.tab[aria-selected=true]{color:var(--color-primary);border-bottom-color:var(--color-primary);text-shadow:0 0 6px var(--color-primary)}.tab-body{overflow:auto;padding:20px 24px;min-height:0}.panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:2px;padding:16px;margin-bottom:16px}.panel h3{margin:0 0 12px;font-family:Fira Code,monospace;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--color-accent);text-shadow:0 0 4px rgba(0,255,255,.3)}.pipeline-steps{list-style:none;padding:0;margin:0}.pipeline-steps li{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px dashed var(--color-border);font-family:Fira Code,monospace;font-size:12px}.pipeline-steps li:last-child{border-bottom:none}.pipeline-steps .check{width:16px;height:16px;border:1px solid var(--color-border);display:inline-block;text-align:center;line-height:14px;font-size:10px;border-radius:2px}.pipeline-steps .check.done{border-color:var(--color-success);color:var(--color-success);text-shadow:0 0 4px rgba(0,255,136,.6)}.pipeline-steps .check.active{border-color:var(--color-warn);color:var(--color-warn);text-shadow:0 0 6px rgba(255,170,0,.6);animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.pipeline-steps .step-label{color:var(--color-text)}.pipeline-steps .step-time{margin-left:auto;color:var(--color-muted);font-size:11px}pre.json-blob{background:#0a0a0a;border:1px solid var(--color-border);padding:12px;color:var(--color-accent);font-size:12px;border-radius:2px;max-height:260px;overflow:auto;font-family:Fira Code,monospace;margin:0}pre.json-blob .k{color:var(--color-primary)}pre.json-blob .s{color:var(--color-success)}pre.json-blob .n{color:var(--color-warn)}details.doc-section{margin-bottom:12px;border:1px solid var(--color-border);border-radius:2px;background:var(--color-surface)}details.doc-section summary{padding:10px 14px;cursor:pointer;font-family:Fira Code,monospace;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--color-accent)}details.doc-section[open] summary{border-bottom:1px solid var(--color-border)}details.doc-section>div{padding:12px 14px}.blade.chat{border-left:1px solid var(--color-border);background:var(--color-surface);display:grid;grid-template-rows:auto auto 1fr auto;min-height:0}.blades.chat-collapsed .blade.chat{grid-template-rows:1fr}.blades.chat-collapsed .chat-head,.blades.chat-collapsed .chat-ctx,.blades.chat-collapsed .chat-log-wrap,.blades.chat-collapsed .chat-input{display:none}.blades.chat-collapsed .chat-rail{display:flex}.chat-rail{display:none;flex-direction:column;align-items:center;padding:12px 0;gap:14px}.chat-rail .rail-icon{color:var(--color-primary);cursor:pointer;text-shadow:0 0 6px var(--color-primary);writing-mode:vertical-rl;transform:rotate(180deg);font-family:Fira Code,monospace;letter-spacing:3px;font-size:11px;text-transform:uppercase;background:transparent;border:none}.chat-head{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--color-border)}.chat-head h2{margin:0;font-family:Fira Code,monospace;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--color-primary);text-shadow:0 0 4px var(--color-primary)}.chat-head .scope-toggle{margin-left:auto}.chat-ctx{padding:8px 16px;border-bottom:1px solid var(--color-border);background:#00ffff08;font-family:Fira Code,monospace;font-size:11px;color:var(--color-muted);display:flex;align-items:center;gap:8px}.chat-ctx .ctx-label{color:var(--color-accent)}.chat-ctx .ctx-title{color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-ctx .ctx-state{margin-left:auto}.chat-log-wrap{overflow:auto;padding:14px 16px}.chat-log{display:flex;flex-direction:column;gap:10px}.chat-msg{max-width:80%;padding:8px 12px;border-radius:2px;font-size:13px;line-height:1.5;font-family:Inter,sans-serif}.chat-msg.user{align-self:flex-end;background:#ff00ff14;border:1px solid rgba(255,0,255,.35);color:var(--color-text)}.chat-msg.agent{align-self:flex-start;background:#00ffff0d;border:1px solid rgba(0,255,255,.25);color:var(--color-text)}.chat-msg.agent p{margin:0 0 8px}.chat-msg.agent p:last-child{margin-bottom:0}.chat-msg.agent ul,.chat-msg.agent ol{margin:0 0 8px;padding-left:20px}.chat-msg.agent ul:last-child,.chat-msg.agent ol:last-child{margin-bottom:0}.chat-msg.agent li{margin:2px 0}.chat-msg.agent strong{color:#fff;font-weight:600}.chat-msg.agent code{background:#00ffff1f;padding:1px 4px;border-radius:2px;font-family:Fira Code,monospace;font-size:12px}.chat-msg.agent pre{background:#0a0a0a;border:1px solid var(--color-border);padding:8px;border-radius:2px;overflow-x:auto;margin:0 0 8px}.chat-msg.agent pre code{background:transparent;padding:0}.chat-msg.agent a{color:var(--color-text);text-decoration:underline}.chat-msg.tool{align-self:flex-start;background:#0a0a0a;border:1px dashed var(--color-muted);color:var(--color-muted);font-family:Fira Code,monospace;font-size:11px}.chat-input{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--color-border);background:#0a0a0a}.chat-input textarea,.chat-input input{flex:1;background:#0a0a0a;border:1px solid var(--color-border);color:var(--color-text);padding:10px 12px;font-size:13px;border-radius:2px;font-family:inherit;resize:none;field-sizing:content;min-height:2.5em;max-height:12em;line-height:1.4}.chat-input textarea:focus,.chat-input input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 8px #ff00ff4d}.script-editor{display:grid;grid-template-rows:auto auto auto;gap:16px}textarea.script-body{width:100%;min-height:220px;background:#0a0a0a;border:1px solid var(--color-border);color:var(--color-text);padding:12px;font-family:Fira Code,monospace;font-size:13px;line-height:1.6;border-radius:2px;resize:vertical}textarea.script-body:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 8px #0ff3}.scene-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.scene-card{background:#0a0a0a;border:1px solid var(--color-border);padding:10px 12px;border-radius:2px}.scene-card .num{font-family:Fira Code,monospace;color:var(--color-primary);font-size:11px;letter-spacing:1px;text-shadow:0 0 4px rgba(255,0,255,.4);margin-bottom:4px}.studio-placeholder{aspect-ratio:16 / 9;background:#0a0a0a;border:1px dashed var(--color-border);display:flex;align-items:center;justify-content:center;color:var(--color-muted);font-family:Fira Code,monospace;font-size:12px;text-align:center;padding:16px}.submit-form{padding:24px;max-width:640px}.submit-form h1{margin:0 0 18px;font-size:20px;color:var(--color-text)}.submit-form form>div{margin-bottom:12px}.submit-form label{display:block;font-family:Fira Code,monospace;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--color-accent);margin-bottom:4px}.submit-form input{width:100%;background:#0a0a0a;border:1px solid var(--color-border);color:var(--color-text);padding:8px 10px;font-family:Fira Code,monospace;font-size:12px;border-radius:2px}.submit-form input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 6px #00ffff4d}.trace-filter-bar{display:flex;gap:8px;padding:8px 10px;margin-bottom:10px;border:1px solid var(--color-border);background:#0a0a0a;font-family:Fira Code,monospace;font-size:11px;letter-spacing:1px;text-transform:uppercase;flex-wrap:wrap;align-items:center}.trace-filter-bar label{display:inline-flex;align-items:center;gap:6px;color:var(--color-muted);cursor:pointer}.trace-filter-bar input[type=checkbox]{accent-color:var(--color-accent)}.trace-entry{padding:10px 12px;background:#0a0a0a;border-left:2px solid var(--color-border);margin-bottom:6px;font-family:Fira Code,monospace;font-size:12px}.trace-entry.advance{border-left-color:var(--color-primary)}.trace-entry.dispatch{border-left-color:var(--color-accent)}.trace-entry.await,.trace-entry.stalled{border-left-color:var(--color-warn)}.trace-entry.error{border-left-color:var(--color-danger);background:#ff44440f}.trace-entry .ts{color:var(--color-muted);font-size:11px}.trace-entry .tool{color:var(--color-accent)}.trace-entry .detail-line{color:var(--color-muted);margin-top:4px;font-size:11px}.trace-empty{color:var(--color-muted);font-family:Fira Code,monospace;font-size:12px;padding:12px}.submit-form:has(.mastery-brief-intake){padding:0;max-width:none;height:100%;display:flex;flex-direction:column}.mastery-brief-intake{display:flex;flex-direction:column;flex:1;min-height:0}.mastery-brief-intake header{flex:0 0 auto;padding:16px 24px;border-bottom:1px solid var(--color-border)}.mastery-brief-intake .chat-log-wrap{flex:1;min-height:0}.mastery-brief-intake .chat-input{flex:0 0 auto}
