:root{--color-bg:#0c0a09;--color-bg-elevated:#111110;--color-surface:#1c1917;--color-surface-2:#292524;--color-surface-3:#232020;--color-surface-sunken:#1a1917;--color-text:#e7e5e4;--color-text-strong:#f5f5f4;--color-text-secondary:#d6d3d1;--color-muted:#a8a29e;--color-muted-2:#78716c;--color-faint:#57534e;--color-faint-2:#44403c;--color-faint-3:#3a3733;--color-border:#3f3b38;--color-border-2:#292524;--color-border-sunken:#1a1917;--color-border-faint:#161514;--color-green:#22c55e;--color-green-on:#4ade80;--color-green-soft:#14532d;--color-green-deep:#052e16;--color-green-border:#166534;--color-green-hover:#15803d;--color-green-text:#dcfce7;--color-yellow:#eab308;--color-yellow-on:#fbbf24;--color-yellow-soft:#422006;--color-yellow-border:#92400e;--color-yellow-deep:#78350f;--color-yellow-amber:#d97706;--color-yellow-text:#fcd34d;--color-red:#f87171;--color-red-on:#fca5a5;--color-red-soft:#1c0a0a;--color-red-border:#7f1d1d;--color-red-hover:#991b1b;--color-red-strong:#c0392b;--color-blue:#60a5fa;--color-blue-on:#93c5fd;--color-blue-soft:#1e3a5f;--color-blue-deep:#0f1c2e;--color-blue-border:#1d4ed8;--color-blue-text:#bfdbfe;--color-on-accent:#fff;--color-scrim:rgba(0,0,0,0.65);--color-shadow:#000a;--color-code-bg:#1118;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:40px;--text-xs:11px;--text-sm:12px;--text-base:13px;--text-md:14px;--text-lg:15px;--text-xl:20px;--text-2xl:28px;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--leading-tight:1.4;--leading-normal:1.55;--radius-xs:3px;--radius-sm:5px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-pill:999px;--motion-fast:0.12s;--motion-base:0.15s;--motion-slow:0.3s;--motion-graph-pulse:2.2s;--motion-graph-breathe:3s;--ease-standard:cubic-bezier(0.2,0,0,1)}@media (prefers-color-scheme:light){:root{--color-bg:#faf9f7;--color-bg-elevated:#ffffff;--color-surface:#ffffff;--color-surface-2:#f0eeec;--color-surface-3:#e7e5e4;--color-surface-sunken:#f5f5f4;--color-text:#1c1917;--color-text-strong:#0c0a09;--color-text-secondary:#292524;--color-muted:#57534e;--color-muted-2:#78716c;--color-faint:#a8a29e;--color-faint-2:#d6d3d1;--color-faint-3:#d6d3d1;--color-border:#d6d3d1;--color-border-2:#e7e5e4;--color-border-sunken:#e7e5e4;--color-border-faint:#ececec;--color-green:#15803d;--color-green-on:#15803d;--color-green-soft:#dcfce7;--color-green-deep:#dcfce7;--color-green-border:#86efac;--color-green-hover:#166534;--color-green-text:#14532d;--color-yellow:#b45309;--color-yellow-on:#b45309;--color-yellow-soft:#fef3c7;--color-yellow-border:#fcd34d;--color-yellow-deep:#fef3c7;--color-yellow-amber:#b45309;--color-yellow-text:#92400e;--color-red:#dc2626;--color-red-on:#b91c1c;--color-red-soft:#fee2e2;--color-red-border:#fca5a5;--color-red-hover:#b91c1c;--color-red-strong:#b91c1c;--color-blue:#2563eb;--color-blue-on:#1d4ed8;--color-blue-soft:#dbeafe;--color-blue-deep:#dbeafe;--color-blue-border:#93c5fd;--color-blue-text:#1e3a8a;--color-on-accent:#ffffff;--color-scrim:rgba(0,0,0,0.35);--color-shadow:#0003;--color-code-bg:#f0eeec}}@media (prefers-reduced-motion:reduce){:root{--motion-fast:0.01ms;--motion-base:0.01ms;--motion-slow:0.01ms;--motion-graph-pulse:0.01ms;--motion-graph-breathe:0.01ms}*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}.unlock-ritual{margin:var(--space-4) auto 0;width:280px;display:flex;flex-direction:column;gap:var(--space-2)}.unlock-track{position:relative;height:var(--space-2);border-radius:var(--radius-pill);background:var(--color-surface);border:1px solid var(--color-border);overflow:hidden}.unlock-track:after{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background:var(--color-border);opacity:.7}.unlock-fill{position:absolute;inset:0;transform-origin:left center;transform:scaleX(var(--unlock-fraction,0));background:var(--color-green);border-radius:var(--radius-pill)}.unlock-ritual.is-animated .unlock-fill{transition:transform var(--motion-slow) var(--ease-standard)}.unlock-ritual.is-animated.is-masterkey .unlock-fill{background:var(--color-green-on)}.unlock-ritual.is-animated .unlock-track{animation:unlock-breathe var(--motion-slow) var(--ease-standard)}@keyframes unlock-breathe{0%{opacity:.85}to{opacity:1}}.unlock-ritual.is-reduced-motion .unlock-fill{transition:none}.unlock-ritual.is-reduced-motion .unlock-track{animation:none}.unlock-ritual-meta{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-2)}.unlock-ritual-label{font-size:var(--text-sm);color:var(--color-muted-2)}.unlock-ritual-figures{display:inline-flex;gap:var(--space-2);align-items:baseline}.unlock-ritual-eta{font-size:var(--text-sm);color:var(--color-muted-2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.unlock-ritual-pct{font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.unlock-ritual-done{flex-direction:row;align-items:center;justify-content:center;gap:var(--space-2);color:var(--color-green-on);font-size:var(--text-md)}.unlock-seal{flex:0 0 auto}.unlock-ritual.is-animated.unlock-ritual-done{animation:unlock-seal-in var(--motion-slow) var(--ease-standard)}@keyframes unlock-seal-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}.unlock-ritual-error{align-items:center;gap:var(--space-2)}.unlock-ritual-title{font-size:var(--text-md)}@media (prefers-reduced-motion:reduce){.unlock-ritual .unlock-fill{transition:none}.unlock-ritual .unlock-track,.unlock-ritual-done{animation:none}}.determinate-progress{display:flex;flex-direction:column;gap:var(--space-1);width:100%}.determinate-progress-track{position:relative;height:var(--space-2);border-radius:var(--radius-pill);background:var(--color-surface);border:1px solid var(--color-border);overflow:hidden}.determinate-progress-fill{position:absolute;inset:0;transform-origin:left center;transform:scaleX(var(--progress-fraction,0));background:var(--color-green);border-radius:var(--radius-pill)}.determinate-progress.is-animated .determinate-progress-fill{transition:transform var(--motion-base) var(--ease-standard)}.determinate-progress.is-reduced-motion .determinate-progress-fill{transition:none}.determinate-progress-meta{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-2)}.determinate-progress-pct{font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.determinate-progress-eta,.determinate-progress-pct{font-size:var(--text-sm);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.determinate-progress-eta{color:var(--color-muted-2)}.attestation-progress,.rag-status.indexing,.vault-upload-progress{display:flex;flex-direction:column;gap:var(--space-1);margin-top:var(--space-2)}.rag-indexing-label{margin:0;font-size:var(--text-sm);color:var(--color-muted-2)}@media (prefers-reduced-motion:reduce){.determinate-progress .determinate-progress-fill{transition:none}}.deleg-console{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);background:var(--color-bg-elevated)}.deleg-console,.deleg-console-list{display:flex;flex-direction:column;gap:var(--space-2)}.deleg-console-list{list-style:none;margin:0;padding:0}.deleg-chip{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.deleg-chip.is-calm{border-color:var(--color-green-border)}.deleg-chip.is-attention{border-color:var(--color-yellow-border)}.deleg-chip.is-urgent{border-color:var(--color-red-border)}.deleg-chip-body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.deleg-chip-head{display:flex;justify-content:space-between}.deleg-chip-head,.deleg-identity{align-items:baseline;gap:var(--space-2)}.deleg-identity{display:inline-flex;min-width:0}.deleg-identity-label{font-size:var(--text-xs);color:var(--color-muted-2);text-transform:uppercase;letter-spacing:.06em}.deleg-identity-name{font-size:var(--text-md);font-weight:var(--font-weight-semibold);color:var(--color-text-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.deleg-urgency{flex:0 0 auto;font-size:var(--text-xs);font-weight:var(--font-weight-medium)}.deleg-urgency[data-level=calm]{color:var(--color-green-on)}.deleg-urgency[data-level=attention]{color:var(--color-yellow-on)}.deleg-urgency[data-level=urgent]{color:var(--color-red-on)}.deleg-urgency[data-level=expired]{color:var(--color-green-on)}.deleg-scopes{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-1)}.deleg-scope{display:inline-flex}.deleg-chip-actions{flex:0 0 auto}.deleg-error{display:inline-flex;align-items:center;gap:var(--space-2)}.deleg-error-text{font-size:var(--text-xs);color:var(--color-red-on)}.deleg-chip-zeroized{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-green-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-green-on)}.deleg-seal{flex:0 0 auto}.deleg-zeroized-text{font-size:var(--text-md);font-weight:var(--font-weight-medium)}.ttl-ring{position:relative;flex:0 0 auto;width:44px;height:44px;display:grid;place-items:center}.ttl-ring-track{stroke:var(--color-border)}.ttl-ring-fill{stroke-dashoffset:var(--ttl-dashoffset,0)}.ttl-ring.is-animated .ttl-ring-fill{transition:stroke-dashoffset var(--motion-base) var(--ease-standard)}.ttl-ring.is-calm .ttl-ring-fill{stroke:var(--color-green)}.ttl-ring.is-attention .ttl-ring-fill{stroke:var(--color-yellow)}.ttl-ring.is-urgent .ttl-ring-fill{stroke:var(--color-red)}.ttl-ring.is-expired .ttl-ring-fill{stroke:var(--color-green-on)}.ttl-ring-text{position:absolute;font-size:var(--text-xs);font-weight:var(--font-weight-semibold);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--color-text-secondary)}.ttl-ring.is-animated.is-urgent .ttl-ring-fill{animation:ttl-pulse 1s var(--ease-standard) infinite}@keyframes ttl-pulse{0%,to{opacity:1}50%{opacity:.55}}.ttl-ring.is-reduced-motion .ttl-ring-fill{transition:none;animation:none}@media (prefers-reduced-motion:reduce){.ttl-ring .ttl-ring-fill{transition:none;animation:none}}.global-stop{min-height:var(--space-6)}.global-stop,.global-stop-btn{display:inline-flex;align-items:center}.global-stop-btn{gap:var(--space-2);font-weight:var(--font-weight-semibold)}.global-stop-ico{display:inline-block}.global-stop-ico rect{fill:currentColor;stroke:none}.global-stop-label{line-height:var(--leading-tight)}.global-stop-state{display:inline-flex;align-items:center;gap:var(--space-2)}.global-stop-resume{font-size:var(--text-xs)}@keyframes safety-ready-pulse{0%,to{box-shadow:0 0 0 0 var(--color-red-border)}50%{box-shadow:0 0 0 2px var(--color-red-soft)}}.global-stop[data-state=idle] .global-stop-btn{animation:safety-ready-pulse var(--motion-slow) var(--ease-standard) 1}.idle-lock-warning{position:fixed;left:50%;bottom:var(--space-6);transform:translateX(-50%);z-index:90;display:flex;align-items:center;gap:var(--space-3);max-width:min(92vw,420px);padding:var(--space-3) var(--space-4);background:var(--color-surface-2);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 12px 40px var(--color-shadow);font-size:var(--text-base);animation:idle-warn-in var(--motion-base) var(--ease-standard) 1}@keyframes idle-warn-in{0%{opacity:0;transform:translate(-50%,var(--space-3))}to{opacity:1;transform:translate(-50%)}}.idle-lock-warning-text{line-height:var(--leading-tight)}.idle-lock-warning-count{font-weight:var(--font-weight-semibold)}.idle-lock-stay,.idle-lock-warning .global-stop-resume{font-size:var(--text-sm)}.recovery-reveal{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-3);max-width:360px;margin:0 auto}.recovery-reveal.is-animated{animation:recovery-rise var(--motion-slow) var(--ease-standard)}@keyframes recovery-rise{0%{opacity:0;transform:translateY(var(--space-2))}to{opacity:1;transform:none}}.recovery-intact{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-3);margin-bottom:var(--space-2);text-align:center}.recovery-reveal.is-intact.is-animated .recovery-intact{animation:recovery-intact-settle var(--motion-slow) var(--ease-standard)}@keyframes recovery-intact-settle{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:none}}.recovery-intact-body{margin:0;font-size:var(--text-sm);max-width:320px}.recovery-actions,.recovery-feedback{display:flex;gap:var(--space-2);flex-wrap:wrap}.recovery-feedback{min-height:var(--space-4)}.recovery-confirm-row{display:flex;flex-direction:column;gap:var(--space-1);color:var(--color-text-secondary)}.recovery-confirm-label,.recovery-confirm-row{font-size:var(--text-sm)}.recovery-confirm-input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);padding:var(--space-2);font-family:inherit;letter-spacing:1px}.recovery-confirm-input[aria-invalid=true]{border-color:var(--color-yellow-border)}.recovery-confirm-msg{display:inline-flex}.recovery-nudge-ico{flex:none;color:var(--color-yellow-on)}.recovery-nudge-text{font-size:var(--text-sm)}.recovery-nudge-input{background:var(--color-surface);border:1px solid var(--color-surface-2);border-radius:var(--radius-sm);color:var(--color-text);padding:var(--space-1) var(--space-2)}.recovery-nudge-result{font-style:normal}@media (prefers-reduced-motion:reduce){.recovery-reveal.is-animated,.recovery-reveal.is-intact.is-animated .recovery-intact{animation:none}}:root{color-scheme:light dark}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,system-ui,sans-serif;background:var(--color-bg);color:var(--color-text)}:focus-visible{outline:2px solid var(--color-green-on);outline-offset:2px;border-radius:var(--radius-xs)}[tabindex]:focus-visible{outline:2px solid var(--color-green-on);outline-offset:2px}.unlock{max-width:420px;margin:16vh auto;text-align:center;padding:var(--space-7)}.unlock h1{font-size:var(--text-2xl);font-weight:var(--font-weight-bold);margin-bottom:var(--space-1)}.unlock .muted{color:var(--color-muted-2);font-size:var(--text-md);margin-bottom:var(--space-6)}.unlock input{display:block;margin:0 auto var(--space-4);padding:10px 14px;width:280px;border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface);color:inherit;font-size:var(--text-lg)}.unlock button{padding:10px var(--space-6);border-radius:var(--radius-lg);border:0;background:var(--color-green);color:var(--color-on-accent);font-weight:var(--font-weight-semibold);cursor:pointer;font-size:var(--text-lg)}.unlock button:hover:not(:disabled){background:var(--color-green-hover)}.unlock button:disabled{opacity:.5;cursor:not-allowed}.err{color:var(--color-red-on);font-size:var(--text-base);margin-top:10px}.hint{font-size:var(--text-sm);color:var(--color-faint);margin-top:var(--space-5)}.kdf-progress{margin:14px auto 0;width:280px}.kdf-progress progress{width:100%;height:var(--space-2);border-radius:var(--radius-md);overflow:hidden;-moz-appearance:none;appearance:none;-webkit-appearance:none;border:0;background:var(--color-surface);display:block}.kdf-progress progress::-webkit-progress-bar{background:var(--color-surface);border-radius:var(--radius-md)}.kdf-progress progress::-webkit-progress-value{background:var(--color-green);border-radius:var(--radius-md);-webkit-transition:width .15s linear;transition:width .15s linear}.kdf-progress progress::-moz-progress-bar{background:var(--color-green);border-radius:var(--radius-md)}.kdf-progress-label{display:block;margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-muted-2)}.app-version{font-size:var(--text-xs);color:var(--color-faint);opacity:.75}.unlock .app-version{margin-top:var(--space-1)}.app-header .app-version{margin-left:10px}.app-shell{display:flex;flex-direction:column;height:100vh;overflow:hidden}.app-header{display:flex;align-items:center;gap:var(--space-3);height:44px;flex:0 0 44px;border-bottom:1px solid var(--color-border-sunken);background:var(--color-bg);padding:env(safe-area-inset-top) 14px 0}.app-brand{font-weight:var(--font-weight-bold);color:var(--color-green);letter-spacing:.02em;font-size:var(--text-md)}.app-title{font-size:var(--text-base);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);margin:0}.app-header-sep{width:1px;height:var(--space-5);background:var(--color-surface-2);border-radius:1px}.app-toolbar{display:flex;align-items:center;gap:2px}.tool-btn{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:var(--font-weight-medium);color:var(--color-muted);background:transparent;border:1px solid transparent;border-radius:var(--radius-lg);padding:var(--space-2) 11px;cursor:pointer;transition:background var(--motion-fast),color var(--motion-fast),border-color var(--motion-fast)}.tool-btn:hover{background:var(--color-surface);color:var(--color-text-strong);border-color:var(--color-surface-2)}.tool-btn:active{background:var(--color-surface-3)}.tool-btn .tb-ico{font-size:var(--text-md);line-height:1;opacity:.9}.app-header-right{margin-left:auto;gap:10px}.app-header-right,.cmdk-hint{display:flex;align-items:center}.cmdk-hint{gap:var(--space-1);font-size:var(--text-xs);color:var(--color-muted);background:var(--color-surface);border:1px solid var(--color-surface-2);border-radius:7px;padding:var(--space-1) 9px;cursor:pointer;transition:background var(--motion-fast),color var(--motion-fast)}.cmdk-hint:hover{color:var(--color-text)}.cmdk-hint kbd,.cmdk-hint:hover{background:var(--color-surface-2)}.cmdk-hint kbd{border-radius:var(--radius-xs);padding:0 var(--space-1);font-size:10px;font-family:inherit}.locale-toggle{display:flex;align-items:center}.locale-toggle select{font-size:var(--text-xs);color:var(--color-muted);background:var(--color-surface);border:1px solid var(--color-surface-2);border-radius:7px;padding:var(--space-1) var(--space-2);cursor:pointer;transition:background var(--motion-fast),color var(--motion-fast)}.locale-toggle select:hover{background:var(--color-surface-2);color:var(--color-text)}@media (max-width:768px){.tool-btn .tb-label{display:none}.tool-btn{padding:var(--space-2) var(--space-2)}.app-header-sep{display:none}}.cmdk-ico{display:none;stroke:currentColor;stroke-width:1.5;fill:none}@media (max-width:768px),(pointer:coarse){.cmdk-hint kbd{display:none}.cmdk-hint .cmdk-ico{display:inline-block}.cmdk-hint{padding:var(--space-1) var(--space-2)}}.mission-control{display:grid;grid-template-columns:230px 1fr 290px;flex:1 1;min-height:0;overflow:hidden}.col{display:flex;flex-direction:column;border-right:1px solid var(--color-border-sunken);overflow:hidden}.col h2{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted-2);margin:0 0 var(--space-2)}.mobile-tabs{display:none}@media (max-width:768px){.mission-control{grid-template-columns:1fr}.mission-control .col{display:none}.mission-control.mobile-chat .panel-chat,.mission-control.mobile-sessions .panel-sessions,.mission-control.mobile-vault .panel-vault{display:flex}.app-title{font-size:var(--text-sm)}.mobile-tabs{display:flex;flex:0 0 54px;border-top:1px solid var(--color-border-sunken);background:var(--color-bg);padding-bottom:env(safe-area-inset-bottom)}.mobile-tabs button{flex:1 1;border:0;background:transparent;color:var(--color-muted-2);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);cursor:pointer;padding:var(--space-2) 0}.mobile-tabs button.active{color:var(--color-green);box-shadow:inset 0 2px 0 var(--color-green)}}.cmdk{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);width:90%;max-width:480px;margin-top:12vh;align-self:flex-start;overflow:hidden;box-shadow:0 20px 60px var(--color-shadow)}.cmdk input{width:100%;padding:14px var(--space-4);border:0;border-bottom:1px solid var(--color-surface-2);background:transparent;color:var(--color-text);font-size:var(--text-md);outline:none}.cmdk-list{list-style:none;margin:0;padding:var(--space-1);max-height:320px;overflow-y:auto}.cmdk-list li{padding:9px var(--space-3);border-radius:var(--radius-lg);cursor:pointer;font-size:var(--text-base);color:var(--color-text-secondary)}.cmdk-list li.cmdk-active,.cmdk-list li:hover{background:var(--color-surface-2);color:var(--color-text)}.cmdk-list li.cmdk-active{outline:2px solid var(--color-green-on);outline-offset:-2px}.cmdk-empty{color:var(--color-muted-2)!important;cursor:default!important}.cmdk-group{display:inline-block;min-width:64px;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;margin-right:var(--space-2)}.cmdk-group,.cmdk-sub,.search-count{color:var(--color-muted-2)}.search-count{font-size:var(--text-xs);margin-bottom:var(--space-1)}.search-empty{color:var(--color-faint-2);font-style:italic}.search-result-body{display:inline}.search-mark{background:var(--color-yellow-deep);color:var(--color-yellow-text);border-radius:var(--radius-xs);padding:0 1px}.search-snippet{color:var(--color-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-date,.search-snippet{display:block;font-size:var(--text-xs)}.search-date{color:var(--color-faint-3)}.panel-sessions{background:var(--color-bg-elevated)}.panel-section{padding:var(--space-3) var(--space-3) var(--space-2);border-bottom:1px solid var(--color-border-sunken)}.panel-section.flex-grow{flex:1 1;overflow-y:auto;border-bottom:none}.project-select{width:100%;padding:var(--space-2) var(--space-2);border:1px solid var(--color-surface-2);border-radius:var(--radius-md);color:inherit;font-size:var(--text-base);margin-bottom:var(--space-2)}.btn-new,.project-select,.project-select option{background:var(--color-surface)}.btn-new{width:100%;padding:7px 10px;border:1px solid var(--color-surface-2);border-radius:var(--radius-md);color:var(--color-muted);font-size:var(--text-base);cursor:pointer;text-align:left}.btn-new:hover{background:var(--color-surface-2);color:var(--color-text)}.mini-form{margin-top:var(--space-1)}.mini-form input{width:100%;padding:var(--space-2) var(--space-2);background:var(--color-surface);border:1px solid var(--color-surface-2);border-radius:var(--radius-md);color:inherit;font-size:var(--text-base);margin-bottom:var(--space-1)}.mini-actions{display:flex;gap:var(--space-1)}.mini-actions button{flex:1 1;padding:var(--space-1);border-radius:var(--radius-sm);border:0;font-size:var(--text-sm);font-weight:var(--font-weight-semibold);cursor:pointer;background:var(--color-green);color:var(--color-on-accent)}.mini-actions .btn-cancel{background:var(--color-surface-2);color:var(--color-muted)}.session-list{list-style:none;padding:var(--space-1) 0;margin:var(--space-2) 0 0}.session-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);cursor:pointer;font-size:var(--text-base);color:var(--color-muted)}.session-item.active,.session-item:hover{background:var(--color-surface);color:var(--color-text)}.session-item.active{border-left:2px solid var(--color-green);padding-left:10px}.session-count{font-size:var(--text-xs);color:var(--color-faint)}.panel-chat{background:var(--color-bg)}.chat-header{display:flex;align-items:center;gap:10px;padding:10px var(--space-4);border-bottom:1px solid var(--color-border-sunken);flex-shrink:0;min-height:44px}.chat-title{font-size:var(--text-base);font-weight:var(--font-weight-semibold);color:var(--color-text)}.ctx-badge{font-size:var(--text-xs);padding:2px var(--space-2);background:var(--color-green-soft);color:var(--color-green-on);border-radius:var(--radius-pill);border:1px solid var(--color-green-border)}.messages{flex:1 1;overflow-y:auto;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4)}.empty-hint{color:var(--color-faint-2);font-size:var(--text-base);text-align:center;margin:auto;max-width:280px;line-height:1.5}.message{max-width:80%;display:flex;flex-direction:column;gap:var(--space-1)}.message.user{align-self:flex-end}.message.assistant{align-self:flex-start}.msg-role{font-size:10px;font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.06em;color:var(--color-faint)}.message.user .msg-role{text-align:right}.msg-body{margin:0;padding:10px 14px;border-radius:var(--radius-xl);font-size:var(--text-md);line-height:var(--leading-normal);white-space:pre-wrap;word-break:break-word}.message.user .msg-body{background:var(--color-green-soft);border:1px solid var(--color-green-border);color:var(--color-green-text);border-radius:12px 12px 2px 12px}.message.assistant .msg-body{background:var(--color-surface);border:1px solid var(--color-surface-2);color:var(--color-text);border-radius:12px 12px 12px 2px}.message.error .msg-body{border-color:var(--color-red-border);background:var(--color-red-soft);color:var(--color-red-on)}.message.thinking .msg-body{color:var(--color-faint);font-style:italic}.shimmer-body{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;font-style:normal}.shimmer-ico{color:var(--color-muted);flex-shrink:0}.state-slow .shimmer-ico{color:var(--color-yellow-on)}.shimmer-label{color:var(--color-muted);font-size:var(--text-md)}.state-slow .shimmer-label{color:var(--color-yellow-text)}.shimmer-bars{display:inline-flex;gap:var(--space-1);align-items:center}.shimmer-bar{display:inline-block;width:22px;height:7px;border-radius:var(--radius-pill);background:linear-gradient(90deg,var(--color-surface-2) 0,var(--color-faint) 50%,var(--color-surface-2) 100%);background-size:200% 100%;animation:shimmer-sweep 1.2s var(--ease-standard) infinite}.shimmer-bar:nth-child(2){animation-delay:.18s}.shimmer-bar:nth-child(3){animation-delay:.36s}.state-slow .shimmer-bar{background:linear-gradient(90deg,var(--color-yellow-soft) 0,var(--color-yellow-on) 50%,var(--color-yellow-soft) 100%);background-size:200% 100%}.shimmer-track{flex-basis:100%;height:3px;background:var(--color-surface-2);overflow:hidden}.shimmer-fill,.shimmer-track{border-radius:var(--radius-pill)}.shimmer-fill{height:100%;width:calc(var(--shimmer-progress, 0) * 100%);background:var(--color-blue);transition:width var(--motion-base) linear}.state-slow .shimmer-fill{background:var(--color-yellow)}@keyframes shimmer-sweep{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.shimmer-bar{animation:none;background:var(--color-faint)}.state-slow .shimmer-bar{background:var(--color-yellow-on)}.shimmer-fill{transition:none}}.input-row{display:flex;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border-sunken);flex-shrink:0}.input-row textarea{flex:1 1;resize:none;padding:10px var(--space-3);background:var(--color-surface);border:1px solid var(--color-surface-2);border-radius:var(--radius-lg);color:inherit;font-family:inherit;font-size:var(--text-md);line-height:var(--leading-tight);outline:none}.input-row textarea:focus{border-color:var(--color-border)}.input-row textarea:disabled{opacity:.5}.input-row button{padding:10px 18px;border-radius:var(--radius-lg);border:0;background:var(--color-green);color:var(--color-on-accent);font-weight:var(--font-weight-semibold);cursor:pointer;align-self:flex-end;font-size:var(--text-md)}.input-row button:hover:not(:disabled){background:var(--color-green-hover)}.input-row button:disabled{opacity:.4;cursor:not-allowed}.panel-vault{background:var(--color-bg-elevated)}.vault-top{padding:var(--space-3);border-bottom:1px solid var(--color-border-sunken);flex-shrink:0}.vault-search{width:100%;padding:var(--space-2) 10px;border-radius:var(--radius-md);border:1px solid var(--color-surface-2);background:var(--color-surface);color:inherit;font-size:var(--text-base);margin-bottom:var(--space-2)}.add-type-row{display:flex;gap:var(--space-1)}.btn-type{flex:1 1;padding:var(--space-2) var(--space-1);background:var(--color-surface);border:1px solid var(--color-surface-2);border-radius:var(--radius-md);color:var(--color-muted);font-size:var(--text-sm);cursor:pointer}.btn-type:hover{background:var(--color-surface-2);color:var(--color-text)}.add-form{display:flex;flex-direction:column;gap:var(--space-1);margin-top:var(--space-2)}.add-form input,.add-form textarea{width:100%;padding:7px 10px;border-radius:var(--radius-md);border:1px solid var(--color-surface-2);background:var(--color-surface);color:inherit;font-family:inherit;font-size:var(--text-base)}.add-form textarea{resize:vertical}.add-actions{display:flex;gap:var(--space-1)}.add-actions button{flex:1 1;padding:7px;border-radius:var(--radius-md);border:0;font-size:var(--text-base);font-weight:var(--font-weight-semibold);cursor:pointer;background:var(--color-green);color:var(--color-on-accent)}.add-actions button:disabled{opacity:.5;cursor:not-allowed}.add-actions button:hover:not(:disabled){background:var(--color-green-hover)}.add-actions .btn-cancel{background:var(--color-surface-2);color:var(--color-muted)}.add-actions .btn-cancel:hover{background:var(--color-border)}.img-drop{display:flex;align-items:center;justify-content:center;min-height:100px;border:2px dashed var(--color-border);border-radius:var(--radius-lg);cursor:pointer;color:var(--color-faint);font-size:var(--text-base)}.img-drop:hover{border-color:var(--color-green)}.img-drop.has-img{border-style:solid;border-color:var(--color-green-border)}.img-preview{max-width:100%;max-height:140px;border-radius:var(--radius-md);object-fit:contain}.vault-list{list-style:none;padding:var(--space-1) 0;margin:0;overflow-y:auto;flex:1 1}.vault-item{display:flex;align-items:center;gap:var(--space-1);padding:7px var(--space-3);border-bottom:1px solid var(--color-border-faint)}.vault-item.active{background:var(--color-green-deep)}.vault-icon{font-size:var(--text-md);flex-shrink:0}.vault-thumb{width:28px;height:28px;border-radius:var(--radius-xs);object-fit:cover;flex-shrink:0}.vault-title{font-size:var(--text-base);color:var(--color-muted);cursor:pointer;flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vault-item.active .vault-title{color:var(--color-green-on)}.vault-title:hover{color:var(--color-text)}.active-badge{color:var(--color-green);font-size:10px}.btn-del{background:none;border:none;color:var(--color-faint-2);cursor:pointer;font-size:16px;padding:2px var(--space-1);border-radius:var(--radius-xs);flex-shrink:0;line-height:1}.btn-del:hover{background:var(--color-surface-2);color:var(--color-red-on)}.vault-empty{padding:var(--space-3);color:var(--color-faint-2);font-size:var(--text-sm);font-style:italic}.vault-hint{font-size:var(--text-xs);color:var(--color-faint-3);padding:var(--space-1) var(--space-3);margin:0;flex-shrink:0}.repo-row{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) 0;font-size:var(--text-sm);color:var(--color-blue);margin-top:2px}.repo-star{background:none;border:none;cursor:pointer;color:var(--color-faint);font-size:var(--text-base);padding:0 2px;flex-shrink:0;line-height:1}.repo-star.active,.repo-star:hover{color:var(--color-yellow-on)}.repo-url{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1}.gh-row{display:flex;align-items:center;gap:var(--space-1);margin-top:var(--space-1)}.gh-btn{flex:1 1;padding:var(--space-1) var(--space-2);background:var(--color-surface);border:1px solid var(--color-surface-2);border-radius:var(--radius-md);color:var(--color-muted);font-size:var(--text-sm);cursor:pointer;text-align:left}.gh-btn:hover{background:var(--color-surface-2);color:var(--color-text)}.gh-btn.connected{border-color:var(--color-green-border);color:var(--color-green-on);background:var(--color-green-deep)}.gh-dot{font-size:10px;flex-shrink:0}.gh-dot.ok{color:var(--color-green-on)}.gh-dot.err{color:var(--color-red-on)}.gh-settings{max-width:460px;width:95%}.gh-label{display:block;font-size:var(--text-xs);color:var(--color-muted-2);margin-bottom:var(--space-1)}.gh-input{width:100%;padding:7px 10px;background:var(--color-surface);border:1px solid var(--color-surface-2);border-radius:var(--radius-md);color:inherit;font-size:var(--text-base)}.gh-login{color:var(--color-green-on);align-self:center;white-space:nowrap}.gh-login,.gh-status{font-size:var(--text-sm)}.gh-status{margin:var(--space-2) 0}.gh-status.ok{color:var(--color-green-on)}.gh-status.err{color:var(--color-red-on)}.gh-actions{display:flex;gap:var(--space-1);margin-top:14px;flex-wrap:wrap}.gh-actions button{padding:7px 14px;border-radius:var(--radius-md);border:0;font-size:var(--text-base);font-weight:var(--font-weight-semibold);cursor:pointer;background:var(--color-surface-2);color:var(--color-muted)}.gh-actions button:hover:not(:disabled){background:var(--color-border);color:var(--color-text)}.gh-actions button:disabled{opacity:.4;cursor:not-allowed}.gh-actions .btn-primary{background:var(--color-green);color:var(--color-on-accent)}.gh-actions .btn-primary:hover:not(:disabled){background:var(--color-green-hover)}.gh-actions .btn-danger{background:var(--color-red-border);color:var(--color-red-on)}.gh-actions .btn-cancel{margin-left:auto}.rag-status{font-size:var(--text-xs);margin:var(--space-1) 0 0;padding:0}.rag-status.indexing{color:var(--color-yellow-amber)}.rag-status.ready{color:var(--color-green-on)}.rag-info{font-size:var(--text-xs);color:var(--color-faint);margin-left:auto}.ctx-badge.rag{background:var(--color-green-soft);color:var(--color-green-on);border-color:var(--color-green-border)}.ctx-badge.delegate{background:var(--color-blue-soft);color:var(--color-blue);border-color:var(--color-blue-border)}.chunk-count{font-size:10px;color:var(--color-faint);flex-shrink:0}.link-item{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) 0;font-size:var(--text-base)}.link-arrow{color:var(--color-yellow-amber);flex-shrink:0}.link-name{flex:1 1;color:var(--color-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-badge{font-size:10px;padding:1px var(--space-1);border-radius:var(--radius-pill);flex-shrink:0}.task-badge.running{background:var(--color-yellow-deep);color:var(--color-yellow-text)}.task-badge.done{background:var(--color-green-soft);color:var(--color-green-on)}.task-badge.incoming{background:var(--color-blue-soft);color:var(--color-blue-on);margin-left:var(--space-1)}.mini-form select{width:100%;padding:var(--space-2) var(--space-2);background:var(--color-surface);border:1px solid var(--color-surface-2);border-radius:var(--radius-md);color:inherit;font-size:var(--text-base);margin-bottom:var(--space-1)}.delegate-msg{border-left:2px solid var(--color-blue-border);padding-left:var(--space-2)}.delegate-msg .msg-body{background:var(--color-blue-deep);border-color:var(--color-blue-border);color:var(--color-blue-text)}.delegate-status{font-size:10px;font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.06em}.delegate-status.pending{color:var(--color-blue)}.delegate-status.running{color:var(--color-yellow-amber)}.delegate-status.done{color:var(--color-green-on)}.delegate-status.error{color:var(--color-red-on)}.muted{color:var(--color-muted-2);font-size:var(--text-base)}.overlay{position:fixed;inset:0;background:var(--color-scrim);display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-6);max-width:380px;width:90%}.modal h3{margin:0 0 var(--space-3);font-size:var(--text-lg)}.modal .pending{color:var(--color-yellow-amber);font-size:var(--text-base)}.modal .ok{color:var(--color-green)}.modal .bad,.modal .ok{font-size:var(--text-base)}.modal .bad{color:var(--color-red)}.modal .actions{display:flex;gap:10px;justify-content:flex-end;margin-top:var(--space-4)}.modal .actions button{padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);border:0;font-weight:var(--font-weight-semibold);cursor:pointer;font-size:var(--text-base);background:var(--color-surface-2);color:var(--color-muted)}.modal .actions button:hover{background:var(--color-border)}.danger{background:var(--color-red-border)!important;color:var(--color-red-on)!important}.danger:hover{background:var(--color-red-hover)!important}.modal.approval{max-width:420px}.modal.approval.protective{border-color:var(--color-red-border);box-shadow:0 0 0 1px var(--color-red-border),0 12px 40px var(--color-shadow)}.approval-scope{font-size:var(--text-sm);margin:-4px 0 10px}.approval-actions{justify-content:stretch}.approval-actions .btn-equal{flex:1 1;padding:10px var(--space-4);font-size:var(--text-base)}.approval-actions .btn-equal:focus-visible{outline:2px solid var(--color-green);outline-offset:2px}[data-testid=backup-fact]{font-size:var(--text-sm);margin:var(--space-1) 0 0;color:var(--color-green)}.approval-hint{font-size:var(--text-sm);margin-top:10px;color:var(--color-red)}.harness-brake{position:fixed;inset:0;z-index:90;pointer-events:none;background:var(--color-red-soft);opacity:.55;box-shadow:inset 0 0 0 3px var(--color-red-border);transition:opacity var(--motion-base) ease-out}.blast-radius{margin:var(--space-3) 0 var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-3);background:var(--color-surface-sunken)}.blast-title{font-size:var(--text-sm);font-weight:var(--font-weight-bold);margin:0 0 var(--space-2);color:var(--color-muted)}.blast-cols{display:flex;align-items:stretch;gap:var(--space-2)}.blast-col{flex:1 1;display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.blast-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted-2)}.blast-entry,.blast-removed{font-size:var(--text-sm)}.blast-chunks,.blast-restore{font-size:var(--text-xs);color:var(--color-muted)}.blast-after .blast-restore{color:var(--color-green)}.blast-arrow{align-self:center;color:var(--color-muted-2);font-size:var(--text-lg)}.decision-countdown{display:flex;align-items:center;gap:var(--space-2);margin:var(--space-2) 0 0}.countdown-ring{width:var(--space-4);height:var(--space-4);border-radius:50%;flex:0 0 auto;background:conic-gradient(var(--color-green) calc(var(--countdown-fraction, 1) * 1turn),var(--color-border) 0)}.countdown-time{font-size:var(--text-sm);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--color-muted)}.countdown-time.expired{color:var(--color-red);font-weight:var(--font-weight-bold)}.undo-window{position:fixed;left:50%;bottom:var(--space-5);transform:translateX(-50%);z-index:110;display:flex;align-items:center;gap:var(--space-3);overflow:hidden;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-2) var(--space-4);box-shadow:0 12px 40px var(--color-shadow)}.undo-bar{position:absolute;left:0;bottom:0;height:2px;transform-origin:left;width:calc(var(--undo-fraction, 1) * 100%);background:var(--color-green);transition:width var(--motion-base) linear}.undo-text{font-size:var(--text-sm)}.undo-count{font-size:var(--text-xs);color:var(--color-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.modal.conflict-modal{max-width:560px}.conflict-intro{font-size:var(--text-sm);margin:-2px 0 var(--space-2)}.conflict-list{list-style:none;margin:var(--space-3) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.conflict-row{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3)}.conflict-key{display:flex;align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-2)}.conflict-key-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em}.conflict-key-name{font-size:var(--text-sm)}.conflict-choices{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.conflict-candidate{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer}.conflict-candidate.is-selected{border-color:var(--color-green);box-shadow:0 0 0 1px var(--color-green)}.conflict-candidate input:focus-visible{outline:2px solid var(--color-green);outline-offset:2px}.conflict-value{font-size:var(--text-sm);color:var(--color-muted);overflow-wrap:anywhere}.conflict-default-hint{font-size:var(--text-xs);margin:var(--space-3) 0 0}.conflict-actions{justify-content:flex-end}.conflict-badge{background:none;border:0;padding:0;cursor:pointer}.conflict-badge:focus-visible{outline:2px solid var(--color-green);outline-offset:2px}.vault-item.has-conflict{border-left:2px solid var(--color-yellow-amber)}.conn-section{border-top:1px solid var(--color-border-sunken)}.conn-graph-wrap{position:relative;width:100%}.conn-graph{width:100%;height:auto;aspect-ratio:1/1;display:block;touch-action:none;cursor:-webkit-grab;cursor:grab;outline:none}.conn-graph:focus-visible{outline:2px solid var(--color-blue);outline-offset:2px;border-radius:var(--radius-md)}.conn-graph:active{cursor:-webkit-grabbing;cursor:grabbing}.conn-graph .edge{stroke:var(--color-surface-2);stroke-width:2;fill:none;outline:none}.conn-graph .edge.live{stroke:var(--color-green);stroke-width:3;stroke-dasharray:8 6}.conn-graph .edge:focus-visible{stroke:var(--color-blue);stroke-width:4}.conn-graph .edge:hover{stroke:var(--color-blue)}.conn-graph .edge-pulse{fill:var(--color-green-on);offset-rotate:0deg;animation:graph-edge-pulse var(--motion-graph-pulse,2.2s) var(--ease-standard) infinite;--x1:0;--y1:0;--x2:0;--y2:0}@keyframes graph-edge-pulse{0%{transform:translate(calc(var(--x1) * 1px),calc(var(--y1) * 1px));opacity:0}12%{opacity:1}88%{opacity:1}to{transform:translate(calc(var(--x2) * 1px),calc(var(--y2) * 1px));opacity:0}}.conn-graph .edge-live-static{fill:var(--color-green-on);stroke:var(--color-bg);stroke-width:1.5}.conn-graph .node{fill:var(--color-faint-2);stroke:var(--color-surface);stroke-width:3}.conn-graph .node.active{fill:var(--color-green)}.conn-graph .graph-node{outline:none}.conn-graph .graph-node:focus-visible .node{stroke:var(--color-blue);stroke-width:4}.conn-graph .graph-node:hover .node{stroke:var(--color-blue)}.conn-graph .node-label{fill:var(--color-text-secondary);font-size:26px;font-weight:var(--font-weight-medium);paint-order:stroke;stroke:var(--color-bg);stroke-width:4px;stroke-linejoin:round}.conn-graph .node-breathe{fill:none;stroke:var(--color-green-on);stroke-width:2;transform-box:fill-box;transform-origin:center;animation:graph-node-breathe var(--motion-graph-breathe,3s) var(--ease-standard) infinite}@keyframes graph-node-breathe{0%,to{transform:scale(1);opacity:.55}50%{transform:scale(1.9);opacity:0}}.conn-graph .node-live-static{fill:var(--color-green-on)}.conn-graph-wrap.is-reduced-motion .edge-pulse,.conn-graph-wrap.is-reduced-motion .node-breathe{display:none}@media (prefers-reduced-motion:reduce){.conn-graph .edge-pulse,.conn-graph .node-breathe{animation:none;display:none}}.conn-graph-controls{position:absolute;top:var(--space-2);right:var(--space-2);display:flex;flex-direction:column;gap:var(--space-1);z-index:2}.conn-graph-zoom{width:24px;height:24px;display:grid;place-items:center;background:var(--color-surface-2);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-md);line-height:1;cursor:pointer;padding:0}.conn-graph-zoom:hover{background:var(--color-surface-3)}.conn-graph-zoom:focus-visible{outline:2px solid var(--color-blue);outline-offset:1px}.conn-graph-inspect{position:absolute;left:var(--inspect-x,0);top:var(--inspect-y,0);transform:translate(-50%,calc(-100% - var(--space-2)));display:flex;align-items:center;gap:var(--space-2);max-width:220px;padding:var(--space-1) var(--space-2);background:var(--color-bg-elevated);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 4px 16px var(--color-shadow);font-size:var(--text-sm);pointer-events:none;z-index:3;white-space:nowrap}.conn-graph-inspect-title{font-weight:var(--font-weight-semibold);color:var(--color-text-strong)}.conn-graph-empty,.conn-graph-inspect-boundary{color:var(--color-muted)}.conn-graph-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-1);padding:var(--space-5) var(--space-3)}.conn-graph-empty-ico{width:40px;height:40px;fill:none;stroke:var(--color-faint);stroke-width:2.5;stroke-linecap:round}.conn-graph-empty-title{color:var(--color-text-secondary);font-weight:var(--font-weight-medium);margin:0}.conn-graph-empty-hint{font-size:var(--text-sm);color:var(--color-muted-2);margin:0}.status-strip{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-1) 14px;background:var(--color-bg);border-bottom:1px solid var(--color-border-sunken)}.status-pill{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);padding:var(--space-1) 10px;border-radius:var(--radius-pill);border:1px solid var(--color-surface-2);color:var(--color-text-secondary)}.status-pill.ok{border-color:var(--color-green-border);color:var(--color-green-on)}.status-pill.nudge{border-color:var(--color-yellow-border);color:var(--color-yellow-on)}.status-pill button{background:var(--color-surface-2);border:0;color:var(--color-text);border-radius:var(--radius-sm);padding:2px var(--space-2);font-size:var(--text-xs);cursor:pointer}.status-pill button.x{background:transparent;color:var(--color-muted-2);padding:0 2px}.status-pill input{background:var(--color-surface);border:1px solid var(--color-surface-2);border-radius:var(--radius-sm);color:inherit;padding:var(--space-1) var(--space-2);font-size:var(--text-sm)}.status-pill em{font-style:normal}.btn-link{background:transparent;border:0;color:var(--color-blue);font-size:var(--text-sm);cursor:pointer;text-decoration:underline;margin-top:var(--space-2)}.coding{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);width:92%;max-width:720px;max-height:82vh;overflow-y:auto;margin-top:6vh;align-self:flex-start;padding:var(--space-4);box-shadow:0 20px 60px var(--color-shadow)}.coding-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.coding-head h3{margin:0;font-size:var(--text-md)}.coding-head .x{background:transparent;border:0;color:var(--color-muted-2);font-size:18px;cursor:pointer}.coding textarea{width:100%;background:var(--color-bg);border:1px solid var(--color-surface-2);border-radius:var(--radius-lg);color:var(--color-text);padding:10px;font-size:var(--text-base);font-family:inherit;resize:vertical}.coding-actions{display:flex;align-items:center;gap:10px;margin:10px 0}.coding-actions button{background:var(--color-green);color:var(--color-on-accent);border:0;border-radius:7px;padding:var(--space-2) 14px;font-weight:var(--font-weight-semibold);font-size:var(--text-base);cursor:pointer}.coding-actions button:disabled{opacity:.5;cursor:not-allowed}.coding-steps{list-style:none;margin:var(--space-2) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.cstep{display:grid;grid-template-columns:150px 56px 1fr;grid-gap:var(--space-2);gap:var(--space-2);align-items:center;font-size:var(--text-sm);padding:var(--space-1) var(--space-1);border-radius:var(--radius-md);background:var(--color-bg)}.cstep-badge{font-size:10px;font-weight:var(--font-weight-bold);text-align:center;border-radius:var(--radius-pill);padding:1px 0}.cstep-badge.green{background:var(--color-green-soft);color:var(--color-green-on)}.cstep-badge.yellow{background:var(--color-yellow-soft);color:var(--color-yellow-on)}.cstep-badge.red{background:var(--color-red-border);color:var(--color-red-on)}.cstep-out{color:var(--color-muted-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cstep-wrap{flex-wrap:wrap;gap:6px}.cstep-tools{display:flex;gap:6px}.step-card{flex-wrap:wrap;gap:6px;border-left:2px solid transparent;transition:border-color var(--motion-base,.15s) ease}.step-card.green{border-left-color:var(--color-green-border)}.step-card.yellow{border-left-color:var(--color-yellow-border)}.step-card.red{border-left-color:var(--color-red-border);background:var(--color-red-soft)}.step-card-badge{display:inline-flex;align-items:center;gap:3px;padding:1px var(--space-2)}.step-card-ico{flex:none}.step-card-label{font-size:10px;font-weight:var(--font-weight-bold);letter-spacing:.04em}.step-card-gate,.step-card-ribbon{display:inline-flex;align-items:center}.step-card-gate{margin-left:auto}.terminal-state{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin:var(--space-2) 0;padding:var(--space-2);border-radius:var(--radius-md);border:1px solid var(--color-surface-2);background:var(--color-bg)}.terminal-state[data-state=error]{border-color:var(--color-red-border);background:var(--color-red-soft)}.terminal-state[data-state=aborted]{border-color:var(--color-yellow-border)}.terminal-state-reason{color:var(--color-muted-2);font-size:var(--text-sm)}.terminal-state-actions{display:flex;gap:6px;margin-left:auto}.live-fallback{display:inline-flex;align-items:center;margin-left:var(--space-2)}.coding-result{margin-top:var(--space-3);padding-top:10px;border-top:1px solid var(--color-surface-2)}.coding-diff{background:var(--color-bg);border:1px solid var(--color-surface-2);border-radius:var(--radius-lg);padding:10px;font-size:var(--text-xs);overflow-x:auto;max-height:320px}.warn{color:var(--color-red-strong)}.gh-ok{color:var(--color-green-on)}.gh-warn{color:var(--color-yellow-amber)}.gh-repo-line{margin-bottom:14px}.chat-code-skill-note{font-size:var(--text-xs);margin:0 0 var(--space-1);padding:0 var(--space-1)}.field{width:100%;padding:var(--space-2) var(--space-2);box-sizing:border-box;margin-top:2px}.field-mono{font-family:monospace}.u-mt-0{margin-top:0}.u-mt-1{margin-top:var(--space-1)}.u-mt-2{margin-top:var(--space-2)}.u-mt-3{margin-top:10px}.u-mt-4{margin-top:var(--space-4)}.u-mt-row{margin-top:6px}.u-mb-1{margin-bottom:var(--space-1)}.u-mb-2{margin-bottom:6px}.u-mb-3{margin-bottom:var(--space-2)}.u-ml-auto{margin-left:auto}.u-mr-auto{margin-right:auto}.u-text-xs{font-size:var(--text-xs)}.u-text-sm{font-size:var(--text-sm)}.u-text-base{font-size:var(--text-base)}.u-row,.u-row-center{display:flex;gap:6px}.u-row-center{align-items:center}.u-row-wrap{display:flex;gap:6px;flex-wrap:wrap}.u-col{display:flex;flex-direction:column}.u-grid{display:grid;grid-gap:6px;gap:6px}.u-flex-1{flex:1 1}.u-hidden{display:none}.u-clickable{cursor:pointer}.u-block{display:block}.u-max-360{max-width:360px}.is-strong{font-weight:var(--font-weight-bold)}.is-disabled{opacity:.5}.is-struck{text-decoration:line-through}.login-h2{margin:var(--space-2) 0 2px}.recovery-display{display:block;padding:var(--space-3);margin:var(--space-2) 0;background:var(--color-code-bg);border-radius:var(--radius-md);font-size:var(--text-lg);letter-spacing:1px;-webkit-user-select:all;-moz-user-select:all;user-select:all;word-break:break-all}.recovery-ack-row{display:flex;gap:var(--space-2);font-size:var(--text-base);align-items:center}.tasks-modal{max-width:760px}.tasks-sched{font-size:var(--text-xs);margin-left:var(--space-2)}.tasks-quickbtns{display:flex;gap:6px;margin-top:var(--space-1);flex-wrap:wrap}.wizard-step-label{font-size:var(--text-sm);margin:0 0 6px}.wizard-step-label-2{margin:10px 0 6px}.field-tz{width:160px}.field-everymin{width:70px}.field-cmd{font-size:var(--text-sm)}.run-log{max-height:360px}.log-truncated-banner{margin:var(--space-2) 0;padding:var(--space-1) var(--space-2);border:1px solid var(--color-yellow-border);border-radius:var(--radius-md);background:var(--color-yellow-soft);display:inline-flex}.log-truncated-banner:focus-visible{outline:2px solid var(--color-blue);outline-offset:2px}.full-log-modal .run-log{max-height:60vh}.form-grid-2-1{display:grid;grid-template-columns:2fr 1fr;grid-gap:6px;gap:6px}.form-grid-2-1-2{display:grid;grid-template-columns:2fr 1fr 2fr;grid-gap:6px;gap:6px}.form-grid-2-1-1{display:grid;grid-template-columns:2fr 1fr 1fr;grid-gap:6px;gap:6px}.form-grid-1-1{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px;gap:6px}.field-checkbox,.field-label{font-size:var(--text-sm)}.field-checkbox{display:flex;align-items:center;gap:6px;margin-top:18px}.field-key{font-size:var(--text-xs)}.panel-intro,.ssh-intro{margin:0 0 var(--space-2)}.repo-picker-list{max-height:180px;overflow-y:auto;margin:var(--space-1) 0;padding:0;list-style:none}.repo-pick-item{width:100%;text-align:left}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:24px;padding:var(--space-2) var(--space-3);border:1px solid transparent;border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--font-weight-semibold);font-family:inherit;cursor:pointer;line-height:1.2;transition:background var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--color-green-on);outline-offset:2px}@media (pointer:coarse){.btn{min-height:44px}}.btn.btn-primary{background:var(--color-green);color:var(--color-on-accent)}.btn.btn-primary:hover:not(:disabled){background:var(--color-green-hover)}.btn.btn-secondary{background:var(--color-surface-2);color:var(--color-text);border-color:var(--color-border)}.btn.btn-secondary:hover:not(:disabled){background:var(--color-border);color:var(--color-text-strong)}.btn.btn-ghost{background:transparent;color:var(--color-muted)}.btn.btn-ghost:hover:not(:disabled){background:var(--color-surface-2);color:var(--color-text)}.btn.btn-danger{background:var(--color-red-border);color:var(--color-red-on)}.btn.btn-danger:hover:not(:disabled){background:var(--color-red-hover)}.btn.btn-equal{flex:1 1;padding:10px var(--space-4);font-size:var(--text-base)}.btn.btn-danger:focus-visible{outline-color:var(--color-red-on)}@keyframes modal-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.overlay>[role=dialog]{animation:modal-fade-in var(--motion-base) var(--ease-standard)}.overlay>[role=dialog]:focus{outline:none}.spill{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm);padding:1px var(--space-2);border-radius:var(--radius-pill);border:1px solid var(--color-border);color:var(--color-text-secondary);white-space:nowrap;vertical-align:middle}.spill-compact{padding:0 6px;gap:var(--space-1);font-size:var(--text-xs)}.spill-ico{flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.spill-text{line-height:1.2}.spill.is-success{border-color:var(--color-green-border);color:var(--color-green-on)}.spill.is-failed{border-color:var(--color-red-border);color:var(--color-red-on)}.spill.is-running{border-color:var(--color-blue-border);color:var(--color-blue-on)}.spill.is-running .spill-ico{animation:spill-spin 1s linear infinite;transform-origin:50% 50%}.spill.is-pending{border-color:var(--color-border);color:var(--color-muted)}.spill.is-skipped{border-color:var(--color-border);color:var(--color-muted-2)}.spill.is-interrupted,.spill.is-warning{border-color:var(--color-yellow-border);color:var(--color-yellow-on)}@keyframes spill-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.spill.is-running .spill-ico{animation:none}}.spill.spill-dot{border:0;padding:0;gap:0}.run-strip{display:inline-flex;align-items:center;gap:2px;vertical-align:middle}.u-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}.vault-head-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.trust-trigger{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface-2);color:var(--color-muted);font-size:var(--text-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--motion-fast) var(--ease-standard)}.trust-trigger:hover{background:var(--color-surface-3);color:var(--color-text)}.trust-trigger:focus-visible{outline:2px solid var(--color-blue);outline-offset:2px}.trust-ico{stroke:currentColor;fill:none;stroke-width:1.4}.modal.trust-modal{max-width:720px;max-height:86vh;overflow-y:auto}.trust-intro{margin:0 0 var(--space-4);font-size:var(--text-base)}.trust-clean,.trust-violation{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);margin-bottom:var(--space-4)}.trust-clean{border:1px solid var(--color-green-border);background:var(--color-green-soft)}.trust-violation{border:1px solid var(--color-red-border);background:var(--color-red-soft)}.trust-clean-body,.trust-violation-body{margin:0;font-size:var(--text-sm)}.trust-violation-body{color:var(--color-red-on)}.trust-offenders{margin:0;padding-left:var(--space-5);font-size:var(--text-sm)}.trust-offenders code{color:var(--color-red-on)}.trust-columns{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-4);gap:var(--space-4)}@media (max-width:560px){.trust-columns{grid-template-columns:1fr}}.trust-col{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);background:var(--color-surface-sunken)}.trust-col-cipher{border-color:var(--color-blue-border)}.trust-col-head{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-1)}.trust-col-head h4{margin:0;font-size:var(--text-md)}.trust-col-caption{margin:0 0 var(--space-3);font-size:var(--text-xs)}.trust-field-list{list-style:none;margin:0;padding:0;gap:var(--space-2)}.trust-field,.trust-field-list{display:flex;flex-direction:column}.trust-field{gap:var(--space-1);padding:var(--space-2);border:1px solid var(--color-border-2);border-radius:var(--radius-sm);background:var(--color-surface)}.trust-field-tag{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);font-weight:var(--font-weight-semibold)}.trust-field[data-kind=ciphertext] .trust-field-tag{color:var(--color-blue-on)}.trust-field[data-kind=visible] .trust-field-tag{color:var(--color-muted)}.trust-field-path{font-size:var(--text-sm);color:var(--color-text-strong);background:none;padding:0}.trust-field-preview{font-size:var(--text-xs);color:var(--color-muted);background:var(--color-code-bg);padding:2px var(--space-1);border-radius:var(--radius-xs);word-break:break-all}.trust-boundary{margin:var(--space-4) 0;padding:var(--space-3);font-size:var(--text-base);border-left:3px solid var(--color-green-border);background:var(--color-surface-2);border-radius:var(--radius-sm)}.trust-exceptions h4{margin:0 0 var(--space-1);font-size:var(--text-md)}.trust-exceptions-intro{margin:0 0 var(--space-2);font-size:var(--text-sm)}.trust-exceptions-list{margin:0;padding-left:var(--space-5);font-size:var(--text-sm);display:flex;flex-direction:column;gap:var(--space-1)}.trust-empty{font-size:var(--text-base)}.modal.egress-card{max-width:480px}.egress-head{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.egress-head h3{margin:0;font-size:var(--text-lg)}.egress-ico{stroke:currentColor;fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;color:var(--color-red-on)}.egress-boundary{margin:0 0 var(--space-4);padding:var(--space-3);font-size:var(--text-sm);border-left:3px solid var(--color-red-border);background:var(--color-red-soft);color:var(--color-red-on);border-radius:var(--radius-sm)}.egress-meta{margin:0 0 var(--space-4);display:flex;flex-direction:column;gap:var(--space-1)}.egress-meta-row{display:flex;gap:var(--space-2);font-size:var(--text-sm)}.egress-meta-row dt{color:var(--color-muted);min-width:88px;font-weight:var(--font-weight-medium)}.egress-meta-row dd{margin:0;color:var(--color-text-strong);font-weight:var(--font-weight-semibold)}.egress-fields{margin:0 0 var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-sunken)}.egress-fields legend{padding:0 var(--space-1);font-size:var(--text-sm);color:var(--color-text-secondary)}.egress-field-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.egress-field{display:flex;align-items:center;gap:var(--space-2)}.egress-field label{cursor:pointer}.egress-field code{font-size:var(--text-sm);color:var(--color-text-strong);background:var(--color-code-bg);padding:2px var(--space-1);border-radius:var(--radius-xs)}.egress-whole-context{margin:0;font-size:var(--text-sm)}.egress-expiry{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);cursor:pointer;margin-bottom:var(--space-1)}.egress-expiry-hint{margin:0 0 var(--space-4);font-size:var(--text-xs)}.egress-actions{display:flex;gap:var(--space-2)}.egress-none-hint{margin:var(--space-2) 0 0;font-size:var(--text-xs);color:var(--color-red-on)}.modal.egress-audit-modal{max-width:480px}.egress-audit h4{margin:0 0 var(--space-3);font-size:var(--text-md)}.egress-audit-empty{margin:0;font-size:var(--text-sm)}.egress-audit-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2);max-height:60vh;overflow-y:auto}.egress-audit-row{display:flex}