:root{color-scheme:dark;--bg:#030608;--surface:#071015;--surface-raised:#0a1319;--surface-glass:#060c10e8;--line:#263139;--line-strong:#3a4852;--text:#f4f7f9;--muted:#96a1ad;--cyan:#0ce8ff;--green:#48f23f;--magenta:#f238df;--red:#ff3b44;--radius:5px;--font-ui:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"Cascadia Code", "SFMono-Regular", Consolas, monospace;font-family:var(--font-ui);background:var(--bg);color:var(--text)}*{box-sizing:border-box}html,body{background:var(--bg);min-width:320px;min-height:100%;margin:0;overflow:hidden}body{min-height:100dvh}button,input{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}button:disabled{cursor:not-allowed}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.control-room{background:#030608;grid-template-rows:58px minmax(0,1fr) 104px;grid-template-columns:224px minmax(0,1fr) 296px;width:100vw;height:100dvh;display:grid;overflow:hidden}.side-rail{border-right:1px solid var(--line);z-index:5;background:linear-gradient(#020506,#050a0d);flex-direction:column;grid-area:1/1/-1;display:flex}.side-rail__brand{border-bottom:1px solid var(--line);align-items:center;height:58px;padding:0 20px;display:flex}.brand{color:var(--text);letter-spacing:.11em;white-space:nowrap;align-items:center;gap:12px;font-size:21px;font-weight:650;display:flex}.brand__mark{width:34px;height:34px;color:var(--cyan)}.side-rail nav{padding:20px 0}.nav-item{color:#b7c0ca;text-align:left;background:0 0;border:0;border-left:3px solid #0000;align-items:center;gap:16px;width:100%;height:54px;padding:0 24px;font-size:15px;display:flex}.nav-item:disabled{opacity:1}.nav-item--active{color:#fff;border-left-color:var(--cyan);box-shadow:inset -3px 0 var(--cyan);background:linear-gradient(90deg,#0ce8ff2b,#0ce8ff09)}.nav-item--active svg{color:var(--cyan)}.system-card{border:1px solid var(--line);border-radius:var(--radius);background:#050a0db8;gap:12px;margin:auto 18px 18px;padding:16px 14px;display:grid}.eyebrow{color:var(--muted);font:11px var(--font-mono);margin:0 0 5px}.system-card strong{color:var(--green);font:14px var(--font-mono);font-weight:500}.system-card__health{border-top:1px solid var(--line);color:var(--green);font:13px var(--font-mono);align-items:center;gap:10px;margin-top:5px;padding-top:15px;display:flex}.rail-collapse{border:0;border-top:1px solid var(--line);height:73px;color:var(--muted);opacity:1;background:0 0;align-items:center;gap:12px;padding:0 24px;font-size:14px;display:flex}.top-bar{border-bottom:1px solid var(--line);z-index:4;background:#020507f2;grid-area:1/2/auto/4;grid-template-columns:1fr auto 294px;height:58px;display:grid}.plane-title{color:var(--cyan);font:13px var(--font-mono);letter-spacing:.04em;align-items:center;gap:12px;padding:0 24px;display:flex}.connection{font:12px var(--font-mono);color:var(--muted);align-items:center;gap:9px;padding:0 24px;display:flex}.connection--live{color:var(--green)}.connection--disconnected{color:var(--red)}.connection--demo{color:#ffd34a}.status-dot{background:currentColor;border-radius:50%;width:9px;height:9px;box-shadow:0 0 10px}.top-actions{border-left:1px solid var(--line);justify-content:space-around;align-items:center;display:flex}.top-actions button{color:#a5b0ba;opacity:.72;background:0 0;border:0}.top-actions svg{width:19px}.factory-stage{background:var(--bg);grid-area:2/2;min-width:0;min-height:0;position:relative;overflow:hidden}.active-job-banner{z-index:3;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(90deg,#04080bf7,#070d11e8);align-items:center;gap:12px;height:81px;padding:0 16px;display:flex;position:absolute;top:0;left:10px;right:10px}.job-glyph{border:1px solid var(--line);border-radius:4px;flex:none;width:34px;height:34px;position:relative}.job-glyph:before{content:"";border:1px solid var(--green);width:8px;height:8px;position:absolute;top:11px;left:11px;transform:rotate(45deg);box-shadow:0 0 8px #48f23f73}.active-job-banner div span{color:var(--muted);font:11px var(--font-mono)}.active-job-banner h1{letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;margin:5px 0 0;font-size:clamp(17px,1.7vw,23px);font-weight:520;overflow:hidden}.factory-scene{position:absolute;inset:0}.factory-scene canvas{touch-action:none;display:block}.scene-caption{color:#61727d;font:10px var(--font-mono);letter-spacing:.1em;pointer-events:none;gap:16px;display:flex;position:absolute;bottom:12px;left:14px}.scene-entity-nav{gap:6px;display:flex;position:absolute;bottom:11px;right:14px}.scene-entity-nav button{min-width:28px;height:25px;color:var(--cyan);font:9px var(--font-mono);background:#050c10db;border:1px solid #24515b;border-radius:2px;padding:0 6px}.scene-entity-nav button:hover{border-color:var(--cyan);background:#0c2027}.scene-empty{pointer-events:none;color:var(--muted);text-align:center;align-content:center;justify-items:center;gap:9px;display:grid;position:absolute;inset:84px 0 0}.scene-empty strong{color:#dce5e9;font:16px var(--font-mono);font-weight:500}.scene-empty span:last-child{font-size:13px}.scene-empty__node{border:1px solid #1d6873;width:68px;height:68px;margin-bottom:12px;transform:rotate(30deg)skewY(-30deg)scaleX(.86);box-shadow:inset 0 0 28px #0ce8ff1c,0 0 24px #0ce8ff14}.entity-popover{z-index:4;border:1px solid var(--cyan);background:var(--surface-glass);width:245px;min-height:126px;box-shadow:0 16px 40px #00000080, inset 3px 0 var(--cyan);gap:6px;padding:17px;display:grid;position:absolute;bottom:38px;left:18px}.entity-popover button{color:var(--muted);background:0 0;border:0;font-size:20px;position:absolute;top:6px;right:8px}.entity-popover>span{color:var(--cyan);font:10px var(--font-mono);letter-spacing:.1em}.entity-popover strong{padding-right:22px;font-size:15px}.entity-popover small{color:var(--muted)}.entity-popover em{color:var(--green);font:normal 11px var(--font-mono)}.connection-notice{z-index:4;color:#ff9399;max-width:55%;font:11px var(--font-mono);background:#1b070ae6;border:1px solid #573139;align-items:center;gap:8px;padding:9px 12px;display:flex;position:absolute;bottom:12px;right:14px}.connection-notice i{background:var(--red);border-radius:50%;flex:none;width:7px;height:7px}.mobile-scene-tools{display:none}.job-inspector{scrollbar-width:thin;border-left:1px solid var(--line);z-index:4;background:linear-gradient(#05090c,#071016);grid-area:2/3;min-height:0;overflow-y:auto}.inspector-heading{color:#b6c0c9;height:51px;font:12px var(--font-mono);grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:0 17px;display:grid}.job-summary{border-bottom:1px solid var(--line);padding:0 17px 18px}.job-summary h2{margin:0 0 8px;font-size:15px;font-weight:600;line-height:1.35}.job-summary p{color:var(--muted);font:10px var(--font-mono);text-overflow:ellipsis;margin:0;overflow:hidden}.job-status-row{border-bottom:1px solid var(--line);min-height:62px;font:10px var(--font-mono);color:var(--muted);grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:0 17px;display:grid}.job-status-row time{font-size:9px}.status-label{color:var(--cyan);justify-self:start;font-size:10px}.status-label--running,.status-label--completed{color:var(--green)}.status-label--failed,.status-label--cancelled{color:var(--red)}.status-label--planning,.status-label--assigned{color:var(--magenta)}.task-graph{border-bottom:1px solid var(--line);padding:20px 17px 23px}.task-graph h3,.timeline h3{color:#aeb9c2;font:11px var(--font-mono);margin:0}.task-graph__list{justify-items:center;padding-top:16px;display:grid}.graph-node-wrap{width:82%;padding-top:18px;position:relative}.graph-node-wrap:first-child{padding-top:0}.graph-edge{border-left:1px solid var(--magenta);height:18px;position:absolute;top:0;left:50%}.graph-node{width:100%;min-height:42px;color:var(--text);text-align:left;background:#04090cb8;border:1px solid #53616b;border-radius:3px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-size:10px;display:flex}.graph-node--selected{box-shadow:0 0 0 1px var(--cyan), 0 0 18px #0ce8ff1f}.graph-node strong{color:var(--cyan);font:9px var(--font-mono)}.graph-node--running{border-color:var(--green)}.graph-node--running strong{color:var(--green)}.graph-node--planning,.graph-node--assigned,.graph-node--starting{border-color:var(--magenta)}.timeline{padding:20px 17px}.durable-inspector{border-bottom:1px solid var(--line);padding:20px 17px}.durable-inspector h3,.durable-inspector h4{color:#aeb9c2;font:11px var(--font-mono);letter-spacing:.04em;margin:0}.durable-inspector h4{color:var(--cyan);border-top:1px solid #263139b8;margin-top:20px;padding-top:15px;font-size:9px}.mini-action{min-height:27px;color:var(--cyan);font:9px var(--font-mono);background:#0b161b;border:1px solid #31505a;border-radius:3px;align-items:center;gap:5px;display:inline-flex}.mini-action:disabled{opacity:.4}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;margin:14px 0 0;display:grid}.detail-grid div{min-width:0}.detail-grid__wide{grid-column:1/-1}.detail-grid dt{color:#75838e;font:8px var(--font-mono);text-transform:uppercase;margin:0 0 3px}.detail-grid dd{color:#dbe4e8;font:9px/1.35 var(--font-mono);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.detail-list{gap:7px;margin-top:11px;display:grid}.detail-list>div{border-left:2px solid var(--cyan);background:#081116;gap:3px;padding:8px;display:grid}.detail-list span{color:var(--cyan);font:8px var(--font-mono)}.detail-list strong{font-size:10px;font-weight:600}.detail-list small{color:var(--muted);font:8px var(--font-mono)}.approval-list{gap:8px;margin-top:11px;display:grid}.approval-list article{background:#080e12;border:1px solid #35424a;padding:9px}.approval-list article header{justify-content:space-between;align-items:center;gap:8px;display:flex}.approval-list article header strong{font:9px var(--font-mono)}.approval-list article p{color:#c4ced4;font:9px/1.4 var(--font-mono);margin:7px 0}.approval-list article small{color:var(--muted);font:8px var(--font-mono)}.approval-list article>div{grid-template-columns:1fr 1fr;gap:6px;margin-top:9px;display:grid}.approval-list article button{min-height:28px;color:var(--green);font:8px var(--font-mono);background:#0b1c0c;border:1px solid #2d6831;justify-content:center;align-items:center;gap:5px;display:flex}.approval-list article button+button{color:#ff737b;background:#1b0b0e;border-color:#673036}.approval-list article button:disabled{opacity:.4}.section-heading{justify-content:space-between;align-items:center;display:flex}.section-heading>span{font:9px var(--font-mono);color:var(--muted)}.section-heading i{background:var(--green);border-radius:50%;width:7px;height:7px;margin-left:5px;display:inline-block}.timeline ol{margin:0;padding:12px 0 0 24px;list-style:none}.timeline li{border-left:1px solid #364550;gap:4px;min-height:52px;padding-left:9px;display:grid;position:relative}.timeline li>i{border:2px solid var(--cyan);background:var(--surface);border-radius:50%;width:9px;height:9px;position:absolute;top:4px;left:-5px}.timeline li>i.is-green{border-color:var(--green)}.timeline li>i.is-error{border-color:var(--red)}.timeline time{color:var(--muted);font:9px var(--font-mono)}.timeline strong{text-transform:capitalize;padding-right:8px;font-size:10px;font-weight:500;line-height:1.35}.empty-copy{color:var(--muted);font:11px/1.5 var(--font-mono)}.inspector-empty{text-align:center;place-content:center;justify-items:center;height:calc(100% - 51px);padding:32px;display:grid}.inspector-empty__diamond{border:1px solid #2b5962;width:48px;height:48px;margin-bottom:18px;transform:rotate(45deg)}.inspector-empty h2{margin:0 0 8px;font-size:16px}.inspector-empty p{max-width:220px;color:var(--muted);font:11px/1.6 var(--font-mono);margin:0}.command-dock{border-top:1px solid var(--line);z-index:6;background:linear-gradient(#071015,#04080b);grid-area:3/2/auto/4;grid-template-columns:minmax(300px,1fr) 116px 119px 124px;align-items:center;gap:16px;min-width:0;padding:19px 17px;display:grid;position:relative}.command-dock form{border:1px solid var(--cyan);border-radius:4px;align-items:center;gap:13px;min-width:0;height:58px;padding:5px 5px 5px 16px;display:flex;box-shadow:inset 0 0 20px #0ce8ff09}.command-dock form>svg{color:#dceaf0;flex:none}.command-dock input{min-width:0;color:var(--text);font:15px var(--font-mono);background:0 0;border:0;outline:0;flex:1}.command-dock input::placeholder{color:#77828e}.launch-button{color:#001116;background:var(--cyan);white-space:nowrap;border:0;border-radius:4px;align-items:center;gap:9px;height:46px;padding:0 20px;font-size:13px;font-weight:700;display:flex}.launch-button:disabled{color:#8ba0a7;background:#28434a}.dock-action{border:1px solid var(--line-strong);color:#c3ccd4;background:#111820;border-radius:4px;justify-content:center;align-items:center;gap:9px;height:58px;font-size:13px;display:flex}.dock-action:disabled{opacity:.55}.dock-action--danger{color:#ff5e67;background:#1b0e12;border-color:#6a242a}.command-error{color:#ff8a91;font:9px var(--font-mono);margin:0;position:absolute;bottom:1px;left:18px}.mobile-header,.mobile-context,.mobile-task-sheet,.mobile-nav{display:none}.demo-mode-banner{z-index:30;color:#ffe57f;font:10px var(--font-mono);letter-spacing:.08em;white-space:nowrap;background:#241c03;border:1px solid #9b7b13;padding:7px 14px;position:fixed;top:7px;left:50%;transform:translate(-50%);box-shadow:0 0 22px #ffd34a2e}@media (width<=1150px) and (width>=761px){.control-room{grid-template-columns:76px minmax(0,1fr) 276px}.side-rail__brand{padding:0 20px}.side-rail__brand .brand span,.nav-item span,.rail-collapse span,.system-card{display:none}.nav-item{justify-content:center;padding:0}.command-dock{grid-template-columns:minmax(260px,1fr) 104px 110px 112px;gap:8px}}@media (width<=760px){html,body{overflow:hidden}.control-room{height:100dvh;padding-bottom:env(safe-area-inset-bottom);border:1px solid #26343d;border-radius:28px 28px 0 0;grid-template-rows:78px 115px minmax(0,1fr) auto 82px;grid-template-columns:1fr;overflow:hidden}.side-rail,.top-bar,.job-inspector,.active-job-banner{display:none}.mobile-header{border-bottom:1px solid var(--line);background:linear-gradient(120deg,#050b0e,#020506);grid-area:1/1;justify-content:space-between;align-items:center;padding:0 25px;display:flex}.mobile-header .brand{font-size:21px}.mobile-header .brand__mark{width:36px;height:36px}.mobile-connection{min-width:126px;height:42px;color:var(--green);font:15px var(--font-mono);letter-spacing:.08em;clip-path:polygon(10% 0,90% 0,100% 25%,100% 75%,90% 100%,10% 100%,0 75%,0 25%);background:#061008;border:1px solid #17451a;justify-content:center;align-items:center;gap:12px;display:flex}.mobile-connection--disconnected{color:var(--red);background:#16080a;border-color:#54232a}.mobile-connection--connecting{color:#ffd34a;border-color:#584c24}.mobile-connection--demo{color:#ffd34a;background:#1c1704;border-color:#7b681e}.mobile-connection i{background:currentColor;border-radius:50%;width:9px;height:9px;box-shadow:0 0 10px}.mobile-context{border-bottom:1px solid var(--line);z-index:3;background:#050a0d;grid-area:2/1;grid-template-rows:54px 61px;display:grid}.mobile-tab{width:155px;color:var(--cyan);border-bottom:3px solid var(--cyan);font:18px var(--font-mono);justify-content:center;align-items:center;gap:10px;display:flex}.mobile-job-row{border-top:1px solid var(--line);grid-template-columns:minmax(0,1.55fr) repeat(3,auto);align-items:center;gap:13px;padding:0 17px;display:grid}.mobile-job-row>div{min-width:0}.mobile-job-row>div span{color:var(--muted);font:9px var(--font-mono);display:block}.mobile-job-row>div strong{white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:13px;font-weight:500;display:block;overflow:hidden}.mobile-job-row small{border-left:1px solid var(--line);color:#d2d8dd;font:10px var(--font-mono);white-space:nowrap;align-items:center;gap:6px;padding-left:12px;display:flex}.mobile-job-row small svg{color:#c8d4dc}.mobile-job-row .health-copy{color:var(--green)}.factory-stage{grid-area:3/1}.factory-scene{inset:0}.factory-scene canvas{transform-origin:50% 38%;transform:scale(1.1)}.scene-caption{display:none}.scene-entity-nav{max-width:calc(100% - 20px);bottom:8px;right:10px;overflow-x:auto}.scene-entity-nav button{min-width:30px}.scene-empty{inset:0}.scene-empty span:last-child{max-width:260px}.mobile-scene-tools{z-index:4;gap:10px;display:grid;position:absolute;top:17px;left:15px}.mobile-scene-tools button{border:1px solid var(--line-strong);color:#eef5f7;opacity:1;background:#050a0de0;border-radius:5px;place-items:center;width:45px;height:45px;display:grid}.mobile-scene-tools svg{width:21px}.entity-popover{width:min(245px,100vw - 88px);bottom:10px;left:72px}.connection-notice{max-width:calc(100% - 85px);top:12px;bottom:auto;right:12px}.mobile-task-sheet{border:1px solid var(--line-strong);clip-path:polygon(20px 0,calc(100% - 20px) 0,100% 18px,100% 100%,0 100%,0 18px);z-index:5;background:linear-gradient(160deg,#091117,#04090c);border-bottom:0;grid-area:4/1;padding:21px 17px 86px;display:block;position:relative}.sheet-handle{background:#75828f;border-radius:4px;width:56px;height:5px;position:absolute;top:8px;left:calc(50% - 28px)}.mobile-task-sheet header{align-items:center;gap:16px;height:33px;display:flex}.mobile-task-sheet h2{font:17px var(--font-mono);margin:0}.mobile-task-sheet header span{color:var(--muted);font:11px var(--font-mono)}.mobile-task-sheet header svg{color:#aab5be;margin-left:auto}.mobile-task-list{border:1px solid var(--line);border-radius:5px;margin-top:8px;overflow:hidden}.mobile-task-list button{border:0;border-bottom:1px solid var(--line);text-align:left;background:#04090cd1;grid-template-columns:34px minmax(0,1fr) 84px 20px;align-items:center;gap:10px;width:100%;min-height:72px;padding:10px 11px;display:grid}.mobile-task-list button:last-child{border-bottom:0}.task-index{width:32px;height:37px;color:var(--cyan);font:15px var(--font-mono);border:1px solid #087f8e;place-items:center;display:grid}.task-copy{gap:7px;min-width:0;display:grid}.task-copy strong{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.task-copy>span{color:var(--muted);font:9px var(--font-mono);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.task-copy>span i{background:var(--green);border-radius:50%;width:7px;height:7px;margin-right:5px;display:inline-block}.task-progress{color:var(--cyan);font:13px var(--font-mono);justify-items:end;gap:8px;display:grid}.task-progress>i{background:#26313a;width:84px;height:6px;overflow:hidden}.task-progress b{background:var(--cyan);height:100%;display:block}.command-dock{z-index:7;pointer-events:none;background:0 0;border:0;grid-area:4/1;align-self:end;margin-top:228px;padding:0 17px 15px;display:block;position:relative}.command-dock form{pointer-events:auto;background:#071015;height:55px;padding-left:14px}.command-dock input{font-size:13px}.launch-button{height:45px;padding:0 18px;font-size:14px}.launch-button svg{display:none}.launch-button span{font-size:0}.launch-button span:after{content:"Launch";font-size:14px}.dock-action{display:none}.command-error{bottom:3px;left:18px}.mobile-nav{border-top:1px solid var(--line);z-index:8;background:linear-gradient(#081116,#050a0d);grid-area:5/1;grid-template-columns:repeat(4,1fr);display:grid}.mobile-nav button{color:#929fac;opacity:1;font:11px var(--font-mono);background:0 0;border:0;place-content:center;justify-items:center;gap:4px;display:grid;position:relative}.mobile-nav button svg{width:22px;height:22px}.mobile-nav button.is-active{color:var(--cyan)}.mobile-nav button.is-active:before{content:"";background:var(--cyan);height:3px;position:absolute;top:0;left:8px;right:8px}.more-icon{letter-spacing:3px;font-size:20px;line-height:20px}.demo-mode-banner{text-overflow:ellipsis;max-width:calc(100vw - 28px);padding:5px 9px;font-size:8px;top:58px;overflow:hidden}}@media (width<=480px){.control-room{border-radius:22px 22px 0 0;grid-template-rows:72px 104px minmax(0,1fr) auto 76px}.mobile-header{padding:0 18px}.mobile-header .brand{gap:8px;font-size:18px}.mobile-header .brand__mark{width:30px;height:30px}.mobile-connection{min-width:108px;height:38px;font-size:12px}.mobile-context{grid-template-rows:48px 56px}.mobile-tab{width:126px;font-size:15px}.mobile-job-row{grid-template-columns:minmax(0,1fr) auto auto;gap:8px;padding:0 12px}.mobile-job-row small{padding-left:8px;font-size:8px}.mobile-job-row .health-copy{display:none}.mobile-task-sheet{padding-inline:12px}.mobile-task-list button{grid-template-columns:30px minmax(0,1fr) 58px 14px;gap:7px;padding-inline:8px}.task-index{width:28px}.task-progress>i{width:58px}.command-dock{padding-inline:12px}.command-dock form>svg{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
