.control-center-main{width:100%;height:100dvh;overflow:hidden}#control-center-root,#control-center-root *{box-sizing:border-box}#control-center-root{--bg-0:#0a0a0a;--bg-1:#101010;--panel:#141414f0;--stroke:#303030;--txt:#e5e5e5;--txt-dim:#737373;--good:#34d399;--cyan:#22d3ee;--warn:#fbbf24;--bad:#f87171;--violet:#a78bfa;background:var(--bg-0);height:100%;color:var(--txt);-webkit-user-select:none;user-select:none;isolation:isolate;font:13px/1.45 -apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,sans-serif;position:relative;overflow:hidden}#mesh-bg{z-index:0;pointer-events:none;position:absolute;inset:0}#mesh{z-index:1;position:absolute;inset:0}.cc-header{z-index:10;pointer-events:none;background:linear-gradient(#04060cd9,#0000);align-items:center;gap:14px;padding:14px 20px;display:flex;position:absolute;top:0;left:0;right:0}.cc-header .logo{letter-spacing:2.5px;background:linear-gradient(90deg, var(--cyan), var(--good));color:#0000;-webkit-background-clip:text;background-clip:text;font-size:15px;font-weight:700}.cc-header .sub{color:var(--txt-dim);letter-spacing:1.5px;text-transform:uppercase;font-size:10px}.chips{pointer-events:auto;gap:8px;margin-left:auto;display:flex}.chip{background:var(--panel);border:1px solid var(--stroke);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:99px;align-items:center;gap:6px;padding:5px 12px;font-size:11px;font-weight:600;display:flex}.chip .dot{border-radius:50%;width:7px;height:7px}.dot.g{background:var(--good);box-shadow:0 0 8px var(--good)}.dot.c{background:var(--cyan);box-shadow:0 0 8px var(--cyan)}.dot.w{background:var(--warn);box-shadow:0 0 8px var(--warn)}#hub{z-index:5;pointer-events:none;justify-content:center;align-items:center;width:184px;height:184px;display:flex;position:absolute;transform:translate(-50%,-50%)}#hub .ring-outer{background:conic-gradient(#0000 0%,#22d3ee80 12%,#0000 26% 60%,#34d39959 74%,#0000 88%);border-radius:50%;animation:9s linear infinite spin;position:absolute;inset:0;-webkit-mask:radial-gradient(circle,#0000 64%,#000 66% 70%,#0000 72%);mask:radial-gradient(circle,#0000 64%,#000 66% 70%,#0000 72%)}#hub .ring-mid{border:1px dashed #5eead440;border-radius:50%;animation:24s linear infinite reverse spin;position:absolute;inset:16px}#hub .core{background:radial-gradient(circle at 34% 30%,#22d3ee59,#0000 55%),radial-gradient(circle,#0e1a30 0%,#0a1222 70%);border:1px solid #22d3ee73;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:126px;height:126px;animation:3.4s ease-in-out infinite breathe;display:flex;box-shadow:0 0 34px #22d3ee47,inset 0 0 26px #22d3ee1f}#hub .core .icon{filter:drop-shadow(0 0 6px #fcd34d59);width:64px;height:58px}#hub .core .icon svg{width:64px;height:58px}#hub .core .name{letter-spacing:.75px;width:108px;color:var(--cyan);text-transform:uppercase;text-align:center;overflow-wrap:anywhere;font-size:8px;font-weight:700;line-height:1.25}#hub .core .role{color:var(--txt-dim);letter-spacing:.7px;font-size:7px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes breathe{0%,to{box-shadow:0 0 30px #22d3ee38,inset 0 0 22px #22d3ee1a}50%{box-shadow:0 0 48px #22d3ee6b,inset 0 0 30px #22d3ee2e}}.node{z-index:6;cursor:pointer;pointer-events:auto;flex-direction:column;align-items:center;gap:6px;transition:filter .25s;display:flex;position:absolute;transform:translate(-50%,-50%)}.node:hover{filter:brightness(1.3)}.node .orb{border:2px solid var(--good);background:radial-gradient(circle at 32% 28%,#ffffff1a,#0000 50%),radial-gradient(circle,#101a2e 0%,#0a1120 75%);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:74px;height:74px;transition:border-color .4s,box-shadow .4s;display:flex;position:relative;box-shadow:0 0 20px #34d39959,inset 0 0 16px #34d39914}.node.selected .orb{outline-offset:4px;outline:2px solid #a78bfad9}.node .orb .emoji{width:44px;height:44px;font-size:20px;line-height:1}.node .orb .emoji svg{width:44px;height:44px}.node .orb .load{color:var(--txt-dim);letter-spacing:.5px;margin-top:2px;font-size:9px;font-weight:700}.node.online .orb{animation:2.6s ease-in-out infinite nodepulse}@keyframes nodepulse{0%,to{box-shadow:0 0 16px #34d3994d,inset 0 0 14px #34d3990f}50%{box-shadow:0 0 30px #34d3998c,inset 0 0 20px #34d3991f}}.node.busy .orb{border-color:var(--cyan);animation:1.2s ease-in-out infinite busypulse}@keyframes busypulse{0%,to{box-shadow:0 0 20px #22d3ee66}50%{box-shadow:0 0 42px #22d3eecc}}.node.offline .orb{border-color:var(--bad);filter:saturate(.35)brightness(.75);animation:none;box-shadow:0 0 14px #f8717140}.node.pending .orb{border-color:var(--warn);box-shadow:0 0 22px #fbbf2473}.node .tag{background:var(--panel);border:1px solid var(--stroke);text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:8px;min-width:96px;padding:4px 10px}.node .tag .n{color:var(--txt);letter-spacing:.3px;font-size:11px;font-weight:700}.node .tag .m{color:var(--txt-dim);margin-top:1px;font-family:SF Mono,Menlo,monospace;font-size:9px}.node .tag .m .ok{color:var(--good)}.node .tag .m .mid{color:var(--warn)}.node .tag .m .hot{color:var(--bad)}.node .role-badge{letter-spacing:.08em;text-transform:uppercase;-webkit-backdrop-filter:blur(12px)saturate(1.4);color:var(--txt-dim);white-space:nowrap;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:999px;padding:2px 8px;font-size:8px;font-weight:700;box-shadow:0 2px 10px #0000004d,inset 0 1px #ffffff14}.node .role-badge.role-coordinator{color:var(--violet);border-color:#a78bfa57}.node .role-badge.role-builder{color:var(--cyan);border-color:#22d3ee57}.node .role-badge.role-worker{color:var(--good);border-color:#34d39957}#drawer{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-left:1px solid var(--stroke);background:#080c18f0;width:330px;padding:22px;transition:transform .32s cubic-bezier(.22,1,.36,1),width .32s;position:absolute;top:0;bottom:0;right:0;overflow-y:auto;transform:translate(105%)}#drawer.open{transform:translate(0)}#drawer.wide{width:560px}#drawer h2{align-items:center;gap:8px;margin-bottom:4px;font-size:16px;display:flex}#drawer .sub{color:var(--txt-dim);letter-spacing:1px;text-transform:uppercase;margin-bottom:18px;font-size:10px}#drawer .kv{border-bottom:1px solid #ffffff0d;justify-content:space-between;padding:7px 0;font-size:12px;display:flex}#drawer .kv .k{color:var(--txt-dim)}#drawer .kv .v{font-family:SF Mono,Menlo,monospace;font-size:11.5px}#drawer .v.ok{color:var(--good)}#drawer .v.mid{color:var(--warn)}#drawer .v.hot{color:var(--bad)}#drawer .tasks{margin:10px 0}#drawer .task-pill{color:var(--cyan);cursor:pointer;background:#22d3ee1a;border:1px solid #22d3ee40;border-radius:6px;margin:2px;padding:4px 10px;font-family:Menlo,monospace;font-size:10px;transition:all .15s;display:inline-block}#drawer .task-pill:hover{border-color:var(--cyan);background:#22d3ee40;box-shadow:0 0 10px #22d3ee4d}#drawer .task-pill:after{content:" ↗";opacity:.5}#drawer .back{color:var(--txt-dim);cursor:pointer;background:0 0;align-items:center;gap:6px;margin-bottom:12px;font-size:12px;display:inline-flex;border:none!important;width:auto!important;padding:0!important}#drawer .back:hover{color:var(--cyan);background:0 0!important}.statusbadge{letter-spacing:.8px;text-transform:uppercase;border-radius:99px;padding:3px 10px;font-size:10px;font-weight:700;display:inline-block}.statusbadge.running{color:var(--cyan);background:#22d3ee26;border:1px solid #22d3ee66;animation:1.6s infinite badgepulse}.statusbadge.queued{color:#94a3b8;background:#94a3b81f;border:1px solid #94a3b84d}.statusbadge.done{color:var(--good);background:#34d39926;border:1px solid #34d39966}.statusbadge.failed{color:var(--bad);background:#f8717126;border:1px solid #f8717166}.statusbadge.cancelled{color:#7d8aa0;background:#94a3b81a;border:1px solid #94a3b840}.statusbadge.awaiting_approval{color:var(--warn);background:#fbbf2426;border:1px solid #fbbf2466}@keyframes badgepulse{0%,to{opacity:1}50%{opacity:.55}}#term{white-space:pre-wrap;word-break:break-word;background:#05080f;border:1px solid #5eead41f;border-radius:10px;height:calc(100vh - 330px);min-height:220px;margin-top:14px;padding:12px;font-family:SF Mono,Menlo,monospace;font-size:11px;line-height:1.6;overflow-y:auto}#term .ev{color:#9db1cc;padding:1px 0;display:block}#term .ev .ts{color:#45536b;margin-right:8px;font-size:9.5px}#term .ev.phase{color:var(--cyan);border-top:1px dashed #22d3ee26;margin-top:6px;padding-top:6px;font-weight:700}#term .ev.artifact{color:var(--violet)}#term .ev.err{color:var(--bad)}#term .ev.ok{color:var(--good)}#term .cursor{background:var(--cyan);vertical-align:text-bottom;width:7px;height:13px;margin-left:2px;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}#term::-webkit-scrollbar{width:8px}#term::-webkit-scrollbar-thumb{background:#5eead426;border-radius:4px}.autoscroll-off #term-hint{display:block}#term-hint{background:var(--panel);border:1px solid var(--stroke);color:var(--txt-dim);cursor:pointer;border-radius:8px;padding:5px 10px;font-size:10px;display:none;position:absolute;bottom:76px;right:34px}#drawer .actions{flex-direction:column;gap:8px;margin-top:20px;display:flex}#drawer button{width:100%;color:var(--txt);border:1px solid var(--stroke);cursor:pointer;background:#ffffff0d;border-radius:8px;padding:10px;font-size:12.5px;font-weight:600;transition:all .15s}#drawer button:hover{background:#5eead41a;border-color:#5eead466}#drawer button.warn{color:var(--warn);border-color:#fbbf244d}#drawer button.warn:hover{background:#fbbf241f}#drawer button.danger{color:var(--bad);border-color:#f871714d}#drawer button.danger:hover{background:#f871711f}#drawer button:disabled{opacity:.35;cursor:not-allowed}#drawer .close{border-radius:50%;width:28px;height:28px;font-size:14px;position:absolute;top:14px;right:14px;padding:0!important}#legend{z-index:10;color:var(--txt-dim);background:var(--panel);border:1px solid var(--stroke);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:10px;gap:14px;padding:8px 14px;font-size:10px;display:flex;position:absolute;bottom:16px;left:18px}#legend span{align-items:center;gap:5px;display:flex}#legend i{border-radius:50%;width:8px;height:8px;display:inline-block}#toast{z-index:30;flex-direction:column;gap:8px;display:flex;position:absolute;bottom:20px;right:20px}.toastmsg{background:var(--panel);border:1px solid var(--stroke);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:10px;max-width:340px;padding:11px 16px;font-size:12px;animation:.25s slidein}.toastmsg.ok{border-left:3px solid var(--good)}.toastmsg.err{border-left:3px solid var(--bad)}@keyframes slidein{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:none}}#modal-root{z-index:60;justify-content:center;align-items:center;display:none;position:absolute;inset:0}#modal-root.open{display:flex}#modal-root .backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#04060c9e;position:absolute;inset:0}#modal-root .modal{background:var(--panel);border:1px solid var(--stroke);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:14px;width:min(440px,100vw - 40px);padding:20px;animation:.18s modalin;position:relative;box-shadow:0 24px 60px #00000080}#modal-root .modal h3{color:var(--txt);align-items:center;gap:8px;margin:0 0 8px;font-size:15px;display:flex}#modal-root .modal #modal-body{color:var(--txt-dim);white-space:pre-wrap;margin:0 0 18px;font-size:12.5px;line-height:1.5}#modal-root .modal .row{justify-content:flex-end;gap:10px;display:flex}#modal-root .modal .btn{justify-content:center;min-width:92px}#modal-root .modal .btn.confirm{color:#ffffffe6;background:#080c14e0;border-color:#fff3}#modal-root .modal .btn.confirm:hover{background:#141b27f5;border-color:#ffffff52}.modal.provision{background:var(--panel);border:1px solid var(--stroke);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:14px;flex-direction:column;width:min(920px,94vw);height:95vh;padding:18px 18px 14px;animation:.18s modalin;display:flex;position:relative;box-shadow:0 24px 60px #00000080}.modal.provision h3{color:var(--txt);align-items:center;gap:8px;margin:0 0 8px;font-size:15px;display:flex}.modal.provision .row{justify-content:flex-end;gap:10px;display:flex}.modal.provision .btn{justify-content:center;min-width:92px}.modal.provision #prov-header{border-bottom:1px solid var(--stroke);flex:none;padding-bottom:10px}.modal.provision #prov-header .prov-scene{width:96px;height:96px;margin:0 auto 8px}.modal.provision #provision-thread-root{flex:1;min-height:0;margin:6px 0;overflow:hidden}.modal.provision #modal-body{display:none}#control-preview-pane{--txt:#f4f4f5;--stroke:#ffffff1f;flex-direction:column;gap:10px;width:100%;min-width:0;height:100%;padding:14px;display:none}#control-preview-pane.open{display:flex}#control-preview-pane header{justify-content:space-between;align-items:center;gap:10px;display:flex}#control-preview-pane h3{color:var(--txt);margin:0;font-size:15px}#control-preview-pane .preview-actions{gap:8px;display:flex}#control-preview-pane iframe{background:#0b0f16;border:0;border-radius:8px;flex:1;width:100%;min-height:0}@keyframes modalin{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}.orb-spinner{background:radial-gradient(circle at 35% 35%,#06b6d4,#0891b2 40%,#0e7490 70%,#164e63);border-radius:50%;width:48px;height:48px;animation:1.8s ease-in-out infinite orb-pulse;box-shadow:0 0 30px #06b6d44d,0 0 60px #06b6d426}.orb-spinner.sm{flex:none;width:26px;height:26px;box-shadow:0 0 14px #06b6d44d}@keyframes orb-pulse{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}}.prov-scene{justify-content:center;align-items:center;width:132px;height:132px;margin:4px auto 12px;display:flex;position:relative}.prov-mascot{pointer-events:none;animation:4s linear infinite prov-orbit;position:absolute;inset:0}.prov-mascot-bot{width:44px;height:44px;margin-left:-22px;animation:4s linear infinite reverse prov-orbit;position:absolute;top:-10px;left:50%}.prov-mascot-bot svg{width:44px;height:44px}@keyframes prov-orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.prov-step{text-align:center;color:var(--txt-dim);margin-bottom:10px;font-size:12px}.prov-bar{background:#ffffff14;border-radius:2px;height:4px;overflow:hidden}.prov-bar span{background:linear-gradient(90deg,#06b6d4,#34d399);height:100%;transition:width .6s;display:block}.prov-inline{align-items:center;gap:10px;padding:10px 0 6px;display:flex}.prov-inline-info{flex:1;min-width:0}.prov-inline-step{color:var(--txt-dim);white-space:nowrap;text-overflow:ellipsis;margin-bottom:5px;font-size:11px;overflow:hidden}.prov-failed{color:var(--bad);white-space:pre-wrap;padding:6px 0 2px;font-size:11px}#empty{z-index:4;color:var(--txt-dim);pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding-top:270px;font-size:13px;display:none;position:absolute;inset:0}#tabs{z-index:12;background:var(--panel);border:1px solid var(--stroke);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:12px;gap:4px;padding:4px;display:flex;position:absolute;top:54px;left:50%;transform:translate(-50%)}#tabs button{color:var(--txt-dim);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:6px;padding:7px 14px;font-size:12px;font-weight:600;transition:all .15s;display:flex;position:relative}#tabs button:hover{color:var(--txt);background:#ffffff0a}#tabs button.active{color:var(--cyan);background:#22d3ee1f}#tabs button .badge{background:var(--warn);color:#04060c;text-align:center;border-radius:99px;min-width:15px;padding:0 5px;font-size:9px;font-weight:800}#tabs button .badge.bad{background:var(--bad)}#tabs button .badge.info{background:var(--cyan)}.instance-grid{grid-template-columns:repeat(auto-fit,minmax(270px,420px));align-items:start;gap:12px;display:grid}.instance-card{width:100%;min-width:0;max-width:420px}.instance-head{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:14px;display:flex}.instance-name{color:var(--txt);overflow-wrap:anywhere;font-size:14px;font-weight:700}.instance-sub{color:var(--txt-dim);margin-top:3px;font:10px SF Mono,Menlo,monospace}.instance-status{text-transform:uppercase;border-radius:99px;flex:none;padding:3px 8px;font-size:9px;font-weight:700}.instance-status.online{color:var(--good);background:#34d3991f;border:1px solid #34d39947}.instance-status.offline{color:var(--bad);background:#f871711f;border:1px solid #f8717147}.instance-badges{flex:none;align-items:center;gap:5px;display:flex}.instance-status.role-coordinator{color:var(--violet);background:#a78bfa1f;border:1px solid #a78bfa47}.instance-status.role-builder{color:var(--cyan);background:#22d3ee1f;border:1px solid #22d3ee47}.instance-status.role-worker{color:var(--txt-dim);background:#ffffff0f;border:1px solid #ffffff1f}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.metric-box{background:#ffffff05;border:1px solid #ffffff0f;border-radius:8px;padding:10px}.metric-label{color:var(--txt-dim);text-transform:uppercase;letter-spacing:.7px;font-size:9px}.metric-value{color:var(--txt);margin-top:4px;font:600 13px SF Mono,Menlo,monospace}.metric-bar{background:#ffffff14;border-radius:99px;height:3px;margin-top:8px;overflow:hidden}.metric-bar span{border-radius:inherit;height:100%;transition:width .35s;display:block}.metric-bar.cpu span{background:var(--cyan)}.metric-bar.memory span{background:#a78bfa}.metric-bar.disk span{background:var(--good)}.metric-bar.network span{background:var(--warn)}.instance-foot{color:var(--txt-dim);border-top:1px solid #ffffff0f;flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:10px;font-size:10px;display:flex}.instance-details{background:#ffffff04;border:1px solid #ffffff12;border-radius:8px;margin-top:10px}.instance-details summary{cursor:pointer;color:var(--txt-dim);justify-content:space-between;align-items:center;padding:9px 10px;font-size:10px;font-weight:600;list-style:none;display:flex}.instance-details summary::-webkit-details-marker{display:none}.instance-details summary:after{content:"›";font-size:16px;line-height:10px;transition:transform .15s}.instance-details[open] summary{color:var(--txt);border-bottom:1px solid #ffffff12}.instance-details[open] summary:after{transform:rotate(90deg)}.instance-detail{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;padding:10px;display:grid}.instance-detail div{min-width:0;color:var(--txt-dim);overflow-wrap:anywhere;font-size:10px}.instance-detail b{color:#8d9aad;letter-spacing:.7px;text-transform:uppercase;margin-bottom:2px;font-size:8px;display:block}.instance-task{border-left:2px solid var(--cyan);color:var(--txt);overflow-wrap:anywhere;background:#22d3ee0f;border-radius:0 7px 7px 0;margin-top:10px;padding:8px 10px;font:10px SF Mono,Menlo,monospace}.harness-checks{border-top:1px solid #ffffff0f;grid-column:1/-1;margin-top:4px;padding-top:8px}.harness-checks-head{color:#8d9aad;letter-spacing:.7px;text-transform:uppercase;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;font-size:8px;font-weight:700;display:flex}.harness-state{letter-spacing:0;text-transform:none;border-radius:99px;padding:2px 6px;font-size:8px}.harness-state.ok{color:var(--good);background:#34d3991a}.harness-state.warn{color:#ffffffe6;background:#080c14e0;border:1px solid #fff3}.harness-state.unknown{color:var(--txt-dim);background:#ffffff0d}.harness-check-row{grid-template-columns:12px minmax(80px,120px) minmax(0,1fr);align-items:baseline;gap:6px;padding:2px 0;font-size:10px;display:grid}.harness-check-row .detail{color:var(--txt-dim);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.harness-install{color:#ffffffe6;background:#ffffff14;border-color:#ffffff2e;justify-content:center;width:100%;margin-top:8px}.harness-install:hover{color:#ffffffe6;background:#141b27f5;border-color:#ffffff52}#alertbar{z-index:11;flex-wrap:wrap;justify-content:center;gap:8px;max-width:90vw;display:flex;position:absolute;top:96px;left:50%;transform:translate(-50%)}#alertbar .alert{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid;border-radius:99px;align-items:center;gap:6px;padding:4px 12px;font-size:11px;display:flex}#alertbar .alert.warn{color:var(--warn);background:#fbbf241f;border-color:#fbbf2466}#alertbar .alert.bad{color:var(--bad);background:#f871711f;border-color:#f8717166}#alertbar .alert.info{color:var(--cyan);background:#22d3ee1a;border-color:#22d3ee4d}.view{z-index:8;padding:20px 28px 40px;display:none;position:absolute;inset:140px 0 0;overflow-y:auto}.view.active{display:block}#control-center-root:not(.tab-mesh) #mesh-bg,#control-center-root:not(.tab-mesh) #mesh,#control-center-root:not(.tab-mesh) #hub,#control-center-root:not(.tab-mesh) #legend,#control-center-root:not(.tab-mesh) #empty,#control-center-root:not(.tab-mesh) .node{display:none!important}#control-center-root.tab-mesh #tabs{top:54px}.view h1{margin-bottom:4px;font-size:18px}.view .vsub{color:var(--txt-dim);margin-bottom:18px;font-size:11px}.card{background:var(--panel);border:1px solid var(--stroke);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:12px;margin-bottom:12px;padding:16px}.grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.btn{cursor:pointer;color:var(--txt);border:1px solid var(--stroke);background:#ffffff0d;border-radius:8px;padding:9px 16px;font-size:12.5px;font-weight:600;transition:all .15s}.btn:hover{background:#5eead41a;border-color:#5eead466}.btn.primary{color:var(--cyan);background:#22d3ee26;border-color:#22d3ee66}.btn.primary:hover{background:#22d3ee47}.btn.good{color:var(--good);border-color:#34d3994d}.btn.good:hover{background:#34d3991f}.btn.warn{color:var(--warn);border-color:#fbbf244d}.btn.warn:hover{background:#fbbf241f}.btn.harness-install.warn{color:#ffffffe6;background:#080c14e0;border-color:#fff3}.btn.harness-install.warn:hover{color:#ffffffe6;background:#141b27f5;border-color:#ffffff52}.btn.danger{color:var(--bad);border-color:#f871714d}.btn.danger:hover{background:#f871711f}.btn:disabled{opacity:.35;cursor:not-allowed}.btn.sm{padding:5px 10px;font-size:11px}.lanes{grid-template-columns:repeat(4,1fr);align-items:start;gap:14px;display:grid}.lane{border:1px solid var(--stroke);background:#ffffff05;border-radius:12px;min-height:120px;padding:12px}.lane h3{text-transform:uppercase;letter-spacing:1px;justify-content:space-between;margin-bottom:10px;font-size:11px;display:flex}.lane h3 .cnt{color:var(--txt-dim)}.lane.queued h3{color:#94a3b8}.lane.running h3{color:var(--cyan)}.lane.awaiting h3{color:var(--warn)}.lane.done h3{color:var(--good)}.tcard{background:var(--panel);border:1px solid var(--stroke);cursor:pointer;border-left:3px solid #0000;border-radius:9px;margin-bottom:8px;padding:10px;transition:all .15s}.tcard:hover{border-color:#5eead466;transform:translateY(-1px)}.tcard.s-running{border-left-color:var(--cyan)}.tcard.s-queued{border-left-color:#94a3b8}.tcard.s-awaiting_approval{border-left-color:var(--warn)}.tcard.s-done{border-left-color:var(--good)}.tcard.s-failed{border-left-color:var(--bad)}.tcard.s-cancelled{border-left-color:#7d8aa0}.tcard .tt{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:5px;font-size:12px;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.tcard .tm{color:var(--txt-dim);flex-wrap:wrap;gap:8px;font-family:Menlo,monospace;font-size:10px;display:flex}.tcard .tm .err{color:var(--bad)}.tcard .row{gap:6px;margin-top:8px;display:flex}.plan-card{border-left:3px solid var(--warn)}.plan-card .ptext{white-space:pre-wrap;color:#9db1cc;background:#05080f;border-radius:8px;max-height:260px;margin:10px 0;padding:12px;font-family:SF Mono,Menlo,monospace;font-size:11.5px;line-height:1.6;overflow-y:auto}.plan-card .row{gap:8px;display:flex}.form-row{margin-bottom:14px}.form-row label{color:var(--txt-dim);text-transform:uppercase;letter-spacing:.8px;margin-bottom:6px;font-size:11px;display:block}#control-center-root textarea,#control-center-root input[type=text],#control-center-root select{width:100%;color:var(--txt);border:1px solid var(--stroke);font:inherit;resize:vertical;background:#05080f;border-radius:8px;padding:10px;font-size:13px}#control-center-root textarea:focus,#control-center-root input:focus,#control-center-root select:focus{border-color:var(--cyan);outline:none}.repochips{flex-wrap:wrap;gap:6px;display:flex}.repochip{cursor:pointer;border:1px solid var(--stroke);background:#ffffff0a;border-radius:99px;padding:5px 12px;font-family:Menlo,monospace;font-size:11px}.repochip.on{border-color:var(--cyan);color:var(--cyan);background:#22d3ee2e}.toggle{cursor:pointer;align-items:center;gap:8px;margin-right:16px;display:inline-flex}.toggle input{width:auto}#firehose{border:1px solid var(--stroke);white-space:pre-wrap;word-break:break-word;background:#05080f;border-radius:12px;height:calc(100vh - 200px);padding:14px;font-family:SF Mono,Menlo,monospace;font-size:11px;line-height:1.6;overflow-y:auto}#firehose .fe{color:#9db1cc;padding:1px 0;display:block}#firehose .fe .ts{color:#45536b;margin-right:7px;font-size:9.5px}#firehose .fe .w{color:var(--violet);margin-right:7px;font-weight:700}#firehose .fe.phase{color:var(--cyan);font-weight:700}#firehose .fe.err{color:var(--bad)}#firehose .fe.ok{color:var(--good)}table{border-collapse:collapse;width:100%;font-size:12px}th{text-align:left;color:var(--txt-dim);text-transform:uppercase;letter-spacing:.8px;border-bottom:1px solid var(--stroke);padding:8px;font-size:10px}td{border-bottom:1px solid #ffffff0a;padding:9px 8px}td.mono{font-family:Menlo,monospace;font-size:11px}tr:hover td{background:#ffffff05}.build-check{width:15px;height:15px;color:var(--good);cursor:default;background:#5eead429;border-radius:999px;justify-content:center;align-items:center;margin-left:4px;font-size:10px;line-height:1;display:inline-flex}.build-tip{cursor:help;border-bottom:1px dotted var(--txt-dim)}.preview-wrap{gap:6px;display:inline-flex;position:relative}.preview-popover{z-index:40;background:var(--panel);border:1px solid var(--stroke);border-radius:10px;min-width:180px;padding:6px;display:none;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 12px 32px #00000073}.preview-popover.open{display:block}.preview-popover .preview-opt{text-align:left;width:100%;color:var(--txt);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:6px 8px;font-size:12px;display:block}.preview-popover .preview-opt:hover{background:#ffffff0f}.bank-list{flex-direction:column;gap:4px;display:flex}.bank-item{cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;padding:8px 10px;display:flex}.bank-item:hover{background:#5eead414}.bank-item .sz{color:var(--txt-dim);font-family:Menlo,monospace;font-size:10px}#bank-editor{display:none}#bank-editor textarea{min-height:340px;font-family:SF Mono,Menlo,monospace;font-size:12px}.spark{margin-top:4px;display:block}#control-center-root.warroom #tabs,#control-center-root.warroom #legend,#control-center-root.warroom #alertbar{opacity:.15;transition:opacity .2s}#control-center-root.warroom #tabs:hover,#control-center-root.warroom #alertbar:hover{opacity:1}.empty-hint{color:var(--txt-dim);text-align:center;padding:30px;font-size:12px}#control-center-root svg.lucide{stroke-width:1.7px;flex:none;width:14px;height:14px}#control-center-root .view h1{letter-spacing:-.02em;align-items:center;gap:9px;font-weight:600;display:flex}#control-center-root .view h1 svg{color:#a3a3a3;width:18px;height:18px}#control-center-root .btn,#control-center-root .lane h3{align-items:center;gap:6px;display:inline-flex}#tabs svg{width:14px;height:14px}.cc-header .logo{color:#fafafa;letter-spacing:1.8px;background:0 0}#hub .ring-outer{background:0 0;border:1px solid #303030;animation:none;-webkit-mask:none;mask:none}#hub .ring-mid{border-color:#262626;animation-duration:60s}#hub .core{border-color:#404040;animation:none;box-shadow:0 0 28px #00000073}@media (prefers-reduced-motion:reduce){.node .role-badge{-webkit-backdrop-filter:none;box-shadow:none;background:#141414eb}.node.online .orb,.node.busy .orb{animation:none}}@media (width<=760px){.cc-header{align-items:flex-start;padding:10px 12px}.cc-header .sub,#stat-rtt,#stat-clock{display:none}.chips{gap:4px}.chip{padding:4px 7px;font-size:10px}#tabs,#control-center-root.tab-mesh #tabs{scrollbar-width:none;justify-content:flex-start;width:auto;top:58px;left:8px;right:8px;overflow-x:auto;transform:none}#tabs::-webkit-scrollbar{display:none}#tabs button{flex:none;min-height:40px;padding:7px 11px}#alertbar{width:calc(100% - 16px);top:110px}.view{padding:14px 10px 80px;top:126px}.lanes,.grid{grid-template-columns:1fr}#drawer,#drawer.wide{width:100%;padding:18px 14px}#legend{display:none}.card{overflow-x:auto}table{min-width:620px}.plan-card .row,.approval-actions{flex-direction:column}#firehose{height:calc(100vh - 190px)}}.bot{width:100%;height:100%;overflow:visible}.bot .metal{fill:#cdd9ee}.bot .metal-d{fill:#9fb0cc}.bot .screen{fill:#0a1120}.bot .eye,.bot .acc{fill:var(--acc,#34d399)}.bot .accs{stroke:var(--acc,#34d399)}.bot .body-grp{transform-box:fill-box;transform-origin:50%;animation:3s ease-in-out infinite botBob}.bot .antenna-tip{animation:1.8s ease-in-out infinite antBlink}@keyframes botBob{0%,to{transform:translateY(0)}50%{transform:translateY(-1.3px)}}@keyframes antBlink{0%,to{opacity:1}50%{opacity:.35}}.bot .eyes-grp{transform-box:fill-box;transform-origin:50%}.bot.idle .eyes-grp{animation:4.2s ease-in-out infinite eyesLook}@keyframes eyesLook{0%,12%{transform:translate(0)}25%,37%{transform:translate(-2.4px)}50%,62%{transform:translate(0)}75%,87%{transform:translate(2.4px)}to{transform:translate(0)}}.bot.idle .whistle{transform-box:fill-box;transform-origin:50%;animation:2.1s ease-in-out infinite whistlePulse}@keyframes whistlePulse{0%,to{opacity:.6;transform:scale(.7)}50%{opacity:1;transform:scale(1)}}.bot .note{opacity:0}.bot.idle .note,.bot.maestro .note{transform-box:fill-box;animation:2.4s ease-in infinite noteFloat}.bot.idle .note.n2{animation-delay:1.2s}@keyframes noteFloat{0%{opacity:0;transform:translate(0)rotate(0)}20%{opacity:1}to{opacity:0;transform:translate(5px,-14px)rotate(20deg)}}.bot.working{animation:leanFwd}.bot.working .body-grp{animation:.9s ease-in-out infinite botTypeBob}@keyframes botTypeBob{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(.4px)rotate(1.2deg)}}.bot.working .arm-l{transform-box:fill-box;transform-origin:top;animation:.42s ease-in-out infinite typeL}.bot.working .arm-r{transform-box:fill-box;transform-origin:top;animation:.42s ease-in-out infinite typeR}@keyframes typeL{0%,to{transform:rotate(0)}50%{transform:rotate(-14deg)}}@keyframes typeR{0%,to{transform:rotate(0)}50%{transform:rotate(14deg)}}.bot .bit{opacity:0}.bot.working .bit{transform-box:fill-box;animation:1.4s linear infinite bitUp}.bot.working .bit.b2{animation-delay:.5s}.bot.working .bit.b3{animation-delay:.95s}@keyframes bitUp{0%{opacity:0;transform:translateY(0)}25%{opacity:1}to{opacity:0;transform:translateY(-13px)}}.bot.planning .eyes-grp{animation:1.6s ease-in-out infinite eyesRead}@keyframes eyesRead{0%,to{transform:translate(-1.6px,1px)}45%{transform:translate(1.8px,1px)}50%{transform:translate(1.8px,1px)}95%{transform:translate(-1.6px,1px)}}.bot.planning .think{transform-box:fill-box;transform-origin:50%;animation:2.4s ease-in-out infinite thinkPulse}@keyframes thinkPulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.05)}}.bot.awaiting .eyes-grp{transform:translate(2px,-1.2px)}.bot.awaiting .clock-hand{transform-box:fill-box;transform-origin:50% 100%;animation:3s linear infinite clockTick}@keyframes clockTick{to{transform:rotate(360deg)}}.bot.awaiting .sweat{transform-box:fill-box;opacity:0;animation:3.4s ease-in infinite sweatDrop}@keyframes sweatDrop{0%,55%{opacity:0;transform:translateY(0)}60%{opacity:1}to{opacity:0;transform:translateY(9px)}}.bot.awaiting .foot-r{transform-box:fill-box;transform-origin:0;animation:.5s ease-in-out infinite footTap}@keyframes footTap{0%,to{transform:rotate(0)}50%{transform:rotate(-18deg)}}.bot.offline{filter:saturate(.25)brightness(.7)}.bot.offline .eye{fill:#556}.bot.offline .zzz{transform-box:fill-box;opacity:0;animation:3s ease-in infinite zzzFloat}.bot.offline .zzz.z2{animation-delay:1s}.bot.offline .zzz.z3{animation-delay:2s}@keyframes zzzFloat{0%{opacity:0;transform:translate(0)scale(.6)}25%{opacity:.9}to{opacity:0;transform:translate(6px,-12px)scale(1.1)}}.bot.maestro .arm-r{transform-box:fill-box;transform-origin:0 0;animation:1.3s ease-in-out infinite baton}@keyframes baton{0%,to{transform:rotate(-28deg)}50%{transform:rotate(22deg)}}.bot.maestro .arm-l{transform-box:fill-box;transform-origin:100% 0;animation:1.3s ease-in-out infinite batonL}@keyframes batonL{0%,to{transform:rotate(20deg)}50%{transform:rotate(-16deg)}}.bot.maestro .body-grp{animation:1.3s ease-in-out infinite botBob}.bot.maestro .note.nm2{animation-delay:.65s}.bot.maestro .note.nm3{animation-delay:.32s}.galaxy-container{width:100%;height:100%;position:relative}
