:root{--bg: #0a0e13;--surface: #0e141b;--surface-2: #131b24;--surface-3: #1a232e;--border: #202b37;--border-2: #2b3947;--text: #e7eef4;--text-2: #92a1b0;--text-muted: #5c6b79;--accent: #2ee6cf;--accent-ink: #04201c;--accent-2: #7c83ff;--ok: #56d6a0;--warn: #f4c36b;--error: #ff7a7a;--error-bg: #2a1416;--error-border: #5a2a2e;--grid: #121b25;--shadow: 0 12px 34px rgba(0, 0, 0, .5);--line: #2b3947;--line-soft: #202b37;--line-strong: #3a4a5a;--panel: #1a232e;--sunk: #0a0e13;--accent-hi: #46f0da;--accent-lo: #1fb8a6;--sel: color-mix(in srgb, var(--accent) 16%, transparent);--sel-line: var(--accent);--btn-hi: #18222c;--btn-lo: #0f1720;--btn-inset: rgba(255,255,255,.05);--radius-sm: 3px;--radius-md: 4px;--radius-lg: 4px;--radius: var(--radius-sm);--fs-xs: 10.5px;--fs-sm: 11.5px;--fs: 12.5px;--fs-md: 13.5px;--fs-lg: 15px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--surface-1: var(--surface-2);--text-dim: var(--text-muted);--fg: var(--text);--fg-2: var(--text-2);--accent-dim: color-mix(in srgb, var(--accent) 25%, transparent);--accent-dim-soft: color-mix(in srgb, var(--accent) 12%, transparent);--mono: "IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace;--sans: "IBM Plex Sans", system-ui, sans-serif;--ui-font-size: 13.5px;--editor-font-size: 12.5px;--cm-bg: #0e141b;--cm-gutter: #0a0e13;--cm-active: rgba(120, 160, 210, .09);--cm-gutter-active: #1a232e;--cm-readonly-bg: #1a232e;--cm-select: #1d3b44;--cm-caret: #2ee6cf;--syn-keyword: #62d6ff;--syn-string: #8ad7a0;--syn-number: #f4c36b;--syn-comment: #5c6b79;--syn-type: #9a9bff;--syn-doc: #c9a96e;--trace-1: #2ee6cf;--trace-2: #7c83ff;--trace-3: #f4c36b;--trace-4: #ff7a7a;--trace-5: #62d6ff;--trace-6: #8ad7a0;--trace-7: #e08adf;--trace-8: #9ad15a;--plot-tick: #92a1b0}:root,html[data-theme=light],html[data-theme=dark]{--bg: #e8eaed;--surface: #f4f6f7;--surface-2: #fbfcfd;--surface-3: #ffffff;--border: #dde1e5;--border-2: #a9afb6;--line: #c3c8ce;--line-soft: #dde1e5;--line-strong: #a9afb6;--panel: #ffffff;--sunk: #fbfcfd;--text: #191c20;--text-2: #5c636c;--text-muted: #949aa2;--accent: #0c8f7e;--accent-ink: #ffffff;--accent-2: #5a61e6;--accent-hi: #12a08d;--accent-lo: #0a7d6e;--sel: #e0efec;--sel-line: #7cc6bb;--ok: #0a7a52;--warn: #8a5a00;--error: #c02824;--error-bg: #f7eded;--error-border: #cf9a99;--grid: #dfe3e8;--shadow: 0 3px 10px rgba(20, 28, 38, .18);--btn-hi: #fbfcfd;--btn-lo: #eceef1;--btn-inset: #ffffff;--cm-bg: #ffffff;--cm-gutter: #f5f7f9;--cm-active: rgba(10, 90, 110, .06);--cm-gutter-active: #eaeef2;--cm-readonly-bg: #e3e6ea;--cm-select: #bfe8e2;--cm-caret: #0c8f7e;--syn-keyword: #0b6fb8;--syn-string: #2e8b57;--syn-number: #b7791f;--syn-comment: #8794a0;--syn-type: #5a61e6;--syn-doc: #8b6914;--trace-1: #0a7a6c;--trace-2: #4a50cc;--trace-3: #a06010;--trace-4: #c03030;--trace-5: #1468b0;--trace-6: #267840;--trace-7: #872090;--trace-8: #507015;--plot-tick: #5c636c}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--sans);background:var(--bg);color:var(--text);display:flex;flex-direction:column;overflow:hidden;font-size:var(--ui-font-size);-webkit-font-smoothing:antialiased;zoom:var(--ui-zoom, 1);height:calc(100vh / var(--ui-zoom, 1))}button{font-family:inherit;cursor:pointer;color:inherit}.ico{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}::selection{background:color-mix(in srgb,var(--accent) 35%,transparent)}[hidden]{display:none!important}#topbar{display:flex;align-items:center;gap:14px;height:44px;padding:0 var(--space-2);background:var(--surface);border-bottom:1px solid var(--line);flex-shrink:0;box-shadow:inset 0 1px 0 var(--btn-inset);position:relative}.brand{display:flex;align-items:baseline;gap:8px;padding-right:var(--space-1)}.brand-mark{color:var(--accent);flex-shrink:0;align-self:center}.wordmark{font-family:var(--sans);font-weight:600;letter-spacing:.2px;font-size:var(--fs-md)}.wordmark-sub{font-family:var(--sans);color:var(--text-muted);font-size:var(--fs-sm);font-weight:400;margin-left:4px}.topbar-actions{display:flex;gap:8px}.topbar-right{margin-left:auto;display:flex;gap:var(--space-3);align-items:center}.topbar-group{display:flex;align-items:center;gap:var(--space-2)}.topbar-sep{width:1px;align-self:center;height:22px;margin:0 2px;background:var(--line-soft)}.topbar-search{display:inline-flex;align-items:center;gap:var(--space-2);white-space:nowrap;padding:5px 6px 5px 10px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--sunk);color:var(--text);font-size:12px;transition:border-color .14s ease;box-shadow:inset 0 1px 2px #0000000f}.topbar-search:hover{border-color:var(--accent)}.topbar-search .ts-ico{font-size:13px;color:var(--text-2)}.topbar-search .ts-label{color:var(--text-muted)}.topbar-search .ts-kbd{font-family:var(--mono);font-size:9.5px;color:var(--text-muted);border:1px solid var(--border);border-radius:4px;padding:1px 5px;margin-left:var(--space-2);background:var(--surface)}.topbar-search:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.status{font-family:var(--sans);font-size:var(--fs-sm);color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:42vw;padding-left:14px;border-left:1px solid var(--line-soft)}.status.error{color:var(--error)}.status.ok{color:var(--accent)}.status.busy:before{content:"";display:inline-block;width:9px;height:9px;margin-right:7px;vertical-align:-1px;border:1.5px solid var(--text-muted);border-top-color:var(--accent);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.btn{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--sans);font-size:var(--fs);font-weight:500;line-height:1.4;padding:5px 12px;color:var(--text);cursor:pointer;border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:linear-gradient(var(--btn-hi),var(--btn-lo));box-shadow:inset 0 1px 0 var(--btn-inset);transition:background .12s ease,border-color .12s ease}.btn:hover{border-color:color-mix(in srgb,var(--line-strong) 70%,var(--text));filter:brightness(1.02)}.btn:active,.btn.is-active{background:var(--surface-2);box-shadow:inset 0 1px 2px #00000024}.btn:disabled,.icon-btn:disabled{opacity:.45;pointer-events:none;box-shadow:none}.btn .gly{font-size:10px;opacity:.9}.btn-primary{color:var(--accent-ink);border-color:var(--accent-lo);font-weight:600;background:linear-gradient(var(--accent-hi),var(--accent));box-shadow:inset 0 1px #ffffff47}.btn-primary:hover{filter:brightness(1.06);border-color:var(--accent-lo)}.btn-primary:active{background:var(--accent-lo);box-shadow:inset 0 1px 3px #00000038}.icon-btn{background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);padding:6px 10px;font-size:var(--fs);color:var(--text-2);transition:background .12s ease,color .12s ease}.icon-btn:hover{color:var(--text);background:var(--bg);border-color:var(--line-soft)}.icon-btn.ghost{padding:2px 7px}.mini{background:transparent;border:none;color:var(--text-2);font-size:13px;padding:2px 6px;border-radius:var(--radius-sm)}.mini:hover{color:var(--accent);background:var(--surface-2)}.input{font-family:var(--mono);font-size:var(--fs);padding:5px 8px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--panel);color:var(--text);box-shadow:inset 0 1px 2px #0000000f}.input:focus{outline:none;border-color:var(--accent);box-shadow:inset 0 1px 2px #0000000f,0 0 0 3px var(--accent-dim)}.popover{background:var(--surface);border:1px solid var(--border-2);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.btn:focus-visible,.icon-btn:focus-visible,.mini:focus-visible,.doc-back:focus-visible,.doc-close:focus-visible,.doc-open:focus-visible,.type-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.docpanel:focus{outline:none}#workbench{flex:1;display:flex;min-height:0}#sidebar{width:240px;flex-shrink:0;display:flex;flex-direction:column;background:var(--surface);border-right:1px solid var(--border);transition:width .16s ease}#sidebar.collapsed{width:0!important;overflow:hidden;border-right:none}#sidebar.collapsed+#split-sidebar{display:none}.side-head{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:6px 8px 4px}.seg-toggle{display:flex;border:1px solid var(--border-2);border-radius:6px;overflow:hidden}.seg{background:var(--surface-2);border:none;color:var(--text-2);font-size:13px;line-height:1;padding:4px 9px;cursor:pointer}.seg+.seg{border-left:1px solid var(--border-2)}.seg:hover{color:var(--text)}.seg.active{background:var(--accent);color:var(--accent-ink)}.side-collapse{font-size:15px}.side-view-toggle{flex:1 1 auto}.side-view-toggle .seg{flex:1 1 0;text-align:center}#seg-libview{margin:4px 0 6px;width:max-content}#lib-rail{display:none}#sidebar.collapsed~#lib-rail{display:flex;flex-direction:column;align-items:center;gap:8px;flex-shrink:0;width:26px;padding-top:8px;background:var(--surface);border-right:1px solid var(--border);cursor:pointer}#lib-rail .rail-label{writing-mode:vertical-rl;font-family:var(--mono);font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--text-muted)}.file-list{list-style:none;overflow:auto;flex:1;padding:6px 0}.file-list li{font-family:var(--mono);font-size:12px;padding:6px 12px;color:var(--text-2);cursor:pointer;border-left:2px solid transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-list li:hover{background:var(--sel);color:var(--text)}.file-list li.active{color:var(--text);background:var(--surface-2);border-left-color:var(--accent)}#lib-tree li.tree-leaf.lib-open-current{background:color-mix(in srgb,var(--accent) 12%,transparent)}#lib-tree li.tree-leaf.lib-open-current>.leaf-text .lib-name{color:var(--accent);font-weight:600}.file-list li .dot{color:var(--accent);margin-left:4px}.lib-search{margin:10px 10px 6px;font-family:var(--mono);font-size:12px;padding:6px 9px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--panel);color:var(--text);box-shadow:inset 0 1px 2px #0000000f}.lib-search:focus{outline:none;border-color:var(--accent);box-shadow:inset 0 1px 2px #0000000f,0 0 0 3px var(--accent-dim)}.tree-leaf{display:flex;align-items:flex-start;gap:7px;white-space:normal}.leaf-text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.lib-name{font-family:var(--mono);color:var(--text)}.lib-comment{font-family:var(--sans);font-size:11px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.tree-leaf:hover .lib-name{color:var(--accent)}.leaf-icon{flex-shrink:0;margin-top:3px;width:9px;height:9px;box-sizing:border-box}.tree-leaf.component .leaf-icon{border:1.5px solid var(--accent);border-radius:2px;background:color-mix(in srgb,var(--accent) 20%,transparent)}.tree-leaf.example .leaf-icon{width:0;height:0;margin-top:2px;margin-left:1px;border-radius:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:8px solid var(--text-2)}.tree-leaf.package .leaf-icon{border:1.5px solid var(--text-muted);border-radius:2px;background:transparent}.tree-leaf.other .leaf-icon{width:4px;height:4px;margin:5px 0 0 2px;border-radius:50%;background:var(--text-muted);opacity:.55}.leaf-icon.has-icon{width:34px;height:34px;margin-top:0;border:1px solid var(--border-2);border-radius:3px;background:#fff;padding:2px;box-sizing:border-box}.leaf-icon-svg{display:block;width:100%;height:100%}.lib-group{font-family:var(--mono);font-size:9.5px;letter-spacing:1px;text-transform:uppercase;color:var(--text-muted);padding:6px 12px 2px}.file-list.grid{display:flex;flex-wrap:wrap;gap:6px;padding:6px 10px}.file-list.grid .tree-leaf{flex-direction:column;align-items:center;width:64px;gap:4px;padding:6px 2px;border-radius:6px;text-align:center}.file-list.grid .tree-leaf .leaf-text{align-items:center}.file-list.grid .lib-name{font-size:10px;max-width:60px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-list.grid .lib-comment{display:none}.file-list.grid .leaf-icon.has-icon{width:46px;height:46px}.file-list.grid .leaf-icon{margin-top:0}.file-list.grid .tree-leaf.example{width:116px}.file-list.grid .tree-leaf.example .lib-name{max-width:112px}.file-list.grid .tree-leaf.example .leaf-icon.has-thumb{width:104px;height:76px;border:1px solid var(--border-2);border-radius:4px;background:#fff}.side-scroll{flex:1;overflow:auto;min-height:0}.side-scroll .file-list{flex:none;overflow:visible}.lib-section{font-family:var(--mono);font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--text-muted);padding:10px 12px 2px}.file-list.tree{padding:0}.tree .tree{padding-left:10px}.tree-folder{padding:0!important;border-left:none!important;cursor:default}.tree-folder:hover{background:transparent}.tree-row{display:flex;align-items:center;gap:5px;padding:5px 12px;cursor:pointer;font-family:var(--mono);font-size:12px;color:var(--text-2)}.tree-row:hover{background:var(--sel);color:var(--text)}.tree-caret{width:9px;flex-shrink:0;font-size:9px;color:var(--text-muted)}.tree-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-leaf.draggable{cursor:grab}.tree-leaf.draggable:active{cursor:grabbing}.tree-loading{padding:5px 12px 5px 22px;font-family:var(--mono);font-size:11px;color:var(--text-muted);cursor:default}.tree-loading:hover{background:transparent}.tree-loading.err{color:var(--error)}.wa-rename-msg{display:inline-block;margin-top:4px}.wa-rename-msg.err{color:var(--error)}#editor-region{flex:0 1 46%;min-width:240px;display:flex;flex-direction:column;background:var(--cm-bg)}#editor{flex:1;min-height:0;overflow:hidden}#editor-header{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0;height:34px;padding:0 var(--space-3);background:var(--surface);border-bottom:1px solid var(--line)}#editor-header .current-model{max-width:none;min-width:3ch;flex:0 1 auto}.eh-spacer{flex:1 1 auto}.eh-actions{display:flex;align-items:center;gap:var(--space-1);flex:none}.eh-actions .btn-lbl{display:none}.cm-editor{height:100%;font-size:var(--editor-font-size);font-family:var(--mono)}[data-line-numbers=off] .cm-gutters{display:none}.cm-editor.cm-focused{outline:none}.editor-readonly .cm-editor,.editor-readonly .cm-gutters{background:var(--cm-readonly-bg)}.editor-readonly .cm-activeLine,.editor-readonly .cm-activeLineGutter{background:transparent}.vsplit{width:5px;flex-shrink:0;cursor:col-resize;background:var(--border);transition:background .12s}.vsplit:hover,.vsplit.dragging{background:var(--accent)}.hsplit{height:5px;flex-shrink:0;cursor:row-resize;background:var(--border);transition:background .12s}.hsplit:hover,.hsplit.dragging{background:var(--accent)}body:has(#log-drawer.collapsed) #split-log{display:none}#center{flex:1 1 0;min-width:240px;display:flex;flex-direction:column;background:var(--surface)}#center-tabs{display:flex;align-items:center;gap:2px;padding:var(--space-1) var(--space-2) 0;background:var(--surface);border-bottom:1px solid var(--line)}.center-tab{background:linear-gradient(var(--btn-hi),var(--btn-lo));border:1px solid var(--line);border-bottom:0;color:var(--text-2);padding:6px 15px;font-size:var(--fs);font-weight:500;border-radius:var(--radius-md) var(--radius-md) 0 0;position:relative;top:1px;transition:color .12s}.center-tab:hover{color:var(--text)}.center-tab.active{background:var(--surface-3);color:var(--text);font-weight:600;border-bottom:1px solid var(--surface-3)}.center-tab.has-unseen:after{content:"";display:inline-block;width:6px;height:6px;margin-left:7px;border-radius:50%;background:var(--accent);vertical-align:middle}@media (prefers-reduced-motion: no-preference){.center-tab.has-unseen:after{animation:tab-unseen-in .18s ease-out}}@keyframes tab-unseen-in{0%{transform:scale(0)}to{transform:scale(1)}}.center-tab.stale:after{content:"•";margin-left:5px;color:var(--warn)}.icon-btn.ghost{margin-left:auto}#results-view,#runs-view,#diagram-view,#docs-view,#runs-view #runs-mount{flex:1;min-height:0;display:flex;flex-direction:column}#runs-view .runs-panel{flex:1;min-height:0}#runs-view .runs-table-wrap{max-height:none}.view-tools{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);padding:var(--space-2)}.view-tools .icon-btn.ghost{margin-left:0}.results-section{display:flex;flex-direction:column}.results-section.grow{flex:1;min-height:220px}.results-section-head{font-family:var(--sans);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted);padding:var(--space-2) var(--space-3) var(--space-1);background:var(--surface);border-bottom:1px solid var(--line-soft)}.runs-empty{color:var(--text-muted);font-size:12px;padding:var(--space-2);list-style:none}.docs-body{flex:1;min-height:0;overflow:auto;padding:18px 24px;max-width:760px;line-height:1.6;font-size:14px;color:var(--text)}.docs-body h1,.docs-body h2,.docs-body h3,.docs-body h4{color:var(--text);margin:14px 0 6px}.docs-body p{margin:8px 0}.docs-body ul,.docs-body ol{margin:8px 0 8px 22px}.docs-body a{color:var(--accent-2)}.doc-img{max-width:100%;height:auto;display:block;margin:10px 0;border:1px solid var(--border);border-radius:6px;background:#fff}.doc-revisions{margin:10px 0}.doc-revisions>summary{cursor:pointer;color:var(--text-2);font-family:var(--mono);font-size:11.5px;letter-spacing:.3px}.doc-revisions[open]>summary{margin-bottom:6px}.docs-body code{font-family:var(--mono);background:var(--surface-2);padding:1px 5px;border-radius:4px;font-size:12.5px}.docs-body pre{background:var(--cm-bg);border:1px solid var(--border);border-radius:7px;padding:10px;overflow:auto}.docs-body table{border-collapse:collapse;margin:10px 0}.docs-body td,.docs-body th{border:1px solid var(--border);padding:4px 9px}.docs-empty{color:var(--text-muted);font-family:var(--mono);font-size:12.5px}.docs-empty code{color:var(--text-2)}#plot,#diagram{background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:22px 22px}#plot{display:flex;flex-direction:column;flex:1;min-height:0;padding:10px 12px 0}.plot-charts{flex:1 1 0;min-height:0;display:flex;flex-direction:column;overflow-y:auto}.plot-sub{flex:1 1 0;min-height:0}.plot-readout{flex:none;display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 16px;padding:7px 2px 8px;margin-top:4px;border-top:1px solid var(--border);font-family:var(--mono);font-size:11px;line-height:1.5}.ro-time{color:var(--text-muted);min-width:92px;flex-basis:100%}.ro-item{display:inline-flex;align-items:baseline;gap:6px}.ro-sw{width:9px;height:9px;border-radius:2px;flex:none;align-self:center}.ro-sw-dashed{width:16px;height:0;border-top:2px dashed;border-radius:0;background:none}.ro-name{color:var(--text-2)}.ro-val{color:var(--text);min-width:56px;font-variant-numeric:tabular-nums}#diagram{flex:1;min-height:0;width:100%;cursor:grab;background-color:var(--panel);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px)}#diagram:active{cursor:grabbing}#diagram:focus,#diagram:focus-visible{outline:none}#diagram.mode-add,#diagram.mode-add:active{cursor:copy}#diagram.mode-remove,#diagram.mode-remove:active{cursor:no-drop}#diagram .sel-conn{stroke:var(--accent);stroke-width:2.6;stroke-dasharray:none;opacity:1}#diagram .conn-hit.wire-hover{stroke:var(--text-muted);stroke-opacity:.35}#diagram .marquee{fill:var(--accent);fill-opacity:.08;stroke:var(--accent);stroke-width:1;vector-effect:non-scaling-stroke;stroke-dasharray:4 3;pointer-events:none}.plot-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-family:var(--mono);font-size:13px}.param-panel{border-bottom:1px solid var(--border)}.param-panel>summary{font-family:var(--mono);font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--text-muted);padding:9px 12px;cursor:pointer;user-select:none}.param-count{color:var(--text-2)}.param-list{display:grid;grid-template-columns:max-content 1fr;gap:5px 10px;align-items:center;padding:4px 12px 12px;max-height:200px;overflow:auto}.param-row{display:contents}.param-name{font-family:var(--mono);font-size:12px;color:var(--text-2);white-space:nowrap}.param-unit{font-family:var(--mono);font-size:10.5px;color:var(--text-muted);white-space:nowrap}.param-desc{grid-column:1 / -1;font-size:11px;line-height:1.35;color:var(--text-muted);margin:-2px 0 1px}.sim-settings{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7px 10px;padding:4px 12px 12px}.sim-settings label{min-width:0}.sim-settings input,.sim-settings select{width:100%}.sim-hint{grid-column:1 / -1;margin:0 0 4px;font-size:11px;line-height:1.45;color:var(--text-muted)}.sim-hint code{font-family:var(--mono);font-size:10.5px}.sim-settings label{cursor:help}.sim-settings label{display:flex;flex-direction:column;gap:3px;font-family:var(--mono);font-size:10.5px;color:var(--text-2)}.sim-settings input,.sim-settings select{font-family:var(--mono);font-size:12px;padding:4px 7px;border:1px solid var(--border-2);border-radius:5px;background:var(--surface-2);color:var(--text);min-width:0}.sim-settings input:focus,.sim-settings select:focus{outline:none;border-color:var(--accent)}.param-input{font-family:var(--mono);font-size:12px;padding:4px 7px;border:1px solid var(--border-2);border-radius:5px;background:var(--surface-2);color:var(--text);min-width:0}.param-input:focus{outline:none;border-color:var(--accent)}.param-input.overridden{border-color:var(--warn);color:var(--warn)}.param-empty{grid-column:1 / -1;color:var(--text-muted);font-family:var(--mono);font-size:12px}.param-reset{grid-column:1 / -1;justify-self:start;border:1px solid var(--border-2);border-radius:6px;padding:3px 9px;font-size:11px;margin-top:4px}.plot-toolbar{display:flex;flex-direction:column;gap:7px;padding:9px 12px;border-bottom:1px solid var(--border)}.plot-toolbar-row{display:flex;gap:8px;align-items:center}.plot-toolbar-row .var-search{flex:1;min-width:0}.plot-actions{display:flex;gap:4px;flex-shrink:0}.plot-actions .mini{border:1px solid var(--border-2);border-radius:6px;padding:4px 8px;font-size:11px}.plot-actions .mini[disabled]{opacity:.4;cursor:default}.plot-actions .mini:not([disabled]):hover{border-color:var(--accent);color:var(--accent)}.var-search{font-family:var(--mono);font-size:12px;padding:6px 9px;border:1px solid var(--border-2);border-radius:6px;background:var(--surface-2);color:var(--text)}.var-search:focus{outline:none;border-color:var(--accent)}.chips{display:flex;flex-wrap:wrap;gap:5px}.chip{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:11px;padding:2px 6px 2px 8px;border-radius:20px;background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 40%,transparent)}.chip b{width:8px;height:8px;border-radius:2px}.chip button{background:none;border:none;color:inherit;font-size:13px;line-height:1;padding:0;opacity:.7}.chip button:hover{opacity:1}.var-list{height:160px;min-height:60px;overflow:auto;padding:4px 8px 8px;border-bottom:1px solid var(--border)}.vt-row{display:flex;align-items:center;gap:7px;font-family:var(--mono);font-size:12px;padding:3px 4px;border-radius:5px}.vt-leaf{color:var(--text-2);cursor:pointer}.vt-leaf:hover{background:var(--surface-2);color:var(--text)}.vt-leaf.on{color:var(--text)}.vt-leaf input{accent-color:var(--accent);flex-shrink:0}.vt-leaf .kind-badge{flex-shrink:0}.vt-name{white-space:nowrap;flex-shrink:0}.vt-unit{white-space:nowrap;flex-shrink:0;color:var(--text-muted);font-size:10.5px}.vt-desc{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-size:11px}.vt-value{white-space:nowrap;flex-shrink:0;min-width:46px;text-align:right;color:var(--text-2);font-size:11px}.vt-group-head{color:var(--text-2);cursor:pointer;font-weight:600}.vt-group-head:hover{background:var(--surface-2);color:var(--text)}.vt-caret{flex-shrink:0;width:10px;text-align:center;color:var(--text-muted);font-size:10px}.vt-group-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vt-params-head{font-weight:400;font-style:italic;color:var(--text-muted)}.vt-more{color:var(--text-muted);font-size:11px;font-style:italic;padding:4px 6px}#error-banner{display:flex;align-items:flex-start;gap:8px;padding:8px 12px;background:var(--error-bg);border-bottom:1px solid var(--error-border);color:var(--error);font-family:var(--mono);font-size:11.5px;white-space:pre-wrap;max-height:120px;overflow:auto}#error-text{flex:1}#error-explain{flex-shrink:0;font-family:var(--sans);border:1px solid var(--accent);color:var(--accent)}#error-explain:hover{background:var(--accent);color:var(--accent-ink)}#error-dismiss{background:none;border:none;color:var(--error);font-size:15px;line-height:1;padding:0 2px;cursor:pointer}.diagram-hint{flex:none;padding:6px 12px;color:var(--text-muted);font-family:var(--mono);font-size:11px;border-top:1px solid var(--border)}.diagram-msg{display:none;padding:16px;color:var(--text-muted);font-family:var(--mono);font-size:12.5px}.diagram-hit{fill:transparent}#diagram g[data-name]:hover .diagram-hit{fill:var(--text-muted);fill-opacity:.09;rx:2}#diagram g[data-name].selected .diagram-hit{fill:none;stroke:var(--accent);stroke-width:1.4;vector-effect:non-scaling-stroke;rx:2}#diagram g[data-name]:hover text,#diagram g[data-name].selected text{paint-order:stroke;stroke:var(--panel);stroke-width:3px;stroke-linejoin:round;vector-effect:non-scaling-stroke}.dg-proposed,.dg-proposed *:not(.diagram-hit):not(.port-target):not(text){stroke:var(--ok)!important}.dg-proposed[data-name]{opacity:.95}.u-axis{color:var(--text-2)}#diff-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 12px;background:color-mix(in srgb,var(--accent) 12%,var(--surface));border-bottom:1px solid var(--border);font-family:var(--mono);font-size:11.5px}.diff-label{color:var(--text-2)}.diff-add{color:var(--ok)}.diff-del{color:var(--error)}.diff-note{color:var(--text-2);font-style:italic;min-width:0;flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.diff-actions{display:flex;gap:6px;align-items:center}.mini-btn{padding:4px 10px;font-size:11.5px}.cm-diff-add{background:color-mix(in srgb,var(--ok) 16%,transparent)}.verify-chip{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11px;padding:2px 8px;border-radius:20px;background:var(--surface-3);color:var(--text-muted);border:1px solid var(--border-2);white-space:nowrap}.verify-chip.verify-pending{color:var(--text-2)}.verify-chip.verify-ok{background:color-mix(in srgb,var(--ok) 14%,transparent);color:var(--ok);border-color:color-mix(in srgb,var(--ok) 40%,transparent)}.verify-chip.verify-warn{background:color-mix(in srgb,var(--warn) 16%,transparent);color:var(--warn);border-color:color-mix(in srgb,var(--warn) 45%,transparent)}.verify-chip.verify-fail{background:color-mix(in srgb,var(--error) 16%,transparent);color:var(--error);border-color:color-mix(in srgb,var(--error) 45%,transparent)}.verify-chip.verify-skipped{color:var(--text-muted)}.verify-explain{font-family:var(--sans);font-size:10.5px;font-weight:600;padding:1px 7px;border-radius:12px;border:1px solid currentColor;background:none;color:inherit;cursor:pointer}.verify-explain:hover{background:currentColor;color:var(--surface)}#ai-drawer{width:340px;flex-shrink:0;display:flex;flex-direction:column;background:var(--surface);border-left:1px solid var(--border);transition:width .16s ease}#ai-drawer.collapsed{width:0!important;overflow:hidden;border-left:none}#workbench:has(#ai-drawer.collapsed) #split-ai{display:none}.drawer-head{display:flex;align-items:center;gap:8px;padding:9px 12px;font-family:var(--mono);font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border)}.drawer-head>span:first-child{flex:1}#ai-panel{flex:1;min-height:0;display:flex;flex-direction:column;position:relative}.ai-config{padding:8px 10px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px}.ai-status-dot{width:8px;height:8px;border-radius:50%;background:var(--text-muted)}.ai-status-dot.saved{background:var(--accent);box-shadow:0 0 8px var(--accent)}.ai-config-fields{display:flex;gap:6px;flex:1;min-width:0;flex-wrap:wrap}.ai-config-fields.hidden{display:none}.ai-provider,.ai-model,.ai-key-input{font-family:var(--mono);font-size:12px;padding:5px 7px;border:1px solid var(--border-2);border-radius:6px;background:var(--surface-2);color:var(--text)}.ai-model{max-width:130px}.ai-key-input{flex:1;min-width:160px}.ai-key-note{flex:1;min-width:160px;align-self:center;font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-header{display:flex;align-items:center;gap:6px;padding:6px 10px;border-bottom:1px solid var(--border)}.ai-scope-label{flex:1;min-width:0;font-size:12px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-newchat,.ai-threads-btn{font-size:14px;line-height:1;padding:5px 9px;border:1px solid var(--border-2);border-radius:6px;background:var(--surface-2);color:var(--text);cursor:pointer}.ai-newchat:hover,.ai-threads-btn:hover{background:var(--surface-3, var(--surface-2));border-color:var(--accent)}.ai-thread-panel{max-height:40%;overflow:auto;border-bottom:1px solid var(--border);background:var(--surface-1, var(--surface-2))}.ai-thread-panel.hidden{display:none}.ai-thread-empty{padding:10px 12px;font-size:12px;color:var(--text-muted)}.ai-thread-row{display:flex;align-items:center;gap:4px;padding:4px 8px;border-bottom:1px solid var(--border)}.ai-thread-row.active{background:color-mix(in srgb,var(--accent) 12%,transparent)}.ai-thread-title{flex:1;min-width:0;text-align:left;background:none;border:0;color:var(--text);font-size:12.5px;padding:4px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-thread-title:hover{color:var(--accent)}.ai-thread-act{background:none;border:0;color:var(--text-muted);cursor:pointer;padding:2px 4px;font-size:12px}.ai-thread-act:hover{color:var(--text)}.ai-messages{flex:1;min-height:0;overflow:auto;padding:8px;display:flex;flex-direction:column;gap:6px}.ai-welcome{margin:auto 0;padding:14px 12px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}.ai-welcome-title{font-size:14px;font-weight:600;color:var(--text)}.ai-welcome-sub{font-size:12.5px;line-height:1.45;color:var(--text-2)}.ai-welcome-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.ai-welcome-chip{font-size:12px;padding:5px 10px;border-radius:2px;cursor:pointer;border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);background:color-mix(in srgb,var(--accent) 8%,var(--surface-2));color:var(--text)}.ai-welcome-chip:hover{background:color-mix(in srgb,var(--accent) 16%,var(--surface-2));border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.ai-bubble{padding:8px 10px;border-radius:2px;font-size:12.5px;line-height:1.45;overflow-wrap:anywhere;flex-shrink:0}.ai-bubble.user{background:color-mix(in srgb,var(--accent) 14%,var(--surface-2));align-self:flex-end;max-width:82%;border:1px solid color-mix(in srgb,var(--accent) 25%,transparent)}.ai-bubble.assistant{background:var(--panel);border:1px solid var(--border)}.ai-bubble.assistant:empty:not(.thinking){display:none}.ai-bubble>*+*,.ai-bubble li>p+p{margin-top:7px}.ai-bubble h1,.ai-bubble h2,.ai-bubble h3,.ai-bubble h4{line-height:1.28;font-weight:600}.ai-bubble h1,.ai-bubble h2{font-size:1.12em}.ai-bubble h3{font-size:1em}.ai-bubble h4{font-size:1em;color:var(--text-2)}.ai-bubble>h1+*,.ai-bubble>h2+*,.ai-bubble>h3+*,.ai-bubble>h4+*{margin-top:3px}.ai-bubble ul,.ai-bubble ol{padding-left:1.15em}.ai-bubble li+li{margin-top:3px}.ai-bubble table{border-collapse:collapse;font-size:.88em;width:100%;display:block;overflow-x:auto}.ai-bubble th,.ai-bubble td{border:1px solid var(--line-soft);padding:3px 6px;text-align:left;white-space:nowrap}.ai-bubble th{background:var(--surface-2);font-weight:600}.ai-bubble blockquote{border-left:2px solid var(--line);padding-left:9px;color:var(--text-2)}.ai-bubble hr{border:0;border-top:1px solid var(--line-soft)}.ai-bubble a{color:var(--accent-lo)}.ai-bubble>:first-child{margin-top:0}.ai-bubble>:last-child{margin-bottom:0}.ai-bubble.assistant.thinking{min-height:1em}.ai-bubble.assistant.thinking:after{content:"Working…"}.ai-bubble.assistant.thinking:after,.ai-thinking.active .ai-thinking-label{background:linear-gradient(90deg,var(--text-muted) 42%,var(--text) 50%,var(--text-muted) 58%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:aiShimmer 1.5s linear infinite}@keyframes aiShimmer{0%{background-position:100% 0}to{background-position:0 0}}@keyframes aiThinking{0%,to{opacity:.3}50%{opacity:.85}}@keyframes aiEnter{0%{opacity:0;transform:translateY(3px)}}.ai-bubble,.ai-tool-group,.ai-thinking,.ai-choice{animation:aiEnter .16s ease-out}.ai-bubble.assistant.streaming>p:last-child:after{content:"";display:inline-block;width:7px;height:1em;margin-left:3px;background:var(--accent);vertical-align:text-bottom;animation:aiCaret 1s steps(2,start) infinite}@keyframes aiCaret{to{visibility:hidden}}@media (prefers-reduced-motion: reduce){.ai-bubble.assistant.thinking:after,.ai-thinking.active .ai-thinking-label{animation:none;background:none;color:var(--text-muted)}.ai-tool-dot{animation:none!important}.ai-bubble,.ai-tool-group,.ai-thinking,.ai-choice{animation:none}.ai-bubble.assistant.streaming>p:last-child:after{animation:none;opacity:.5}.ai-tool-gsummary:after{animation:none!important}}.ai-bubble.error{background:var(--error-bg);border:1px solid var(--error-border);color:var(--error)}.ai-bubble.note{background:var(--surface-2);border:1px dashed var(--border-2);color:var(--text-dim);font-size:12px;align-self:center}.ai-note-actions{display:flex;gap:6px;margin-top:8px}.ai-note-actions .btn{font-size:12px;padding:3px 10px}.ai-bubble pre{background:var(--cm-bg);padding:8px;border-radius:2px;overflow:auto;font-family:var(--mono);font-size:11.5px;border:1px solid var(--border)}.ai-bubble :not(pre)>code{background:var(--surface-2);border:1px solid var(--border);border-radius:2px;padding:0 3px;font-size:.9em}.ai-bubble code{font-family:var(--mono)}.hl-key,.hl-kw{color:var(--syn-keyword)}.hl-str{color:var(--syn-string)}.hl-num{color:var(--syn-number)}.hl-lit,.hl-type{color:var(--syn-type)}.hl-com{color:var(--syn-comment);font-style:italic}.ai-tool-group{align-self:stretch;flex-shrink:0;background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius-md);overflow:hidden}.ai-tool-gsummary,.ai-tool-call>summary{display:flex;align-items:center;flex-wrap:wrap;gap:7px;cursor:pointer;list-style:none;font-family:var(--mono);font-size:11px;color:var(--text-2);overflow-wrap:anywhere}.ai-tool-gsummary::-webkit-details-marker,.ai-tool-call>summary::-webkit-details-marker{display:none}.ai-tool-gsummary:before,.ai-tool-call>summary:before{content:"";flex-shrink:0;width:0;height:0;border-left:4px solid var(--text-muted);border-top:3.5px solid transparent;border-bottom:3.5px solid transparent;transition:transform .12s ease}details[open]>.ai-tool-gsummary:before,.ai-tool-call[open]>summary:before{transform:rotate(90deg)}.ai-tool-gsummary{padding:6px 9px}.ai-tool-gsummary:hover{color:var(--text);background:var(--surface-2)}.ai-tool-group:has(.ai-tool-call.working)>.ai-tool-gsummary:after,.ai-tool-group:has(.ai-tool-call.running)>.ai-tool-gsummary:after{content:"";flex-shrink:0;width:6px;height:6px;border-radius:50%;margin-left:auto;background:var(--accent);animation:aiThinking 1.2s ease-in-out infinite}.ai-tool-list{display:flex;flex-direction:column;gap:2px;padding:2px 8px 6px 20px}.ai-tool-call>summary{padding:2px 4px;border-radius:var(--radius-sm)}.ai-tool-call>summary:hover{color:var(--text);background:var(--surface-2)}.ai-tool-dot{flex-shrink:0;width:6px;height:6px;border-radius:50%;background:var(--text-muted)}.ai-tool-call.working>summary .ai-tool-dot,.ai-tool-call.running>summary .ai-tool-dot{background:var(--accent);animation:aiThinking 1.2s ease-in-out infinite}.ai-tool-call.done>summary .ai-tool-dot{background:var(--ok)}.ai-tool-call.failed>summary .ai-tool-dot{background:var(--error)}.ai-tool-label{min-width:0;overflow-wrap:anywhere}.ai-tool-out{margin:3px 0 4px 17px;padding:6px 8px;background:var(--cm-bg);border:1px solid var(--border);border-radius:var(--radius-md);font-family:var(--mono);font-size:11px;color:var(--text-2);white-space:pre-wrap;overflow-wrap:anywhere;max-height:240px;overflow:auto}.ai-tool-status{padding:2px 4px;font-family:var(--mono);font-size:11px;font-style:italic;color:var(--text-2);opacity:.8}.ai-tool-elapsed{margin-left:auto;font-family:var(--mono);font-size:10.5px;color:var(--text-2);opacity:.7;white-space:nowrap}.ai-thinking{align-self:stretch;flex-shrink:0;display:flex;align-items:center;gap:7px;padding:6px 9px;background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius-md);font-family:var(--mono);font-size:11px;color:var(--text-2)}.ai-thinking-meta{margin-left:auto;font-size:10.5px;opacity:.7;white-space:nowrap}.ai-thinking.done{color:var(--text-muted)}.ai-verify{display:inline-block;margin-top:8px;font-family:var(--mono);font-size:11px;padding:1px 8px;border-radius:20px;background:var(--surface-2);border:1px solid var(--border-2);color:var(--text-2)}.ai-verify.ok{background:color-mix(in srgb,var(--ok) 12%,transparent);border-color:color-mix(in srgb,var(--ok) 40%,transparent);color:var(--ok)}.ai-verify.warn{background:color-mix(in srgb,var(--warn) 14%,transparent);border-color:color-mix(in srgb,var(--warn) 45%,transparent);color:var(--warn)}.ai-verify.err{background:color-mix(in srgb,var(--error) 12%,transparent);border-color:color-mix(in srgb,var(--error) 45%,transparent);color:var(--error)}.ai-choice{align-self:stretch;padding:9px 12px;border-radius:var(--radius-md);background:var(--surface-2);border:1px solid var(--border);font-size:13px}.ai-choice:not(.resolved){border-color:color-mix(in srgb,var(--accent) 45%,var(--border));box-shadow:0 0 0 3px var(--accent-dim-soft)}.ai-choice-question{margin-bottom:8px;color:var(--text);line-height:1.4}.ai-choice-buttons{display:flex;flex-wrap:wrap;gap:6px}.ai-choice-btn{background:var(--surface-3, var(--surface-2));color:var(--text);border:1px solid var(--border-2);border-radius:var(--radius-sm);padding:5px 12px;font-size:12.5px;font-weight:600;cursor:pointer}.ai-choice-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.ai-choice-btn:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.ai-choice-btn:disabled{cursor:default;opacity:.55}.ai-choice-btn.picked{background:linear-gradient(var(--accent-hi),var(--accent));color:var(--accent-ink);border-color:var(--accent-lo);opacity:1}.ai-choice.resolved{background:var(--surface)}.ai-choice.resolved .ai-choice-question{color:var(--text-2)}.ai-choice-btn:disabled:not(.picked){opacity:.38}.ai-choice-btn.picked:before{content:"✓ "}.ai-choice-annotation{margin-top:6px;font-family:var(--mono);font-size:11px;color:var(--text-2)}.ai-apply-row{margin-top:8px}.ai-apply-btn{background:linear-gradient(var(--accent-hi),var(--accent));color:var(--accent-ink);border:1px solid var(--accent-lo);font-weight:600;padding:5px 12px;border-radius:var(--radius-sm);font-size:12px;box-shadow:inset 0 1px #ffffff47}.ai-apply-btn:hover{filter:brightness(1.06)}.ai-apply-btn:active{background:var(--accent-lo);box-shadow:inset 0 1px 3px #00000038}.ai-queue-chip{display:flex;align-items:center;gap:8px;margin:6px 10px 0;padding:6px 10px;background:var(--sel);border:1px solid var(--border-2);border-radius:var(--radius-sm);font-size:12px;cursor:pointer}.ai-queue-chip.hidden{display:none}.ai-queue-chip:hover{border-color:var(--accent)}.ai-queue-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-family:var(--mono);font-size:11.5px}.ai-queue-label{flex-shrink:0;color:var(--text-muted);font-size:10.5px}.ai-queue-cancel{flex-shrink:0;background:transparent;border:1px solid var(--border-2);border-radius:5px;padding:1px 6px;font-size:11px;line-height:1.5;color:var(--text-2);cursor:pointer}.ai-queue-cancel:hover{border-color:var(--error-border);color:var(--error)}.ai-attach-row{display:flex;flex-wrap:wrap;gap:6px;margin:6px 10px 0}.ai-attach-row.hidden{display:none}.ai-attach-chip{display:flex;flex-wrap:wrap;align-items:center;gap:6px;max-width:260px;padding:4px 6px;background:var(--surface-2);border:1px solid var(--border-2);border-radius:var(--radius-sm);font-size:11.5px}.ai-attach-chip.unsupported{opacity:.55}.ai-attach-chip.not-sent{border-style:dashed;border-color:var(--warn);opacity:.75}.ai-attach-thumb{width:28px;height:28px;object-fit:cover;border-radius:4px;flex-shrink:0}.ai-attach-icon{font-size:16px;flex-shrink:0}.ai-attach-meta{display:flex;flex-direction:column;min-width:0;flex:1}.ai-attach-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.ai-attach-size{color:var(--text-muted);font-size:10px}.ai-attach-consent{display:flex;align-items:flex-start;gap:4px;flex-basis:100%;color:var(--warn);font-size:10.5px;line-height:1.3;cursor:pointer}.ai-attach-notsent{flex-shrink:0;color:var(--text-muted);font-size:10px;font-style:italic}.ai-attach-remove{flex-shrink:0;background:transparent;border:1px solid var(--border-2);border-radius:5px;padding:0 5px;font-size:10.5px;color:var(--text-2);cursor:pointer}.ai-attach-remove:hover{border-color:var(--error-border);color:var(--error)}.ai-attach-btn{flex-shrink:0;align-self:stretch;background:transparent;border:1px solid var(--border-2);border-radius:var(--radius-sm);padding:0 10px;font-size:16px;line-height:1;color:var(--text-2);cursor:pointer}.ai-attach-btn:hover{border-color:var(--accent);color:var(--accent)}.ai-attach-input{display:none}.ai-drop-hint{position:absolute;inset:0;display:none;align-items:center;justify-content:center;text-align:center;padding:20px;font-size:13px;color:var(--text);background:color-mix(in srgb,var(--accent) 10%,transparent);border:2px dashed var(--accent);border-radius:var(--radius-md);z-index:25;pointer-events:none}#ai-panel.ai-dropping .ai-drop-hint{display:flex}.ai-input-row{position:relative;display:flex;gap:6px;padding:10px;border-top:1px solid var(--border);flex-shrink:0}.ai-mention-pop{position:absolute;left:10px;right:10px;bottom:calc(100% - 4px);max-height:220px;overflow:auto;background:var(--surface-1, var(--surface-2));border:1px solid var(--border-2);border-radius:8px;box-shadow:0 6px 20px #00000059;z-index:30}.ai-mention-pop.hidden{display:none}.ai-mention-row{display:flex;align-items:baseline;gap:8px;padding:6px 10px;cursor:pointer;font-size:12.5px}.ai-mention-row.sel,.ai-mention-row:hover{background:color-mix(in srgb,var(--accent) 16%,transparent)}.ai-mention-badge{font-size:10px;color:var(--text-muted);min-width:22px}.ai-mention-name{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-mention-sub{color:var(--text-muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.ai-textarea{flex:1;font-family:var(--sans);font-size:13px;padding:8px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);resize:vertical;background:var(--panel);color:var(--text);box-shadow:inset 0 1px 2px #0000000f}.ai-textarea:focus{outline:none;border-color:var(--accent);box-shadow:inset 0 1px 2px #0000000f,0 0 0 3px var(--accent-dim)}.ai-send-btn{background:linear-gradient(var(--accent-hi),var(--accent));color:var(--accent-ink);border:1px solid var(--accent-lo);font-weight:600;border-radius:var(--radius-sm);padding:0 14px;align-self:stretch;box-shadow:inset 0 1px #ffffff47}.ai-send-btn:hover{filter:brightness(1.06)}.ai-send-btn:active{background:var(--accent-lo);box-shadow:inset 0 1px 3px #00000038}.ai-send-btn.stop{background:var(--error);color:#fff;border-color:var(--error-border)}.ai-send-btn.stop:hover{filter:brightness(1.08)}.ai-send-btn.stop:active{background:var(--error-border)}.ai-stopped-note{margin-top:6px;color:var(--text-dim);font-size:11.5px;font-style:italic}.ai-config-toggle{background:transparent;border:1px solid var(--border-2);border-radius:6px;padding:4px 8px;color:var(--text-2)}.wa-group-title{margin:18px 0 2px;padding-top:10px;border-top:1px solid var(--line-soft);font-family:var(--mono);font-size:10.5px;letter-spacing:1px;text-transform:uppercase;color:var(--text-muted)}.wa-group-title:first-child{margin-top:4px;padding-top:0;border-top:none}#log-drawer{flex-shrink:0;height:156px;display:flex;flex-direction:column;background:var(--surface);border-top:1px solid var(--border);transition:height .16s ease}#log-drawer.collapsed{height:34px!important}#log-drawer.collapsed #log{display:none}#log-head{cursor:default;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);background:var(--surface);border-bottom:1px solid var(--line-soft)}.log-title{flex:1;font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted)}#btn-toggle-log{transition:transform .16s}#log-drawer.collapsed #btn-toggle-log{transform:rotate(-90deg)}#log{flex:1;min-height:0;overflow:auto;margin:0;padding:8px 12px;font-family:var(--mono);font-size:11.5px;line-height:1.55;white-space:pre-wrap}.log-ok{color:var(--ok)}.log-err{color:var(--error)}.log-info{color:var(--text-2)}.log-ts{color:var(--text-muted)}.kbd-hint{font-family:var(--mono);font-size:9.5px;border:1px solid var(--border-2);border-radius:4px;padding:1px 4px;color:var(--text-muted);margin-left:4px}.nav-overlay{position:fixed;inset:0;z-index:50;background:color-mix(in srgb,var(--text) 18%,transparent);display:flex;align-items:flex-start;justify-content:center}.nav-overlay.confirm-top,.nav-overlay.plans-top{z-index:100}.palette{margin-top:11vh;width:min(640px,92vw);max-height:70vh;display:flex;flex-direction:column;background:var(--surface-2);border:1px solid var(--border-2);border-radius:12px;box-shadow:var(--shadow);overflow:hidden}.palette-input{font-family:var(--sans);font-size:15px;padding:15px 18px;border:none;border-bottom:1px solid var(--border);background:transparent;color:var(--text)}.palette-input:focus{outline:none}.palette-input::placeholder{color:var(--text-muted)}.palette-results{list-style:none;overflow:auto;flex:1;padding:6px}.palette-scopes{display:flex;gap:6px;padding:8px 14px;border-bottom:1px solid var(--border)}.palette-scope{font-family:var(--sans);font-size:11px;padding:2px 10px;border:1px solid var(--border-2);border-radius:999px;background:transparent;color:var(--text-muted);cursor:pointer}.palette-scope:hover{color:var(--text)}.palette-scope.active{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.palette-icon{flex-shrink:0;width:18px;height:18px;min-width:18px;margin:0;display:inline-flex;align-items:center;justify-content:center;font-size:13px;line-height:1;color:var(--text-2)}.palette-icon.leaf-icon{border:none;background:none;margin:0}.palette-icon.leaf-icon.has-icon{width:22px;height:22px;border:1px solid var(--border-2);border-radius:5px;background:#fff;padding:1px}.palette-row{display:flex;align-items:center;gap:9px;padding:7px 11px;border-radius:7px;cursor:pointer}.palette-row.sel{background:color-mix(in srgb,var(--accent) 16%,transparent)}.palette-name{font-family:var(--mono);font-size:13px;color:var(--text);white-space:nowrap}.palette-comment{flex:1;min-width:0;font-size:12px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette-action{margin-left:auto;flex-shrink:0;font-family:var(--mono);font-size:10px;color:var(--text-muted);opacity:0}.palette-row.sel .palette-action{opacity:1}.palette-row.loadable .palette-action{color:var(--accent)}.palette-hint{padding:7px 14px;border-top:1px solid var(--border);font-size:11px;color:var(--text-muted);display:flex;gap:5px;align-items:center}.palette-hint kbd{font-family:var(--mono);font-size:10px;border:1px solid var(--border-2);border-radius:4px;padding:0 4px}.src-badge{font-family:var(--mono);font-size:9.5px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:1px 5px;border-radius:4px;flex-shrink:0;align-self:center}.src-badge.ws{background:color-mix(in srgb,var(--accent) 22%,transparent);color:var(--accent)}.src-badge.ip{background:color-mix(in srgb,var(--accent-2) 26%,transparent);color:var(--accent-2)}.src-badge.lib{background:var(--surface-3);color:var(--text-2)}.src-badge.msl{background:var(--surface-3);color:var(--text-muted)}.src-badge.example{background:color-mix(in srgb,var(--accent) 28%,transparent);color:var(--accent)}.src-badge.model{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent)}.src-badge.class{background:var(--surface-3);color:var(--text-muted)}.src-badge.screen{background:color-mix(in srgb,var(--accent-2) 24%,transparent);color:var(--accent-2)}.src-badge.setting{background:var(--surface-3);color:var(--text-2)}.docpanel{margin-top:8vh;width:min(720px,94vw);max-height:80vh;background:var(--surface);border:1px solid var(--border-2);border-radius:12px;box-shadow:var(--shadow);overflow:auto}.doc-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid var(--border);background:var(--surface-2)}.doc-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-pkg{font-family:var(--mono);font-size:12px;color:var(--text-muted)}.doc-crumb{color:var(--accent-2);cursor:pointer}.doc-crumb:hover{text-decoration:underline}.doc-sep{color:var(--text-muted)}.doc-name{font-family:var(--mono);font-size:15px;font-weight:600;color:var(--text)}.restr-badge{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);border-radius:5px;padding:1px 6px;margin-right:8px}.doc-back,.doc-close{background:transparent;border:none;color:var(--text-2);font-size:18px;line-height:1;padding:2px 8px;border-radius:6px}.doc-back:hover,.doc-close:hover{color:var(--text);background:var(--surface-3)}.doc-open,.doc-add{background:var(--accent);color:var(--accent-ink);border:none;font-weight:600;font-size:12px;padding:4px 11px;border-radius:var(--radius-sm)}.doc-add:hover,.doc-open:hover{filter:brightness(1.08)}#toasts{position:fixed;left:50%;bottom:54px;transform:translate(-50%);z-index:90;display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none}.toast{font-family:var(--sans);font-size:12.5px;padding:8px 14px;border-radius:8px;background:var(--surface-3);color:var(--text);border:1px solid var(--border-2);box-shadow:var(--shadow);max-width:60vw;opacity:1;transition:opacity .3s ease,transform .3s ease}.toast.ok{border-color:color-mix(in srgb,var(--ok) 55%,transparent)}.toast.warn{border-color:color-mix(in srgb,var(--warn) 55%,transparent)}.toast.error{border-color:var(--error-border);background:var(--error-bg);color:var(--error)}.toast.leaving{opacity:0;transform:translateY(6px)}.ctx-menu{position:fixed;z-index:80;min-width:168px;background:var(--surface);border:1px solid var(--border-2);border-radius:8px;box-shadow:var(--shadow);padding:4px}.ctx-item{display:block;width:100%;text-align:left;background:transparent;border:none;color:var(--text);font-size:12.5px;padding:6px 10px;border-radius:5px;cursor:pointer}.ctx-item:hover{background:var(--surface-2)}.ctx-item.danger{color:var(--error)}.ctx-item.danger:hover{background:var(--error-bg)}.tree-leaf.reveal-flash{animation:revealFlash 1.6s ease-out}@keyframes revealFlash{0%,30%{background:color-mix(in srgb,var(--accent) 30%,transparent)}to{background:transparent}}.doc-comment{padding:13px 16px 4px;font-size:13.5px;color:var(--text)}.doc-info{padding:6px 16px 14px;font-size:12.5px;line-height:1.6;color:var(--text-2);overflow:auto}.doc-info p{margin:6px 0}.doc-info ul{margin:6px 0 6px 18px}.doc-info h4,.doc-info h3{margin:10px 0 4px;color:var(--text);font-size:13px}.doc-info table{border-collapse:collapse;margin:8px 0}.doc-info td,.doc-info th{border:1px solid var(--border);padding:3px 7px}.doc-info a{color:var(--accent-2)}.doc-loading{padding:20px 16px;color:var(--text-muted);font-family:var(--mono);font-size:12.5px}.doc-def{margin:6px 16px 14px;padding:9px 11px;background:var(--cm-bg);border:1px solid var(--border);border-radius:7px;font-family:var(--mono);font-size:12.5px;color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere}.doc-loading.err{color:var(--error)}.inspector,.conn-inspector{margin-top:8vh;width:min(440px,94vw);max-height:80vh;background:var(--surface);border:1px solid var(--border-2);border-radius:12px;box-shadow:var(--shadow);overflow:auto}.inspector:focus,.conn-inspector:focus{outline:none}.insp-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;gap:10px;padding:12px 15px;border-bottom:1px solid var(--border);background:var(--surface-2)}.insp-title{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.insp-name{font-family:var(--mono);font-size:15px;font-weight:600;color:var(--text)}.insp-type{font-family:var(--mono);font-size:11px;color:var(--accent-2);cursor:pointer;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.insp-type:hover{text-decoration:underline}.insp-close{background:transparent;border:none;color:var(--text-2);font-size:18px;line-height:1;padding:2px 8px;border-radius:6px}.insp-close:hover{color:var(--text);background:var(--surface-3)}.insp-tool{background:transparent;border:none;color:var(--text-2);font-size:14px;line-height:1;padding:3px 7px;border-radius:6px}.insp-tool:hover{color:var(--text);background:var(--surface-3)}.insp-delete:hover{color:var(--error)}.insp-body{padding:6px 0 10px}.insp-section-head{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);padding:10px 15px 4px}.insp-row{display:grid;grid-template-columns:1fr 120px auto;align-items:center;gap:8px;padding:4px 15px}.line-preview{display:block;width:calc(100% - 30px);height:120px;margin:10px 15px;background:#fff;border:1px solid var(--border-2);border-radius:8px;background-image:linear-gradient(#eef2f6 1px,transparent 1px),linear-gradient(90deg,#eef2f6 1px,transparent 1px);background-size:16px 16px}.insp-color{width:100%;height:26px;padding:0;border:1px solid var(--border-2);border-radius:6px;background:none;cursor:pointer}.insp-swatches{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.insp-swatch{width:18px;height:18px;padding:0;border:1px solid var(--border-2);border-radius:4px;cursor:pointer}.insp-swatch:hover{outline:2px solid var(--accent);outline-offset:1px}.insp-key{font-family:var(--mono);font-size:12.5px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.insp-input{font-family:var(--mono);font-size:12px;padding:4px 7px;border:1px solid var(--border-2);border-radius:6px;background:var(--surface-2);color:var(--text);width:100%}.insp-input:focus{outline:none;border-color:var(--accent)}.insp-check{width:15px;height:15px;accent-color:var(--accent);justify-self:start}.insp-meta{font-family:var(--mono);font-size:10px;color:var(--text-muted);white-space:nowrap}.insp-field{display:flex;align-items:center;gap:5px;min-width:0}.insp-field .insp-input{flex:1;min-width:0;width:auto}.insp-unit{font-family:var(--mono);font-size:10.5px;color:var(--text-muted);white-space:nowrap}.insp-empty{padding:4px 15px 6px;font-size:12px;color:var(--text-muted)}.insp-port{display:grid;grid-template-columns:auto auto 1fr;align-items:baseline;gap:8px;padding:3px 15px;font-size:12.5px}.insp-port-name{font-family:var(--mono);color:var(--text)}.insp-port-type{font-family:var(--mono);font-size:11px;color:var(--accent-2);cursor:pointer;text-decoration:none}.insp-port-type:hover{text-decoration:underline}.insp-port-desc{color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.insp-flash{margin:6px 15px 2px;font-family:var(--mono);font-size:11px}.insp-flash.ok{color:var(--accent)}.insp-flash.warn{color:var(--error)}.conn-handle{fill:var(--surface);stroke:var(--accent);stroke-width:1.2;vector-effect:non-scaling-stroke;cursor:grab;opacity:.55;transition:opacity .1s}.conn-handle:hover{opacity:1;fill:var(--accent)}.port-dot{fill:var(--accent-2);stroke:none;opacity:.5;transition:opacity .1s,fill .1s}.port-target{fill:var(--accent-2);stroke:none;opacity:0;cursor:crosshair;transition:opacity .1s}.port-target:hover+.port-dot{opacity:1;r:1.3}.port-target.ok{opacity:.55;fill:#3ad29f}.port-target.bad{opacity:.55;fill:#ff7a7a}.port-target.snap{opacity:1;fill:#3ad29f;r:2.6}.conn-preview{stroke:var(--accent);stroke-width:1.4;stroke-dasharray:4,3;vector-effect:non-scaling-stroke;pointer-events:none}.current-model{font-family:var(--mono);font-size:11.5px;color:var(--text-2);max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.current-model.dirty{color:var(--accent)}.current-model.dirty:after{content:" •"}.lib-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;background:color-mix(in srgb,var(--warn) 15%,transparent);border:1px solid color-mix(in srgb,var(--warn) 40%,transparent);border-radius:var(--radius);font-family:var(--mono);font-size:11px;color:var(--warn);white-space:nowrap;flex-shrink:0}.run-snap-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;background:color-mix(in srgb,var(--ok) 15%,transparent);border:1px solid color-mix(in srgb,var(--ok) 40%,transparent);border-radius:var(--radius);font-family:var(--mono);font-size:11px;color:var(--ok);white-space:nowrap;flex-shrink:0}.confirm-box{margin:auto;align-self:center;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-md);box-shadow:var(--shadow);padding:18px 20px;max-width:420px}.confirm-msg{margin:0 0 14px;font-size:13.5px;color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere}.confirm-actions{display:flex;gap:8px;justify-content:flex-end}.btn-danger{color:var(--error);border-color:var(--error-border);background:linear-gradient(var(--surface-3),var(--error-bg))}.btn-danger:hover{filter:brightness(.99);border-color:var(--error)}#saved-list{padding:4px 0 10px}#saved-list li.saved-row{display:flex;flex-direction:column;gap:3px;white-space:normal;padding:7px 12px}.saved-top{display:flex;align-items:center;gap:5px}.saved-top .lib-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px}#saved-list li:hover .lib-name,#saved-list li.active .lib-name{color:var(--accent)}.saved-meta{display:flex;align-items:center;gap:6px;min-width:0}.avatar{flex-shrink:0;width:16px;height:16px;border-radius:50%;color:#fff;font-family:var(--sans);font-size:8px;font-weight:600;letter-spacing:.2px;display:inline-flex;align-items:center;justify-content:center}.saved-by{font-family:var(--sans);font-size:10.5px;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-info,.saved-del{flex-shrink:0;background:transparent;border:none;color:var(--text-muted);font-size:13px;line-height:1;padding:0 3px;border-radius:4px;opacity:0}#saved-list li:hover .saved-info,#saved-list li:hover .saved-del{opacity:1}.saved-info:hover{color:var(--accent);background:var(--surface-3)}.saved-del:hover{color:var(--error);background:var(--surface-3)}body.ws-readonly .saved-del,body.ws-readonly [data-act=delete],body.ws-readonly [data-act=move],body.ws-readonly .folder-acts,body.ws-readonly #btn-new-folder{display:none}.saved-folder-head{display:flex;align-items:center;gap:4px;cursor:pointer;user-select:none;font-size:12px;color:var(--text-2);padding:var(--space-1, 4px) 8px;margin-top:4px}.saved-folder-head:hover{color:var(--text)}.saved-folder-head .folder-label{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-acts{display:inline-flex;gap:2px;opacity:0;transition:opacity .1s}.saved-folder-head:hover .folder-acts{opacity:1}.folder-act{background:none;border:none;color:var(--text-2);cursor:pointer;font-size:12px;padding:0 3px;line-height:1}.folder-act:hover{color:var(--text)}.undo-strip{margin:0 10px 8px;padding:6px 8px;background:var(--surface-3);border:1px solid var(--border);border-left:2px solid var(--accent);border-radius:var(--radius-sm)}.undo-row{display:flex;align-items:center;gap:6px}.undo-msg{flex:1 1 auto;min-width:0;font-size:11.5px;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.undo-btn{flex-shrink:0}.undo-dismiss{flex-shrink:0;background:none;border:none;color:var(--text-muted);font-size:13px;line-height:1;padding:0 2px;cursor:pointer}.undo-dismiss:hover{color:var(--text)}.undo-err{margin-top:5px;font-size:11px;color:var(--error)}.trash-head .folder-label{color:var(--text-muted)}.trash-head:hover .folder-label{color:var(--text-2)}#saved-list li.trash-row{cursor:default;opacity:.72}#saved-list li.trash-row:hover{opacity:1;background:none}#saved-list li.trash-row:hover .lib-name{color:var(--text-2)}#saved-list li.trash-row .lib-name{color:var(--text-2);text-decoration:line-through;text-decoration-color:var(--text-muted)}#saved-list li.trash-row .saved-by{color:var(--text-muted)}.trash-restore{flex-shrink:0;color:var(--text-2)}.trash-restore:hover{color:var(--accent);border-color:var(--accent)}.first-run{margin:0 10px 10px}.fr-head{padding:2px 0 8px}.fr-title{font-size:12.5px;color:var(--text)}.fr-sub{margin:3px 0 0;font-size:11.5px;line-height:1.45;color:var(--text-2)}.fr-card{display:flex;flex-direction:column;gap:3px;width:100%;margin-bottom:6px;padding:7px 8px;text-align:left;cursor:pointer;background:var(--sunk);border:1px solid var(--border);border-radius:var(--radius-sm);color:inherit;font:inherit}.fr-card:hover{border-color:var(--accent);background:var(--surface-3)}.fr-card-name{font-size:12px;color:var(--text);white-space:normal}.fr-card:hover .fr-card-name{color:var(--accent)}.fr-card-blurb{font-size:11px;line-height:1.4;color:var(--text-2);white-space:normal}.fr-card-foot{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-top:1px}.fr-card-tag{font-family:var(--mono);font-size:9.5px;letter-spacing:.3px;color:var(--text-muted);text-transform:lowercase}.fr-card-act{flex-shrink:0;font-size:10.5px;color:var(--text-muted)}.fr-card:hover .fr-card-act{color:var(--accent)}.fr-hint{margin:2px 0 0;font-size:11px;line-height:1.4;color:var(--text-muted)}#saved-list .saved-row[draggable=true]{cursor:grab}#saved-list .saved-row.dragging{opacity:.45}#saved-list .saved-folder-head.drop-target{background:#0c8f7e24;outline:1px solid var(--accent);outline-offset:-1px;border-radius:4px}#saved-list.drop-root{outline:1px dashed var(--border-2);outline-offset:-3px;border-radius:6px}#ws-new-row{display:flex;gap:8px;margin:0 10px 8px}#ws-new-row button{flex:1 1 0;padding:5px 0;font-size:12px;text-align:center;border-radius:var(--radius-sm);cursor:pointer}.new-model-btn{background:var(--accent);color:var(--accent-ink);border:1px solid var(--accent)}.new-model-btn:hover{filter:brightness(1.06)}.new-model-btn:active{background:var(--accent-lo)}.new-folder-btn{background:none;border:1px dashed var(--border-2);color:var(--text-2)}.new-folder-btn:hover{color:var(--text);border-color:var(--text-2)}.src-badge.saved{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}#btn-save.dirty{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,transparent)}#btn-save.dirty:after{content:"•";margin-left:3px}.hist-list{list-style:none;margin:0;padding:6px 0 10px}.hist-when{font-family:var(--mono);color:var(--text-2)}.hist-who{color:var(--accent-2)}#saved-list .lib-comment{font-family:var(--mono);font-size:10px;color:var(--text-muted);-webkit-line-clamp:1}.meta-grid{display:grid;grid-template-columns:max-content 1fr;gap:5px 14px;padding:14px 16px}.meta-label{font-family:var(--mono);font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--text-muted);align-self:baseline}.meta-val{font-size:12.5px;color:var(--text-2)}.meta-who{color:var(--accent-2)}.detail-actions{display:flex;gap:8px;padding:0 16px 14px;border-bottom:1px solid var(--border)}.detail-actions .btn-danger{margin-left:auto}.detail-revs .lib-section{padding:12px 16px 2px}.hist-row{padding:8px 16px;border-bottom:1px solid var(--border);font-size:12.5px}.hist-row:last-child{border-bottom:none}.hist-row-main{display:flex;gap:10px;align-items:baseline}.hist-size{margin-left:auto;font-family:var(--mono);font-size:11px;color:var(--text-muted)}.hist-note{margin-top:3px;color:var(--text-2);font-size:12px}.hist-row-actions{display:flex;gap:6px;margin-top:6px}.btn-sm{padding:2px 9px;font-size:11px}.hist-diff{margin-top:8px;border:1px solid var(--border-2);border-radius:var(--radius-sm);overflow:hidden}.hist-diff-caption{padding:6px 10px;font-size:11px;color:var(--text-muted);border-bottom:1px solid var(--border)}.hist-diff-cm{height:220px}.hist-diff-cm .cm-editor{height:100%}.src-badge.ai{background:color-mix(in srgb,var(--accent-2) 22%,transparent);color:var(--accent-2)}.src-badge.restore{background:color-mix(in srgb,var(--warn) 22%,transparent);color:var(--warn)}.hist-verify-badge{font-size:12px;font-weight:700;line-height:1;cursor:default}.hist-verify-badge.verify-ok{color:var(--ok)}.hist-verify-badge.verify-warn{color:var(--warn)}.hist-verify-badge.verify-fail{color:var(--error)}.hist-explain-btn{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 45%,transparent)}.hist-explain-btn:hover{background:var(--warn);color:var(--accent-ink)}.port-label{position:fixed;z-index:60;pointer-events:none;font-family:var(--mono);font-size:11px;background:var(--surface-3);color:var(--text);border:1px solid var(--border-2);border-radius:5px;padding:2px 7px;box-shadow:var(--shadow);white-space:nowrap}.thumb-pop{position:fixed;z-index:70;pointer-events:none;background:#fff;border:1px solid var(--border-2);border-radius:8px;box-shadow:var(--shadow);padding:6px;width:280px}.thumb-pop .thumb-svg{display:block;width:268px;height:200px;background:#fff;border-radius:4px;background-image:linear-gradient(#eef2f6 1px,transparent 1px),linear-gradient(90deg,#eef2f6 1px,transparent 1px);background-size:22px 22px}.thumb-pop.empty .thumb-svg{display:none}.thumb-pop .thumb-cap{font:11px var(--mono);color:var(--text-2);padding:5px 2px 1px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doc-members{width:100%;border-collapse:collapse;font-size:12.5px}.doc-members thead th{text-align:left;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);font-weight:500;padding:8px 10px;background:var(--surface);border-bottom:1px solid var(--border)}.doc-members td{padding:6px 10px;border-bottom:1px solid var(--border);vertical-align:top}.doc-members tr:hover td{background:var(--surface-2)}.doc-members .mono{font-family:var(--mono)}.doc-members .dim{color:var(--text-2)}.doc-members .type-link{color:var(--accent-2);cursor:pointer;text-decoration:none}.doc-members .type-link:hover{text-decoration:underline}.doc-children-title{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);margin:12px 16px 4px}.cm-doccard .doc-children-title{margin:8px 0 4px}.doc-children{list-style:none;margin:0;padding:0 16px 12px}.cm-doccard .doc-children{padding:0}.doc-children li{font-size:12.5px;padding:3px 0;color:var(--text-2)}.doc-children .restr-badge{margin-right:6px}.doc-children .type-link,.doc-info .type-link,.docs-body .type-link{color:var(--accent-2);cursor:pointer;text-decoration:none}.doc-children .type-link:hover,.doc-info .type-link:hover,.docs-body .type-link:hover{text-decoration:underline}.doc-children .doc-more{color:var(--text-muted)}.kind-badge{font-family:var(--mono);font-size:9.5px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;padding:1px 5px;border-radius:4px;white-space:nowrap}.kind-badge.connector{background:color-mix(in srgb,var(--accent) 22%,transparent);color:var(--accent)}.kind-badge.input{background:color-mix(in srgb,var(--syn-keyword) 24%,transparent);color:var(--syn-keyword)}.kind-badge.output{background:color-mix(in srgb,var(--warn) 26%,transparent);color:var(--warn)}.kind-badge.parameter,.kind-badge.constant{background:color-mix(in srgb,var(--accent-2) 24%,transparent);color:var(--accent-2)}.kind-badge.variable{background:var(--surface-3);color:var(--text-muted)}.kind-badge.state{background:color-mix(in srgb,var(--ok) 24%,transparent);color:var(--ok)}.kind-badge.derivative{background:color-mix(in srgb,var(--syn-number) 26%,transparent);color:var(--syn-number)}.cm-tooltip.cm-tooltip-hover{border:none;background:transparent}.cm-doccard{background:var(--surface-2);border:1px solid var(--border-2);border-radius:8px;box-shadow:var(--shadow);max-width:460px;max-height:320px;overflow:auto;padding:10px 12px;font-family:var(--sans)}.cm-doccard .doccard-title{display:flex;align-items:baseline;gap:5px;margin-bottom:5px}.cm-doccard .doc-comment{padding:0 0 4px;font-size:12.5px}.cm-doccard .doc-members{font-size:12px}.doc-more{color:var(--text-muted);font-size:11px;font-family:var(--mono);padding-top:4px}.cm-tooltip.cm-tooltip-autocomplete{background:var(--surface-2);border:1px solid var(--border-2);border-radius:8px;box-shadow:var(--shadow);overflow:hidden}.cm-tooltip-autocomplete ul li{font-family:var(--mono);font-size:12px;padding:4px 10px}.cm-tooltip-autocomplete ul li[aria-selected]{background:var(--accent);color:var(--accent-ink)}.cm-completionDetail{color:var(--text-muted);font-style:normal;margin-left:10px;font-size:11px}.cm-tooltip-autocomplete ul li[aria-selected] .cm-completionDetail{color:var(--accent-ink);opacity:.8}.avatar-btn.has-avatar{display:inline-flex;align-items:center;gap:6px;height:26px;width:auto;padding:0 9px 0 3px;border-radius:999px;border:1px solid var(--line-strong);background:var(--sunk);color:var(--text)}.avatar-btn.has-avatar:hover{border-color:var(--accent-lo)}.avatar-dot{width:20px;height:20px;border-radius:50%;font-size:10px;font-weight:600;color:#fff;display:inline-flex;align-items:center;justify-content:center;background:hsl(var(--avatar-hue, 210),45%,42%);flex:none}.avatar-label{font-size:var(--fs-sm);max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu{position:fixed;z-index:60;width:284px;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-md);box-shadow:var(--shadow);padding:0;overflow:hidden;font-size:var(--fs);color:var(--text)}.user-menu hr{border:none;border-top:1px solid var(--line-soft);margin:0}.um-head{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);background:var(--panel);border-bottom:1px solid var(--line-soft)}.um-avatar{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:#fff;background:hsl(var(--avatar-hue, 210),45%,42%);flex:none}.um-who{min-width:0}.um-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-md)}.um-role{color:var(--text-2);font-size:var(--fs-sm)}.um-badge{margin-left:auto;font-size:var(--fs-xs);font-weight:600;letter-spacing:.4px;padding:2px 5px;border-radius:2px;background:var(--accent);color:var(--accent-ink)}.um-section{font-size:var(--fs-sm);font-weight:500;color:var(--text-2);padding:var(--space-2) var(--space-3) var(--space-1);margin-top:0;background:var(--bg);border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}.um-section-desc{font-size:var(--fs-sm);line-height:1.45;color:var(--text-muted);padding:var(--space-1) var(--space-3) var(--space-2);opacity:1}.um-subhead{font-size:var(--fs-sm);color:var(--text-muted);padding:var(--space-1) var(--space-3)}.um-list{display:flex;flex-direction:column;gap:2px;max-height:240px;overflow:auto}.um-ws,.um-action{display:flex;align-items:center;gap:var(--space-2);width:100%;text-align:left;background:transparent;border:none;color:var(--text);padding:6px var(--space-3);border-radius:0;cursor:pointer;font:inherit;font-size:var(--fs-md)}.um-ws:hover,.um-action:hover{background:var(--sel)}.um-icon{display:inline-flex;flex:none;width:14px;height:14px;color:var(--ok)}.um-icon svg{width:14px;height:14px}.um-ws.active{background:var(--sel);box-shadow:inset 3px 0 0 var(--accent);font-weight:500}.um-ws-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.um-ws-role{color:var(--text-muted);font-size:var(--fs-sm)}.um-empty{color:var(--text-muted);padding:6px var(--space-3);font-size:var(--fs-sm)}.settings-panel{margin-top:8vh;width:min(560px,94vw);max-height:82vh;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border-2);border-radius:12px;box-shadow:var(--shadow);overflow:hidden}.set-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border)}.set-title{font-weight:600;font-size:14px}.set-close{background:transparent;border:none;color:var(--text-2);font-size:20px;line-height:1;cursor:pointer}.set-body{overflow:auto;padding:6px 16px 12px}.set-section{padding:10px 0;border-bottom:1px solid var(--border)}.set-section:last-child{border-bottom:none}.set-section-title{margin:2px 0 8px;font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted)}.set-row{display:flex;align-items:center;gap:12px;padding:5px 0;border-radius:6px}.set-row.flash{animation:setRowFlash 1.3s ease-out}@keyframes setRowFlash{0%,30%{background:color-mix(in srgb,var(--accent) 26%,transparent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 16%,transparent)}to{background:transparent;box-shadow:none}}.set-label{flex:1;font-size:12.5px;display:flex;flex-direction:column}.set-hint{color:var(--text-muted);font-size:10.5px}.set-input{font-family:var(--mono);font-size:12px;padding:4px 7px;border:1px solid var(--border-2);border-radius:6px;background:var(--surface-2);color:var(--text)}.set-num{width:72px}.set-toggle{width:16px;height:16px;accent-color:var(--accent)}.set-note{color:var(--text-2);font-size:11px;margin:8px 0 2px}.set-kbd{display:flex;flex-direction:column;gap:4px}.set-kbd-row{display:flex;gap:10px;align-items:center;font-size:12px}.set-kbd-row kbd{font-family:var(--mono);font-size:11px;background:var(--surface-2);border:1px solid var(--border-2);border-radius:4px;padding:1px 6px;min-width:130px}.set-footer{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-top:1px solid var(--border)}.set-about{color:var(--text-muted);font-size:11px}.share-panel{width:min(480px,94vw)}.share-row{display:flex;align-items:center;gap:8px;padding:3px 0;font-size:12.5px}.share-who{flex:1;font-family:var(--mono);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-revoke{color:var(--error)}.wa-row{display:flex;align-items:center;gap:8px;padding:3px 0;font-size:12.5px}.wa-member{display:flex;align-items:center;gap:8px;padding:4px 0}.wa-member-email{flex:1;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wa-addmember{display:flex;gap:6px;margin-top:10px}.wa-addmember .set-input{flex:1;min-width:0}.wa-del{color:var(--error)}.wa-plan-limits{display:flex;flex-direction:column}.wa-plan-label{flex:1;color:var(--text-2)}.wa-plan-value{font-family:var(--mono);color:var(--text)}.sa-dash-link{display:block;color:var(--accent-2);text-decoration:none;margin-bottom:12px;font-size:12.5px;cursor:pointer}.sa-dash-link:hover{text-decoration:underline}.sa-lib-row{display:flex;align-items:center;gap:8px;padding:4px 0}.sa-lib-name{flex:1;font-family:var(--mono);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sa-lib-class{min-width:200px}.act-as-banner{position:fixed;left:0;right:0;bottom:0;z-index:120;display:flex;align-items:center;justify-content:center;gap:12px;padding:6px 12px;background:#7c3a00;color:#ffe;font-size:12.5px;box-shadow:0 -2px 8px #0000004d}.act-as-banner .act-as-exit{border:1px solid #ffe;color:#ffe;border-radius:5px;padding:1px 10px}.act-as-banner .act-as-exit:hover{background:#ffe;color:#7c3a00}.sa-org-row{display:flex;align-items:center;gap:8px;padding:3px 0;font-size:12.5px}.sa-org-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sa-org-id{font-family:var(--mono);font-size:11px;color:var(--text-2)}.sa-org-add{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px}.sa-org-add .set-input{flex:1;min-width:120px}.sa-matrix{border-collapse:collapse;margin-top:6px;font-size:12px}.sa-matrix th,.sa-matrix td{padding:4px 8px;text-align:center;border-bottom:1px solid var(--border)}.sa-matrix thead th{font-family:var(--mono);font-size:11px;color:var(--text-muted);font-weight:600;vertical-align:bottom}.sa-matrix th.sa-ws{text-align:left;font-weight:500;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sa-matrix .sa-grant{cursor:pointer}.sa-usage{border-collapse:collapse;margin-top:6px;font-size:12px;width:100%}.sa-usage th,.sa-usage td{padding:4px 8px;text-align:left;border-bottom:1px solid var(--border)}.sa-usage thead th{font-family:var(--mono);font-size:11px;color:var(--text-muted);font-weight:600}.sa-usage th.sa-usage-num,.sa-usage td.sa-usage-num{text-align:right;font-family:var(--mono)}.sa-usage tfoot th{font-weight:600}.sa-audit{list-style:none;margin:4px 0 0;padding:0;max-height:220px;overflow-y:auto}.sa-audit-row{display:flex;gap:8px;align-items:baseline;padding:3px 0;font-size:12px;border-bottom:1px solid var(--border)}.sa-audit-ts{flex-shrink:0;color:var(--text-muted);font-family:var(--mono);font-size:11px;white-space:nowrap}.sa-audit-actor{flex-shrink:0;font-weight:500;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sa-audit-what{color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sa-prompt-block+.sa-prompt-block{margin-top:18px;padding-top:14px;border-top:1px solid var(--border)}.sa-prompt-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:2px 0 6px;flex-wrap:wrap}.sa-prompt-label{font-weight:500;font-size:12.5px}.sa-prompt-status{color:var(--text-muted);font-size:11px;font-family:var(--mono)}.sa-prompt-textarea{width:100%;box-sizing:border-box;font-family:var(--mono);font-size:12px;line-height:1.5;padding:8px;resize:vertical}.sa-prompt-actions{display:flex;align-items:center;gap:8px;margin-top:8px;flex-wrap:wrap}.sa-prompt-msg{color:var(--text-muted);font-size:11.5px}.sa-prompt-versions{max-height:160px}.sa-prompt-version-row .sa-audit-what{flex-shrink:0;overflow:visible}.sa-prompt-activate{margin-left:auto}.sa-prompt-active-badge{margin-left:auto;color:var(--accent);font-size:11px;font-family:var(--mono)}.sa-capped{flex:0 0 auto;padding:1px 7px;border-radius:999px;font-size:10px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.3px;color:var(--error);background:color-mix(in srgb,var(--error) 16%,transparent)}.plat-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.plat-refresh{padding:1px 6px;font-size:13px;line-height:1.2}.plat-subh{font-size:10.5px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin:10px 0 4px}.plat-subh:first-child{margin-top:2px}.plat-health{display:flex;flex-direction:column}.plat-row{display:flex;align-items:baseline;gap:8px;padding:3px 0;font-size:12px;border-bottom:1px solid var(--line-soft)}.plat-row:last-child{border-bottom:none}.plat-dot{flex:0 0 auto;width:7px;height:7px;border-radius:50%;align-self:center;background:var(--text-muted)}.plat-ok{background:var(--ok)}.plat-warn{background:var(--warn)}.plat-err{background:var(--error)}.plat-mute{background:var(--text-muted)}.plat-label{flex:0 0 118px;color:var(--text)}.plat-val{flex:1;min-width:0;color:var(--text-2);font-family:var(--mono);font-size:11px}.plat-tiles{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 4px}.plat-tile{flex:1;min-width:76px;border:1px solid var(--line-soft);border-radius:3px;padding:6px 8px;background:var(--sunk)}.plat-tile-val{font-size:15px;font-weight:500;font-variant-numeric:tabular-nums;color:var(--text)}.plat-tile-lbl{font-size:10.5px;color:var(--text-muted);margin-top:1px}.plat-chart-blk{margin:6px 0 2px}.plat-chart-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:3px}.plat-chart-title{font-size:11.5px;color:var(--text-2)}.plat-chart-total{font-size:11px;color:var(--text-muted);font-family:var(--mono)}.plat-chart-wrap{border:1px solid var(--line-soft);border-radius:3px;padding:4px 5px;background:var(--sunk);overflow-x:auto}.plat-chart{display:block}.plat-bar-ok{fill:var(--accent)}.plat-bar-err{fill:var(--warn)}.plat-bar-zero{fill:var(--line)}.plat-kvlist{display:flex;flex-direction:column;margin:2px 0 4px}.plat-kv{display:flex;align-items:baseline;gap:8px;padding:2px 0;font-size:12px}.plat-kv-k{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.plat-kv-v{flex:0 0 auto;color:var(--text-2);font-family:var(--mono);font-size:11px}.orgadmin-panel{width:min(540px,94vw)}.oa-row{display:flex;align-items:center;gap:8px;padding:3px 0;font-size:12.5px}.oa-who{flex:1;font-family:var(--mono);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.oa-del{color:var(--error)}.oa-group{border:1px solid var(--border);border-radius:6px;padding:8px 10px;margin-bottom:8px}.oa-group-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.oa-group-name{font-weight:600;font-size:12.5px}.mini.primary{color:var(--accent);border:1px solid var(--accent);border-radius:5px}.mini.primary:hover{background:var(--accent);color:var(--accent-ink)}.oa-invite-role{font-family:var(--mono);font-size:11px;color:var(--text-2);flex-shrink:0}.oa-invite-meta{font-size:11px;color:var(--text-muted);flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.oa-badge{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;padding:1px 5px;border-radius:4px;flex-shrink:0}.oa-badge-warn{background:color-mix(in srgb,var(--warn) 22%,transparent);color:var(--warn);cursor:help}.oa-badge-expired{background:var(--surface-3);color:var(--text-muted)}.prompt-modal{margin-top:18vh;width:min(420px,92vw);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-md);box-shadow:var(--shadow);padding:16px}.prompt-title{font-weight:600;font-size:13.5px;margin-bottom:10px}.prompt-hint{font-size:var(--fs-sm);color:var(--text-2);line-height:1.5;margin:-4px 0 10px}.prompt-input{width:100%}.prompt-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.form-modal{width:min(460px,92vw)}.form-field{display:flex;flex-direction:column;gap:4px;margin-bottom:10px;cursor:default}.form-field-label{font-size:12px;font-weight:500;color:var(--text-2)}.bug-modal{width:min(480px,92vw)}.bug-textarea{width:100%;min-height:88px;resize:vertical;font-family:var(--sans)}.bug-error{color:var(--error);font-size:11.5px;margin:-4px 0 8px}.bug-shot-row{display:flex;align-items:flex-start;gap:10px;margin-bottom:4px}.bug-shot-toggle{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-2);cursor:pointer;white-space:nowrap}.bug-shot-thumb{max-width:140px;max-height:90px;border:1px solid var(--border-2);border-radius:6px;object-fit:cover}.bug-shot-thumb.dimmed{opacity:.35;filter:grayscale(1)}.bug-src-warn{color:var(--warn);font-weight:600}.onboarding-overlay{z-index:110;align-items:center;justify-content:center;background:color-mix(in srgb,var(--text) 28%,transparent)}.onboarding-card{width:min(420px,90vw);background:var(--surface-2);border:1px solid var(--border-2);border-radius:12px;box-shadow:var(--shadow);padding:36px 32px;text-align:center;display:flex;flex-direction:column;gap:12px}.onboarding-title{font-size:20px;font-weight:700;color:var(--text);margin:0}.onboarding-who{font-size:12px;color:var(--text-muted);margin:0}.onboarding-msg{font-size:14px;color:var(--text);margin:0}.onboarding-hint{font-size:12px;color:var(--text-muted);margin:0}.onboarding-signout{font-size:12px;margin:10px 0 0}.onboarding-signout a{color:var(--accent)}.repo-panel{width:min(640px,96vw);max-height:86vh}.rc-branch-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.rc-branch-label{font-size:12px;color:var(--text-2);white-space:nowrap}.rc-branch-sel{flex:1;min-width:120px}.rc-new-branch{white-space:nowrap;flex-shrink:0}.rc-row{display:flex;align-items:center;gap:8px;padding:3px 0;font-size:12.5px}.rc-code{flex-shrink:0;font-family:var(--mono);font-size:11px;font-weight:700;width:16px;text-align:center;color:var(--warn)}.rc-path{flex:1;font-family:var(--mono);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rc-diff-btn{color:var(--accent);font-family:var(--mono);font-size:11px}.rc-commit-box{display:flex;gap:6px;align-items:center;margin-top:10px}.rc-msg-input{flex:1;min-width:0}.rc-act-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.rc-log-row{display:flex;flex-direction:column;gap:2px;padding:5px 4px;border-radius:6px;cursor:pointer}.rc-log-row:hover{background:var(--surface-3)}.rc-log-subj{font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rc-log-meta{font-family:var(--mono);font-size:10.5px;color:var(--text-muted)}.rc-diff-modal{margin-top:4vh;width:min(1100px,97vw);max-height:90vh;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border-2);border-radius:12px;box-shadow:var(--shadow);overflow:hidden}.rc-diff-body{overflow:auto;flex:1;padding:10px 12px;font-family:var(--mono);font-size:12px}.rc-diff-plain{white-space:pre}.rc-dl-add{background:color-mix(in srgb,var(--ok) 15%,transparent);color:var(--ok)}.rc-dl-del{background:color-mix(in srgb,var(--error) 15%,transparent);color:var(--error)}.rc-dl-hunk{color:var(--accent-2);font-weight:600}.rc-dl-file{color:var(--text-2);font-weight:600}.rc-dl-ctx{color:var(--text-2)}.rc-diff-empty{padding:24px;color:var(--text-muted);text-align:center}.rc-diff-body .d2h-wrapper{font-family:var(--mono);font-size:12px}.rc-diff-body .d2h-file-header{background:var(--surface-2);border-color:var(--border);color:var(--text)}.rc-diff-body .d2h-code-linenumber,.rc-diff-body .d2h-code-line{border-color:var(--border)}.rc-diff-body table{font-family:var(--mono);font-size:12px}.ia-panel{width:min(540px,96vw);max-height:90vh;overflow-y:auto}.ia-preview-wrap{display:flex;flex-direction:column;align-items:center;gap:8px;margin:12px 0}.ia-preview-svg{width:200px;height:200px;border:1px solid var(--border-2);border-radius:6px;background:#fff;cursor:default;display:block}.ia-placing .ia-preview-svg{cursor:crosshair}.ia-grid-line{stroke:#dde3e9;stroke-width:.5}.ia-port-marker{fill:var(--accent);stroke:none;cursor:grab}.ia-port-marker:active{cursor:grabbing}.ia-port-label{font-size:8px;fill:#555;pointer-events:none;font-family:monospace}.ia-hint{font-size:12px;color:var(--warn);min-height:1.4em;text-align:center}.ia-section{margin:14px 0 6px;font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted)}.ia-upload-label{display:inline-block;padding:7px 14px;border:1px dashed var(--border-2);border-radius:6px;cursor:pointer;font-size:13px;color:var(--text-2);transition:border-color .14s,color .14s}.ia-upload-label:hover{border-color:var(--accent);color:var(--text)}.ia-upload-input{display:none}.ia-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.ia-port-list{margin:6px 0;display:flex;flex-direction:column;gap:4px}.ia-port-row{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--text-2);font-family:var(--mono)}.ia-icon-src{display:flex;flex-direction:column;gap:10px}.ia-subsec-label{font-size:11.5px;color:var(--text-muted);margin-bottom:3px}.ia-paste-sec{display:flex;flex-direction:column;gap:4px}.ia-paste-row{display:flex;gap:8px;align-items:flex-start}.ia-paste-area{flex:1;resize:vertical;min-height:52px;font-size:11px;font-family:var(--mono);border:1px solid var(--border-2);border-radius:6px;padding:6px 8px;background:var(--surface-1);color:var(--text);line-height:1.4}.ia-paste-area:focus{outline:none;border-color:var(--accent)}.ia-gen-row{display:flex;align-items:center;gap:10px}.ia-gen-hint{font-size:12px;color:var(--text-muted);font-style:italic}.ia-gen-hint:not(:empty){color:var(--warn)}.ia-ctx{font-size:11.5px;color:var(--text-muted);line-height:1.5;margin-top:2px}.ia-gen-row .btn:disabled{opacity:.65}.ia-hint-input{flex:1;min-width:0;padding:5px 9px;font-size:12.5px;border:1px solid var(--border-2);border-radius:6px;background:var(--surface-1);color:var(--text)}.ia-hint-input:focus{outline:none;border-color:var(--accent)}.ia-hint-input::placeholder{color:var(--text-muted)}.ia-candidates{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 2px;min-height:0}.ia-candidates:empty{display:none}.ia-candidate-thumb{width:64px;height:64px;border:2px solid var(--border-2);border-radius:6px;cursor:pointer;background:#fff;object-fit:contain;transition:border-color .14s,box-shadow .14s}.ia-candidate-thumb:hover{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-dim)}.ia-candidate-thumb.ia-candidate-selected{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.ia-gen-log{width:100%;min-height:120px;max-height:240px;resize:vertical;font-family:var(--mono);font-size:11px;border:1px solid var(--border-2);border-radius:6px;padding:6px 8px;background:var(--surface-1);color:var(--text-2);line-height:1.4;white-space:pre;margin-top:6px}.ia-picker-wrap{margin-top:8px;display:flex;flex-direction:column;gap:4px}.ia-picker-input{width:100%;padding:5px 9px;font-size:12.5px;border:1px solid var(--border-2);border-radius:6px;background:var(--surface-1);color:var(--text);box-sizing:border-box}.ia-picker-input:focus{outline:none;border-color:var(--accent)}.ia-picker-input::placeholder{color:var(--text-muted)}.ia-picker-results{max-height:220px;overflow-y:auto;border:1px solid var(--border-2);border-radius:6px;background:var(--surface-1)}.ia-picker-results:empty{display:none}.ia-picker-row{display:flex;align-items:baseline;gap:4px;padding:5px 9px;cursor:pointer;font-size:12.5px;line-height:1.4}.ia-picker-row:hover{background:var(--accent-dim-soft)}.ia-picker-leaf{font-weight:600;font-family:var(--mono);color:var(--text)}.ia-picker-full{font-family:var(--mono);font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.ia-picker-comment{font-size:11px;color:var(--text-muted);font-style:italic}.ia-picker-empty{padding:8px 9px;font-size:12px;color:var(--text-muted);font-style:italic}.runs-panel{display:flex;flex-direction:column;min-height:0;overflow:hidden;font-size:var(--fs)}.runs-head{display:none}.runs-list{list-style:none;margin:0;padding:0;overflow:auto}.run{display:flex;align-items:center;gap:var(--space-2);padding:5px var(--space-3);cursor:default;border-bottom:1px solid var(--line-soft)}.run-done{cursor:pointer}.run-done:hover{background:var(--sel)}.run-status{width:1em;text-align:center;color:var(--text-muted)}.run-done .run-status{color:var(--ok)}.run-running .run-status{color:var(--warn);animation:run-pulse 1s infinite}.run-error .run-status{color:var(--error)}.run-cancelled{opacity:.6}.run-model{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.run-cancel{border:0;background:none;cursor:pointer;opacity:.5;color:var(--text-2)}.run-cancel:hover{opacity:1;color:var(--error)}@keyframes run-pulse{50%{opacity:.4}}.run-compare{border:1px solid var(--line);background:none;cursor:pointer;color:var(--text-2);font-size:var(--fs-sm);border-radius:var(--radius-sm);padding:1px 6px;margin-right:6px;white-space:nowrap}.run-compare:hover{color:var(--accent);border-color:var(--accent)}.compare-chip{display:inline-flex;align-items:center;gap:6px;margin-left:8px;padding:1px 4px 1px 8px;border:1px solid var(--accent);border-radius:999px;text-transform:none;letter-spacing:normal;font-size:var(--fs-sm);color:var(--accent);max-width:60%}.compare-chip-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compare-chip-x{border:0;background:none;cursor:pointer;color:inherit;opacity:.7;line-height:1;padding:0 2px}.compare-chip-x:hover{opacity:1}.sweep-table{flex:1;overflow:auto;min-height:0;padding:8px 12px}.sweep-head{font-size:var(--fs-sm);color:var(--text-2);margin:0 0 6px}.sweep-table-wrap{overflow:auto}.sweep-err{color:var(--error);font-size:var(--fs-sm)}.rt-sweep-badge{color:var(--text-muted);font-size:var(--fs-sm);margin-left:4px;white-space:nowrap}.compare-delta{overflow:auto;max-height:30vh;padding:4px 12px 10px}.analyze-box{min-width:420px;max-width:min(760px,92vw);max-height:72vh;overflow:auto;text-align:left}.analyze-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.analyze-title{font-weight:600}.analyze-table-wrap{overflow:auto}.analyze-msg{color:var(--text-2);font-size:var(--fs-sm);margin:6px 0}.analyze-error{color:var(--error);font-size:var(--fs-sm);margin:6px 0}.analyze-caveat{color:var(--text-muted);font-size:var(--fs-sm);margin-top:6px}.analyze-picker-list{display:flex;flex-direction:column;gap:2px;max-height:38vh;overflow:auto;margin:6px 0 10px}.analyze-picker-item{display:flex;align-items:center;gap:6px;font-size:var(--fs-sm);cursor:pointer}.tbl{width:100%;border-collapse:collapse;font-size:var(--fs)}.tbl th{font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.3px;color:var(--text-muted);text-align:left;font-weight:500;padding:var(--space-1) var(--space-3);border-bottom:1px solid var(--line-soft);background:var(--sunk)}.tbl td{padding:6px var(--space-3);border-bottom:1px solid var(--line-soft)}.tbl tr:hover td{background:var(--sel)}.tbl tr.sel td{background:var(--sel);box-shadow:inset 3px 0 0 var(--accent)}.tbl .num{font-family:var(--mono);text-align:right;color:var(--text-2)}.tbl tr.rt-clickable{cursor:pointer}.st{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-sm);color:var(--text-2)}.st .d{width:7px;height:7px;border-radius:50%;background:var(--text-muted)}.st.ok .d{background:var(--ok)}.st.run .d{background:var(--warn);animation:run-pulse 1s infinite}.st.err .d{background:var(--error)}.st.ok{color:var(--text)}.st.err{color:var(--error)}.runs-toolbar{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--line-soft);flex-shrink:0}.runs-toolbar .rt-search{flex:1;font-family:var(--sans);font-size:var(--fs);min-width:0;padding:4px 8px;background:var(--sunk)}.runs-table-wrap{flex:1;overflow:auto;min-height:0;max-height:32vh}.rt-model{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rt-result{width:92px;min-width:92px;max-width:92px;padding-top:4px!important;padding-bottom:4px!important}.run-spark{display:block;margin:0 auto}.run-schematic{width:80px;height:44px;display:block;margin:0 auto}.rt-result.has-schematic{overflow:hidden}.rt-result.has-schematic .run-schematic{margin-bottom:2px}.run-spark-muted{color:var(--text-muted);font-size:var(--fs-sm)}.rt-who,.rt-when{white-space:nowrap;color:var(--text-2)}.rt-verify-toggle{display:flex;align-items:center;gap:5px;font-size:var(--fs-sm);color:var(--text-muted);white-space:nowrap;cursor:pointer;user-select:none}.rt-verify-toggle input{accent-color:var(--accent);cursor:pointer}.rt-verify-prefix{color:var(--text-muted);font-style:italic}.tbl-avatar{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;font-size:9px;font-weight:600;line-height:1;background:hsl(var(--avatar-hue, 180),45%,38%);color:#fff;flex-shrink:0;vertical-align:middle}.runs-empty{color:var(--text-muted);font-size:var(--fs);padding:var(--space-4) var(--space-3)!important;text-align:center}.run-setup{position:fixed;width:min(380px,94vw);max-height:72vh;overflow-y:auto;overflow-x:hidden;padding:var(--space-3);z-index:60;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-md);box-shadow:var(--shadow)}.run-setup .param-panel{border-bottom:none}.run-setup .param-list,.run-setup .sim-settings{padding-left:0;padding-right:0}.run-setup .param-panel>summary{padding-left:0;padding-right:0;font-family:var(--sans);font-size:var(--fs-sm);letter-spacing:.4px;color:var(--text-muted);text-transform:uppercase}.run-setup-foot{display:flex;justify-content:flex-end;margin-top:var(--space-3)}.run-split{display:inline-flex}.run-split #btn-run{border-right:0;border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.run-split #btn-run-setup{border-radius:0 var(--radius-sm) var(--radius-sm) 0;border-left:1px solid var(--accent-lo);padding:5px 8px}@media (prefers-reduced-motion: no-preference){.m-reveal{animation:m-reveal var(--m-reveal-ms, .6s) cubic-bezier(.2,.6,.2,1) both}@keyframes m-reveal{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}#run-underline{position:absolute;left:0;right:0;bottom:-1px;height:2px;overflow:hidden;opacity:0;pointer-events:none;transition:opacity .15s ease}#run-underline:before{content:"";position:absolute;width:30%;height:100%;background:var(--accent);animation:run-sweep 1.1s cubic-bezier(.4,.2,.6,.8) infinite}@keyframes run-sweep{0%{left:-30%}to{left:100%}}#run-underline.on{opacity:1}.view-fade{animation:view-fade .15s ease both}@keyframes view-fade{0%{opacity:0}}.cm-settling .cm-diff-add{transition:background-color .9s ease;background-color:transparent!important}.dg-settle,.dg-settle *{transition:stroke .8s ease}}.doc-folder{font-size:12px;color:var(--text-2);padding:2px 12px 6px}.doc-folder-path{font-family:var(--mono);color:var(--text)}.saved-folder-head.contains-active .folder-label{color:var(--accent)}.profile-panel{width:min(400px,calc(100vw - 40px));background:var(--panel);border:1px solid var(--border-2);border-radius:var(--radius-md);box-shadow:var(--shadow);padding:18px;margin:auto}.profile-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}.profile-avatar{width:40px;height:40px;border-radius:50%;font-size:15px;font-weight:600;color:#fff;display:flex;align-items:center;justify-content:center;background:hsl(var(--avatar-hue, 210),45%,42%);flex:none}.profile-who{display:flex;align-items:center;gap:8px;font-size:var(--fs-md);min-width:0}.profile-who b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-rows{border-top:1px solid var(--line-soft)}.profile-row{display:flex;justify-content:space-between;gap:14px;padding:8px 0;border-bottom:1px solid var(--line-soft);font-size:var(--fs)}.profile-row span:first-child{color:var(--text-muted);flex:none}.profile-row span:last-child{text-align:right;overflow:hidden;text-overflow:ellipsis}.profile-usage{margin-top:16px}.profile-usage-head{font-size:var(--fs-sm);font-weight:600;color:var(--text-2);text-transform:uppercase;letter-spacing:.04em}.profile-usage-state{font-size:var(--fs-sm);color:var(--text-muted);margin:8px 0 0}.profile-usage-plan{font-size:var(--fs-sm);color:var(--text-muted);margin:4px 0 10px;text-transform:capitalize}.profile-ubar{margin:10px 0}.profile-ubar-top{display:flex;justify-content:space-between;gap:12px;font-size:var(--fs)}.profile-ubar-label{color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-ubar-ratio{color:var(--text);flex:none;font-variant-numeric:tabular-nums}.profile-ubar-track{height:5px;margin:5px 0 3px;border-radius:3px;background:var(--line);overflow:hidden}.profile-ubar-fill{height:100%;border-radius:3px;background:var(--accent);transition:width .2s ease}.profile-ubar-fill.full{background:var(--warn)}.profile-ubar-mine{font-size:var(--fs-xs);color:var(--text-muted);font-variant-numeric:tabular-nums}.profile-tokens{margin:6px 0 8px}.profile-token-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid var(--line-soft)}.profile-token-meta{display:flex;flex-direction:column;min-width:0}.profile-token-label{font-size:var(--fs);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-token-sub{font-size:var(--fs-xs);color:var(--text-muted);font-variant-numeric:tabular-nums}.profile-connect{margin-top:12px;padding-top:10px;border-top:1px solid var(--line-soft)}.profile-connect-endpoint{font-family:var(--mono, ui-monospace, monospace);font-size:var(--fs-xs);color:var(--text);background:var(--surface-2);border:1px solid var(--line-soft);border-radius:3px;padding:5px 8px;margin:8px 0;overflow-wrap:anywhere}.profile-token-sublabel{font-size:var(--fs-xs);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin:14px 0 4px}.profile-connect-head{font-size:var(--fs-xs);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.profile-connect-cmd{margin:6px 0;padding:8px 10px;border:1px solid var(--line-soft);border-radius:4px;background:var(--surface-2);color:var(--text);font-family:var(--mono, ui-monospace, monospace);font-size:var(--fs-xs);line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.profile-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.login-overlay{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:24px}.login-card{width:min(400px,100%);background:var(--surface-2);border:1px solid var(--line-soft);border-radius:var(--radius-md);box-shadow:var(--shadow);padding:30px 30px 26px}.login-brand{display:flex;align-items:center;gap:8px;color:var(--accent);margin-bottom:22px}.login-word{font-family:var(--sans);font-weight:600;font-size:17px;letter-spacing:.2px;color:var(--text)}.login-title{font-size:19px;font-weight:600;color:var(--text);margin:0 0 8px}.login-sub{font-size:var(--fs-md);color:var(--text-2);line-height:1.5;margin:0 0 20px}.login-form{display:flex;flex-direction:column;gap:10px}.login-consent{display:flex;align-items:flex-start;gap:8px;font-size:13px;line-height:1.45;color:var(--text-2);cursor:pointer;text-align:left}.login-consent-box{margin:2px 0 0;flex:0 0 auto;cursor:pointer}.login-turnstile:not(:empty){margin:2px 0}.login-input{font-family:var(--mono);font-size:var(--fs-md);color:var(--text);background:var(--sunk);border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:9px 11px}.login-input:focus{outline:none;border-color:var(--accent-lo)}.login-primary{width:100%;border:1px solid var(--accent-lo);border-radius:var(--radius-sm);background:var(--accent);color:var(--accent-ink);font-weight:600;font-size:var(--fs-md);padding:10px 14px;margin-top:2px}.login-primary:hover{background:var(--accent-hi)}.login-primary:disabled{opacity:.55;cursor:default}.login-error{color:var(--error);font-size:var(--fs-sm);margin:2px 0 0}.login-note{font-size:var(--fs-sm);color:var(--text-muted);line-height:1.5;margin:20px 0 0}.login-link{color:var(--accent);font-size:var(--fs-sm);text-decoration:none}.login-link:hover{text-decoration:underline}.ai-readonly-bar{display:flex;align-items:center;gap:8px;margin:6px 10px 0;padding:6px 10px;border:1px solid var(--border-2);border-radius:var(--radius-sm);background:var(--surface-2);font-size:11.5px;color:var(--text-2)}.ai-readonly-bar.hidden{display:none}.ai-readonly-text{flex:1 1 auto}.ai-readonly-btn{flex:0 0 auto;padding:2px 8px;font-size:11px}.ai-upstream-retry{font-size:11.5px;color:var(--warn);font-family:var(--mono);padding:2px 0}.plans-modal{max-width:960px;width:calc(100vw - 32px)}.plans-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.plans-note{font-size:13px;color:var(--text-2);margin:0 0 8px}.plans-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.plans-card{border:1px solid var(--line);border-radius:6px;padding:12px;background:var(--surface)}.plans-card.current{border-color:var(--accent)}.plans-price{font-size:20px;font-weight:600;margin:4px 0}.plans-min{font-size:12px;color:var(--text-2)}.plans-card dl{display:grid;grid-template-columns:1fr auto;gap:2px 8px;font-size:12px;margin:10px 0}.plans-card dd{margin:0;text-align:right}.plans-action{display:block;width:100%;text-align:center;box-sizing:border-box}.plans-foot{font-size:12px;color:var(--text-2);margin-top:12px}.profile-usage-plans{margin-top:8px}.uplot,.uplot *,.uplot *:before,.uplot *:after{box-sizing:border-box}.uplot{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:1.5;width:min-content}.u-title{text-align:center;font-size:18px;font-weight:700}.u-wrap{position:relative;user-select:none}.u-over,.u-under{position:absolute}.u-under{overflow:hidden}.uplot canvas{display:block;position:relative;width:100%;height:100%}.u-axis{position:absolute}.u-legend{font-size:14px;margin:auto;text-align:center}.u-inline{display:block}.u-inline *{display:inline-block}.u-inline tr{margin-right:16px}.u-legend th{font-weight:600}.u-legend th>*{vertical-align:middle;display:inline-block}.u-legend .u-marker{width:1em;height:1em;margin-right:4px;background-clip:padding-box!important}.u-inline.u-live th:after{content:":";vertical-align:middle}.u-inline:not(.u-live) .u-value{display:none}.u-series>*{padding:4px}.u-series th{cursor:pointer}.u-legend .u-off>*{opacity:.3}.u-select{background:#00000012;position:absolute;pointer-events:none}.u-cursor-x,.u-cursor-y{position:absolute;left:0;top:0;pointer-events:none;will-change:transform}.u-hz .u-cursor-x,.u-vt .u-cursor-y{height:100%;border-right:1px dashed #607D8B}.u-hz .u-cursor-y,.u-vt .u-cursor-x{width:100%;border-bottom:1px dashed #607D8B}.u-cursor-pt{position:absolute;top:0;left:0;border-radius:50%;border:0 solid;pointer-events:none;will-change:transform;background-clip:padding-box!important}.u-axis.u-off,.u-select.u-off,.u-cursor-x.u-off,.u-cursor-y.u-off,.u-cursor-pt.u-off{display:none}:host,:root{--d2h-bg-color:#fff;--d2h-border-color:#ddd;--d2h-dim-color:rgba(0,0,0,.3);--d2h-line-border-color:#eee;--d2h-file-header-bg-color:#f7f7f7;--d2h-file-header-border-color:#d8d8d8;--d2h-empty-placeholder-bg-color:#f1f1f1;--d2h-empty-placeholder-border-color:#e1e1e1;--d2h-selected-color:#c8e1ff;--d2h-ins-bg-color:#dfd;--d2h-ins-border-color:#b4e2b4;--d2h-ins-highlight-bg-color:#97f295;--d2h-ins-label-color:#399839;--d2h-del-bg-color:#fee8e9;--d2h-del-border-color:#e9aeae;--d2h-del-highlight-bg-color:#ffb6ba;--d2h-del-label-color:#c33;--d2h-change-del-color:#fdf2d0;--d2h-change-ins-color:#ded;--d2h-info-bg-color:#f8fafd;--d2h-info-border-color:#d5e4f2;--d2h-change-label-color:#d0b44c;--d2h-moved-label-color:#3572b0;--d2h-dark-color:#e6edf3;--d2h-dark-bg-color:#0d1117;--d2h-dark-border-color:#30363d;--d2h-dark-dim-color:#6e7681;--d2h-dark-line-border-color:#21262d;--d2h-dark-file-header-bg-color:#161b22;--d2h-dark-file-header-border-color:#30363d;--d2h-dark-empty-placeholder-bg-color:hsla(215,8%,47%,.1);--d2h-dark-empty-placeholder-border-color:#30363d;--d2h-dark-selected-color:rgba(56,139,253,.1);--d2h-dark-ins-bg-color:rgba(46,160,67,.15);--d2h-dark-ins-border-color:rgba(46,160,67,.4);--d2h-dark-ins-highlight-bg-color:rgba(46,160,67,.4);--d2h-dark-ins-label-color:#3fb950;--d2h-dark-del-bg-color:rgba(248,81,73,.1);--d2h-dark-del-border-color:rgba(248,81,73,.4);--d2h-dark-del-highlight-bg-color:rgba(248,81,73,.4);--d2h-dark-del-label-color:#f85149;--d2h-dark-change-del-color:rgba(210,153,34,.2);--d2h-dark-change-ins-color:rgba(46,160,67,.25);--d2h-dark-info-bg-color:rgba(56,139,253,.1);--d2h-dark-info-border-color:rgba(56,139,253,.4);--d2h-dark-change-label-color:#d29922;--d2h-dark-moved-label-color:#3572b0}.d2h-wrapper{text-align:left}.d2h-file-header{background-color:#f7f7f7;background-color:var(--d2h-file-header-bg-color);border-bottom:1px solid #d8d8d8;border-bottom:1px solid var(--d2h-file-header-border-color);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:Source Sans Pro,Helvetica Neue,Helvetica,Arial,sans-serif;height:35px;padding:5px 10px}.d2h-file-header.d2h-sticky-header{position:sticky;top:0;z-index:1}.d2h-file-stats{display:-webkit-box;display:-ms-flexbox;display:flex;font-size:14px;margin-left:auto}.d2h-lines-added{border:1px solid #b4e2b4;border:1px solid var(--d2h-ins-border-color);border-radius:5px 0 0 5px;color:#399839;color:var(--d2h-ins-label-color);padding:2px;text-align:right;vertical-align:middle}.d2h-lines-deleted{border:1px solid #e9aeae;border:1px solid var(--d2h-del-border-color);border-radius:0 5px 5px 0;color:#c33;color:var(--d2h-del-label-color);margin-left:1px;padding:2px;text-align:left;vertical-align:middle}.d2h-file-name-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:15px;width:100%}.d2h-file-name{overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}.d2h-file-wrapper{border:1px solid #ddd;border:1px solid var(--d2h-border-color);border-radius:3px;margin-bottom:1em}.d2h-file-collapse{-webkit-box-pack:end;-ms-flex-pack:end;cursor:pointer;display:none;font-size:12px;justify-content:flex-end;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:1px solid #ddd;border:1px solid var(--d2h-border-color);border-radius:3px;padding:4px 8px}.d2h-file-collapse.d2h-selected{background-color:#c8e1ff;background-color:var(--d2h-selected-color)}.d2h-file-collapse-input{margin:0 4px 0 0}.d2h-diff-table{border-collapse:collapse;font-family:Menlo,Consolas,monospace;font-size:13px;width:100%}.d2h-files-diff{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%}.d2h-file-diff{overflow-y:hidden}.d2h-file-diff.d2h-d-none,.d2h-files-diff.d2h-d-none{display:none}.d2h-file-side-diff{display:inline-block;overflow-x:scroll;overflow-y:hidden;width:50%}.d2h-code-line{padding:0 8em;width:calc(100% - 16em)}.d2h-code-line,.d2h-code-side-line{display:inline-block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap}.d2h-code-side-line{padding:0 4.5em;width:calc(100% - 9em)}.d2h-code-line-ctn{background:none;display:inline-block;padding:0;word-wrap:normal;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;vertical-align:middle;white-space:pre;width:100%}.d2h-code-line del,.d2h-code-side-line del{background-color:#ffb6ba;background-color:var(--d2h-del-highlight-bg-color)}.d2h-code-line del,.d2h-code-line ins,.d2h-code-side-line del,.d2h-code-side-line ins{border-radius:.2em;display:inline-block;margin-top:-1px;-webkit-text-decoration:none;text-decoration:none}.d2h-code-line ins,.d2h-code-side-line ins{background-color:#97f295;background-color:var(--d2h-ins-highlight-bg-color);text-align:left}.d2h-code-line-prefix{background:none;display:inline;padding:0;word-wrap:normal;white-space:pre}.line-num1{float:left}.line-num1,.line-num2{-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;padding:0 .5em;text-overflow:ellipsis;width:3.5em}.line-num2{float:right}.d2h-code-linenumber{background-color:#fff;background-color:var(--d2h-bg-color);border:solid #eee;border:solid var(--d2h-line-border-color);border-width:0 1px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#0000004d;color:var(--d2h-dim-color);cursor:pointer;display:inline-block;position:absolute;text-align:right;width:7.5em}.d2h-code-linenumber:after{content:"​"}.d2h-code-side-linenumber{background-color:#fff;background-color:var(--d2h-bg-color);border:solid #eee;border:solid var(--d2h-line-border-color);border-width:0 1px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#0000004d;color:var(--d2h-dim-color);cursor:pointer;display:inline-block;overflow:hidden;padding:0 .5em;position:absolute;text-align:right;text-overflow:ellipsis;width:4em}.d2h-code-side-linenumber:after{content:"​"}.d2h-code-side-emptyplaceholder,.d2h-emptyplaceholder{background-color:#f1f1f1;background-color:var(--d2h-empty-placeholder-bg-color);border-color:#e1e1e1;border-color:var(--d2h-empty-placeholder-border-color)}.d2h-code-line-prefix,.d2h-code-linenumber,.d2h-code-side-linenumber,.d2h-emptyplaceholder{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.d2h-code-linenumber,.d2h-code-side-linenumber{direction:rtl}.d2h-del{background-color:#fee8e9;background-color:var(--d2h-del-bg-color);border-color:#e9aeae;border-color:var(--d2h-del-border-color)}.d2h-ins{background-color:#dfd;background-color:var(--d2h-ins-bg-color);border-color:#b4e2b4;border-color:var(--d2h-ins-border-color)}.d2h-info{background-color:#f8fafd;background-color:var(--d2h-info-bg-color);border-color:#d5e4f2;border-color:var(--d2h-info-border-color);color:#0000004d;color:var(--d2h-dim-color)}.d2h-file-diff .d2h-del.d2h-change{background-color:#fdf2d0;background-color:var(--d2h-change-del-color)}.d2h-file-diff .d2h-ins.d2h-change{background-color:#ded;background-color:var(--d2h-change-ins-color)}.d2h-file-list-wrapper{margin-bottom:10px}.d2h-file-list-wrapper a{-webkit-text-decoration:none;text-decoration:none}.d2h-file-list-wrapper a,.d2h-file-list-wrapper a:visited{color:#3572b0;color:var(--d2h-moved-label-color)}.d2h-file-list-header{text-align:left}.d2h-file-list-title{font-weight:700}.d2h-file-list-line{display:-webkit-box;display:-ms-flexbox;display:flex;text-align:left}.d2h-file-list{display:block;list-style:none;margin:0;padding:0}.d2h-file-list>li{border-bottom:1px solid #ddd;border-bottom:1px solid var(--d2h-border-color);margin:0;padding:5px 10px}.d2h-file-list>li:last-child{border-bottom:none}.d2h-file-switch{cursor:pointer;display:none;font-size:10px}.d2h-icon{fill:currentColor;margin-right:10px;vertical-align:middle}.d2h-deleted{color:#c33;color:var(--d2h-del-label-color)}.d2h-added{color:#399839;color:var(--d2h-ins-label-color)}.d2h-changed{color:#d0b44c;color:var(--d2h-change-label-color)}.d2h-moved{color:#3572b0;color:var(--d2h-moved-label-color)}.d2h-tag{background-color:#fff;background-color:var(--d2h-bg-color);display:-webkit-box;display:-ms-flexbox;display:flex;font-size:10px;margin-left:5px;padding:0 2px}.d2h-deleted-tag{border:1px solid #c33;border:1px solid var(--d2h-del-label-color)}.d2h-added-tag{border:1px solid #399839;border:1px solid var(--d2h-ins-label-color)}.d2h-changed-tag{border:1px solid #d0b44c;border:1px solid var(--d2h-change-label-color)}.d2h-moved-tag{border:1px solid #3572b0;border:1px solid var(--d2h-moved-label-color)}.d2h-dark-color-scheme{background-color:#0d1117;background-color:var(--d2h-dark-bg-color);color:#e6edf3;color:var(--d2h-dark-color)}.d2h-dark-color-scheme .d2h-file-header{background-color:#161b22;background-color:var(--d2h-dark-file-header-bg-color);border-bottom:#30363d;border-bottom:var(--d2h-dark-file-header-border-color)}.d2h-dark-color-scheme .d2h-lines-added{border:1px solid rgba(46,160,67,.4);border:1px solid var(--d2h-dark-ins-border-color);color:#3fb950;color:var(--d2h-dark-ins-label-color)}.d2h-dark-color-scheme .d2h-lines-deleted{border:1px solid rgba(248,81,73,.4);border:1px solid var(--d2h-dark-del-border-color);color:#f85149;color:var(--d2h-dark-del-label-color)}.d2h-dark-color-scheme .d2h-code-line del,.d2h-dark-color-scheme .d2h-code-side-line del{background-color:#f8514966;background-color:var(--d2h-dark-del-highlight-bg-color)}.d2h-dark-color-scheme .d2h-code-line ins,.d2h-dark-color-scheme .d2h-code-side-line ins{background-color:#2ea04366;background-color:var(--d2h-dark-ins-highlight-bg-color)}.d2h-dark-color-scheme .d2h-diff-tbody{border-color:#30363d;border-color:var(--d2h-dark-border-color)}.d2h-dark-color-scheme .d2h-code-side-linenumber{background-color:#0d1117;background-color:var(--d2h-dark-bg-color);border-color:#21262d;border-color:var(--d2h-dark-line-border-color);color:#6e7681;color:var(--d2h-dark-dim-color)}.d2h-dark-color-scheme .d2h-files-diff .d2h-code-side-emptyplaceholder,.d2h-dark-color-scheme .d2h-files-diff .d2h-emptyplaceholder{background-color:#6e76811a;background-color:var(--d2h-dark-empty-placeholder-bg-color);border-color:#30363d;border-color:var(--d2h-dark-empty-placeholder-border-color)}.d2h-dark-color-scheme .d2h-code-linenumber{background-color:#0d1117;background-color:var(--d2h-dark-bg-color);border-color:#21262d;border-color:var(--d2h-dark-line-border-color);color:#6e7681;color:var(--d2h-dark-dim-color)}.d2h-dark-color-scheme .d2h-del{background-color:#f851491a;background-color:var(--d2h-dark-del-bg-color);border-color:#f8514966;border-color:var(--d2h-dark-del-border-color)}.d2h-dark-color-scheme .d2h-ins{background-color:#2ea04326;background-color:var(--d2h-dark-ins-bg-color);border-color:#2ea04366;border-color:var(--d2h-dark-ins-border-color)}.d2h-dark-color-scheme .d2h-info{background-color:#388bfd1a;background-color:var(--d2h-dark-info-bg-color);border-color:#388bfd66;border-color:var(--d2h-dark-info-border-color);color:#6e7681;color:var(--d2h-dark-dim-color)}.d2h-dark-color-scheme .d2h-file-diff .d2h-del.d2h-change{background-color:#d2992233;background-color:var(--d2h-dark-change-del-color)}.d2h-dark-color-scheme .d2h-file-diff .d2h-ins.d2h-change{background-color:#2ea04340;background-color:var(--d2h-dark-change-ins-color)}.d2h-dark-color-scheme .d2h-file-wrapper{border:1px solid #30363d;border:1px solid var(--d2h-dark-border-color)}.d2h-dark-color-scheme .d2h-file-collapse{border:1px solid #0d1117;border:1px solid var(--d2h-dark-bg-color)}.d2h-dark-color-scheme .d2h-file-collapse.d2h-selected{background-color:#388bfd1a;background-color:var(--d2h-dark-selected-color)}.d2h-dark-color-scheme .d2h-file-list-wrapper a,.d2h-dark-color-scheme .d2h-file-list-wrapper a:visited{color:#3572b0;color:var(--d2h-dark-moved-label-color)}.d2h-dark-color-scheme .d2h-file-list>li{border-bottom:1px solid #0d1117;border-bottom:1px solid var(--d2h-dark-bg-color)}.d2h-dark-color-scheme .d2h-deleted{color:#f85149;color:var(--d2h-dark-del-label-color)}.d2h-dark-color-scheme .d2h-added{color:#3fb950;color:var(--d2h-dark-ins-label-color)}.d2h-dark-color-scheme .d2h-changed{color:#d29922;color:var(--d2h-dark-change-label-color)}.d2h-dark-color-scheme .d2h-moved{color:#3572b0;color:var(--d2h-dark-moved-label-color)}.d2h-dark-color-scheme .d2h-tag{background-color:#0d1117;background-color:var(--d2h-dark-bg-color)}.d2h-dark-color-scheme .d2h-deleted-tag{border:1px solid #f85149;border:1px solid var(--d2h-dark-del-label-color)}.d2h-dark-color-scheme .d2h-added-tag{border:1px solid #3fb950;border:1px solid var(--d2h-dark-ins-label-color)}.d2h-dark-color-scheme .d2h-changed-tag{border:1px solid #d29922;border:1px solid var(--d2h-dark-change-label-color)}.d2h-dark-color-scheme .d2h-moved-tag{border:1px solid #3572b0;border:1px solid var(--d2h-dark-moved-label-color)}@media (prefers-color-scheme:dark){.d2h-auto-color-scheme{background-color:#0d1117;background-color:var(--d2h-dark-bg-color);color:#e6edf3;color:var(--d2h-dark-color)}.d2h-auto-color-scheme .d2h-file-header{background-color:#161b22;background-color:var(--d2h-dark-file-header-bg-color);border-bottom:#30363d;border-bottom:var(--d2h-dark-file-header-border-color)}.d2h-auto-color-scheme .d2h-lines-added{border:1px solid rgba(46,160,67,.4);border:1px solid var(--d2h-dark-ins-border-color);color:#3fb950;color:var(--d2h-dark-ins-label-color)}.d2h-auto-color-scheme .d2h-lines-deleted{border:1px solid rgba(248,81,73,.4);border:1px solid var(--d2h-dark-del-border-color);color:#f85149;color:var(--d2h-dark-del-label-color)}.d2h-auto-color-scheme .d2h-code-line del,.d2h-auto-color-scheme .d2h-code-side-line del{background-color:#f8514966;background-color:var(--d2h-dark-del-highlight-bg-color)}.d2h-auto-color-scheme .d2h-code-line ins,.d2h-auto-color-scheme .d2h-code-side-line ins{background-color:#2ea04366;background-color:var(--d2h-dark-ins-highlight-bg-color)}.d2h-auto-color-scheme .d2h-diff-tbody{border-color:#30363d;border-color:var(--d2h-dark-border-color)}.d2h-auto-color-scheme .d2h-code-side-linenumber{background-color:#0d1117;background-color:var(--d2h-dark-bg-color);border-color:#21262d;border-color:var(--d2h-dark-line-border-color);color:#6e7681;color:var(--d2h-dark-dim-color)}.d2h-auto-color-scheme .d2h-files-diff .d2h-code-side-emptyplaceholder,.d2h-auto-color-scheme .d2h-files-diff .d2h-emptyplaceholder{background-color:#6e76811a;background-color:var(--d2h-dark-empty-placeholder-bg-color);border-color:#30363d;border-color:var(--d2h-dark-empty-placeholder-border-color)}.d2h-auto-color-scheme .d2h-code-linenumber{background-color:#0d1117;background-color:var(--d2h-dark-bg-color);border-color:#21262d;border-color:var(--d2h-dark-line-border-color);color:#6e7681;color:var(--d2h-dark-dim-color)}.d2h-auto-color-scheme .d2h-del{background-color:#f851491a;background-color:var(--d2h-dark-del-bg-color);border-color:#f8514966;border-color:var(--d2h-dark-del-border-color)}.d2h-auto-color-scheme .d2h-ins{background-color:#2ea04326;background-color:var(--d2h-dark-ins-bg-color);border-color:#2ea04366;border-color:var(--d2h-dark-ins-border-color)}.d2h-auto-color-scheme .d2h-info{background-color:#388bfd1a;background-color:var(--d2h-dark-info-bg-color);border-color:#388bfd66;border-color:var(--d2h-dark-info-border-color);color:#6e7681;color:var(--d2h-dark-dim-color)}.d2h-auto-color-scheme .d2h-file-diff .d2h-del.d2h-change{background-color:#d2992233;background-color:var(--d2h-dark-change-del-color)}.d2h-auto-color-scheme .d2h-file-diff .d2h-ins.d2h-change{background-color:#2ea04340;background-color:var(--d2h-dark-change-ins-color)}.d2h-auto-color-scheme .d2h-file-wrapper{border:1px solid #30363d;border:1px solid var(--d2h-dark-border-color)}.d2h-auto-color-scheme .d2h-file-collapse{border:1px solid #0d1117;border:1px solid var(--d2h-dark-bg-color)}.d2h-auto-color-scheme .d2h-file-collapse.d2h-selected{background-color:#388bfd1a;background-color:var(--d2h-dark-selected-color)}.d2h-auto-color-scheme .d2h-file-list-wrapper a,.d2h-auto-color-scheme .d2h-file-list-wrapper a:visited{color:#3572b0;color:var(--d2h-dark-moved-label-color)}.d2h-auto-color-scheme .d2h-file-list>li{border-bottom:1px solid #0d1117;border-bottom:1px solid var(--d2h-dark-bg-color)}.d2h-dark-color-scheme .d2h-deleted{color:#f85149;color:var(--d2h-dark-del-label-color)}.d2h-auto-color-scheme .d2h-added{color:#3fb950;color:var(--d2h-dark-ins-label-color)}.d2h-auto-color-scheme .d2h-changed{color:#d29922;color:var(--d2h-dark-change-label-color)}.d2h-auto-color-scheme .d2h-moved{color:#3572b0;color:var(--d2h-dark-moved-label-color)}.d2h-auto-color-scheme .d2h-tag{background-color:#0d1117;background-color:var(--d2h-dark-bg-color)}.d2h-auto-color-scheme .d2h-deleted-tag{border:1px solid #f85149;border:1px solid var(--d2h-dark-del-label-color)}.d2h-auto-color-scheme .d2h-added-tag{border:1px solid #3fb950;border:1px solid var(--d2h-dark-ins-label-color)}.d2h-auto-color-scheme .d2h-changed-tag{border:1px solid #d29922;border:1px solid var(--d2h-dark-change-label-color)}.d2h-auto-color-scheme .d2h-moved-tag{border:1px solid #3572b0;border:1px solid var(--d2h-dark-moved-label-color)}}
