:root{--bg:#f6f5f1;--panel:#fff;--surface-2:#f0efe9;--surface-hover:#f4f2ec;--surface-skipped:#faf9f5;--ink:#1d1d1b;--ink-soft:#2f2f2c;--ink-meta:#363532;--ink-chip:#33322f;--muted:#6b6a66;--muted-strong:#5c5b57;--muted-disabled:#8a8985;--on-dark:#fff;--line:#dedcd5;--accent:#1f5f8b;--accent-rgb:31, 95, 139;--accent-ink:var(--on-dark);--accent-soft:#e4f0f9;--accent-surface:#f3f8fc;--accent-surface-hover:#eef5fb;--accent-deep:#143d5a;--link-muted:#4a5d6e;--focus:#005fcc;--agent:#b4650f;--agent-rgb:180, 101, 15;--agent-soft:#fff1df;--agent-deep:#6b3b05;--danger:#a12f2f;--danger-text:#8f2a2a;--danger-soft:#fbe6e6;--danger-chip:#f3ebe8;--danger-surface:#fff7f7;--danger-surface-hover:#fff1f1;--ok:#2b7a3b;--ok-soft:#e7f5ea;--pill-check:#3a7a4d;--pill-condition:#3b6e93;--chip:#ebe9e2;--chip-hover:#dcd9cf;--chip-disabled:#f0eee8;--shadow:#0000002e;--radius:8px;--radius-sm:6px;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--measure:70ch}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);margin:0;font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:var(--accent)}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;border:1px solid var(--line);background:var(--panel);border-radius:var(--radius-sm);padding:6px 12px}button:hover{border-color:var(--ink)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}button.primary:hover{filter:brightness(1.08)}button.danger{color:var(--danger)}button.small{padding:3px 8px;font-size:13px}button.link{color:var(--accent);background:0 0;border:none;padding:0;text-decoration:underline}input[type=text],textarea,select{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);width:100%;padding:7px 9px}textarea{resize:vertical;min-height:72px}label{color:var(--muted);margin-bottom:var(--s1);font-size:13px;display:block}.field{margin-bottom:10px}code{font-family:var(--mono);background:var(--surface-2);border-radius:3px;padding:1px 4px;font-size:13px}pre{font-family:var(--mono);background:var(--surface-2);border-radius:var(--radius-sm);white-space:pre-wrap;word-break:break-word;margin:0;padding:10px;font-size:12.5px;overflow:auto}.app{max-width:1240px;margin:0 auto;padding:20px 20px 60px}.topbar{justify-content:space-between;align-items:center;gap:var(--s4);padding-bottom:var(--s4);border-bottom:1px solid var(--line);flex-wrap:wrap;margin-bottom:20px;display:flex}.brand{align-items:baseline;gap:10px;display:flex}.brand h1{margin:0;font-size:20px}.brand span{color:var(--muted);font-size:13px}.topbar-actions{gap:var(--s2);flex-wrap:wrap;align-items:center;display:flex}.status-pill{border:1px solid var(--line);color:var(--muted);background:var(--panel);border-radius:999px;padding:3px 9px;font-size:12px}.status-pill.on{border-color:var(--ok);color:var(--ok);background:var(--ok-soft)}.layout{gap:var(--s6);grid-template-columns:minmax(0,1fr) 380px;display:grid}@media (max-width:960px){.layout{grid-template-columns:1fr}}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:var(--s5)}.panel h2{margin:0 0 var(--s3);font-size:16px}.panel+.panel{margin-top:var(--s6)}.muted{color:var(--muted)}.small-text{font-size:13px}.runbook-head{margin-bottom:var(--s6)}.runbook-head h2{margin:0 0 var(--s2);font-size:22px}.runbook-head p{color:var(--muted);max-width:var(--measure);margin:0}.runbook-head .explainer{margin-top:var(--s3);color:var(--muted-strong);font-size:13.5px}.runbook-head .edit-row{gap:var(--s2);align-items:center;margin-top:6px;display:flex}.runbook-head .toolbar{margin-bottom:var(--s6)}.steps{gap:var(--s5);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.step{gap:var(--s3);border-radius:var(--radius);background:var(--panel);border:1px solid #0000;grid-template-columns:40px minmax(0,1fr);padding:20px 20px 10px;transition:background-color .18s,border-color .18s,box-shadow .18s;display:grid;position:relative}.step-num{flex-direction:column;align-items:flex-start;gap:6px;padding-top:3px;display:flex}.step-num .num{font:600 14px/1.4 var(--mono);color:var(--muted)}.step.current .step-num .num{color:var(--accent)}.step.done .step-num .num{color:var(--ok)}.state-mark{color:var(--ok);display:inline-flex}.icon{display:block}.step-body{max-width:var(--measure)}.step-body h3{margin:0 0 var(--s2);font-size:16px}.step-body p{white-space:pre-wrap;margin:0}.step-body p.instruction{color:var(--ink-soft)}.step-meta{margin-top:var(--s3);color:var(--ink-meta);flex-direction:column;gap:6px;font-size:14px;display:flex}.meta-line{gap:var(--s2);align-items:baseline;display:flex}.meta-line .tag{flex:none}.meta-line .kw{color:var(--muted);font-style:italic}.meta-line strong{color:var(--ink);font-weight:600}.tag{margin-right:var(--s2);letter-spacing:.08em;text-transform:uppercase;min-width:100px;color:var(--on-dark);border:none;border-radius:999px;justify-content:flex-start;align-items:center;gap:5px;padding:2px 9px;font-size:11px;font-weight:700;line-height:1.5;display:inline-flex}.tag .glyph{flex:none;width:11px;height:11px}.tag.check{background:var(--pill-check)}.tag.branch{background:var(--pill-condition)}.tag.agent{background:var(--agent-soft);color:var(--agent);padding:1px 6px}.tag.blocker{background:var(--danger)}.step-actions{gap:var(--s2);margin-top:var(--s2);opacity:0;pointer-events:none;flex-wrap:wrap;min-height:30px;transition:opacity .2s;display:flex}.step:hover .step-actions,.step:focus-within .step-actions,.step.editing .step-actions,.step.current .step-actions{opacity:1;pointer-events:auto}@media (hover:none){.step-actions{opacity:1;pointer-events:auto}}.step-actions .push-right{margin-left:auto}.step-actions button{min-height:32px;color:var(--ink-chip);background:var(--chip);border-radius:var(--radius-sm);border:1px solid #0000;padding:5px 12px;font-size:13.5px;transition:background-color .15s,color .15s}.step-actions button:hover,.step-actions button:focus-visible{background:var(--chip-hover);color:var(--ink);border-color:#0000}.step-actions button.danger{color:var(--danger-text);background:var(--danger-chip)}.step-actions button.danger:hover,.step-actions button.danger:focus-visible{color:var(--on-dark);background:var(--danger)}.step-actions button:disabled{color:var(--muted-disabled);background:var(--chip-disabled)}.icon-button{justify-content:center;align-items:center;min-width:36px;padding:5px 8px;display:inline-flex}.step:hover,.step:focus-within{background:var(--surface-hover);border-color:var(--accent)}.step.current:hover,.step.current:focus-within{background:var(--accent-surface-hover);border-color:var(--accent)}.step.blocked:hover,.step.blocked:focus-within{background:var(--danger-surface-hover);border-color:var(--danger)}.step.done:hover,.step.done:focus-within{border-left-color:var(--ok)}.step.skipped:hover,.step.skipped:focus-within{background:var(--surface-hover)}.step.current{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:var(--accent-surface)}.step.done{border-left-color:var(--ok)}.step.done .step-body{opacity:.72}.step.skipped{border-left-color:var(--line);background:var(--surface-skipped)}.step.skipped .step-body{opacity:.55}.step.blocked{border-color:var(--danger);background:var(--danger-surface)}.step.flash-agent{background:var(--agent-soft);border-color:var(--agent);box-shadow:0 0 0 4px rgba(var(--agent-rgb), .28);animation:2.6s ease-out flash-agent}.step.flash-person{background:var(--accent-soft);border-color:var(--accent);box-shadow:0 0 0 4px rgba(var(--accent-rgb), .22);animation:2.6s ease-out flash-person}@keyframes flash-agent{0%{box-shadow:0 0 0 0 rgba(var(--agent-rgb), .9)}35%{box-shadow:0 0 0 10px rgba(var(--agent-rgb), .25)}to{box-shadow:0 0 0 4px rgba(var(--agent-rgb), .28)}}@keyframes flash-person{0%{box-shadow:0 0 0 0 rgba(var(--accent-rgb), .9)}35%{box-shadow:0 0 0 10px rgba(var(--accent-rgb), .2)}to{box-shadow:0 0 0 4px rgba(var(--accent-rgb), .22)}}.change-badge{letter-spacing:.01em;color:var(--on-dark);background:var(--agent);box-shadow:0 2px 6px var(--shadow);border-radius:999px;padding:3px 12px;font-size:13px;font-weight:700;position:absolute;top:-12px;right:14px}.change-badge.person{background:var(--accent)}.change-strip{margin:0 0 var(--s4);border-radius:var(--radius-sm);border-left:5px solid var(--agent);background:var(--agent-soft);color:var(--agent-deep);padding:8px 12px;font-size:14px;font-weight:600}.change-strip.person{border-left-color:var(--accent);background:var(--accent-soft);color:var(--accent-deep)}.runbook.pulse{border-radius:var(--radius);animation:2s ease-out pulse}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(var(--agent-rgb), .45)}to{box-shadow:0 0 0 14px rgba(var(--agent-rgb), 0)}}.step-edit{gap:var(--s2);flex-direction:column;display:flex}.step-edit .buttons{gap:var(--s2);display:flex}.add-step{margin-top:var(--s6)}.empty{text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:var(--radius);padding:20px}.inline-form{gap:var(--s2);border:1px dashed var(--line);border-radius:var(--radius-sm);flex-direction:column;margin-top:6px;padding:10px;display:flex}.inline-form .row{gap:var(--s2);align-items:center;display:flex}.inline-form .row>*{flex:1}.inline-form .row>button{flex:none}.sidebar{top:var(--s4);align-self:start;max-height:calc(100vh - 32px);position:sticky;overflow:auto}.harness-head p{margin:0 0 var(--s3)}.harness-form{border-top:1px solid var(--line);padding-top:var(--s3);margin-top:var(--s1)}.tool-description{margin:0 0 var(--s1);font-size:14px}.tool-annotations{margin:0 0 var(--s3)}.hint{margin:var(--s1) 0 0;color:var(--muted);font-size:12.5px}.checkbox-field{gap:var(--s2);align-items:flex-start;display:flex}.checkbox-field input{margin-top:5px}.checkbox-field label{color:var(--ink);margin:0}.buttons{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.error-text{color:var(--danger);font-size:13px}.harness-log{margin-top:var(--s4);border-top:1px solid var(--line);padding-top:var(--s3)}.log-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.log-entry{border-left:3px solid var(--ok);padding-left:10px}.log-entry.failed{border-left-color:var(--danger)}.log-head{justify-content:space-between;gap:var(--s2);margin-bottom:var(--s1);align-items:baseline;display:flex}.log-entry details{margin-bottom:var(--s1)}.log-entry summary{cursor:pointer;color:var(--muted);font-size:12.5px}.log-result{max-height:260px}.panel-head{justify-content:space-between;align-items:center;gap:var(--s2);flex-wrap:wrap;margin-bottom:10px;display:flex}.panel-head h2{margin:0}.eyebrow{text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin:0 0 2px;font-size:12px;font-weight:600}.current-step{border:1px solid var(--accent);border-radius:var(--radius);background:var(--accent-soft);padding:12px 14px}.current-step h3{margin:0 0 6px;font-size:17px}.current-step p{margin:0 0 var(--s2)}.check-line{font-size:13.5px}.run-actions{gap:var(--s2);margin-top:var(--s3);flex-direction:column;display:flex}.run-actions button{width:100%;min-height:44px;font-size:15px}.run-actions button.primary{font-size:16px;font-weight:600}.run-actions button.blocker-button{border-color:var(--danger);color:var(--danger);background:var(--panel);font-weight:600}.run-actions button.blocker-button:hover,.run-actions button.blocker-button:focus-visible{background:var(--danger-soft)}.run-actions .link{width:auto;margin-top:var(--s1);align-self:flex-start;font-size:13px}.run-summary{margin:0 0 var(--s3);background:var(--surface-2);border-radius:var(--radius-sm);padding:10px 12px;font-size:14px}.run-summary p{margin:0 0 6px}.run-log{margin:6px 0 0;padding-left:18px;font-size:12.5px}.blockers{margin-top:var(--s4);border-top:1px solid var(--line);padding-top:var(--s3)}.blockers h3{margin:0 0 var(--s1);color:var(--danger);font-size:15px}.blocker-list{margin:var(--s2) 0 0;flex-direction:column;gap:10px;padding:0;list-style:none;display:flex}.blocker-item{border-left:3px solid var(--danger);padding-left:10px}.blocker-item p{margin:0 0 6px;font-size:14px}.blocker-note{color:var(--ink)}:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.skip-link{left:var(--s2);z-index:50;background:var(--ink);color:var(--on-dark);border-radius:var(--radius-sm);padding:8px 12px;text-decoration:none;position:absolute;top:-60px}.skip-link:focus{top:var(--s2)}.credit{margin-top:var(--s7);padding-top:var(--s2);color:var(--muted-strong);font-size:13px}.credit p{margin:0}.credit a{color:var(--link-muted);text-underline-offset:2px;text-decoration:underline}.credit a:hover{color:var(--accent)}.model-input{margin-bottom:var(--s4);padding-bottom:var(--s4);border-bottom:1px solid var(--line)}.model-input .row{gap:var(--s2);align-items:center;display:flex}.model-input .row input{flex:1}.model-input .row button{flex:none}.model-input .hint{margin-top:6px}
