@invariant.guru/cli 0.8.0 → 0.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/main.js +359 -359
- package/dist/ui/assets/Editor-0hQt3BGG.js +38 -0
- package/dist/ui/assets/{MarkdownBody-CcVHXls4.js → MarkdownBody-BZDzSb5s.js} +4 -4
- package/dist/ui/assets/Preview-DDmkokv0.js +1 -0
- package/dist/ui/assets/index-CviOvvQi.js +260 -0
- package/dist/ui/assets/index-DJDYH97C.css +1 -0
- package/dist/ui/index.html +28 -3
- package/package.json +1 -1
- package/dist/ui/assets/Editor-3agHSmvf.js +0 -38
- package/dist/ui/assets/Preview-U3gSQ1_T.js +0 -1
- package/dist/ui/assets/index-BMAvvVXL.js +0 -253
- package/dist/ui/assets/index-DWu1unkU.css +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
:root{--ds-space-1:.25rem;--ds-space-2:.5rem;--ds-space-3:.75rem;--ds-space-4:1rem;--ds-space-5:1.25rem;--ds-space-6:1.5rem;--ds-space-8:2rem;--ds-measure-prose:78ch;--ds-measure-editor:104ch;--ds-radius-sm:.375rem;--ds-radius-md:.5rem;--ds-radius-lg:.75rem;--ds-radius-card:.875rem;--ds-radius-full:9999px;--ds-font-xs:.75rem;--ds-font-sm:.8125rem;--ds-font-md:.875rem;--ds-font-lg:1rem;--ds-font-xl:1.25rem;--ds-font-sans:ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Roboto, "Helvetica Neue", sans-serif;--ds-font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--ds-transition:.14s cubic-bezier(.32, .72, 0, 1)}:root:not([data-ds-theme]),[data-ds-theme=indigo],[data-ds-theme=dark]{--ds-color-scheme:dark;--ds-surface:#2e3058;--ds-surface-raised:#282a50;--ds-surface-hover:#3b3d6e;--ds-panel:#383a6b;--ds-header:#ffffff14;--ds-border:#3f4276;--ds-border-strong:#4a4d80;--ds-text-primary:#eef0ff;--ds-text-secondary:#b8bce4;--ds-text-muted:#8d91c0;--ds-accent:#8f94e8;--ds-accent-hover:#a2a6ef;--ds-accent-contrast:#fff;--ds-accent-surface:#3b3d74;--ds-accent-ring:#5153a0;--ds-success:#4ade80;--ds-success-surface:#173a35;--ds-success-ring:#1f5148;--ds-warning:#fcd34d;--ds-warning-surface:#3a2f14;--ds-warning-ring:#5c4a1c;--ds-danger:#f87171;--ds-danger-surface:#3d1f38;--ds-review:#67e8f9;--ds-review-surface:#123b45;--ds-review-ring:#1c5b68;--ds-neutral-surface:#3b3d6e;--ds-neutral-ring:#4a4d80;--ds-project-indigo:#8f94e8;--ds-project-violet:#b48ae8;--ds-project-plum:#d987c8;--ds-project-teal:#5fc9c0;--ds-project-sand:#d9b877;--ds-project-rose:#e58fa2;--ds-project-sky:#7fb2ef;--ds-project-moss:#93c98a;--ds-gradient-body:linear-gradient(180deg, #414378 0%, #2a2c52 100%);--ds-gradient-rail:linear-gradient(180deg, #5b5ea6 0%, #343660 100%);--ds-gradient-panel:linear-gradient(180deg, #43457c 0%, #2c2e54 100%);--ds-tint-quiet:#ffffff08;--ds-tint-row-hover:#ffffff0a;--ds-tint-surface:#ffffff0f;--ds-tint-control-soft:#ffffff12;--ds-tint-control:#ffffff14;--ds-tint-table-head:#ffffff0d;--ds-tint-table-stripe:#ffffff05;--ds-row-focus:#8f94e81a;--ds-row-review:#67e8f908;--ds-well:#00000024;--ds-input-bg:#0003;--ds-input-bg-soft:#0000002e;--ds-transcript-bg:#0c0d2059;--ds-rail-border:#ffffff0f;--ds-rail-hub:#ffffff1f;--ds-rail-hub-hover:#fff3;--ds-rail-chip:#ffffff1a;--ds-rail-chip-hover:#ffffff2e;--ds-rail-item:#eef0ffb8;--ds-rail-item-hover:#ffffff1f;--ds-rail-item-active:#ffffff2e;--ds-rail-item-active-text:#fff;--ds-success-glow:#4ade8029;--ds-scrim:#0c0d209e;--ds-scrim-inner:#0c0d20b8;--ds-code-text:#c7cbff;--ds-code-bg:#8f94e824;--ds-code-block-bg:#00000042;--ds-code-keyword:#a5aaf2;--ds-code-string:#9ee8c4;--ds-code-number:#fcd34d;--ds-code-name:#8f94e8;--ds-code-attr:#b8bce4;--ds-code-type:#c7cbff;--ds-editor-code-bg:#8f94e81f;--ds-editor-selection:#8f94e83d;--ds-editor-selection-match:#8f94e82e;--ds-editor-active-line:#ffffff08;--ds-editor-search:#fcd34d38;--ds-editor-search-ring:#fcd34d66;--ds-editor-search-selected:#fcd34d61;--ds-shadow-card:0 1px 2px #0c0d2047;--ds-shadow-raised:0 12px 32px #0c0d206b;--ds-shadow-menu:0 18px 40px #00000073;--ds-shadow-accent:0 0 0 1px var(--ds-accent-ring), 0 8px 26px #8f94e82e;--ds-split-hairline:#00000038;--ds-hover-brightness:1.12;--ds-hover-brightness-strong:1.15}[data-ds-theme=graphite]{--ds-color-scheme:dark;--ds-surface:#212429;--ds-surface-raised:#1a1d21;--ds-surface-hover:#2c3036;--ds-panel:#282c31;--ds-header:#ffffff0d;--ds-border:#363a41;--ds-border-strong:#464b53;--ds-text-primary:#eceef1;--ds-text-secondary:#b6bcc4;--ds-text-muted:#959ca6;--ds-accent:#9fb2cc;--ds-accent-hover:#b8c6da;--ds-accent-contrast:#14171b;--ds-accent-surface:#2e343c;--ds-accent-ring:#49515c;--ds-success:#58c98a;--ds-success-surface:#16291f;--ds-success-ring:#1f4030;--ds-warning:#e3b341;--ds-warning-surface:#2c2413;--ds-warning-ring:#4a3c1c;--ds-danger:#f0736c;--ds-danger-surface:#33201f;--ds-review:#66c7d4;--ds-review-surface:#14282c;--ds-review-ring:#1f4650;--ds-neutral-surface:#2c3036;--ds-neutral-ring:#464b53;--ds-project-indigo:#8e97d6;--ds-project-violet:#ab8fd0;--ds-project-plum:#cc8bbb;--ds-project-teal:#5fb8ae;--ds-project-sand:#cbab72;--ds-project-rose:#d98b9c;--ds-project-sky:#7fa8d8;--ds-project-moss:#8bbd84;--ds-gradient-body:linear-gradient(180deg, #2b2f35 0%, #191b1e 100%);--ds-gradient-rail:linear-gradient(180deg, #3a3f46 0%, #212429 100%);--ds-gradient-panel:linear-gradient(180deg, #2f343a 0%, #1e2125 100%);--ds-tint-quiet:#ffffff08;--ds-tint-row-hover:#ffffff0a;--ds-tint-surface:#ffffff0f;--ds-tint-control-soft:#ffffff12;--ds-tint-control:#ffffff14;--ds-tint-table-head:#ffffff0d;--ds-tint-table-stripe:#ffffff05;--ds-row-focus:#9fb2cc1f;--ds-row-review:#66c7d40a;--ds-well:#00000029;--ds-input-bg:#0000003d;--ds-input-bg-soft:#0003;--ds-transcript-bg:#0000004d;--ds-rail-border:#ffffff0f;--ds-rail-hub:#ffffff1a;--ds-rail-hub-hover:#ffffff2e;--ds-rail-chip:#ffffff14;--ds-rail-chip-hover:#ffffff29;--ds-rail-item:#eceef1b3;--ds-rail-item-hover:#ffffff1a;--ds-rail-item-active:#ffffff29;--ds-rail-item-active-text:#fff;--ds-success-glow:#58c98a29;--ds-scrim:#08090ba8;--ds-scrim-inner:#08090bbd;--ds-code-text:#cfd6e0;--ds-code-bg:#9fb2cc24;--ds-code-block-bg:#00000047;--ds-code-keyword:#a8bad4;--ds-code-string:#8fcbaa;--ds-code-number:#e3b341;--ds-code-name:#9fb2cc;--ds-code-attr:#b6bcc4;--ds-code-type:#b9a5d6;--ds-editor-code-bg:#9fb2cc1f;--ds-editor-selection:#9fb2cc42;--ds-editor-selection-match:#9fb2cc2e;--ds-editor-active-line:#ffffff08;--ds-editor-search:#e3b34138;--ds-editor-search-ring:#e3b34166;--ds-editor-search-selected:#e3b34161;--ds-shadow-card:0 1px 2px #00000057;--ds-shadow-raised:0 12px 32px #00000080;--ds-shadow-menu:0 18px 40px #00000085;--ds-shadow-accent:0 0 0 1px var(--ds-accent-ring), 0 8px 26px #0006;--ds-split-hairline:#00000042;--ds-hover-brightness:1.12;--ds-hover-brightness-strong:1.15}[data-ds-theme=paper]{--ds-color-scheme:light;--ds-surface:#fff;--ds-surface-raised:#fff;--ds-surface-hover:#eef0f5;--ds-panel:#f7f8fb;--ds-header:#171a2408;--ds-border:#e3e6ec;--ds-border-strong:#c9cedb;--ds-text-primary:#171a24;--ds-text-secondary:#4a5364;--ds-text-muted:#646d7e;--ds-accent:#4a4dbe;--ds-accent-hover:#3a3da5;--ds-accent-contrast:#fff;--ds-accent-surface:#ebecfa;--ds-accent-ring:#b9bbef;--ds-success:#0f7040;--ds-success-surface:#e4f4ea;--ds-success-ring:#aedcc3;--ds-warning:#7d5300;--ds-warning-surface:#fbf1d7;--ds-warning-ring:#e6ca88;--ds-danger:#b3261e;--ds-danger-surface:#fdeceb;--ds-review:#0b6070;--ds-review-surface:#e0f2f6;--ds-review-ring:#a2d9e2;--ds-neutral-surface:#eef0f5;--ds-neutral-ring:#d5dae3;--ds-project-indigo:#4a4dbe;--ds-project-violet:#7239ad;--ds-project-plum:#a63a8d;--ds-project-teal:#0d6f66;--ds-project-sand:#7d5a0d;--ds-project-rose:#a93b52;--ds-project-sky:#2565ad;--ds-project-moss:#38702d;--ds-gradient-body:linear-gradient(180deg, #f8f9fc 0%, #eceef4 100%);--ds-gradient-rail:linear-gradient(180deg, #fff 0%, #eef0f5 100%);--ds-gradient-panel:linear-gradient(180deg, #fff 0%, #f5f6fa 100%);--ds-tint-quiet:#171a2408;--ds-tint-row-hover:#171a240a;--ds-tint-surface:#171a240d;--ds-tint-control-soft:#171a240d;--ds-tint-control:#171a240f;--ds-tint-table-head:#171a240a;--ds-tint-table-stripe:#171a2405;--ds-row-focus:#4a4dbe17;--ds-row-review:#0b60700a;--ds-well:#171a240a;--ds-input-bg:#171a2408;--ds-input-bg-soft:#171a2408;--ds-transcript-bg:#171a240d;--ds-rail-border:#171a2414;--ds-rail-hub:#171a240f;--ds-rail-hub-hover:#171a241c;--ds-rail-chip:#171a240d;--ds-rail-chip-hover:#171a241a;--ds-rail-item:#171a24a8;--ds-rail-item-hover:#171a2412;--ds-rail-item-active:#4a4dbe1f;--ds-rail-item-active-text:#2f3287;--ds-success-glow:#0f70402e;--ds-scrim:#1e22306b;--ds-scrim-inner:#1e223080;--ds-code-text:#3d3f9e;--ds-code-bg:#4a4dbe17;--ds-code-block-bg:#171a240a;--ds-code-keyword:#4a4dbe;--ds-code-string:#0f6b46;--ds-code-number:#7d5300;--ds-code-name:#a63a8d;--ds-code-attr:#4a5364;--ds-code-type:#7239ad;--ds-editor-code-bg:#4a4dbe14;--ds-editor-selection:#4a4dbe2e;--ds-editor-selection-match:#4a4dbe21;--ds-editor-active-line:#171a2408;--ds-editor-search:#e6b01452;--ds-editor-search-ring:#7d530073;--ds-editor-search-selected:#e6b0148c;--ds-shadow-card:0 1px 2px #171a2412;--ds-shadow-raised:0 12px 32px #171a2424;--ds-shadow-menu:0 18px 40px #171a242e;--ds-shadow-accent:0 0 0 1px var(--ds-accent-ring), 0 8px 26px #4a4dbe29;--ds-split-hairline:#171a2424;--ds-hover-brightness:.96;--ds-hover-brightness-strong:.94}*,:before,:after{box-sizing:border-box}:root{color-scheme:var(--ds-color-scheme)}html,body,#root{height:100%}body{font-family:var(--ds-font-sans);font-size:var(--ds-font-md);color:var(--ds-text-primary);background:var(--ds-gradient-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-attachment:fixed;margin:0}h1,h2,h3,h4,h5,h6,p,figure{margin:0}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}input,textarea{font:inherit;color:inherit}a{color:var(--ds-accent);text-decoration:none}:focus-visible{outline:2px solid var(--ds-accent);outline-offset:2px;border-radius:var(--ds-radius-sm)}::selection{background:var(--ds-accent-surface);color:var(--ds-text-primary)}*{scrollbar-width:thin;scrollbar-color:var(--ds-border-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--ds-border-strong);border-radius:var(--ds-radius-full);background-clip:content-box;border:3px solid #0000}::-webkit-scrollbar-thumb:hover{background:var(--ds-accent-ring);background-clip:content-box}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app{grid-template-columns:64px 1fr;height:100%;display:grid}.app--project .main{border-top:2px solid var(--project-accent,var(--ds-project-indigo))}.app--indigo{--project-accent:var(--ds-project-indigo)}.app--violet{--project-accent:var(--ds-project-violet)}.app--plum{--project-accent:var(--ds-project-plum)}.app--teal{--project-accent:var(--ds-project-teal)}.app--sand{--project-accent:var(--ds-project-sand)}.app--rose{--project-accent:var(--ds-project-rose)}.app--sky{--project-accent:var(--ds-project-sky)}.app--moss{--project-accent:var(--ds-project-moss)}.crumbs{align-items:center;gap:var(--ds-space-2);font-size:var(--ds-font-xs);color:var(--ds-text-muted);margin-bottom:2px;display:flex}.crumbs__link{color:var(--ds-text-muted);transition:color var(--ds-transition)}.crumbs__link:hover{color:var(--ds-text-primary)}.crumbs__sep{color:var(--ds-text-muted);opacity:.6}.crumbs__here{color:var(--ds-text-secondary)}.main{flex-direction:column;min-width:0;display:flex;position:relative;overflow:hidden}.rail{align-items:center;gap:var(--ds-space-2);padding:var(--ds-space-4) 0;background:var(--ds-gradient-rail);border-right:1px solid var(--ds-rail-border);flex-direction:column;display:flex}.rail__hub{width:34px;height:34px;color:var(--ds-text-primary);border-radius:var(--ds-radius-md);background:var(--ds-rail-hub);transition:background var(--ds-transition);place-items:center;display:grid}.rail__hub:hover{background:var(--ds-rail-hub-hover)}.rail__hub svg{fill:none;stroke:currentColor;stroke-width:1.5px;width:20px;height:20px}.rail__project{width:40px;height:40px;margin:var(--ds-space-3) 0 var(--ds-space-4);border-radius:var(--ds-radius-lg);background:var(--ds-rail-chip);box-shadow:inset 0 0 0 1.5px var(--project-accent,var(--ds-project-indigo));transition:background var(--ds-transition), box-shadow var(--ds-transition);place-items:center;display:grid;position:relative}.rail__project:hover{background:var(--ds-rail-chip-hover)}.rail__monogram{font-size:var(--ds-font-sm);letter-spacing:.02em;color:var(--project-accent,var(--ds-project-indigo));font-weight:680}.rail__chevron{fill:none;width:12px;height:12px;stroke:var(--ds-text-secondary);stroke-width:1.6px;opacity:0;transition:opacity var(--ds-transition);position:absolute;bottom:-1px;right:-1px}.rail__project:hover .rail__chevron{opacity:1}.rail__project--indigo{--project-accent:var(--ds-project-indigo)}.rail__project--violet{--project-accent:var(--ds-project-violet)}.rail__project--plum{--project-accent:var(--ds-project-plum)}.rail__project--teal{--project-accent:var(--ds-project-teal)}.rail__project--sand{--project-accent:var(--ds-project-sand)}.rail__project--rose{--project-accent:var(--ds-project-rose)}.rail__project--sky{--project-accent:var(--ds-project-sky)}.rail__project--moss{--project-accent:var(--ds-project-moss)}.rail__items{gap:var(--ds-space-1);flex-direction:column;flex:1;display:flex}.rail__foot{align-items:center;gap:var(--ds-space-3);flex-direction:column;display:flex}.rail__item{width:40px;height:40px;color:var(--ds-rail-item);border-radius:var(--ds-radius-md);transition:background var(--ds-transition), color var(--ds-transition);place-items:center;display:grid}.rail__item svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:19px;height:19px}.rail__item:hover:not(:disabled){background:var(--ds-rail-item-hover);color:var(--ds-text-primary)}.rail__item.is-active{background:var(--ds-rail-item-active);color:var(--ds-rail-item-active-text)}.rail__live{border-radius:var(--ds-radius-full);background:var(--ds-text-muted);width:7px;height:7px}.rail__live--live{background:var(--ds-success);box-shadow:0 0 0 3px var(--ds-success-glow)}.rail__live--connecting{background:var(--ds-warning)}.rail__live--offline{background:var(--ds-danger)}.topbar{align-items:center;gap:var(--ds-space-4);row-gap:var(--ds-space-2);padding:var(--ds-space-4) var(--ds-space-6);background:var(--ds-header);border-bottom:1px solid var(--ds-border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);flex-wrap:wrap;display:flex}.topbar__identity{flex:200px;min-width:0}.topbar__controls{justify-content:flex-end;align-items:center;gap:var(--ds-space-4);flex-wrap:wrap;margin-left:auto;display:flex}.topbar__title{font-size:var(--ds-font-xl);letter-spacing:-.01em;font-weight:640}.topbar__path{max-width:42ch;font-family:var(--ds-font-mono);font-size:var(--ds-font-xs);color:var(--ds-text-muted);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.topbar__path:hover{color:var(--ds-text-secondary)}.topbar__counts{gap:var(--ds-space-4);display:flex}.count{align-items:baseline;gap:var(--ds-space-1);display:flex}.count__value{font-size:var(--ds-font-lg);font-weight:640}.count__label{font-size:var(--ds-font-xs);color:var(--ds-text-muted)}.count--in-progress .count__value,.count--planning .count__value{color:var(--ds-accent)}.count--review .count__value{color:var(--ds-warning)}.count--executed .count__value{color:var(--ds-text-muted)}.filter{flex:160px;min-width:0}.filter__input{width:100%;min-width:120px;color:var(--ds-text-primary);background:var(--ds-input-bg-soft);border:1px solid var(--ds-border);border-radius:var(--ds-radius-md);transition:border-color var(--ds-transition), box-shadow var(--ds-transition);outline:none;padding:6px 10px}.filter--compact .filter__input{max-width:220px}.filter__input::placeholder{color:var(--ds-text-muted)}.filter__input:focus,.filter__input:focus-visible{border-color:var(--ds-accent);border-radius:var(--ds-radius-md);box-shadow:0 0 0 3px var(--ds-accent-surface);outline:none}.button{align-items:center;gap:var(--ds-space-2);font-size:var(--ds-font-sm);white-space:nowrap;border-radius:var(--ds-radius-md);transition:background var(--ds-transition), color var(--ds-transition), border-color var(--ds-transition);padding:6px 12px;font-weight:560;display:inline-flex}.button--solid{color:var(--ds-accent-contrast);background:var(--ds-accent)}.button--solid:hover:not(:disabled){background:var(--ds-accent-hover)}.button--subtle{color:var(--ds-text-primary);background:var(--ds-tint-control);border:1px solid var(--ds-border)}.button--subtle:hover:not(:disabled){background:var(--ds-surface-hover)}.button--ghost{color:var(--ds-text-secondary)}.button--ghost:hover:not(:disabled){color:var(--ds-text-primary);background:var(--ds-tint-control-soft)}.button:disabled{opacity:.5;cursor:not-allowed}.link-button{color:var(--ds-accent);font-size:var(--ds-font-sm);text-decoration:underline}.icon-button{width:30px;height:30px;color:var(--ds-text-secondary);border-radius:var(--ds-radius-md);place-items:center;display:grid}.icon-button svg{fill:none;stroke:currentColor;width:15px;height:15px}.icon-button:hover{color:var(--ds-text-primary);background:var(--ds-tint-control)}.segmented{background:var(--ds-input-bg);border:1px solid var(--ds-border);border-radius:var(--ds-radius-md);padding:2px;display:inline-flex}.segmented__item{font-size:var(--ds-font-sm);color:var(--ds-text-secondary);border-radius:calc(var(--ds-radius-md) - 2px);transition:background var(--ds-transition), color var(--ds-transition);padding:4px 11px}.segmented__item.is-active{color:var(--ds-text-primary);background:var(--ds-surface-hover)}.glyph{border-radius:var(--ds-radius-full);flex:none;place-items:center;display:inline-grid;position:relative}.glyph--draft{border:1.5px solid var(--ds-text-secondary)}.glyph--planned{background:linear-gradient(90deg, var(--ds-warning) 0 50%, transparent 50% 100%);box-shadow:inset 0 0 0 1.5px var(--ds-warning)}.glyph--executed{color:var(--ds-success-surface);background:var(--ds-success)}.glyph--in-progress,.glyph--planning{background:var(--ds-accent)}.glyph--review{background:var(--ds-warning)}.glyph__ring{border-radius:inherit;box-shadow:0 0 0 2px var(--ds-warning-ring);position:absolute;inset:0}.glyph__check{width:100%;height:100%}.glyph__pulse{border-radius:inherit;box-shadow:0 0 0 1.5px var(--ds-accent);animation:2.4s cubic-bezier(.16,.8,.35,1) infinite glyph-pulse;position:absolute;inset:0}@keyframes glyph-pulse{0%{opacity:.45;transform:scale(1)}70%{opacity:0;transform:scale(1.9)}to{opacity:0;transform:scale(1.9)}}@media (prefers-reduced-motion:reduce){.glyph__pulse{opacity:.5;box-shadow:0 0 0 2px var(--ds-accent);animation:none}}.pill{align-items:center;gap:var(--ds-space-2);font-size:var(--ds-font-xs);white-space:nowrap;border-radius:var(--ds-radius-full);background:var(--ds-neutral-surface);box-shadow:inset 0 0 0 1px var(--ds-neutral-ring);padding:3px 9px;font-weight:560;display:inline-flex}.pill--planning,.pill--in-progress{color:var(--ds-accent);background:var(--ds-accent-surface);box-shadow:inset 0 0 0 1px var(--ds-accent-ring)}.pill--planned,.pill--review{color:var(--ds-warning);background:var(--ds-warning-surface);box-shadow:inset 0 0 0 1px var(--ds-warning-ring)}.pill--executed{color:var(--ds-success);background:var(--ds-success-surface);box-shadow:inset 0 0 0 1px var(--ds-success-ring)}.pill--draft{color:var(--ds-text-secondary)}.pill--pending{color:var(--ds-review);background:var(--ds-review-surface);box-shadow:inset 0 0 0 1px var(--ds-review-ring)}.pill--interactive:hover{filter:brightness(var(--ds-hover-brightness))}.pill__caret{opacity:.65;width:10px;height:10px}.pill-menu{position:relative}.pill-menu__list{z-index:20;min-width:170px;padding:var(--ds-space-1);background:var(--ds-surface-raised);border:1px solid var(--ds-border);border-radius:var(--ds-radius-lg);box-shadow:var(--ds-shadow-raised);position:absolute;top:calc(100% + 6px);left:0}.pill-menu__list--up{top:auto;bottom:calc(100% + 6px)}.pill-menu__item{align-items:center;gap:var(--ds-space-2);width:100%;font-size:var(--ds-font-sm);text-align:left;border-radius:var(--ds-radius-sm);padding:6px 8px;display:flex}.pill-menu__item:hover{background:var(--ds-surface-hover)}.pill-menu__item.is-active{color:var(--ds-accent)}.chip{color:var(--ds-text-secondary);background:var(--ds-tint-surface);border-radius:var(--ds-radius-full);padding:1px 7px;font-size:11px}.chip--warning{color:var(--ds-warning);background:var(--ds-warning-surface)}.list{min-height:0;padding:var(--ds-space-5) var(--ds-space-6);flex:1;overflow:auto}.list__table{border-collapse:separate;border-spacing:0;width:100%}.list__table th{padding:0 var(--ds-space-3) var(--ds-space-2);font-size:var(--ds-font-xs);color:var(--ds-text-muted);text-align:left;font-weight:560}.list__table td{padding:var(--ds-space-3);vertical-align:top;border-top:1px solid var(--ds-border)}.list__table tbody tr{cursor:pointer}.list__table tbody tr:hover td{background:var(--ds-tint-row-hover)}.list__table tbody tr.is-focused td{background:var(--ds-row-focus)}.list__select{text-align:center;vertical-align:middle;width:2.25rem;padding-right:0}.select-box{width:15px;height:15px;accent-color:var(--ds-accent);cursor:pointer;margin:0}.select-box:disabled{cursor:not-allowed;opacity:.4}.list__table tbody tr.is-selected td{background:var(--ds-accent-surface)}.list__table tbody tr.is-selected td:first-child{box-shadow:inset 2px 0 0 var(--ds-accent)}.list__table tbody tr.is-selected:hover td{background:var(--ds-surface-hover)}.list.is-selecting{padding-bottom:4.75rem}.list__title{font-weight:560}.list__excerpt{font-size:var(--ds-font-sm);color:var(--ds-text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:60ch;margin-top:2px;overflow:hidden}.list__meta{font-size:var(--ds-font-sm);color:var(--ds-text-muted);white-space:nowrap}.cell-clip{text-overflow:ellipsis;white-space:nowrap;text-align:left;max-width:100%;display:block;overflow:hidden}.list__table--reviews{table-layout:fixed}.list__table--reviews .col--branch{width:40%}.list__table--reviews .col--work{width:60%}.list__table--reviews .col--triage{width:13.5rem}.list__table--reviews .col--runs{width:4rem}.list__table--reviews .col--updated{width:7.5rem}.list__table--reviews th{white-space:nowrap}.list__table--reviews td{overflow:hidden}.list__table--reviews .list__excerpt{max-width:100%}.reviews__row--pending td:first-child{box-shadow:inset 2px 0 0 var(--ds-review)}.session{flex-direction:column;flex:1;min-height:0;display:flex}.session__head{align-items:center;gap:var(--ds-space-3);row-gap:var(--ds-space-2);padding:var(--ds-space-3) var(--ds-space-5);background:var(--ds-header);border-bottom:1px solid var(--ds-border);flex-wrap:wrap;display:flex}.session__head>.icon-button{flex:none}.session__identity{flex:240px;min-width:0}.session__title{font-size:var(--ds-font-lg);text-overflow:ellipsis;white-space:nowrap;font-weight:620;overflow:hidden}.session__meta{gap:var(--ds-space-2);font-size:var(--ds-font-xs);color:var(--ds-text-muted);flex-wrap:wrap;display:flex}.session__dirty{color:var(--ds-warning)}.session__saving{color:var(--ds-accent)}.session__actions{gap:var(--ds-space-2);display:flex}.session__controls{justify-content:flex-end;align-items:center;gap:var(--ds-space-2);flex-wrap:wrap;margin-left:auto;display:flex}.session__body{flex:1;min-height:0;display:flex}.session__body--split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.session__body--split>*{border-right:1px solid var(--ds-border);min-width:0;min-height:0}.session__body--split>:last-child{border-right:0}@media (min-width:1500px){.session__body--split{grid-template-columns:minmax(0,1fr) 45rem}}.editor{flex:1;min-width:0;overflow:auto}.preview{min-width:0;padding:var(--ds-space-6);flex:1;overflow:auto}.preview--with-toc{gap:var(--ds-space-6);grid-template-columns:minmax(0,1fr) 190px;align-items:start;display:grid}.toc{padding-left:var(--ds-space-3);border-left:1px solid var(--ds-border);flex-direction:column;gap:2px;display:flex;position:sticky;top:0}.toc__item{font-size:var(--ds-font-xs);color:var(--ds-text-muted);text-overflow:ellipsis;white-space:nowrap;padding:2px 0;overflow:hidden}.toc__item:hover{color:var(--ds-text-primary)}.toc__item--2{padding-left:var(--ds-space-2)}.toc__item--3{padding-left:var(--ds-space-4)}.banner{align-items:center;gap:var(--ds-space-4);padding:var(--ds-space-3) var(--ds-space-5);font-size:var(--ds-font-sm);border-bottom:1px solid var(--ds-border);display:flex}.banner__text{flex:1}.banner__actions{gap:var(--ds-space-2);display:flex}.banner--conflict{color:var(--ds-danger);background:var(--ds-danger-surface)}.banner--conflict .banner__text{color:var(--ds-text-primary)}.banner--warning{background:var(--ds-warning-surface)}.banner--warning .banner__text{color:var(--ds-text-primary)}.page-state{place-content:center;gap:var(--ds-space-4);color:var(--ds-text-muted);flex:1;display:grid}.empty{place-content:center;justify-items:center;gap:var(--ds-space-3);text-align:center;flex:1;max-width:46ch;margin:0 auto;display:grid}.empty__title{font-size:var(--ds-font-xl);font-weight:620}.empty__text{color:var(--ds-text-muted);line-height:1.6}.panel__empty{padding:var(--ds-space-4) var(--ds-space-2);font-size:var(--ds-font-sm);color:var(--ds-text-muted)}.toasts{right:var(--ds-space-5);bottom:var(--ds-space-5);z-index:60;gap:var(--ds-space-2);flex-direction:column;display:flex;position:fixed}.toast{font-size:var(--ds-font-sm);background:var(--ds-surface-raised);border:1px solid var(--ds-border);border-radius:var(--ds-radius-md);box-shadow:var(--ds-shadow-raised);padding:9px 14px;animation:.18s cubic-bezier(.32,.72,0,1) toast-in}.toast--success{border-color:var(--ds-success-ring)}.toast--danger{border-color:var(--ds-danger);color:var(--ds-danger)}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.overlay{z-index:50;padding:var(--ds-space-6);background:var(--ds-scrim);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);place-items:center;display:grid;position:fixed;inset:0}.overlay--top{align-items:start;padding-top:12vh}.modal{background:var(--ds-surface);border:1px solid var(--ds-border);border-radius:var(--ds-radius-card);width:100%;box-shadow:var(--ds-shadow-raised);position:relative}.modal:focus-visible{outline:2px solid var(--ds-accent);outline-offset:2px}.modal:focus{outline:none}.modal__header{padding:var(--ds-space-4) var(--ds-space-5);border-bottom:1px solid var(--ds-border);justify-content:space-between;align-items:center;display:flex}.modal__title{font-size:var(--ds-font-lg);font-weight:620}.modal__body{gap:var(--ds-space-4);padding:var(--ds-space-5);flex-direction:column;display:flex}.modal__footer{justify-content:flex-end;align-items:center;gap:var(--ds-space-2);padding:var(--ds-space-4) var(--ds-space-5);border-top:1px solid var(--ds-border);display:flex}.modal__hint{font-size:var(--ds-font-xs);color:var(--ds-text-muted);margin-right:auto}.modal__confirm{z-index:1;padding:var(--ds-space-5);background:var(--ds-scrim-inner);border-radius:var(--ds-radius-card);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);place-items:center;display:grid;position:absolute;inset:0}.modal__confirm-card{gap:var(--ds-space-3);width:100%;max-width:420px;padding:var(--ds-space-5);background:var(--ds-surface-raised);border:1px solid var(--ds-border);border-radius:var(--ds-radius-lg);box-shadow:var(--ds-shadow-raised);flex-direction:column;display:flex}.modal__confirm-title{font-size:var(--ds-font-md);font-weight:620}.modal__confirm-actions{justify-content:flex-end;gap:var(--ds-space-2);margin-top:var(--ds-space-2);display:flex}.field{gap:var(--ds-space-2);flex-direction:column;flex:1;display:flex}.field__label{font-size:var(--ds-font-xs);color:var(--ds-text-secondary);font-weight:560}.field__optional{color:var(--ds-text-muted);font-weight:400}.field__input{background:var(--ds-input-bg);border:1px solid var(--ds-border);border-radius:var(--ds-radius-md);transition:border-color var(--ds-transition);outline:none;padding:9px 11px}.field__input:focus{border-color:var(--ds-accent)}.field__input--area{resize:vertical;line-height:1.55}.field-row{gap:var(--ds-space-4);align-items:flex-end;display:flex}.checkbox{align-items:center;gap:var(--ds-space-2);font-size:var(--ds-font-sm);color:var(--ds-text-secondary);white-space:nowrap;display:flex}.palette{background:var(--ds-surface);border:1px solid var(--ds-border-strong);border-radius:var(--ds-radius-card);width:100%;max-width:620px;box-shadow:var(--ds-shadow-raised);overflow:hidden}.palette__field{align-items:center;gap:var(--ds-space-2);padding-left:var(--ds-space-5);border-bottom:1px solid var(--ds-border);display:flex}.palette__scope{padding:2px var(--ds-space-2);font-size:var(--ds-font-xs);color:var(--ds-accent);background:var(--ds-accent-surface);border-radius:var(--ds-radius-sm);flex:none;font-weight:600}.palette__input{width:100%;padding:var(--ds-space-4) var(--ds-space-5) var(--ds-space-4) 0;font-size:var(--ds-font-lg);background:0 0;border:0;outline:none}.palette__input::placeholder{color:var(--ds-text-muted)}.palette__list{max-height:46vh;padding:var(--ds-space-2);overflow-y:auto}.palette__group{padding:var(--ds-space-2) var(--ds-space-3) var(--ds-space-1);letter-spacing:.04em;color:var(--ds-text-muted);text-transform:uppercase;font-size:11px;font-weight:600}.palette__item{align-items:center;gap:var(--ds-space-3);width:100%;padding:8px var(--ds-space-3);font-size:var(--ds-font-md);text-align:left;border-radius:var(--ds-radius-md);display:flex}.palette__item.is-active{background:var(--ds-surface-hover)}.palette__title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.palette__hint{font-size:var(--ds-font-xs);color:var(--ds-text-muted);white-space:nowrap;margin-left:auto}.palette__shortcut,.palette__foot kbd,.shortcuts kbd{font-family:var(--ds-font-mono);color:var(--ds-text-secondary);background:var(--ds-tint-control-soft);border:1px solid var(--ds-border);border-radius:var(--ds-radius-sm);padding:1px 6px;font-size:11px}.palette__empty{padding:var(--ds-space-5);color:var(--ds-text-muted);text-align:center}.palette__foot{align-items:center;gap:var(--ds-space-2);padding:var(--ds-space-2) var(--ds-space-4);font-size:var(--ds-font-xs);color:var(--ds-text-muted);border-top:1px solid var(--ds-border);display:flex}.shortcuts{gap:var(--ds-space-5);flex-direction:column;display:flex}.shortcuts__title{font-size:var(--ds-font-xs);letter-spacing:.04em;color:var(--ds-text-muted);text-transform:uppercase;margin-bottom:var(--ds-space-2);font-weight:600}.shortcuts__row{align-items:center;gap:var(--ds-space-3);font-size:var(--ds-font-sm);padding:3px 0;display:flex}.shortcuts__row kbd{text-align:center;min-width:62px}@media (max-width:1100px){.preview--with-toc{grid-template-columns:minmax(0,1fr)}.toc{display:none}.session__controls{flex-basis:100%;justify-content:flex-start;margin-left:0}.list__table--reviews .col--triage{width:11.5rem}.list__table--reviews .col--updated{width:6.5rem}}@media (max-width:1000px){.count__label{display:none}}@media (max-width:900px){.session__stamp--created,.list__table--reviews .col--runs,.list__table--reviews th:nth-child(4),.list__table--reviews td:nth-child(4){display:none}}@media (max-width:720px){.topbar__counts,.topbar__path{display:none}.topbar__controls{flex-basis:100%;justify-content:flex-start;margin-left:0}.list__table--reviews .col--updated,.list__table--reviews th:nth-child(5),.list__table--reviews td:nth-child(5){display:none}}@media (max-width:640px){.session__title{font-size:var(--ds-font-md)}.session__actions{flex:100%}}.banner--review{border-color:var(--ds-review-ring);background:var(--ds-review-surface)}.segmented__badge{margin-left:var(--ds-space-2);border-radius:var(--ds-radius-full);color:var(--ds-warning);background:var(--ds-warning-surface);box-shadow:inset 0 0 0 1px var(--ds-warning-ring);padding:0 5px;font-size:10px;font-weight:640}.review{flex-direction:column;flex:1;min-height:0;display:flex}.review__scroll{flex:1;min-height:0;overflow-y:auto}.review__toolbar{z-index:5;align-items:center;gap:var(--ds-space-3);padding:var(--ds-space-3) var(--ds-space-6);border-bottom:1px solid var(--ds-border);background:var(--ds-surface-raised);flex-wrap:wrap;display:flex;position:sticky;top:0}.review__summary{padding:var(--ds-space-4) var(--ds-space-6) var(--ds-space-2);color:var(--ds-text-secondary);font-size:var(--ds-font-sm)}.review__run{margin:0 0 var(--ds-space-3);padding:var(--ds-space-3) var(--ds-space-4);border:1px solid var(--ds-border);border-radius:var(--ds-radius-card);background:var(--ds-surface-raised)}.review__run-head{align-items:center;gap:var(--ds-space-2);margin-bottom:var(--ds-space-2);font-size:var(--ds-font-xs);color:var(--ds-text-muted);display:flex}.review__run-label{letter-spacing:.04em;text-transform:uppercase;color:var(--ds-text-secondary);font-weight:620}.review__run-counts{margin-left:auto}.review__list{padding:var(--ds-space-4) var(--ds-space-6);gap:var(--ds-space-3);flex-direction:column;display:flex}.review__foot{align-items:center;gap:var(--ds-space-3);padding:var(--ds-space-4) var(--ds-space-6);border-top:1px solid var(--ds-border);background:var(--ds-surface-raised);display:flex}.review__gate{font-size:var(--ds-font-sm);color:var(--ds-warning);flex:1}.review__gate.is-ready{color:var(--ds-success)}.review__note{padding:0 var(--ds-space-6) var(--ds-space-4);color:var(--ds-danger);font-size:var(--ds-font-sm);margin:0}.comment{border:1px solid var(--ds-border);border-radius:var(--ds-radius-card);background:var(--ds-surface-raised);box-shadow:var(--ds-shadow-card);transition:border-color var(--ds-transition), opacity var(--ds-transition)}.comment.is-focused{border-color:var(--ds-accent-ring);box-shadow:var(--ds-shadow-accent)}.comment--staged{border-left:3px solid var(--ds-success)}.comment--discarded{opacity:.5;border-left:3px solid var(--ds-border-strong)}.comment--discarded:hover{opacity:.8}.comment__head{align-items:baseline;gap:var(--ds-space-2);padding:var(--ds-space-3) var(--ds-space-4);cursor:pointer;flex-wrap:wrap;display:flex}.comment__glyph{color:var(--ds-text-secondary)}.comment__severity{font-size:var(--ds-font-xs);text-transform:uppercase;letter-spacing:.04em;font-weight:620}.comment__severity--blocker{color:var(--ds-danger)}.comment__severity--major{color:var(--ds-warning)}.comment__severity--minor{color:var(--ds-accent)}.comment__severity--nit{color:var(--ds-text-muted)}.comment__severity--praise{color:var(--ds-success)}.comment__category{font-size:var(--ds-font-xs);color:var(--ds-text-muted)}.comment__location{font-family:var(--ds-font-mono);font-size:var(--ds-font-xs);color:var(--ds-text-muted)}.comment__title{font-size:var(--ds-font-md);color:var(--ds-text-primary);flex:100%;margin:0;font-weight:560}.comment__body{padding:0 var(--ds-space-4) var(--ds-space-3)}.comment__prose{margin:0 0 var(--ds-space-3)}.comment__discussion{margin:0 0 var(--ds-space-3);padding-left:var(--ds-space-3);border-left:2px solid var(--ds-border-strong);color:var(--ds-text-muted)}.comment__suggestion{margin:0 0 var(--ds-space-3)}.comment__suggestion-head{align-items:center;gap:var(--ds-space-3);font-size:var(--ds-font-xs);color:var(--ds-text-muted);display:flex}.comment__suggestion-label{letter-spacing:.03em;text-transform:uppercase}.comment__location-row{align-items:center;gap:var(--ds-space-3);font-size:var(--ds-font-xs);flex-wrap:wrap;display:flex}.comment__path{font-family:var(--ds-font-mono);color:var(--ds-text-muted)}.comment__actions{justify-content:flex-end;gap:var(--ds-space-2);padding:0 var(--ds-space-4) var(--ds-space-3);display:flex}.comment-editor{gap:var(--ds-space-3);flex-direction:column;display:flex}.comment-editor__classification{gap:var(--ds-space-3);flex-wrap:wrap;display:flex}.comment-editor__classification .field{flex:10rem;min-width:0}.select--blocker{color:var(--ds-danger)}.select--major{color:var(--ds-warning)}.select--minor{color:var(--ds-accent)}.select--nit{color:var(--ds-text-muted)}.select--praise{color:var(--ds-success)}.comment-editor__actions{justify-content:flex-end;gap:var(--ds-space-2);display:flex}.field{gap:var(--ds-space-1);flex-direction:column;display:flex}.field__label{font-size:var(--ds-font-xs);color:var(--ds-text-muted)}.field__input{padding:var(--ds-space-2) var(--ds-space-3);border:1px solid var(--ds-border);border-radius:var(--ds-radius-md);background:var(--ds-surface);color:var(--ds-text-primary);font:inherit}.field__input--area{resize:vertical;font-family:var(--ds-font-mono);font-size:var(--ds-font-xs)}.select{padding:var(--ds-space-2) var(--ds-space-3);border:1px solid var(--ds-border);border-radius:var(--ds-radius-md);background:var(--ds-surface);color:var(--ds-text-primary);font:inherit;font-size:var(--ds-font-sm)}.peek{margin-top:var(--ds-space-3);border:1px solid var(--ds-border);border-radius:var(--ds-radius-md);overflow:hidden}.peek--state{padding:var(--ds-space-3);color:var(--ds-text-muted);font-size:var(--ds-font-xs)}.peek__head{padding:var(--ds-space-2) var(--ds-space-3);border-bottom:1px solid var(--ds-border);background:var(--ds-surface);color:var(--ds-text-muted);font-size:var(--ds-font-xs);font-family:var(--ds-font-mono)}.peek__code{background:var(--ds-surface);max-height:320px;font-family:var(--ds-font-mono);font-size:var(--ds-font-xs);margin:0;line-height:1.55;overflow:auto}.peek__line{gap:var(--ds-space-3);padding:0 var(--ds-space-3);display:flex}.peek__line.is-highlighted{background:var(--ds-warning-surface)}.peek__number{text-align:right;min-width:3.5ch;color:var(--ds-text-muted);-webkit-user-select:none;user-select:none}.glyph--kind-review{border-radius:2px;transform:rotate(45deg)}.glyph--kind-review .glyph__check{transform:rotate(-45deg)}.pill--kind-review{color:var(--ds-review);background:var(--ds-review-surface);box-shadow:inset 0 0 0 1px var(--ds-review-ring)}.pill--kind-review.pill--review{color:var(--ds-warning);background:var(--ds-warning-surface);box-shadow:inset 0 0 0 1px var(--ds-warning-ring)}.pill-menu__item.is-locked{color:var(--ds-text-muted);cursor:not-allowed}.pill-menu__item.is-locked:hover{background:0 0}.pill-menu__lock{opacity:.8;margin-left:auto;font-size:10px}.pill-menu__note{margin:var(--ds-space-1) 0 0;padding:var(--ds-space-2) 8px 4px;font-size:var(--ds-font-xs);color:var(--ds-text-muted);border-top:1px solid var(--ds-border);line-height:1.45}.tree__cell{align-items:flex-start;gap:var(--ds-space-2);display:flex}.tree__identity{min-width:0}.tree__twisty{width:16px;color:var(--ds-text-muted);flex:none;padding:0;font-size:10px;line-height:1.6}.tree__twisty:hover:not(.is-empty){color:var(--ds-text-primary)}.tree__twisty.is-empty{cursor:default}.tree__elbow{width:16px;margin-left:var(--ds-space-4);font-family:var(--ds-font-mono);font-size:var(--ds-font-xs);color:var(--ds-border-strong);flex:none}.tree__kicker{align-items:baseline;gap:var(--ds-space-2);margin-right:var(--ds-space-2);letter-spacing:.09em;text-transform:uppercase;color:var(--ds-review);font-size:10px;font-weight:680;display:inline-flex}.tree__branch{font-family:var(--ds-font-mono);font-size:var(--ds-font-xs);letter-spacing:0;text-transform:none;color:var(--ds-text-muted);font-weight:400}.tree__row--review td{background:var(--ds-row-review)}.tree__child-count{margin-left:var(--ds-space-3);font-size:var(--ds-font-xs);color:var(--ds-review);background:var(--ds-review-surface);border-radius:var(--ds-radius-full);padding:1px 7px;font-weight:560}.tree__row--review.is-settled td{opacity:.62}.tree__row--review.is-settled:hover td{opacity:1}.tree__row--root.is-context .list__title{color:var(--ds-text-muted)}.tree__group td{padding-top:var(--ds-space-5);border-bottom:0}.tree__group-title{font-size:var(--ds-font-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--ds-text-secondary);font-weight:620}.tree__group--orphaned .tree__group-title{color:var(--ds-warning)}.tree__group-hint{margin-left:var(--ds-space-3);font-size:var(--ds-font-xs);color:var(--ds-text-muted)}.tree__group:hover td{cursor:default;background:0 0}.stage{align-items:center;gap:var(--ds-space-4);padding:var(--ds-space-3) var(--ds-space-6);border-bottom:1px solid var(--ds-border);background:var(--ds-surface-raised);flex-wrap:wrap;display:flex}.stage__steps{align-items:center;gap:var(--ds-space-2);margin:0;padding:0;list-style:none;display:flex}.stage__step{align-items:center;gap:var(--ds-space-2);font-size:var(--ds-font-xs);color:var(--ds-text-muted);border-radius:var(--ds-radius-full);box-shadow:inset 0 0 0 1px var(--ds-border);padding:3px 10px 3px 4px;display:flex}.stage__step+.stage__step:before{content:"";background:var(--ds-border-strong);width:10px;height:1px;margin-left:-12px;margin-right:4px}.stage__index{border-radius:var(--ds-radius-full);background:var(--ds-surface);width:17px;height:17px;box-shadow:inset 0 0 0 1px var(--ds-border-strong);place-items:center;font-size:10px;display:inline-grid}.stage__step.is-done{color:var(--ds-text-secondary)}.stage__step.is-done .stage__index{color:var(--ds-success);box-shadow:inset 0 0 0 1px var(--ds-success-ring)}.stage__step.is-current{color:var(--ds-text-primary);background:var(--ds-review-surface);box-shadow:inset 0 0 0 1px var(--ds-review-ring)}.stage__step.is-current .stage__index{color:var(--ds-review);box-shadow:inset 0 0 0 1px var(--ds-review)}.stage__label{align-items:center;gap:var(--ds-space-2);display:inline-flex}.stage__badge{color:var(--ds-warning);background:var(--ds-warning-surface);border-radius:var(--ds-radius-full);padding:0 6px;font-size:10px;font-weight:620}.stage__hint{min-width:200px;font-size:var(--ds-font-xs);color:var(--ds-text-muted);flex:1;margin:0}.stage__holder{margin-right:var(--ds-space-2);letter-spacing:.03em;text-transform:uppercase;font-weight:620}.stage__holder--you{color:var(--ds-warning)}.stage__holder--agent{color:var(--ds-accent)}.session__lineage{align-items:baseline;gap:var(--ds-space-2);font-size:var(--ds-font-xs);flex-wrap:wrap;margin-top:2px;display:flex}.session__kicker{letter-spacing:.09em;text-transform:uppercase;color:var(--ds-review);font-weight:680}.session__branch{font-family:var(--ds-font-mono);color:var(--ds-text-muted)}.link-button--danger{color:var(--ds-danger)}.review-links{margin:var(--ds-space-2) 0 0;gap:var(--ds-space-2);flex-direction:column;padding:0;list-style:none;display:flex}.review-links__item{align-items:center;gap:var(--ds-space-3);display:flex}.review-links__time{font-size:var(--ds-font-xs);color:var(--ds-text-muted)}.reviews__standalone{font-size:var(--ds-font-sm);color:var(--ds-text-muted)}.picker{gap:var(--ds-space-1);flex-direction:column;max-height:42vh;display:flex;overflow-y:auto}.picker__item{align-items:center;gap:var(--ds-space-3);width:100%;padding:var(--ds-space-2) var(--ds-space-3);text-align:left;border-radius:var(--ds-radius-md);border:1px solid #0000;display:flex}.picker__item:hover{background:var(--ds-surface-hover)}.picker__item.is-active{border-color:var(--ds-accent-ring);background:var(--ds-accent-surface)}.picker__title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.picker__meta{font-size:var(--ds-font-xs);color:var(--ds-text-muted);white-space:nowrap}.scope{gap:var(--ds-space-2);padding:var(--ds-space-3) var(--ds-space-4);border:1px solid var(--ds-border);border-radius:var(--ds-radius-card);background:var(--ds-surface-raised);flex-direction:column;margin:0;display:flex}.scope__row{gap:var(--ds-space-3);align-items:baseline;display:flex}.scope__term{min-width:64px;font-size:var(--ds-font-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--ds-text-muted)}.scope__value{font-size:var(--ds-font-sm);color:var(--ds-text-primary);margin:0}.scope__value--mono{font-family:var(--ds-font-mono)}.packages{gap:var(--ds-space-5);min-height:0;padding:var(--ds-space-5) var(--ds-space-6);flex:1;grid-template-columns:320px minmax(0,1fr);display:grid;overflow:hidden}.packages__list{gap:var(--ds-space-3);flex-direction:column;min-height:0;display:flex;overflow:hidden}.packages__filter{flex:none}.packages__list-empty{font-size:var(--ds-font-sm);color:var(--ds-text-muted);flex:none}.packages__rows{gap:var(--ds-space-2);flex-direction:column;flex:auto;min-height:0;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.packages__row{align-items:center;gap:var(--ds-space-3);width:100%;padding:var(--ds-space-3);border:1px solid var(--ds-border);border-radius:var(--ds-radius-card);background:var(--ds-surface-raised);text-align:left;transition:border-color var(--ds-transition), background var(--ds-transition);display:flex}.packages__row:hover{border-color:var(--ds-border-strong)}.packages__row.is-selected{border-color:var(--ds-accent);box-shadow:var(--ds-shadow-accent)}.packages__dot{border-radius:var(--ds-radius-full);flex:none;width:7px;height:7px}.packages__dot--on{background:var(--ds-success)}.packages__dot--off{border:1.5px solid var(--ds-text-muted)}.packages__row-body{gap:var(--ds-space-1);flex-direction:column;flex:1;min-width:0;display:flex}.packages__row-name{align-items:center;gap:var(--ds-space-1);font-size:var(--ds-font-sm);color:var(--ds-text-primary);text-overflow:ellipsis;white-space:nowrap;font-weight:560;display:flex;overflow:hidden}.packages__row-dirty{color:var(--ds-accent);font-size:var(--ds-font-lg);line-height:.6}.packages__row-meta{align-items:center;gap:var(--ds-space-2);flex-wrap:wrap;display:flex}.packages__row-count{font-size:var(--ds-font-xs);color:var(--ds-text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.packages__pane{border:1px solid var(--ds-border);border-radius:var(--ds-radius-card);background:var(--ds-panel);flex-direction:column;min-height:0;display:flex;overflow:hidden}.packages__detail{min-height:0;padding:var(--ds-space-5);flex:1;overflow:auto}.packages__detail-head{justify-content:space-between;align-items:flex-start;gap:var(--ds-space-4);margin-bottom:var(--ds-space-5);flex-wrap:wrap;display:flex}.packages__identity{gap:var(--ds-space-2);flex-direction:column;min-width:0;display:flex}.packages__title{align-items:baseline;gap:var(--ds-space-1);font-size:var(--ds-font-xl);letter-spacing:-.01em;font-weight:640;display:flex}.packages__version{font-size:var(--ds-font-sm);color:var(--ds-text-muted);font-weight:400}.packages__meta{align-items:center;gap:var(--ds-space-2);display:flex}.packages__author{font-size:var(--ds-font-xs);color:var(--ds-text-muted)}.packages__description{font-size:var(--ds-font-sm);color:var(--ds-text-secondary);line-height:1.55}.packages__detail-actions{align-items:center;gap:var(--ds-space-2);display:flex}.packages__tree{gap:var(--ds-space-5);flex-direction:column;display:flex}.packages__group{gap:var(--ds-space-2);flex-direction:column;display:flex}.packages__group-head{align-items:center;gap:var(--ds-space-3);padding-bottom:var(--ds-space-2);border-bottom:1px solid var(--ds-border);display:flex}.packages__group-toggle{align-items:center;gap:var(--ds-space-2);cursor:pointer;display:flex}.packages__group-name{font-size:var(--ds-font-sm);font-weight:620}.packages__group-count{font-size:var(--ds-font-xs);color:var(--ds-text-muted);font-variant-numeric:tabular-nums}.packages__items{flex-direction:column;display:flex}.packages__item{justify-content:space-between;align-items:center;gap:var(--ds-space-3);padding:var(--ds-space-2) var(--ds-space-3);border-radius:var(--ds-radius-sm);border-left:2px solid #0000;display:flex}.packages__item:hover{background:var(--ds-tint-row-hover)}.packages__item.is-staged-add{background:var(--ds-success-surface);border-left-color:var(--ds-success)}.packages__item.is-staged-remove{background:var(--ds-danger-surface);border-left-color:var(--ds-danger)}.packages__item-label{align-items:center;gap:var(--ds-space-2);cursor:pointer;min-width:0;display:flex}.packages__item-name{font-size:var(--ds-font-sm);color:var(--ds-text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.packages__item-installed{font-size:var(--ds-font-xs);color:var(--ds-text-muted);font-family:var(--ds-font-mono,monospace);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.packages__item-flag{font-size:var(--ds-font-xs);color:var(--ds-text-muted);white-space:nowrap}.packages__bar{justify-content:space-between;align-items:center;gap:var(--ds-space-4);padding:var(--ds-space-3) var(--ds-space-5);border-top:1px solid var(--ds-border-strong);background:var(--ds-surface-raised);box-shadow:var(--ds-shadow-raised);flex-wrap:wrap;display:flex}.packages__bar-summary{gap:var(--ds-space-1);flex-direction:column;min-width:0;display:flex}.packages__bar-counts{font-size:var(--ds-font-sm)}.packages__bar-preview{font-family:var(--ds-font-mono);font-size:var(--ds-font-xs);color:var(--ds-text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:60ch;overflow:hidden}.packages__bar-actions{align-items:center;gap:var(--ds-space-3);display:flex}.packages__failure{gap:var(--ds-space-2);margin-bottom:var(--ds-space-4);padding:var(--ds-space-3);border:1px solid var(--ds-danger);border-radius:var(--ds-radius-md);background:var(--ds-danger-surface);font-size:var(--ds-font-sm);flex-direction:column;display:flex}.packages__failure-head{justify-content:space-between;align-items:center;gap:var(--ds-space-3);display:flex}.packages__notice{align-items:flex-start;gap:var(--ds-space-3);padding:var(--ds-space-4);border:1px solid var(--ds-warning-ring);border-radius:var(--ds-radius-md);background:var(--ds-warning-surface);font-size:var(--ds-font-sm);flex-direction:column;line-height:1.55;display:flex}.packages__empty-note{font-size:var(--ds-font-sm);color:var(--ds-text-muted)}.packages__install-options{gap:var(--ds-space-5);flex-wrap:wrap;display:flex}.packages__preview{gap:var(--ds-space-2);flex-direction:column;display:flex}.packages__preview-line{padding:var(--ds-space-3);border:1px solid var(--ds-border);border-radius:var(--ds-radius-md);background:var(--ds-surface-raised);font-family:var(--ds-font-mono);font-size:var(--ds-font-xs);color:var(--ds-text-primary);white-space:pre;display:block;overflow-x:auto}.packages__inline-error{font-size:var(--ds-font-sm);color:var(--ds-danger)}.packages__picker{gap:var(--ds-space-1);border:1px solid var(--ds-border);border-radius:var(--ds-radius-md);max-height:220px;padding:var(--ds-space-2);flex-direction:column;display:flex;overflow:auto}.packages__picker-item{gap:var(--ds-space-1);width:100%;padding:var(--ds-space-2);border-radius:var(--ds-radius-sm);text-align:left;flex-direction:column;display:flex}.packages__picker-item:hover{background:var(--ds-surface-hover)}.packages__picker-name{font-size:var(--ds-font-sm);font-weight:560}.packages__picker-text{align-items:baseline;gap:var(--ds-space-2);font-size:var(--ds-font-xs);color:var(--ds-text-muted);display:flex}.packages__picker-note{font-size:var(--ds-font-xs);color:var(--ds-text-muted)}.packages__result{gap:var(--ds-space-3);padding:var(--ds-space-3);border:1px solid var(--ds-border);border-radius:var(--ds-radius-md);font-size:var(--ds-font-sm);flex-direction:column;display:flex}.packages__result--success{border-color:var(--ds-success-ring);background:var(--ds-success-surface)}.packages__result--warning{border-color:var(--ds-warning-ring);background:var(--ds-warning-surface)}.packages__result--danger{border-color:var(--ds-danger);background:var(--ds-danger-surface)}.packages__result-action{align-self:flex-start}.transcript{gap:var(--ds-space-1);border-radius:var(--ds-radius-md);flex-direction:column;display:flex;overflow:hidden}.transcript__command{font-family:var(--ds-font-mono);font-size:var(--ds-font-xs);color:var(--ds-text-secondary);white-space:pre;overflow-x:auto}.transcript__body{padding:var(--ds-space-3);border-radius:var(--ds-radius-sm);background:var(--ds-transcript-bg);max-height:260px;font-family:var(--ds-font-mono);font-size:var(--ds-font-xs);color:var(--ds-text-secondary);white-space:pre-wrap;word-break:break-word;margin:0;line-height:1.5;overflow:auto}.button--danger{color:var(--ds-danger);background:var(--ds-danger-surface)}.button--danger:hover:not(:disabled){filter:brightness(var(--ds-hover-brightness-strong))}.chip--link{color:var(--ds-accent);text-decoration:none}.chip--link:hover{color:var(--ds-accent-hover)}.modal__text{font-size:var(--ds-font-sm);color:var(--ds-text-primary);line-height:1.6}.modal__text--muted{color:var(--ds-text-muted)}@media (max-width:900px){.packages{grid-template-columns:minmax(0,1fr);overflow:auto}.packages__list{max-height:260px}.packages__pane{min-height:420px}}.split{align-items:stretch;display:flex;position:relative}.split__main{border-top-right-radius:0;border-bottom-right-radius:0}.split__toggle{width:30px;box-shadow:inset 1px 0 0 var(--ds-split-hairline);border-top-left-radius:0;border-bottom-left-radius:0;place-items:center;padding:0;display:grid}.split__menu{right:0;bottom:calc(100% + var(--ds-space-2));z-index:40;width:320px;padding:var(--ds-space-1);background:var(--ds-panel);border:1px solid var(--ds-border-strong);border-radius:var(--ds-radius-md);box-shadow:var(--ds-shadow-menu);flex-direction:column;display:flex;position:absolute}.split__item{gap:var(--ds-space-2);padding:var(--ds-space-2) var(--ds-space-3);text-align:left;border-radius:var(--ds-radius-sm);color:var(--ds-text-primary);align-items:flex-start;display:flex}.split__item:hover{background:var(--ds-surface-hover)}.split__item.is-active{color:var(--ds-text-primary)}.split__check{width:12px;color:var(--ds-accent);font-size:var(--ds-font-sm)}.split__body{flex-direction:column;gap:2px;display:flex}.split__label{font-size:var(--ds-font-sm);font-weight:560}.split__detail{font-size:var(--ds-font-xs);color:var(--ds-text-muted)}.publish{gap:var(--ds-space-4);flex-direction:column;display:flex}.publish__facts{gap:var(--ds-space-2);flex-direction:column;margin:0;display:flex}.publish__facts>div{gap:var(--ds-space-3);grid-template-columns:130px minmax(0,1fr);display:grid}.publish__facts dt{font-size:var(--ds-font-xs);color:var(--ds-text-muted)}.publish__facts dd{font-size:var(--ds-font-sm);overflow-wrap:anywhere;min-width:0;margin:0}.publish__source{margin-left:var(--ds-space-2);font-size:var(--ds-font-xs);color:var(--ds-text-muted)}.publish__warning{padding:var(--ds-space-3);font-size:var(--ds-font-sm);color:var(--ds-warning);background:var(--ds-warning-surface);border:1px solid var(--ds-warning-ring);border-radius:var(--ds-radius-md);margin:0}.publish__picker{align-items:center;gap:var(--ds-space-3);font-size:var(--ds-font-sm);display:flex}.publish__picker .select{flex:1;min-width:0}.publish__summary{font-size:var(--ds-font-sm);color:var(--ds-text-secondary);margin:0}.publish__targets{gap:var(--ds-space-1);flex-direction:column;max-height:280px;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.publish__target{gap:var(--ds-space-3);padding:var(--ds-space-2);font-size:var(--ds-font-xs);border-radius:var(--ds-radius-sm);background:var(--ds-well);grid-template-columns:68px minmax(0,1fr) minmax(0,1fr);align-items:baseline;display:grid}.publish__target.is-general{border-left:2px solid var(--ds-warning)}.publish__target.is-snapped{border-left:2px solid var(--ds-accent)}.publish__target-title,.publish__target-where{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.publish__target-where{color:var(--ds-text-muted)}.publish__result{font-size:var(--ds-font-sm);margin:0}.publish__closed{font-size:var(--ds-font-sm);color:var(--ds-text-secondary);margin:0}.publish__links{align-items:center;gap:var(--ds-space-2);display:flex}.publish__failures{padding-left:var(--ds-space-5);font-size:var(--ds-font-xs);color:var(--ds-danger);margin:0}.publish__error{gap:var(--ds-space-3);flex-direction:column;align-items:flex-start;display:flex}.publish__error p{font-size:var(--ds-font-sm);color:var(--ds-danger);margin:0}.skills{gap:var(--ds-space-5);min-height:0;padding:var(--ds-space-5) var(--ds-space-6);flex:1;grid-template-columns:minmax(0,420px) minmax(0,1fr);display:grid;overflow:hidden}.skills__list{gap:var(--ds-space-3);flex-direction:column;min-height:0;display:flex;overflow-y:auto}.skills__filters{gap:var(--ds-space-3);flex-direction:column;display:flex}.skills__rows{flex-direction:column;gap:2px;list-style:none;display:flex}.skills__row{justify-content:space-between;align-items:center;gap:var(--ds-space-3);width:100%;padding:var(--ds-space-2) var(--ds-space-3);border-radius:var(--ds-radius-md);color:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;display:flex}.skills__row:hover{background:var(--ds-surface-hover)}.skills__row.is-selected{background:var(--ds-accent-surface);border-color:var(--ds-accent-ring)}.skills__row-body{flex-direction:column;gap:1px;min-width:0;display:flex}.skills__row-name{align-items:center;gap:var(--ds-space-2);min-width:0;font-size:var(--ds-font-sm);font-weight:560;display:flex}.skills__row-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.skills__row-name .chip{flex:none}.skills__row-source{font-size:var(--ds-font-xs);color:var(--ds-text-muted);font-family:var(--ds-font-mono,monospace);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.skills__row-meta{align-items:center;gap:var(--ds-space-3);font-size:var(--ds-font-xs);color:var(--ds-text-muted);white-space:nowrap;flex:none;display:flex}.skills__installs{font-variant-numeric:tabular-nums;text-align:right;min-width:5ch}.skills__delta{color:var(--ds-success);font-variant-numeric:tabular-nums}.skills__sparkline{color:var(--ds-accent);opacity:.85}.skills__more{align-self:center}.skills__pane{border:1px solid var(--ds-border);border-radius:var(--ds-radius-lg);background:var(--ds-surface-raised);min-height:0;overflow-y:auto}.skills__preview{gap:var(--ds-space-4);padding:var(--ds-space-5);flex-direction:column;display:flex}.skills__preview-head{gap:var(--ds-space-2);flex-direction:column;display:flex}.skills__preview-title{align-items:center;gap:var(--ds-space-2);font-size:var(--ds-font-lg);font-weight:620;display:flex}.skills__preview-source{font-size:var(--ds-font-sm);color:var(--ds-text-muted);font-family:var(--ds-font-mono,monospace)}.skills__preview-links{gap:var(--ds-space-2);display:flex}.skills__stats{gap:var(--ds-space-5);padding:var(--ds-space-3) 0;border-top:1px solid var(--ds-border);border-bottom:1px solid var(--ds-border);flex-wrap:wrap;display:flex}.skills__stat{flex-direction:column;gap:2px;display:flex}.skills__stat-label{font-size:var(--ds-font-xs);color:var(--ds-text-muted)}.skills__stat-value{font-size:var(--ds-font-sm);font-variant-numeric:tabular-nums;font-weight:560}.skills__description{font-size:var(--ds-font-sm);color:var(--ds-text-secondary);line-height:1.6}.skills__files{gap:var(--ds-space-2);flex-direction:column;display:flex}.skills__file-list{font-size:var(--ds-font-xs);flex-direction:column;gap:2px;padding-left:0;list-style:none;display:flex}.skills__file-list li{justify-content:space-between;gap:var(--ds-space-3);display:flex}.skills__file-size{color:var(--ds-text-muted);font-variant-numeric:tabular-nums}.skills__install-as{gap:var(--ds-space-2);flex-direction:column;display:flex}.skills__note{font-size:var(--ds-font-xs);color:var(--ds-text-muted);line-height:1.6}.skills__skill-md>summary{font-size:var(--ds-font-sm);cursor:pointer;color:var(--ds-text-secondary)}.skills__actions{gap:var(--ds-space-5);flex-wrap:wrap;display:flex}.skills__preview>.button--solid{align-self:flex-start}.skills__empty{align-items:flex-start;gap:var(--ds-space-3);flex-direction:column;display:flex}.chip--official{color:var(--ds-accent);background:var(--ds-accent-surface)}.empty__actions{gap:var(--ds-space-3);flex-wrap:wrap;display:flex}.packages__picker-item.is-selected{background:var(--ds-accent-surface)}@media (max-width:1100px){.skills{grid-template-columns:minmax(0,1fr)}.skills__pane{display:none}}@media (max-width:900px){.skills__sparkline{display:none}}.bulkbar{bottom:var(--ds-space-5);z-index:30;align-items:center;gap:var(--ds-space-4);max-width:min(46rem,100% - 3rem);padding:var(--ds-space-2) var(--ds-space-3) var(--ds-space-2) var(--ds-space-4);background:var(--ds-surface-raised);border:1px solid var(--ds-border-strong);border-radius:var(--ds-radius-lg);box-shadow:var(--ds-shadow-raised);animation:bulkbar-in var(--ds-transition);display:flex;position:absolute;left:50%;transform:translate(-50%)}@keyframes bulkbar-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.bulkbar{animation:none}}.bulkbar__summary{align-items:baseline;gap:var(--ds-space-2);min-width:0;display:flex}.bulkbar__count{font-size:var(--ds-font-sm);color:var(--ds-text-primary);white-space:nowrap}.bulkbar__hint{font-size:var(--ds-font-xs);color:var(--ds-text-muted);white-space:nowrap}.bulkbar__actions{align-items:center;gap:var(--ds-space-2);margin-left:auto;display:flex}.bulkbar__menu{display:flex}.bulkbar__key{font-family:var(--ds-font-mono);color:var(--ds-text-muted);background:var(--ds-tint-control-soft);border-radius:var(--ds-radius-sm);margin-left:4px;padding:1px 4px;font-size:.6875rem}.app--hub{grid-template-columns:1fr}.hub{width:100%;max-width:1120px;padding:var(--ds-space-8) var(--ds-space-6) var(--ds-space-6);margin:0 auto}.hub__head{justify-content:space-between;align-items:flex-end;gap:var(--ds-space-4);margin-bottom:var(--ds-space-6);flex-wrap:wrap;display:flex}.hub__title{letter-spacing:-.015em;font-size:1.5rem;font-weight:660}.hub__subtitle{font-size:var(--ds-font-sm);color:var(--ds-text-muted);margin-top:2px}.hub__controls{align-items:center;gap:var(--ds-space-3);display:flex}.hub__foot{justify-content:space-between;gap:var(--ds-space-3);margin-top:var(--ds-space-8);padding-top:var(--ds-space-4);font-size:var(--ds-font-xs);color:var(--ds-text-muted);border-top:1px solid var(--ds-border);flex-wrap:wrap;display:flex}.hub__registry{font-family:var(--ds-font-mono)}.hub__list{border-top:1px solid var(--ds-border);flex-direction:column;display:flex}.hub-group{--group-accent:var(--ds-border);border-bottom:1px solid var(--ds-border)}.hub-group:last-child{border-bottom:none}.hub-group--indigo{--group-accent:var(--ds-project-indigo)}.hub-group--violet{--group-accent:var(--ds-project-violet)}.hub-group--plum{--group-accent:var(--ds-project-plum)}.hub-group--teal{--group-accent:var(--ds-project-teal)}.hub-group--sand{--group-accent:var(--ds-project-sand)}.hub-group--rose{--group-accent:var(--ds-project-rose)}.hub-group--sky{--group-accent:var(--ds-project-sky)}.hub-group--moss{--group-accent:var(--ds-project-moss)}.hub-group__head{z-index:2;align-items:center;gap:var(--ds-space-3);min-height:32px;padding:0 var(--ds-space-3);background:var(--ds-surface-raised);border-left:2px solid var(--group-accent);border-bottom:1px solid var(--ds-border);display:flex;position:sticky;top:0}.hub-group.is-focused .hub-group__head{background:var(--ds-surface-hover)}.hub-group__toggle{align-items:center;gap:var(--ds-space-2);min-width:0;padding:var(--ds-space-1) 0;text-align:left;flex:1;display:flex}.hub-group__caret{width:12px;height:12px;fill:var(--ds-text-muted);transition:transform var(--ds-transition);transform:rotate(90deg)}.hub-group__caret.is-collapsed{transform:rotate(0)}.hub-group__name{font-size:var(--ds-font-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:620;overflow:hidden}.hub-group__count:before{content:"· "}.hub-group__count,.hub-group__totals{font-size:var(--ds-font-xs);color:var(--ds-text-muted)}.hub-group__totals{gap:var(--ds-space-3);display:flex}.hub-group__waiting{color:var(--ds-text-secondary)}.hub-group__actions{gap:var(--ds-space-3);font-size:var(--ds-font-xs);opacity:0;transition:opacity var(--ds-transition);display:flex}.hub-group__head:hover .hub-group__actions,.hub-group__head:focus-within .hub-group__actions{opacity:1}.hub-group__empty{padding:var(--ds-space-3) var(--ds-space-5);font-size:var(--ds-font-sm);color:var(--ds-text-muted)}.project-row{border-bottom:1px solid var(--ds-border);min-height:40px;transition:background var(--ds-transition);align-items:center;display:flex;position:relative}.project-row:last-child{border-bottom:none}.project-row:hover,.project-row.is-focused{background:var(--ds-surface-hover)}.project-row.is-focused:before,.project-row:hover:before{content:"";background:var(--project-accent,var(--ds-accent));width:2px;position:absolute;top:0;bottom:0;left:0}.project-row.is-unavailable{opacity:.72}.project-row--indigo{--project-accent:var(--ds-project-indigo)}.project-row--violet{--project-accent:var(--ds-project-violet)}.project-row--plum{--project-accent:var(--ds-project-plum)}.project-row--teal{--project-accent:var(--ds-project-teal)}.project-row--sand{--project-accent:var(--ds-project-sand)}.project-row--rose{--project-accent:var(--ds-project-rose)}.project-row--sky{--project-accent:var(--ds-project-sky)}.project-row--moss{--project-accent:var(--ds-project-moss)}.project-row__open{gap:var(--ds-space-3);min-width:0;padding:var(--ds-space-2) var(--ds-space-3);text-align:left;flex:1;grid-template-columns:24px minmax(9rem,1.4fr) minmax(0,1.6fr) 6rem repeat(3,1.75rem) 4rem;align-items:center;display:grid}.project-row__open:disabled{cursor:default}.project-row__monogram{width:24px;height:24px;color:var(--project-accent,var(--ds-accent));border:1px solid var(--project-accent,var(--ds-accent));border-radius:var(--ds-radius-sm);place-items:center;font-size:10px;font-weight:680;display:grid}.project-row__identity{min-width:0}.project-row__name{font-size:var(--ds-font-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:600;display:block;overflow:hidden}.project-row__secondary{font-family:var(--ds-font-mono);color:var(--ds-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;display:block;overflow:hidden}.project-row__path{font-family:var(--ds-font-mono);font-size:var(--ds-font-xs);color:var(--ds-text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-row__branch{overflow:hidden}.project-row__count{font-size:var(--ds-font-sm);font-variant-numeric:tabular-nums;text-align:right}.project-row__count.is-zero{color:var(--ds-text-muted);opacity:.45}.project-row__count.is-waiting{color:var(--ds-accent);font-weight:620}.project-row__activity{font-size:var(--ds-font-xs);color:var(--ds-text-muted);text-align:right}.project-row__problem{font-size:var(--ds-font-xs);color:var(--ds-warning);text-overflow:ellipsis;white-space:nowrap;grid-column:4/-1;overflow:hidden}.project-row__rename{align-items:center;gap:var(--ds-space-2);display:flex}.project-row__rename-input{width:100%;min-width:0;padding:2px var(--ds-space-2);font:inherit;font-size:var(--ds-font-sm);color:var(--ds-text-primary);background:var(--ds-surface);border:1px solid var(--ds-accent);border-radius:var(--ds-radius-sm)}.project-row__actions{gap:var(--ds-space-3);padding:0 var(--ds-space-3) 0 var(--ds-space-6);font-size:var(--ds-font-xs);background:linear-gradient(to right, transparent, var(--ds-surface-hover) 24px);opacity:0;pointer-events:none;transition:opacity var(--ds-transition);align-items:center;display:flex;position:absolute;top:0;bottom:0;right:0}.project-row:hover .project-row__actions,.project-row.is-focused .project-row__actions,.project-row:focus-within .project-row__actions{opacity:1;pointer-events:auto}@media (max-width:1040px){.project-row__open{grid-template-columns:24px minmax(8rem,1.4fr) minmax(0,1fr) repeat(3,1.5rem)}.project-row__branch,.project-row__activity{display:none}.project-row__problem{grid-column:3/-1}}@media (max-width:720px){.project-row__open{grid-template-columns:24px 1fr repeat(3,1.5rem)}.project-row__path{display:none}.project-row__problem{grid-column:2/-1}}.empty__footnote{margin-top:var(--ds-space-4);font-size:var(--ds-font-xs);color:var(--ds-text-muted)}.brief{margin:var(--ds-space-4) var(--ds-space-6) 0;border:1px solid var(--ds-border);border-radius:var(--ds-radius-lg);background:var(--ds-surface-raised);overflow:hidden}.brief__header{align-items:baseline;gap:var(--ds-space-3);width:100%;padding:var(--ds-space-2) var(--ds-space-4);text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.brief:not(.is-open) .brief__header:hover{background:var(--ds-surface-hover)}.brief__chevron{fill:none;width:12px;height:12px;stroke:var(--ds-text-muted);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;transition:transform var(--ds-transition);flex:none;align-self:center}.brief.is-open>.brief__header .brief__chevron,.brief__part.is-open .brief__chevron{transform:rotate(90deg)}.brief__label{font-size:var(--ds-font-xs);color:var(--ds-text-secondary);flex:none}.brief__summary{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--ds-font-xs);color:var(--ds-text-muted);flex:1;overflow:hidden}.brief__panel{transition:grid-template-rows var(--ds-transition), opacity var(--ds-transition);opacity:0;grid-template-rows:0fr;display:grid}.brief.is-open .brief__panel{opacity:1;grid-template-rows:1fr}.brief__panel>*{min-height:0;overflow:hidden}.brief__panel-inner{gap:var(--ds-space-4);max-height:22rem;padding:var(--ds-space-3) var(--ds-space-4) var(--ds-space-4);border-top:1px solid var(--ds-border);flex-direction:column;display:flex;overflow-y:auto}.brief__protocol{font-family:var(--ds-font-mono);font-size:var(--ds-font-xs);color:var(--ds-text-muted);white-space:pre-wrap;margin:0;line-height:1.6;overflow-x:auto}.brief__part{gap:var(--ds-space-2);flex-direction:column;display:flex}.brief__part-title{font-size:var(--ds-font-xs);color:var(--ds-text-secondary);margin:0;font-weight:620}.brief__part-toggle{align-items:center;gap:var(--ds-space-2);text-align:left;cursor:pointer;background:0 0;border:0;padding:0;display:flex}.brief__part-size{font-size:var(--ds-font-xs);color:var(--ds-text-muted)}@media (prefers-reduced-motion:reduce){.brief__panel,.brief__chevron{transition:none}}.spec{margin:var(--ds-space-4) var(--ds-space-6) 0;border:1px solid var(--ds-border);border-radius:var(--ds-radius-lg);background:var(--ds-surface-raised);overflow:hidden}.spec--drifted{border-color:var(--ds-warning-ring)}.spec__head{align-items:baseline;gap:var(--ds-space-3);padding:var(--ds-space-3) var(--ds-space-4);border-bottom:1px solid var(--ds-border);background:var(--ds-header);display:flex}.spec__key{font-family:var(--ds-font-mono);font-size:var(--ds-font-xs);color:var(--ds-accent);font-weight:620;text-decoration:none}.spec__key:hover{text-decoration:underline}.spec__title{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ds-text-secondary);flex:1;overflow:hidden}.spec__state{font-size:var(--ds-font-xs);color:var(--ds-text-muted);background:var(--ds-neutral-surface);border-radius:var(--ds-radius-full);padding:1px 7px}.spec__stamp{font-size:var(--ds-font-xs);color:var(--ds-text-muted);white-space:nowrap}.spec--drifted .spec__stamp{color:var(--ds-warning)}.spec__note{padding:var(--ds-space-2) var(--ds-space-4);font-size:var(--ds-font-xs);color:var(--ds-warning);background:var(--ds-warning-surface);margin:0}.spec__body{padding:var(--ds-space-3) var(--ds-space-4)}.spec__empty{padding:var(--ds-space-4)}.spec__empty-lead{margin:0 0 var(--ds-space-3);color:var(--ds-text-secondary)}.spec__ghost{font-family:var(--ds-font-mono);font-size:var(--ds-font-xs);color:var(--ds-text-muted);opacity:.5;white-space:pre-wrap;margin:0;line-height:1.6;overflow-x:auto}.spec__foot{justify-content:flex-end;align-items:center;gap:var(--ds-space-3);padding:var(--ds-space-3) var(--ds-space-4);border-top:1px solid var(--ds-border);display:flex}.spec__conflict{padding:var(--ds-space-4);border-top:1px solid var(--ds-warning-ring);background:var(--ds-warning-surface)}.spec__conflict-lead{margin:0 0 var(--ds-space-3);color:var(--ds-text-primary)}.spec__conflict-pair{gap:var(--ds-space-4);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.spec__conflict-heading{margin:0 0 var(--ds-space-2);font-size:var(--ds-font-xs);color:var(--ds-text-secondary);font-weight:620}.spec__conflict-text{max-height:220px;padding:var(--ds-space-3);font-family:var(--ds-font-mono);font-size:var(--ds-font-xs);color:var(--ds-text-secondary);background:var(--ds-surface-raised);border:1px solid var(--ds-border);border-radius:var(--ds-radius-md);white-space:pre-wrap;margin:0;line-height:1.55;overflow:auto}.spec__conflict-actions{justify-content:flex-end;gap:var(--ds-space-3);margin-top:var(--ds-space-4);display:flex}.tree__issue{margin-left:var(--ds-space-3);font-family:var(--ds-font-mono);font-size:var(--ds-font-xs);color:var(--ds-text-secondary);background:var(--ds-neutral-surface);border-radius:var(--ds-radius-full);padding:1px 7px;font-weight:560;text-decoration:none}.tree__issue:hover{color:var(--ds-accent)}.picker__key{font-family:var(--ds-font-mono);font-size:var(--ds-font-xs);color:var(--ds-accent);white-space:nowrap;font-weight:620}.config-preview{margin-top:var(--ds-space-4);padding:var(--ds-space-3) var(--ds-space-4);border:1px solid var(--ds-border);border-radius:var(--ds-radius-md);background:var(--ds-surface-raised)}.config{flex-direction:column;height:100%;min-height:0;display:flex}.config__topbar{flex-wrap:wrap}.config__body{gap:var(--ds-space-6);min-height:0;padding:var(--ds-space-6);flex:1;grid-template-columns:240px minmax(0,1fr);display:grid;overflow:auto}.config__list{gap:var(--ds-space-3);flex-direction:column;min-width:0;max-width:940px;display:flex}.config-spine{gap:var(--ds-space-5);flex-direction:column;align-self:start;display:flex;position:sticky;top:0}.config-spine__group{gap:var(--ds-space-2);flex-direction:column;display:flex}.config-spine__scope{font-size:var(--ds-font-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--ds-text-muted);margin:0;font-weight:560}.config-spine__list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.config-spine__item{align-items:center;gap:var(--ds-space-2);width:100%;padding:var(--ds-space-2) var(--ds-space-3);font-size:var(--ds-font-sm);color:var(--ds-text-secondary);text-align:left;border-radius:var(--ds-radius-md);transition:background var(--ds-transition), color var(--ds-transition);display:flex}.config-spine__item:hover{color:var(--ds-text-primary);background:var(--ds-tint-surface)}.config-spine__item.is-active{color:var(--ds-text-primary);background:var(--ds-surface-hover)}.config-spine__label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.config-row{background:var(--ds-surface-raised);border:1px solid var(--ds-border);border-radius:var(--ds-radius-card);box-shadow:var(--ds-shadow-card);transition:border-color var(--ds-transition), background var(--ds-transition);flex-direction:column;display:flex}.config-row:hover:not(.is-open){background:var(--ds-surface-hover)}.config-row.is-open{border-color:var(--ds-border-strong)}.config-row.is-focused{border-color:var(--ds-accent-ring)}.config-row.is-linked{box-shadow:var(--ds-shadow-accent)}.config-row__header{align-items:center;gap:var(--ds-space-3);padding:var(--ds-space-4) var(--ds-space-5);text-align:left;border-radius:inherit;grid-template-columns:auto minmax(0,1fr) auto auto;display:grid}.config-row__icon{width:32px;height:32px;color:var(--ds-text-secondary);background:var(--ds-tint-surface);border-radius:var(--ds-radius-md);place-items:center;display:grid}.config-row__icon svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.config-row.is-open .config-row__icon{color:var(--ds-accent);background:var(--ds-accent-surface)}.config-row__identity{flex-direction:column;gap:2px;min-width:0;display:flex}.config-row__title{align-items:center;gap:var(--ds-space-2);font-size:var(--ds-font-md);font-weight:560;display:flex}.config-row__dirty{font-size:var(--ds-font-xs);color:var(--ds-warning);font-weight:400}.config-row__summary{font-size:var(--ds-font-sm);color:var(--ds-text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.config-row__summary.is-loading{opacity:.6}.config-row__meta{align-items:center;gap:var(--ds-space-3);white-space:nowrap;display:flex}.config-row__scope{color:var(--ds-text-muted)}.config-row__chevron{fill:none;width:12px;height:12px;stroke:var(--ds-text-muted);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;transition:transform var(--ds-transition)}.config-row.is-open .config-row__chevron{transform:rotate(90deg)}.config-state{align-items:center;gap:var(--ds-space-2);font-size:var(--ds-font-xs);color:var(--ds-text-muted);display:inline-flex}.config-state__dot{border-radius:var(--ds-radius-full);background:var(--ds-text-muted);width:7px;height:7px}.config-state--configured{color:var(--ds-success)}.config-state--configured .config-state__dot,.config-state__dot--configured{background:var(--ds-success)}.config-state--attention{color:var(--ds-warning)}.config-state--attention .config-state__dot,.config-state__dot--attention{background:var(--ds-warning)}.config-state__dot--not-configured{background:var(--ds-text-muted)}.config-state__dot--read-only{box-shadow:inset 0 0 0 1px var(--ds-border-strong);background:0 0}.config-row__alert{margin:0 var(--ds-space-5) var(--ds-space-4);padding:var(--ds-space-3);font-size:var(--ds-font-sm);color:var(--ds-warning);background:var(--ds-warning-surface);border:1px solid var(--ds-warning-ring);border-radius:var(--ds-radius-md)}.config-row__panel{transition:grid-template-rows var(--ds-transition), opacity var(--ds-transition);opacity:0;grid-template-rows:0fr;display:grid}.config-row.is-open .config-row__panel{opacity:1;grid-template-rows:1fr}.config-row__panel>*{min-height:0;overflow:hidden}.config-row__panel-inner{gap:var(--ds-space-4);padding:0 var(--ds-space-5) var(--ds-space-5);border-top:1px solid var(--ds-border);padding-top:var(--ds-space-5);flex-direction:column;display:flex}.config-lede{max-width:var(--ds-measure-prose);font-size:var(--ds-font-sm);color:var(--ds-text-secondary);margin:0;line-height:1.6}.config-facts{gap:var(--ds-space-2);flex-direction:column;margin:0;display:flex}.config-facts>div{gap:var(--ds-space-3);grid-template-columns:190px minmax(0,1fr);display:grid}.config-facts dt{font-size:var(--ds-font-xs);color:var(--ds-text-muted)}.config-facts dd{font-size:var(--ds-font-sm);overflow-wrap:anywhere;min-width:0;margin:0}.config-copy{font:inherit;color:inherit;text-align:left;padding:0}.config-copy:hover code{color:var(--ds-accent)}.config-form{gap:var(--ds-space-4);flex-direction:column;display:flex}.field__badge{margin-left:var(--ds-space-2);font-size:var(--ds-font-xs);color:var(--ds-text-muted);font-weight:400}.field__hint{font-size:var(--ds-font-xs);color:var(--ds-text-muted);line-height:1.6}.config-note,.config-warning{padding:var(--ds-space-3);font-size:var(--ds-font-sm);border-radius:var(--ds-radius-md);margin:0}.config-note{color:var(--ds-text-secondary);background:var(--ds-neutral-surface);border:1px solid var(--ds-neutral-ring)}.config-warning{color:var(--ds-warning);background:var(--ds-warning-surface);border:1px solid var(--ds-warning-ring)}.config-verdict{font-size:var(--ds-font-sm);margin:0}.config-verdict.is-ok{color:var(--ds-success)}.config-verdict.is-bad{color:var(--ds-danger)}.config-failure{gap:var(--ds-space-2);flex-direction:column;display:flex}.config-failure p{font-size:var(--ds-font-sm);color:var(--ds-text-secondary);margin:0}.config-actions{align-items:center;gap:var(--ds-space-2);display:flex}.config-actions .button--solid,.config-actions--danger .button--danger{margin-left:auto}.config-confirm{font-size:var(--ds-font-sm);color:var(--ds-text-secondary)}.config-choices{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.config-choice{align-items:center;gap:var(--ds-space-3);padding:var(--ds-space-2) var(--ds-space-3);border-radius:var(--ds-radius-md);grid-template-columns:minmax(0,1fr) minmax(0,auto) auto;display:grid}.config-choice:hover{background:var(--ds-tint-row-hover)}.config-choice.is-staged{background:var(--ds-accent-surface)}.config-choice__label{align-items:center;gap:var(--ds-space-3);cursor:pointer;min-width:0;display:flex}.config-choice__name{font-size:var(--ds-font-sm)}.config-choice__id,.config-choice__paths{font-family:var(--ds-font-mono);font-size:var(--ds-font-xs);color:var(--ds-text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.config-choice__flag{font-size:var(--ds-font-xs);color:var(--ds-accent);white-space:nowrap}.config-choice-group{gap:var(--ds-space-2);border:0;flex-direction:column;margin:0;padding:0;display:flex}.config-radio{gap:var(--ds-space-2) var(--ds-space-3);cursor:pointer;grid-template-columns:auto minmax(0,1fr);align-items:baseline;display:grid}.config-radio__label{font-size:var(--ds-font-sm)}.config-radio__hint{font-size:var(--ds-font-xs);color:var(--ds-text-muted);grid-column:2}.config-swatches{gap:var(--ds-space-2);border:0;flex-wrap:wrap;margin:0;padding:0;display:flex}.config-swatches legend{margin-bottom:var(--ds-space-2)}.config-swatch{border-radius:var(--ds-radius-full);background:var(--project-accent,var(--ds-accent));width:22px;height:22px;transition:box-shadow var(--ds-transition), transform var(--ds-transition);box-shadow:0 0 0 2px #0000}.config-swatch:hover{transform:scale(1.08)}.config-swatch.is-active{box-shadow:0 0 0 2px var(--ds-surface-raised), 0 0 0 4px var(--project-accent)}.config-swatch--indigo{--project-accent:var(--ds-project-indigo)}.config-swatch--violet{--project-accent:var(--ds-project-violet)}.config-swatch--plum{--project-accent:var(--ds-project-plum)}.config-swatch--teal{--project-accent:var(--ds-project-teal)}.config-swatch--sand{--project-accent:var(--ds-project-sand)}.config-swatch--rose{--project-accent:var(--ds-project-rose)}.config-swatch--sky{--project-accent:var(--ds-project-sky)}.config-swatch--moss{--project-accent:var(--ds-project-moss)}.config-plan{gap:var(--ds-space-2);flex-direction:column;display:flex}.config-plan__label{font-size:var(--ds-font-xs);color:var(--ds-text-muted)}.config-plan__line{padding:var(--ds-space-2) var(--ds-space-3);font-family:var(--ds-font-mono);font-size:var(--ds-font-xs);color:var(--ds-text-secondary);background:var(--ds-surface);border:1px solid var(--ds-border);border-radius:var(--ds-radius-sm);overflow-x:auto}.config-attention{align-items:center;gap:var(--ds-space-2);padding:var(--ds-space-2) var(--ds-space-3);font-size:var(--ds-font-xs);color:var(--ds-warning);background:var(--ds-warning-surface);border:1px solid var(--ds-warning-ring);border-radius:var(--ds-radius-full);display:inline-flex}.config-filter{max-width:260px}.config-unsaved{align-items:center;gap:var(--ds-space-3);padding:var(--ds-space-3) var(--ds-space-6);background:var(--ds-panel);border-top:1px solid var(--ds-border-strong);display:flex}.config-unsaved__text{font-size:var(--ds-font-sm);color:var(--ds-text-secondary);flex:1}@media (max-width:1080px){.config-spine{display:none}.config__body{grid-template-columns:minmax(0,1fr)}}@media (max-width:720px){.config-row__header{grid-template-columns:auto minmax(0,1fr) auto}.config-row__meta .config-state{display:none}.config-facts>div{grid-template-columns:minmax(0,1fr);gap:2px}.config-choice{grid-template-columns:minmax(0,1fr) auto}.config-choice__paths{display:none}}@media (prefers-reduced-motion:reduce){.config-row,.config-row__panel,.config-row__chevron,.config-swatch{transition:none}}.config-themes{gap:var(--ds-space-3);border:0;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));margin:0;padding:0;display:grid}.config-theme{gap:var(--ds-space-1);padding:var(--ds-space-3);cursor:pointer;border:1px solid var(--ds-border);border-radius:var(--ds-radius-card);transition:border-color var(--ds-transition), box-shadow var(--ds-transition);display:grid}.config-theme:hover{border-color:var(--ds-border-strong)}.config-theme.is-active{box-shadow:0 0 0 2px var(--ds-accent);border-color:#0000}.config-theme:focus-within{border-color:var(--ds-accent)}.config-theme__preview{border-radius:var(--ds-radius-md);background:var(--ds-gradient-body);height:74px;box-shadow:inset 0 0 0 1px var(--ds-border);display:flex;overflow:hidden}.config-theme__rail{background:var(--ds-gradient-rail);flex:none;width:16px}.config-theme__page{min-width:0;margin:var(--ds-space-2);padding:var(--ds-space-2);background:var(--ds-surface);border:1px solid var(--ds-border);border-radius:var(--ds-radius-sm);flex-direction:column;flex:1;gap:6px;display:flex}.config-theme__line{border-radius:var(--ds-radius-full);background:var(--ds-text-muted);height:4px}.config-theme__line--strong{background:var(--ds-text-primary);width:60%}.config-theme__status{gap:5px;margin-top:auto;display:flex}.config-theme__dot{border-radius:var(--ds-radius-full);width:7px;height:7px}.config-theme__dot--accent{background:var(--ds-accent)}.config-theme__dot--success{background:var(--ds-success)}.config-theme__dot--warning{background:var(--ds-warning)}.config-theme__dot--review{background:var(--ds-review)}.config-theme__dot--danger{background:var(--ds-danger)}.config-theme__name{margin-top:var(--ds-space-2);font-size:var(--ds-font-sm);color:var(--ds-text-primary);font-weight:600}.config-theme__hint{font-size:var(--ds-font-xs);color:var(--ds-text-muted);line-height:1.45}.tutorial__backdrop{z-index:70;background:var(--ds-scrim);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);position:fixed;inset:0}.tutorial{background:var(--ds-surface);border:1px solid var(--ds-border);border-radius:var(--ds-radius-card);box-shadow:var(--ds-shadow-raised);flex-direction:column;transition:inset .18s cubic-bezier(.32,.72,0,1),width .18s cubic-bezier(.32,.72,0,1);display:flex;position:fixed;overflow:hidden}.tutorial--expanded{z-index:71;width:min(880px,92vw);top:50%;left:50%;transform:translate(-50%,-50%)}.tutorial--mini{z-index:55;right:var(--ds-space-5);bottom:var(--ds-space-5);width:320px}.tutorial__head{justify-content:space-between;align-items:center;gap:var(--ds-space-3);padding:var(--ds-space-3) var(--ds-space-4);background:var(--ds-header);border-bottom:1px solid var(--ds-border);display:flex}.tutorial--mini .tutorial__head{cursor:grab;touch-action:none;padding:6px 8px 6px 12px}.tutorial--mini .tutorial__head:active{cursor:grabbing}.tutorial__identity{min-width:0}.tutorial__title{font-size:var(--ds-font-md);white-space:nowrap;text-overflow:ellipsis;font-weight:620;overflow:hidden}.tutorial--mini .tutorial__title{font-size:var(--ds-font-xs);color:var(--ds-text-secondary)}.tutorial__summary{font-size:var(--ds-font-xs);color:var(--ds-text-muted);margin-top:2px}.tutorial__controls{align-items:center;gap:var(--ds-space-2);flex-shrink:0;display:flex}.tutorial__link{font-size:var(--ds-font-xs);color:var(--ds-text-secondary);white-space:nowrap;text-decoration:none}.tutorial__link:hover{color:var(--ds-accent-hover)}.tutorial__frame{aspect-ratio:16/9;background:var(--ds-surface-raised)}.tutorial__iframe{border:0;width:100%;height:100%;display:block}.tutorial-button{position:relative}.tutorial-button__glyph{vertical-align:-3px;fill:none;stroke:currentColor;stroke-width:1.4px;width:15px;height:15px;margin-right:6px}.tutorial-button__dot{background:var(--ds-accent);border:1.5px solid var(--ds-surface);border-radius:50%;width:7px;height:7px;position:absolute;top:-3px;right:-3px}@media (prefers-reduced-motion:reduce){.tutorial{transition:none}}.intro-list{margin:var(--ds-space-2) 0 0;flex-direction:column;gap:2px;padding:0;list-style:none;display:flex}.intro-list__row{gap:var(--ds-space-3);grid-template-columns:190px minmax(0,1fr) auto;align-items:center;padding:4px 0;display:grid}.intro-list__title{font-size:var(--ds-font-sm)}.intro-list__state{font-size:var(--ds-font-xs);color:var(--ds-text-muted)}.markdown{max-width:var(--ds-measure-prose);color:var(--ds-text-primary);margin:0 auto;font-size:15px;line-height:1.72}.markdown>:first-child{margin-top:0}.markdown h1,.markdown h2,.markdown h3,.markdown h4,.markdown h5,.markdown h6{margin:var(--ds-space-6) 0 var(--ds-space-3);scroll-margin-top:var(--ds-space-5);font-weight:640;line-height:1.3}.markdown h1{letter-spacing:-.015em;font-size:1.75em}.markdown h2{padding-bottom:var(--ds-space-2);border-bottom:1px solid var(--ds-border);font-size:1.35em}.markdown h3{font-size:1.12em}.markdown h4{color:var(--ds-text-secondary);font-size:1em}.markdown p{margin:var(--ds-space-3) 0}.markdown strong{font-weight:660}.markdown em{font-style:italic}.markdown hr{margin:var(--ds-space-6) 0;border:0;border-top:1px solid var(--ds-border)}.markdown ul,.markdown ol{margin:var(--ds-space-3) 0;padding-left:var(--ds-space-6)}.markdown li{margin:var(--ds-space-1) 0}.markdown li::marker{color:var(--ds-accent)}.markdown blockquote{margin:var(--ds-space-4) 0;padding:var(--ds-space-1) var(--ds-space-4);color:var(--ds-text-secondary);border-left:3px solid var(--ds-accent-ring);background:var(--ds-tint-quiet);border-radius:0 var(--ds-radius-md) var(--ds-radius-md) 0}.markdown code{font-family:var(--ds-font-mono);color:var(--ds-code-text);background:var(--ds-code-bg);border-radius:var(--ds-radius-sm);padding:.15em .4em;font-size:.87em}.markdown pre{margin:var(--ds-space-4) 0;padding:var(--ds-space-4);background:var(--ds-code-block-bg);border:1px solid var(--ds-border);border-radius:var(--ds-radius-lg);overflow-x:auto}.markdown pre code{color:inherit;background:0 0;padding:0;font-size:.84em}.markdown table{width:max-content;max-width:100%;margin:var(--ds-space-4) 0;border-collapse:collapse;font-size:.92em;display:block;overflow-x:auto}.markdown th,.markdown td{text-align:left;border:1px solid var(--ds-border);padding:7px 12px}.markdown th{background:var(--ds-tint-table-head);font-weight:620}.markdown tbody tr:nth-child(2n) td{background:var(--ds-tint-table-stripe)}.markdown a{text-underline-offset:2px;text-decoration:underline}.markdown a:hover{color:var(--ds-accent-hover)}.markdown img{border-radius:var(--ds-radius-md);max-width:100%}.markdown input[type=checkbox]{margin-right:var(--ds-space-2);accent-color:var(--ds-accent)}.hljs-comment,.hljs-quote{color:var(--ds-text-muted);font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-literal,.hljs-section,.hljs-doctag{color:var(--ds-code-keyword)}.hljs-string,.hljs-regexp,.hljs-addition{color:var(--ds-code-string)}.hljs-number,.hljs-symbol,.hljs-bullet{color:var(--ds-code-number)}.hljs-title,.hljs-name,.hljs-selector-id,.hljs-selector-class{color:var(--ds-code-name)}.hljs-attr,.hljs-attribute,.hljs-variable,.hljs-template-variable{color:var(--ds-code-attr)}.hljs-type,.hljs-built_in,.hljs-class .hljs-title{color:var(--ds-code-type)}.hljs-deletion{color:var(--ds-danger)}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:680}.markdown--compact{max-width:none;font-size:var(--ds-font-sm);color:var(--ds-text-secondary);margin:0;line-height:1.62}.markdown--compact>:first-child{margin-top:0}.markdown--compact>:last-child{margin-bottom:0}.markdown--compact h1,.markdown--compact h2,.markdown--compact h3,.markdown--compact h4,.markdown--compact h5,.markdown--compact h6{margin:var(--ds-space-4) 0 var(--ds-space-2);color:var(--ds-text-primary)}.markdown--compact h1{font-size:1.16em}.markdown--compact h2{border-bottom:0;padding-bottom:0;font-size:1.08em}.markdown--compact h3,.markdown--compact h4{font-size:1em}.markdown--compact p{margin:var(--ds-space-2) 0}.markdown--compact ul,.markdown--compact ol{margin:var(--ds-space-2) 0;padding-left:var(--ds-space-5)}.markdown--compact pre{margin:var(--ds-space-3) 0;padding:var(--ds-space-3)}.markdown--compact blockquote{margin:var(--ds-space-3) 0}.markdown--compact hr{margin:var(--ds-space-4) 0}.markdown--compact table{margin:var(--ds-space-3) 0}.markdown--pending{white-space:pre-wrap;color:var(--ds-text-muted)}
|
package/dist/ui/index.html
CHANGED
|
@@ -1,14 +1,39 @@
|
|
|
1
1
|
<!doctype html>
|
|
2
|
-
<html lang="en" data-ds-theme="
|
|
2
|
+
<html lang="en" data-ds-theme="indigo">
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="utf-8" />
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
6
6
|
<meta name="color-scheme" content="dark" />
|
|
7
|
+
<!--
|
|
8
|
+
The theme, before the first paint.
|
|
9
|
+
|
|
10
|
+
The daemon holds the choice (machine-scope, ~/.invariant/preferences.json)
|
|
11
|
+
and the page asks for it on load — but that answer arrives after the first
|
|
12
|
+
frame, and a frame painted in the previous theme is a flash everybody
|
|
13
|
+
sees. This reads the paint cache `lib/theme.ts` keeps in localStorage and
|
|
14
|
+
stamps the attribute before any stylesheet is parsed. It is deliberately
|
|
15
|
+
the only inline script on the page, and deliberately dependency-free: it
|
|
16
|
+
runs before the module graph exists.
|
|
17
|
+
-->
|
|
18
|
+
<script>
|
|
19
|
+
(function () {
|
|
20
|
+
var SCHEMES = { indigo: 'dark', graphite: 'dark', paper: 'light' };
|
|
21
|
+
try {
|
|
22
|
+
var stored = window.localStorage.getItem('invariant.theme');
|
|
23
|
+
if (!SCHEMES[stored]) return;
|
|
24
|
+
document.documentElement.setAttribute('data-ds-theme', stored);
|
|
25
|
+
var meta = document.querySelector('meta[name="color-scheme"]');
|
|
26
|
+
if (meta) meta.content = SCHEMES[stored];
|
|
27
|
+
} catch (error) {
|
|
28
|
+
/* private mode, or storage disabled: the default theme stands */
|
|
29
|
+
}
|
|
30
|
+
})();
|
|
31
|
+
</script>
|
|
7
32
|
<!-- Replaced by the daemon when it serves this file (see StaticFileHandler). -->
|
|
8
33
|
<meta name="invariant-ui-token" content="__INVARIANT_UI_TOKEN__" />
|
|
9
34
|
<title>Invariant Sessions</title>
|
|
10
|
-
<script type="module" crossorigin src="/assets/index-
|
|
11
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
35
|
+
<script type="module" crossorigin src="/assets/index-CviOvvQi.js"></script>
|
|
36
|
+
<link rel="stylesheet" crossorigin href="/assets/index-DJDYH97C.css">
|
|
12
37
|
</head>
|
|
13
38
|
<body class="ds-root">
|
|
14
39
|
<div id="root"></div>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@invariant.guru/cli",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.1",
|
|
4
4
|
"description": "Harness-agnostic workspace for spec-driven AI development: sessions, reviews, and a local daemon. Bring your own subscription.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"invariant": "./dist/main.js"
|