@font-face{font-family:Inter App;src:url(/fonts/Inter-Regular.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Inter App;src:url(/fonts/Inter-Medium.ttf) format("truetype");font-weight:500;font-display:swap}@font-face{font-family:Inter App;src:url(/fonts/Inter-SemiBold.ttf) format("truetype");font-weight:600;font-display:swap}@font-face{font-family:Inter App;src:url(/fonts/Inter-Bold.ttf) format("truetype");font-weight:700;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Regular.ttf) format("truetype");font-weight:400 700;font-display:swap}:root{color-scheme:light;--canvas: #f3f0ea;--surface: #fffdfa;--surface2: #f8f5ef;--surface3: #eee9e1;--overlay: #ffffff;--paper: #fffefc;--line: #ded8ce;--line-strong: #cbc3b8;--scrim: rgba(33, 28, 23, .45);--shadow: #2d231a;--text: #211c17;--text2: #544a41;--muted: #756a5f;--faint: #b3a99d;--accent: #b54c20;--accent-hover: #a8481f;--accent-press: #973f1a;--accent-text: #ffffff;--accent-soft: #fff0e9;--accent-line: #efb493;--selection: #f6d9c9;--focus: #b54c20;--success: #15803d;--success-soft: #ecfdf5;--success-fill: #1a7f53;--warning: #96590a;--warning-soft: #fffbeb;--warning-fill: #d97706;--error: #c02a22;--error-soft: #fef2f2;--error-fill: #dc2626;--danger-text: #ffffff;--info: #2456c4;--info-soft: #eff6ff;--info-fill: #2563eb;--tip-bg: #2b241e;--tip-text: #fffdfa;--hover-quiet: rgba(33, 28, 23, .06);--hover-soft: rgba(33, 28, 23, .05);--neutral-chip: rgba(33, 28, 23, .05);--phase-idle: #ddd6cb;--shadow-1: 0 1px 2px rgba(45, 35, 26, .06), 0 2px 6px rgba(45, 35, 26, .05);--shadow-2: 0 4px 10px rgba(45, 35, 26, .08), 0 10px 24px rgba(45, 35, 26, .08);--shadow-3: 0 8px 18px rgba(45, 35, 26, .1), 0 24px 48px rgba(45, 35, 26, .12);--stage-a1: #c85a28;--stage-a2: #3b82f6;--stage-a2a: #22a7c5;--stage-a2b: #d69b1e;--stage-a2c: #e05c9f;--stage-a3: #9a74f2;--stage-a4: #1ba394;--stage-text-a1: #963f19;--stage-text-a2: #2254bd;--stage-text-a2a: #0a657b;--stage-text-a2b: #7c5909;--stage-text-a2c: #a02c6d;--stage-text-a3: #643fcd;--stage-text-a4: #0b675e;--stage-tint: 12%;--font: "Inter App", "Segoe UI", system-ui, sans-serif;--mono: "JetBrains Mono", Consolas, "SF Mono", monospace;--text-2xs: 10px;--text-xs: 11px;--text-sm: 12px;--text-md: 13px;--text-lg: 15px;--text-xl: 20px;--text-display: 28px;--editor-size: 14px;--radius-xs: 4px;--radius: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--control: 32px;--control-sm: 28px;--control-lg: 38px;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 20px;--s6: 24px;--s7: 32px;--s8: 40px;--fast: .12s;--normal: .2s;--slow: .32s}:root[data-theme=dark]{color-scheme:dark;--canvas: #161311;--surface: #1e1a17;--surface2: #25201c;--surface3: #2e2823;--overlay: #2a2420;--paper: #1b1714;--line: #39322c;--line-strong: #4d443c;--scrim: rgba(9, 7, 6, .7);--shadow: #000000;--text: #f4eee7;--text2: #cfc5b9;--muted: #a3978b;--faint: #74695f;--accent: #f0895a;--accent-hover: #f59a70;--accent-press: #e07a4c;--accent-text: #24130a;--accent-soft: #3a241a;--accent-line: #6b3d28;--selection: #5b3a2a;--focus: #f0895a;--success: #6fd39a;--success-soft: #16301f;--success-fill: #3fb877;--warning: #e8bd6a;--warning-soft: #33280f;--warning-fill: #e3a93d;--error: #f59383;--error-soft: #3a1a16;--error-fill: #ef5d4f;--danger-text: #2b0c08;--info: #8fb7ff;--info-soft: #16233d;--info-fill: #6ea1ff;--tip-bg: #f4eee7;--tip-text: #211c17;--hover-quiet: rgba(244, 238, 231, .09);--hover-soft: rgba(244, 238, 231, .07);--neutral-chip: rgba(244, 238, 231, .07);--phase-idle: #3d352e;--shadow-1: 0 1px 2px rgba(0, 0, 0, .25), 0 2px 6px rgba(0, 0, 0, .2);--shadow-2: 0 4px 10px rgba(0, 0, 0, .35), 0 10px 24px rgba(0, 0, 0, .3);--shadow-3: 0 8px 18px rgba(0, 0, 0, .45), 0 24px 48px rgba(0, 0, 0, .4);--stage-a1: #f0895a;--stage-a2: #6ea1ff;--stage-a2a: #5fc4d8;--stage-a2b: #e3b64f;--stage-a2c: #ee84bd;--stage-a3: #b297f6;--stage-a4: #5ecfc2;--stage-text-a1: #f1a886;--stage-text-a2: #91b8ff;--stage-text-a2a: #80d3e2;--stage-text-a2b: #e7c367;--stage-text-a2c: #f1a2ca;--stage-text-a3: #c2affa;--stage-text-a4: #85ded4;--stage-tint: 16%}@media (prefers-reduced-motion: reduce){:root{--fast: 0ms;--normal: 0ms;--slow: 0ms}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--canvas);color:var(--text);font-family:var(--font);font-size:var(--text-sm);-webkit-font-smoothing:antialiased;overflow:hidden}::selection{background:var(--selection);color:var(--text)}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.mono{font-family:var(--mono)}.muted{color:var(--muted)}.text2{color:var(--text2)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.grow{flex:1 1 auto;min-width:0}.row{display:flex;align-items:center;gap:var(--s2);min-width:0}.col{display:flex;flex-direction:column;gap:var(--s3);min-width:0}.elide{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.note{font-size:var(--text-xs);color:var(--muted);line-height:1.3}.eyebrow{font-size:var(--text-2xs);font-weight:600;letter-spacing:.09em;color:var(--muted);text-transform:uppercase}*{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.icon{display:inline-flex;flex:none;width:16px;height:16px;color:inherit}.icon svg{width:100%;height:100%;display:block}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:none;height:var(--control);padding:0 12px;min-width:var(--control);border-radius:var(--radius-md);border:1px solid var(--line-strong);background:var(--surface);color:var(--text);font-size:var(--text-sm);font-weight:500;white-space:nowrap;cursor:pointer;position:relative;transition:background-color var(--fast),transform var(--fast)}.btn:hover{background:var(--surface2)}.btn:active{background:var(--surface3);transform:scale(.97)}.btn:disabled{opacity:.45;cursor:default;color:var(--muted)}.btn:disabled:active{transform:none}.btn.icon-only{padding:0;width:var(--control)}.btn.compact{height:var(--control-sm);padding:0 9px;min-width:var(--control-sm)}.btn.compact.icon-only{width:var(--control-sm);padding:0}.btn.compact .icon{width:14px;height:14px}.btn.quiet{background:transparent;border-color:transparent}.btn.quiet:hover,.btn.quiet.active{background:var(--hover-quiet)}.btn.active{color:var(--accent);background:var(--surface2)}.btn.quiet.active{background:var(--hover-quiet)}.btn.primary{background:var(--accent);border-color:transparent;color:var(--accent-text)}.btn.primary:hover{background:var(--accent-hover)}.btn.primary:active{background:var(--accent-press)}.btn.danger{color:var(--error)}.btn.danger:hover{background:var(--error-soft);border-color:color-mix(in srgb,var(--error) 40%,transparent)}.btn.solid-danger{background:var(--error-fill);color:var(--danger-text);border-color:transparent}.btn.solid-danger:hover{background:color-mix(in srgb,var(--error-fill) 93%,black)}.btn.left{justify-content:flex-start}.btn .keycap{margin-left:2px;padding:0 5px;height:17px;line-height:15px;border-radius:var(--radius-xs);border:1px solid currentColor;opacity:.6;font-family:var(--mono);font-size:var(--text-2xs)}.btn .mark{position:absolute;top:3px;right:3px;width:7px;height:7px;border-radius:4px;background:var(--accent);border:1px solid var(--surface)}.chip{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px;border-radius:11px;flex:none;font-size:var(--text-xs);font-weight:600;white-space:nowrap;color:var(--chip-ink, var(--text2));background:var(--chip-fill, var(--neutral-chip))}.chip .dot{width:6px;height:6px;border-radius:3px;background:var(--chip-mark, var(--faint))}.chip .icon{width:12px;height:12px}.chip.outlined{background:transparent;border:1px solid color-mix(in srgb,var(--chip-ink, var(--text2)) 45%,transparent)}.chip .count{font-family:var(--mono);font-size:var(--text-2xs);opacity:.8;font-weight:400}.chip.mono-text{font-family:var(--mono)}.chip.tone-success{--chip-ink: var(--success);--chip-fill: var(--success-soft);--chip-mark: var(--success-fill)}.chip.tone-warn{--chip-ink: var(--warning);--chip-fill: var(--warning-soft);--chip-mark: var(--warning-fill)}.chip.tone-error{--chip-ink: var(--error);--chip-fill: var(--error-soft);--chip-mark: var(--error-fill)}.chip.tone-info{--chip-ink: var(--info);--chip-fill: var(--info-soft);--chip-mark: var(--info-fill)}.chip.tone-accent{--chip-ink: var(--accent);--chip-fill: var(--accent-soft);--chip-mark: var(--accent)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--s4);display:flex;flex-direction:column;gap:var(--s3);min-width:0}.card.raised{box-shadow:var(--shadow-1)}.card-head{display:flex;align-items:flex-start;gap:var(--s3)}.card-glyph{width:28px;height:28px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;flex:none;background:var(--accent-soft);color:var(--accent)}.card-glyph .icon{width:15px;height:15px}.card-title{font-size:var(--text-md);font-weight:600;letter-spacing:-.01em}.card-desc{font-size:var(--text-sm);color:var(--muted);line-height:1.3}.card-rule{height:1px;background:var(--line)}.card-trailing{display:flex;gap:var(--s2);align-items:center;flex:none}.card-body{display:flex;flex-direction:column;gap:var(--s3);min-width:0}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field-label{font-size:var(--text-sm);font-weight:600}.field-required{color:var(--error)}.field-help{font-size:var(--text-xs);color:var(--muted);line-height:1.3}.field-error{font-size:var(--text-xs);color:var(--error);font-weight:600;line-height:1.3}.input{height:var(--control-lg);padding:0 12px;width:100%;min-width:0;border-radius:var(--radius-md);border:1px solid var(--line-strong);background:var(--surface);font-size:var(--text-md);transition:border-color var(--fast)}.input:hover{border-color:var(--muted)}.input:focus{outline:none;border:2px solid var(--focus);padding:0 11px}.input::placeholder,.textarea::placeholder{color:var(--muted)}.input:disabled{opacity:.55}.input.sm{height:var(--control);font-size:var(--text-sm)}.input.xs{height:var(--control-sm);font-size:var(--text-sm)}.input.mono{font-family:var(--mono);font-size:var(--text-sm)}.textarea{width:100%;min-height:120px;resize:vertical;padding:8px 10px;border-radius:var(--radius-md);border:1px solid var(--line-strong);background:var(--surface);font-size:var(--text-md);line-height:1.45}.textarea:focus{outline:none;border:2px solid var(--focus);padding:7px 9px}.textarea[readonly]{background:var(--surface2);color:var(--text2)}.textarea.mono{font-family:var(--mono);font-size:var(--text-sm)}.textarea:disabled{opacity:.55}.number{height:var(--control-sm);padding:0 8px;border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--surface);font-family:var(--mono);font-size:var(--text-sm);text-align:right;flex:none}.number:hover{background:var(--surface2)}.number:focus{outline:none;border:2px solid var(--focus);padding:0 7px;background:var(--surface)}.number:disabled{opacity:.5}.number.tall{height:var(--control)}.picker{position:relative;display:inline-flex;min-width:0}.picker select{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:100%;height:var(--control);padding:0 28px 0 10px;border-radius:var(--radius-md);border:1px solid var(--line-strong);background:var(--surface);font-size:var(--text-sm);cursor:pointer;text-overflow:ellipsis}.picker.lg select{height:var(--control-lg);font-size:var(--text-md)}.picker select:hover{background:var(--surface2)}.picker select:disabled{opacity:.5;cursor:default}.picker select option{background:var(--overlay);color:var(--text)}.picker .icon{position:absolute;right:9px;top:50%;width:14px;height:14px;transform:translateY(-50%);color:var(--muted);pointer-events:none}.picker.placeholder select{color:var(--text2)}.toggle{display:inline-flex;align-items:center;gap:8px;height:var(--control);cursor:pointer;font-size:var(--text-sm);font-weight:500;flex:none;-webkit-user-select:none;user-select:none}.toggle input{position:absolute;opacity:0;width:1px;height:1px}.toggle .track{position:relative;width:34px;height:20px;border-radius:10px;background:var(--surface3);border:1px solid var(--line-strong);transition:background-color var(--normal);flex:none}.toggle .knob{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:7px;background:var(--surface);border:1px solid var(--line-strong);transition:left var(--normal) cubic-bezier(.33,1,.68,1)}.toggle input:checked+.track{background:var(--accent);border-color:var(--accent)}.toggle input:checked+.track .knob{left:16px;background:var(--accent-text);border-color:transparent}.toggle input:focus-visible+.track{outline:2px solid var(--focus);outline-offset:2px}.toggle.disabled{opacity:.5;cursor:default}.check{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:var(--text-sm);min-width:0;-webkit-user-select:none;user-select:none}.check input{position:absolute;opacity:0;width:1px;height:1px}.check .box{width:18px;height:18px;border-radius:5px;border:1px solid var(--line-strong);background:var(--surface);display:inline-flex;align-items:center;justify-content:center;flex:none;color:var(--accent-text);transition:background-color var(--fast)}.check:hover .box{background:var(--surface2);border-color:var(--muted)}.check input:checked+.box{background:var(--accent);border-color:transparent}.check .box .icon{width:12px;height:12px;visibility:hidden}.check input:checked+.box .icon{visibility:visible}.check input:focus-visible+.box{outline:2px solid var(--focus);outline-offset:2px}.check.disabled{opacity:.5;cursor:default}.segmented{display:inline-flex;gap:2px;padding:3px;border-radius:var(--radius-md);background:var(--surface2);border:1px solid var(--line);flex:none}.segmented button{height:calc(var(--control) - 8px);padding:0 11px;border-radius:var(--radius);border:1px solid transparent;background:transparent;color:var(--text2);font-size:var(--text-sm);font-weight:500;cursor:pointer;white-space:nowrap}.segmented.compact button{height:calc(var(--control-sm) - 8px);padding:0 9px}.segmented button:hover{background:var(--hover-soft)}.segmented button[aria-pressed=true]{background:var(--surface);border-color:var(--line-strong);color:var(--text);font-weight:600;box-shadow:var(--shadow-1)}.range{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:28px;background:transparent;cursor:pointer;--fill: 0%}.range::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:linear-gradient(to right,var(--accent) var(--fill),var(--surface3) var(--fill))}.range::-moz-range-track{height:4px;border-radius:2px;background:var(--surface3)}.range::-moz-range-progress{height:4px;border-radius:2px;background:var(--accent)}.range::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;margin-top:-5px;border-radius:7px;background:#fff;border:1px solid var(--line-strong);transition:transform var(--fast)}.range::-moz-range-thumb{width:12px;height:12px;border-radius:7px;background:#fff;border:1px solid var(--line-strong)}:root[data-theme=dark] .range::-webkit-slider-thumb{background:var(--text)}:root[data-theme=dark] .range::-moz-range-thumb{background:var(--text)}.range:hover::-webkit-slider-thumb,.range:active::-webkit-slider-thumb{border-color:var(--accent)}.range:active::-webkit-slider-thumb{transform:scale(1.15);border-width:2px}.range:disabled{opacity:.5;cursor:default}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--s3);padding:var(--s4)}.empty-glyph{width:56px;height:56px;border-radius:28px;display:flex;align-items:center;justify-content:center;background:var(--neutral-chip);border:1px solid var(--line);color:var(--muted)}.empty-glyph .icon{width:22px;height:22px}.empty-title{font-size:var(--text-lg);font-weight:600;letter-spacing:-.01em}.empty-text{font-size:var(--text-md);color:var(--muted);line-height:1.35;max-width:420px}.section-eyebrow{font-size:var(--text-2xs);font-weight:600;letter-spacing:.09em;color:var(--accent);text-transform:uppercase}.section-title{font-size:var(--text-xl);font-weight:600;letter-spacing:-.015em;margin:0}.section-desc{font-size:var(--text-md);color:var(--text2);line-height:1.35}.fact{display:flex;gap:var(--s3);align-items:flex-start}.fact-label{flex:none;font-size:var(--text-sm);font-weight:600;color:var(--text2)}.fact-value{flex:1 1 auto;min-width:0;font-size:var(--text-sm);line-height:1.3;overflow-wrap:anywhere}.tip{position:fixed;z-index:1000;max-width:320px;padding:6px 9px;border-radius:var(--radius);background:var(--tip-bg);color:var(--tip-text);font-size:var(--text-xs);line-height:1.25;pointer-events:none;animation:fade-in var(--fast) ease-out}.ring{flex:none;display:inline-block}.ring.spinning{animation:spin 1.1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400;background:var(--scrim);display:flex;align-items:center;justify-content:center;padding:var(--s6);animation:fade-in var(--normal) ease-out}.modal{width:100%;max-height:calc(100vh - 2 * var(--s6));display:flex;flex-direction:column;background:var(--overlay);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow-3);animation:modal-in var(--normal) cubic-bezier(.33,1,.68,1)}.modal-head{display:flex;gap:14px;align-items:flex-start;padding:calc(var(--s6) - 2px) var(--s6) 0}.modal-glyph{width:36px;height:36px;border-radius:18px;flex:none;display:flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent)}.modal-glyph .icon{width:18px;height:18px}.modal-glyph.danger{background:var(--error-soft);color:var(--error)}.modal-eyebrow{font-size:var(--text-2xs);font-weight:600;letter-spacing:.08em;color:var(--accent);text-transform:uppercase}.modal-title{font-size:var(--text-lg);font-weight:600;letter-spacing:-.01em;line-height:1.25;margin:0;overflow-wrap:anywhere}.modal-body{overflow-y:auto;padding:var(--s4) var(--s6) 0;display:flex;flex-direction:column;gap:var(--s3);min-height:0}.modal-desc{font-size:var(--text-md);color:var(--text2);line-height:1.35;white-space:pre-wrap;overflow-wrap:anywhere}.modal-desc.under-glyph{margin-left:50px}.modal-foot{display:flex;gap:var(--s2);align-items:center;padding:var(--s5) var(--s6);flex-wrap:wrap}.modal-foot .lead{display:flex;gap:8px}.modal-foot .grow{flex:1 1 auto}.stage-A1{--stage: var(--stage-a1);--stage-ink: var(--stage-text-a1)}.stage-A2{--stage: var(--stage-a2);--stage-ink: var(--stage-text-a2)}.stage-A2A{--stage: var(--stage-a2a);--stage-ink: var(--stage-text-a2a)}.stage-A2B{--stage: var(--stage-a2b);--stage-ink: var(--stage-text-a2b)}.stage-A2C{--stage: var(--stage-a2c);--stage-ink: var(--stage-text-a2c)}.stage-A3{--stage: var(--stage-a3);--stage-ink: var(--stage-text-a3)}.stage-A4{--stage: var(--stage-a4);--stage-ink: var(--stage-text-a4)}.chip.stage{--chip-ink: var(--stage-ink);--chip-fill: color-mix(in srgb, var(--stage) var(--stage-tint), transparent);--chip-mark: var(--stage)}.app{--gutter: 16px;height:100%;display:flex;flex-direction:column;background:var(--canvas);min-width:0}@media (min-width: 1260px){.app{--gutter: 20px}}.hairline{height:1px;flex:none;background:var(--line)}.titlebar{position:relative;flex:none;height:44px;display:flex;align-items:center;gap:6px;padding:0 var(--gutter) 0 14px;background:var(--surface);z-index:3}.titlebar .brand{display:flex;align-items:center;gap:9px;min-width:0;flex:1 1 auto}.titlebar .brand img{width:20px;height:20px;flex:none}.titlebar .brand-name{font-size:var(--text-md);font-weight:600;letter-spacing:-.01em;white-space:nowrap}.titlebar .bot-chip{height:18px;padding:0 6px;border-radius:9px;background:var(--accent-soft);color:var(--accent);font-size:var(--text-2xs);font-weight:600;display:inline-flex;align-items:center;flex:none}.titlebar .sep{width:1px;height:12px;background:var(--line-strong);flex:none}.titlebar .project{font-size:var(--text-sm);color:var(--muted)}.titlebar .right{display:flex;align-items:center;gap:6px;flex:none}.status-pill{position:absolute;left:50%;top:10px;transform:translate(-50%);height:24px;padding:0 11px;border-radius:12px;display:inline-flex;align-items:center;gap:7px;font-size:var(--text-xs);font-weight:600;white-space:nowrap;color:var(--text2);background:var(--neutral-chip);transition:background-color var(--normal)}.status-pill .dot,.run-pill .dot{width:7px;height:7px;border-radius:4px;background:var(--success-fill);flex:none}.status-pill.active{color:var(--accent);background:var(--accent-soft)}.status-pill.active .dot{background:var(--accent);animation:pulse 1.4s ease-in-out infinite}.status-pill.error{color:var(--error);background:var(--error-soft)}.status-pill.error .dot{background:var(--error-fill)}@media (max-width: 1000px){.status-pill{display:none}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}@media (prefers-reduced-motion: reduce){.status-pill.active .dot,.run-pill .dot,.phase-dot,.step .pip{animation:none!important}}.account-chip{height:28px;padding:0 7px 0 4px;border-radius:14px;border:1px solid var(--line);background:transparent;display:inline-flex;align-items:center;gap:7px;cursor:pointer;font-size:var(--text-xs);font-weight:600;color:var(--text2);transition:background-color var(--fast)}.account-chip:hover,.account-chip[aria-expanded=true]{background:var(--hover-quiet)}.account-chip.warn{color:var(--warning)}.avatar{position:relative;width:20px;height:20px;border-radius:10px;background:var(--accent);color:var(--accent-text);display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:700;flex:none}.avatar.lg{width:36px;height:36px;border-radius:18px;font-size:var(--text-lg)}.avatar .warn-dot{position:absolute;right:-2px;top:-2px;width:8px;height:8px;border-radius:4px;background:var(--warning-fill);border:1px solid var(--surface)}.account-chip .icon{width:12px;height:12px;color:var(--muted)}.popover{position:fixed;z-index:300;background:var(--overlay);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);padding:6px;animation:pop-in var(--fast) ease-out;max-height:calc(100vh - 24px);overflow:auto}@keyframes pop-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}.popover-head{display:flex;align-items:center;gap:8px;padding:2px 2px 2px 8px}.menu-item{width:100%;display:flex;align-items:center;gap:10px;padding:0 10px 0 8px;min-height:36px;border:0;border-radius:var(--radius-md);background:transparent;text-align:left;cursor:pointer;color:var(--text);font-size:var(--text-md)}.menu-item:hover,.menu-item:focus-visible{background:var(--hover-quiet)}.menu-item.current{background:var(--accent-soft)}.menu-item.current:hover{background:color-mix(in srgb,var(--accent-soft) 80%,var(--text) 6%)}.menu-item.danger{color:var(--error)}.menu-item.danger:hover{background:var(--error-soft)}.menu-item .icon{width:15px;height:15px}.menu-item:disabled{opacity:.5;cursor:default}.menu-rule{height:1px;background:var(--line);margin:6px 4px}.account-menu{width:320px;padding:8px}.account-head{display:flex;gap:12px;align-items:center;padding:8px 8px 12px}.account-head .who{min-width:0;display:flex;flex-direction:column;gap:2px}.account-head .who-name{font-size:var(--text-md);font-weight:600}.account-head .who-sub{font-size:var(--text-xs);color:var(--muted)}.account-facts{display:flex;flex-direction:column;gap:8px;padding:10px 8px;border-top:1px solid var(--line)}.meter{height:6px;border-radius:3px;background:var(--surface3);overflow:hidden}.meter>span{display:block;height:100%;background:var(--accent);border-radius:3px;transition:width var(--slow)}.meter.high>span{background:var(--warning-fill)}.meter.full>span{background:var(--error-fill)}.warn-box{display:flex;gap:10px;padding:10px 12px;margin:4px 0 6px;border-radius:var(--radius-md);background:var(--warning-soft);border:1px solid color-mix(in srgb,var(--warning) 30%,transparent);color:var(--warning);font-size:var(--text-sm);line-height:1.35}.warn-box .icon{margin-top:1px}.toolbar{flex:none;background:var(--surface);z-index:2}.toolbar-row1{min-height:78px;display:flex;align-items:center;gap:10px;padding:8px var(--gutter);flex-wrap:wrap}.toolbar-rule{height:1px;background:var(--line);margin:0 var(--gutter)}.toolbar-row2{min-height:44px;display:flex;align-items:center;gap:12px;padding:4px var(--gutter) 4px calc(var(--gutter) - 8px);flex-wrap:wrap}.toolbar .start{height:36px;min-width:104px;font-size:var(--text-md);font-weight:600}.toolbar .windows{margin-left:auto;display:flex;gap:4px;flex:none}.toolbar .divider{width:1px;height:20px;margin:0 4px;background:var(--line);flex:none}.pace{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pace-label{font-size:var(--text-xs);font-weight:500;color:var(--text2);white-space:nowrap}.pace .range{width:132px}@media (max-width: 1259px){.pace .range{width:84px}}.pace .pip{width:3px;height:3px;border-radius:2px;background:var(--faint);margin:0 4px;flex:none}.project-group{display:flex;align-items:center;gap:2px;flex:1 1 260px;min-width:0}.project-pill{flex:1 1 auto;min-width:120px;max-width:300px;height:36px;margin-right:4px;padding:0 10px 0 12px;display:flex;align-items:center;gap:8px;border-radius:var(--radius-md);border:1px solid var(--line-strong);background:var(--surface);cursor:pointer;text-align:left;transition:background-color var(--fast)}.project-pill:hover,.project-pill[aria-expanded=true]{background:var(--surface2)}.project-pill.fixed{cursor:default;background:transparent;border-color:var(--line)}.project-pill .bullet{width:8px;height:8px;border-radius:4px;background:var(--faint);flex:none}.project-pill .bullet.on{background:var(--accent)}.project-pill .caption{font-size:9px;font-weight:600;letter-spacing:.08em;color:var(--muted)}.project-pill .name{font-size:var(--text-md);font-weight:600}.project-pill .badge{height:18px;padding:0 6px;border-radius:9px;background:var(--surface3);color:var(--text2);font-size:var(--text-2xs);font-weight:600;display:inline-flex;align-items:center;flex:none}.project-pill>.icon{width:14px;height:14px;color:var(--muted);transition:transform var(--fast)}.project-pill[aria-expanded=true]>.icon{transform:rotate(180deg)}.project-list{width:340px}.project-list .rows{max-height:300px;overflow-y:auto;display:flex;flex-direction:column;gap:1px}.project-row{min-height:46px}.project-row .check-mark{width:14px;height:14px;color:var(--accent);flex:none}.project-row .meta{font-size:var(--text-xs);color:var(--muted)}.bot-dock{display:flex;align-items:center;gap:8px;padding:6px 8px;min-height:62px;border-radius:var(--radius-lg);background:var(--surface2);border:1px solid var(--line);flex:none}.bot-dock .left{display:flex;flex-direction:column;gap:4px}.main-badge{height:24px;padding:0 9px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;gap:5px;background:var(--accent-soft);border:1px solid var(--accent-line);color:var(--accent);font-size:var(--text-xs);font-weight:600;cursor:grab;-webkit-user-select:none;user-select:none}.main-badge:active{cursor:grabbing}.main-badge .icon{width:13px;height:13px}.bot-dock .vrule{width:1px;align-self:stretch;margin:10px 0;background:var(--line)}.bot-grid{display:grid;grid-template-columns:repeat(3,auto);gap:4px}.bot-cell{display:flex;align-items:center;height:24px;border-radius:7px;background:var(--surface);border:1px solid var(--line);transition:background-color var(--fast)}.bot-cell.busy-phase{border-color:var(--accent-line)}.bot-cell.drop{background:var(--accent-soft);border-color:var(--accent)}.bot-cell.working{opacity:.6}.bot-cell .vsep{width:1px;height:12px;background:var(--line)}.part{height:24px;padding:0 8px;border:0;border-radius:6px;background:transparent;display:inline-flex;align-items:center;gap:6px;font-size:var(--text-xs);font-weight:500;color:var(--text);cursor:pointer;white-space:nowrap;transition:background-color var(--fast)}.part.icon-only{padding:0 5px}.part .icon{width:13px;height:13px}.part:hover{background:var(--hover-quiet)}.part.danger:hover{background:var(--error-soft);color:var(--error)}.part.loud{color:var(--error);background:color-mix(in srgb,var(--error) 10%,transparent)}.part:disabled{opacity:.4;cursor:default;background:transparent;color:var(--muted)}.phase-dot{width:7px;height:7px;border-radius:4px;flex:none;background:transparent}.phase-dot.off{border:1px solid var(--faint)}.phase-dot.busy{background:var(--accent);animation:pulse 1.3s ease-in-out infinite}.phase-dot.on,.phase-dot.running{background:var(--success-fill)}.phase-dot.starting{background:var(--warning-fill);animation:pulse 1.3s ease-in-out infinite}.phase-dot.stale{background:var(--error-fill)}.banner{flex:none;display:flex;align-items:center;gap:10px;min-height:46px;padding:8px var(--gutter);background:var(--warning-soft);border-bottom:1px solid color-mix(in srgb,var(--warning) 30%,transparent);font-size:var(--text-sm);flex-wrap:wrap}.banner .icon{color:var(--warning)}.banner-title{font-weight:600;color:var(--warning)}.banner-text{color:var(--text2);flex:1 1 240px;min-width:0;line-height:1.35}.banner.info{background:var(--info-soft);border-bottom-color:color-mix(in srgb,var(--info) 30%,transparent)}.banner.info .icon,.banner.info .banner-title{color:var(--info)}.editors{flex:1 1 auto;min-height:0;display:flex;padding:14px var(--gutter)}.pane{position:relative;display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-1);overflow:hidden;transition:border-color var(--normal)}.pane:focus-within{border-color:var(--accent-line)}.pane-head{height:44px;flex:none;display:flex;align-items:center;gap:10px;padding:0 16px 0 18px;border-bottom:1px solid var(--line)}.pane-head .square{width:8px;height:8px;border-radius:2px;flex:none}.pane-title{font-size:var(--text-md);font-weight:600;letter-spacing:-.01em;white-space:nowrap}.pane-hint{font-size:var(--text-sm);color:var(--muted)}.pane-meta{font-family:var(--mono);font-size:var(--text-xs);color:var(--muted);white-space:nowrap}.split-handle{width:14px;flex:none;cursor:col-resize;display:flex;align-items:center;justify-content:center;touch-action:none}.split-handle:after{content:"";width:3px;height:36px;border-radius:2px;background:var(--line-strong);opacity:0;transition:opacity var(--fast)}.split-handle:hover:after,.split-handle.dragging:after,.split-handle:focus-visible:after{opacity:1}.input-area{position:relative;flex:1 1 auto;min-height:84px}.draft{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;resize:none;border:0;outline:none;background:transparent;padding:14px 18px;font-family:var(--font);font-size:var(--editor-size);line-height:1.6;color:var(--text)}.draft-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;padding:14px 18px;pointer-events:none;color:var(--muted);font-size:var(--editor-size);line-height:1.6;overflow:hidden}.formats{margin-top:10px;display:flex;flex-direction:column;gap:4px;font-size:var(--text-sm)}.formats .eyebrow{margin-bottom:2px}.formats li{list-style:none;display:flex;gap:8px;align-items:center}.formats ul{margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.formats li:before{content:"";width:4px;height:4px;border-radius:2px;background:var(--faint);flex:none}@media (max-height: 640px){.formats{display:none}}.output-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;padding:14px 22px 18px}.output-scroll p{margin:0 0 1em;font-size:var(--editor-size);line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text}.output-empty{position:absolute;top:44px;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none}@media (max-width: 899px){.editors{flex-direction:column;gap:12px;overflow-y:auto}.editors .pane{flex:none!important;width:auto!important;min-height:420px}.split-handle{display:none}}.queue{flex:none;display:flex;flex-direction:column;border-top:1px solid var(--line);min-height:0}.queue-head{display:flex;flex-direction:column;gap:8px;padding:8px 12px 4px 16px}.queue-title{font-size:var(--text-sm);font-weight:600}.count-chip{height:18px;padding:0 6px;border-radius:9px;background:var(--surface3);color:var(--text2);font-family:var(--mono);font-size:var(--text-2xs);font-weight:700;display:inline-flex;align-items:center}.bar3{display:flex;height:4px;border-radius:2px;background:var(--surface3);overflow:hidden}.bar3>span{height:100%;transition:width var(--slow) cubic-bezier(.33,1,.68,1)}.queue-summary{font-size:var(--text-xs);color:var(--muted)}.queue-banner{display:flex;gap:8px;align-items:center;padding:7px 10px;border-radius:var(--radius-md);background:var(--warning-soft);border:1px solid color-mix(in srgb,var(--warning) 30%,transparent);color:var(--warning);font-size:var(--text-xs);font-weight:500}.queue-list{overflow-y:auto;min-height:0;padding-bottom:6px}.queue-row{height:34px;display:flex;align-items:center;gap:10px;padding:0 14px 0 16px;margin:1px 8px;border-radius:var(--radius-md)}.queue-row:hover{background:var(--hover-soft)}.queue-row.working{opacity:.55}.queue-glyph{width:20px;height:20px;border-radius:10px;flex:none;display:flex;align-items:center;justify-content:center;background:var(--surface3);color:var(--text2);font-family:var(--mono);font-size:var(--text-2xs);font-weight:700}.queue-glyph .icon{width:12px;height:12px}.queue-glyph.completed{background:var(--success-soft);color:var(--success)}.queue-glyph.failed{background:var(--error-soft);color:var(--error)}.queue-glyph.next{background:var(--accent-soft);color:var(--accent);border:1px solid var(--accent-line)}.queue-glyph.processing{background:transparent;color:var(--accent)}.queue-row .title{font-size:var(--text-sm);font-weight:500}.queue-row .detail{font-size:var(--text-xs);color:var(--muted);max-width:34%}.queue-row .state{font-size:var(--text-xs);font-weight:500;color:var(--muted);white-space:nowrap}.queue-row .state.failed{color:var(--error)}.queue-row .state.processing,.queue-row .state.next{color:var(--accent)}.queue-row .state.completed{color:var(--success)}.queue-row .btn.compact{height:24px;min-width:24px;width:24px}.queue-empty{min-height:52px;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:var(--text-sm)}.statusbar{position:relative;flex:none;min-height:40px;display:flex;align-items:center;gap:12px;padding:9px var(--gutter) 7px;background:var(--surface);border-top:1px solid var(--line);flex-wrap:wrap}.chunk-strip{position:absolute;left:0;right:0;top:-1px;height:4px;display:flex;background:var(--surface)}.chunk-strip>span{height:100%;flex:1 1 0;min-width:1px;transition:background-color var(--normal)}.run-pill{height:22px;padding:0 9px;border-radius:11px;display:inline-flex;align-items:center;gap:6px;font-size:var(--text-xs);font-weight:600;flex:none;transition:background-color var(--normal);color:var(--text2);background:var(--neutral-chip)}.run-pill .dot{background:var(--faint)}.run-pill.running{color:var(--accent);background:var(--accent-soft)}.run-pill.running .dot{background:var(--accent);animation:pulse 1.4s ease-in-out infinite}.run-pill.retrying{color:var(--warning);background:var(--warning-soft)}.run-pill.retrying .dot{background:var(--warning-fill);animation:pulse 1.4s ease-in-out infinite}.run-pill.error{color:var(--error);background:var(--error-soft)}.run-pill.error .dot{background:var(--error-fill)}.run-pill.done{color:var(--success);background:var(--success-soft)}.run-pill.done .dot{background:var(--success-fill)}.progress-label{font-size:var(--text-sm);min-width:60px;flex:0 1 auto}.stepper{flex:1 1 auto;display:flex;align-items:center;min-width:0}.step{display:flex;align-items:center;min-width:0}.step+.step{flex:1 1 auto}.step-line{flex:1 1 auto;min-width:12px;height:2px;border-radius:1px;margin:0 5px;background:var(--line);transition:background-color var(--normal)}.step.lit .step-line{background:color-mix(in srgb,var(--stage) 55%,transparent)}.step-body{display:flex;align-items:center;gap:5px;flex:none}.step-ring{position:relative;width:18px;height:18px;flex:none}.step-ring .ring{position:absolute;top:0;right:0;bottom:0;left:0}.step .pip{position:absolute;left:50%;top:50%;width:5px;height:5px;border-radius:3px;transform:translate(-50%,-50%);background:var(--line-strong);transition:width var(--fast),height var(--fast)}.step.done .pip{background:color-mix(in srgb,var(--stage) 55%,transparent)}.step.active .pip{width:7px;height:7px;background:var(--stage);animation:pulse 1.2s ease-in-out infinite}.step .tick{position:absolute;left:4px;top:4px;width:10px;height:10px;color:var(--stage-ink)}.step-label{font-family:var(--mono);font-size:var(--text-xs);font-weight:700;color:var(--text2)}.step.lit .step-label{color:var(--stage-ink)}.step-name{font-size:var(--text-xs);color:var(--muted);white-space:nowrap}.step-count{font-family:var(--mono);font-size:var(--text-2xs);color:var(--text2)}.worker-pill{height:22px;padding:0 8px;border-radius:11px;background:var(--neutral-chip);display:inline-flex;align-items:center;gap:8px;flex:none}.worker-dots{display:grid;grid-auto-flow:column;gap:3px}.worker-dots.many{gap:2px}.worker-dots.two-rows{grid-template-rows:auto auto}.worker-dots>span{width:7px;height:7px;border-radius:50%;transition:background-color var(--fast)}.worker-dots.many>span{width:5px;height:5px}.worker-text{font-size:var(--text-xs);font-weight:500;color:var(--text2);white-space:nowrap}.worker-text.error{color:var(--error)}.worker-text.retrying{color:var(--warning)}.a4-badge{height:22px;padding:0 9px;border-radius:11px;display:inline-flex;align-items:center;gap:6px;font-size:var(--text-xs);font-weight:600;color:var(--stage-text-a4);background:color-mix(in srgb,var(--stage-a4) 14%,transparent);border:1px solid color-mix(in srgb,var(--stage-a4) 45%,transparent);flex:none}.output-stats{font-size:var(--text-xs);color:var(--muted);white-space:nowrap}.toasts{position:fixed;right:16px;bottom:56px;z-index:900;width:min(380px,calc(100vw - 32px));display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{pointer-events:auto;display:flex;gap:10px;align-items:flex-start;padding:11px 10px 11px 14px;border-radius:var(--radius-lg);background:var(--overlay);border:1px solid var(--line);box-shadow:var(--shadow-2);position:relative;overflow:hidden;animation:rise-in var(--normal) cubic-bezier(.33,1,.68,1)}.toast:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--toast-ink)}.toast .toast-icon{color:var(--toast-ink);margin-top:1px}.toast .toast-text{flex:1 1 auto;min-width:0;font-size:var(--text-sm);line-height:1.4;overflow-wrap:anywhere;white-space:pre-wrap}.toast .times{font-family:var(--mono);font-size:var(--text-2xs);color:var(--muted);padding:1px 5px;border-radius:8px;background:var(--neutral-chip);flex:none}.toast .btn{margin:-5px -2px -5px 0}.toast.info{--toast-ink: var(--info)}.toast.success{--toast-ink: var(--success)}.toast.warn{--toast-ink: var(--warning)}.toast.error{--toast-ink: var(--error)}.screen{flex:1 1 auto;min-height:0;display:flex;align-items:center;justify-content:center;padding:24px 16px;overflow:auto;background:var(--canvas)}.screen-card{width:100%;max-width:440px;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;padding:32px 28px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow-1)}.screen-card .emblem{position:relative;width:104px;height:104px;display:flex;align-items:center;justify-content:center}.screen-card .emblem .ring{position:absolute;top:0;right:0;bottom:0;left:0;color:var(--accent)}.screen-card .emblem .tile{width:72px;height:72px;border-radius:20px;background:var(--surface);border:1px solid var(--accent-line);box-shadow:var(--shadow-2);display:flex;align-items:center;justify-content:center}.screen-card .emblem img{width:48px;height:48px}.screen-title{font-size:var(--text-xl);font-weight:600;letter-spacing:-.02em;margin:0}.screen-text{font-size:var(--text-md);color:var(--text2);line-height:1.45;margin:0}.screen-note{font-size:var(--text-xs);color:var(--muted);line-height:1.4;margin:0}.screen-card .btn.primary{height:var(--control-lg);padding:0 22px;font-size:var(--text-md);font-weight:600}.signin{flex:1 1 auto;display:flex;min-height:0}.signin-brand{flex:0 0 42%;max-width:560px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:32px;border-right:1px solid var(--line);background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 88%,var(--accent)),color-mix(in srgb,var(--canvas) 98%,var(--accent)))}.signin-brand .rings{position:relative;width:240px;height:240px;display:flex;align-items:center;justify-content:center}.signin-brand .rings>span{position:absolute;border-radius:50%;border:1px solid color-mix(in srgb,var(--accent) var(--a),transparent)}.signin-brand .brand-tile{width:104px;height:104px;border-radius:28px;background:var(--surface);border:1px solid var(--accent-line);box-shadow:var(--shadow-2);display:flex;align-items:center;justify-content:center;position:relative}.signin-brand .brand-tile img{width:68px;height:68px}.signin-brand h1{margin:0;font-size:var(--text-xl);font-weight:600;letter-spacing:-.02em}.signin-brand p{margin:0;max-width:360px;text-align:center;color:var(--text2);font-size:var(--text-md);line-height:1.45}@media (max-width: 879px){.signin-brand{display:none}}.sheet-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:var(--scrim);display:flex;align-items:stretch;justify-content:center;padding:16px;animation:fade-in var(--normal) ease-out}.sheet{position:relative;width:100%;max-width:1360px;display:flex;flex-direction:column;background:var(--canvas);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow-3);overflow:hidden;animation:modal-in var(--normal) cubic-bezier(.33,1,.68,1)}.sheet-head{flex:none;height:48px;display:flex;align-items:center;gap:10px;padding:0 10px 0 18px;background:var(--surface);border-bottom:1px solid var(--line)}.sheet-head .icon{color:var(--accent)}.sheet-title{font-size:var(--text-md);font-weight:600}.sheet-sub{font-size:var(--text-sm);color:var(--muted)}.sheet-body{flex:1 1 auto;min-height:0;display:flex}@media (max-width: 700px){.sheet-scrim{padding:0}.sheet{border-radius:0}}.nowrap{white-space:nowrap}.clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.icon.turned{transform:rotate(90deg);transition:transform var(--fast)}.icon.flipped{transform:rotate(180deg);transition:transform var(--fast)}.divider{width:1px;height:var(--control-sm);background:var(--line);flex:none}.divider.short{height:18px;margin-left:4px}.info-box{display:flex;gap:10px;padding:10px 12px;border-radius:var(--radius-md);background:var(--info-soft);color:var(--text2);border:1px solid color-mix(in srgb,var(--info) 22%,transparent);line-height:1.4}.info-box>.icon{color:var(--info);margin-top:1px}.info-box strong{color:var(--text);font-weight:600}.list-box{position:relative;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface2);overflow:hidden}.list-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:16px;text-align:center;color:var(--muted)}.list-empty-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:24px;text-align:center;pointer-events:none}.search-field{position:relative;display:flex;align-items:center;min-width:0}.search-field>.icon{position:absolute;left:10px;width:14px;height:14px;color:var(--muted);pointer-events:none}.search-field .input{width:100%;padding-left:32px}.hairline+.hairline{display:none}.sheet:focus,.modal:focus,.chapter-preview:focus{outline:none}.settings{flex:1 1 auto;min-width:0;display:flex}.settings-nav{width:264px;flex:none;display:flex;flex-direction:column;background:var(--surface2);border-right:1px solid var(--line)}.nav-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;padding:14px 10px;display:flex;flex-direction:column;gap:2px}.nav-eyebrow{padding:0 8px 8px}.nav-item{position:relative;display:flex;align-items:center;gap:10px;width:100%;min-height:48px;padding:6px 8px;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;text-align:left;cursor:pointer;color:var(--text);transition:background-color var(--fast)}.nav-item:hover{background:var(--hover-quiet)}.nav-item.current{background:var(--surface);border-color:var(--line);box-shadow:var(--shadow-1)}.nav-badge-box{position:relative;width:34px;align-self:stretch;display:flex;align-items:center;justify-content:center;flex:none}.nav-badge{position:relative;z-index:1;width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:var(--neutral-chip);color:var(--text2);font-family:var(--mono);font-size:var(--text-2xs);font-weight:700}.nav-badge.tagged{background:color-mix(in srgb,var(--stage) var(--stage-tint),var(--surface));color:var(--stage-ink);border:1px solid color-mix(in srgb,var(--stage) 40%,transparent)}.nav-item.unlit .nav-badge.tagged{background:var(--neutral-chip);color:var(--muted);border-color:var(--line)}.nav-link{position:absolute;left:50%;width:2px;margin-left:-1px;background:var(--line)}.nav-link.up{top:-8px;height:calc(50% - 7px)}.nav-link.down{bottom:-8px;height:calc(50% - 7px)}.nav-text{font-size:var(--text-md);font-weight:600}.nav-item.unlit .nav-text{color:var(--text2);font-weight:500}.nav-sub{font-size:var(--text-xs);color:var(--muted);font-family:var(--mono)}.nav-foot{flex:none;padding:12px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:6px}.nav-foot .btn.left{justify-content:flex-start}.settings-page{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;background:var(--canvas)}.page-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;padding:20px 24px 32px;display:flex;flex-direction:column;gap:16px}.page-scroll.narrow>*{max-width:760px;width:100%}.stage-page{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.stage-head{flex:none;padding:16px 24px 12px;background:var(--canvas);display:flex;flex-direction:column;gap:12px;transition:box-shadow var(--fast);z-index:1}.stage-head.scrolled{box-shadow:0 6px 10px -8px color-mix(in srgb,var(--shadow) 35%,transparent)}.stage-tag{flex:none;height:32px;min-width:44px;padding:0 9px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:var(--text-sm);font-weight:700;color:var(--stage-ink);background:color-mix(in srgb,var(--stage) var(--stage-tint),var(--surface));border:1px solid color-mix(in srgb,var(--stage) 40%,transparent)}.stage-title{margin:0;font-size:var(--text-xl);font-weight:600;letter-spacing:-.02em}.stage-desc{color:var(--text2);font-size:var(--text-md);line-height:1.4}.stage-summary{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--line);min-width:0}.two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}@media (max-width: 1100px){.two-col{grid-template-columns:minmax(0,1fr)}}.disclosure{display:flex;align-items:center;gap:8px;width:100%;height:30px;padding:0 4px;border:0;border-radius:var(--radius);background:transparent;cursor:pointer;text-align:left}.disclosure:hover{background:var(--hover-quiet)}.disclosure .icon{width:14px;height:14px;color:var(--muted)}.accent-value{color:var(--accent);font-weight:600;font-size:var(--text-sm)}.contract summary{cursor:pointer;font-size:var(--text-xs);color:var(--muted);padding:2px 0}.contract pre{margin:6px 0 0;padding:10px 12px;max-height:220px;overflow:auto;white-space:pre-wrap;word-break:break-word;font-size:var(--text-xs);color:var(--text2);background:var(--surface2);border:1px solid var(--line);border-radius:var(--radius-md)}.logo-tile{flex:none;display:inline-flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--line);overflow:hidden}.logo-tile.mono,.logo-tile.monogram{background:var(--surface2)}.logo-tile.monogram span{font-weight:700;color:var(--text2);letter-spacing:-.02em}.logo-tile img{object-fit:contain}.logo-mask{display:block;background:var(--text);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}.prov-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(212px,1fr));gap:12px}.prov-card{display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--line);cursor:pointer;transition:border-color var(--fast),box-shadow var(--fast);min-width:0}.prov-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-1)}.prov-card.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.prov-card.disabled .prov-name{color:var(--muted)}.prov-card .card-rule{margin:0 -12px}.prov-name{font-weight:600;font-size:var(--text-md);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.test-box{display:flex;align-items:flex-start;gap:8px;padding:9px 12px;border-radius:var(--radius-md);background:var(--surface2);border:1px solid var(--line);color:var(--text2);line-height:1.35;white-space:pre-wrap;word-break:break-word}.test-box.ok{background:var(--success-soft);color:var(--success);border-color:color-mix(in srgb,var(--success) 30%,transparent)}.test-box.error{background:var(--error-soft);color:var(--error);border-color:color-mix(in srgb,var(--error) 30%,transparent)}.model-row{display:flex;align-items:center;gap:8px;height:30px;padding:0 10px;cursor:pointer}.model-row:hover{background:var(--hover-quiet)}.model-row input{position:absolute;opacity:0;pointer-events:none}.model-row .box{width:16px;height:16px;flex:none;border-radius:4px;border:1px solid var(--line-strong);background:var(--surface);display:inline-flex;align-items:center;justify-content:center}.model-row .box .icon{width:11px;height:11px;opacity:0;color:var(--accent-text)}.model-row input:checked+.box{background:var(--accent);border-color:var(--accent)}.model-row input:checked+.box .icon{opacity:1}.model-row input:focus-visible+.box{outline:2px solid var(--focus);outline-offset:2px}@media (max-width: 760px){.settings{flex-direction:column}.settings-nav{width:auto;max-height:40%;border-right:0;border-bottom:1px solid var(--line)}.page-scroll{padding:16px}.stage-head{padding:12px 16px 10px}}.chapters{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}.chapters-toolbar{flex:none;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 20px;background:var(--surface);border-bottom:1px solid var(--line)}.toolbar-title{font-size:var(--text-md);font-weight:600;margin-right:8px}.range-group{gap:6px}.range-group .picker select{height:var(--control-sm)}.chapters-split{flex:1 1 auto;min-height:0;display:flex}.chapter-list-pane{flex:none;width:clamp(360px,36%,460px);display:flex;flex-direction:column;background:var(--surface2);border-right:1px solid var(--line);min-height:0}.chapter-list-pane .picker select{height:var(--control-sm)}.chapter-list-wrap{position:relative;flex:1 1 auto;min-height:120px}.list-foot{flex:none;height:32px;padding:0 14px}.sequence-box{padding:8px 10px;border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--line);display:flex;flex-direction:column;gap:6px}.sequence-box .sequence-ink{color:var(--text2)}.sequence-box>.row>.icon{width:14px;height:14px}.sequence-box.tone-warning{background:var(--warning-soft);border-color:color-mix(in srgb,var(--warning) 30%,transparent)}.sequence-box.tone-warning .sequence-ink{color:var(--warning)}.sequence-box.tone-complete{background:var(--success-soft);border-color:color-mix(in srgb,var(--success) 30%,transparent)}.sequence-box.tone-complete .sequence-ink{color:var(--success)}.sequence-toggle{display:flex;align-items:center;gap:10px;height:22px;padding:0 4px;border:0;border-radius:var(--radius-xs);background:transparent;cursor:pointer;font-size:var(--text-xs)}.sequence-toggle:hover{background:var(--hover-quiet)}.sequence-toggle .icon{width:12px;height:12px;color:var(--muted)}.sequence-details{max-height:104px;overflow-y:auto;font-size:var(--text-xs);color:var(--text2);display:flex;flex-direction:column;gap:3px;overflow-wrap:anywhere}.chapter-card{height:64px;display:flex;flex-direction:column;justify-content:center;gap:4px;padding:0 6px 0 10px;border-radius:var(--radius-md);background:color-mix(in srgb,var(--surface) 60%,var(--surface2));border:1px solid var(--line);cursor:pointer;transition:background-color var(--fast);margin-right:8px}.chapter-card:hover,.chapter-card:focus-visible{background:var(--surface)}.chapter-card:focus-visible{outline:2px solid var(--focus);outline-offset:-1px}.chapter-card.selected{border-color:color-mix(in srgb,var(--accent) 55%,transparent)}.chapter-card.duplicate{border-color:color-mix(in srgb,var(--warning) 45%,transparent)}.chapter-card.active{background:var(--accent-soft);border-color:var(--accent-line)}.chapter-card.dragged{opacity:.45}.chapter-title{font-size:var(--text-md);font-weight:600}.grip{width:14px;height:22px;flex:none;display:grid;grid-template-columns:3px 3px;gap:3px;align-content:center;justify-content:center;cursor:grab;touch-action:none}.grip span{width:3px;height:3px;border-radius:2px;background:var(--faint)}.grip:hover span,.grip:active span{background:var(--text2)}.grip:active{cursor:grabbing}.dup-badge{max-width:140px;height:18px;padding:0 6px;border-radius:9px;font-size:10px;font-weight:600;line-height:16px;color:var(--warning);background:var(--warning-soft);border:1px solid color-mix(in srgb,var(--warning) 35%,transparent);flex:none}.row-btn{width:26px;height:26px;flex:none;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:var(--radius);background:transparent;color:var(--muted);cursor:pointer;transition:background-color var(--fast)}.row-btn:hover{background:var(--hover-quiet);color:var(--text)}.row-btn.danger:hover{background:color-mix(in srgb,var(--error) 9%,transparent);color:var(--error)}.drop-line{position:absolute;left:12px;right:16px;height:2px;border-radius:1px;background:var(--accent);pointer-events:none}.chapter-editor-pane{flex:1 1 auto;min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--paper)}.chapter-editor-pane>.screen{background:var(--paper)}.chapter-editor-bar{flex:none;min-height:52px;display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:8px 14px;background:var(--surface);border-bottom:1px solid var(--line)}.title-input{flex:1 1 200px;min-width:120px;font-size:var(--text-md);font-weight:600}.title-input.bare{border-color:transparent;background:transparent}.chapter-area{flex:1 1 auto;min-height:0;width:100%;resize:none;border:0;outline:none;padding:18px 24px;background:transparent;color:var(--text);font-family:var(--font);font-size:var(--editor-size);line-height:1.6}.chapter-area::placeholder{color:var(--muted)}.chapter-preview{flex:1 1 auto;min-height:0;overflow-y:auto;padding:18px 24px;font-size:var(--editor-size);line-height:1.6}.chapter-preview:focus-visible{outline:none}.chapter-preview p{margin:0 0 12px;white-space:pre-wrap;overflow-wrap:anywhere;content-visibility:auto;contain-intrinsic-size:auto 60px}@media (max-width: 820px){.chapters-split{flex-direction:column}.chapter-list-pane{width:auto;flex:0 0 52%;border-right:0;border-bottom:1px solid var(--line)}.chapters-toolbar{padding:10px 16px}}.logs{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}.logs-tabs-bar{flex:none;height:48px;display:flex;align-items:center;gap:8px;padding:0 14px 0 12px;background:var(--surface)}.logs-tabs{flex:1 1 auto;min-width:0;height:100%;display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}.log-tab{position:relative;height:100%;flex:none;display:inline-flex;align-items:center;gap:7px;padding:0 12px;border:0;background:transparent;cursor:pointer;font-size:var(--text-md);font-weight:500;color:var(--text2)}.log-tab:before{content:"";position:absolute;top:7px;right:0;bottom:7px;left:0;border-radius:var(--radius-md);transition:background-color var(--fast)}.log-tab:hover:not(.chosen):before{background:var(--hover-soft)}.log-tab>*{position:relative}.log-tab.zero{color:var(--muted)}.log-tab.chosen{color:var(--text);font-weight:600}.log-tab:after{content:"";position:absolute;left:10px;right:10px;bottom:0;height:2px;border-radius:1px;background:var(--stage, var(--accent));opacity:0;transition:opacity var(--fast)}.log-tab.chosen:after{opacity:1}.log-tab-count{min-width:20px;height:18px;padding:0 5px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:var(--text-2xs);font-weight:600;color:var(--text2);background:var(--neutral-chip)}.log-tab.chosen.api .log-tab-count{color:var(--accent);background:var(--accent-soft)}.log-tab.chosen:not(.api) .log-tab-count{color:var(--stage-ink);background:color-mix(in srgb,var(--stage) var(--stage-tint),transparent)}.logs-filters{flex:none;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 20px;background:var(--surface2)}.logs-filters .picker select{height:var(--control-sm)}.log-stats{display:inline-flex;gap:2px;padding:3px;height:var(--control-sm);border-radius:var(--radius-md);background:var(--surface3);flex:none}.log-stat{height:100%;display:inline-flex;align-items:center;gap:6px;padding:0 8px;border:1px solid transparent;border-radius:var(--radius);background:transparent;cursor:pointer;font-size:var(--text-sm);font-weight:500;color:var(--text2)}.log-stat:hover{background:var(--hover-soft)}.log-stat.chosen{background:var(--surface);border-color:var(--line-strong);color:var(--text);font-weight:600}.stat-dot{width:6px;height:6px;border-radius:3px;background:var(--muted)}.stat-count{font-size:var(--text-2xs);color:var(--text2);font-weight:400}.tone-info{--tone: var(--info);--tone-fill: var(--info-fill);--tone-soft: var(--info-soft)}.tone-success{--tone: var(--success);--tone-fill: var(--success-fill);--tone-soft: var(--success-soft)}.tone-warn{--tone: var(--warning);--tone-fill: var(--warning-fill);--tone-soft: var(--warning-soft)}.tone-error{--tone: var(--error);--tone-fill: var(--error-fill);--tone-soft: var(--error-soft)}.stat-dot[class*=tone-]{background:var(--tone-fill)}.logs-body{position:relative;flex:1 1 auto;min-height:0}.scroll-shade{position:absolute;left:0;right:0;top:0;height:8px;z-index:3;pointer-events:none;opacity:0;transition:opacity var(--fast);background:linear-gradient(color-mix(in srgb,var(--shadow) 8%,transparent),transparent)}.scroll-shade.on{opacity:1}.logs-list{position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto;padding:12px 16px 16px 20px;display:flex;flex-direction:column;gap:8px}.log-notice{flex:none;padding:8px 12px;border-radius:var(--radius-md);background:var(--info-soft);color:var(--info);font-size:var(--text-sm)}.log-slot{display:flex;flex-direction:column;gap:8px}.edit-group{position:sticky;top:-12px;z-index:2;height:34px;margin:0 -16px 0 -20px;padding:0 20px;display:flex;align-items:center;gap:8px;background:var(--canvas);font-size:var(--text-xs);font-weight:600;letter-spacing:.02em;color:var(--text2)}.group-dot{width:6px;height:6px;border-radius:3px;background:var(--stage, var(--muted))}.log-chip{display:inline-flex;align-items:center;height:20px;max-width:200px;padding:0 7px;border-radius:10px;flex:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-xs);font-weight:500;color:var(--text2);background:var(--surface2);border:1px solid var(--line)}.log-chip.mono{font-family:var(--mono);font-size:10px}.log-chip.quiet{color:var(--muted);background:transparent}.log-chip.warn{color:var(--warning);background:var(--warning-soft);border-color:color-mix(in srgb,var(--warning) 35%,transparent)}.log-chip.stage-chip{color:var(--stage-ink);background:color-mix(in srgb,var(--stage) 10%,var(--surface));border-color:color-mix(in srgb,var(--stage) 35%,var(--line))}.chunk-tag{cursor:pointer;color:var(--text2);background:transparent}.chunk-tag:hover{color:var(--accent);background:var(--accent-soft);border-color:var(--accent-line)}.api-entry,.edit-entry{position:relative;flex:none;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;content-visibility:auto;contain-intrinsic-size:auto 72px}.api-entry:before,.edit-entry:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--tone-fill, var(--stage, var(--line)))}.api-entry.open{border-color:color-mix(in srgb,var(--tone-fill) 40%,var(--line));content-visibility:visible}.api-head{display:flex;flex-direction:column;gap:6px;padding:10px 12px 10px 16px;cursor:pointer}.api-head:hover{background:var(--hover-soft)}.api-head:focus-visible{outline:2px solid var(--focus);outline-offset:-3px}.api-head>.row>.icon{width:14px;height:14px;color:var(--muted)}.dir-badge{flex:none;height:20px;padding:0 6px;border-radius:var(--radius-xs);display:inline-flex;align-items:center;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.04em;color:var(--tone);background:var(--tone-soft)}.api-detail{display:flex;flex-direction:column;gap:8px;margin:0 12px 12px 16px;padding-top:8px;border-top:1px solid var(--line)}.warn-note{padding:9px 12px;border-radius:var(--radius-md);background:var(--warning-soft);color:var(--warning);border:1px solid color-mix(in srgb,var(--warning) 30%,transparent);line-height:1.3}.section-toggle{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 6px 0 4px;border:0;border-radius:var(--radius);background:transparent;cursor:pointer;font-weight:600;color:var(--text)}.section-toggle:hover{background:var(--hover-quiet)}.section-toggle .icon{color:var(--muted)}.section-toggle.failed{color:var(--error)}.section-text{margin:0;max-height:280px;overflow:auto;padding:9px 12px;border-radius:var(--radius-md);background:var(--surface2);border:1px solid var(--line);font-family:var(--mono);font-size:var(--text-sm);white-space:pre-wrap;word-break:break-word;color:var(--text)}.section-text.failed{background:var(--error-soft);color:var(--error);border-color:color-mix(in srgb,var(--error) 30%,transparent)}.edit-entry{display:flex;flex-direction:column;gap:8px;padding:12px 12px 12px 16px;transition:border-color var(--fast)}.edit-entry:hover{border-color:var(--line-strong)}.edit-entry .reveal{opacity:0;transition:opacity var(--fast)}.edit-entry:hover .reveal,.edit-entry .reveal:focus-visible{opacity:1}.passage{padding:8px 12px;border-radius:var(--radius-md);display:flex;flex-direction:column;gap:3px}.passage.before{background:color-mix(in srgb,var(--error) 4%,transparent);border:1px solid color-mix(in srgb,var(--error) 14%,transparent)}.passage.after{background:color-mix(in srgb,var(--success) 4%,transparent);border:1px solid color-mix(in srgb,var(--success) 14%,transparent)}.passage-word{font-size:var(--text-2xs);font-weight:600;letter-spacing:.09em;color:var(--text2)}.passage-text{font-size:var(--text-md);line-height:1.4;white-space:pre-wrap;overflow-wrap:anywhere}.passage.before .passage-text{color:var(--text2)}.passage-text.folded{overflow:hidden;-webkit-mask-image:linear-gradient(#000 75%,transparent);mask-image:linear-gradient(#000 75%,transparent)}.passage-text del{color:var(--error);background:var(--error-soft);text-decoration:line-through}.passage-text ins{color:var(--success);background:var(--success-soft);text-decoration:none}.reason-glyph{color:var(--stage-ink, var(--accent));margin-top:2px}@media (max-width: 760px){.logs-filters{padding:10px 16px}.logs-list{padding:12px 12px 16px 16px}}
