:root{--font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--text-xs: 12px;--text-sm: 13px;--text-md: 14px;--text-lg: 16px;--text-xl: 20px;--text-2xl: 24px;--color-bg: #f0f1f3;--color-surface: #ffffff;--color-surface-subtle: #f7f8fa;--color-text: #0d1117;--color-text-2: #4d5865;--color-muted: #68737f;--color-faint: #8b96a1;--color-border: #e4e7eb;--color-border-strong: #c8d0d8;--color-sidebar: #0f1419;--color-sidebar-hover: #1a2029;--color-sidebar-text: #e1e6ec;--color-sidebar-muted: #8d96a1;--color-primary: #2e7d5a;--color-primary-hover: #23694a;--color-primary-soft: #e4f0e9;--color-accent: #2e7d5a;--color-accent-soft: rgba(46, 125, 90, .08);--color-danger: #b34a4a;--color-danger-soft: #fbe7e7;--color-warning: #a17322;--color-warning-soft: #fff2db;--color-success: #2f7d57;--color-success-soft: #e2f3e9;--color-info: #3976a8;--color-info-soft: #e5f0fa;--radius-sm: 6px;--radius-md: 8px;--shadow-sm: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 4px 12px rgba(0,0,0,.08), 0 0 1px rgba(0,0,0,.1);--transition-fast: .1s ease;--transition-normal: .15s ease}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;min-width:320px;font-family:var(--font-sans);font-size:var(--text-md);line-height:1.5;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,select,textarea{font:inherit;color:inherit}button{border:0;background:none;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #74a88d;outline-offset:1px}.app{display:grid;grid-template-columns:224px minmax(0,1fr) 320px;min-height:100vh}.sidebar{background:var(--color-sidebar);color:var(--color-sidebar-text);padding:18px 12px;display:flex;flex-direction:column;gap:18px}.brand{display:flex;align-items:center;gap:10px;padding:0 8px}.mark{width:32px;height:32px;border-radius:var(--radius-sm);background:#d8f3e5;color:#173a2a;border:1px solid rgba(46,125,90,.15);display:grid;place-items:center;font-weight:800}.brand b,.user b{display:block;color:#fff;font-size:var(--text-md)}.brand span,.user span{display:block;font-size:var(--text-xs);color:var(--color-sidebar-muted)}.icon{padding:6px;display:inline-flex;align-items:center;justify-content:center;position:relative;color:#74808c;border-radius:var(--radius-sm)}.icon:hover{background:#7f89931f;color:var(--color-text)}.close,.menu,.mobile-detail{display:none}.connection{border:1px solid #1e2630;border-radius:var(--radius-sm);padding:10px 12px;font-size:var(--text-xs);color:var(--color-sidebar-muted);background:#0003}.connection i,.sync i,.node-state i,.dot{display:inline-block;width:8px;height:8px;background:#47c487;border-radius:50%;margin-right:6px}.sync i.ok{animation:pulse-dot 2s ease infinite}@keyframes pulse-dot{0%,to{box-shadow:0 0 #47c48766}50%{box-shadow:0 0 0 4px #47c48700}}.connection em{float:right;color:#69d49f;font-style:normal}.nav{width:100%;display:flex;align-items:center;gap:10px;padding:10px 11px;border-radius:var(--radius-sm);text-align:left;color:var(--color-sidebar-text);font-size:var(--text-sm)}.nav:hover,.nav.active{background:var(--color-sidebar-hover);color:#fff;box-shadow:inset 3px 0 var(--color-accent)}.nav small{margin-left:auto;color:#7f8997}.projects{border-top:1px solid #39414b;padding-top:14px}.projects label{display:flex;justify-content:space-between;padding:0 9px 8px;text-transform:uppercase;font-size:var(--text-xs);letter-spacing:.06em;color:#737d89}.project{width:100%;display:flex;align-items:center;gap:8px;padding:9px;border-radius:var(--radius-sm);text-align:left;font-size:var(--text-sm)}.project.active{background:#303640;color:#fff}.project i{width:8px;height:8px;border-radius:2px;background:#69bfee}.project:nth-of-type(2) i{background:#9a82dc}.project small{margin-left:auto;color:#76808d}.bottom{margin-top:auto}.user{border-top:1px solid #39414b;padding:12px 6px 0;display:flex;gap:8px;align-items:center}.user>strong{width:27px;height:27px;border-radius:50%;background:#a88ce6;color:#2a2140;display:grid;place-items:center;font-size:var(--text-xs)}.user b{font-size:var(--text-sm)}main{min-width:0}header{height:64px;background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:0 24px;display:flex;align-items:center;gap:16px}.crumb{display:flex;align-items:center;gap:7px;font-size:var(--text-sm);color:var(--color-muted);white-space:nowrap}.crumb b{color:var(--color-text)}.head-right{margin-left:auto;display:flex;align-items:center;gap:10px;min-width:0}.search{width:260px;height:36px;border:1px solid var(--color-border);border-radius:var(--radius-sm);display:flex;align-items:center;gap:7px;padding:0 9px;color:var(--color-muted);background:var(--color-surface);transition:box-shadow var(--transition-fast)}.search:focus-within{border-color:#74a88d;background:var(--color-surface);box-shadow:0 0 0 3px #2e7d5a1f}.search input{border:0;outline:0;width:100%;font-size:var(--text-sm);background:transparent}.search input::placeholder{color:var(--color-faint)}.icon>i{position:absolute;width:6px;height:6px;background:#df6f6f;border-radius:50%;top:3px;right:3px}.sync{font-size:var(--text-xs);color:var(--color-muted);white-space:nowrap}.sync i.unknown,.connection i.unknown,.node-state i.unknown{background:#d6a23c}.btn{height:36px;border-radius:var(--radius-sm);padding:0 13px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:var(--text-sm);font-weight:600;white-space:nowrap;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast)}.btn.primary{background:var(--color-primary);color:#fff}.btn.primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn.secondary{background:var(--color-surface);border:1px solid var(--color-border-strong);color:var(--color-text-2)}.btn.secondary:hover:not(:disabled){border-color:#aeb8c2;background:var(--color-surface-subtle)}.btn.danger{background:var(--color-danger);color:#fff}.btn:disabled{cursor:not-allowed;opacity:.5}.full{width:100%;margin-top:14px}.badge{display:inline-flex;align-items:center;font-size:var(--text-xs);padding:3px 7px;border-radius:4px;background:#edf0f2;color:var(--color-muted);white-space:nowrap}.badge.red{background:var(--color-danger-soft);color:var(--color-danger)}.badge.amber{background:var(--color-warning-soft);color:var(--color-warning)}.badge.blue{background:var(--color-info-soft);color:var(--color-info)}.badge.green{background:var(--color-success-soft);color:var(--color-success)}.page{padding:28px 30px 42px;max-width:1300px}.page-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.page-head label,.inspect>label{font-size:var(--text-xs);color:var(--color-faint);letter-spacing:.08em;text-transform:uppercase;font-weight:700}.page h1{font-size:var(--text-2xl);line-height:1.2;margin:5px 0;letter-spacing:0}.page-head p{font-size:var(--text-sm);color:var(--color-muted);margin:0}.page-head>div:last-child{display:flex;gap:7px}.page-head>div.page-head-copy:last-child{display:block}.page-head-copy p{max-width:680px}.section-title{font-size:var(--text-lg);margin:28px 0 12px}.muted{padding:10px;color:var(--color-muted);font-size:var(--text-sm)}.empty-state{min-height:220px;display:grid;place-content:center;justify-items:center;gap:8px;color:var(--color-faint);text-align:center;padding:20px}.empty-state b{color:var(--color-text-2);font-size:var(--text-sm)}.empty-state p{font-size:var(--text-sm);margin:0}.empty-row{padding:22px;color:var(--color-faint);font-size:var(--text-sm);text-align:center}.stats{display:grid;grid-template-columns:repeat(3,1fr) 1.7fr;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:22px;overflow:hidden}.stats.three{grid-template-columns:repeat(3,1fr)}.stats>div{padding:15px 18px;border-right:1px solid var(--color-border)}.stats>div:last-child{border:0}.stats span,.stats small{display:block;font-size:var(--text-xs);color:var(--color-muted)}.stats b{display:block;font-size:24px;margin:3px 0}.stats b small{display:inline;font-size:var(--text-sm)}.stats .readonly{display:flex;align-items:center;gap:9px;color:var(--color-primary);background:#fafdfb}.readonly b{font-size:var(--text-sm);margin:0}.readonly small{font-size:var(--text-xs)}.multica-toolbar{margin-bottom:12px;display:flex;gap:8px}.multica-create-form{display:flex;flex-direction:column;gap:10px;padding:14px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%}.multica-create-form input,.multica-create-form select{height:38px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:0 11px;font-size:var(--text-sm);background:var(--color-surface)}.multica-create-form textarea{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:9px 11px;font-size:var(--text-sm);line-height:1.5;resize:vertical}.multica-create-row{display:grid;grid-template-columns:130px minmax(0,1fr);gap:10px;align-items:start}.multica-create-actions{display:flex;gap:7px;align-items:center}.multica-create-actions .error{font-size:var(--text-sm);color:var(--color-danger)}.board{display:grid;grid-template-columns:repeat(4,minmax(190px,1fr));gap:12px}.lane{background:#eaedf0;border-radius:var(--radius-md);padding:10px;min-height:310px}.lane-title{padding:3px 4px 10px;font-size:var(--text-sm);font-weight:700;color:var(--color-muted)}.lane-title small{margin-left:6px;color:#9ba3ac}.lane-title em{float:right;color:#4a9c73;font-style:normal;font-weight:500}.work{display:block;width:100%;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);text-align:left;padding:12px;margin-bottom:8px}.work:hover,.work.selected{border-color:#86af98;box-shadow:0 0 0 2px #dcece2,inset 2px 0 var(--color-accent)}.work>div{display:flex;justify-content:space-between}.work>b{display:block;font-size:var(--text-sm);line-height:1.4;margin-top:7px}.work p{font-size:var(--text-sm);line-height:1.5;color:var(--color-muted);margin:5px 0 11px}.work footer{display:flex;justify-content:space-between;font-size:var(--text-xs);color:var(--color-faint)}.work footer span{display:flex;align-items:center;gap:4px}.inspector{background:var(--color-surface);border-left:1px solid var(--color-border)}.inspect{padding:26px 20px}.inspect h2{font-size:var(--text-lg);line-height:1.35;margin:13px 0 7px}.inspect>p{font-size:var(--text-sm);color:var(--color-muted);line-height:1.55}.meta{display:flex;gap:7px;align-items:center;color:var(--color-faint);font-size:var(--text-xs);padding-bottom:18px;border-bottom:1px solid var(--color-border)}.inspect section{padding:16px 0;border-bottom:1px solid var(--color-border)}.inspect section>label{display:block;text-transform:uppercase;font-size:var(--text-xs);font-weight:700;color:var(--color-muted);margin-bottom:9px;letter-spacing:.06em}.inspect section label em{color:#45a273;font-style:normal;text-transform:none}.inspect section>b{font-size:var(--text-sm)}.inspect section>small{display:block;font-size:var(--text-xs);color:var(--color-muted);margin-top:5px}.run{display:flex;align-items:center;gap:9px}.run>div{flex:1}.run b,.run small{display:block}.run b{font-size:var(--text-sm)}.run small{font-size:var(--text-xs);color:var(--color-muted)}.inspect code{display:block;font-size:var(--text-xs);color:var(--color-text-2);padding:4px 0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.inspect-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:4px}.inspect-actions .btn{flex:1;min-width:94px;justify-content:center}.edit-task{position:absolute;right:20px;margin-top:-28px;color:var(--color-text-2);background:var(--color-surface-subtle);border:1px solid var(--color-border)}.inspect-edit-form{display:flex;flex-direction:column;gap:9px}.inspect-edit-form input,.inspect-edit-form textarea,.inspect-edit-form select{width:100%;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:8px 10px;font-size:var(--text-sm);line-height:1.4;color:var(--color-text);background:var(--color-surface)}.inspect-edit-form textarea{resize:vertical}.inspect-edit-form select{height:36px}.table{border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-md);overflow:hidden}.table-head{padding:14px 16px;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;font-size:var(--text-sm)}.table-head span{font-size:var(--text-xs);color:var(--color-faint)}.node{display:grid;grid-template-columns:2fr .9fr repeat(3,1fr) .8fr;gap:12px;align-items:center;padding:13px 16px;border-bottom:1px solid var(--color-border)}.node:last-child{border:0}.node-name{display:flex;align-items:center;gap:9px}.node-icon{width:30px;height:30px;background:var(--color-success-soft);color:var(--color-success);border-radius:var(--radius-sm);display:grid;place-items:center}.node-icon.unknown{background:var(--color-warning-soft);color:var(--color-warning)}.node-name b,.node-name small{display:block}.node-name b{font-size:var(--text-sm)}.node-name small,.node-state,.runs,.metric span{font-size:var(--text-xs);color:var(--color-muted)}.metric b{font-size:var(--text-sm);margin-left:5px}.runs{display:flex;justify-content:space-between}.hub-chain{display:flex;align-items:stretch;gap:8px;overflow:auto;padding-bottom:22px}.stage{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:14px;min-width:150px;flex:1}.stage.active{border-color:#7fb293;box-shadow:0 0 0 2px #dceee3}.stage span,.stage b,.stage small{display:block}.stage span{font-size:var(--text-xs);text-transform:uppercase;color:var(--color-muted);display:flex;align-items:center;gap:6px}.stage b{font-size:var(--text-sm);margin:8px 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stage small{font-size:var(--text-xs);color:var(--color-faint)}.hub-chain.vertical{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:10px}.hub-chain.vertical .stage{min-width:0}.artifact-grid{display:grid;grid-template-columns:repeat(3,minmax(200px,1fr));gap:12px}.artifact-card{display:flex;flex-direction:column;gap:9px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:15px;min-width:0;box-shadow:var(--shadow-sm)}.artifact-card>div{display:flex;align-items:center;justify-content:space-between;color:var(--color-primary)}.artifact-card>b{font-size:var(--text-sm);overflow-wrap:anywhere}.artifact-card p{font-size:var(--text-sm);color:var(--color-muted);margin:0;overflow-wrap:anywhere}.artifact-card small{font-size:var(--text-xs);color:var(--color-faint);overflow-wrap:anywhere}.artifact-action{align-self:flex-start;margin-top:4px;text-decoration:none}.toast-container{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:8px;max-width:380px;pointer-events:none}.toast{pointer-events:auto;padding:12px 42px 12px 16px;border-radius:var(--radius-sm);font-size:var(--text-sm);line-height:1.45;box-shadow:0 6px 20px #17202a26;animation:toast-in .2s ease;position:relative;color:#fff}.toast-success{background:var(--color-primary)}.toast-error{background:var(--color-danger)}.toast-warning{background:var(--color-warning)}.toast-info{background:var(--color-info)}.toast-close{position:absolute;top:8px;right:8px;width:22px;height:22px;display:grid;place-items:center;border-radius:4px;color:#fffc;font-size:16px;line-height:1;background:transparent}.toast-close:hover{background:#ffffff26;color:#fff}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(max-width:700px){.toast-container{bottom:12px;right:12px;left:12px;max-width:none}.toast{font-size:var(--text-sm)}}.skeleton-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:18px;display:flex;flex-direction:column;gap:12px}.skeleton-row{padding:14px 16px;display:flex;flex-direction:column;gap:10px;border-bottom:1px solid var(--color-border)}.skeleton-text{padding:8px 0}.skeleton-line{border-radius:4px;background:#e4e7eb}.skeleton-shimmer{background:linear-gradient(90deg,#e4e7eb 25%,#eef0f2,#e4e7eb 75%);background-size:200% 100%;animation:shimmer 1.4s ease infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.auth-screen{min-height:100vh;display:grid;place-items:center;background:var(--color-bg);padding:20px}.login{width:min(400px,calc(100vw - 40px));background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:32px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--shadow-md)}.login .mark{width:40px;height:40px}.login h1{font-size:var(--text-2xl);margin:4px 0}.login p{color:var(--color-muted);margin:0 0 8px;font-size:var(--text-sm)}.login input{height:42px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:0 12px;font-size:var(--text-md)}.error{color:var(--color-danger)}.error-banner{display:flex;align-items:center;gap:8px;margin:16px 30px 0;padding:11px 13px;border:1px solid #efc7c7;border-radius:var(--radius-sm);background:var(--color-danger-soft);color:var(--color-danger);font-size:var(--text-sm)}.error-banner button{margin-left:auto;font-weight:700}.workbench{max-width:1440px}.control-mode{display:grid;grid-template-columns:1fr 1.2fr 1fr;margin-bottom:18px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.control-mode>div{min-width:0;padding:15px 17px;border-right:1px solid var(--color-border);display:grid;grid-template-columns:20px minmax(0,1fr);column-gap:9px;align-items:center}.control-mode>div:last-child{border-right:0}.control-mode span{width:9px;height:9px;border-radius:50%;background:var(--color-warning)}.control-mode span.ok{background:var(--color-success)}.control-mode span.bad{background:var(--color-danger)}.control-mode svg{color:var(--color-muted)}.control-mode b,.control-mode small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.control-mode b{font-size:var(--text-sm);color:var(--color-text)}.control-mode small{grid-column:2;font-size:var(--text-xs);color:var(--color-muted);margin-top:2px}.workbench-grid{display:grid;grid-template-columns:1.25fr 1fr .85fr;gap:12px;align-items:start}.mission-panel,.flow-panel,.asset-panel{min-width:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm)}.panel-title{height:50px;padding:0 14px;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--color-border)}.panel-title svg{color:var(--color-primary)}.panel-title b{font-size:var(--text-sm);color:var(--color-text)}.panel-title small{margin-left:auto;font-size:var(--text-xs);color:var(--color-faint)}.mission-row{width:100%;min-height:68px;padding:12px 14px;display:grid;grid-template-columns:52px minmax(0,1fr);gap:9px;text-align:left;border-bottom:1px solid var(--color-border);background:var(--color-surface)}.mission-row:last-child{border-bottom:0}.mission-row:hover,.run-row:hover,.workbench-work:hover{background:#f8fbf9;box-shadow:inset 2px 0 var(--color-accent)}.mission-row span{align-self:start;justify-self:start;padding:3px 7px;border-radius:4px;background:#edf0f2;color:var(--color-muted);font-size:var(--text-xs)}.mission-row.danger span{background:var(--color-danger-soft);color:var(--color-danger)}.mission-row.warn span{background:var(--color-warning-soft);color:var(--color-warning)}.mission-row b,.mission-row small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis}.mission-row b{font-size:var(--text-sm);line-height:1.35;color:var(--color-text);white-space:nowrap}.mission-row small{font-size:var(--text-xs);color:var(--color-muted);margin-top:4px;white-space:nowrap}.mission-empty{min-height:220px;display:grid;place-content:center;justify-items:center;text-align:center;gap:8px;color:var(--color-success);padding:20px}.mission-empty b{font-size:var(--text-sm);color:var(--color-success)}.mission-empty p{max-width:260px;margin:0;font-size:var(--text-sm);color:var(--color-muted)}.flow-stats{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--color-border)}.flow-stats>div{padding:14px;border-right:1px solid var(--color-border)}.flow-stats>div:last-child{border-right:0}.flow-stats span,.flow-stats small{display:block;font-size:var(--text-xs);color:var(--color-muted)}.flow-stats b{display:block;font-size:21px;margin:3px 0;color:var(--color-text)}.run-list{padding:6px}.run-row{width:100%;min-height:54px;padding:9px 8px;display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:9px;align-items:center;text-align:left;border-radius:var(--radius-sm)}.run-row svg{color:var(--color-primary)}.run-row b,.run-row small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.run-row b{font-size:var(--text-sm);color:var(--color-text)}.run-row small{font-size:var(--text-xs);color:var(--color-muted);margin-top:3px}.asset-row{min-height:56px;padding:12px 14px;display:grid;grid-template-columns:18px minmax(0,1fr);gap:9px;align-items:center;border-bottom:1px solid var(--color-border)}.asset-row:last-child{border-bottom:0}.asset-row svg{color:var(--color-info)}.asset-row b,.asset-row small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-row b{font-size:var(--text-sm);color:var(--color-text)}.asset-row small{font-size:var(--text-xs);color:var(--color-muted);margin-top:3px}.workbench-list{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm)}.workbench-work{width:100%;min-height:60px;padding:11px 14px;display:grid;grid-template-columns:minmax(0,1fr) auto 78px;gap:10px;align-items:center;text-align:left;border-bottom:1px solid var(--color-border)}.workbench-work:last-child{border-bottom:0}.workbench-work b,.workbench-work small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workbench-work b{font-size:var(--text-sm);color:var(--color-text)}.workbench-work small{font-size:var(--text-xs);color:var(--color-muted);margin-top:3px}.workbench-work>span{justify-self:end;font-size:var(--text-xs);color:var(--color-faint);white-space:nowrap}.mobile-inspector-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:none;align-items:flex-end;justify-content:center;background:#14181c66;animation:fade-in var(--transition-normal) ease}.mobile-inspector-panel{width:100%;max-height:88vh;overflow:auto;background:var(--color-surface);border-radius:12px 12px 0 0;padding:14px 16px 22px}.mobile-inspector-panel>.close{position:sticky;top:0;float:right;background:#f0f2f4;border-radius:var(--radius-sm)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media(max-width:1100px){.app{grid-template-columns:200px minmax(0,1fr)}.inspector{display:none}.board{grid-template-columns:repeat(2,minmax(200px,1fr))}.artifact-grid,.hub-chain.vertical{grid-template-columns:repeat(2,minmax(180px,1fr))}.control-mode,.workbench-grid{grid-template-columns:1fr}.control-mode>div{border-right:0;border-bottom:1px solid var(--color-border)}.control-mode>div:last-child{border-bottom:0}.workbench-grid{align-items:stretch}}@media(max-width:700px){.app{display:block}.sidebar{position:fixed;z-index:10;inset:0 auto 0 0;width:250px;transform:translate(-100%);transition:transform .2s ease}.sidebar.open{transform:none}.close,.menu,.mobile-detail{display:inline-flex}.close{margin-left:auto}header{padding:0 13px}.head-right{gap:6px}.search{width:36px;border:0;background:transparent}.search input,.head-right .sync{display:none}.page{padding:21px 14px}.page h1{font-size:21px}.page-head{margin-bottom:18px}.stats{grid-template-columns:repeat(2,1fr)}.stats .readonly{grid-column:span 2}.stats.three{grid-template-columns:repeat(2,1fr)}.stats.three>div:last-child{grid-column:span 2}.board{grid-template-columns:1fr}.lane{min-height:100px}.node{grid-template-columns:1.6fr 1fr}.node .metric,.runs{display:none}.artifact-grid,.hub-chain.vertical{grid-template-columns:1fr}.artifact-card{min-height:120px}.control-mode{margin-bottom:14px}.control-mode>div{padding:12px}.control-mode b{font-size:var(--text-sm)}.workbench-grid{gap:10px}.flow-stats{grid-template-columns:1fr}.flow-stats>div{border-right:0;border-bottom:1px solid var(--color-border)}.flow-stats>div:last-child{border-bottom:0}.mission-row{grid-template-columns:46px minmax(0,1fr)}.mission-row b,.mission-row small{white-space:normal}.workbench-work{grid-template-columns:minmax(0,1fr) auto}.workbench-work>span{display:none}.multica-create-row{grid-template-columns:1fr}.mobile-inspector-overlay{display:flex}.error-banner{margin:10px 14px 0}}.app.qcode-mode{grid-template-columns:224px minmax(0,1fr)}.qcode-mode>.inspector{display:none}.qcode-workspace{height:calc(100vh - 64px);display:grid;grid-template-columns:288px minmax(420px,1fr) 236px;background:var(--color-surface);overflow:hidden}.qcode-thread-pane,.qcode-timeline-pane,.qcode-context-pane{min-width:0;min-height:0}.qcode-thread-pane{display:flex;flex-direction:column;border-right:1px solid var(--color-border);background:var(--color-surface-subtle)}.qcode-pane-head{height:76px;padding:16px 16px 11px;display:flex;align-items:flex-start;justify-content:space-between}.qcode-pane-head label,.qcode-context-pane>label{font-size:var(--text-xs);font-weight:700;color:var(--color-faint);letter-spacing:.08em}.qcode-pane-head h1{font-size:var(--text-xl);margin:3px 0}.qcode-pane-actions{display:flex;align-items:center;gap:2px}.qcode-search{height:38px;margin:0 12px 8px;padding:0 10px;display:flex;align-items:center;gap:7px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-muted)}.qcode-search input{flex:1;border:0;outline:0;font-size:var(--text-sm);background:transparent;color:var(--color-text)}.qcode-search input::placeholder{color:var(--color-faint)}.qcode-search-clear{padding:0;display:flex;color:var(--color-faint);border:0;background:none;cursor:pointer}.qcode-filters{display:flex;gap:5px;margin:0 12px 10px}.qcode-filter-chip{padding:5px 9px;border-radius:var(--radius-sm);font-size:var(--text-xs);display:flex;align-items:center;gap:5px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-muted);cursor:pointer}.qcode-filter-chip:hover{border-color:var(--color-border-strong)}.qcode-filter-chip.active{background:var(--color-primary-soft);border-color:#8cb89d;color:var(--color-primary)}.qcode-filter-chip span{padding:0 5px;min-width:17px;text-align:center;border-radius:8px;background:#edf0f2;font-size:var(--text-xs);color:var(--color-muted);line-height:17px}.qcode-filter-chip.active span{background:#b7d8c2;color:var(--color-primary)}.qcode-thread-list{overflow:auto;min-height:0}.qcode-thread{width:100%;min-height:88px;padding:12px;display:grid;grid-template-columns:8px minmax(0,1fr) 16px;gap:9px;align-items:start;text-align:left;border-top:1px solid var(--color-border)}.qcode-thread:hover,.qcode-thread.selected{background:var(--color-surface)}.qcode-thread:hover{box-shadow:inset 3px 0 var(--color-accent)}.qcode-thread.selected{box-shadow:inset 3px 0 var(--color-primary)}.qcode-thread-dot{width:7px;height:7px;margin-top:5px;border-radius:50%;background:#b8c0c8}.qcode-thread-dot.active{background:#3fa875;box-shadow:0 0 0 3px #dcefe5}.qcode-thread b,.qcode-thread p,.qcode-thread small{display:block;overflow:hidden;text-overflow:ellipsis}.qcode-thread b{font-size:var(--text-sm);white-space:nowrap}.qcode-thread p{height:34px;margin:4px 0;font-size:var(--text-xs);line-height:1.45;color:var(--color-muted)}.qcode-thread small{font-size:var(--text-xs);color:var(--color-faint);white-space:nowrap}.qcode-thread>svg{margin-top:4px;color:#abb2ba}.qcode-load-more{width:100%;height:42px;display:flex;align-items:center;justify-content:center;gap:6px;border:0;border-top:1px solid var(--color-border);background:var(--color-surface-subtle);color:var(--color-muted);font-size:var(--text-xs);cursor:pointer}.qcode-load-more:hover{background:#eef1f3;color:var(--color-text-2)}.qcode-load-more:disabled{opacity:.5;cursor:not-allowed}.qcode-timeline-pane{display:flex;flex-direction:column;background:var(--color-surface)}.qcode-conversation-head{height:58px;flex:none;padding:0 18px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--color-border)}.qcode-conversation-head>div{min-width:0;flex:1}.qcode-conversation-head b,.qcode-conversation-head small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qcode-conversation-head b{font-size:var(--text-sm)}.qcode-conversation-head small{font-size:var(--text-xs);color:var(--color-muted);margin-top:3px}.qcode-live{display:flex;align-items:center;gap:5px;font-size:var(--text-xs);color:#9a6464;white-space:nowrap}.qcode-live.online{color:var(--color-success)}.qcode-back{display:none}.qcode-error{flex:none;padding:9px 14px;display:flex;align-items:center;gap:7px;background:var(--color-danger-soft);border-bottom:1px solid #efcdcd;color:var(--color-danger);font-size:var(--text-xs)}.qcode-notice{flex:none;padding:9px 14px;display:flex;align-items:center;gap:7px;border-bottom:1px solid #cfe4d8;background:var(--color-success-soft);color:var(--color-success);font-size:var(--text-xs)}.qcode-timeline{flex:1;min-height:0;overflow:auto;padding:22px max(18px,5vw) 30px;scrollbar-gutter:stable}.qcode-message{display:grid;grid-template-columns:30px minmax(0,1fr);gap:11px;margin:0 auto 20px;max-width:760px}.qcode-avatar{width:30px;height:30px;border-radius:var(--radius-sm);display:grid;place-items:center;background:#edf0f3;color:var(--color-text-2)}.qcode-message.assistant .qcode-avatar{background:#dff0e6;color:var(--color-primary)}.qcode-message header{height:auto;background:none;border:0;padding:0 0 5px;display:flex}.qcode-message header b{font-size:var(--text-xs)}.qcode-message time{margin-left:auto;color:var(--color-faint);font-size:var(--text-xs)}.qcode-message p{font-size:var(--text-md);line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;color:var(--color-text)}.qcode-message.user p{color:var(--color-text-2)}.qcode-turns{display:flex;flex-direction:column}.qcode-turn-block{margin-bottom:14px}.qcode-turn-header{display:flex;align-items:flex-start;gap:10px;padding:0 0 8px;max-width:760px;margin:0 auto}.qcode-turn-pip{width:10px;height:10px;min-width:10px;border-radius:50%;margin-top:3px;background:#b8c0c8}.qcode-turn-pip.green{background:#3fa875}.qcode-turn-pip.red{background:var(--color-danger)}.qcode-turn-pip.amber{background:var(--color-warning)}.qcode-turn-pip.blue{background:#4a8fc9}.qcode-turn-header b{font-size:var(--text-sm);color:var(--color-text-2)}.qcode-turn-header small{display:block;font-size:var(--text-xs);color:var(--color-muted);margin-top:2px}.qcode-turn-items{margin:0}.qcode-activity{max-width:760px;margin:0 auto 9px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-subtle)}.qcode-activity summary{height:38px;padding:0 11px;display:flex;align-items:center;gap:7px;cursor:pointer;list-style:none}.qcode-activity summary::-webkit-details-marker{display:none}.qcode-activity summary span{color:var(--color-muted)}.qcode-activity summary b{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-xs);font-weight:600}.qcode-activity summary em{font-size:var(--text-xs);color:var(--color-muted);font-style:normal}.qcode-activity pre{max-height:300px;overflow:auto;margin:0;padding:11px 13px;border-top:1px solid var(--color-border);background:#252a30;color:#dce2e7;font:12px/1.55 var(--font-mono);white-space:pre-wrap;overflow-wrap:anywhere}.qcode-activity-error{border-color:#eec8c8;background:snow}.qcode-activity-error summary span{color:var(--color-danger)}.qcode-activity-detail{border-top:1px solid var(--color-border);padding:4px 0}.qcode-activity-detail label{display:block;padding:7px 13px 2px;font-size:var(--text-xs);font-weight:700;color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em}.qcode-activity-detail pre{max-height:240px;overflow:auto;margin:0;padding:4px 13px 10px;border:0;background:transparent;color:var(--color-text-2);font:12px/1.5 var(--font-mono);white-space:pre-wrap;overflow-wrap:anywhere}.qcode-composer{flex:none;margin:0 max(18px,5vw) 18px;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-md)}.qcode-composer:focus-within{border-color:#74a88d;box-shadow:0 0 0 2px #e0eee6}.qcode-composer textarea{display:block;width:100%;min-height:72px;max-height:190px;resize:vertical;border:0;outline:0;padding:12px;font-size:var(--text-md);line-height:1.5;background:transparent}.qcode-composer>div{min-height:40px;height:auto;padding:0 8px 8px 12px;display:flex;align-items:center;gap:7px}.qcode-composer>div>span{font-size:var(--text-xs);color:var(--color-faint);margin-right:auto;line-height:1.35}.qcode-send,.qcode-stop{height:32px;padding:0 11px;border-radius:var(--radius-sm);display:flex;align-items:center;gap:5px;font-size:var(--text-sm);font-weight:700}.qcode-send{background:var(--color-primary);color:#fff}.qcode-send:hover:not(:disabled){background:var(--color-primary-hover)}.qcode-stop{border:1px solid #e1bcbc;color:var(--color-danger);background:var(--color-surface)}.qcode-send:disabled,.qcode-stop:disabled{opacity:.45;cursor:not-allowed}.qcode-running{flex:none;padding:10px 14px;display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:9px;align-items:center;background:var(--color-warning-soft);border-bottom:1px solid #edd8aa;color:var(--color-warning)}.qcode-running svg{color:var(--color-warning)}.qcode-running b,.qcode-running span{display:block;min-width:0}.qcode-running b{font-size:var(--text-xs)}.qcode-running span{font-size:var(--text-xs);color:#927848;margin-top:2px}.qcode-running button{height:30px;padding:0 10px;border:1px solid #e1bcbc;border-radius:var(--radius-sm);display:flex;align-items:center;gap:5px;color:var(--color-danger);background:var(--color-surface);font-size:var(--text-xs);font-weight:700}.qcode-running button:disabled{opacity:.45;cursor:not-allowed}.qcode-context-pane{padding:18px 15px;border-left:1px solid var(--color-border);background:var(--color-surface-subtle);overflow:auto}.qcode-context-pane>label{display:block;margin-bottom:13px}.qcode-context{padding:10px 0;border-top:1px solid var(--color-border)}.qcode-context span,.qcode-context code{display:block}.qcode-context span{font-size:var(--text-xs);color:var(--color-muted);margin-bottom:4px}.qcode-context code{font-size:var(--text-xs);line-height:1.45;color:var(--color-text-2);white-space:normal;overflow-wrap:anywhere}.qcode-turn-summary{margin-top:14px;padding:12px;display:flex;align-items:center;gap:9px;border:1px solid #dce4df;border-radius:var(--radius-sm);background:var(--color-success-soft);color:var(--color-success)}.qcode-turn-summary b,.qcode-turn-summary small{display:block}.qcode-turn-summary b{font-size:var(--text-xs)}.qcode-turn-summary small{font-size:var(--text-xs);color:#799083;margin-top:2px}.qcode-safety{margin-top:10px;padding:10px;border:1px solid #ead9ac;border-radius:var(--radius-sm);background:var(--color-warning-soft);display:flex;gap:7px;color:var(--color-warning)}.qcode-safety span{font-size:var(--text-xs);line-height:1.45}.qcode-pane-state{min-height:180px;display:grid;place-content:center;justify-items:center;gap:8px;color:var(--color-faint);font-size:var(--text-xs)}.spin{animation:qcode-spin .8s linear infinite}@keyframes qcode-spin{to{transform:rotate(360deg)}}@media(max-width:1180px){.qcode-workspace{grid-template-columns:268px minmax(400px,1fr)}.qcode-context-pane{display:none}}@media(max-width:700px){.app.qcode-mode{display:block}.qcode-workspace{height:calc(100vh - 64px);display:block;position:relative}.qcode-thread-pane,.qcode-timeline-pane{position:absolute;top:0;right:0;bottom:0;left:0;transition:transform .2s ease}.qcode-thread-pane{transform:translate(0)}.qcode-timeline-pane{transform:translate(100%);display:flex}.qcode-workspace.show-detail .qcode-thread-pane{transform:translate(-30%)}.qcode-workspace.show-detail .qcode-timeline-pane{transform:translate(0)}.qcode-back{display:inline-flex}.qcode-timeline{padding:18px 13px 24px}.qcode-composer{margin:0 12px 10px}.qcode-message{grid-template-columns:28px minmax(0,1fr)}.qcode-context-pane{display:none}.qcode-running{grid-template-columns:18px minmax(0,1fr);align-items:start}.qcode-running button{grid-column:2;justify-self:start}.qcode-composer>div{align-items:flex-start;flex-wrap:wrap}.qcode-composer>div>span{flex-basis:100%;margin:0 0 2px}}
