Files
orchestra/internal/webui/assets/assets/index-DpzNF360.css
T
kami 7f12c7fc37 v3 workflow: intent, phases, review, submission, enforcement, burn-in
The v3 stack, previously an uncommitted working tree, plus this session's two
units and the burn-in instrument. This commit is the burn-in build identity:
coordinator and worker must both report this revision before a task is created.

Workflow (earlier sessions, uncommitted until now): human decision events and
reduction, source cursors and reconcile-before-launch, turn-boundary
reconciliation, internal/agentctx as the single renderer, ace-fca phases with
sealed artifacts, the trajectory gate, bounded grilling, independent review,
task pr enforcement, and human review reflection.

Capability restrictions at the agent boundary: an authz.Agent surface at
GatedWrite may ask and may not act. It also fixes two bugs the unit exposed --
gated surfaces could not reach the two endpoints written for them, and
RequestHumanDecision would block an unowned task while rejecting a question
from the session that did own it.

Turn-boundary reconcile-failure escalation: a streak of consecutive failures
asks the session to hand off, fenced on the lease epoch, with reconcile_failure
as a real handoff reason. The worker was dropping the coordinator's verdict on
the floor; it now acts on it.

Burn-in: herdr.WriteLaunchContext dumps the exact agentctx.Build result to
<worktree>/.orchestra/launch.md at every launch, local and federated. BURNIN.md
is the runbook. deploy/build.sh stamps both binaries from one commit.

go build, go vet and go test ./... pass, 20 packages.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-26 18:31:20 +04:00

2 lines
41 KiB
CSS

:root{color-scheme:dark;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#eef2f0;background:#0b0f12;font-synthesis:none;--bg: #0b0f12;--sidebar: #0d1215;--surface-1: #11171b;--surface-2: #151d21;--surface-3: #1a2429;--surface-hover: #1e2a2f;--line: rgba(221, 236, 231, .09);--line-strong: rgba(221, 236, 231, .15);--text: #eef2f0;--text-soft: #a9b4b1;--text-muted: #6f7c79;--accent: #8ee0b2;--accent-strong: #b4f0cf;--accent-wash: rgba(86, 200, 139, .12);--accent-line: rgba(86, 200, 139, .3);--blue: #88bdec;--blue-wash: rgba(96, 164, 224, .12);--amber: #efbd72;--amber-wash: rgba(229, 164, 76, .12);--red: #ec8f85;--red-wash: rgba(226, 105, 92, .12);--mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;--radius-sm: 8px;--radius: 12px;--radius-lg: 18px;--shadow: 0 20px 65px rgba(0, 0, 0, .42);--ease: cubic-bezier(.2, 0, 0, 1)}*{box-sizing:border-box}html{min-width:320px;min-height:100%;background:var(--bg)}body{min-width:320px;min-height:100vh;margin:0;background:radial-gradient(circle at 82% -10%,rgba(73,129,109,.09),transparent 31rem),var(--bg)}body.modal-open{overflow:hidden}button,input,textarea,select,summary{font:inherit}button,.button-link{display:inline-flex;min-height:38px;align-items:center;justify-content:center;gap:8px;padding:8px 13px;border:1px solid var(--accent-line);border-radius:var(--radius-sm);color:#092016;background:var(--accent);font-size:12px;font-weight:700;text-decoration:none;cursor:pointer;transition:transform .14s var(--ease),background .14s var(--ease),border-color .14s var(--ease),color .14s var(--ease)}button:hover:not(:disabled),.button-link:hover{border-color:var(--accent-strong);background:var(--accent-strong);transform:translateY(-1px)}button:active:not(:disabled),.button-link:active{transform:translateY(0)}button:disabled{opacity:.42;cursor:not-allowed}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}a{color:inherit}input,textarea,select{width:100%;border:1px solid var(--line-strong);border-radius:var(--radius-sm);outline:0;color:var(--text);background:#0d1316;transition:border-color .14s var(--ease),box-shadow .14s var(--ease),background .14s var(--ease)}input,select{min-height:42px;padding:9px 11px}textarea{min-height:116px;padding:11px;line-height:1.55;resize:vertical}input:hover,textarea:hover,select:hover{border-color:#ddece73b}input:focus,textarea:focus,select:focus{border-color:var(--accent-line);background:#0f1619;box-shadow:0 0 0 3px #56c88b14}input::placeholder,textarea::placeholder{color:#53615e}select{color:var(--text-soft);cursor:pointer}kbd,.mono,.task-id,.task-short-id,pre,code,time{font-family:var(--mono);font-feature-settings:"tnum" 1,"zero" 1}.icon{display:block;flex:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{min-height:100vh;padding-left:224px}.sidebar{position:fixed;inset:0 auto 0 0;z-index:20;display:flex;width:224px;flex-direction:column;padding:0 14px 15px;border-right:1px solid var(--line);background:#0d1215f7;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand{display:flex;height:64px;align-items:center;gap:11px;margin:0 -14px;padding:0 18px;border-bottom:1px solid var(--line);text-decoration:none}.logo-symbol{position:relative;display:block;width:25px;height:25px;flex:none}.logo-symbol i{position:absolute;display:block;width:7px;height:7px;border:2px solid var(--accent);border-radius:50%;box-shadow:0 0 13px #8ee0b233}.logo-symbol i:nth-child(1){top:0;left:0}.logo-symbol i:nth-child(2){right:0;top:9px}.logo-symbol i:nth-child(3){bottom:0;left:0}.logo-symbol:before,.logo-symbol:after{position:absolute;left:6px;width:14px;height:1px;transform-origin:left center;background:var(--accent);content:""}.logo-symbol:before{top:6px;transform:rotate(30deg)}.logo-symbol:after{bottom:6px;transform:rotate(-30deg)}.brand>span:last-child,.login-brand>span:last-child{display:grid;gap:1px}.brand b,.login-brand b{color:var(--text);font-size:14px;letter-spacing:-.02em}.brand small,.login-brand small{color:var(--text-muted);font:9px var(--mono);letter-spacing:.13em;text-transform:uppercase}.primary-nav{display:grid;gap:5px;margin-top:24px}.nav-heading,.menu-label{margin:0 10px 8px;color:var(--text-muted);font-size:9px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.primary-nav a{position:relative;display:grid;min-height:42px;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 10px;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-muted);font-size:12px;font-weight:600;text-decoration:none;transition:color .14s var(--ease),background .14s var(--ease),border-color .14s var(--ease)}.primary-nav a:hover{color:var(--text-soft);background:var(--surface-2)}.primary-nav a.active{border-color:var(--accent-line);color:var(--accent-strong);background:var(--accent-wash)}.primary-nav a.active:before{position:absolute;left:-15px;width:3px;height:22px;border-radius:0 4px 4px 0;background:var(--accent);content:""}.nav-count{min-width:24px;padding:2px 5px;border-radius:999px;color:var(--text-muted);background:var(--surface-3);font:9px var(--mono);text-align:center}.nav-count.attention{color:var(--amber);background:var(--amber-wash)}.sidebar-status{display:flex;align-items:flex-start;gap:10px;margin-top:auto;padding:12px 10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-1)}.sidebar-status>span:last-child{display:grid;min-width:0;gap:3px}.sidebar-status b{color:var(--text-soft);font-size:10px}.sidebar-status small{color:var(--text-muted);font-size:9px}.signal{display:inline-block;width:7px;height:7px;flex:none;margin-top:3px;border-radius:50%;background:var(--red);box-shadow:0 0 0 4px var(--red-wash)}.signal.online{background:var(--accent);box-shadow:0 0 0 4px var(--accent-wash)}.sidebar-foot{padding:13px 9px 0;color:#4e5a57;font:8px var(--mono);letter-spacing:.1em}.topbar{position:fixed;inset:0 0 auto 224px;z-index:18;display:flex;height:64px;align-items:center;gap:14px;padding:0 28px;border-bottom:1px solid var(--line);background:#0b0f12e0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.topbar-context{display:flex;min-width:0;align-items:center;gap:6px;color:var(--text-muted);font-size:11px}.topbar-context b{overflow:hidden;color:var(--text-soft);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.command-trigger,.account-trigger,.button-secondary,.icon-button{border-color:var(--line-strong);color:var(--text-soft);background:var(--surface-1)}.command-trigger:hover:not(:disabled),.account-trigger:hover:not(:disabled),.button-secondary:hover:not(:disabled),.icon-button:hover:not(:disabled){border-color:#ddece73d;color:var(--text);background:var(--surface-3)}.command-trigger{min-height:34px;margin-left:auto;padding:6px 8px 6px 10px;color:var(--text-muted);font-weight:500}.command-trigger kbd,.page-actions kbd{padding:3px 5px;border:1px solid var(--line-strong);border-radius:5px;color:var(--text-muted);background:#00000021;font-size:9px;font-weight:400}.account{position:relative}.account-trigger{min-height:34px;padding:3px 8px 3px 4px;font-weight:600}.avatar{display:grid;width:26px;height:26px;place-items:center;border:1px solid var(--accent-line);border-radius:7px;color:var(--accent-strong);background:var(--accent-wash);font:9px var(--mono)}.account-menu{position:absolute;top:calc(100% + 9px);right:0;display:grid;width:196px;gap:9px;padding:11px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface-2);box-shadow:var(--shadow)}.account-menu>span{padding:3px 4px;color:var(--text-muted);font-size:10px}.account-menu button{width:100%;min-height:33px;justify-content:flex-start;color:var(--text-soft);background:var(--surface-3)}.content{min-height:100vh;padding-top:64px}.page{width:min(1500px,100%);margin:0 auto;padding:38px 32px 68px}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:28px}.page-header h1,.task-header h1,.empty-state h1{margin:0;font-size:clamp(32px,4vw,48px);font-weight:650;line-height:1.02;letter-spacing:-.055em}.page-header>div>p{max-width:580px;margin:10px 0 0;color:var(--text-soft);font-size:14px;line-height:1.55}.eyebrow{display:block;margin-bottom:8px;color:var(--accent);font-size:9px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.page-actions{display:flex;align-items:center;gap:9px}.back-link{display:inline-flex;align-items:center;gap:5px;margin-bottom:24px;color:var(--text-muted);font-size:11px;font-weight:600;text-decoration:none}.back-link:hover{color:var(--accent-strong)}.section-header,.panel-header{display:flex;align-items:center;justify-content:space-between;gap:18px}.section-header{margin-bottom:13px}.section-header h2,.panel-header h2{margin:0;font-size:14px;letter-spacing:-.015em}.section-header p,.panel-header p{margin:4px 0 0;color:var(--text-muted);font-size:11px}.sync-label{display:inline-flex;align-items:center;gap:8px;color:var(--text-muted);font:9px var(--mono);text-transform:uppercase}.sync-label .signal{margin:0}.panel{padding:20px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,#151d21e6,#10171be6)}.panel-intro{margin:7px 0 0;color:var(--text-muted);font-size:11px;line-height:1.5}.empty-state{display:grid;min-height:300px;place-items:center;align-content:center;padding:38px;border:1px dashed var(--line-strong);border-radius:var(--radius-lg);text-align:center;background:#11171b73}.empty-state.compact{min-height:220px}.empty-state .empty-icon{display:grid;width:44px;height:44px;place-items:center;margin-bottom:14px;border:1px solid var(--accent-line);border-radius:13px;color:var(--accent);background:var(--accent-wash)}.empty-state h1,.empty-state h2{margin:0;font-size:20px;letter-spacing:-.03em}.empty-state p{max-width:390px;margin:8px 0 17px;color:var(--text-muted);font-size:12px;line-height:1.55}.error-state .empty-icon{border-color:#ec8f8540;color:var(--red);background:var(--red-wash)}.skeleton{min-height:180px;border-radius:var(--radius);background:linear-gradient(100deg,var(--surface-1) 30%,var(--surface-2) 50%,var(--surface-1) 70%);background-size:250% 100%;animation:shimmer 1.5s infinite}.skeleton-title{width:300px;min-height:44px;margin-top:10px}.skeleton-subtitle{width:420px;max-width:75%;min-height:18px;margin-top:13px}.skeleton-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:50px}@keyframes shimmer{to{background-position-x:-250%}}.attention-banner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;margin-bottom:15px;padding:13px 14px;border:1px solid rgba(239,189,114,.26);border-radius:var(--radius);background:var(--amber-wash)}.attention-icon{display:grid;width:35px;height:35px;place-items:center;border:1px solid rgba(239,189,114,.25);border-radius:10px;color:var(--amber);background:#efbd7214}.attention-banner b{font-size:12px}.attention-banner p{margin:3px 0 0;color:var(--text-soft);font-size:11px}.attention-banner>a{display:inline-flex;align-items:center;gap:3px;color:var(--amber);font-size:11px;font-weight:700;text-decoration:none}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:32px}.metric{display:grid;min-width:0;grid-template-columns:auto minmax(0,1fr);gap:10px;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:#11171bd1}.metric-icon{display:grid;width:34px;height:34px;grid-row:span 2;place-items:center;border:1px solid var(--line);border-radius:9px;color:var(--text-muted);background:var(--surface-2)}.metric-copy{display:flex;min-width:0;align-items:baseline;justify-content:space-between;gap:8px}.metric-copy small{overflow:hidden;color:var(--text-soft);font-size:10px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.metric-copy b{color:var(--text);font:600 19px var(--mono)}.metric-detail{overflow:hidden;color:var(--text-muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.metric.tone-good .metric-icon{border-color:var(--accent-line);color:var(--accent);background:var(--accent-wash)}.metric.tone-warning .metric-icon{border-color:#efbd7242;color:var(--amber);background:var(--amber-wash)}.board-toolbar{display:flex;align-items:center;gap:9px;margin-bottom:13px}.segmented{display:flex;gap:3px;margin-right:auto;padding:3px;border:1px solid var(--line);border-radius:10px;background:var(--surface-1)}.segmented button{min-height:31px;padding:5px 10px;border-color:transparent;color:var(--text-muted);background:transparent;font-size:10px;font-weight:650}.segmented button:hover:not(:disabled){border-color:transparent;color:var(--text-soft);background:var(--surface-3);transform:none}.segmented button.selected{border-color:var(--line-strong);color:var(--text);background:var(--surface-3);box-shadow:0 2px 7px #0000002e}.segmented button span{margin-left:5px;color:var(--text-muted);font:9px var(--mono)}.search-field{position:relative;display:flex;width:min(280px,28vw);align-items:center}.search-field>.icon{position:absolute;left:11px;z-index:1;color:var(--text-muted)}.search-field input{min-height:38px;padding:7px 34px;color:var(--text-soft);background:var(--surface-1);font-size:11px}.search-field button{position:absolute;right:5px;min-width:27px;min-height:27px;padding:0;border-color:transparent;color:var(--text-muted);background:transparent}.select-field{width:155px}.select-field select{min-height:38px;padding:7px 29px 7px 10px;background-color:var(--surface-1);font-size:11px}.task-board{display:grid;gap:10px;overflow-x:auto;padding-bottom:6px;scrollbar-color:var(--surface-3) transparent}.task-board.lanes-2{grid-template-columns:repeat(2,minmax(270px,1fr))}.task-board.lanes-3{grid-template-columns:repeat(3,minmax(255px,1fr))}.task-board.lanes-5{grid-template-columns:repeat(5,minmax(235px,1fr))}.task-lane{min-height:310px;padding:10px;border:1px solid var(--line);border-radius:var(--radius);background:#11171b9e}.task-lane>header{display:flex;height:29px;align-items:center;justify-content:space-between;padding:0 3px 9px}.task-lane>header>span{display:inline-flex;align-items:center;gap:7px;color:var(--text-soft);font-size:10px;font-weight:750;letter-spacing:.09em;text-transform:uppercase}.task-lane>header i,.status-pill i,.health-badge i{display:block;width:6px;height:6px;border-radius:50%;background:var(--text-muted)}.lane-queued>header i,.status-pill.state-queued i{background:var(--blue);box-shadow:0 0 0 3px var(--blue-wash)}.lane-leased>header i,.status-pill.state-leased i{background:var(--accent);box-shadow:0 0 0 3px var(--accent-wash)}.lane-blocked>header i,.status-pill.state-blocked i{background:var(--amber);box-shadow:0 0 0 3px var(--amber-wash)}.lane-completed>header i,.status-pill.state-completed i{background:#8fcfc5;box-shadow:0 0 0 3px #8fcfc51a}.lane-failed>header i,.status-pill.state-failed i{background:var(--red);box-shadow:0 0 0 3px var(--red-wash)}.task-lane>header b{display:grid;min-width:20px;height:20px;place-items:center;border:1px solid var(--line);border-radius:999px;color:var(--text-muted);background:var(--surface-2);font:9px var(--mono)}.lane-cards{display:grid;align-content:start;gap:8px}.empty-lane{margin:0;padding:30px 9px;color:#53615e;font-size:10px;text-align:center}.task-card{position:relative;display:block;min-width:0;padding:12px;border:1px solid var(--line);border-radius:10px;color:inherit;background:var(--surface-2);text-decoration:none;box-shadow:0 5px 18px #00000014;transition:border-color .15s var(--ease),background .15s var(--ease),transform .15s var(--ease),box-shadow .15s var(--ease)}.task-card:hover{z-index:1;border-color:#8ee0b24d;background:var(--surface-hover);box-shadow:0 9px 22px #0000002b;transform:translateY(-2px)}.task-card.state-blocked{border-color:#efbd722e}.task-card.state-failed{border-color:#ec8f852e}.task-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}.status-pill{display:inline-flex;min-height:22px;align-items:center;gap:6px;padding:3px 7px;border:1px solid var(--line);border-radius:999px;color:var(--text-muted);background:#0b0f1259;font-size:8px;font-weight:750;letter-spacing:.05em;text-transform:uppercase}.status-pill.state-leased,.status-pill.state-completed{color:var(--accent-strong)}.status-pill.state-blocked{color:var(--amber)}.status-pill.state-failed{color:var(--red)}.task-short-id{color:#5c6865;font-size:8px}.task-card h3{display:-webkit-box;overflow:hidden;margin:0 0 6px;font-size:13px;font-weight:650;line-height:1.4;letter-spacing:-.012em;-webkit-box-orient:vertical;-webkit-line-clamp:2}.task-card>p{display:-webkit-box;overflow:hidden;min-height:30px;margin:0 0 10px;color:var(--text-muted);font-size:11px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.approval-chip,.reason-chip{display:inline-flex;align-items:center;gap:5px;margin:0 0 9px;padding:4px 6px;border-radius:5px;color:var(--amber);background:var(--amber-wash);font-size:9px;font-weight:650}.reason-chip{color:var(--text-soft);background:var(--surface-3)}.capability-list,.fact-tags>div,.worker-projects>div{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:9px}.capability-list span,.fact-tags b,.worker-projects b{padding:3px 5px;border:1px solid var(--line);border-radius:5px;color:var(--text-muted);background:#0b0f1247;font:9px var(--mono);font-weight:500}.task-card footer{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:9px;padding-top:9px;border-top:1px solid var(--line);color:#66736f;font-size:9px}.task-card footer>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-card footer time{color:var(--text-muted);white-space:nowrap}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;padding:20px;background:#040708c7;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.modal-overlay{place-items:center}.modal{width:min(740px,100%);max-height:calc(100vh - 40px);overflow:auto;border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:#11181c;box-shadow:var(--shadow)}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px 23px 18px;border-bottom:1px solid var(--line)}.modal-header h2{margin:0;font-size:22px;letter-spacing:-.035em}.modal-header p{margin:6px 0 0;color:var(--text-muted);font-size:11px}.icon-button{width:34px;min-height:34px;padding:0}.eligibility{display:flex;align-items:flex-start;gap:10px;margin:16px 23px 0;padding:10px 11px;border:1px solid var(--accent-line);border-radius:var(--radius-sm);background:var(--accent-wash)}.eligibility>span:last-child{display:grid;gap:2px}.eligibility b{color:var(--accent-strong);font-size:11px}.eligibility small{color:var(--text-muted);font-size:10px}.eligibility.warning{border-color:#efbd7247;background:var(--amber-wash)}.eligibility.warning .signal{background:var(--amber);box-shadow:0 0 0 4px var(--amber-wash)}.eligibility.warning b{color:var(--amber)}.create-modal form{display:grid;gap:14px;padding:18px 23px 23px}.create-modal label{display:grid;gap:6px}.create-modal label>span{display:flex;justify-content:space-between;color:var(--text-soft);font-size:11px;font-weight:650}.create-modal label>span b{color:var(--text-muted);font-size:8px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.create-modal label>small{color:var(--text-muted);font-size:10px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.short-textarea{min-height:82px}.advanced-fields{border-top:1px solid var(--line);padding-top:4px}.advanced-fields summary{color:var(--text-soft);font-size:10px;font-weight:650;cursor:pointer}.advanced-fields p{margin:8px 0;color:var(--text-muted);font-size:10px}.advanced-fields textarea{min-height:80px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:3px}.form-error,.notice{display:flex;align-items:flex-start;gap:7px;margin:0;padding:9px 10px;border:1px solid rgba(236,143,133,.28);border-radius:var(--radius-sm);color:var(--red);background:var(--red-wash);font-size:11px;line-height:1.45}.notice{border-color:var(--accent-line);color:var(--accent-strong);background:var(--accent-wash)}.palette-overlay{place-items:start center;padding-top:12vh}.palette{width:min(590px,100%);overflow:hidden;border:1px solid var(--line-strong);border-radius:15px;background:#11181c;box-shadow:var(--shadow)}.palette-input{position:relative;display:flex;align-items:center;border-bottom:1px solid var(--line)}.palette-input .icon{position:absolute;left:17px;color:var(--text-muted)}.palette-input input{min-height:57px;padding:14px 17px 14px 48px;border:0;border-radius:0;background:transparent;font-size:14px}.palette-list{display:grid;gap:3px;padding:10px}.palette-list .menu-label{margin:3px 8px 5px}.palette-list button{width:100%;min-height:42px;justify-content:space-between;padding:8px 10px;border-color:transparent;color:var(--text-soft);background:transparent;font-weight:550}.palette-list button>span{display:flex;align-items:center;gap:9px}.palette-list button.selected,.palette-list button:hover:not(:disabled){border-color:var(--line);color:var(--text);background:var(--surface-3);transform:none}.palette-list kbd,.palette-footer kbd{color:var(--text-muted);font-size:9px}.palette-empty{padding:24px 8px;color:var(--text-muted);font-size:11px;text-align:center}.palette-footer{display:flex;gap:15px;padding:9px 17px;border-top:1px solid var(--line);color:var(--text-muted);font-size:8px}.task-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:20px}.task-heading-meta{display:flex;align-items:center;gap:8px;margin-bottom:11px;color:var(--text-muted);font-size:9px}.task-heading-meta>span:not(.status-pill)+span:before{margin-right:8px;color:#45514e;content:"/"}.task-header h1{max-width:850px;font-size:clamp(29px,4vw,44px)}.task-id{margin:9px 0 0;color:var(--text-muted);font-size:9px}.diagnosis{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.8fr);align-items:center;gap:24px;margin-bottom:14px;padding:18px;border:1px solid var(--accent-line);border-radius:var(--radius);background:linear-gradient(110deg,var(--accent-wash),rgba(17,23,27,.65))}.diagnosis.state-blocked,.diagnosis.state-failed{border-color:#efbd723b;background:linear-gradient(110deg,var(--amber-wash),rgba(17,23,27,.65))}.diagnosis-copy{display:flex;min-width:0;align-items:flex-start;gap:13px}.diagnosis-symbol{display:grid;width:38px;height:38px;flex:none;place-items:center;border:1px solid var(--accent-line);border-radius:10px;color:var(--accent);background:var(--accent-wash)}.diagnosis-symbol.state-blocked,.diagnosis-symbol.state-failed{border-color:#efbd7240;color:var(--amber);background:var(--amber-wash)}.diagnosis h2{margin:0;font-size:17px;letter-spacing:-.025em}.diagnosis-copy p{max-width:630px;margin:5px 0 0;color:var(--text-soft);font-size:10px;line-height:1.5}.diagnosis dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;overflow:hidden;border:1px solid var(--line);border-radius:9px;background:#090e104d}.diagnosis dl>div{min-width:0;padding:9px;border-right:1px solid var(--line)}.diagnosis dl>div:last-child{border:0}.diagnosis dt,.facts dt,.worker-stats dt{margin-bottom:5px;color:var(--text-muted);font-size:9px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.diagnosis dd{overflow:hidden;margin:0;color:var(--text-soft);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.approval-panel{display:grid;gap:12px;margin-bottom:14px;padding:18px;border:1px solid rgba(239,189,114,.3);border-radius:var(--radius);background:linear-gradient(135deg,#44301461,#151d21eb)}.approval-heading{display:flex;align-items:flex-start;gap:13px}.approval-heading h2{margin:0;font-size:18px}.approval-heading p{margin:5px 0 0;color:var(--text-soft);font-size:10px}.approval-meta{display:flex;flex-wrap:wrap;gap:6px}.approval-meta span{padding:4px 6px;border:1px solid var(--line);border-radius:5px;color:var(--text-muted);background:#0a0e104d;font:9px var(--mono)}.approval-meta b{color:var(--text-soft);font-weight:500}.approval-code,.artifact-content{margin:0;padding:14px;overflow:auto;border:1px solid var(--line-strong);border-radius:var(--radius-sm);color:#d4dcd9;background:#080c0e;font-size:11px;line-height:1.6;white-space:pre-wrap}.approval-note{margin:0;color:var(--text-soft);font-size:11px;line-height:1.5}.approval-actions{display:flex;gap:8px}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:14px;align-items:start}.detail-main,.detail-side{display:grid;gap:14px}.immutable-badge{padding:4px 6px;border:1px solid var(--line);border-radius:5px;color:var(--text-muted);font:9px var(--mono);letter-spacing:.05em;text-transform:uppercase}.task-description{margin:14px 0 0;color:#c1cac7;font-size:12px;line-height:1.7;white-space:pre-wrap}.acceptance-list,.quality-gate{margin-top:18px;padding-top:15px;border-top:1px solid var(--line)}.acceptance-list h3{margin:0 0 9px;color:var(--text-soft);font-size:11px}.acceptance-list ul{display:grid;gap:7px;margin:0;padding:0;list-style:none}.acceptance-list li{display:flex;align-items:flex-start;gap:8px;color:var(--text-soft);font-size:11px;line-height:1.45}.acceptance-list li>span{display:grid;width:18px;height:18px;flex:none;place-items:center;border:1px solid var(--accent-line);border-radius:5px;color:var(--accent);background:var(--accent-wash)}.quality-gate{display:grid;gap:6px}.quality-gate>span{color:var(--text-muted);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.quality-gate code{display:block;padding:8px 10px;border:1px solid var(--line);border-radius:6px;color:var(--accent-strong);background:#0b1113;font-size:10px}.capture-panel{overflow:hidden;border:1px solid var(--line-strong);border-radius:var(--radius);background:#090d0f}.capture-panel>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border-bottom:1px solid var(--line);background:var(--surface-1)}.capture-title,.capture-actions{display:flex;align-items:center;gap:8px}.capture-title>span{display:grid;width:30px;height:30px;place-items:center;border:1px solid var(--line);border-radius:7px;color:var(--accent);background:var(--accent-wash)}.capture-title h2{margin:0;font-size:11px}.capture-title p{margin:3px 0 0;color:var(--text-muted);font:9px var(--mono)}.small-button{min-height:32px;padding:5px 9px;font-size:10px}.capture-actions .icon-button{min-height:32px;width:32px}.terminal-filter{position:relative;display:flex;align-items:center;margin:10px 11px 0}.terminal-filter .icon{position:absolute;left:9px;color:#55625e}.terminal-filter input{min-height:31px;padding:5px 9px 5px 30px;border-color:var(--line);background:#0c1113;font-size:10px}.terminal-output{max-height:530px;margin:0;padding:15px;overflow:auto;color:#aabcb5;font-size:11px;line-height:1.65;white-space:pre;scrollbar-color:var(--surface-3) transparent}.capture-panel>footer{padding:7px 12px;border-top:1px solid var(--line);color:var(--text-muted);background:var(--surface-1);font-size:9px}.capture-empty{display:flex;align-items:flex-start;gap:11px;padding:17px;border:1px dashed var(--line-strong);border-radius:var(--radius);background:#11171b80}.capture-empty>span{color:var(--text-muted)}.capture-empty b{font-size:11px}.capture-empty p{margin:4px 0 0;color:var(--text-muted);font-size:10px;line-height:1.5}.action-panel .panel-header{margin-bottom:0}.action-list{display:grid;gap:8px;margin-top:13px}.action-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;margin:0;padding:11px;border:1px solid var(--line);border-radius:9px;background:#0a0f1152}.action-icon{display:grid;width:31px;height:31px;place-items:center;border:1px solid var(--line);border-radius:8px;color:var(--text-muted);background:var(--surface-2)}.action-card h3{margin:0;font-size:11px}.action-card p{margin:3px 0 0;color:var(--text-muted);font-size:10px;line-height:1.5}.action-form{align-items:start}.action-copy{min-width:0}.action-copy input,.action-copy textarea{min-height:36px;margin-top:9px;padding:7px 9px;font-size:10px}.action-copy textarea{min-height:78px}.action-buttons{display:flex;align-self:end;gap:6px}.action-card button{min-height:32px;padding:6px 9px;font-size:10px}.action-card.confirming{border-color:#efbd7247;background:var(--amber-wash)}.button-danger,.button-danger:hover:not(:disabled){border-color:#ec8f8566;color:#27100e;background:var(--red)}.inline-error{color:var(--red)!important}.unavailable-panel{padding:0}.unavailable-panel summary{display:flex;align-items:center;justify-content:space-between;padding:13px 15px;color:var(--text-muted);font-size:10px;font-weight:650;cursor:pointer}.unavailable-panel summary span{display:grid;width:20px;height:20px;place-items:center;border-radius:50%;background:var(--surface-3);font:8px var(--mono)}.unavailable-list{display:grid;gap:8px;padding:0 15px 14px}.unavailable-list>div{display:grid;gap:3px;padding:9px;border:1px solid var(--line);border-radius:7px}.unavailable-list b{color:var(--text-soft);font-size:10px}.unavailable-list span{color:var(--text-muted);font-size:9px}.facts{display:grid;gap:0;margin:10px 0 0}.facts>div{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}.facts>div:last-child{border:0}.facts dt{margin:0}.facts dd{overflow:hidden;margin:0;color:var(--text-soft);font-size:10px;text-align:right;text-overflow:ellipsis;white-space:nowrap}.fact-tags{display:grid;gap:7px;margin-top:9px;padding-top:12px;border-top:1px solid var(--line)}.fact-tags>span,.worker-projects>span,.worker-current>span{color:var(--text-muted);font-size:9px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.fact-tags>div{margin:0}.artifacts-panel{display:grid;gap:7px}.artifacts-panel>a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px;border:1px solid var(--line);border-radius:8px;color:var(--text-muted);text-decoration:none}.artifacts-panel>a:hover{border-color:var(--accent-line);color:var(--accent);background:var(--accent-wash)}.artifacts-panel a>span{display:grid;min-width:0;gap:2px}.artifacts-panel b{color:var(--text-soft);font-size:10px}.artifacts-panel small{color:var(--text-muted);font:9px var(--mono)}.timeline-panel{overflow:hidden}.timeline{margin:12px 0 0;padding:0;list-style:none}.timeline li{position:relative;display:grid;grid-template-columns:12px minmax(0,1fr);gap:6px;padding-bottom:13px}.timeline li:not(:last-child):before{position:absolute;top:11px;bottom:0;left:3px;width:1px;background:var(--line-strong);content:""}.event-dot{position:relative;z-index:1;display:block;width:7px;height:7px;margin-top:4px;border:2px solid var(--surface-2);border-radius:50%;background:var(--text-muted);box-shadow:0 0 0 1px var(--line-strong)}.timeline li.latest .event-dot{background:var(--accent);box-shadow:0 0 0 3px var(--accent-wash)}.event-copy{min-width:0}.event-copy>button{display:grid;width:100%;min-height:0;justify-content:stretch;gap:2px;padding:0;border:0;color:inherit;background:transparent;text-align:left}.event-copy>button:hover:not(:disabled){border:0;background:transparent;transform:none}.event-copy>button:disabled{opacity:1;cursor:default}.event-copy b{overflow:hidden;color:var(--text-soft);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.event-copy span,.event-copy time{color:var(--text-muted);font-size:9px}.event-copy time{display:block;margin-top:3px}.event-copy pre{max-height:260px;margin:8px 0 0;padding:8px;overflow:auto;border:1px solid var(--line);border-radius:6px;color:var(--text-muted);background:#0b1012;font-size:9px;line-height:1.5;white-space:pre-wrap}.worker-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:11px}.worker-card{padding:17px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,var(--surface-2),var(--surface-1))}.worker-card.offline{border-color:#ec8f8533}.worker-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.worker-identity{display:flex;min-width:0;align-items:center;gap:10px}.worker-glyph{display:grid;width:39px;height:39px;flex:none;place-items:center;border:1px solid var(--line);border-radius:10px;color:var(--accent);background:var(--accent-wash)}.worker-card.offline .worker-glyph{color:var(--red);background:var(--red-wash)}.worker-card h2{margin:0;font-size:13px}.worker-card header p{overflow:hidden;max-width:240px;margin:4px 0 0;color:var(--text-muted);font:9px var(--mono);text-overflow:ellipsis;white-space:nowrap}.health-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 7px;border:1px solid var(--accent-line);border-radius:999px;color:var(--accent-strong);background:var(--accent-wash);font-size:9px;font-weight:700;text-transform:uppercase}.health-badge i{background:var(--accent)}.health-badge.unhealthy{border-color:#ec8f8540;color:var(--red);background:var(--red-wash)}.health-badge.unhealthy i{background:var(--red)}.worker-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:15px 0 0;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#090e103d}.worker-stats>div{min-width:0;padding:9px;border-right:1px solid var(--line)}.worker-stats>div:last-child{border:0}.worker-stats dd{overflow:hidden;margin:0;color:var(--text-soft);font-size:10px;text-overflow:ellipsis;text-transform:capitalize;white-space:nowrap}.worker-stats dd.health-reachable{color:var(--accent)}.worker-stats dd.health-unreachable{color:var(--red)}.worker-current,.worker-projects{display:grid;gap:7px;margin-top:14px}.worker-current>a{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:9px;border:1px solid var(--line);border-radius:8px;color:var(--text-muted);background:#090e103d;text-decoration:none}.worker-current>a:hover{border-color:var(--accent-line);color:var(--accent)}.worker-current>a>span{display:grid;min-width:0;gap:3px}.worker-current a b{overflow:hidden;color:var(--text-soft);font:10px var(--mono);text-overflow:ellipsis;white-space:nowrap}.worker-current a small{color:var(--text-muted);font:9px var(--mono)}.worker-current>p{margin:0;padding:9px;border:1px dashed var(--line);border-radius:8px;color:var(--text-muted);font-size:10px}.worker-projects>div{margin:0}.worker-error{display:flex;align-items:flex-start;gap:8px;margin-top:13px;padding:9px;border:1px solid rgba(236,143,133,.2);border-radius:8px;color:var(--red);background:var(--red-wash)}.worker-error>span{display:grid;gap:3px}.worker-error b,.worker-error small{font-size:9px;font-weight:500}.worker-error small{color:var(--text-muted)}.worker-card>footer{display:flex;justify-content:space-between;gap:10px;margin-top:14px;padding-top:11px;border-top:1px solid var(--line);color:var(--text-muted);font:9px var(--mono)}.artifact-header{align-items:flex-end}.artifact-content{min-height:400px;padding:20px;font-size:11px;line-height:1.7}.login-page{position:relative;display:grid;min-height:100vh;place-items:center;overflow:hidden;padding:24px;background:radial-gradient(circle at 50% -10%,rgba(86,200,139,.15),transparent 36rem),#090d0f}.login-grid{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.24;background-image:linear-gradient(rgba(169,180,177,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(169,180,177,.07) 1px,transparent 1px);background-size:46px 46px;-webkit-mask-image:radial-gradient(circle at center,black,transparent 68%);mask-image:radial-gradient(circle at center,black,transparent 68%)}.login-card{position:relative;width:min(430px,100%);padding:27px;border:1px solid var(--line-strong);border-radius:20px;background:#11181cf2;box-shadow:0 30px 90px #00000080}.login-brand{display:flex;align-items:center;gap:11px;margin-bottom:38px}.login-heading h1{margin:0;font-size:36px;letter-spacing:-.055em}.login-heading>p{margin:8px 0 0;color:var(--text-soft);font-size:12px;line-height:1.55}.login-card form{display:grid;gap:9px;margin-top:24px}.login-card form>label{color:var(--text-soft);font-size:10px;font-weight:650}.password-field{position:relative}.password-field input{padding-right:62px}.password-field button{position:absolute;top:50%;right:5px;min-height:31px;padding:5px 8px;transform:translateY(-50%);border-color:transparent;color:var(--accent);background:transparent;font-size:10px}.password-field button:hover:not(:disabled){border-color:transparent;background:var(--accent-wash);transform:translateY(-50%)}.caps-lock{color:var(--amber);font-size:10px}.login-submit{min-height:42px;margin-top:7px}.login-security{display:flex;gap:9px;margin-top:23px;padding-top:16px;border-top:1px solid var(--line);color:var(--text-muted)}.login-security>span{display:grid;width:24px;height:24px;flex:none;place-items:center;border-radius:7px;color:var(--accent);background:var(--accent-wash)}.login-security p{margin:0;font-size:10px;line-height:1.55}.session-check{position:relative;display:flex;align-items:center;gap:11px;padding:15px 18px;border:1px solid var(--line-strong);border-radius:var(--radius);color:var(--text-soft);background:var(--surface-1);box-shadow:var(--shadow);font-size:11px}.spinner{display:inline-block;width:13px;height:13px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1180px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.diagnosis{grid-template-columns:1fr}.task-board.lanes-3{grid-template-columns:repeat(3,minmax(235px,1fr))}}@media(max-width:980px){.app-shell{padding-left:72px}.sidebar{width:72px;padding-right:10px;padding-left:10px}.brand{justify-content:center;margin-right:-10px;margin-left:-10px;padding:0}.brand>span:last-child,.nav-heading,.primary-nav a>span,.nav-count,.sidebar-status>span:last-child,.sidebar-foot{display:none}.primary-nav a{display:grid;width:50px;grid-template-columns:1fr;place-items:center;padding:0}.primary-nav a.active:before{left:-11px}.sidebar-status{justify-content:center;padding:11px}.topbar{left:72px}.detail-layout{grid-template-columns:minmax(0,1fr) 300px}}@media(max-width:800px){.page{padding-right:20px;padding-left:20px}.detail-layout{grid-template-columns:1fr}.detail-side{grid-template-columns:1fr 1fr;align-items:start}.timeline-panel{grid-column:1 / -1}.board-toolbar{flex-wrap:wrap}.segmented{width:100%;margin-right:0}.segmented button{flex:1}.search-field{width:calc(100% - 164px)}}@media(max-width:680px){.app-shell{padding:0 0 64px}.sidebar{inset:auto 0 0;width:100%;height:64px;padding:6px 10px;border-top:1px solid var(--line-strong);border-right:0}.brand,.sidebar-status{display:none}.primary-nav{display:flex;height:100%;justify-content:space-around;gap:8px;margin:0}.primary-nav a{width:min(150px,42vw);grid-template-columns:auto auto;place-content:center;gap:7px}.primary-nav a>span{display:inline}.primary-nav a.active:before{inset:-7px auto auto 50%;width:26px;height:3px;transform:translate(-50%);border-radius:0 0 4px 4px}.topbar{left:0;height:56px;padding:0 15px}.content{padding-top:56px}.topbar-context>span,.topbar-context .icon,.command-trigger span,.command-trigger kbd,.account-label{display:none}.command-trigger{width:34px;margin-left:auto;padding:0}.account-trigger{padding:3px}.page{padding:27px 15px 45px}.page-header,.task-header{align-items:flex-start;flex-direction:column;gap:18px}.page-header h1{font-size:34px}.page-actions{width:100%}.page-actions>button:last-child{flex:1}.metrics{grid-template-columns:1fr 1fr}.metric{grid-template-columns:1fr}.metric-icon{display:none}.attention-banner{grid-template-columns:auto minmax(0,1fr)}.attention-banner>a{grid-column:2}.task-board.lanes-2,.task-board.lanes-3,.task-board.lanes-5{grid-template-columns:repeat(var(--mobile-lanes, 5),minmax(255px,82vw))}.task-board.lanes-2{--mobile-lanes: 2}.task-board.lanes-3{--mobile-lanes: 3}.task-board.lanes-5{--mobile-lanes: 5}.task-lane{min-height:270px}.form-row,.detail-side{grid-template-columns:1fr}.timeline-panel{grid-column:auto}.diagnosis dl{grid-template-columns:1fr 1fr}.diagnosis dl>div:nth-child(2){border-right:0}.diagnosis dl>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.approval-panel{padding:14px}.approval-actions{align-items:stretch;flex-direction:column}.action-card,.action-form{grid-template-columns:auto minmax(0,1fr)}.action-card>button,.action-buttons{grid-column:2;justify-self:start}.worker-grid{grid-template-columns:1fr}.worker-card>header{align-items:flex-start}.overlay{padding:10px}.modal{max-height:calc(100vh - 20px)}.modal-header,.create-modal form{padding-right:16px;padding-left:16px}.eligibility{margin-right:16px;margin-left:16px}.artifact-header .task-id{overflow-wrap:anywhere}.login-card{padding:22px}.skeleton-grid{grid-template-columns:1fr}}@media(max-width:460px){.refresh-button span{display:none}.search-field,.select-field{width:100%}.metrics{grid-template-columns:1fr 1fr;gap:7px}.metric{padding:11px}.worker-stats{grid-template-columns:1fr}.worker-stats>div{border-right:0;border-bottom:1px solid var(--line)}.worker-stats>div:last-child{border-bottom:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}