:root{--font-sans: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--text-2xs: 10px;--text-xs: 11px;--text-sm: 12px;--text-md: 13px;--text-base: 14px;--text-lg: 16px;--text-xl: 20px;--text-2xl: 26px;--weight-normal: 400;--weight-medium: 500;--weight-semi: 600;--leading-tight: 1.3;--leading-normal: 1.55;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--r-xs: 4px;--r-sm: 6px;--r-md: 8px;--r-lg: 12px;--r-xl: 16px;--r-full: 999px;--ease: cubic-bezier(.2, 0, .13, 1);--dur-fast: 90ms;--dur: .16s;--nav-w: 216px;--list-w: 380px;--bar-h: 52px}:root,[data-theme=dark]{color-scheme:dark;--bg: #0d0f13;--bg-subtle: #111318;--surface: #16191f;--surface-2: #1b1f26;--surface-3: #222730;--surface-inset: #0a0c0f;--border: #252a33;--border-soft: #1d222a;--border-strong: #343b47;--text: #e8eaee;--text-muted: #939bab;--text-subtle: #6b7280;--text-inverse: #16110d;--accent: #d97757;--accent-hover: #e28b6f;--accent-active: #c9663f;--accent-fg: #1a0f09;--accent-soft: rgba(217, 119, 87, .14);--accent-line: rgba(217, 119, 87, .4);--accent-ring: rgba(217, 119, 87, .5);--success: #6cc57f;--success-soft: rgba(108, 197, 127, .13);--success-line: rgba(108, 197, 127, .38);--danger: #f2777a;--danger-hover: #f68d90;--danger-fg: #1c0e0f;--danger-soft: rgba(242, 119, 122, .13);--danger-line: rgba(242, 119, 122, .38);--warn: #e8b76a;--warn-soft: rgba(232, 183, 106, .12);--warn-line: rgba(232, 183, 106, .36);--info: #7aa2f7;--info-soft: rgba(122, 162, 247, .13);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .5);--shadow-md: 0 4px 14px rgba(0, 0, 0, .42), 0 1px 3px rgba(0, 0, 0, .32);--shadow-lg: 0 18px 44px rgba(0, 0, 0, .56), 0 2px 10px rgba(0, 0, 0, .4);--scrollbar: #2b313b;--scrollbar-hover: #3a424f;--backdrop: rgba(4, 5, 7, .66);--syn-heading: #d97757;--syn-string: #9ece6a;--syn-number: #e8b76a;--syn-keyword: #c792ea;--syn-property: #7aa2f7;--syn-type: #7dcfff;--syn-comment: #5c6474;--syn-link: #7aa2f7;--syn-invalid: #f2777a;--syn-selection: #2f3646;--syn-active-line: rgba(255, 255, 255, .032)}[data-theme=light]{color-scheme:light;--bg: #f7f6f3;--bg-subtle: #f1efeb;--surface: #ffffff;--surface-2: #faf9f6;--surface-3: #f1efea;--surface-inset: #f4f2ee;--border: #e4e1da;--border-soft: #edeae4;--border-strong: #cfcbc1;--text: #1b1a17;--text-muted: #5f5c55;--text-subtle: #8b877e;--text-inverse: #ffffff;--accent: #bd5c37;--accent-hover: #a94f2d;--accent-active: #994627;--accent-fg: #ffffff;--accent-soft: rgba(189, 92, 55, .1);--accent-line: rgba(189, 92, 55, .32);--accent-ring: rgba(189, 92, 55, .45);--success: #2f7d4a;--success-soft: rgba(47, 125, 74, .1);--success-line: rgba(47, 125, 74, .3);--danger: #bf3a3d;--danger-hover: #a82f32;--danger-fg: #ffffff;--danger-soft: rgba(191, 58, 61, .09);--danger-line: rgba(191, 58, 61, .28);--warn: #8a5d0c;--warn-soft: rgba(138, 93, 12, .1);--warn-line: rgba(138, 93, 12, .28);--info: #3057b8;--info-soft: rgba(48, 87, 184, .09);--shadow-sm: 0 1px 2px rgba(28, 25, 20, .06);--shadow-md: 0 4px 14px rgba(28, 25, 20, .08), 0 1px 3px rgba(28, 25, 20, .05);--shadow-lg: 0 18px 44px rgba(28, 25, 20, .14), 0 2px 10px rgba(28, 25, 20, .07);--scrollbar: #d5d1c8;--scrollbar-hover: #bdb8ac;--backdrop: rgba(38, 34, 28, .36);--syn-heading: #b1502c;--syn-string: #3d7a22;--syn-number: #8a5d0c;--syn-keyword: #7a35a8;--syn-property: #2b57ae;--syn-type: #0d6b8a;--syn-comment: #8b877e;--syn-link: #2b57ae;--syn-invalid: #bf3a3d;--syn-selection: #d9e2f2;--syn-active-line: rgba(28, 25, 20, .035)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1,h2,h3,h4,p,figure,dl,dd{margin:0}h1,h2,h3,h4{font-weight:var(--weight-semi);line-height:var(--leading-tight);letter-spacing:-.011em}ul,ol{margin:0;padding:0}button{font:inherit;color:inherit}pre{margin:0;font-family:var(--font-mono)}code,kbd,samp{font-family:var(--font-mono)}a{color:var(--accent)}:focus{outline:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-xs)}::selection{background:var(--accent-soft);color:var(--text)}::placeholder{color:var(--text-subtle)}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--scrollbar);border:3px solid transparent;background-clip:content-box;border-radius:var(--r-full)}*::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-hover);background-clip:content-box}*::-webkit-scrollbar-corner{background:transparent}.prose-code,p>code,li>code,.note code,.subtitle code,.hint code{background:var(--surface-3);border-radius:var(--r-xs);padding:.1em .4em;font-size:.92em;color:var(--text)}.mono{font-family:var(--font-mono);font-variant-ligatures:none}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);border:1px solid transparent;border-radius:var(--r-sm);padding:0 var(--sp-3);height:32px;font-size:var(--text-md);font-weight:var(--weight-medium);white-space:nowrap;cursor:pointer;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),opacity var(--dur-fast) var(--ease)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--accent-fg)}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-primary:active:not(:disabled){background:var(--accent-active)}.btn-secondary{background:var(--surface-3);border-color:var(--border);color:var(--text)}.btn-secondary:hover:not(:disabled){background:var(--surface-2);border-color:var(--border-strong)}.btn-ghost{background:transparent;border-color:var(--border);color:var(--text-muted)}.btn-ghost:hover:not(:disabled){background:var(--surface-3);border-color:var(--border-strong);color:var(--text)}.btn-quiet{background:transparent;color:var(--text-muted)}.btn-quiet:hover:not(:disabled){background:var(--surface-3);color:var(--text)}.btn-danger{background:var(--danger);color:var(--danger-fg)}.btn-danger:hover:not(:disabled){background:var(--danger-hover)}.btn-sm{height:26px;padding:0 var(--sp-2);font-size:var(--text-sm);gap:var(--sp-1)}.btn-lg{height:38px;padding:0 var(--sp-4);font-size:var(--text-base)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex-shrink:0;background:transparent;border:1px solid transparent;border-radius:var(--r-sm);color:var(--text-muted);cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.icon-btn:hover:not(:disabled){background:var(--surface-3);color:var(--text)}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.icon-btn-sm{width:24px;height:24px}.icon-btn-danger:hover:not(:disabled){background:var(--danger-soft);color:var(--danger)}.link-btn{background:none;border:none;padding:0;color:var(--accent);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer}.link-btn:hover{text-decoration:underline}.field{display:flex;flex-direction:column;gap:var(--sp-2);min-width:0}.field-label{display:flex;align-items:baseline;gap:var(--sp-2);font-size:var(--text-md);font-weight:var(--weight-medium);color:var(--text)}.hint{font-size:var(--text-sm);font-weight:var(--weight-normal);color:var(--text-subtle)}.note{font-size:var(--text-sm);color:var(--text-muted);line-height:var(--leading-normal)}.input,.textarea,.select,input:where(:not([type=checkbox]):not([type=radio])),textarea,select{width:100%;background:var(--surface-inset);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text);font-family:inherit;font-size:var(--text-md);padding:7px 10px;transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}textarea,.textarea{resize:vertical;font-family:var(--font-mono);line-height:var(--leading-normal)}select,.select{background:var(--surface-2);cursor:pointer}input:where(:not([type=checkbox]):not([type=radio])):hover,textarea:hover,select:hover{border-color:var(--border-strong)}input:where(:not([type=checkbox]):not([type=radio])):focus,textarea:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}input[type=checkbox]{accent-color:var(--accent);cursor:pointer}.checkbox-row{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--text-md);color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-row input{width:auto}.form-error,.form-warn,.form-notice{display:inline-flex;align-items:center;gap:var(--sp-2);font-size:var(--text-sm)}.form-error{color:var(--danger)}.form-warn{color:var(--warn)}.form-notice{color:var(--success)}.status{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;padding:1px 8px 1px 6px;border:1px solid var(--border);border-radius:var(--r-full);background:var(--surface-3);color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-medium);line-height:1.7}.status-running{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent)}.status-done{background:var(--success-soft);border-color:var(--success-line);color:var(--success)}.status-error{background:var(--danger-soft);border-color:var(--danger-line);color:var(--danger)}.status-skipped{background:var(--warn-soft);border-color:var(--warn-line);color:var(--warn)}.chip{display:inline-flex;align-items:center;gap:5px;padding:2px 7px;background:var(--surface-3);border:1px solid var(--border-soft);border-radius:var(--r-xs);color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-xs);max-width:100%}.chip>svg{color:var(--text-subtle);flex-shrink:0}.chips{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.meta{display:inline-flex;align-items:center;gap:4px;font-size:var(--text-sm);color:var(--text-subtle);white-space:nowrap}.count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:var(--surface-3);border-radius:var(--r-full);color:var(--text-subtle);font-size:var(--text-xs);font-weight:var(--weight-medium)}.kbd{display:inline-flex;align-items:center;gap:1px;min-width:18px;height:18px;padding:0 5px;background:var(--surface-3);border:1px solid var(--border);border-bottom-width:2px;border-radius:var(--r-xs);color:var(--text-subtle);font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--weight-medium)}.banner{display:flex;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-3);border:1px solid;border-radius:var(--r-md);font-size:var(--text-md)}.banner>svg{flex-shrink:0;margin-top:2px}.banner p{flex:1;min-width:0;word-break:break-word}.banner-error{background:var(--danger-soft);border-color:var(--danger-line);color:var(--danger)}.banner-warn{background:var(--warn-soft);border-color:var(--warn-line);color:var(--warn)}.segmented{display:flex;gap:2px;padding:2px;background:var(--surface-inset);border:1px solid var(--border);border-radius:var(--r-sm)}.segmented button{display:inline-flex;align-items:center;gap:var(--sp-1);background:none;border:none;border-radius:var(--r-xs);padding:3px 9px;color:var(--text-muted);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.segmented button:hover{color:var(--text)}.segmented button[aria-pressed=true]{background:var(--surface-3);color:var(--text);box-shadow:var(--shadow-sm)}.spinner{display:inline-block;width:10px;height:10px;border:1.5px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}.spinner-lg{width:18px;height:18px;border-width:2px}@keyframes spin{to{transform:rotate(360deg)}}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-3);padding:var(--sp-10) var(--sp-6);margin:auto;max-width:380px;text-align:center;color:var(--text-muted)}.empty-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--r-lg);background:var(--surface-3);color:var(--text-subtle)}.empty h3{font-size:var(--text-base);color:var(--text)}.empty p{font-size:var(--text-md);line-height:var(--leading-normal)}.empty-inline{padding:var(--sp-6) var(--sp-4);font-size:var(--text-md);color:var(--text-subtle);text-align:center}.skeleton{background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface-3) 37%,var(--surface-2) 63%);background-size:300% 100%;border-radius:var(--r-xs);animation:shimmer 1.4s ease-in-out infinite}@keyframes shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:var(--sp-5);background:var(--backdrop);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade var(--dur) var(--ease)}.dialog{display:flex;flex-direction:column;width:100%;max-width:460px;max-height:calc(100vh - var(--sp-10));background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);animation:pop var(--dur) var(--ease)}.dialog-lg{max-width:620px}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border-soft)}.dialog-head h2{font-size:var(--text-base)}.dialog-body{display:flex;flex-direction:column;gap:var(--sp-4);padding:var(--sp-5);overflow-y:auto}.dialog-foot{display:flex;align-items:center;justify-content:flex-end;gap:var(--sp-2);padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--border-soft)}.dialog-foot-spread{justify-content:space-between}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(6px) scale(.985)}}.menu{position:absolute;z-index:70;min-width:180px;padding:var(--sp-1);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-lg);animation:pop var(--dur-fast) var(--ease)}.menu-fixed{position:fixed}.menu button{display:flex;align-items:center;gap:var(--sp-2);width:100%;background:none;border:none;border-radius:var(--r-xs);padding:6px 8px;color:var(--text);font-size:var(--text-md);text-align:left;cursor:pointer}.menu button>svg{color:var(--text-subtle);flex-shrink:0}.menu button:hover{background:var(--accent);color:var(--accent-fg)}.menu button:hover>svg{color:inherit}.menu button.danger:hover{background:var(--danger);color:var(--danger-fg)}.menu-sep{height:1px;margin:var(--sp-1) 2px;background:var(--border)}.menu-label{padding:5px 8px 3px;color:var(--text-subtle);font-size:var(--text-xs);font-weight:var(--weight-semi);text-transform:uppercase;letter-spacing:.06em}.shell{display:grid;grid-template-columns:var(--nav-w) 1fr;height:100%;overflow:hidden}.nav{display:flex;flex-direction:column;min-height:0;padding:var(--sp-3);background:var(--bg-subtle);border-right:1px solid var(--border-soft)}.brand{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-2) var(--sp-4)}.brand-mark{display:grid;place-items:center;width:26px;height:26px;flex-shrink:0;border-radius:var(--r-sm);background:var(--accent);color:var(--accent-fg)}.brand-name{font-size:var(--text-base);font-weight:var(--weight-semi);letter-spacing:-.015em}.nav-links{display:flex;flex-direction:column;gap:2px;list-style:none}.nav-link{display:flex;align-items:center;gap:var(--sp-3);width:100%;padding:7px var(--sp-2);background:none;border:none;border-radius:var(--r-sm);color:var(--text-muted);font-size:var(--text-md);font-weight:var(--weight-medium);text-align:left;cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.nav-link>svg{flex-shrink:0;color:var(--text-subtle)}.nav-link:hover,.nav-link[aria-current=page]{background:var(--surface-3);color:var(--text)}.nav-link[aria-current=page]>svg{color:var(--accent)}.nav-link .count{margin-left:auto}.nav-search{display:flex;align-items:center;gap:var(--sp-2);width:100%;margin-bottom:var(--sp-3);padding:6px var(--sp-2);background:var(--surface-inset);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text-subtle);font-size:var(--text-md);text-align:left;cursor:pointer;transition:border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.nav-search:hover{border-color:var(--border-strong);color:var(--text-muted)}.nav-search .kbd{margin-left:auto}.nav-foot{margin-top:auto;padding-top:var(--sp-3);border-top:1px solid var(--border-soft)}.nav-workspace{display:block;width:100%;padding:var(--sp-2);border-radius:var(--r-sm)}.nav-workspace dt{color:var(--text-subtle);font-size:var(--text-2xs);font-weight:var(--weight-semi);text-transform:uppercase;letter-spacing:.07em}.nav-workspace dd{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin-top:3px;color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.45;overflow-wrap:anywhere}.nav-actions{display:flex;align-items:center;gap:var(--sp-1);margin-top:var(--sp-1)}.main{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.topbar{display:none;align-items:center;gap:var(--sp-2);height:var(--bar-h);flex-shrink:0;padding:0 var(--sp-3);background:var(--bg-subtle);border-bottom:1px solid var(--border-soft)}.split{display:grid;grid-template-columns:var(--list-w) 1fr;flex:1;min-height:0}.pane{display:flex;flex-direction:column;min-width:0;min-height:0}.pane-list{border-right:1px solid var(--border-soft);background:var(--bg-subtle)}.pane-detail{background:var(--bg)}.pane-head{display:flex;align-items:center;gap:var(--sp-2);height:var(--bar-h);flex-shrink:0;padding:0 var(--sp-3) 0 var(--sp-4);border-bottom:1px solid var(--border-soft)}.pane-head h2{font-size:var(--text-md);font-weight:var(--weight-semi)}.pane-head-actions{display:flex;align-items:center;gap:var(--sp-1);margin-left:auto}.pane-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}.pane-tools{display:flex;flex-direction:column;gap:var(--sp-2);flex-shrink:0;padding:var(--sp-3) var(--sp-3) var(--sp-2)}.search-box{position:relative;display:flex;align-items:center}.search-box>svg:first-child{position:absolute;left:9px;color:var(--text-subtle);pointer-events:none}.search-box input{padding-left:30px;padding-right:28px}.search-box .icon-btn{position:absolute;right:3px}.filters{display:flex;gap:var(--sp-1);flex-wrap:wrap}.filter{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;background:transparent;border:1px solid var(--border);border-radius:var(--r-full);color:var(--text-muted);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.filter:hover{border-color:var(--border-strong);color:var(--text)}.filter[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent)}@media(max-width:1080px){:root{--list-w: 320px}}@media(max-width:900px){.shell{grid-template-columns:1fr}.nav{display:none}.topbar{display:flex}.split{grid-template-columns:1fr}.split[data-showing=detail] .pane-list,.split[data-showing=list] .pane-detail{display:none}.pane-list{border-right:none}}.nav-drawer{position:fixed;inset:0 auto 0 0;z-index:80;width:min(272px,84vw);display:flex;box-shadow:var(--shadow-lg);animation:slide-in var(--dur) var(--ease)}.nav-drawer .nav{display:flex;width:100%;border-right:1px solid var(--border)}@keyframes slide-in{0%{transform:translate(-100%)}}.task-rows{display:flex;flex-direction:column;padding:0 var(--sp-2) var(--sp-4);list-style:none}.task-row{display:grid;grid-template-columns:auto 1fr;gap:2px var(--sp-3);width:100%;padding:var(--sp-3);background:none;border:1px solid transparent;border-radius:var(--r-md);text-align:left;cursor:pointer;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.task-row:hover{background:var(--surface-2)}.task-row[aria-current=true]{background:var(--surface-2);border-color:var(--border)}.task-dot{grid-row:1 / span 2;width:7px;height:7px;margin-top:6px;border-radius:50%;background:var(--text-subtle);flex-shrink:0}.task-dot-running{background:var(--accent);animation:pulse 1.4s var(--ease) infinite}.task-dot-done{background:var(--success)}.task-dot-error{background:var(--danger)}.task-dot-skipped{background:var(--warn)}@keyframes pulse{50%{opacity:.35}}.task-row-title,.task-row-sub{min-width:0}.task-row-title{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--text-md);font-weight:var(--weight-medium);color:var(--text)}.task-row-title>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-row-sub{display:flex;align-items:center;gap:var(--sp-2);color:var(--text-subtle);font-size:var(--text-sm);overflow:hidden}.task-row-sub>*{flex-shrink:0}.task-row-sub .dot-sep:before{content:"·";margin-right:var(--sp-2)}.detail-head{display:flex;align-items:center;gap:var(--sp-3);min-height:var(--bar-h);flex-shrink:0;padding:var(--sp-2) var(--sp-4);border-bottom:1px solid var(--border-soft)}.detail-back{display:none}.detail-title{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.detail-title h2{font-size:var(--text-base);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-title-meta{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.detail-actions{display:flex;align-items:center;gap:var(--sp-2);flex-shrink:0}.detail-body{flex:1;min-height:0;overflow-y:auto;padding:var(--sp-5) var(--sp-5) var(--sp-10);display:flex;flex-direction:column;gap:var(--sp-5)}.section{display:flex;flex-direction:column;gap:var(--sp-2)}.section-head{display:flex;align-items:center;gap:var(--sp-2);color:var(--text-subtle);font-size:var(--text-xs);font-weight:var(--weight-semi);text-transform:uppercase;letter-spacing:.07em}.section-head .icon-btn{margin-left:auto}.schedule{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;padding:var(--sp-2) var(--sp-3);background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:var(--r-md);font-size:var(--text-sm)}.schedule>svg{color:var(--accent);flex-shrink:0}.schedule-cron{font-family:var(--font-mono);font-weight:var(--weight-medium);color:var(--accent)}.schedule-meta{color:var(--text-muted)}.schedule .link-btn{margin-left:auto}.schedule-paused{background:var(--surface-2);border-color:var(--border)}.schedule-paused>svg,.schedule-paused .schedule-cron{color:var(--text-muted)}.block{position:relative;padding:var(--sp-3);background:var(--surface-inset);border:1px solid var(--border-soft);border-radius:var(--r-md);font-family:var(--font-mono);font-size:var(--text-sm);line-height:var(--leading-normal);white-space:pre-wrap;word-break:break-word;overflow-y:auto}.block-prompt{color:var(--text-muted);max-height:220px}.block-output{color:var(--text);max-height:460px;border-left:2px solid var(--success-line)}.block-error{color:var(--danger);border-left:2px solid var(--danger-line);background:var(--danger-soft)}.block-skip{color:var(--warn);border-left:2px solid var(--warn-line);background:var(--warn-soft)}.block-wrap{position:relative}.block-wrap .block-copy{position:absolute;top:var(--sp-2);right:var(--sp-2);background:var(--surface-2);border:1px solid var(--border);opacity:0;transition:opacity var(--dur-fast) var(--ease)}.block-wrap:hover .block-copy,.block-wrap .block-copy:focus-visible{opacity:1}.url-row{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-1) var(--sp-1) var(--sp-1) var(--sp-3);background:var(--surface-inset);border:1px solid var(--border-soft);border-radius:var(--r-md);font-family:var(--font-mono);font-size:var(--text-sm)}.url-method{flex-shrink:0;color:var(--accent);font-weight:var(--weight-semi)}.url-value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted)}.url-row .icon-btn{flex-shrink:0}.denials{display:flex;align-items:flex-start;gap:var(--sp-2);padding:var(--sp-3);background:var(--warn-soft);border:1px solid var(--warn-line);border-radius:var(--r-md);color:var(--warn);font-size:var(--text-sm);line-height:var(--leading-normal)}.denials>svg{flex-shrink:0;margin-top:2px}.denials code{background:var(--warn-soft);padding:0 3px;border-radius:3px}.runs{list-style:none;border:1px solid var(--border-soft);border-radius:var(--r-md);overflow:hidden}.runs li+li{border-top:1px solid var(--border-soft)}.run-row{display:flex;align-items:center;gap:var(--sp-3);width:100%;padding:var(--sp-2) var(--sp-3);background:none;border:none;color:var(--text);font-size:var(--text-sm);text-align:left;cursor:pointer;transition:background var(--dur-fast) var(--ease)}.run-row:hover{background:var(--surface-2)}.run-row>svg:first-child{color:var(--text-subtle);flex-shrink:0;transition:transform var(--dur-fast) var(--ease)}.run-row[aria-expanded=true]>svg:first-child{transform:rotate(90deg)}.run-time{color:var(--text);white-space:nowrap}.run-meta{margin-left:auto;color:var(--text-subtle);white-space:nowrap}.run-body{display:flex;flex-direction:column;gap:var(--sp-2);padding:0 var(--sp-3) var(--sp-3);background:var(--surface-2)}.stats{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.stat{flex:1 1 110px;padding:var(--sp-2) var(--sp-3);background:var(--surface-2);border:1px solid var(--border-soft);border-radius:var(--r-md)}.stat dt{color:var(--text-subtle);font-size:var(--text-2xs);font-weight:var(--weight-semi);text-transform:uppercase;letter-spacing:.07em}.stat dd{margin-top:2px;font-size:var(--text-md);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums}.options-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3);padding:var(--sp-4);background:var(--surface-2);border:1px solid var(--border-soft);border-radius:var(--r-md)}.span-2{grid-column:1 / -1}.disclosure{display:flex;align-items:center;gap:var(--sp-2);align-self:flex-start;background:none;border:none;padding:0;color:var(--text-muted);font-size:var(--text-md);font-weight:var(--weight-medium);cursor:pointer}.disclosure:hover{color:var(--text)}.disclosure>svg{transition:transform var(--dur-fast) var(--ease)}.disclosure[aria-expanded=true]>svg{transform:rotate(90deg)}@media(max-width:900px){.detail-back{display:inline-flex}}@media(max-width:560px){.options-grid{grid-template-columns:1fr}.detail-actions .btn-ghost span,.detail-head .btn-ghost{display:none}}.explorer{display:grid;grid-template-columns:var(--list-w) 1fr;flex:1;min-height:0}.explorer-sidebar{display:flex;flex-direction:column;min-height:0;background:var(--bg-subtle);border-right:1px solid var(--border-soft)}.explorer-scope{display:flex;align-items:center;gap:var(--sp-2);flex-shrink:0;padding:6px var(--sp-4);border-bottom:1px solid var(--border-soft);color:var(--text-subtle);font-size:var(--text-xs)}.explorer-scope code{color:var(--text-muted);font-family:var(--font-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.explorer-tree{flex:1;min-height:0;overflow:auto;padding:var(--sp-2) var(--sp-2) var(--sp-6)}.tree{list-style:none}.tree-row{display:flex;align-items:center;gap:var(--sp-2);width:100%;padding:3px var(--sp-2);background:none;border:none;border-radius:var(--r-xs);color:var(--text-muted);font-size:var(--text-md);text-align:left;cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.tree-row:hover{background:var(--surface-2);color:var(--text)}.tree-row[aria-current=true]{background:var(--accent-soft);color:var(--accent)}.tree-twisty{display:grid;place-items:center;width:12px;flex-shrink:0;color:var(--text-subtle);transition:transform var(--dur-fast) var(--ease)}.tree-twisty-open{transform:rotate(90deg)}.tree-icon{display:grid;place-items:center;flex-shrink:0;color:var(--text-subtle)}.tree-row[aria-current=true] .tree-icon,.tree-row[aria-current=true] .tree-twisty{color:inherit}.tree-icon-key{color:var(--accent)}.tree-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-name-dir{color:var(--text);font-weight:var(--weight-medium)}.explorer-editor{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--bg)}.editor-bar{display:flex;align-items:center;gap:var(--sp-3);height:var(--bar-h);flex-shrink:0;padding:0 var(--sp-3);border-bottom:1px solid var(--border-soft)}.editor-path{display:flex;align-items:center;gap:5px;min-width:0;color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-sm)}.editor-path b{color:var(--text);font-weight:var(--weight-medium)}.editor-path .sep{color:var(--text-subtle)}.dirty-dot{width:6px;height:6px;flex-shrink:0;border-radius:50%;background:var(--accent)}.editor-bar-actions{display:flex;align-items:center;gap:var(--sp-2);margin-left:auto;flex-shrink:0}.editor-panes{display:grid;flex:1;min-height:0}.editor-panes-edit,.editor-panes-preview{grid-template-columns:1fr}.editor-panes-split{grid-template-columns:1fr 1fr}.editor-panes-split .md-preview{border-left:1px solid var(--border-soft)}.cm-host{min-width:0;min-height:0;overflow:hidden;background:var(--surface-inset)}.cm-host .cm-editor{height:100%}.editor-status{display:flex;align-items:center;gap:var(--sp-2);height:30px;flex-shrink:0;padding:0 var(--sp-3);border-top:1px solid var(--border-soft);font-size:var(--text-sm);color:var(--text-subtle)}.editor-status .kbd{margin-left:var(--sp-1)}@media(max-width:900px){.explorer{grid-template-columns:1fr}.explorer[data-showing=editor] .explorer-sidebar,.explorer[data-showing=tree] .explorer-editor{display:none}.explorer-sidebar{border-right:none}.editor-panes-split{grid-template-columns:1fr;grid-template-rows:1fr 1fr}.editor-panes-split .md-preview{border-left:none;border-top:1px solid var(--border-soft)}}.md-preview{overflow:auto;padding:var(--sp-5) var(--sp-6) var(--sp-12);background:var(--surface);font-size:var(--text-md);line-height:var(--leading-normal)}.md-frontmatter{display:flex;flex-direction:column;gap:3px;margin-bottom:var(--sp-5);padding:var(--sp-3);background:var(--surface-inset);border:1px solid var(--border-soft);border-radius:var(--r-md);font-size:var(--text-sm)}.md-frontmatter>div{display:grid;grid-template-columns:minmax(64px,auto) 1fr;gap:var(--sp-3);align-items:baseline}.md-frontmatter dt{color:var(--accent);font-family:var(--font-mono)}.md-frontmatter dd{color:var(--text-muted);overflow-wrap:anywhere}.md-body{max-width:74ch}.md-body>:first-child{margin-top:0}.md-body h1,.md-body h2,.md-body h3,.md-body h4{margin:var(--sp-6) 0 var(--sp-2)}.md-body h1{font-size:var(--text-xl);padding-bottom:var(--sp-2);border-bottom:1px solid var(--border-soft)}.md-body h2{font-size:var(--text-lg)}.md-body h3{font-size:var(--text-base)}.md-body h4{font-size:var(--text-md);color:var(--text-muted)}.md-body p,.md-body ul,.md-body ol,.md-body pre,.md-body blockquote,.md-body table{margin:0 0 var(--sp-3)}.md-body ul,.md-body ol{padding-left:var(--sp-5)}.md-body li{margin:3px 0}.md-body li::marker{color:var(--text-subtle)}.md-body li:has(>input[type=checkbox]){list-style:none;margin-left:calc(var(--sp-5) * -1)}.md-body input[type=checkbox]{width:auto;margin:0 var(--sp-2) 0 0;vertical-align:middle}.md-body a{color:var(--info);text-underline-offset:2px}.md-body code{background:var(--surface-inset);border:1px solid var(--border-soft);border-radius:var(--r-xs);padding:.1em .4em;font-size:.9em}.md-body pre{background:var(--surface-inset);border:1px solid var(--border-soft);border-radius:var(--r-md);padding:var(--sp-3);overflow-x:auto;font-size:var(--text-sm);line-height:var(--leading-normal)}.md-body pre code{background:none;border:none;padding:0;font-size:inherit}.md-body blockquote{padding:2px 0 2px var(--sp-3);border-left:2px solid var(--border-strong);color:var(--text-muted)}.md-body hr{height:1px;border:none;background:var(--border);margin:var(--sp-6) 0}.md-body table{border-collapse:collapse;width:100%;display:block;overflow-x:auto;font-size:var(--text-sm)}.md-body th,.md-body td{border:1px solid var(--border);padding:var(--sp-1) var(--sp-3);text-align:left}.md-body th{background:var(--surface-inset);font-weight:var(--weight-semi)}.md-body img{max-width:100%;border-radius:var(--r-sm)}.palette-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:flex;justify-content:center;padding:max(10vh,var(--sp-8)) var(--sp-5) var(--sp-5);background:var(--backdrop);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade var(--dur) var(--ease)}.palette{display:flex;flex-direction:column;width:100%;max-width:560px;max-height:min(440px,70vh);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);overflow:hidden;animation:pop var(--dur) var(--ease)}.palette-input{display:flex;align-items:center;gap:var(--sp-3);flex-shrink:0;padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border-soft)}.palette-input>svg{color:var(--text-subtle);flex-shrink:0}.palette-input input{flex:1;background:none;border:none;padding:0;color:var(--text);font-size:var(--text-base)}.palette-input input:hover,.palette-input input:focus{border:none;box-shadow:none}.palette-results{flex:1;min-height:0;overflow-y:auto;padding:var(--sp-2);list-style:none}.palette-group{padding:var(--sp-2) var(--sp-2) var(--sp-1);color:var(--text-subtle);font-size:var(--text-2xs);font-weight:var(--weight-semi);text-transform:uppercase;letter-spacing:.07em}.palette-item{display:flex;align-items:center;gap:var(--sp-3);width:100%;padding:var(--sp-2) var(--sp-2);background:none;border:none;border-radius:var(--r-sm);color:var(--text);font-size:var(--text-md);text-align:left;cursor:pointer}.palette-item>svg:first-child{color:var(--text-subtle);flex-shrink:0}.palette-item[aria-selected=true]{background:var(--accent-soft)}.palette-item[aria-selected=true]>svg:first-child{color:var(--accent)}.palette-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette-sub{flex-shrink:0;color:var(--text-subtle);font-family:var(--font-mono);font-size:var(--text-xs);max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;direction:rtl;text-align:right}.palette-foot{display:flex;align-items:center;gap:var(--sp-4);flex-shrink:0;padding:var(--sp-2) var(--sp-4);border-top:1px solid var(--border-soft);color:var(--text-subtle);font-size:var(--text-xs)}.palette-foot span{display:inline-flex;align-items:center;gap:5px}
