:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--dialog-shadow:#0008;--dialog-backdrop:#0009;--bg-window:#0a0a0f;--bg-chrome:#121218;--bg-canvas:#0f0f15;--bg-card:#17171f;--bg-inset:#1b1b25;--bg-hover:#22222d;--bg-active:#282833;--line:#272733;--line-soft:#1f1f29;--line-strong:#33333f;--text:#e6e6ee;--text-dim:#9a9aad;--text-faint:#6b6b7d;--text-on-accent:#fff;--accent:#7c5cff;--accent-hover:#8f74ff;--accent-press:#6a49f0;--accent-text:#b6a4ff;--accent-soft:#7c5cff24;--accent-soft-strong:#7c5cff3d;--accent-line:#7c5cff6b;--ok:#24b26b;--ok-soft:#24b26b24;--ok-line:#24b26b59;--warn:#f2994a;--warn-soft:#f2994a24;--warn-line:#f2994a59;--danger:#e44;--danger-fill:#d93c3c;--text-on-danger:#fff;--danger-soft:#ee444424;--danger-line:#ee444459;--info:#388af6;--info-soft:#388af624;--info-line:#388af659;--series-1:#9b7dff;--series-2:#f0a35c;--series-3:#4ec9d8;--series-4:#e86ea4;--grid:#21212b;--axis:#33333f;--cat-1:#3987e5;--cat-2:#d95926;--cat-3:#199e70;--cat-4:#c98500;--cat-5:#d55181;--cat-6:#008300;--cat-7:#9085e9;--cat-8:#e66767;--tint-violet:#9b7dff;--tint-blue:#58a6ff;--tint-green:#4ed99b;--tint-amber:#f0a83e;--scrollbar-thumb:#30303c;--scrollbar-thumb-hover:#3f3f4d;--r-xs:2px;--r-sm:4px;--r-md:6px;--r-lg:8px;--r-xl:12px;--r-pill:999px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:40px;--s-8:48px;--s-9:64px;--font:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:"JetBrains Mono", "Cascadia Mono", "Consolas", ui-monospace, monospace;--fs-micro:11px;--fs-small:12px;--fs-body:14px;--fs-strong:16px;--fs-title:20px;--fs-page:28px;--fs-hero:32px;--shadow-card:0 1px 3px #00000059;--shadow-pop:0 8px 24px #00000073;--shadow-accent:0 2px 12px #7c5cff59;--focus-ring:0 0 0 2px var(--accent);--focus-ring-offset:0 0 0 2px var(--bg-card), 0 0 0 4px var(--accent);--titlebar-h:44px;--sidebar-w:264px;--inspector-w:300px;--statusbar-h:30px;--t-fast:90ms;--t-slow:.18s;--ease-spring:linear(0, .006, .025 2.8%, .101 6.1%, .539 18.9%, .721 25.3%, .849 31.5%, .937 38.1%, .968 41.8%, .991 45.7%, 1.002 50.1%, 1.006 55%, 1.005 60.5%, 1.001 73.5%, 1)}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-window:#eceef3;--bg-chrome:#fff;--bg-canvas:#f4f5f8;--bg-card:#fff;--bg-inset:#eef0f4;--bg-hover:#e5e7ed;--bg-active:#dadde5;--line:#dde0e7;--line-soft:#e8eaef;--line-strong:#c3c8d3;--text:#1a1c23;--text-dim:#5a5e6a;--text-faint:#8a8e99;--text-on-accent:#fff;--accent:#7c5cff;--accent-hover:#6a49f0;--accent-press:#5b3ddb;--accent-text:#5b3dd6;--accent-soft:#7c5cff1a;--accent-soft-strong:#7c5cff2e;--accent-line:#7c5cff59;--ok:#1f8f5f;--ok-soft:#1f8f5f1f;--ok-line:#1f8f5f52;--warn:#a86a0a;--warn-soft:#a86a0a1f;--warn-line:#a86a0a52;--danger:#d93c3c;--danger-fill:#c6362f;--text-on-danger:#fff;--danger-soft:#d93c3c1a;--danger-line:#d93c3c52;--info:#1e70eb;--info-soft:#1e70eb1f;--info-line:#1e70eb52;--series-1:#6a4fe0;--series-2:#c17418;--series-3:#1c8b9c;--series-4:#c34a7d;--grid:#e4e6ec;--axis:#b6bbc6;--cat-1:#2a78d6;--cat-2:#eb6834;--cat-3:#1baf7a;--cat-4:#eda100;--cat-5:#e87ba4;--cat-6:#008300;--cat-7:#4a3aa7;--cat-8:#e34948;--tint-violet:#6a4fe0;--tint-blue:#2f74d6;--tint-green:#1c9c66;--tint-amber:#c17c1a;--shadow-card:0 1px 3px #14182214;--shadow-pop:0 8px 24px #14182224;--shadow-accent:0 2px 12px #7c5cff47;--focus-ring:0 0 0 2px var(--accent);--focus-ring-offset:0 0 0 2px var(--bg-card), 0 0 0 4px var(--accent);--scrollbar-thumb:#cdd1d9;--scrollbar-thumb-hover:#b6bbc5}@media (prefers-reduced-motion:reduce){:root{--t-fast:0s;--t-slow:0s}}*,:before,:after{box-sizing:border-box}html,body{height:100%}body{background:var(--bg-window);color:var(--text);font-family:var(--font);font-size:var(--fs-body);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;margin:0;line-height:1.5;overflow:hidden}h1,h2,h3,h4,p,figure{margin:0}h1{font-size:var(--fs-page);letter-spacing:-.015em;font-weight:700;line-height:1.25}h2{font-size:var(--fs-title);font-weight:600;line-height:1.3}h3{font-size:var(--fs-strong);font-weight:600;line-height:1.35}h4{font-size:var(--fs-body);font-weight:600;line-height:1.4}ul,ol{margin:0;padding:0;list-style:none}a{color:var(--accent-text);text-decoration:none}a:hover{text-decoration:underline}svg{flex:none;display:block}code,.mono{font-family:var(--font-mono);font-size:.95em}:focus{outline:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-sm)}::selection{background:var(--accent-soft-strong)}[hidden]{display:none!important}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--r-pill);background-clip:content-box;border:3px solid #0000}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover);background-clip:content-box}::-webkit-scrollbar-corner{background:0 0}.dim{color:var(--text-dim)}.faint{color:var(--text-faint)}.accent{color:var(--accent-text)}.numeric{text-align:right;font-variant-numeric:tabular-nums}.nowrap{white-space:nowrap}.hidden{display:none!important}.spacer{flex:auto}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sprite{display:none}.icon{stroke:currentColor;fill:none;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;transform-origin:50%;width:18px;height:18px;transition:transform .2s var(--ease-spring)}.icon-sm{width:14px;height:14px}.icon-lg{stroke-width:1.4px;width:28px;height:28px}[data-icon] path,[data-icon] circle,[data-icon] rect,[data-icon] polygon,[data-icon] line{transform-box:fill-box;transform-origin:50%;transition:transform .2s var(--ease-spring)}[data-icon=trash] path:first-child{transform-box:view-box;transform-origin:4.8px 6.8px}[data-icon=gauge] path:nth-child(2){transform-box:view-box;transform-origin:12px 17.6px}[data-icon=droplet] path{transform-box:view-box;transform-origin:12px 19.6px}@media (prefers-reduced-motion:reduce){.icon,[data-icon] path,[data-icon] circle,[data-icon] rect,[data-icon] polygon,[data-icon] line{transition:none!important}}.app{grid-template-rows:var(--titlebar-h) 1fr var(--statusbar-h);background:var(--bg-canvas);height:100vh;display:grid}.titlebar{align-items:center;gap:var(--s-4);padding:0 0 0 var(--s-5);background:var(--bg-chrome);border-bottom:1px solid var(--line);-webkit-user-select:none;user-select:none;display:flex}.brand{align-items:center;gap:var(--s-3);display:flex}.brand-mark{border-radius:var(--r-md);background:linear-gradient(150deg, var(--accent-hover), var(--accent-press));width:26px;height:26px;color:var(--text-on-accent);box-shadow:var(--shadow-accent);justify-content:center;align-items:center;display:inline-flex}.brand-mark .icon{stroke-width:1.8px}.brand-mark:hover [data-icon=droplet] path,.nav-item:hover:not(:disabled) [data-icon=droplet] path,.row-item:hover [data-icon=droplet] path{transform:rotate(-10deg)}.brand-name{font-size:var(--fs-strong);letter-spacing:-.01em;font-weight:600}.titlebar-actions{align-items:center;gap:var(--s-2);padding-right:var(--s-3);display:flex}.model-context{align-items:center;gap:var(--s-3);min-width:0;padding-left:var(--s-5);margin-left:var(--s-2);border-left:1px solid var(--line);color:var(--text-dim);font-size:var(--fs-small);white-space:nowrap;display:flex;overflow:hidden}.model-context .sep{color:var(--text-faint)}.model-context .model-name{color:var(--text);font-weight:500}.model-context .model-variant-select{max-width:160px}.model-context .model-name-input{width:160px}.model-context .model-hash{font-variant-numeric:tabular-nums}.window-controls{height:100%;display:none}.window-controls button{width:46px;height:100%;color:var(--text-dim);cursor:pointer;transition:background var(--t-fast), color var(--t-fast);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.window-controls button:hover{background:var(--bg-hover);color:var(--text)}.window-controls button.close:hover{color:#fff;background:#c4342f}.app-body{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);min-height:0;display:grid}.app-body[data-inspector=on]{grid-template-columns:var(--sidebar-w) minmax(0, 1fr) var(--inspector-w)}.sidebar{gap:var(--s-2);padding:var(--s-4) var(--s-4) var(--s-4);background:var(--bg-chrome);border-right:1px solid var(--line);flex-direction:column;display:flex;overflow-y:auto}.nav{flex-direction:column;gap:2px;display:flex}.nav-item{align-items:center;gap:var(--s-4);border-radius:var(--r-md);width:100%;color:var(--text-dim);font:inherit;font-size:var(--fs-body);text-align:left;cursor:pointer;transition:background var(--t-fast), color var(--t-fast);background:0 0;border:none;padding:9px 12px;display:flex}.nav-item span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.nav-item:hover:not(:disabled){background:var(--bg-hover);color:var(--text)}.nav-item:hover:not(:disabled) [data-icon=home]{transform:translateY(-1.5px)}.nav-item:hover:not(:disabled) [data-icon=list] .part-1{transform:translate(1.5px)}.nav-item:hover:not(:disabled) [data-icon=list] .part-2{transition-delay:25ms;transform:translate(1.5px)}.nav-item:hover:not(:disabled) [data-icon=list] .part-3{transition-delay:50ms;transform:translate(1.5px)}.nav-item:hover:not(:disabled) [data-icon=doc],.nav-item:hover:not(:disabled) [data-icon=cube],.nav-item:hover:not(:disabled) [data-icon=table]{transform:translateY(-1.5px)}.nav-item:hover:not(:disabled) [data-icon=download] path:first-child{transform:translateY(1.8px)}.nav-item:hover:not(:disabled) [data-icon=download] path:nth-child(2){transition-delay:30ms;transform:scaleX(1.08)}.nav-item:hover:not(:disabled) [data-icon=upload] path:first-child,.nav-item:hover:not(:disabled) [data-icon=layers] path:first-child{transform:translateY(-1.8px)}.nav-item:hover:not(:disabled) [data-icon=layers] path:nth-child(3){transition-delay:30ms;transform:translateY(1.4px)}.nav-item:hover:not(:disabled) [data-icon=exchange] path:first-child,.row-item:hover [data-icon=exchange] path:first-child{transform:translate(1.8px)}.nav-item:hover:not(:disabled) [data-icon=exchange] path:nth-child(2),.row-item:hover [data-icon=exchange] path:nth-child(2){transition-delay:30ms;transform:translate(-1.8px)}.nav-item:hover:not(:disabled) [data-icon=tube] path:nth-child(3),.row-item:hover [data-icon=tube] path:nth-child(3){transition-delay:30ms;transform:translateY(-1.5px)}.nav-item:hover:not(:disabled) [data-icon=gauge] path:nth-child(2),.row-item:hover [data-icon=gauge] path:nth-child(2){transform:rotate(14deg)}.nav-item:hover:not(:disabled) [data-icon=flask]{transform:rotate(-10deg)}.nav-item:hover:not(:disabled) [data-icon=sliders] circle:nth-child(3){transform:translate(1.6px)}.nav-item:hover:not(:disabled) [data-icon=sliders] circle:nth-child(4){transition-delay:30ms;transform:translate(-1.6px)}.nav-item:hover:not(:disabled) [data-icon=check-circle] path:nth-child(2){transition-delay:30ms;transform:scale(1.15)}.nav-item:hover:not(:disabled) [data-icon=chart] path:nth-child(2),.row-item:hover [data-icon=chart] path:nth-child(2){transition-delay:30ms;transform:translateY(-1.5px)}.nav-item:hover:not(:disabled) [data-icon=target] circle:nth-child(2),.row-item:hover [data-icon=target] circle:nth-child(2){transition-delay:30ms;transform:scale(.82)}.nav-item:hover:not(:disabled) [data-icon=scatter] circle:nth-child(2){transform:scale(1.25)}.nav-item:hover:not(:disabled) [data-icon=scatter] circle:nth-child(3){transition-delay:25ms;transform:scale(1.25)}.nav-item:hover:not(:disabled) [data-icon=scatter] circle:nth-child(4){transition-delay:50ms;transform:scale(1.25)}.nav-item:hover:not(:disabled) [data-icon=scatter] circle:nth-child(5){transition-delay:75ms;transform:scale(1.25)}.nav-item:hover:not(:disabled) [data-icon=plus] path:first-child{transform:scaleX(1.12)}.nav-item:hover:not(:disabled) [data-icon=plus] path:nth-child(2){transition-delay:30ms;transform:scaleY(1.12)}.row-item:hover [data-icon=chevron-right] path:first-child{transform:translate(1.8px)}.nav-item[aria-current=page]{background:var(--accent-soft-strong);color:var(--text);box-shadow:inset 3px 0 0 var(--accent);font-weight:600}.nav-item[aria-current=page] .icon{color:var(--accent-text)}.nav-item:disabled{color:var(--text-faint);cursor:default;opacity:.7}.nav-item .soon{font-size:var(--fs-micro);color:var(--text-faint);border:1px solid var(--line);border-radius:var(--r-pill);flex:none;margin-left:auto;padding:0 6px}.nav-group{margin-top:var(--s-3);flex-direction:column;gap:2px;display:flex}.nav-group-head{align-items:center;gap:var(--s-3);border-radius:var(--r-sm);width:100%;color:var(--text-faint);font:inherit;font-size:var(--fs-micro);letter-spacing:.06em;text-transform:uppercase;text-align:left;cursor:pointer;transition:color var(--t-fast);background:0 0;border:none;padding:5px 12px;font-weight:600;display:flex}.nav-group-head:hover{color:var(--text-dim)}.nav-group-head:hover [data-icon=chevron-down] path:first-child{transform:translateY(1.8px)}.nav-group-head .chevron{transition:transform var(--t-fast);margin-left:auto}.nav-group-head[aria-expanded=false] .chevron{transform:rotate(-90deg)}.nav-group-head .here{background:var(--accent);border-radius:50%;width:5px;height:5px}.nav-group-items{flex-direction:column;gap:1px;display:flex}.nav-group-items .nav-item{font-size:var(--fs-body);padding:7px 12px}.sidebar-divider{background:var(--line);height:1px;margin:var(--s-4) 4px}.sidebar-label{margin-bottom:var(--s-2);color:var(--text-faint);font-size:var(--fs-small);padding:0 12px}.sidebar-note{color:var(--text-faint);font-size:var(--fs-small);padding:0 12px;line-height:1.5}.sidebar-foot{padding-top:var(--s-4);margin-top:auto}.sidebar-foot .nav-item{border:1px solid var(--line)}.content{background:var(--bg-canvas);flex-direction:column;min-width:0;min-height:0;display:flex}.content-head{align-items:center;gap:var(--s-4);padding:var(--s-4) var(--s-6);border-bottom:1px solid var(--line);background:var(--bg-canvas);display:flex}.crumbs{align-items:center;gap:var(--s-3);color:var(--text-dim);font-size:var(--fs-body);min-width:0;display:flex}.crumbs .icon-sm{color:var(--text-faint)}.crumbs button{font:inherit;color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:0}.crumbs button:hover{color:var(--text)}.crumbs .current{color:var(--text);font-weight:500}.head-status{align-items:center;gap:var(--s-3);color:var(--text-dim);font-size:var(--fs-small);display:inline-flex}.page{min-height:0;padding:var(--s-6);gap:var(--s-5);flex-direction:column;flex:1;display:flex;overflow-y:auto}.page-narrow{width:100%;max-width:1120px}.page-head{align-items:center;gap:var(--s-4);flex-wrap:wrap;display:flex}.page-lead{color:var(--text-dim);font-size:var(--fs-body);max-width:76ch;line-height:1.55}.section-title{font-size:var(--fs-title);letter-spacing:-.01em;font-weight:600}.split{gap:var(--s-5);grid-template-columns:minmax(0,1fr) 300px;align-items:start;display:grid}.col{gap:var(--s-5);flex-direction:column;min-width:0;display:flex}.inspector{background:var(--bg-chrome);border-left:1px solid var(--line);flex-direction:column;min-height:0;display:flex}.inspector-head{align-items:center;gap:var(--s-3);min-height:52px;padding:var(--s-4) var(--s-5);border-bottom:1px solid var(--line);color:var(--text-faint);font-size:var(--fs-micro);letter-spacing:.06em;text-transform:uppercase;font-weight:600;display:flex}.inspector-body{min-height:0;padding:var(--s-5);gap:var(--s-5);flex-direction:column;flex:1;display:flex;overflow-y:auto}.inspector-title{font-size:var(--fs-strong);font-weight:600}.inspector-sub{color:var(--text-dim);font-size:var(--fs-small);margin-top:2px}.inspector-note{color:var(--text-faint);font-size:var(--fs-small);line-height:1.5}@media (max-width:1180px){.split{grid-template-columns:minmax(0,1fr)}}@media (max-width:1100px){.app-body[data-inspector=on]{grid-template-columns:var(--sidebar-w) minmax(0, 1fr)}.inspector{display:none}}@media (max-width:900px){.app-body,.app-body[data-inspector=on]{grid-template-columns:64px minmax(0,1fr)}.sidebar{padding:var(--s-3)}.nav-item span,.sidebar-label,.sidebar-note,.nav-group-head,.nav-item .soon{display:none}.nav-item{justify-content:center;padding:10px}.nav-group{margin-top:var(--s-3);border-top:1px solid var(--line);padding-top:var(--s-3)}.nav-group-items[hidden]{display:flex}.model-context{display:none}.page{padding:var(--s-5) var(--s-4)}}.statusbar{align-items:center;gap:var(--s-5);padding:0 var(--s-6);background:var(--bg-chrome);border-top:1px solid var(--line);color:var(--text-dim);font-size:var(--fs-small);display:flex}.statusbar .status-right{align-items:center;gap:var(--s-3);margin-left:auto;display:inline-flex}.status-error{color:var(--danger)}.status-ok{color:var(--ok)}.status-busy{color:var(--accent-text)}[data-shell=desktop] .window-controls{display:flex}[data-shell=desktop] .titlebar{-webkit-app-region:drag}[data-shell=desktop] .titlebar button{-webkit-app-region:no-drag}.btn{justify-content:center;align-items:center;gap:var(--s-2);border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg-inset);min-height:36px;color:var(--text);font:inherit;font-size:var(--fs-body);white-space:nowrap;cursor:pointer;transition:background var(--t-fast), border-color var(--t-fast), color var(--t-fast), box-shadow var(--t-fast);padding:0 16px;font-weight:500;line-height:1;display:inline-flex}.btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--line-strong)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn:hover:not(:disabled) [data-icon=play] path:first-child,.btn:hover:not(:disabled) [data-icon=arrow-right] path:first-child{transform:translate(1.8px)}.btn:hover:not(:disabled) [data-icon=refresh]{transform:rotate(90deg)}.btn:hover:not(:disabled) [data-icon=trash] path:first-child{transform:rotate(-16deg)}.btn:hover:not(:disabled) [data-icon=plus] path:first-child{transform:scaleX(1.12)}.btn:hover:not(:disabled) [data-icon=plus] path:nth-child(2){transition-delay:30ms;transform:scaleY(1.12)}.btn:hover:not(:disabled) [data-icon=download] path:first-child{transform:translateY(1.8px)}.btn:hover:not(:disabled) [data-icon=download] path:nth-child(2){transition-delay:30ms;transform:scaleX(1.08)}.btn:hover:not(:disabled) [data-icon=upload] path:first-child{transform:translateY(-1.8px)}.btn:hover:not(:disabled) [data-icon=copy] path:nth-child(2){transform:translate(-1.4px,-1.4px)}.btn:hover:not(:disabled) [data-icon=check] path:first-child,.btn:hover:not(:disabled) [data-icon=check] path:nth-child(2){transform:scale(1.12)}.btn:hover:not(:disabled) [data-icon=check-circle] path:nth-child(2){transition-delay:30ms;transform:scale(1.15)}.btn:hover:not(:disabled) [data-icon=edit] path:first-child,.btn:hover:not(:disabled) [data-icon=edit] path:nth-child(2){transform:translate(1.4px,-1.4px)}.btn:hover:not(:disabled) [data-icon=logout] path:nth-child(2),.btn:hover:not(:disabled) [data-icon=logout] path:nth-child(3){transform:translate(2px)}.btn:hover:not(:disabled) [data-icon=sun]{transform:rotate(30deg)}.btn:hover:not(:disabled) [data-icon=moon]{transform:rotate(-14deg)}.btn:hover:not(:disabled) [data-icon=help] path:nth-child(2),.btn:hover:not(:disabled) [data-icon=help] path:nth-child(3){transition-delay:20ms;transform:translateY(-1.2px)}.btn:hover:not(:disabled) [data-icon=user] circle:first-child{transform:translateY(-1.2px)}.btn:active:not(:disabled){background:var(--bg-active)}.btn:disabled{color:var(--text-faint);cursor:not-allowed;opacity:.6}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent);box-shadow:var(--shadow-accent);font-weight:600}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn-primary:active:not(:disabled){background:var(--accent-press);border-color:var(--accent-press)}.btn-primary:disabled{background:var(--bg-inset);border-color:var(--line);box-shadow:none}.btn-quiet{color:var(--text-dim);background:0 0;border-color:#0000}.btn-quiet:hover:not(:disabled){background:var(--bg-hover);color:var(--text);border-color:#0000}.btn-danger{border-color:var(--danger-line);color:var(--danger);background:0 0}.btn-danger:hover:not(:disabled){background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}.btn-danger-primary{background:var(--danger-fill);border-color:var(--danger-fill);color:var(--text-on-danger);font-weight:600}.btn-danger-primary:hover:not(:disabled){opacity:.92}.btn-link{color:var(--accent);font:inherit;font-size:inherit;cursor:pointer;text-underline-offset:2px;background:0 0;border:0;padding:0;text-decoration:underline}.btn-link:hover:not(:disabled){color:var(--accent-hover)}.btn-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-xs)}.btn-sm{min-height:32px;font-size:var(--fs-small);gap:var(--s-1);padding:0 12px}.btn-lg{min-height:48px;font-size:var(--fs-strong);gap:var(--s-3);padding:0 20px;font-weight:600}.btn-icon{width:36px;min-height:36px;color:var(--text-dim);background:0 0;border-color:#0000;padding:0}.btn-icon:hover:not(:disabled){background:var(--bg-hover);color:var(--text);border-color:#0000}.btn-icon.btn-sm{width:32px;min-height:32px}.btn-icon.danger:hover:not(:disabled){color:var(--danger)}.btn-block{width:100%}.field{gap:var(--s-2);min-width:0;display:grid}.field>.label,.label{font-size:var(--fs-small);color:var(--text-dim);align-items:center;display:inline-flex}.label-required{color:var(--danger);margin-left:2px;font-weight:600}.field-hint{font-size:var(--fs-small);color:var(--text-faint)}.field-error{font-size:var(--fs-small);color:var(--danger)}.input,.select,textarea.input{background:var(--bg-inset);border:1px solid var(--line);border-radius:var(--r-md);width:100%;min-width:0;min-height:36px;color:var(--text);font:inherit;font-size:var(--fs-body);transition:border-color var(--t-fast), background var(--t-fast), box-shadow var(--t-fast);padding:0 12px;line-height:1.45}.input:hover,.select:hover{border-color:var(--line-strong)}.input:focus,.select:focus,textarea.input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);outline:none}.input[aria-invalid=true],.select[aria-invalid=true],.input.is-invalid,.select.is-invalid,.field.is-invalid .input,.field.is-invalid .select{border-color:var(--danger);box-shadow:0 0 0 2px var(--danger-soft)}.input:disabled,.select:disabled{color:var(--text-faint);background:var(--bg-canvas);cursor:not-allowed}.input.numeric{text-align:right;font-variant-numeric:tabular-nums}textarea.input{resize:vertical;min-height:80px;padding:8px 12px;line-height:1.5}.search-input{align-items:center;width:100%;min-width:200px;display:flex;position:relative}.search-input>.icon,.search-input>svg{color:var(--text-faint);pointer-events:none;width:16px;height:16px;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.search-input .input,.search-input input{padding-left:34px;padding-right:32px}.search-input .search-clear{width:20px;height:20px;color:var(--text-faint);cursor:pointer;transition:color var(--t-fast), background var(--t-fast);background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:12px;display:inline-flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.search-input .search-clear:hover{background:var(--bg-hover);color:var(--text)}.select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--text-dim) 50%), linear-gradient(135deg, var(--text-dim) 50%, transparent 50%);cursor:pointer;background-position:calc(100% - 16px) calc(50% + 1px),calc(100% - 11px) calc(50% + 1px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:30px}.select option{background:var(--bg-card);color:var(--text)}.with-unit{gap:var(--s-2);grid-template-columns:1fr auto;display:grid}.with-unit .select{width:auto;min-width:76px;color:var(--text-dim)}.check,.radio{align-items:center;gap:var(--s-3);font-size:var(--fs-body);cursor:pointer;-webkit-user-select:none;user-select:none;display:flex}.check input,.radio input{appearance:none;background:var(--bg-inset);border:1px solid var(--line-strong);cursor:pointer;width:16px;height:16px;transition:background var(--t-fast), border-color var(--t-fast);flex:none;margin:0}.check input{border-radius:var(--r-sm)}.radio input{border-radius:50%}.check:hover input:not(:disabled):not(:checked),.radio:hover input:not(:disabled):not(:checked){border-color:var(--text-dim)}.check input:checked,.radio input:checked{background:var(--accent);border-color:var(--accent)}.check input:checked{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.4l3 3 6-6.4' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.radio input:checked{box-shadow:inset 0 0 0 3px var(--bg-card)}.check input:focus-visible,.radio input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.check input:disabled,.radio input:disabled{opacity:.5;cursor:not-allowed}.check.disabled,.radio.disabled{color:var(--text-faint);cursor:not-allowed}.segmented{background:var(--bg-inset);border:1px solid var(--line);border-radius:var(--r-md);gap:2px;padding:3px;display:inline-flex}.segmented button{align-items:center;gap:var(--s-2);border-radius:var(--r-sm);color:var(--text-dim);font:inherit;font-size:var(--fs-small);cursor:pointer;transition:background var(--t-fast), color var(--t-fast);background:0 0;border:none;padding:5px 12px;font-weight:500;display:inline-flex}.segmented button:hover:not([aria-pressed=true]){background:var(--bg-hover);color:var(--text)}.segmented button:focus-visible{outline:2px solid var(--accent);outline-offset:-1px}.segmented button[aria-pressed=true]{background:var(--accent);color:var(--text-on-accent);font-weight:600}.switch{align-items:center;gap:var(--s-3);font-size:var(--fs-body);cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex}.switch input{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.switch-track{background:var(--line-strong);width:34px;height:20px;transition:background var(--t-fast);border-radius:10px;flex:none;display:inline-block;position:relative}.switch-track:after{content:"";width:14px;height:14px;transition:transform var(--t-fast);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000004d}.switch input:checked+.switch-track{background:var(--accent)}.switch input:checked+.switch-track:after{transform:translate(14px)}.switch input:focus-visible+.switch-track{outline:2px solid var(--accent);outline-offset:2px}.switch input:disabled+.switch-track{opacity:.45;cursor:not-allowed}.menu{background:var(--bg-card);border:1px solid var(--line-strong);border-radius:var(--r-md);min-width:180px;box-shadow:var(--shadow-pop);z-index:50;flex-direction:column;padding:4px 0;display:flex}.menu-item{align-items:center;gap:var(--s-3);width:100%;min-height:34px;color:var(--text);font:inherit;font-size:var(--fs-body);text-align:left;cursor:pointer;transition:background var(--t-fast), color var(--t-fast);background:0 0;border:0;padding:6px 12px;display:flex}.menu-item:hover:not(:disabled){background:var(--bg-hover);color:var(--text)}.menu-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.menu-item:disabled{color:var(--text-faint);cursor:not-allowed}.menu-item.danger{color:var(--danger)}.menu-item.danger:hover:not(:disabled){background:var(--danger-soft);color:var(--danger)}.menu-divider{background:var(--line);height:1px;margin:4px 0}.card{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--r-lg);min-width:0;box-shadow:var(--shadow-card);flex-direction:column;display:flex}.card-head{align-items:center;gap:var(--s-4);padding:var(--s-5) var(--s-5) 0;display:flex}.card-head.bordered{padding-bottom:var(--s-4);border-bottom:1px solid var(--line-soft)}.card-title{font-size:var(--fs-strong);letter-spacing:-.005em;font-weight:600}.card-actions{align-items:center;gap:var(--s-3);margin-left:auto;display:flex}.card-body{padding:var(--s-5);min-width:0}.card-body.tight{padding:var(--s-4)}.card-body.flush{padding:0}.card-foot{align-items:center;gap:var(--s-4);padding:var(--s-4) var(--s-5);border-top:1px solid var(--line-soft);color:var(--text-dim);font-size:var(--fs-small);display:flex}.card-note{padding:var(--s-3) var(--s-5) var(--s-5);color:var(--text-faint);font-size:var(--fs-small)}.kv{gap:0;display:grid}.kv-row{justify-content:space-between;align-items:baseline;gap:var(--s-4);border-bottom:1px solid var(--line-soft);padding:7px 0;display:flex}.kv-row:last-child{border-bottom:none}.kv-key{color:var(--text-dim);font-size:var(--fs-small)}.kv-value{text-align:right;font-weight:500}.badge{align-items:center;gap:var(--s-2);border-radius:var(--r-pill);background:var(--accent-soft);border:1px solid var(--accent-line);color:var(--accent-text);font-size:var(--fs-small);white-space:nowrap;padding:2px 10px;font-weight:500;display:inline-flex}.badge-ok{background:var(--ok-soft);border-color:var(--ok-line);color:var(--ok)}.badge-warn{background:var(--warn-soft);border-color:var(--warn-line);color:var(--warn)}.badge-danger{background:var(--danger-soft);border-color:var(--danger-line);color:var(--danger)}.badge-info{background:var(--info-soft);border-color:var(--info-line);color:var(--info)}.badge-neutral{background:var(--bg-inset);border-color:var(--line);color:var(--text-dim)}.dot{background:currentColor;border-radius:50%;flex:none;width:7px;height:7px}.chips{gap:var(--s-2);flex-wrap:wrap;display:flex}.chip{border:1px solid var(--line);border-radius:var(--r-pill);background:var(--bg-inset);color:var(--text-dim);font:inherit;font-size:var(--fs-small);cursor:pointer;transition:background var(--t-fast), color var(--t-fast), border-color var(--t-fast);padding:4px 12px}.chip:hover{color:var(--text);border-color:var(--line-strong)}.chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chip[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-text);font-weight:500}.stepper{align-items:center;gap:var(--s-4);flex-wrap:wrap;display:flex}.step{align-items:center;gap:var(--s-3);color:var(--text-faint);font:inherit;font-size:var(--fs-body);cursor:pointer;border-radius:var(--r-md);transition:color var(--t-fast);background:0 0;border:none;padding:4px;display:inline-flex}.step:hover{color:var(--text-dim)}.step-mark{background:var(--bg-inset);border:1px solid var(--line);width:26px;height:26px;color:var(--text-faint);font-size:var(--fs-small);border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.step[data-state=current]{color:var(--accent-text);font-weight:600}.step[data-state=current] .step-mark{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent)}.step[data-state=done]{color:var(--text)}.step[data-state=done] .step-mark{background:var(--accent-soft-strong);border-color:var(--accent-line);color:var(--accent-text)}.step[data-state=soon]{cursor:default}.step[data-state=soon]:hover{color:var(--text-faint)}.step[data-state=soon] .step-mark{background:0 0;border-style:dashed}.step-label{text-align:left;flex-direction:column;align-items:flex-start;line-height:1.25;display:flex}.step-hint{font-size:var(--fs-micro);color:var(--text-faint);font-weight:400}.step-link{background:var(--line);flex:24px;min-width:24px;max-width:96px;height:1px}.table{border-collapse:collapse;width:100%;font-size:var(--fs-body)}.table th{z-index:1;text-align:left;background:var(--bg-inset);border-bottom:1px solid var(--line);color:var(--text-dim);font-size:var(--fs-small);white-space:nowrap;padding:10px 12px;font-weight:600;position:sticky;top:0}.table th.numeric{text-align:right}.table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color var(--t-fast)}.table th.sortable:hover{color:var(--text)}.table th[aria-sort]{color:var(--accent-text)}.table th.sortable:after{content:"";vertical-align:middle;opacity:0;width:0;height:0;transition:opacity var(--t-fast);border-left:4px solid #0000;border-right:4px solid #0000;margin-left:6px;display:inline-block}.table th.sortable:hover:after{opacity:.45;border-bottom:5px solid}.table th[aria-sort=ascending]:after{opacity:1;border-bottom:5px solid var(--accent);border-top:0}.table th[aria-sort=descending]:after{opacity:1;border-top:5px solid var(--accent);border-bottom:0}.table td{border-bottom:1px solid var(--line-soft);vertical-align:middle;padding:8px 12px}.table tbody tr:hover td{background:var(--bg-hover)}.table tbody tr.matching-point-row{cursor:pointer}.table tbody tr.matching-point-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.table tbody tr.matching-point-selected td{background:var(--accent-soft-strong);box-shadow:inset 0 1px 0 var(--accent-line), inset 0 -1px 0 var(--accent-line)}.matching-point-inspector{gap:var(--s-4);display:grid}.table tbody tr:last-child td{border-bottom:none}.table tfoot td{border-top:1px solid var(--line);background:var(--bg-inset);color:var(--text-dim);border-bottom:none;padding:9px 10px;font-weight:600}.table .input{min-height:28px;padding:3px 8px}.table-scroll{border-radius:var(--r-md);border:1px solid var(--line);overflow:auto}.table-scroll.plain{border:none;border-radius:0}.banner{align-items:flex-start;gap:var(--s-4);padding:var(--s-4) var(--s-5);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg-card);font-size:var(--fs-body);line-height:1.5;display:flex}.banner-icon{background:var(--accent-soft);width:30px;height:30px;color:var(--accent-text);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.banner-title{margin-bottom:2px;font-weight:600}.banner-ok{background:var(--ok-soft);border-color:var(--ok-line)}.banner-ok .banner-icon{background:var(--ok-soft);color:var(--ok)}.banner-info{background:var(--info-soft);border-color:var(--info-line)}.banner-info .banner-icon{background:var(--info-soft);color:var(--info)}.banner-warn{background:var(--warn-soft);border-color:var(--warn-line)}.banner-warn .banner-icon{background:var(--warn-soft);color:var(--warn)}.banner-danger{background:var(--danger-soft);border-color:var(--danger-line)}.banner-danger .banner-icon{background:var(--danger-soft);color:var(--danger)}.tiles{gap:var(--s-4);grid-template-columns:repeat(auto-fit,minmax(132px,1fr));display:grid}.tile{padding:var(--s-4) var(--s-5);background:var(--bg-card);border:1px solid var(--line);border-radius:var(--r-lg)}.tile-name{color:var(--text-dim);font-size:var(--fs-small)}.tile-sym{color:var(--text-faint);font-size:var(--fs-micro);min-height:14px;margin-top:1px}.tile-value{margin-top:var(--s-3);letter-spacing:-.01em;font-size:22px;font-weight:650}.tile-unit{font-size:var(--fs-body);color:var(--text-dim);margin-left:5px;font-weight:500}.actions-grid{gap:var(--s-5);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.action-card{align-items:center;gap:var(--s-3);padding:var(--s-7) var(--s-5);text-align:center;background:var(--bg-card);border:1px solid var(--line);border-radius:var(--r-lg);color:var(--text);font:inherit;cursor:pointer;transition:border-color var(--t-slow), background var(--t-slow), transform var(--t-slow);flex-direction:column;display:flex}.action-card:hover:not(:disabled){background:var(--bg-inset);border-color:var(--accent-line);transform:translateY(-1px)}.action-card:disabled{cursor:not-allowed;opacity:.55}.action-card .icon-lg{margin-bottom:var(--s-3)}.action-card .a-title{font-size:var(--fs-strong);font-weight:600}.action-card .a-text{color:var(--text-dim);font-size:var(--fs-small);line-height:1.45}.tint-violet{color:var(--tint-violet)}.tint-blue{color:var(--tint-blue)}.tint-green{color:var(--tint-green)}.tint-amber{color:var(--tint-amber)}.rows{flex-direction:column;display:flex}.row-item{align-items:center;gap:var(--s-4);width:100%;padding:var(--s-4) var(--s-5);border:none;border-bottom:1px solid var(--line-soft);color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:background var(--t-fast);background:0 0;display:flex}.row-item:last-child{border-bottom:none}.row-item:hover{background:var(--bg-inset)}.row-main{flex:1;min-width:0}.row-title{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.row-sub{color:var(--text-dim);font-size:var(--fs-small);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.row-meta{color:var(--text-faint);font-size:var(--fs-small);white-space:nowrap}.empty{justify-content:center;align-items:center;gap:var(--s-3);padding:var(--s-8) var(--s-5);text-align:center;color:var(--text-faint);flex-direction:column;display:flex}.empty-icon-wrap{background:var(--bg-inset);border:1px solid var(--line);width:56px;height:56px;color:var(--text-dim);margin-bottom:var(--s-1);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.empty .icon-lg{color:var(--text-dim);opacity:.85}.empty-title{color:var(--text);font-size:var(--fs-strong);font-weight:600}.empty-text{font-size:var(--fs-body);color:var(--text-dim);max-width:42ch;line-height:1.5}.empty .btn{margin-top:var(--s-2)}.tabs{gap:var(--s-5);border-bottom:1px solid var(--line);display:flex}.tab{color:var(--text-dim);font:inherit;font-size:var(--fs-body);cursor:pointer;transition:color var(--t-fast), border-color var(--t-fast);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 4px}.tab:hover{color:var(--text)}.tab[aria-selected=true]{color:var(--accent-text);border-bottom-color:var(--accent);font-weight:600}.toolbar{align-items:center;gap:var(--s-3);flex-wrap:wrap;display:flex}.legend{align-items:center;gap:var(--s-5);font-size:var(--fs-small);color:var(--text-dim);flex-wrap:wrap;display:flex}.swatch{background:currentColor;border-radius:2px;flex:none;width:16px;height:3px}.swatch-1{color:var(--series-1)}.swatch-2{color:var(--series-2)}.swatch-boundary{color:var(--warn);background-color:#0000;background-image:linear-gradient(90deg,currentColor 60%,#0000 60%);background-size:6px 3px}.busy-dot{background:var(--accent);border-radius:50%;width:7px;height:7px;animation:1s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:.35}50%{opacity:1}}.application-dialog{color:var(--text);background:var(--bg-card);border:1px solid var(--line-strong);border-radius:var(--r-xl);width:min(600px,100vw - 32px);max-height:calc(100dvh - 40px);padding:var(--s-5);box-shadow:0 24px 80px var(--dialog-shadow)}.application-dialog::backdrop{background:var(--dialog-backdrop)}.application-dialog-header{justify-content:space-between;align-items:center;gap:var(--s-4);margin-bottom:var(--s-4);display:flex}.application-dialog h2,.application-dialog-title{font-size:var(--fs-title);color:var(--text);margin:0;font-weight:600;line-height:1.3}.application-dialog-close{border-radius:var(--r-sm);width:32px;height:32px;color:var(--text-dim);cursor:pointer;transition:background var(--t-fast), color var(--t-fast);background:0 0;border:0;justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;display:inline-flex}.application-dialog-close:hover{background:var(--bg-hover);color:var(--text)}.application-dialog-body{max-height:calc(100dvh - 210px);overflow:auto}.application-message+.application-message{border-top:1px solid var(--line-soft);margin-top:var(--s-4);padding-top:var(--s-4)}.application-message h3{margin:0 0 var(--s-2);font-size:var(--fs-strong);font-weight:600}.application-message p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.5}.application-message-danger h3{color:var(--danger)}.application-message-warn h3{color:var(--warn)}.application-dialog-actions{justify-content:flex-end;gap:var(--s-3);padding-top:var(--s-5);margin-top:var(--s-2);border-top:1px solid var(--line-soft);display:flex}.message-details{color:inherit;border:1px solid var(--line-strong);border-radius:var(--r-md);cursor:pointer;text-align:start;font-size:var(--fs-small);background:0 0;padding:8px 12px}.application-dialog button:focus-visible,.message-details:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.application-toast{z-index:1500;align-items:center;gap:var(--s-4);border-radius:var(--r-lg);background:var(--text);max-width:min(680px,100vw - 32px);color:var(--bg-canvas);font-size:var(--fs-body);padding:12px 16px;line-height:1.45;animation:.22s cubic-bezier(.16,1,.3,1) toast-enter;display:flex;position:fixed;top:24px;left:50%;transform:translate(-50%);box-shadow:0 4px 24px #00000059}.application-toast-error{background:var(--danger-fill);color:var(--text-on-danger)}.application-toast-success{background:var(--ok);color:#fff}.application-toast-info{background:var(--text);color:var(--bg-canvas)}.application-toast>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.application-toast button{color:inherit;cursor:pointer;white-space:nowrap;border-radius:var(--r-sm);font:inherit;background:0 0;border:0;justify-content:center;align-items:center;padding:4px;display:inline-flex}.application-toast .toast-action{padding:2px 6px;font-weight:600;text-decoration:underline}.application-toast .toast-close{opacity:.8;width:24px;height:24px;font-size:14px}.application-toast .toast-close:hover{opacity:1}.application-toast button:focus-visible{outline-offset:2px;outline:2px solid}@media (max-width:600px){.application-toast{width:calc(100vw - 32px)}.application-toast>span{white-space:normal}}@keyframes toast-enter{0%{opacity:0;transform:translate(-50%,-16px)}to{opacity:1;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.application-toast{animation:none}}.global-loader{z-index:99999;pointer-events:none;opacity:0;height:3px;transition:opacity .2s;position:fixed;top:0;left:0;right:0;overflow:hidden}.global-loader.is-active{opacity:1}.global-loader-bar{background:var(--accent);width:0%;height:100%;box-shadow:0 0 8px var(--accent-line,#7c5cff99);transition:width .2s ease-out}.global-loader.is-indeterminate .global-loader-bar{width:35%;animation:1.5s cubic-bezier(.4,0,.2,1) infinite global-loader-shift;position:absolute}@keyframes global-loader-shift{0%{left:-35%}to{left:100%}}.spinner{vertical-align:middle;justify-content:center;align-items:center;line-height:0;display:inline-flex}.spinner svg{transform-origin:50%;animation:1.2s linear infinite spinner-rotate}.spinner-circle{stroke:var(--accent);stroke-linecap:round;transform-origin:50%;animation:1.2s ease-in-out infinite spinner-dash}.spinner-sm svg{width:16px;height:16px}.spinner-sm .spinner-circle{stroke-width:2.4px}.spinner-md svg{width:32px;height:32px}.spinner-md .spinner-circle{stroke-width:3.2px}.spinner-lg svg{width:56px;height:56px}.spinner-lg .spinner-circle{stroke-width:4px}.spinner-muted .spinner-circle{stroke:currentColor}@keyframes spinner-rotate{to{transform:rotate(360deg)}}@keyframes spinner-dash{0%{stroke-dasharray:1 150;stroke-dashoffset:0}50%{stroke-dasharray:90 150;stroke-dashoffset:-35px}to{stroke-dasharray:90 150;stroke-dashoffset:-124px}}.app-loader{z-index:99990;background:var(--bg-window);padding:var(--s-4,16px);opacity:1;visibility:visible;-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:center;align-items:center;transition:opacity .3s,visibility .3s;display:flex;position:fixed;inset:0}.app-loader.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.app-loader-card{text-align:center;align-items:center;gap:var(--s-4,16px);max-width:420px;padding:var(--s-5,24px);border-radius:var(--r-lg,10px);background:var(--bg-card);border:1px solid var(--line);flex-direction:column;display:flex;box-shadow:0 12px 32px #00000073}.app-loader-brand{align-items:center;gap:var(--s-3,10px);color:var(--text);letter-spacing:-.01em;font-size:1.15rem;font-weight:600;display:flex}.app-loader-icon{width:28px;height:28px;color:var(--accent);justify-content:center;align-items:center;display:inline-flex}.app-loader-icon svg{width:100%;height:100%}.app-loader-spinner{margin:var(--s-2,8px) 0}.app-loader-text{font-size:var(--fs-body,14px);color:var(--text-dim);min-height:1.4em;font-weight:500;line-height:1.4;transition:color .15s}.app-loader-delayed{align-items:center;gap:var(--s-3,10px);margin-top:var(--s-2,8px);padding-top:var(--s-3,10px);border-top:1px solid var(--line-soft,#1f1f29);color:var(--text-faint);flex-direction:column;font-size:13px;animation:.25s app-loader-fadein;display:none}.app-loader-delayed.is-visible{display:flex}.app-loader-reload-btn{align-items:center;gap:var(--s-2,8px);border-radius:var(--r-md,6px);border:1px solid var(--line-strong,#33333f);background:var(--bg-inset,#1b1b25);color:var(--text);cursor:pointer;transition:background var(--t-fast,.12s ease), border-color var(--t-fast,.12s ease);padding:6px 14px;font-size:13px;display:inline-flex}.app-loader-reload-btn:hover{background:var(--bg-hover,#22222d);border-color:var(--accent)}.app-loader-error{align-items:center;gap:var(--s-3,10px);margin-top:var(--s-2,8px);color:var(--danger);flex-direction:column;font-size:13px;display:none}.app-loader-error.is-visible{display:flex}@keyframes app-loader-fadein{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.kontur-tooltip{z-index:99999;pointer-events:none;color:#fff;border-radius:var(--r-sm,4px);max-width:300px;font-family:var(--font,system-ui, -apple-system, "Segoe UI", Roboto, sans-serif);font-size:var(--fs-small,12px);opacity:0;word-wrap:break-word;white-space:normal;background:#222;border:1px solid #ffffff14;padding:6px 10px;font-weight:400;line-height:1.35;transition:opacity .12s,transform .12s;position:fixed;transform:scale(.96);box-shadow:0 4px 16px #00000052,0 1px 3px #0003}[data-theme=light] .kontur-tooltip{color:#fff;background:#25282d;border:1px solid #00000026;box-shadow:0 4px 16px #00000038,0 1px 3px #0000001f}.kontur-tooltip.is-visible{opacity:1;transform:scale(1)}.kontur-tooltip-arrow{pointer-events:none;border-style:solid;width:0;height:0;position:absolute}.kontur-tooltip[data-placement=top] .kontur-tooltip-arrow{border-width:5px 5px 0;border-color:#222 #0000 #0000;margin-left:-5px;bottom:-5px;left:50%}[data-theme=light] .kontur-tooltip[data-placement=top] .kontur-tooltip-arrow{border-color:#25282d #0000 #0000}.kontur-tooltip[data-placement=bottom] .kontur-tooltip-arrow{border-width:0 5px 5px;border-color:#0000 #0000 #222;margin-left:-5px;top:-5px;left:50%}[data-theme=light] .kontur-tooltip[data-placement=bottom] .kontur-tooltip-arrow{border-color:#0000 #0000 #25282d}.kontur-tooltip[data-placement=left] .kontur-tooltip-arrow{border-width:5px 0 5px 5px;border-color:#0000 #0000 #0000 #222;margin-top:-5px;top:50%;right:-5px}[data-theme=light] .kontur-tooltip[data-placement=left] .kontur-tooltip-arrow{border-color:#0000 #0000 #0000 #25282d}.kontur-tooltip[data-placement=right] .kontur-tooltip-arrow{border-width:5px 5px 5px 0;border-color:#0000 #222 #0000 #0000;margin-top:-5px;top:50%;left:-5px}[data-theme=light] .kontur-tooltip[data-placement=right] .kontur-tooltip-arrow{border-color:#0000 #25282d #0000 #0000}.help-dot{border:1px solid var(--line-strong);width:16px;height:16px;color:var(--text-dim);cursor:help;-webkit-user-select:none;user-select:none;vertical-align:middle;margin-left:var(--s-1);transition:color var(--t-fast), border-color var(--t-fast), background var(--t-fast);background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:11px;font-weight:600;line-height:1;display:inline-flex}.help-dot:hover,.help-dot:focus-visible{color:var(--accent-text);border-color:var(--accent);background:var(--accent-soft);outline:none}.chart{height:340px;min-height:240px;position:relative}.chart svg{width:100%;height:100%;overflow:visible}.grid-line{stroke:var(--grid);stroke-width:1px}.axis-line{stroke:var(--axis);stroke-width:1px}.axis-label{fill:var(--text-dim);font-size:var(--fs-micro);font-family:var(--font)}.axis-title{fill:var(--text-faint);font-size:var(--fs-small);font-family:var(--font)}.axis-key{stroke:none}.series{fill:none;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.series-1{stroke:var(--series-1)}.series-2{stroke:var(--series-2)}.chart-marker{fill:var(--series-1);stroke:var(--bg-card);stroke-width:2px}.chart-histogram-bar{fill:var(--series-1);fill-opacity:.75;stroke:var(--series-1);stroke-width:1px}.chart-histogram-bar:focus-visible{fill-opacity:1;stroke:var(--text);stroke-width:2px;outline:none}@media (max-width:650px){.mode1-editor .chart:has(.chart-histogram-bar){height:280px}}.marker-2{fill:var(--series-2)}.chart-marker-critical{fill:var(--warn);stroke:var(--bg-card);stroke-width:2px}.chart-point-label{fill:var(--text-dim);font-size:var(--fs-micro);font-family:var(--font)}.chart-cursor{stroke:var(--accent-line);stroke-width:1px;stroke-dasharray:3 3}.boundary-line{stroke:var(--warn);stroke-width:1.5px;stroke-dasharray:6 3}.boundary-label{fill:var(--warn);font-size:var(--fs-micro);font-family:var(--font)}.residual-zero,.identity-line{stroke:var(--text-faint);stroke-width:1.25px;stroke-dasharray:5 4}.chart-hit{fill:#0000;cursor:crosshair;outline:none}.chart-hit-panning{cursor:grabbing}.chart-hit:focus-visible{stroke:var(--accent-line);stroke-width:2px;stroke-dasharray:4 3}.chart-readout{pointer-events:none;padding:var(--s-2) var(--s-3);background:var(--bg-card);border:1px solid var(--line-strong);border-radius:var(--r-sm);font-size:var(--fs-small);white-space:nowrap;gap:var(--s-1);z-index:3;line-height:1.35;display:grid;position:absolute;top:0;left:0;box-shadow:0 4px 16px #00000047}.chart-readout-pinned{border-color:var(--accent-line)}.chart-readout .r-hint{color:var(--text-faint);border-top:1px solid var(--line-soft);font-size:var(--fs-micro);margin-top:2px;padding-top:4px}.chart-readout .r-head{color:var(--text-dim);border-bottom:1px solid var(--line-soft);margin-bottom:2px;padding-bottom:3px}.chart-readout .r-row{align-items:center;gap:var(--s-3);display:flex}.chart-readout .r-value{font-variant-numeric:tabular-nums;margin-left:auto;font-weight:600}.chart-empty{height:100%;color:var(--text-faint);font-size:var(--fs-small);text-align:center;padding:var(--s-5);justify-content:center;align-items:center;display:flex}.legend{gap:var(--s-4);padding-top:var(--s-3);font-size:var(--fs-small);color:var(--text-dim);flex-wrap:wrap;display:flex}.legend-item{align-items:center;gap:var(--s-2);display:inline-flex}.swatch{border-radius:2px;flex:none;width:10px;height:10px;display:inline-block}.swatch-dashed{background-image:repeating-linear-gradient(45deg, var(--bg-card) 0 2px, transparent 2px 4px)}.chart-readout .swatch{margin-right:2px}.chart-tools{z-index:4;border:1px solid var(--line-soft);border-radius:var(--r-md);background:color-mix(in srgb, var(--bg-card) 92%, transparent);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:2px;max-width:calc(100% - 12px);padding:2px;display:flex;position:absolute;top:4px;right:6px}.chart-tool{min-height:24px;font-size:var(--fs-micro);padding:2px 7px}.chart-diagnostics{z-index:5;width:min(300px,100% - 12px);padding:var(--s-4);border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--bg-card);box-shadow:var(--shadow-pop);font-size:var(--fs-small);gap:5px;display:grid;position:absolute;top:38px;right:6px}.chart-diagnostics-row{justify-content:space-between;gap:var(--s-4);font-variant-numeric:tabular-nums;display:flex}.chart-diagnostics-note{color:var(--text-faint);border-top:1px solid var(--line-soft);font-size:var(--fs-micro);margin-top:2px;padding-top:6px}.matching-chart-grid{gap:var(--s-5);margin-top:var(--s-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));display:grid}.matching-chart-panel{min-width:0;padding:var(--s-4);border:1px solid var(--line-soft);border-radius:var(--r-md);background:var(--bg-inset)}.matching-chart-panel>h3{margin:0 0 var(--s-3);color:var(--text-dim);font-size:var(--fs-small);font-weight:600}.two-phase-region{fill:var(--series-1);fill-opacity:.12;stroke:none}.bubble-point-line{stroke:var(--series-2);stroke-width:2.2px;fill:none}.dew-point-line{stroke:var(--series-1);stroke-width:2.2px;fill:none}.chart-marker-criconden{fill:var(--series-3,#f59e0b);stroke:var(--bg-card);stroke-width:2px}.chart-marker-res{fill:var(--accent,#0284c7);stroke:#fff;stroke-width:2.5px}.depletion-line{stroke:var(--accent,#0284c7);stroke-width:1.8px;stroke-dasharray:5 4}.chart-region-label{fill:var(--text-faint);font-size:var(--fs-micro);font-family:var(--font);text-transform:uppercase;letter-spacing:.05em;pointer-events:none;font-weight:600}.tornado-bar-neg{fill:var(--warn,#ef4444);fill-opacity:.85}.tornado-bar-pos{fill:var(--series-1,#10b981);fill-opacity:.85}.tornado-baseline{stroke:var(--text-dim);stroke-width:1.5px;stroke-dasharray:4 2}.tornado-label{fill:var(--text);font-size:var(--fs-small);font-family:var(--font)}.tornado-value{fill:var(--text-dim);font-size:var(--fs-micro);font-family:var(--font);font-variant-numeric:tabular-nums}.pareto-line{stroke:var(--series-1);stroke-width:2px;stroke-dasharray:4 3;fill:none}.pareto-marker{fill:var(--series-1);stroke:var(--bg-card);stroke-width:2px;cursor:pointer;transition:transform .15s}.pareto-marker:hover{transform:scale(1.3)}.pareto-dominated{fill:var(--text-faint);opacity:.45;stroke:var(--bg-card);stroke-width:1.5px}.pareto-recommended{fill:var(--accent,#0284c7);stroke:#fff;stroke-width:2.5px}.ternary-border{stroke:var(--axis);stroke-width:1.5px;fill:none}.ternary-grid{stroke:var(--grid);stroke-width:.75px;stroke-dasharray:2 2}.ternary-vertex-label{fill:var(--text);font-size:var(--fs-small);font-weight:600;font-family:var(--font)}.ternary-axis-label{fill:var(--text-dim);font-size:var(--fs-micro);font-family:var(--font)}.ternary-point{stroke:var(--bg-card);stroke-width:1.5px;cursor:pointer}.cashflow-bar-capex{fill:var(--warn,#ef4444);fill-opacity:.8}.cashflow-bar-opex{fill:var(--series-3,#f59e0b);fill-opacity:.8}.cashflow-bar-revenue{fill:var(--series-1,#10b981);fill-opacity:.8}.cashflow-bar-ncf{fill:var(--series-2,#3b82f6);fill-opacity:.85}.cashflow-line-npv{stroke:var(--accent,#6366f1);stroke-width:2.5px;fill:none}.app:has(>.recovery-notice){grid-template-rows:var(--titlebar-h) auto minmax(0,1fr) var(--statusbar-h)}.app[data-bottom-open]:has(>.recovery-notice){grid-template-rows:var(--titlebar-h) auto minmax(0,1fr) var(--bottom-panel-h,200px) var(--statusbar-h)}.recovery-notice{background:var(--warn-soft);border-bottom:1px solid var(--warn-line);flex-wrap:wrap;align-items:center;gap:12px;padding:12px 20px;display:flex}.recovery-notice p{font-size:var(--fs-small);flex:320px;margin:0}.banner p{margin:4px 0 0}#status{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.status-right{flex-shrink:0}.app-body[data-inspector=on]{grid-template-columns:var(--sidebar-w) minmax(0,1fr);position:relative}.app-body[data-inspector=on]>.inspector{z-index:40;width:min(380px,100vw - 32px);display:flex;position:absolute;top:0;bottom:0;right:0;box-shadow:-8px 0 24px #0002}@media (max-width:900px){.app-body[data-inspector=on]{grid-template-columns:64px minmax(0,1fr)}}.sidebar-modes{border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg-inset);grid-template-columns:1fr 1fr;gap:2px;padding:2px;display:grid}.sidebar-mode{border-radius:var(--r-sm);min-width:0;color:var(--text-faint);font:inherit;font-size:var(--fs-small);cursor:pointer;background:0 0;border:0;padding:6px 8px}.sidebar-mode[aria-selected=true]{background:var(--bg-card);color:var(--text);box-shadow:0 1px 4px #0000002e}.project-explorer{min-height:0;margin-inline:calc(var(--s-2) * -1);padding-inline:var(--s-2);flex-direction:column;flex:1;display:flex;overflow-y:auto}.project-group{margin-top:var(--s-2);flex-direction:column;gap:1px;display:flex}.project-group-head{align-items:center;gap:var(--s-2);min-height:28px;padding:4px var(--s-2);color:var(--text-faint);font:inherit;font-size:var(--fs-micro);letter-spacing:.055em;text-align:left;text-transform:uppercase;cursor:pointer;background:0 0;border:0;font-weight:600;display:flex}.project-group-head .icon{transition:transform var(--t-fast)}.project-group-head[aria-expanded=false] .icon{transform:rotate(-90deg)}.project-group-body{flex-direction:column;gap:1px;display:flex}.project-leaf{align-items:center;gap:var(--s-2);width:100%;min-height:38px;padding:5px var(--s-2) 5px var(--s-3);border-radius:var(--r-sm);color:var(--text-dim);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.project-leaf:hover{background:var(--bg-hover);color:var(--text)}.project-leaf[aria-selected=true]{background:var(--accent-soft-strong);color:var(--text)}.project-leaf[aria-selected=true]>.icon{color:var(--accent-text)}.project-leaf-copy{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.project-leaf-label,.project-leaf-meta{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-leaf-label{color:inherit;font-size:var(--fs-small)}.project-leaf-meta{color:var(--text-faint);font-size:var(--fs-micro)}.project-status{border:1px solid var(--line);border-radius:var(--r-pill);max-width:62px;color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;flex:none;padding:1px 5px;font-size:9px;overflow:hidden}.project-status.status-ready{border-color:color-mix(in srgb, var(--ok) 35%, transparent);background:var(--ok-soft);color:var(--ok)}.project-status.status-active,.project-status.status-local{border-color:color-mix(in srgb, var(--accent) 35%, transparent);background:var(--accent-soft);color:var(--accent-text)}.project-status.status-stale,.project-status.status-review{border-color:color-mix(in srgb, var(--warn) 35%, transparent);background:var(--warn-soft);color:var(--warn)}.project-status.status-running{border-color:color-mix(in srgb, var(--accent) 35%, transparent);background:var(--accent-soft);color:var(--accent-text)}.project-readiness{gap:var(--s-3);padding:var(--s-4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg-inset);display:grid}.project-readiness-head{justify-content:space-between;align-items:center;gap:var(--s-3);color:var(--text);font-size:var(--fs-small);font-weight:600;display:flex}.project-readiness-copy{color:var(--text-dim);font-size:var(--fs-micro)}.checkpoint-modal{z-index:1100;padding:var(--s-6);place-items:center;display:grid;position:fixed;inset:0}.checkpoint-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#03040ac7;position:absolute;inset:0}.checkpoint-dialog{border:1px solid var(--line-strong);border-radius:var(--r-lg);background:var(--bg-card);flex-direction:column;width:min(760px,100vw - 32px);max-height:min(760px,100vh - 32px);display:flex;position:relative;overflow:hidden;box-shadow:0 24px 90px #0000008f}.checkpoint-dialog-head,.checkpoint-dialog-actions{align-items:center;gap:var(--s-4);padding:var(--s-5);border-color:var(--line);display:flex}.checkpoint-dialog-head{border-bottom:1px solid var(--line);justify-content:space-between}.checkpoint-dialog-head h2,.checkpoint-dialog-head p{margin:0}.checkpoint-dialog-head h2{color:var(--text);font-size:var(--fs-title)}.checkpoint-dialog-head p{margin-top:var(--s-2);color:var(--text-dim);font-size:var(--fs-small)}.checkpoint-dialog-body{gap:var(--s-5);padding:var(--s-5);display:grid;overflow-y:auto}.checkpoint-dialog-actions{border-top:1px solid var(--line);background:var(--bg-inset);justify-content:flex-end}.checkpoint-summary{gap:var(--s-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.checkpoint-metric{justify-content:space-between;align-items:center;gap:var(--s-3);min-width:0;padding:var(--s-3) var(--s-4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg-inset);color:var(--text-dim);font-size:var(--fs-small);display:flex}.checkpoint-form{gap:var(--s-4);grid-template-columns:1fr 1fr;display:grid}.checkpoint-form .field:last-child{grid-column:1/-1}.checkpoint-reason{resize:vertical;min-height:82px}.checkpoint-section-title,.checkpoint-blockers-title{color:var(--text);font-size:var(--fs-small);font-weight:600}.checkpoint-models,.checkpoint-blockers ul{gap:var(--s-2);margin:0;padding:0;list-style:none;display:grid}.checkpoint-models li,.checkpoint-blockers li{justify-content:space-between;gap:var(--s-4);padding:var(--s-3) var(--s-4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg-inset);font-size:var(--fs-small);display:flex}.checkpoint-models li span,.checkpoint-blockers li span,.checkpoint-empty{color:var(--text-dim)}.checkpoint-blockers{gap:var(--s-3);padding:var(--s-4);border:1px solid color-mix(in srgb, var(--danger) 38%, var(--line));border-radius:var(--r-md);background:color-mix(in srgb, var(--danger) 8%, var(--bg-card));display:grid}.checkpoint-blockers-title{align-items:center;gap:var(--s-3);display:flex}.checkpoint-blockers li{flex-direction:column;align-items:flex-start}.checkpoint-error{min-height:18px;color:var(--danger);font-size:var(--fs-small)}.workspace-tabs{background:var(--bg-chrome);border-bottom:1px solid var(--line);scrollbar-width:thin;min-height:34px;display:flex;overflow-x:auto}.workspace-tab{border-right:1px solid var(--line);min-width:132px;max-width:240px;color:var(--text-dim);background:0 0;align-items:stretch;display:inline-flex}.workspace-tab[aria-current=page]{background:var(--bg-canvas);color:var(--text);box-shadow:inset 0 2px 0 var(--accent)}.workspace-tab-open,.workspace-tab-close{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0}.workspace-tab-open{text-overflow:ellipsis;text-align:left;white-space:nowrap;flex:1;min-width:0;padding:8px 6px 7px 12px;overflow:hidden}.workspace-tab-close{width:30px;color:var(--text-faint);font-size:16px}.workspace-tab-close:hover{color:var(--text);background:var(--bg-hover)}.workspace-tab-open:focus-visible,.workspace-tab-close:focus-visible,.command-row:focus-visible,.bottom-tab:focus-visible,.bottom-entry-action:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.command-palette[hidden]{display:none}.command-palette{z-index:1000;place-items:start center;padding-top:min(14vh,120px);display:grid;position:fixed;inset:0}.command-palette-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#03040ab3;position:absolute;inset:0}.command-palette-dialog{border:1px solid var(--line-strong);border-radius:var(--r-lg);background:var(--bg-card);flex-direction:column;width:min(680px,100vw - 32px);max-height:min(620px,100vh - 80px);display:flex;position:relative;overflow:hidden;box-shadow:0 24px 80px #0000007a}.command-palette-search{align-items:center;gap:var(--s-3);padding:var(--s-4);border-bottom:1px solid var(--line);display:flex}.command-palette-search .icon{color:var(--text-faint)}.command-palette-search input{min-width:0;color:var(--text);font:inherit;font-size:var(--fs-strong);background:0 0;border:0;outline:0;flex:1}.command-palette-results{min-height:120px;padding:var(--s-2);overflow-y:auto}.command-section{padding:var(--s-3) var(--s-3) var(--s-2);color:var(--text-faint);font-size:var(--fs-micro);letter-spacing:.06em;text-transform:uppercase;font-weight:600}.command-row{align-items:center;gap:var(--s-4);width:100%;padding:var(--s-3);border-radius:var(--r-md);color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.command-row.selected:not(:disabled){background:var(--accent-soft)}.command-row:disabled{color:var(--text-faint);cursor:not-allowed}.command-copy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.command-label,.command-detail{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.command-detail{color:var(--text-faint);font-size:var(--fs-small)}kbd{border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--bg-inset);min-width:28px;color:var(--text-dim);font-family:var(--font-mono);font-size:var(--fs-micro);text-align:center;padding:2px 6px}.app[data-bottom-open]{grid-template-rows:var(--titlebar-h) minmax(0, 1fr) var(--bottom-panel-h,minmax(150px, 30vh)) var(--statusbar-h)}.bottom-panel[hidden]{display:none}.bottom-panel{border-top:1px solid var(--line-strong);background:var(--bg-chrome);flex-direction:column;min-height:0;display:flex}.bottom-panel-resizer{cursor:ns-resize;touch-action:none;height:5px;margin-top:-3px}.bottom-panel-resizer:before{content:"";background:var(--line-strong);height:1px;margin-top:2px;display:block}.bottom-panel-resizer:hover:before,.bottom-panel-resizer:focus-visible:before{background:var(--accent);height:2px}.bottom-panel-head{border-bottom:1px solid var(--line);align-items:center;min-height:34px;display:flex}.bottom-tabs{align-self:stretch;display:flex}.bottom-tab,.bottom-panel-close,.statusbar-workspace{color:var(--text-dim);font:inherit;cursor:pointer;background:0 0;border:0}.bottom-tab{padding:0 var(--s-4);font-size:var(--fs-small);border-bottom:2px solid #0000}.bottom-tab[aria-selected=true]{color:var(--text);border-bottom-color:var(--accent)}.bottom-panel-title{color:var(--text-faint);font-size:var(--fs-small);margin-left:auto}.bottom-panel-close{width:36px;height:32px;margin-left:var(--s-2);font-size:18px}.bottom-panel-close:hover,.statusbar-workspace:hover{color:var(--text);background:var(--bg-hover)}.bottom-panel-content{min-height:0;padding:var(--s-2) var(--s-4);flex:1;overflow:auto}.bottom-entry{align-items:center;gap:var(--s-3);min-height:36px;padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--line-soft);font-size:var(--fs-small);display:flex}.bottom-entry-copy{gap:var(--s-4);flex:1;grid-template-columns:minmax(160px,auto) minmax(0,1fr);min-width:0;display:grid}.bottom-entry-copy strong,.bottom-entry-copy span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bottom-entry-copy span,.bottom-entry-meta{color:var(--text-faint)}.bottom-marker{border-radius:50%;place-items:center;width:18px;height:18px;font-weight:700;display:grid}.problem-error .bottom-marker{background:var(--danger-soft);color:var(--danger)}.problem-warning .bottom-marker{background:var(--warn-soft);color:var(--warn)}.problem-info .bottom-marker{background:var(--accent-soft);color:var(--accent-text)}.task-running .task-marker{background:var(--accent-soft);color:var(--accent-text);animation:1.1s linear infinite workspace-task-spin}.task-succeeded .task-marker,.output-success .output-marker{background:var(--ok-soft);color:var(--ok)}.task-failed .task-marker,.output-error .output-marker{background:var(--danger-soft);color:var(--danger)}.task-cancelled .task-marker,.output-info .output-marker{background:var(--bg-inset);color:var(--text-faint)}.task-copy{grid-template-columns:minmax(160px,auto) minmax(0,1fr) minmax(80px,18%);align-items:center}.task-progress{border-radius:var(--r-pill);background:var(--bg-inset);height:4px;display:block;position:relative;overflow:hidden}.task-progress>span{border-radius:inherit;background:var(--accent);height:100%;transition:width var(--t-fast);display:block}.task-meta{text-align:right;min-width:116px}@keyframes workspace-task-spin{to{transform:rotate(360deg)}}.bottom-entry-action{color:var(--accent-text);font:inherit;cursor:pointer;background:0 0;border:0}.workspace-empty{gap:var(--s-2);min-height:96px;color:var(--text-faint);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.workspace-empty strong{color:var(--text-dim)}.statusbar-workspace{align-items:center;gap:var(--s-2);padding:0 var(--s-3);margin-left:calc(var(--s-3) * -1);font-size:var(--fs-small);align-self:stretch;display:inline-flex}.status-count{border-radius:var(--r-pill);background:var(--danger-soft);min-width:18px;color:var(--danger);font-variant-numeric:tabular-nums;padding:1px 5px}:root[data-density=comfortable] .table th,:root[data-density=comfortable] .table td{padding-top:10px;padding-bottom:10px}:root[data-density=dense] .table th,:root[data-density=dense] .table td{padding-top:4px;padding-bottom:4px}:root[data-density=dense] .nav-item{padding-top:6px;padding-bottom:6px}:root[data-density=dense] .card-body{padding-top:var(--s-3);padding-bottom:var(--s-3)}@media (max-width:900px){.app-body:has(.project-explorer:not([hidden])){grid-template-columns:190px minmax(0,1fr)}.app-body[data-inspector=on]:has(.project-explorer:not([hidden])){grid-template-columns:190px minmax(0,1fr)}.sidebar:has(.project-explorer:not([hidden])){padding:var(--s-3)}.sidebar:has(.project-explorer:not([hidden])) .sidebar-foot .nav-item span{display:inline}.sidebar:has(.project-explorer:not([hidden])) .sidebar-foot .nav-item{justify-content:flex-start}.workspace-tab{min-width:112px;max-width:180px}.workspace-tab-open{padding-inline:10px 4px}.bottom-tab{padding-inline:var(--s-2);font-size:var(--fs-micro)}.bottom-entry-copy{grid-template-columns:1fr;gap:2px}.checkpoint-modal{padding:var(--s-3)}.checkpoint-dialog{width:calc(100vw - 16px);max-height:calc(100vh - 16px)}.checkpoint-summary,.checkpoint-form{grid-template-columns:1fr}.checkpoint-form .field:last-child{grid-column:auto}.checkpoint-models li{align-items:flex-start;gap:var(--s-1);flex-direction:column}}@media (prefers-reduced-motion:reduce){.command-palette-backdrop,.checkpoint-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none}.task-running .task-marker{animation:none}}.fluid-context{border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg-card)}.fluid-context>summary{cursor:pointer;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:12px 16px;list-style:none;display:flex}.fluid-context>summary::-webkit-details-marker{display:none}.fluid-context>summary:before{content:"›";font-size:20px;line-height:1}.fluid-context[open]>summary:before{transform:rotate(90deg)}.fluid-context>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.fluid-context-hint{color:var(--accent);font-size:var(--fs-small);margin-left:auto}.fluid-context-body{padding:0 16px 16px}.fluid-context-components{grid-template-columns:minmax(100px,1fr) auto minmax(100px,1fr) auto;gap:8px 20px;max-width:760px;margin:16px 0;display:grid}.fluid-context-components dt{overflow-wrap:anywhere}.fluid-context-components dd{font-variant-numeric:tabular-nums;text-align:right;margin:0}.eos-workspace{gap:16px;width:100%;max-width:1400px}.eos-workspace .page-lead,.eos-status p{margin:0}.eos-definition{grid-template-columns:minmax(240px,1fr) minmax(0,1fr);align-items:center;gap:24px;display:grid}.eos-definition p{margin:0}.eos-tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:4px;padding-bottom:8px;display:flex}.eos-tabs [aria-selected=true]{background:var(--accent-soft);color:var(--accent);box-shadow:inset 0 -2px var(--accent)}.eos-panel[hidden]{display:none}.eos-panel>.card{min-width:0}.eos-workspace .kij-table th{white-space:normal;min-width:100px;max-width:160px}.eos-workspace .kij-table th:first-child,.eos-workspace .kij-table .kij-head{z-index:1;background:var(--bg-card);position:sticky;left:0}.eos-workspace .kij-table .kij-head{overflow-wrap:anywhere;max-width:180px}.eos-workspace .kij-table .input{min-width:78px}.eos-workspace .card-actions{flex-wrap:wrap}@media (max-width:650px){.eos-definition{grid-template-columns:minmax(0,1fr);gap:12px}.fluid-context-components{grid-template-columns:minmax(0,1fr) auto}.fluid-context-hint{margin-left:0}.eos-tabs .btn{flex:40%}.eos-workspace .card-head{flex-direction:column;align-items:flex-start}.eos-workspace .card-actions{margin-left:0}.statusbar{gap:8px;min-width:0;padding-inline:12px}.statusbar .status-right{flex-wrap:wrap;flex-shrink:1;justify-content:flex-end;gap:4px 8px;min-width:0}.statusbar>span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.statusbar .status-units{display:none}.statusbar .status-right{font-size:10px}.app:not([data-bottom-open]):not(:has(>.recovery-notice)){grid-template-rows:var(--titlebar-h) minmax(0, 1fr) auto}.statusbar{min-height:var(--statusbar-h);padding-block:4px}}.mode1-workspace{gap:var(--s-3);flex-direction:column;width:100%;min-width:0;max-width:1480px;margin-inline:auto;display:flex}.mode1-header,.mode1-stage-head{justify-content:space-between;align-items:center;gap:var(--s-4);flex-wrap:wrap;display:flex}.mode1-header h1{font-size:var(--fs-page);line-height:1.25}.mode1-eyebrow{color:var(--text-dim);font-size:var(--fs-small);margin-bottom:var(--s-1);display:block}.mode1-header-actions,.mode1-stage-actions,.common-basis-actions{align-items:center;gap:var(--s-3);flex-wrap:wrap;display:flex}.mode1-controls{gap:var(--s-4);flex-direction:column;min-width:0;display:flex}.mode1-author-status,.mode1-guide{font-size:var(--fs-small);color:var(--text-dim)}.mode1-author-status summary,.mode1-guide summary{align-items:center;gap:var(--s-3);cursor:pointer;width:-moz-fit-content;width:fit-content;padding-block:var(--s-1);display:flex}.mode1-author-status summary:after,.mode1-guide summary:after{content:"+";color:var(--text-faint)}.mode1-author-status[open] summary:after,.mode1-guide[open] summary:after{content:"−"}.mode1-author-status p,.mode1-guide p{max-width:90ch;padding:var(--s-3) 0;line-height:1.6}.mode1-author-status{padding-bottom:var(--s-3);border-bottom:1px solid var(--line)}.mode1-steps{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg-card);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.mode1-step{align-items:center;gap:var(--s-3);min-width:0;padding:var(--s-3) var(--s-4);color:var(--text-dim);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.mode1-step:hover{background:var(--bg-hover);color:var(--text)}.mode1-step[aria-current=step]{color:var(--text);background:var(--accent-soft);box-shadow:inset 3px 0 var(--accent)}.mode1-step-number{border:1px solid var(--line-strong);border-radius:var(--r-sm);width:28px;height:28px;color:var(--text-dim);font-size:var(--fs-small);flex:none;place-items:center;display:grid}.mode1-step[aria-current=step] .mode1-step-number{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent)}.mode1-step-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.mode1-step-title{font-size:var(--fs-small);font-weight:600}.mode1-step-meta{font-size:var(--fs-micro);color:var(--text-dim)}.mode1-stage-head{padding-top:var(--s-3)}.mode1-stage-name{align-items:center;gap:var(--s-4);display:flex}.mode1-stage-name .mode1-eyebrow{margin:0}.mode1-stage-title{font-size:var(--fs-title)}.mode1-form-tabs{gap:var(--s-1);border-bottom:1px solid var(--line);display:flex;overflow-x:auto}.mode1-form-tab{padding:10px var(--s-5);color:var(--text-dim);font:inherit;font-size:var(--fs-body);cursor:pointer;transition:color var(--t-fast), border-color var(--t-fast);background:0 0;border:0;border-bottom:2px solid #0000;flex:none}.mode1-form-tab:hover{color:var(--text)}.mode1-form-tab[aria-current=page]{color:var(--accent-text);border-bottom-color:var(--accent);font-weight:600}.mode1-editor{gap:var(--s-6)}.mode1-editor>.page-head h1{font-size:var(--fs-title)}.mode1-editor>.page-head:not(:has(.btn)){display:none}.mode1-editor .card-body:not(.flush),.common-basis-editor .card-body{gap:var(--s-5);flex-direction:column;display:flex}.mode1-editor .card-body>p{max-width:100ch;line-height:1.6}.common-basis-regions,.common-basis-pair{gap:var(--s-5);grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;display:grid}.common-basis-regions{align-items:start}.common-basis-editor textarea.mono{font-family:var(--font-mono);tab-size:4;white-space:pre;overflow-x:auto}.common-basis-actions{padding-top:var(--s-3);border-top:1px solid var(--line-soft)}.common-basis-editor [role=status]{gap:var(--s-4);flex-direction:column;display:flex}.reservoir-disclosure{border-top:1px solid var(--line);padding-top:var(--s-4)}.reservoir-disclosure>summary{cursor:pointer;color:var(--accent-text);padding:var(--s-3) 0;font-weight:500}.reservoir-disclosure>.card{margin-top:var(--s-4)}.grid-fields,.form-grid{gap:var(--s-5);grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));display:grid}.row{align-items:center;gap:var(--s-3);flex-wrap:wrap;display:flex}.gap-2{gap:var(--s-3)}.report-download{align-items:end;gap:var(--s-4);flex-wrap:wrap;display:flex}.report-download>.field{flex:260px;min-width:0}.report-download>.btn{min-height:36px}.report-download~[role=status] .mono{white-space:normal;overflow-wrap:anywhere}.statusbar #status{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.grid-fields>.col{gap:var(--s-1)}.grid-fields .with-unit{min-width:0}.mode1-workspace .input[aria-invalid=true]{border-color:var(--danger);box-shadow:0 0 0 2px var(--danger-soft)}.sidebar-toggle,.sidebar-backdrop{display:none}@media (min-width:1700px){.mode1-steps{grid-template-columns:repeat(8,minmax(0,1fr))}}@media (max-width:1050px){.common-basis-regions{grid-template-columns:minmax(0,1fr)}.mode1-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:650px){.titlebar{padding-inline:var(--s-2);gap:var(--s-2);min-width:0}.titlebar .brand{gap:var(--s-2);flex:none}.titlebar .brand-name{font-size:var(--fs-small)}.titlebar-actions{gap:0;padding:0}.titlebar-actions .btn-icon{width:28px;height:32px}.sidebar-toggle{flex:none;display:inline-flex}.app-body,.app-body[data-inspector=on]{grid-template-columns:minmax(0,1fr);position:relative}.app-body:has(.project-explorer:not([hidden])){grid-template-columns:minmax(0,1fr);position:relative}.app-body[data-inspector=on]:has(.project-explorer:not([hidden])){grid-template-columns:minmax(0,1fr);position:relative}.content{min-width:0}.app-body>.sidebar{display:none}.app-body[data-sidebar-open]>.sidebar{z-index:31;width:min(280px,100vw - 48px);box-shadow:var(--shadow-pop);display:flex;position:absolute;inset:0 auto 0 0}.app-body[data-sidebar-open]>.sidebar-backdrop{z-index:30;cursor:pointer;background:#0008;border:0;display:block;position:absolute;inset:0}.app-body[data-sidebar-open] .nav-item span,.app-body[data-sidebar-open] .sidebar-label,.app-body[data-sidebar-open] .sidebar-note,.app-body[data-sidebar-open] .nav-group-head{display:flex}.app-body[data-sidebar-open] .nav-item{justify-content:flex-start}.app-body[data-sidebar-open] .nav-group-items[hidden]{display:none}.statusbar{gap:var(--s-2);padding-inline:var(--s-3);min-width:0}.statusbar #core-state{white-space:nowrap;min-width:0;overflow-x:auto}.statusbar #status:not(:empty){flex:1 1 0}.statusbar #status:not(:empty)+#core-state{max-width:38%}.statusbar .statusbar-workspace{flex:none}.statusbar>.status-units{display:none}.content-head{flex-wrap:wrap}.mode1-workspace .kv{overflow-wrap:anywhere}.common-basis-pair{grid-template-columns:minmax(0,1fr)}.mode1-header-actions{width:100%}.mode1-header-actions .btn{flex:auto}.mode1-step{padding:var(--s-3)}.mode1-step-number{width:24px;height:24px}.mode1-step-meta{display:none}}.program-context{gap:var(--s-2);padding:var(--s-3);border-bottom:1px solid var(--line);flex-direction:column;display:flex}.program-context strong,.program-context button{white-space:normal;overflow-wrap:anywhere;text-align:left}.stepper-scroll{padding-bottom:var(--s-2);overflow-x:auto}.stepper-scroll .stepper{gap:var(--s-3);flex-wrap:nowrap;min-width:max-content}.stepper-scroll .step-link{max-width:40px}.spec-list{gap:var(--s-3);color:var(--text-dim);flex-direction:column;line-height:1.5;list-style:none;display:flex}.spec-list li{padding-left:var(--s-5);position:relative}.spec-list li:before{content:"";background:var(--accent-line);border-radius:50%;width:5px;height:5px;position:absolute;top:8px;left:0}.spec-list.mono li{font-family:var(--font-mono);font-size:var(--fs-small);color:var(--text-faint)}.comp-add{gap:var(--s-3);grid-template-columns:minmax(0,1fr) auto;display:grid}.comp-table td:first-child{white-space:nowrap}.comp-table .cid{min-width:46px;font-weight:600;display:inline-block}.comp-table .cname{color:var(--text-dim);font-size:var(--fs-small)}.comp-table .share{color:var(--text-dim)}.comp-table td.value{width:150px}.comp-table td.value .input{max-width:120px;margin-left:auto}.comp-table td.act{text-align:right;width:36px}.sum-off{color:var(--warn)}.pick-table tbody tr{cursor:pointer}.pick-table tbody tr.picked td{background:var(--accent-soft)}.pick-table tbody tr.picked td:first-child{box-shadow:inset 2px 0 0 var(--accent)}.conditions{gap:var(--s-5);grid-template-columns:repeat(auto-fit,minmax(190px,1fr));display:grid}.conditions .wide{grid-column:1/-1}.kij-table th{position:sticky;top:0}.kij-table td.kij-head{z-index:1;background:var(--bg-inset);white-space:nowrap;font-weight:600;position:sticky;left:0}.kij-table td.diagonal{color:var(--text-faint);text-align:center}.kij-table td.value{width:110px}.kij-table .input{max-width:92px;margin-left:auto}.kij-table .input.overridden{border-color:var(--accent);background:var(--accent-soft)}.kij-table .input.draft{border-style:dashed;border-color:var(--warn-line,var(--warn))}.kij-table--draft-only .kij-table .input:not(.draft):not(.missing){opacity:.35}.kij-table td.value.overridden{color:var(--accent);font-weight:600}.comp-table tr.changed td{background:var(--accent-soft)}.keyword-preview{padding:var(--s-4);background:var(--bg-inset);border-radius:var(--r-md);font-family:var(--font-mono);font-size:var(--fs-small);white-space:pre;margin:0;line-height:1.6;overflow-x:auto}.qc-row{padding:var(--s-4) 0;border-bottom:1px solid var(--line-soft)}.qc-row:last-child{border-bottom:none}.qc-row-head{align-items:center;gap:var(--s-3);display:flex}.qc-row-title{font-weight:500}.search{flex:1;min-width:220px;max-width:340px;position:relative}.search .icon{color:var(--text-faint);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.search .input{padding-left:34px}.library-table td.id{white-space:nowrap;font-weight:600}.library-table td.name{color:var(--text-dim)}.library-scroll{min-height:240px;max-height:calc(100vh - 330px)}.results-scroll{max-height:420px}.about-cols{gap:var(--s-5);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start;display:grid}.about-text{color:var(--text-dim);line-height:1.6}.about-text p+p{margin-top:var(--s-4)}.calculation-toolbar{padding:var(--s-2) var(--s-4);border-bottom:1px solid var(--border);flex-wrap:wrap}[data-calculation-queue]>div{padding-block:var(--s-2);border-top:1px solid var(--border)}
