:root{--bg: #f7f3ee;--bg-2: #ffffff;--bg-3: #faf9f5;--accent: #ad7a41;--accent-2: #966933;--fg: #1c1b18;--muted: #6e6a62;--faint: #9a958b;--border: #e7e4dd;--border-2: #ddd9d0;--good: #2f9e44;--good-text: #2b8a3e;--warn: #bd7d10;--info: #2f6df0;--danger: #c0392b;--header-bg: #362005;--header-border: #543a18;--header-fg: #e9dcc0;--header-muted: #b39d76;--header-tag: #c9b48c;--sans: "Hanken Grotesk", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--sans);background:var(--bg);color:var(--fg);font-size:14px;-webkit-font-smoothing:antialiased}::selection{background:#ad7a412e}a{color:var(--accent-2);text-decoration:none}a:hover{text-decoration:underline}code{font-family:var(--mono);font-size:12px;background:#f3ece0;color:var(--accent-2);padding:1px 5px;border-radius:3px}pre{font-family:var(--mono);font-size:12px;background:var(--bg-3);border:1px solid var(--border);color:var(--muted);padding:10px;border-radius:7px;white-space:pre-wrap;word-break:break-word;max-height:320px;overflow:auto;margin:4px 0 0}.app{display:block}.app-header{display:flex;align-items:center;gap:30px;padding:0 22px;height:58px;border-bottom:1px solid var(--header-border);background:var(--header-bg);position:fixed;top:0;left:0;right:0;z-index:100}.brand{display:flex;align-items:center;gap:11px;color:var(--header-fg);font-weight:800;font-size:17px;letter-spacing:-.02em;white-space:nowrap}.brand:hover{text-decoration:none;color:var(--header-fg)}.brand-logo{width:34px;height:34px;border-radius:8px;display:block}.brand-tag{font:500 10px/1 var(--mono);color:var(--header-tag);border:1px solid rgba(229,212,177,.28);padding:3px 5px;border-radius:5px}.header-actions{margin-left:auto;display:flex;align-items:center;gap:12px}.app-main{padding-top:58px}.signin-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px;background:var(--bg, #f7f7f8)}.nav-tabs{display:flex;align-items:stretch;gap:2px;height:100%}.nav-tab{display:flex;align-items:center;gap:8px;padding:0 14px;color:var(--header-muted);font-size:13.5px;font-weight:600;border-bottom:2px solid transparent;text-decoration:none;transition:color .15s,border-color .15s;white-space:nowrap}.nav-tab:hover{color:var(--header-fg);text-decoration:none}.nav-tab.active{color:var(--header-fg);border-bottom-color:var(--accent)}.btn-sm{padding:6px 11px;font-size:12px}.page{padding:40px 28px 72px;max-width:1800px;width:100%;margin:0 auto}.muted{color:var(--muted)}.small{font-size:12px}.err{color:var(--danger);padding:8px 0}.btn{background:var(--bg-2);border:1px solid var(--border-2);color:#3a3630;padding:8px 15px;border-radius:8px;cursor:pointer;font:600 13px var(--sans);transition:background .12s,border-color .12s,color .12s}.btn:hover{background:var(--bg-3);border-color:#c4bfb3;color:var(--fg)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700;box-shadow:0 1px 2px #1c1b181a}.btn-primary:hover{background:var(--accent-2);border-color:var(--accent-2);color:#fff}.btn.danger{background:var(--bg-2);border-color:#c0392b4d;color:var(--danger)}.btn.danger:hover{background:#c0392b0f;border-color:var(--danger);color:var(--danger)}.btn-icon{background:transparent;border:1px solid transparent;color:var(--faint);cursor:pointer;padding:4px 8px;border-radius:6px;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center}.btn-icon:hover{background:#f4f2ec;color:#5f5b54}.btn-icon.danger:hover{background:#c0392b14;color:var(--danger)}.workflow-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.workflow-list li{display:flex;align-items:center;gap:20px;padding:18px 20px;background:var(--bg-2);border:1px solid var(--border);border-radius:14px;box-shadow:0 1px 2px #1c1b180a;transition:border-color .12s,box-shadow .12s}.workflow-list li:hover{border-color:#d4cfc4;box-shadow:0 2px 8px #1c1b180f}.wf-info{min-width:190px;flex-shrink:0}.wf-name{font-size:16px;font-weight:700;letter-spacing:-.01em}.wf-meta{font:500 11.5px var(--mono);color:var(--faint);margin-top:5px}.actions{display:flex;gap:9px;flex-shrink:0}.wf-chips{display:flex;flex-wrap:wrap;align-items:center;gap:7px;flex:1}.wf-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:7px;font:500 12px var(--sans);border:1px solid #e7ddcb;background:#f3ece0;color:#74706a}.wf-chip .dot{width:5px;height:5px;border-radius:50%;background:#a9a08c}.wf-chip.llm{color:var(--accent-2);background:#ad7a411f;border-color:#ad7a414d}.wf-chip.llm .dot{background:var(--accent)}.editor-header{display:flex;align-items:center;gap:14px;margin-bottom:24px}.title-input{background:transparent;border:none;border-bottom:1px solid transparent;color:var(--fg);font:800 24px var(--sans);letter-spacing:-.02em;flex:1;padding:4px 0}.title-input:focus{outline:none;border-bottom-color:var(--accent)}.stage-list{list-style:none;padding:0;margin:0 0 16px}.stage-card{background:var(--bg-2);border:1px solid var(--border);border-radius:14px;padding:16px 18px;margin-bottom:14px;display:flex;flex-direction:column;gap:8px;box-shadow:0 1px 2px #1c1b180a}.stage-card-header{display:flex;align-items:center;gap:11px;margin-bottom:6px}.stage-card-header .stage-num{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:7px;background:#f4f2ec;border:1px solid #e2dfd6;font:600 12px var(--mono);color:#74706a;flex-shrink:0}.stage-name{flex:1;background:transparent;border:1px solid transparent;color:var(--fg);font:600 15px var(--sans);padding:5px 7px;border-radius:7px}.stage-name:focus{outline:none;border-color:#e2dfd6;background:var(--bg-3)}input,textarea,select{background:var(--bg-3);border:1px solid var(--border);color:var(--fg);padding:9px 11px;border-radius:8px;font-size:13px;font-family:inherit}.entry.stage-failed{border-left:3px solid var(--danger);background:#ef44440f}.entry.stage-marker.tone-fail{color:var(--danger)}.entry.stage-marker.tone-jump{color:var(--warn)}.failure-policy{border:1px dashed var(--border);border-radius:4px;padding:6px 10px;margin-top:6px}.failure-policy>summary{cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none}.failure-policy>summary:before{content:"▸";display:inline-block;width:14px;color:var(--muted)}.failure-policy[open]>summary:before{content:"▾"}.failure-policy-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;padding:8px 0 4px}.failure-policy-grid>label{display:flex;flex-direction:column;gap:4px}.failure-policy-grid>label.allow-failure{grid-column:1 / -1;flex-direction:row;align-items:center;gap:6px}.failure-policy-grid>label.allow-failure>input[type=checkbox]{width:14px;height:14px;padding:0}.tools-picker{border:1px dashed var(--border);border-radius:4px;padding:6px 10px;margin-top:6px}.tools-picker>summary{cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none}.tools-picker>summary:before{content:"▸";display:inline-block;width:14px;color:var(--muted)}.tools-picker[open]>summary:before{content:"▾"}.tools-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;padding:8px 0 4px}.tools-grid>label{display:flex;flex-direction:row;align-items:center;gap:6px}.tools-grid>label>input[type=checkbox]{width:14px;height:14px;padding:0}.tools-grid>.label-hint{grid-column:1 / -1}input:focus,textarea:focus,select:focus{outline:none;border-color:#d4cfc4}textarea.code{font:13px/1.6 var(--mono);color:#44413b;border-radius:9px;padding:11px 12px}:root{--rail-width: 320px;--header-height: 58px}.runner{position:relative}.rail{position:fixed;top:var(--header-height);bottom:0;left:0;width:var(--rail-width);border-right:1px solid var(--border);padding:22px 20px;background:#fbfaf7;overflow-y:auto;box-shadow:0 1px 2px #1c1b180a;z-index:10}.rail h2{margin:0 0 14px;font-size:16px;font-weight:700;letter-spacing:-.01em}.run-meta{background:var(--bg-2);border:1px solid var(--border);border-radius:12px;padding:14px;margin-bottom:24px;display:flex;flex-direction:column;gap:9px;font-size:12px;color:var(--muted);box-shadow:0 1px 2px #1c1b180a}.run-meta code{font:500 11.5px var(--mono);color:#5f5b54;background:transparent;padding:0}.status-running{color:var(--info)}.status-awaiting_input{color:var(--warn)}.status-completed{color:var(--good-text)}.status-error{color:var(--danger)}.stage-rail{list-style:none;padding:0;margin:0}.stage-rail-heading{font:600 10.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin-bottom:16px}.stage-step{display:flex;gap:13px;padding-bottom:14px}.stage-step-rail{display:flex;flex-direction:column;align-items:center}.stage-step .dot{width:14px;height:14px;border-radius:50%;background:#eceae3;border:2px solid #d2cdc2;flex-shrink:0;margin-top:2px;box-sizing:border-box}.stage-step .connector{width:2px;flex:1;min-height:22px;background:#e2dfd6;margin:4px 0}.stage-step:last-child .connector{background:transparent}.stage-step.done .dot{background:var(--good);border-color:var(--good)}.stage-step.active .dot{background:var(--info);border-color:var(--info);animation:pulse 1.6s ease-in-out infinite}.stage-step.awaiting .dot{background:var(--warn);border-color:var(--warn)}.stage-step.failed .dot{background:var(--danger);border-color:var(--danger);animation:failPulse 1s ease-in-out infinite}.stage-step.jump-target .stage-step-name{color:var(--warn)}.stage-step.jump-target .dot{box-shadow:0 0 0 3px #bd7d102e}.stage-step-name{font-size:13.5px;font-weight:600;color:var(--fg)}.stage-step.pending .stage-step-name{color:var(--faint)}.stage-step-type{font:500 11px var(--mono);color:var(--faint);margin-top:2px}@keyframes failPulse{0%,to{box-shadow:0 0 #c0392b73}50%{box-shadow:0 0 0 6px #c0392b00}}@keyframes pulse{0%,to{box-shadow:0 0 #2f6df066}50%{box-shadow:0 0 0 6px #2f6df000}}@keyframes livePulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.8)}}.transcript-pane{margin-left:var(--rail-width);padding-bottom:180px;background:var(--bg);min-width:0}.transcript{padding:16px 20px;display:flex;flex-direction:column;gap:7px;position:relative}.failure-analysis{margin:14px 20px 0;padding:12px 14px;background:var(--bg-2);border:1px solid var(--border);border-left:3px solid var(--danger);border-radius:9px;box-shadow:0 1px 2px #1c1b1808;flex-shrink:0;max-height:38vh;overflow:auto}.failure-analysis-header{display:flex;align-items:center;gap:9px;margin-bottom:8px}.failure-analysis-title{font:600 10.5px var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--danger)}.failure-analysis-glyph{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:#c0392b1a;color:var(--danger);font:700 11px var(--mono);flex-shrink:0}.failure-analysis.complete .failure-analysis-glyph{background:#ad7a411f;color:var(--accent)}.failure-analysis-body{font-size:13.5px;color:var(--fg)}.failure-analysis-body .md{white-space:normal}.entry-meta{display:inline-flex;align-items:center;gap:6px;margin-left:auto;font:500 10.5px var(--mono);color:var(--faint);letter-spacing:.04em;white-space:nowrap;flex-shrink:0}.entry>.entry-meta{display:flex;justify-content:flex-end;margin:0 0 4px}.entry-meta-stage{text-transform:uppercase;letter-spacing:.08em;color:var(--accent-2)}.entry-meta-sep{color:var(--faint)}.entry-meta-time{font-variant-numeric:tabular-nums}.entry.stage-marker .stage-marker-label{flex-shrink:0}.entry.stage-marker .stage-marker-time{margin-left:4px;color:var(--faint)}.entry.script-log-wrap{background:var(--bg-3);border:1px solid var(--border);border-left:3px solid #cdc8bd;border-radius:7px;padding:6px 10px}.entry.script-log-wrap.stderr{border-left-color:var(--danger)}.entry.script-log-wrap>.entry-meta{margin-bottom:4px}.entry.script-log-wrap>pre.script-log{margin:0;background:transparent;border:none;padding:0}.entry.script-log-wrap>pre.script-log.stderr{color:var(--danger)}.scroll-to-bottom{position:fixed;bottom:110px;right:24px;width:36px;height:36px;border-radius:50%;background:var(--bg-2);border:1px solid var(--border-2);color:var(--accent-2);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 14px #1c1b1829;transition:transform .12s,background .12s,border-color .12s;z-index:20}.scroll-to-bottom:hover{transform:translateY(-1px);background:var(--bg-3);border-color:var(--accent);color:var(--accent)}.scroll-to-bottom:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.entry{background:var(--bg-2);border:1px solid var(--border);border-radius:9px;padding:9px 13px;box-shadow:0 1px 2px #1c1b1808}.entry .role{font:600 10px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin-bottom:4px}.entry .content{white-space:pre-wrap;word-break:break-word;font-size:13.5px;line-height:1.55;color:#33302b}.entry.assistant{border-left:3px solid var(--accent)}.entry.reasoning{border-left:3px dashed var(--warn);background:var(--bg-2)}.entry.reasoning>summary{cursor:pointer;list-style:none;color:var(--faint);font:600 10px var(--mono);letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;display:flex;align-items:center;gap:8px}.entry.reasoning>summary::-webkit-details-marker{display:none}.entry.reasoning .reasoning-content{color:var(--faint);font-style:italic;font-size:12.5px}.entry.thinking{display:flex;align-items:center;gap:10px;padding:9px 13px;background:var(--bg-2);border:1px solid var(--border);border-left:3px solid var(--info);border-radius:9px;box-shadow:0 1px 2px #1c1b1808;font:500 12.5px var(--mono);color:var(--muted)}.thinking-dot{width:8px;height:8px;border-radius:50%;background:var(--info);animation:livePulse 1.4s ease-in-out infinite;flex-shrink:0}.thinking-label{color:var(--muted)}.thinking-elapsed{margin-left:auto;color:var(--faint);font-variant-numeric:tabular-nums}.assistant-body{display:flex;flex-direction:column;align-items:flex-start}.assistant-body .content{width:100%}.md{white-space:normal}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md p{margin:0 0 8px}.md ul,.md ol{margin:0 0 8px;padding-left:1.35em}.md li{margin:2px 0}.md li>p{margin:0}.md h1,.md h2,.md h3,.md h4{margin:12px 0 6px;font-weight:700;line-height:1.3;letter-spacing:-.01em}.md h1{font-size:17px}.md h2{font-size:15.5px}.md h3{font-size:14px}.md h4{font-size:13.5px}.md a{color:var(--accent-2)}.md blockquote{margin:0 0 8px;padding:2px 0 2px 12px;border-left:3px solid var(--border-2);color:var(--muted)}.md hr{border:none;border-top:1px solid var(--border);margin:12px 0}.md pre{margin:0 0 8px}.md table{border-collapse:collapse;margin:0 0 8px;font-size:12.5px;display:block;overflow-x:auto}.md th,.md td{border:1px solid var(--border-2);padding:4px 8px;text-align:left}.md th{background:var(--bg-3);font-weight:600}.md img{max-width:100%}.md-clamped{max-height:4.7em;overflow:hidden;-webkit-mask-image:linear-gradient(180deg,#000 62%,transparent);mask-image:linear-gradient(180deg,#000 62%,transparent)}.md-toggle{margin-top:5px;padding:0;background:none;border:none;cursor:pointer;font:600 11.5px var(--sans);color:var(--accent-2)}.md-toggle:hover{text-decoration:underline}.entry.user{border-left:3px solid var(--accent-2)}.entry.awaiting{border-left:3px solid var(--warn);background:#bd7d100f}.tool-name{font:600 12.5px var(--mono);color:var(--accent-2)}.entry.tool-pair{padding:6px 12px;border-left:3px solid #cdc8bd;background:var(--bg-3);box-shadow:none}.entry.tool-pair>summary{cursor:pointer;display:flex;align-items:center;gap:8px;font:12px var(--mono);list-style:none;white-space:nowrap;overflow:hidden}.entry.tool-pair>summary::-webkit-details-marker{display:none}.entry.tool-pair .tool-glyph{flex-shrink:0;width:14px;text-align:center;color:var(--accent-2);font-weight:700}.entry.tool-pair .tool-name{flex-shrink:0;font:600 12px var(--mono);color:var(--accent-2)}.entry.tool-pair .tool-arg{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;color:#5f5b54}.entry.tool-pair .tool-arg.mono{font-family:var(--mono)}.entry.tool-pair .tool-res-preview{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;color:var(--faint);text-align:right}.entry.tool-pair .tool-res-preview.is-err{color:var(--danger)}.tool-pair-body{margin-top:6px}.tool-section-label{font:600 9.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin:8px 0 2px}.tool-pair-body pre{max-height:260px}.tool-pair-body pre.is-err{color:var(--danger);border-color:#c0392b4d}.entry.system summary{cursor:pointer;color:var(--faint);font:500 12px var(--mono);display:flex;align-items:center;gap:8px}.entry.system{padding:10px 14px}.entry.stage-marker{text-align:center;background:transparent;border:none;box-shadow:none;color:var(--faint);font:500 12px var(--mono);padding:8px 0;letter-spacing:.04em;display:flex;align-items:center;gap:12px}.entry.stage-marker:before,.entry.stage-marker:after{content:"";flex:1;height:1px;background:var(--border)}.entry.stage-marker.done{color:var(--good-text)}.entry.stage-marker.active{color:var(--info);font-weight:600}.entry.err{border-left:3px solid var(--danger);background:#c0392b0f;color:var(--danger)}.composer{position:fixed;left:var(--rail-width);right:0;bottom:0;border-top:1px solid var(--border);padding:14px 18px;background:#fbfaf7;display:flex;flex-direction:column;gap:11px;z-index:5;box-shadow:0 -2px 12px #1c1b180a}.composer textarea{resize:vertical;background:var(--bg-2);border:1px solid #e0ddd4;border-radius:11px;font:14px/1.55 var(--sans);padding:12px 14px}.composer textarea:focus{border-color:#c4bfb3}.composer-actions{display:flex;gap:9px;justify-content:flex-end;align-items:center}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:26px}.page-heading h1{margin:0;font-size:27px;font-weight:800;letter-spacing:-.025em}.page-heading .page-subtitle{margin:7px 0 0;color:var(--muted);font-size:14px}.page-heading-actions{display:flex;align-items:center;gap:10px}.stat-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:28px}.stat-tile{position:relative;overflow:hidden;background:var(--bg-2);border:1px solid var(--border);border-radius:14px;padding:18px 20px;box-shadow:0 1px 2px #1c1b180a}.stat-tile .bar{position:absolute;left:0;top:16px;bottom:16px;width:3px;border-radius:3px}.stat-tile .label{font:600 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#8a857b}.stat-tile .value{font-size:34px;font-weight:800;letter-spacing:-.03em;margin-top:6px}.tasks-section{margin-bottom:34px}.tasks-section-heading{display:flex;align-items:center;gap:10px;margin:0 0 14px;font:600 12px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent-2)}.tasks-section-heading:after{content:"";flex:1;height:1px;background:var(--border)}.tasks-section--muted .tasks-section-heading{color:var(--faint)}.tasks-section-empty{padding:12px 0}.tasks-table--completed .tasks-table-row{opacity:.7}.tasks-table--completed .tasks-table-row:hover{opacity:1}.tasks-table{border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--bg-2);box-shadow:0 1px 2px #1c1b180a}.tasks-table-header,.tasks-table-row{display:grid;grid-template-columns:92px 150px 124px minmax(110px,220px) 1fr 76px 104px;align-items:center;gap:14px;padding:14px 18px}.tasks-table-header{background:var(--bg-3);font:600 10.5px var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--faint);border-bottom:1px solid #ece9e2;padding:11px 18px}.tasks-table-row{background:var(--bg-2);border-bottom:1px solid #f0eee7;transition:background .1s}.tasks-table-row:last-child{border-bottom:none}.tasks-table-row:hover{background:var(--bg-3)}.tasks-table-row .run-id code{font:500 12px var(--mono);background:transparent;color:#74706a;padding:0}.task-input-cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-actions{display:flex;align-items:center;gap:6px;justify-content:flex-end}.row-actions .btn-sm{background:var(--bg-2);color:var(--accent-2);border:1px solid rgba(173,122,65,.4);border-radius:7px;font:600 12px var(--sans);padding:6px 11px;box-shadow:none}.row-actions .btn-sm:hover{background:#ad7a4114;border-color:var(--accent);color:var(--accent-2)}.status-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:20px;font-size:11.5px;font-weight:600}.status-pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.status-pill.status-running{background:#2f6df01a;color:var(--info)}.status-pill.status-awaiting_input{background:#bd7d101f;color:var(--warn)}.status-pill.status-completed{background:#2f9e441f;color:var(--good-text)}.status-pill.status-error{background:#c0392b1a;color:var(--danger)}.model-picker{position:relative;width:100%}.model-picker input{width:100%}.model-picker-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--bg-2);border:1px solid var(--border);border-radius:8px;z-index:100;max-height:220px;overflow-y:auto;list-style:none;margin:2px 0 0;padding:0;box-shadow:0 4px 16px #1c1b1814}.model-picker-option{padding:8px 12px;cursor:pointer;font-size:13px;font-family:var(--mono);color:var(--fg)}.model-picker-option:hover,.model-picker-option.active{background:var(--bg-3);color:var(--accent-2)}.empty-state{text-align:center;padding:64px 24px;color:var(--muted)}.empty-icon{font-size:40px;margin-bottom:12px}.empty-state p{margin:4px 0}.runner-launch{display:flex;flex-direction:column;max-width:880px;margin:0 auto;width:100%;padding:44px 28px 32px;gap:14px;box-sizing:border-box}.launch-header h1{margin:0;font-size:25px;font-weight:800;letter-spacing:-.02em;color:var(--fg)}.launch-body{display:flex;flex-direction:column;gap:14px}.launch-textarea{resize:vertical;background:var(--bg-2);border:1px solid var(--border);border-radius:14px;font-size:15px;line-height:1.7;padding:18px 20px;min-height:320px;width:100%;box-shadow:0 1px 2px #1c1b180a}.launch-meta{display:flex;flex-direction:column;gap:10px}.launch-meta input,.launch-meta select{background:var(--bg-2);border-radius:10px;font:13px var(--mono);padding:12px 14px;box-shadow:0 1px 2px #1c1b180a;width:100%}.launch-field{display:flex;align-items:center;gap:10px}.launch-field-label{font:600 10.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--faint);flex-shrink:0}.launch-field select{flex:1}.launch-actions{display:flex;align-items:center;margin-top:4px}.launch-hint{font:500 12px var(--mono);color:var(--faint)}.launch-submit{margin-left:auto;padding:11px 28px;font-size:14px;font-weight:700;box-shadow:0 1px 3px #1c1b1824}.launch-submit:hover{box-shadow:0 4px 14px #ad7a414d}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c1b1873;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.modal-card{background:var(--bg-2);border:1px solid var(--border);border-radius:14px;padding:22px 24px;width:100%;max-width:520px;box-shadow:0 12px 40px #1c1b1833;display:flex;flex-direction:column;gap:14px}.modal-card h2{margin:0;font-size:17px;font-weight:700;color:var(--fg);letter-spacing:-.01em}.modal-body{display:flex;flex-direction:column;gap:12px}.modal-body label{display:flex;flex-direction:column;gap:6px;font:600 10.5px var(--mono);color:var(--faint);text-transform:uppercase;letter-spacing:.07em}.modal-body select,.modal-body input,.modal-body textarea{font:13px var(--sans);text-transform:none;letter-spacing:0;color:var(--fg);font-weight:400}.modal-body textarea{resize:vertical;min-height:110px;font-family:inherit;line-height:1.5}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:4px}.data-table{width:100%;border-collapse:collapse;font:13px var(--sans)}.data-table th,.data-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:middle}.data-table th{font:600 11px var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--faint)}.data-table td.actions{display:flex;gap:6px;justify-content:flex-end}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font:600 10.5px var(--mono);text-transform:uppercase;letter-spacing:.06em}.badge-org{background:#e7eef7;color:#2a517d}.badge-user{background:#f1ecde;color:#6b5826}.radio-row{display:flex;gap:18px;align-items:center}.radio-row label{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:6px;text-transform:none!important;letter-spacing:0!important;font:13px var(--sans)!important;color:var(--fg)!important}.header-rows{display:flex;flex-direction:column;gap:6px}.header-row{display:grid;grid-template-columns:1fr 1fr auto;gap:6px;align-items:center}.mcp-test-row{display:flex;align-items:center;gap:10px;margin-top:6px;flex-wrap:wrap}.stage-dots,.stage-dot-wrap{display:flex;align-items:center}.stage-dot{width:10px;height:10px;border-radius:50%;background:#d6d2c8;flex-shrink:0;box-sizing:border-box}.stage-dot-line{width:13px;height:2px;background:#e2dfd6;flex-shrink:0}.stage-dot-line.is-done,.stage-dot--done{background:var(--good)}.stage-dot--pending{background:#d6d2c8}.stage-dot--failed{background:var(--danger)}.stage-dot--active,.stage-dot--awaiting{background:var(--warn);animation:dotPulse 1.4s ease-in-out infinite}.stage-dot-container{position:relative;display:inline-flex;align-items:center}.stage-dot-retry-badge{position:absolute;top:-7px;left:100%;margin-left:-4px;font:700 8.5px var(--mono);color:#fff;background:var(--danger);border:1px solid var(--bg-2);border-radius:6px;padding:0 3px;line-height:1.25;letter-spacing:-.02em;pointer-events:none}@keyframes dotPulse{0%,to{box-shadow:0 0 #bd7d108c}50%{box-shadow:0 0 0 5px #bd7d1000}}.rail-retry{width:100%;margin-top:10px;display:inline-flex;align-items:center;justify-content:center;gap:8px}.rail-retry svg{width:15px;height:15px}.btn-icon svg{display:block}.label-hint{font-weight:400;text-transform:none;letter-spacing:0;color:var(--faint)}:root{--chat-sidebar-width: 260px;--chat-thread-max: 760px}.chat-shell{position:relative}.chat-sidebar{position:fixed;top:var(--header-height);bottom:0;left:0;width:var(--chat-sidebar-width);display:flex;flex-direction:column;gap:12px;background:#fbfaf7;border-right:1px solid var(--border);padding:14px 12px;overflow-y:auto;z-index:10}.chat-new{align-self:stretch}.chat-list{list-style:none;margin:0;padding:0;flex:1;display:flex;flex-direction:column;gap:2px}.chat-list-item{display:flex;align-items:center;gap:6px;padding:8px 10px;border-radius:8px;cursor:pointer;color:#44413b;font-size:14px;transition:background .12s}.chat-list-item:hover{background:#ad7a4112}.chat-list-item.is-active{background:#ad7a411f;color:#7a531f;font-weight:600}.chat-list-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-list-delete{background:transparent;border:none;color:var(--faint);font-size:12px;padding:2px 4px;border-radius:5px;cursor:pointer;opacity:0;transition:opacity .1s ease,background .1s ease,color .1s ease}.chat-list-item:hover .chat-list-delete{opacity:.65}.chat-list-delete:hover{background:#c0392b1a;color:var(--danger);opacity:1!important}.chat-list-empty{padding:12px 8px}.chat-sidebar-footer{font:500 10.5px var(--mono);color:var(--faint);letter-spacing:.06em;padding:6px 10px;border-top:1px solid #ece9e2}.chat-thread{margin-left:var(--chat-sidebar-width);padding-bottom:180px;display:flex;flex-direction:column;background:var(--bg);min-height:calc(100vh - var(--header-height))}.chat-thread-head{position:sticky;top:var(--header-height);background:#fffefb;padding:0 24px;height:54px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:16px;z-index:4}.chat-thread-head-left{display:flex;align-items:center;gap:10px;min-width:0}.chat-thread-title{font-weight:700;font-size:15px;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-working-pill{display:inline-flex;align-items:center;gap:6px;font:500 11px var(--mono);color:var(--info)}.chat-working-dot{width:7px;height:7px;border-radius:50%;background:var(--info);animation:livePulse 1.4s ease-in-out infinite}.chat-stop{background:#fffefb}.chat-stop:hover{border-color:var(--danger);color:var(--danger)}.chat-empty{padding:64px 48px;text-align:center}.chat-messages{padding:26px 24px}.chat-messages-inner{width:100%;max-width:var(--chat-thread-max);margin:0 auto;display:flex;flex-direction:column;gap:18px;min-width:0}.chat-msg{display:flex;flex-direction:column}.chat-msg-user{align-self:flex-end;align-items:flex-end;max-width:78%}.chat-msg-assistant{align-self:flex-start;align-items:stretch;width:100%}.chat-msg-system,.chat-msg-tool{align-self:stretch;width:100%}.chat-msg-label{font:600 9.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin:0 4px 5px}.chat-msg-user .chat-msg-label{text-align:right}.chat-bubble{padding:11px 15px;border-radius:14px;background:#fffefb;white-space:pre-wrap;word-wrap:break-word;line-height:1.55;user-select:text;-webkit-user-select:text;cursor:text}.chat-messages,.chat-msg,.chat-tool,.chat-tool-pre,.chat-reasoning{user-select:text;-webkit-user-select:text}.chat-msg-user .chat-bubble{background:var(--accent);color:#fff;border-radius:14px 14px 4px;box-shadow:0 1px 2px #1c1b181a}.chat-msg-assistant .chat-bubble{background:#fffefb;border:1px solid var(--border);border-radius:4px 14px 14px;box-shadow:0 1px 2px #1c1b1808;padding:12px 16px;line-height:1.6}.chat-msg-assistant>.chat-reasoning+.chat-bubble,.chat-msg-assistant>.chat-tool+.chat-bubble{margin-top:0}.chat-reasoning{margin-bottom:8px;background:#fffefb;border:1px solid #efe7d4;border-left:3px solid var(--warn);border-radius:8px;padding:8px 12px;cursor:pointer;font-size:12.5px}.chat-reasoning-head{display:flex;align-items:center;gap:8px;font:600 9.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#b08a2f}.chat-reasoning-caret{width:10px;text-align:center}.chat-reasoning-body{color:#8a7a52;font-style:italic;font-size:12.5px;line-height:1.6;margin-top:6px;white-space:pre-wrap}.chat-tool{margin-bottom:8px;border:1px solid var(--border);border-left:3px solid #cdc8bd;border-radius:8px;background:#faf9f5;overflow:hidden;font-size:13px}.chat-tool.is-pending{border-left-color:var(--info)}.chat-tool.is-error{border-left-color:var(--danger)}.chat-tool-head{display:flex;align-items:center;gap:9px;padding:8px 11px;cursor:pointer}.chat-tool-glyph{color:var(--accent-2);font-weight:700;width:13px;text-align:center;flex-shrink:0}.chat-tool-name{font:600 12px var(--mono);color:var(--accent-2);flex-shrink:0}.chat-tool-summary{font:500 11.5px var(--mono);color:var(--faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 auto;min-width:0}.chat-tool-status{margin-left:auto;font:500 11px var(--mono);color:var(--good-text);flex-shrink:0}.chat-tool-status.is-pending{color:var(--info)}.chat-tool-status.is-error{color:var(--danger)}.chat-tool-toggle{color:var(--faint);flex-shrink:0}.chat-tool-body{border-top:1px solid var(--border);padding:9px 12px;display:flex;flex-direction:column;gap:8px}.chat-tool-section-label{font:600 9px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin-bottom:3px}.chat-tool-pre{margin:0;max-height:240px;overflow:auto;background:#fff;border:1px solid var(--border);border-radius:6px;padding:8px 10px;font:11.5px/1.5 var(--mono);color:var(--muted);white-space:pre-wrap;word-wrap:break-word}.chat-tool-pre.is-error{color:var(--danger);border-color:#c0392b4d}.chat-thinking{align-self:flex-start;display:flex;align-items:center;gap:10px;padding:10px 14px;background:#fffefb;border:1px solid var(--border);border-left:3px solid var(--info);border-radius:9px;font:500 12.5px var(--mono);color:var(--muted)}.chat-thinking-dot{width:8px;height:8px;border-radius:50%;background:var(--info);animation:livePulse 1.4s ease-in-out infinite;flex-shrink:0}.chat-thinking-elapsed{color:var(--faint);font-variant-numeric:tabular-nums}.chat-error{max-width:var(--chat-thread-max);margin:0 auto 8px;padding:0 24px}.chat-composer{position:fixed;left:var(--chat-sidebar-width);right:0;bottom:0;border-top:1px solid var(--border);padding:14px 24px;background:#fbfaf7;z-index:5;box-shadow:0 -2px 12px #1c1b180a}.chat-composer-inner{max-width:var(--chat-thread-max);margin:0 auto;display:flex;gap:10px;align-items:flex-end}.chat-composer textarea{flex:1;resize:none;height:52px;min-height:52px;border:1px solid #e0ddd4;border-radius:11px;padding:14px;font:14px/1.5 var(--sans);background:#fff;color:var(--fg)}.chat-composer textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #ad7a4126}.chat-composer textarea::placeholder{color:var(--faint)}.chat-send{flex-shrink:0;height:52px;padding:0 26px;border-radius:11px;font:700 13.5px var(--sans)}@media (max-width: 1024px){.page{padding:28px 20px 56px}.runner-launch{padding:32px 20px 24px}}@media (max-width: 960px){.app-header{gap:16px;padding:0 14px}.brand-tag{display:none}.nav-tabs{flex:1;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.nav-tabs::-webkit-scrollbar{display:none}.nav-tab{padding:0 10px;font-size:13px}.rail{position:static;width:auto;border-right:none;border-bottom:1px solid var(--border);padding:16px 18px;overflow-y:visible}.transcript-pane{margin-left:0;padding-bottom:0}.composer{position:static;left:auto;right:auto;bottom:auto}.scroll-to-bottom{position:fixed;bottom:18px;right:18px}.chat-sidebar{position:static;width:auto;border-right:none;border-bottom:1px solid var(--border);overflow-y:visible}.chat-thread{margin-left:0;padding-bottom:0;min-height:0}.chat-thread-head{position:static;top:auto}.chat-composer{position:static;left:auto;right:auto;bottom:auto}.stat-tiles{grid-template-columns:repeat(2,1fr)}.tasks-table-header,.tasks-table-row{grid-template-columns:80px 130px 110px 1fr 90px;gap:12px;padding:12px 14px}.tasks-table-header span:nth-child(4),.tasks-table-row>span:nth-child(4),.tasks-table-header span:nth-child(6),.tasks-table-row>span:nth-child(6){display:none}.workflow-list li{flex-wrap:wrap;gap:14px}.wf-info{min-width:0;flex-basis:100%}.wf-chips{flex-basis:100%}.workflow-list .actions{margin-left:auto}}@media (max-width: 720px){body{font-size:13.5px}.page{padding:20px 14px 48px}.page-heading{flex-direction:column;align-items:stretch;gap:12px;margin-bottom:18px}.page-heading h1{font-size:22px}.page-heading-actions{flex-wrap:wrap}.stat-tiles{grid-template-columns:1fr;gap:10px;margin-bottom:18px}.stat-tile{padding:14px 16px}.stat-tile .value{font-size:26px}.tasks-table-header{display:none}.tasks-table-row{display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:12px 14px}.tasks-table-row>span{width:100%}.task-input-cell{white-space:normal}.row-actions{justify-content:flex-end}.workflow-list li{flex-direction:column;align-items:stretch;padding:14px 16px}.workflow-list .actions{margin-left:0;flex-wrap:wrap}.workflow-list .actions .btn{flex:1;min-width:0}.runner-launch{padding:24px 14px 20px;gap:12px}.launch-header h1{font-size:21px}.launch-textarea{font-size:14px;padding:14px 16px}.launch-actions{flex-direction:column;align-items:stretch;gap:10px}.launch-hint{text-align:center}.launch-submit{margin-left:0;width:100%}.rail{max-height:38vh}.transcript,.composer{padding:12px 14px}.composer-actions{flex-wrap:wrap}.composer-actions .btn{flex:1}.stage-card-header{flex-wrap:wrap;gap:8px}.stage-name{flex-basis:100%;order:3}.stage-card-header>select{order:2}.stage-card-header .actions{order:4;margin-left:auto}.editor-header{flex-direction:column;align-items:stretch;gap:10px}.editor-header .actions{flex-wrap:wrap}.editor-header .actions .btn{flex:1}.title-input{font-size:20px}.failure-policy-grid,.tools-grid{grid-template-columns:1fr}.data-table thead{display:none}.data-table,.data-table tbody,.data-table tr,.data-table td{display:block;width:100%}.data-table tr{border:1px solid var(--border);border-radius:12px;padding:10px 12px;margin-bottom:10px;background:var(--bg-2)}.data-table td{border:none;padding:4px 0}.data-table td.actions{justify-content:flex-start}.header-row{grid-template-columns:1fr;gap:4px}.modal-backdrop{padding:12px}.modal-card{padding:18px}.chat-msg-user{max-width:100%}.chat-bubble{padding:9px 12px}.chat-thread-head{padding:0 14px;height:48px}.chat-messages{padding:18px 14px}.chat-composer{padding:12px 14px}}@media (max-width: 420px){.brand span:not(.brand-tag){display:none}.header-actions{gap:6px}}
