:root{--titlebar-h: 36px;--activitybar-w: 46px;--sidebar-w: 236px;--ai-w: 344px;--panel-h: 168px;--statusbar-h: 24px;--tabbar-h: 34px;--radius: 7px;--radius-sm: 5px;--font-ui: -apple-system, "Segoe UI", "Microsoft YaHei", "Noto Sans CJK SC", system-ui, sans-serif;--font-mono: "Cascadia Code", "JetBrains Mono", "SF Mono", Consolas, "Noto Sans Mono CJK SC", monospace;--fs-xs: 11px;--fs-sm: 12px;--fs-md: 13px;--bg: #f7f8f8;--surface: #ffffff;--surface-2: #f2f4f3;--surface-3: #e9eceb;--surface-inset: #fbfbfb;--border: #e2e5e4;--border-strong: #cfd4d3;--ink: #232b2a;--ink-2: #4b5756;--muted: #7d8887;--faint: #a3acab;--accent: #3d7d72;--accent-hover: #356e64;--accent-ink: #ffffff;--accent-soft: #e4efec;--accent-line: #b8d4ce;--ai: #7b6ca6;--ai-hover: #6c5d96;--ai-soft: #eeebf6;--ai-line: #cec6e4;--ok: #46885a;--warn: #a97a26;--err: #b0554a;--ok-soft: #e7f1e9;--warn-soft: #f7efdf;--err-soft: #f8e9e6;--chat-me: var(--accent);--chat-me-ink: var(--accent-ink);--chat-me-ava: var(--accent-soft);--chat-bot: #ffffff;--fmt-mermaid: #3d7d72;--fmt-dot: #a07f36;--fmt-d2: #8a5f8f;--fmt-drawio: #4a7196;--fmt-excalidraw: #8a6f9e;--code-key: #7d5fa0;--code-str: #46814f;--code-id: #2f6d8c;--code-edge: #8b9291;--code-num: #9c6b3d;--code-com: #a2a9a8;--code-tag: #3d7d72;--code-attr: #a07f36;--sh-1: 0 1px 2px rgba(24, 32, 31, .06);--sh-2: 0 4px 14px rgba(24, 32, 31, .1);--sh-3: 0 14px 40px rgba(24, 32, 31, .16);--canvas-dot: rgba(35, 43, 42, .1);--canvas-bg: #ffffff;color-scheme:light}html[data-theme=dark]{--bg: #16191a;--surface: #1c2021;--surface-2: #191d1e;--surface-3: #242929;--surface-inset: #1a1e1f;--border: #2b3132;--border-strong: #3b4344;--ink: #d8dedd;--ink-2: #b0b9b8;--muted: #838d8c;--faint: #656f6e;--accent: #6fb2a3;--accent-hover: #82c2b3;--accent-ink: #10201d;--accent-soft: #21332f;--accent-line: #2f4f48;--ai: #a99bd4;--ai-hover: #bcb0e2;--ai-soft: #272340;--ai-line: #3b3559;--ok: #79b98a;--warn: #d0a45e;--err: #dd8b7f;--ok-soft: #1f2e23;--warn-soft: #2e2819;--err-soft: #33211e;--chat-bot: #232829;--fmt-mermaid: #6fb2a3;--fmt-dot: #cfa95f;--fmt-d2: #c79ac7;--fmt-drawio: #7ea6cc;--fmt-excalidraw: #b39ac9;--code-key: #b39ddb;--code-str: #8dc79a;--code-id: #7fb6d4;--code-edge: #7c8786;--code-num: #d3a878;--code-com: #6d7776;--code-tag: #6fb2a3;--code-attr: #cfa95f;--sh-1: 0 1px 2px rgba(0, 0, 0, .3);--sh-2: 0 6px 18px rgba(0, 0, 0, .38);--sh-3: 0 18px 48px rgba(0, 0, 0, .5);--canvas-dot: rgba(216, 222, 221, .1);--canvas-bg: #1a1e1f;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden}body{font:var(--fs-md)/1.5 var(--font-ui);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;user-select:none}button,input,select,textarea{font:inherit;color:inherit}button{background:none;border:0;padding:0;cursor:pointer}ul,ol{margin:0;padding:0;list-style:none}h1,h2,h3,h4,p{margin:0}[hidden]{display:none!important}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);border:3px solid transparent;background-clip:content-box;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--muted);background-clip:content-box}::-webkit-scrollbar-track{background:transparent}.ico{width:16px;height:16px;flex:0 0 auto;display:block}.ico-sm{width:13px;height:13px}.ico-lg{width:20px;height:20px}:focus-visible{outline:2px solid var(--accent);outline-offset:-1px;border-radius:3px}.workbench{display:grid;grid-template-rows:var(--titlebar-h) 1fr var(--statusbar-h);height:100vh}.body-row{display:grid;grid-template-columns:var(--activitybar-w) var(--sidebar-w) 5px minmax(0,1fr) 5px var(--ai-w);min-height:0;transition:grid-template-columns .16s ease}body.resizing .body-row{transition:none}body.no-activitybar{--activitybar-w: 0px}body.no-sidebar{--sidebar-w: 0px}body.no-ai{--ai-w: 0px}body.no-activitybar .activitybar,body.no-sidebar .sidebar,body.no-ai .ai-pane{display:none}.body-row>.activitybar{grid-column:1}.body-row>.sidebar{grid-column:2}.body-row>.v-gutter#sidebar-gutter{grid-column:3}.body-row>.editor-col{grid-column:4}.body-row>.v-gutter#ai-gutter{grid-column:5}.body-row>.ai-pane{grid-column:6}body.no-sidebar #sidebar-gutter,body.no-ai #ai-gutter{display:none}.titlebar{display:flex;align-items:center;gap:10px;padding:0 10px 0 12px;background:var(--surface-2);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:baseline;gap:7px;font-weight:600;letter-spacing:.2px}.brand .logo{align-self:center;width:18px;height:18px;border-radius:5px;display:grid;place-items:center;color:var(--accent-ink);background:linear-gradient(140deg,var(--accent),var(--ai))}.brand .logo svg{width:12px;height:12px}.brand-name{font-size:var(--fs-md)}.brand-ver{font-size:var(--fs-xs);color:var(--faint);font-weight:400}.titlebar-menu{display:flex;align-items:center;gap:2px}.tb-item{padding:3px 9px;font-size:var(--fs-sm);color:var(--ink-2);border-radius:var(--radius-sm)}.tb-item:hover,.tb-item.open{background:var(--surface-3);color:var(--ink)}.titlebar-center{flex:1;min-width:0;display:flex;justify-content:center}.doc-title{display:flex;align-items:center;gap:7px;padding:3px 12px;font-size:var(--fs-sm);color:var(--muted);background:var(--surface-inset);border:1px solid var(--border);border-radius:999px;max-width:100%}.doc-title .dot{width:7px;height:7px;border-radius:50%;flex:0 0 auto}.doc-title b{font-weight:500;color:var(--ink-2)}.doc-title .path{color:var(--faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.titlebar-actions{display:flex;align-items:center;gap:4px}.icon-btn{width:26px;height:26px;display:grid;place-items:center;color:var(--ink-2);border-radius:var(--radius-sm)}.icon-btn:hover{background:var(--surface-3);color:var(--ink)}.icon-btn.on{background:var(--accent-soft);color:var(--accent)}.tab-conv{width:auto;display:flex;align-items:center;gap:5px;padding:0 8px;font-size:var(--fs-xs);white-space:nowrap}.win-btns{display:flex;gap:2px;margin-left:4px}.win-btn{width:30px;height:24px;display:grid;place-items:center;color:var(--muted);border-radius:var(--radius-sm)}.win-btn:hover{background:var(--surface-3);color:var(--ink)}.win-btn.close:hover{background:var(--err);color:#fff}.activitybar{display:flex;flex-direction:column;align-items:center;gap:2px;padding:7px 0;background:var(--surface-2);border-right:1px solid var(--border);overflow:hidden}.act{position:relative;width:38px;height:38px;display:grid;place-items:center;color:var(--muted);border-radius:var(--radius)}.act:hover{background:var(--surface-3);color:var(--ink)}.act.on{color:var(--accent)}.act.on:before{content:"";position:absolute;left:-7px;top:8px;bottom:8px;width:2px;border-radius:2px;background:var(--accent)}.act.is-ai.on{color:var(--ai)}.act.is-ai.on:before{background:var(--ai)}.act .badge{position:absolute;right:6px;top:6px;min-width:14px;height:14px;padding:0 3px;font-size:9px;line-height:14px;font-weight:600;color:#fff;background:var(--ai);border-radius:999px}.act-sep{width:20px;height:1px;margin:5px 0;background:var(--border)}.act-spacer{flex:1}.sidebar{display:flex;flex-direction:column;min-width:0;background:var(--surface-2);border-right:1px solid var(--border);overflow:hidden}.side-head{display:flex;align-items:center;gap:6px;height:32px;padding:0 10px 0 14px;font-size:var(--fs-xs);font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:var(--muted)}.side-head .sp{flex:1}.side-view{flex:1;min-height:0;overflow:auto;padding:0 6px 10px}.side-view[hidden]{display:none}.side-section+.side-section{margin-top:6px}.side-section>h4{display:flex;align-items:center;gap:5px;padding:5px 8px;font-size:var(--fs-xs);font-weight:600;color:var(--muted);cursor:pointer;border-radius:var(--radius-sm)}.side-section>h4:hover{background:var(--surface-3)}.side-section>h4 .chev{transition:transform .14s}.side-section.collapsed>h4 .chev{transform:rotate(-90deg)}.tree-row{display:flex;align-items:center;gap:7px;width:100%;padding:4px 8px;font-size:var(--fs-sm);color:var(--ink-2);border-radius:var(--radius-sm);text-align:left}.tree-row:hover{background:var(--surface-3);color:var(--ink)}.tree-row.on{background:var(--accent-soft);color:var(--accent)}.tree-row .nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-row .meta{font-size:var(--fs-xs);color:var(--faint)}.tree-row.indent-1{padding-left:22px}.fmt-dot{width:7px;height:7px;border-radius:50%;flex:0 0 auto}.conv-card{display:block;width:100%;padding:10px 11px;margin-bottom:7px;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.conv-card:hover{border-color:var(--accent-line);background:var(--accent-soft)}.conv-card[disabled]{opacity:.5;cursor:not-allowed}.conv-card[disabled]:hover{border-color:var(--border);background:var(--surface)}.conv-flow{display:flex;align-items:center;gap:6px;font-size:var(--fs-sm);font-weight:500}.conv-flow .arrow{color:var(--faint)}.conv-note{margin-top:4px;font-size:var(--fs-xs);color:var(--muted);line-height:1.45}.chip{display:inline-flex;align-items:center;gap:4px;padding:1px 7px;font-size:var(--fs-xs);font-weight:500;border-radius:999px;background:var(--surface-3);color:var(--ink-2);border:1px solid var(--border)}.chip.mermaid{color:var(--fmt-mermaid);background:color-mix(in srgb,var(--fmt-mermaid) 12%,transparent);border-color:color-mix(in srgb,var(--fmt-mermaid) 28%,transparent)}.chip.dot{color:var(--fmt-dot);background:color-mix(in srgb,var(--fmt-dot) 12%,transparent);border-color:color-mix(in srgb,var(--fmt-dot) 28%,transparent)}.chip.d2{color:var(--fmt-d2);background:color-mix(in srgb,var(--fmt-d2) 12%,transparent);border-color:color-mix(in srgb,var(--fmt-d2) 28%,transparent)}.chip.drawio{color:var(--fmt-drawio);background:color-mix(in srgb,var(--fmt-drawio) 12%,transparent);border-color:color-mix(in srgb,var(--fmt-drawio) 28%,transparent)}.chip.excalidraw{color:var(--fmt-excalidraw);background:color-mix(in srgb,var(--fmt-excalidraw) 12%,transparent);border-color:color-mix(in srgb,var(--fmt-excalidraw) 28%,transparent)}.outline-row{display:flex;align-items:center;gap:7px;width:100%;padding:4px 8px;font-size:var(--fs-sm);color:var(--ink-2);border-radius:var(--radius-sm);text-align:left}.outline-row:hover{background:var(--surface-3)}.outline-row .kind{font-size:var(--fs-xs);color:var(--faint);margin-left:auto}.body-row>*{min-height:0}.editor-col{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;background:var(--surface)}.tabbar{display:flex;align-items:stretch;height:var(--tabbar-h);background:var(--surface-2);border-bottom:1px solid var(--border);overflow:hidden}.tabs{flex:0 1 auto;display:flex;align-items:stretch;min-width:0;overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{height:0}.tabs.fade-left{-webkit-mask-image:linear-gradient(to right,transparent 0,#000 18px);mask-image:linear-gradient(to right,transparent 0,#000 18px)}.tabs.fade-right{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 18px),transparent 100%);mask-image:linear-gradient(to right,#000 calc(100% - 18px),transparent 100%)}.tabs.fade-left.fade-right{-webkit-mask-image:linear-gradient(to right,transparent 0,#000 18px,#000 calc(100% - 18px),transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 18px,#000 calc(100% - 18px),transparent 100%)}.tab{display:flex;align-items:center;gap:7px;padding:0 8px 0 12px;min-width:88px;max-width:210px;font-size:var(--fs-sm);color:var(--muted);background:transparent;border-right:1px solid var(--border);white-space:nowrap}.tab:hover{background:var(--surface-3);color:var(--ink-2)}.tab.on{color:var(--ink);background:var(--surface);box-shadow:inset 0 2px 0 var(--tab-accent, var(--accent))}.tab .nm{overflow:hidden;text-overflow:ellipsis}.tab .dirty{width:7px;height:7px;border-radius:50%;background:var(--ink-2);flex:0 0 auto}.tab .x{width:17px;height:17px;display:grid;place-items:center;border-radius:4px;color:var(--muted);flex:0 0 auto}.tab .x:hover{background:var(--border-strong);color:var(--ink)}.tab-add{width:30px;flex:0 0 auto;display:grid;place-items:center;color:var(--muted)}.tab-add:hover{background:var(--surface-3);color:var(--ink)}.tabbar-right{margin-left:auto;flex:0 0 auto;display:flex;align-items:center;gap:2px;padding:0 6px}.viewmodes{display:flex;align-items:center;gap:2px;padding:2px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius)}.viewmodes{flex:0 0 auto}.viewmodes button{flex:0 0 auto;display:flex;align-items:center;gap:5px;padding:2px 9px;font-size:var(--fs-xs);color:var(--muted);border-radius:var(--radius-sm);white-space:nowrap}.viewmodes button:hover{color:var(--ink);background:var(--surface-3)}.viewmodes button.on{color:var(--accent-ink);background:var(--accent)}.split{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,var(--split-src, 46%)) 5px minmax(0,1fr)}.split.mode-source{grid-template-columns:minmax(0,1fr) 0 0}.split.mode-preview{grid-template-columns:0 0 minmax(0,1fr)}.split>.pane-source{grid-column:1}.split>.splitter{grid-column:2}.split>.pane-preview{grid-column:3}.split.mode-source .splitter,.split.mode-preview .splitter,.split.mode-source .pane-preview,.split.mode-preview .pane-source{display:none}.pane{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.pane-head{display:flex;align-items:center;gap:8px;height:28px;padding:0 8px 0 12px;font-size:var(--fs-xs);font-weight:600;letter-spacing:.4px;color:var(--muted);background:var(--surface-inset);border-bottom:1px solid var(--border)}.pane-head .sp{flex:1}.pane-head .lbl{text-transform:uppercase}.pv-opt{gap:5px}.pv-opt .pv-opt-val{font-weight:600;color:var(--ink)}.pv-opt:hover .pv-opt-val,.pv-opt.open .pv-opt-val{color:var(--accent)}.mini-btn{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;padding:1px 7px;font-size:var(--fs-xs);color:var(--muted);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.mini-btn:hover{color:var(--accent);border-color:var(--accent-line);background:var(--accent-soft)}.mini-btn.on{color:var(--accent);border-color:var(--accent-line);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-line)}.mini-btn.on:hover{color:var(--accent-ink);background:var(--accent);border-color:var(--accent)}.v-gutter{position:relative;cursor:col-resize;background:transparent;z-index:2}.v-gutter:after{content:"";position:absolute;inset:0 -3px}.v-gutter:hover,.v-gutter.drag{background:var(--accent)}.splitter{position:relative;cursor:col-resize;background:var(--border)}.splitter:after{content:"";position:absolute;inset:0 -3px}.splitter:hover,.splitter.drag{background:var(--accent)}.pane-source{background:var(--surface)}.code-scroll{flex:1;min-height:0;overflow:auto;background:var(--surface)}.code{display:grid;grid-template-columns:auto minmax(0,1fr);font:var(--fs-sm)/1.75 var(--font-mono);padding:8px 0 18px}.code .ln{padding:0 12px 0 14px;text-align:right;color:var(--faint);background:var(--surface);user-select:none}.code .cl{padding-right:16px;white-space:pre;color:var(--ink)}.code .cl.current{background:var(--accent-soft)}.code .ln.current{color:var(--accent);background:var(--accent-soft);font-weight:600}.code .cl[contenteditable]{outline:none}.tk-key{color:var(--code-key)}.tk-str{color:var(--code-str)}.tk-id{color:var(--code-id)}.tk-edge{color:var(--code-edge)}.tk-num{color:var(--code-num)}.tk-com{color:var(--code-com);font-style:italic}.tk-tag{color:var(--code-tag)}.tk-attr{color:var(--code-attr)}.tk-punc{color:var(--muted)}.code-error{display:flex;gap:8px;align-items:flex-start;margin:6px 12px 0;padding:8px 10px;font:var(--fs-xs)/1.5 var(--font-mono);color:var(--err);background:var(--err-soft);border:1px solid color-mix(in srgb,var(--err) 30%,transparent);border-radius:var(--radius-sm)}.pane-preview{background:var(--canvas-bg);position:relative}.canvas-viewport{flex:1;min-height:0;overflow:auto;background-image:radial-gradient(var(--canvas-dot) 1px,transparent 1px);background-size:22px 22px;background-position:-1px -1px;display:grid;place-items:center;position:relative}.canvas-stage{transform-origin:center center;padding:32px}.canvas-stage svg{display:block;max-width:none}.canvas-tools{position:absolute;right:12px;bottom:12px;display:flex;align-items:center;gap:6px}.canvas-tools .row{display:flex;align-items:center;gap:6px}.zoom-pill{position:static;display:flex;align-items:center;gap:2px;height:30px;padding:0 4px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--sh-1)}.zoom-pill button{width:22px;height:20px;display:grid;place-items:center;color:var(--muted);border-radius:4px}.zoom-pill button:hover{background:var(--surface-3);color:var(--ink)}.zoom-pill .val{min-width:42px;font-size:var(--fs-xs);text-align:center;color:var(--ink-2);font-variant-numeric:tabular-nums}.dg text{font-family:var(--font-ui)}.dg .node-box{fill:var(--surface);stroke:var(--border-strong);stroke-width:1.4}.dg .node-box.accent{fill:var(--accent-soft);stroke:var(--accent)}.dg .node-box.ai{fill:var(--ai-soft);stroke:var(--ai)}.dg .node-box.warn{fill:var(--warn-soft);stroke:var(--warn)}.dg .node-box.bad{stroke:var(--err)}.dg .node-label{fill:var(--ink);font-size:12px;text-anchor:middle;dominant-baseline:middle}.dg .node-label.bad{fill:var(--err)}.dg .node-sub{fill:var(--muted);font-size:10px;text-anchor:middle;dominant-baseline:middle}.dg .edge{fill:none;stroke:var(--muted);stroke-width:1.5}.dg .edge.dash{stroke-dasharray:5 4}.dg .edge-label{fill:var(--muted);font-size:10px;text-anchor:middle}.dg .edge-label.start{text-anchor:start}.dg .sketch-sub{font-size:11px;fill:var(--muted)}.dg .arrowhead{fill:var(--muted)}.dg .cluster{fill:var(--surface-2);stroke:var(--border);stroke-dasharray:4 3}.dg .cluster-label{fill:var(--muted);font-size:10.5px;font-weight:600}.dg .sketch{fill:var(--surface);stroke:var(--ink-2);stroke-width:1.6;stroke-linejoin:round}.dg .sketch-text{fill:var(--ink);font-size:13px;text-anchor:middle;font-family:"Segoe Print","Comic Sans MS",var(--font-ui)}.ai-pane{display:flex;flex-direction:column;min-width:0;background:var(--surface-2);border-left:1px solid var(--border);overflow:hidden}.ai-head{display:flex;align-items:center;gap:8px;height:38px;padding:0 8px 0 12px;border-bottom:1px solid var(--border)}.ai-title{display:flex;align-items:center;gap:7px;font-size:var(--fs-md);font-weight:600;color:var(--ai)}.ai-head .sp{flex:1}.ai-model{display:flex;align-items:center;gap:5px;padding:2px 8px;font-size:var(--fs-xs);color:var(--ink-2);background:var(--surface);border:1px solid var(--border);border-radius:999px}.ai-model:hover{border-color:var(--ai-line);color:var(--ai)}.ai-model .dot{width:6px;height:6px;border-radius:50%;background:var(--ok)}.ai-stream{flex:1;min-height:0;overflow:auto;padding:12px;display:flex;flex-direction:column;gap:14px}.msg{display:flex;align-items:flex-start;gap:8px;max-width:100%}.msg.user{flex-direction:row-reverse}.msg.sys{justify-content:center}.ava{width:30px;height:30px;flex:0 0 auto;display:grid;place-items:center;border-radius:var(--radius-sm);background:var(--ai-soft);color:var(--ai);border:1px solid var(--ai-line)}.msg.user .ava{background:var(--chat-me-ava);color:var(--accent);border-color:transparent;border-radius:50%}.msg-body{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0;flex:1 1 auto}.msg-body>*{max-width:100%;min-width:0}.msg.bot .msg-body{align-items:stretch}.msg.user .msg-body{align-items:flex-end;flex:0 1 auto;max-width:86%}.msg-head{display:flex;align-items:center;gap:6px;font-size:var(--fs-xs);color:var(--muted)}.msg-head .who{font-weight:600;color:var(--ink-2)}.msg-head .badge-used{font-size:10px;color:var(--ai);background:var(--ai-soft);padding:0 5px;border-radius:999px;border:1px solid var(--ai-line)}.msg-head .msg-acts{margin-left:auto;display:inline-flex;align-items:center;gap:2px;opacity:.25;transition:opacity .12s}.msg:hover .msg-head .msg-acts,.msg:focus-within .msg-head .msg-acts{opacity:1}.msg-head .msg-act{padding:0 2px;color:var(--muted)}.msg-head .msg-act:hover{color:var(--fg)}.bubble{position:relative;max-width:100%;padding:7px 11px;font-size:var(--fs-sm);line-height:1.6;border-radius:8px;background:var(--chat-bot);color:var(--ink);word-break:break-word;user-select:text}.bubble:before{content:"";position:absolute;top:10px;width:0;height:0;border:6px solid transparent}.msg.bot .bubble:before,.msg.err .bubble:before{left:-11px;border-right-color:var(--chat-bot)}.msg.user .bubble:before{right:-11px;border-left-color:var(--chat-me)}.msg.user .bubble{background:var(--chat-me);color:var(--chat-me-ink)}.msg.sys .bubble{background:none;color:var(--muted);font-size:var(--fs-xs);padding:2px 6px}.msg.sys .bubble:before{display:none}.msg.err .bubble{color:var(--err);background:var(--err-soft)}.msg.err .bubble:before{border-right-color:var(--err-soft)}.bubble.notice:before{display:none}.msg .applied-tag{margin-left:0}.code-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden}.code-card-head{display:flex;align-items:center;gap:7px;padding:5px 8px;font-size:var(--fs-xs);color:var(--muted);background:var(--surface-2);border-bottom:1px solid var(--border)}.code-card-head .sp{flex:1}.code-card pre{margin:0;padding:9px 11px;font:var(--fs-xs)/1.65 var(--font-mono);color:var(--ink);overflow-x:auto;max-height:190px;user-select:text}.code-card-actions{display:flex;gap:6px;padding:7px 8px;border-top:1px solid var(--border);background:var(--surface-inset)}.md-view{display:flex;flex-direction:column;gap:4px;align-items:stretch;align-self:stretch;min-width:0;max-width:100%}.md-bar{display:flex;align-items:center;gap:6px;padding:0 2px;font-size:var(--fs-xs);color:var(--muted)}.md-seg{display:inline-flex;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:6px}.md-seg-btn{padding:1px 9px;font-size:var(--fs-xs);color:var(--muted);background:transparent;border:0;cursor:pointer}.md-seg-btn+.md-seg-btn{border-left:1px solid var(--border)}.md-seg-btn:hover{color:var(--fg);background:var(--surface-3)}.md-seg-btn.on{color:var(--accent);background:var(--accent-soft);font-weight:500}.md-body{min-width:0;max-width:100%}.md-body .bubble{width:100%}.md-preview{line-height:1.65}.md-preview>:first-child{margin-top:0}.md-preview>:last-child{margin-bottom:0}.md-preview p{margin:0 0 6px}.md-preview h1,.md-preview h2,.md-preview h3,.md-preview h4,.md-preview h5,.md-preview h6{margin:10px 0 5px;font-weight:600;line-height:1.35;color:var(--ink)}.md-preview h1{font-size:1.35em}.md-preview h2{font-size:1.2em}.md-preview h3{font-size:1.08em}.md-preview h4,.md-preview h5,.md-preview h6{font-size:1em}.md-preview ul,.md-preview ol{margin:0 0 6px;padding-left:20px}.md-preview ul{list-style:disc outside}.md-preview ul ul{list-style:circle outside}.md-preview ul ul ul{list-style:square outside}.md-preview ol{list-style:decimal outside}.md-preview ol ol{list-style:lower-alpha outside}.md-preview li{margin:1px 0}.md-preview li>ul,.md-preview li>ol{margin:2px 0}.md-preview code{padding:0 3px;font-family:var(--font-mono);font-size:.94em;background:var(--surface-2);border:1px solid var(--border);border-radius:4px}.md-preview pre.md-code{margin:0 0 6px;padding:7px 9px;overflow-x:auto;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm)}.md-preview pre.md-code code{padding:0;font-size:var(--fs-xs);background:none;border:0}.md-preview blockquote{margin:0 0 6px;padding:1px 0 1px 9px;color:var(--muted);border-left:3px solid var(--accent-line)}.md-preview .md-table{margin:0 0 8px;overflow-x:auto}.md-preview table{border-collapse:collapse;font-size:var(--fs-xs)}.md-preview th,.md-preview td{padding:3px 8px;text-align:left;vertical-align:top;border:1px solid var(--border)}.md-preview th{font-weight:600;background:var(--surface-2)}.md-preview hr{margin:9px 0;border:0;border-top:1px solid var(--border)}.md-preview a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.md-source{padding:0}.md-src{margin:0;padding:8px 11px;max-height:460px;overflow:auto;font:var(--fs-xs)/1.6 var(--font-mono);white-space:pre-wrap;word-break:break-word;user-select:text}.thumb{display:flex;gap:9px;align-items:center;padding:8px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.thumb .pic{width:54px;height:54px;flex:0 0 auto;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);display:grid;place-items:center;color:var(--muted);overflow:hidden}.thumb .meta{min-width:0}.thumb .meta b{display:block;font-size:var(--fs-sm);font-weight:500;color:var(--ink);overflow:hidden;text-overflow:ellipsis}.thumb .meta span{font-size:var(--fs-xs);color:var(--muted)}.thumb .rm{margin-left:auto;width:22px;height:22px;display:grid;place-items:center;color:var(--muted);border-radius:4px}.thumb .rm:hover{background:var(--err-soft);color:var(--err)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;height:26px;padding:0 11px;font-size:var(--fs-sm);color:var(--ink);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);white-space:nowrap}.btn:hover{background:var(--surface-3)}.btn.primary{color:var(--accent-ink);background:var(--accent);border-color:var(--accent)}.btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn.ai{color:#fff;background:var(--ai);border-color:var(--ai)}.btn.ai:hover{background:var(--ai-hover);border-color:var(--ai-hover)}.btn.ghost{background:transparent;border-color:transparent;color:var(--ink-2)}.btn.ghost:hover{background:var(--surface-3)}.btn.sm{height:22px;padding:0 8px;font-size:var(--fs-xs)}.btn[disabled]{opacity:.45;cursor:not-allowed}.btn.block{width:100%}.ai-composer{border-top:1px solid var(--border);background:var(--surface-2);padding:9px 10px 10px}.ai-attachments{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.ai-box{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);padding:7px 9px 5px}.ai-box:focus-within{border-color:var(--ai);box-shadow:0 0 0 2px var(--ai-soft)}.ai-box textarea{width:100%;min-height:42px;max-height:140px;border:0;outline:0;resize:vertical;background:transparent;font-size:var(--fs-sm);line-height:1.55;user-select:text}.ai-box textarea::placeholder{color:var(--faint)}.ai-box-row{display:flex;align-items:center;gap:5px;padding-top:5px;border-top:1px dashed var(--border)}.ai-box-row .sp{flex:1}.ai-hint{font-size:10px;color:var(--faint)}.ai-box-row.ai-intent-row{flex-wrap:wrap;row-gap:4px;border-top:0}.intent-wrap{display:inline-flex;align-items:center;gap:5px;min-width:0;flex:0 0 auto}.intent-slider{position:relative;display:inline-flex;align-items:center;flex:0 0 auto;height:22px;padding:2px;border-radius:999px;background:var(--surface-3);border:1px solid var(--border)}.intent-slider .thumb{position:absolute;top:2px;left:2px;width:28px;height:16px;border-radius:999px;background:var(--ai-soft);border:1px dashed var(--ai-line);transform:translate(calc(var(--intent-index, 2) * 28px));transition:transform .16s ease,background .12s,border-color .12s}.intent-slider.manual .thumb{background:var(--accent-soft);border:1px solid var(--accent-line)}.intent-slider button[data-intent]{position:relative;z-index:1;width:28px;height:16px;font-size:9.5px;color:var(--muted);border-radius:999px}.intent-slider button[data-intent]:hover{color:var(--ink)}.intent-slider button[data-intent].on{color:var(--ai);font-weight:600}.intent-slider.manual button[data-intent].on{color:var(--accent)}.intent-auto{display:inline-flex;align-items:center;gap:3px;height:20px;padding:0 3px;font-size:9.5px;color:var(--muted);white-space:nowrap;border-radius:999px;flex:0 0 auto}.intent-auto:hover{color:var(--ink);background:var(--surface-3)}.intent-auto .dot{width:4px;height:4px;border-radius:50%;background:var(--faint)}.intent-auto.on{color:var(--ai)}.intent-auto.on .dot{background:var(--ai)}.intent-auto[hidden]{display:none}.intent-auto[disabled]{cursor:default}.intent-auto .pct{font-family:var(--font-mono);font-size:9px;color:var(--muted)}.intent-auto.on .pct{color:var(--ai)}.out-format{height:20px;max-width:106px;padding:0 4px;font-size:9.5px;color:var(--ink-2);background:var(--surface);border:1px solid var(--border);border-radius:999px}.out-format:focus{outline:0;border-color:var(--ai);box-shadow:0 0 0 2px var(--ai-soft)}.send-btn{width:26px;height:26px;display:grid;place-items:center;color:#fff;background:var(--ai);border-radius:var(--radius-sm)}.send-btn:hover{background:var(--ai-hover)}.send-btn[disabled]{background:var(--surface-3);color:var(--faint);cursor:not-allowed}.ai-subnav{display:flex;gap:4px;padding:3px;margin:0 0 12px;background:var(--surface-inset);border:1px solid var(--border);border-radius:999px;overflow-x:auto}.ai-subtab{flex:1 0 auto;border:0;background:transparent;color:var(--muted);font:inherit;font-size:var(--fs-xs);padding:5px 10px;border-radius:999px;white-space:nowrap}.ai-subtab:hover{color:var(--ink)}.ai-subtab.on{background:var(--surface);color:var(--ai);font-weight:600;box-shadow:0 1px 2px #0000000f}.ai-sec[hidden]{display:none}.ai-sec-head{display:flex;align-items:center;gap:8px;margin:0 0 3px}.ai-sec-head h4{margin:0;font-size:var(--fs-md);font-weight:650}.ai-sec-hint{margin:0 0 11px;font-size:var(--fs-xs);line-height:1.6;color:var(--muted)}.ai-gateway-note{margin-bottom:12px}.ai-group-title{margin:12px 0 2px;font-size:9.5px;font-weight:650;letter-spacing:.35px;text-transform:uppercase;color:var(--faint)}.ai-group-title:first-of-type{margin-top:2px}.ai-intent-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:10px}.ai-intent-card{text-align:left;padding:9px 10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;font:inherit;color:var(--ink)}.ai-intent-card:hover{border-color:var(--border-strong)}.ai-intent-card.on{border-color:var(--ai-line);background:var(--ai-soft);box-shadow:0 0 0 1px var(--ai-line)}.ai-intent-card b{display:block;font-size:var(--fs-sm);font-weight:600}.ai-intent-card small{display:block;margin-top:2px;font-size:10.5px;line-height:1.5;color:var(--muted)}.ai-intent-card.on small{color:var(--ink-2)}.ai-intent-official,.ai-intent-custom{margin:0 0 10px;padding:10px;border:1px dashed var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-inset)}.ai-intent-official[hidden],.ai-intent-custom[hidden]{display:none}.ai-kv{display:grid;grid-template-columns:84px 1fr;gap:5px 10px;font-size:var(--fs-xs)}.ai-kv .k{color:var(--faint)}.ai-kv .v{color:var(--ink-2);min-width:0;overflow-wrap:anywhere}.ai-test-row{display:flex;align-items:center;gap:8px;margin:8px 0}.ai-test-row .hint{flex:1}.ai-test-result{margin:0 0 9px;padding:8px 10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--fs-xs);line-height:1.55}.ai-test-result[hidden]{display:none}.ai-test-result b{color:var(--ai);margin-right:8px}.ai-memory-row{display:flex;align-items:center;gap:8px;margin-top:9px;padding:9px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.ai-memory-row .sp{flex:1}.ai-memory-row b{display:block;font-size:var(--fs-sm)}.ai-memory-row small{display:block;margin-top:1px;font-size:10.5px;color:var(--muted)}@media(max-width:720px){.ai-intent-grid{grid-template-columns:1fr}}.ai-memory-bar{display:flex;align-items:center;gap:8px;margin:0 10px 8px;padding:7px 10px;font-size:var(--fs-sm);color:var(--accent-ink);background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:var(--radius);cursor:pointer}.ai-memory-bar:hover{background:var(--accent-line)}.ai-memory-bar .sp{flex:1 1 auto}.mem-row{display:flex;align-items:flex-start;gap:10px;padding:9px 11px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.mem-row.pending{border-style:dashed}.mem-row .mem-txt{flex:1 1 auto;min-width:0;word-break:break-word;color:var(--ink)}.mem-row .mem-tags{flex:0 0 auto;display:flex;gap:6px;align-items:center}.mem-tag{padding:1px 7px;font-size:var(--fs-xs);border-radius:999px;background:var(--surface-inset);color:var(--muted)}.mem-tag.pending{color:var(--accent-ink);background:var(--accent-soft)}.mem-tag.off{opacity:.6}.mem-row .mem-acts{flex:0 0 auto;display:flex;gap:4px}.mem-save{display:flex;gap:6px;align-items:center;margin-top:8px}.mem-save input{flex:1 1 auto;min-width:0}.mem-head-acts{display:flex;gap:6px;align-items:center;margin-bottom:8px}.ai-suggest{display:flex;flex-wrap:wrap;gap:5px;padding:0 10px 9px}.sug{padding:3px 9px;font-size:var(--fs-xs);color:var(--ink-2);background:var(--surface);border:1px solid var(--border);border-radius:999px}.sug:hover{border-color:var(--ai-line);color:var(--ai);background:var(--ai-soft)}.ai-empty{flex:1;display:grid;place-items:center;padding:24px;text-align:center}.ai-empty .hero{width:44px;height:44px;margin:0 auto 12px;display:grid;place-items:center;color:#fff;border-radius:13px;background:linear-gradient(140deg,var(--accent),var(--ai))}.ai-empty h3{font-size:var(--fs-md);font-weight:600;margin-bottom:5px}.ai-empty p{font-size:var(--fs-sm);color:var(--muted);line-height:1.6;max-width:240px;margin:0 auto}.ai-empty .acts{display:flex;flex-direction:column;gap:6px;margin-top:14px;width:100%;max-width:240px}.bottom-panel{display:flex;flex-direction:column;height:var(--panel-h);min-height:0;background:var(--surface-2);border-top:1px solid var(--border);overflow:hidden}body.no-panel .bottom-panel{display:none}.bp-tabs{display:flex;align-items:center;gap:2px;height:30px;padding:0 8px;border-bottom:1px solid var(--border)}.bp-tab{padding:3px 10px;font-size:var(--fs-xs);color:var(--muted);border-radius:var(--radius-sm);display:flex;align-items:center;gap:5px}.bp-tab:hover{background:var(--surface-3);color:var(--ink)}.bp-tab.on{color:var(--ink);font-weight:600;box-shadow:inset 0 -2px 0 var(--accent)}.bp-tab .n{font-size:10px;padding:0 4px;border-radius:999px;background:var(--surface-3);color:var(--muted)}.bp-tab .n.err{background:var(--err-soft);color:var(--err)}.bp-tab .n.warn{background:var(--warn-soft);color:var(--warn)}.bp-tabs .sp{flex:1}.bp-body{flex:1;min-height:0;overflow:auto;padding:8px 12px;font:var(--fs-xs)/1.7 var(--font-mono);color:var(--ink-2);user-select:text}.bp-body[hidden]{display:none}.bp-line{display:grid;grid-template-columns:62px 1fr;gap:8px;padding:1px 0}.bp-line .t{color:var(--faint)}.bp-line.ok .m{color:var(--ok)}.bp-line.warn .m{color:var(--warn)}.bp-line.err .m{color:var(--err)}.bp-issues{display:flex;flex-direction:column;gap:5px;font-family:var(--font-ui);font-size:var(--fs-sm)}.issue{display:flex;gap:8px;align-items:flex-start;padding:5px 8px;border-radius:var(--radius-sm);text-align:left;width:100%}.issue:hover{background:var(--surface-3)}.issue .sev{flex:0 0 auto;margin-top:2px}.issue .txt{flex:1;min-width:0}.issue .txt b{font-weight:500;color:var(--ink)}.issue .txt span{display:block;color:var(--muted);font-size:var(--fs-xs)}.issue .go{color:var(--accent);font-size:var(--fs-xs);white-space:nowrap}.panel-resizer{height:4px;cursor:row-resize;background:transparent}.panel-resizer:hover{background:var(--accent)}.statusbar{display:flex;align-items:center;gap:0;padding:0 8px;font-size:var(--fs-xs);color:var(--ink-2);background:var(--surface-2);border-top:1px solid var(--border);overflow:hidden}.st{display:inline-flex;align-items:center;gap:5px;height:20px;padding:0 8px;border-radius:var(--radius-sm);white-space:nowrap}button.st:hover{background:var(--surface-3)}.st .dot{width:6px;height:6px;border-radius:50%;background:var(--ok)}.st.warn{color:var(--warn)}.st.err{color:var(--err)}.st.accent{color:var(--accent)}.st-spacer{flex:1}.st-num{font-variant-numeric:tabular-nums}.overlay{position:fixed;inset:0;z-index:200;background:color-mix(in srgb,var(--ink) 22%,transparent);backdrop-filter:blur(1.5px);display:grid;place-items:start center;padding-top:8vh}.overlay.center{place-items:center;padding-top:0}.overlay[hidden]{display:none}.drop-veil{position:fixed;inset:0;z-index:320;display:grid;place-items:center;background:color-mix(in srgb,var(--ink) 26%,transparent);backdrop-filter:blur(1.5px);pointer-events:none}.drop-veil[hidden]{display:none}.drop-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:26px 42px;border:2px dashed var(--accent);border-radius:12px;background:var(--surface);box-shadow:var(--sh-3);color:var(--ink)}.drop-card b{font-size:15px}.drop-card small{color:var(--muted);font-size:12px}.drop-ico{color:var(--accent);display:inline-flex}.drop-ico .ico{width:30px;height:30px}.palette{width:min(620px,92vw);background:var(--surface);border:1px solid var(--border-strong);border-radius:10px;box-shadow:var(--sh-3);overflow:hidden}.palette-input{display:flex;align-items:center;gap:9px;padding:11px 13px;border-bottom:1px solid var(--border)}.palette-input input{flex:1;border:0;outline:0;background:transparent;font-size:var(--fs-md);user-select:text}.palette-list{max-height:52vh;overflow:auto;padding:5px}.palette-group{padding:6px 9px 3px;font-size:10px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--faint)}.palette-item{display:flex;align-items:center;gap:9px;width:100%;padding:6px 9px;font-size:var(--fs-sm);color:var(--ink-2);border-radius:var(--radius-sm);text-align:left}.palette-item .ico{color:var(--muted)}.palette-item .lbl{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette-item .sub{font-size:var(--fs-xs);color:var(--faint)}.palette-item .kbd{font:var(--fs-xs) var(--font-mono);color:var(--muted);background:var(--surface-2);border:1px solid var(--border);border-radius:4px;padding:0 5px}.palette-item.sel,.palette-item:hover{background:var(--accent-soft);color:var(--accent)}.palette-item.sel .ico,.palette-item:hover .ico{color:var(--accent)}.palette-item.ai.sel,.palette-item.ai:hover{background:var(--ai-soft);color:var(--ai)}.palette-item.ai.sel .ico,.palette-item.ai:hover .ico{color:var(--ai)}.palette-foot{display:flex;gap:14px;padding:6px 12px;font-size:10px;color:var(--faint);border-top:1px solid var(--border);background:var(--surface-inset)}.dialog{width:min(520px,92vw);background:var(--surface);border:1px solid var(--border-strong);border-radius:11px;box-shadow:var(--sh-3);overflow:hidden}.dialog.wide{width:min(720px,94vw)}.dialog.settings{width:min(880px,96vw)}.dialog-head{display:flex;align-items:center;gap:9px;padding:13px 15px 11px;border-bottom:1px solid var(--border)}.dialog-head h2{font-size:var(--fs-md);font-weight:600}.dialog-head .sp{flex:1}.dialog-body{padding:14px 15px;max-height:66vh;overflow:auto}.dialog-foot{display:flex;align-items:center;gap:8px;padding:11px 15px;background:var(--surface-inset);border-top:1px solid var(--border)}.dialog-foot .sp{flex:1}.dialog-foot .note{font-size:var(--fs-xs);color:var(--muted)}.field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.field>label{font-size:var(--fs-xs);color:var(--muted);font-weight:500}.field input[type=text],.field select,.field textarea{padding:6px 9px;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:var(--fs-sm);outline:0;user-select:text}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.field .hint{font-size:var(--fs-xs);color:var(--faint)}.field.check{flex-direction:row;align-items:center;flex-wrap:wrap;gap:6px 8px}.field.check input{width:auto;margin:0}.field-row{display:flex;gap:10px}.field-row>.field{flex:1}.seg{display:inline-flex;padding:2px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);gap:2px}.seg button{padding:3px 11px;font-size:var(--fs-xs);color:var(--muted);border-radius:var(--radius-sm);display:flex;align-items:center;gap:5px}.seg button:hover{color:var(--ink);background:var(--surface-3)}.seg button.on{color:var(--accent-ink);background:var(--accent)}.switch{display:flex;align-items:center;gap:9px;padding:6px 0}.switch .track{width:32px;height:18px;flex:0 0 auto;border-radius:999px;background:var(--border-strong);position:relative;transition:background .15s}.switch .track:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:var(--sh-1);transition:transform .15s}.switch.on .track{background:var(--accent)}.switch.on .track:after{transform:translate(14px)}.switch .txt{font-size:var(--fs-sm);color:var(--ink-2)}.switch .txt small{display:block;font-size:var(--fs-xs);color:var(--muted)}.dropzone{display:grid;place-items:center;gap:8px;padding:26px 18px;text-align:center;background:var(--surface-inset);border:1.5px dashed var(--border-strong);border-radius:var(--radius);color:var(--muted)}.dropzone:hover{border-color:var(--ai);background:var(--ai-soft);color:var(--ai)}.dropzone .ico-lg{width:26px;height:26px}.dropzone b{font-size:var(--fs-sm);color:var(--ink-2);font-weight:500}.dropzone small{font-size:var(--fs-xs);color:var(--faint)}.pop{position:fixed;z-index:210;min-width:210px;max-height:min(70vh,560px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;padding:4px;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--sh-3)}.pop[hidden]{display:none}.pop::-webkit-scrollbar{width:8px}.pop::-webkit-scrollbar-thumb{background:var(--border-strong);border:2px solid transparent;background-clip:content-box;border-radius:8px}.pop::-webkit-scrollbar-thumb:hover{background:var(--muted);background-clip:content-box}.pop-row{display:flex;align-items:center;gap:9px;width:100%;padding:5px 9px;font-size:var(--fs-sm);color:var(--ink-2);border-radius:var(--radius-sm);text-align:left}.pop-row:hover{background:var(--accent-soft);color:var(--accent)}.pop-row .ico{color:var(--muted)}.pop-row:hover .ico{color:var(--accent)}.pop-row .lbl{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pv-dot{width:10px;height:10px;border-radius:50%;flex:0 0 auto;box-shadow:inset 0 0 0 1px #0000001f}.pop-row .kbd{font:var(--fs-xs) var(--font-mono);color:var(--faint)}.pop-row.on .lbl{color:var(--accent);font-weight:500}.pop-row.check:before{content:"";width:12px;height:12px;flex:0 0 auto}.pop-row.check.on:before{background:var(--accent);mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'><path d='M20 6 9 17l-5-5'/></svg>") center/contain no-repeat;-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'><path d='M20 6 9 17l-5-5'/></svg>") center/contain no-repeat}.pop-row[disabled]{color:var(--faint);cursor:not-allowed}.pop-row[disabled]:hover{background:none}.pop-sep{height:1px;margin:4px 6px;background:var(--border)}.pop-label{padding:5px 9px 3px;font-size:10px;letter-spacing:.5px;text-transform:uppercase;color:var(--faint);font-weight:600}.toasts{position:fixed;right:calc(var(--ai-w) + 14px);bottom:calc(var(--statusbar-h) + 14px);z-index:300;display:flex;flex-direction:column;gap:8px;align-items:flex-end}.toast{display:flex;align-items:flex-start;gap:9px;min-width:240px;max-width:380px;padding:9px 12px;background:var(--surface);border:1px solid var(--border-strong);border-left:3px solid var(--accent);border-radius:var(--radius);box-shadow:var(--sh-2);font-size:var(--fs-sm);animation:toast-in .18s ease-out}.toast.ai{border-left-color:var(--ai)}.toast.err{border-left-color:var(--err)}.toast.warn{border-left-color:var(--warn)}.toast .ico{margin-top:1px;color:var(--accent)}.toast.ai .ico{color:var(--ai)}.toast.err .ico{color:var(--err)}.toast.warn .ico{color:var(--warn)}.toast .bd{flex:1;min-width:0}.toast .bd b{display:block;font-weight:500;color:var(--ink)}.toast .bd span{color:var(--muted);font-size:var(--fs-xs)}.toast .act{color:var(--accent);font-size:var(--fs-xs);white-space:nowrap}.toast .act:hover{text-decoration:underline}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.layout-pop{width:268px}.layout-pop .grid{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:5px}.layout-pop .cell{padding:7px 9px;font-size:var(--fs-xs);color:var(--ink-2);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);text-align:left}.layout-pop .cell:hover{border-color:var(--accent-line)}.layout-pop .cell.on{color:var(--accent);background:var(--accent-soft);border-color:var(--accent-line);font-weight:500}.welcome{flex:1;display:grid;place-items:center;padding:30px;overflow:auto}.welcome-inner{width:100%;max-width:520px}.welcome h2{font-size:17px;font-weight:600;margin-bottom:4px}.welcome .sub{color:var(--muted);font-size:var(--fs-sm);margin-bottom:20px}.welcome .ai-hero{display:flex;gap:12px;align-items:center;padding:14px;background:linear-gradient(120deg,var(--accent-soft),var(--ai-soft));border:1px solid var(--border);border-radius:10px;margin-bottom:18px}.welcome .ai-hero .ico-wrap{width:36px;height:36px;flex:0 0 auto;display:grid;place-items:center;color:#fff;border-radius:10px;background:linear-gradient(140deg,var(--accent),var(--ai))}.welcome .ai-hero b{display:block;font-size:var(--fs-md);font-weight:600;margin-bottom:2px}.welcome .ai-hero span{font-size:var(--fs-xs);color:var(--ink-2)}.welcome .cols{display:grid;grid-template-columns:1fr 1fr;gap:22px}.welcome h4{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.6px;color:var(--faint);margin-bottom:8px}.welcome .lnk{display:flex;align-items:center;gap:8px;width:100%;padding:5px 7px;font-size:var(--fs-sm);color:var(--ink-2);border-radius:var(--radius-sm);text-align:left}.welcome .lnk:hover{background:var(--surface-2);color:var(--accent)}.welcome .lnk .kbd{margin-left:auto;font:var(--fs-xs) var(--font-mono);color:var(--faint)}.welcome .fmts{display:flex;gap:7px;flex-wrap:wrap;margin-top:4px}.proto-tag{position:fixed;left:50%;bottom:calc(var(--statusbar-h) + 8px);transform:translate(-50%);z-index:150;display:flex;align-items:center;gap:8px;padding:3px 11px;font-size:10px;color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:999px;box-shadow:var(--sh-1);opacity:.55}.proto-tag:hover{opacity:1}body.no-proto-tag .proto-tag{display:none}body.resizing{cursor:col-resize!important;user-select:none!important}body.resizing-v{cursor:row-resize!important;user-select:none!important}body.resizing *{pointer-events:none}.doc-page{overflow:auto;height:100vh;background:var(--bg)}.doc-wrap{max-width:1080px;margin:0 auto;padding:40px 28px 80px}.doc-hero{display:flex;gap:20px;align-items:flex-start;margin-bottom:30px}.doc-hero .logo-lg{width:52px;height:52px;flex:0 0 auto;display:grid;place-items:center;color:#fff;border-radius:15px;background:linear-gradient(140deg,var(--accent),var(--ai))}.doc-hero h1{font-size:26px;font-weight:600;letter-spacing:-.2px;margin-bottom:6px}.doc-hero p{color:var(--muted);font-size:var(--fs-md);line-height:1.7;max-width:620px}.doc-hero .acts{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}.doc-hero .acts .btn{height:32px;padding:0 15px;font-size:var(--fs-md)}.doc-nav{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:32px;padding-bottom:14px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg);z-index:10;padding-top:10px}.doc-nav a{padding:4px 11px;font-size:var(--fs-sm);color:var(--muted);border-radius:999px;text-decoration:none}.doc-nav a:hover{color:var(--accent);background:var(--accent-soft)}.doc-sec{margin-bottom:42px}.doc-sec>h2{font-size:17px;font-weight:600;margin-bottom:4px;display:flex;align-items:center;gap:9px}.doc-sec>h2 .n{display:grid;place-items:center;width:22px;height:22px;font-size:var(--fs-xs);color:var(--accent-ink);background:var(--accent);border-radius:6px}.doc-sec>.lead{color:var(--muted);font-size:var(--fs-sm);margin-bottom:16px;line-height:1.7;max-width:780px}.doc-sec h3{font-size:var(--fs-md);font-weight:600;margin:20px 0 8px}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.card{padding:14px;background:var(--surface);border:1px solid var(--border);border-radius:9px}.card h4{display:flex;align-items:center;gap:7px;font-size:var(--fs-md);font-weight:600;margin-bottom:6px}.card h4 .ico{color:var(--accent)}.card p{font-size:var(--fs-sm);color:var(--muted);line-height:1.65}.card ul{margin-top:7px;display:flex;flex-direction:column;gap:4px}.card li{font-size:var(--fs-sm);color:var(--ink-2);display:flex;gap:6px;line-height:1.55}.card li:before{content:"\b7";color:var(--accent);font-weight:700}.card.hl{border-color:var(--ai-line);background:linear-gradient(160deg,var(--surface),var(--ai-soft))}.swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:9px}.sw{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.sw .chipc{height:44px;border-bottom:1px solid var(--border)}.sw .info{padding:6px 9px}.sw .info b{display:block;font:var(--fs-xs) var(--font-mono);color:var(--ink-2);font-weight:500}.sw .info span{font-size:10px;color:var(--faint);font-family:var(--font-mono)}table.spec{width:100%;border-collapse:collapse;font-size:var(--fs-sm);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}table.spec th,table.spec td{padding:7px 11px;text-align:left;border-bottom:1px solid var(--border);vertical-align:top}table.spec th{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.4px;color:var(--muted);background:var(--surface-2);font-weight:600}table.spec tr:last-child td{border-bottom:0}table.spec td code{font:var(--fs-xs) var(--font-mono);color:var(--code-key);background:var(--surface-2);padding:1px 5px;border-radius:4px}table.spec td .kbd{font:var(--fs-xs) var(--font-mono);color:var(--ink-2);background:var(--surface-2);border:1px solid var(--border);border-radius:4px;padding:1px 6px;white-space:nowrap}.callout{display:flex;gap:10px;padding:12px 14px;background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:var(--radius);font-size:var(--fs-sm);color:var(--ink-2);line-height:1.65}.callout .ico{color:var(--accent);margin-top:2px}.callout+.callout{margin-top:10px}.callout.warn{background:var(--warn-soft);border-color:color-mix(in srgb,var(--warn) 30%,transparent)}.callout.warn .ico{color:var(--warn)}.callout b{color:var(--ink)}.shots{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.shot{background:var(--surface);border:1px solid var(--border);border-radius:9px;overflow:hidden}.shot img{display:block;width:100%;height:auto;border-bottom:1px solid var(--border)}.shot .cap{padding:9px 12px}.shot .cap b{display:block;font-size:var(--fs-sm);font-weight:600;margin-bottom:2px}.shot .cap span{font-size:var(--fs-xs);color:var(--muted);line-height:1.55}.shot a{text-decoration:none;color:inherit;display:block}.shot a:hover .cap b{color:var(--accent)}.pane-sub{font-weight:400;text-transform:none;letter-spacing:0;color:var(--faint);font-size:var(--fs-xs)}.ico.dim{color:var(--muted)}.kbd-inline{font:var(--fs-xs) var(--font-mono);color:var(--ink-2);background:var(--surface-2);border:1px solid var(--border);border-radius:4px;padding:0 5px;white-space:nowrap}.side-tip{display:flex;gap:7px;align-items:flex-start;margin:9px 4px 0;padding:8px 9px;font-size:var(--fs-xs);line-height:1.6;color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.side-tip .ico{color:var(--accent);flex:0 0 auto;margin-top:1px}.side-tip b{color:var(--ink-2);font-weight:500}.side-acts{display:flex;flex-direction:column;gap:6px;padding:10px 4px 0}.side-node{display:block}.x-row{margin-left:auto;width:16px;height:16px;display:grid;place-items:center;color:var(--faint);border-radius:3px;opacity:0}.tree-row:hover .x-row{opacity:1}.x-row:hover{background:var(--err-soft);color:var(--err)}.tree-row .nm.hit{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--muted);overflow:hidden;text-overflow:ellipsis}.tree-row .nm.hit mark{background:color-mix(in srgb,var(--accent) 28%,transparent);color:var(--ink);border-radius:2px}.tree-row .meta[data-ln]{min-width:20px;text-align:right;font-family:var(--font-mono)}.conv-head{display:flex;align-items:center;gap:8px;padding:2px 8px 9px;font-size:var(--fs-xs);color:var(--muted)}.conv-tag{margin-left:auto;font-size:10px;padding:0 6px;border-radius:999px}.conv-tag.ok{color:var(--ok);background:var(--ok-soft)}.conv-tag.off{color:var(--muted);background:var(--surface-3)}.conv-card.is-other{opacity:.82}.conv-matrix{margin:2px 4px 9px;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.mx-row{display:grid;grid-template-columns:44px repeat(4,1fr);align-items:center;background:var(--surface)}.mx-row+.mx-row{border-top:1px solid var(--border)}.mx-row.mx-head{background:var(--surface-2);font-size:10px;color:var(--muted)}.mx-row.mx-head span{padding:4px 0;text-align:center}.mx-src{padding:4px 6px;font-size:10px;color:var(--ink-2);border-right:1px solid var(--border);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mx-c{text-align:center;font-size:var(--fs-xs);padding:4px 0}.mx-c.yes{color:var(--ok);font-weight:700;cursor:help}.mx-c.plan{color:var(--faint);cursor:help}.mx-c.no{color:var(--border-strong)}.mx-c.self{color:var(--faint)}.cloud-me{display:flex;align-items:center;gap:9px;padding:4px 6px 10px}.avatar{width:28px;height:28px;flex:0 0 auto;display:grid;place-items:center;font-size:var(--fs-sm);font-weight:600;color:#fff;background:linear-gradient(140deg,var(--accent),var(--ai));border-radius:8px}.cloud-me .who{min-width:0}.cloud-me .who b{display:block;font-size:var(--fs-sm);font-weight:500}.cloud-me .who small{font-size:var(--fs-xs);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.quota{margin:0 4px 6px;padding:9px 10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.quota-head{display:flex;align-items:baseline;gap:6px;font-size:var(--fs-xs);color:var(--muted);margin-bottom:6px}.quota-head .num{margin-left:auto;font-size:var(--fs-md);color:var(--ink);font-variant-numeric:tabular-nums}.quota-note{margin-top:6px;font-size:10px;color:var(--faint);line-height:1.5}.meter{height:5px;background:var(--surface-3);border-radius:999px;overflow:hidden;position:relative}.meter span{display:block;height:100%;background:var(--accent);border-radius:999px}.meter.warn span{background:var(--warn)}.meter.bad span{background:var(--err)}.meter.lg{height:7px}.meter.lg i{position:absolute;top:-2px;bottom:-2px;width:1px;background:var(--border-strong)}.vm-canvas{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;font-size:var(--fs-xs);color:var(--muted)}.ai-list{display:flex;flex-direction:column;gap:5px;padding:0 2px}.ai-list li{display:flex;gap:7px;font-size:var(--fs-sm);line-height:1.6;color:var(--ink-2)}.ai-list li .ico{color:var(--ai);flex:0 0 auto;margin-top:3px}.conf{display:flex;flex-direction:column;gap:4px;padding:8px 10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.conf-row{display:grid;grid-template-columns:62px 1fr 34px;align-items:center;gap:8px;font-size:var(--fs-xs);color:var(--muted)}.conf-row .bar{height:4px;background:var(--surface-3);border-radius:999px;overflow:hidden}.conf-row .bar span{display:block;height:100%;border-radius:999px}.conf-row .bar span.hi{background:var(--ok)}.conf-row .bar span.mid{background:var(--warn)}.conf-row .bar span.lo{background:var(--err)}.conf-row .vv{text-align:right;font-variant-numeric:tabular-nums;color:var(--ink-2)}.fix-note{display:flex;gap:7px;padding:7px 9px;font-size:var(--fs-xs);line-height:1.55;color:var(--warn);background:var(--warn-soft);border-radius:var(--radius-sm)}.fix-note .ico{flex:0 0 auto;margin-top:1px}.applied-tag{display:inline-flex;align-items:center;gap:4px;margin-left:auto;font-size:var(--fs-xs);color:var(--ok)}.bubble.typing{display:flex;gap:4px;align-items:center;padding:11px}.bubble.typing span{width:5px;height:5px;border-radius:50%;background:var(--muted);animation:blink 1.1s infinite}.bubble.typing span:nth-child(2){animation-delay:.18s}.bubble.typing span:nth-child(3){animation-delay:.36s}@keyframes blink{0%,60%,to{opacity:.25}30%{opacity:1}}.bp-empty{display:flex;gap:8px;align-items:center;padding:12px 4px;font-family:var(--font-ui);font-size:var(--fs-sm);color:var(--muted)}.bp-empty .ico{color:var(--ok)}.issue .sev .ico{color:var(--warn)}.issue.err .sev .ico{color:var(--err)}.issue .go{display:inline-flex;align-items:center;gap:2px}.conv-log{display:grid;grid-template-columns:84px 190px 74px minmax(0,1fr);gap:8px;align-items:center;font-family:var(--font-ui);font-size:var(--fs-xs);padding:5px 0;border-bottom:1px solid var(--border)}.conv-log .t{color:var(--faint);font-family:var(--font-mono)}.conv-log .pair{display:flex;align-items:center;gap:4px}.conv-log .pair .ico{width:12px;height:12px;color:var(--faint)}.conv-log .st{display:inline-flex;align-items:center;gap:4px}.conv-log .st.ok{color:var(--ok)}.conv-log .st.bad{color:var(--warn)}.conv-log .doc{color:var(--ink-2)}.conv-log .note{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conv-log.click{cursor:pointer}.conv-log.click:hover{background:var(--surface)}.conv-log .ai-badge{display:inline-block;margin-left:5px;padding:0 4px;border:1px solid var(--ai-line);border-radius:3px;background:var(--ai-soft);color:var(--ai);font-family:var(--font-ui);font-size:9px;line-height:13px;vertical-align:1px}.usage{font-family:var(--font-ui)}.usage-head{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:10px}.usage-kpi{padding:8px 11px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.usage-kpi .lb{display:block;font-size:var(--fs-xs);color:var(--muted)}.usage-kpi .num{font-size:19px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}.usage-kpi .unit{font-size:var(--fs-xs);color:var(--faint);margin-left:4px}.usage-note{margin:7px 0 12px;font-size:var(--fs-xs);color:var(--muted);line-height:1.6}.usage-table{width:100%;border-collapse:collapse;font-size:var(--fs-xs)}.usage-table th,.usage-table td{padding:4px 8px;border-bottom:1px solid var(--border);text-align:left}.usage-table th{color:var(--muted);font-weight:500}.usage-table td.n,.usage-table th.n{text-align:right;font-variant-numeric:tabular-nums}.new-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.new-card{display:flex;flex-direction:column;gap:5px;padding:12px 13px;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:9px}.new-card:hover{border-color:var(--accent);background:var(--accent-soft)}.nc-head{display:flex;align-items:center;gap:7px}.nc-head b{font-size:var(--fs-md);font-weight:600}.nc-head .chip{margin-left:auto}.nc-ext{font:var(--fs-xs) var(--font-mono);color:var(--faint)}.nc-note{font-size:var(--fs-xs);color:var(--muted);line-height:1.55}.nc-caps{display:flex;gap:5px;flex-wrap:wrap;margin-top:2px}.cap{display:inline-flex;align-items:center;gap:3px;font-size:10px;padding:1px 6px;border-radius:999px;background:var(--surface-2);color:var(--muted);border:1px solid var(--border)}.cap.on{color:var(--ok);background:var(--ok-soft);border-color:color-mix(in srgb,var(--ok) 26%,transparent)}.cap.off{color:var(--faint)}.cap .ico{width:11px;height:11px}.conv-flowline{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:9px 11px;margin-bottom:13px;background:var(--surface-inset);border:1px solid var(--border);border-radius:var(--radius);font-size:var(--fs-sm)}.conv-flowline .arrow{display:inline-flex;color:var(--faint)}.src-doc{display:inline-flex;align-items:center;gap:5px;color:var(--ink-2);font-size:var(--fs-xs)}.src-doc.new{color:var(--accent);font-weight:500}.conv-cols{display:grid;grid-template-columns:216px minmax(0,1fr);gap:14px}.conv-col h4{display:flex;align-items:center;gap:6px;font-size:var(--fs-xs);font-weight:600;color:var(--muted);margin-bottom:7px}.conv-col h4 .meta{font-weight:400;color:var(--faint);margin-left:auto}.tgts{display:flex;flex-direction:column;gap:7px}.tgt{display:grid;grid-template-columns:auto auto 1fr;grid-template-rows:auto auto;gap:2px 7px;align-items:center;padding:8px 10px;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.tgt b{font-size:var(--fs-sm);font-weight:500}.tgt .tg-tag{grid-column:3;justify-self:end;font-size:10px;padding:0 6px;border-radius:999px}.tgt .tg-tag.ok{color:var(--ok);background:var(--ok-soft)}.tgt .tg-tag.off{color:var(--muted);background:var(--surface-3)}.tgt small{grid-column:1 / -1;font-size:var(--fs-xs);color:var(--muted);line-height:1.5}.tgt:hover{border-color:var(--accent-line)}.tgt.on{border-color:var(--accent);background:var(--accent-soft)}.tgt.off{opacity:.62}.conv-pre{margin:0;padding:10px 12px;max-height:250px;overflow:auto;font:var(--fs-xs)/1.65 var(--font-mono);color:var(--ink-2);background:var(--surface-inset);border:1px solid var(--border);border-radius:var(--radius);user-select:text}.dialog-body .callout,.dialog-foot .note{user-select:text}.callout .copy-err{margin-left:auto;align-self:flex-start;flex:0 0 auto}.dialog-body.has-tabs{display:grid;grid-template-columns:176px minmax(0,1fr);gap:16px;padding:0}.dlg-tabs{display:flex;flex-direction:column;gap:2px;padding:12px 8px;background:var(--surface-inset);border-right:1px solid var(--border)}.dlg-tab{display:flex;align-items:center;gap:8px;padding:6px 10px;font-size:var(--fs-sm);color:var(--ink-2);border-radius:var(--radius-sm);text-align:left}.dlg-tab:hover{background:var(--surface-3)}.dlg-tab.on{color:var(--accent);background:var(--accent-soft);font-weight:500}.dlg-tab .ico{color:var(--muted)}.dlg-tab.on .ico{color:var(--accent)}.dlg-pane{padding:14px 16px 16px;max-height:62vh;overflow:auto}.dlg-p{font-size:var(--fs-md);margin-bottom:5px}.dlg-sub{font-size:var(--fs-sm);color:var(--muted)}.theme-picks{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.theme-pick{padding:8px;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.theme-pick:hover{border-color:var(--accent-line)}.theme-pick.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.theme-pick b{display:block;font-size:var(--fs-sm);font-weight:500;margin-top:7px}.theme-pick small{display:block;font-size:10px;color:var(--muted);line-height:1.45}.tp-prev{display:grid;grid-template-columns:22px 1fr 26px;gap:2px;height:42px;padding:3px;border-radius:var(--radius-sm);border:1px solid var(--border)}.tp-prev i{display:block;border-radius:2px}.tp-prev.light{background:#f7f8f8}.tp-preview-note{display:none}.tp-prev.light .a{background:#eceff0}.tp-prev.light .b{background:#fff}.tp-prev.light .c{background:#3d7d72;opacity:.55}.tp-prev.dark{background:#16191a}.tp-prev.dark .a{background:#1c2021}.tp-prev.dark .b{background:#232829}.tp-prev.dark .c{background:#6fb2a3;opacity:.55}.tp-prev.auto{background:linear-gradient(100deg,#f7f8f8 50%,#16191a 50%)}.tp-prev.auto .a{background:#80808040}.tp-prev.auto .b{background:#8080801f}.tp-prev.auto .c{background:#7b6ca6;opacity:.55}.swatch-row{display:flex;gap:7px}.swatch{width:26px;height:26px;padding:3px;border:1px solid var(--border);border-radius:7px;background:var(--surface)}.swatch i{display:block;width:100%;height:100%;border-radius:4px}.swatch:hover{border-color:var(--border-strong)}.swatch.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}table.kv{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}table.kv td{padding:5px 8px;border-bottom:1px solid var(--border);vertical-align:top;color:var(--ink-2)}table.kv tr:last-child td{border-bottom:0}table.kv td:first-child{color:var(--muted);width:34%;font-family:var(--font-mono);font-size:var(--fs-xs)}table.kv.keys td:first-child{width:168px;font-family:var(--font-ui)}table.kv td .chip{vertical-align:middle}.kcell .kbd-inline{font-size:var(--fs-xs)}.acct{display:flex;align-items:center;gap:10px;padding:9px 11px;background:var(--surface-inset);border:1px solid var(--border);border-radius:var(--radius)}.acct .who b{display:block;font-size:var(--fs-sm);font-weight:500}.acct .who small{font-size:var(--fs-xs);color:var(--muted)}.keys-g{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.5px;color:var(--faint);margin:16px 0 6px;font-weight:600}.keys-g:first-child{margin-top:0}.prose h4{font-size:var(--fs-md);font-weight:600;margin:15px 0 5px}.prose h4:first-child{margin-top:0}.prose p{font-size:var(--fs-sm);color:var(--ink-2);line-height:1.75;margin-bottom:6px}.prose b{color:var(--ink);font-weight:600}.about .ab-hero{display:flex;align-items:center;gap:12px;margin-bottom:14px}.ab-logo{width:42px;height:42px;display:grid;place-items:center;color:#fff;border-radius:12px;background:linear-gradient(140deg,var(--accent),var(--ai))}.ab-hero h3{font-size:16px;font-weight:600}.ab-hero p{font-size:var(--fs-sm);color:var(--muted)}.hist-list{display:flex;flex-direction:column;gap:6px}.hist-row{display:flex;gap:12px;align-items:center;padding:9px 11px;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.hist-row:hover{border-color:var(--accent-line);background:var(--accent-soft)}.hist-more{padding:9px 11px;text-align:center;font-size:var(--fs-xs);color:var(--muted);border:1px dashed var(--border);border-radius:var(--radius);cursor:pointer}.hist-more:hover{color:var(--ink);border-color:var(--accent-line)}.hist-turn{align-items:flex-start}.hist-turn .who{flex:0 0 auto;min-width:4.5em;font-weight:500;color:var(--muted)}.hist-turn.bot .who{color:var(--accent)}.hist-turn .txt{flex:1 1 auto;min-width:0;white-space:pre-wrap;word-break:break-word;color:var(--ink)}.hist-turn .meta{flex:0 0 auto;font-size:var(--fs-xs);color:var(--faint)}.hr-main{flex:1;min-width:0}.hr-main b{display:block;font-size:var(--fs-sm);font-weight:500}.hr-main span{display:block;font-size:var(--fs-xs);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hr-side{display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-size:var(--fs-xs);color:var(--faint);white-space:nowrap}.seg-lg{flex-wrap:wrap}.seg-lg button{padding:5px 14px;font-size:var(--fs-sm);font-family:var(--font-mono)}.hist-toolbar{display:flex;align-items:center;gap:8px;margin:10px 0 8px}.hist-search{display:flex;align-items:center;gap:6px;height:26px;padding:0 9px;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--muted);background:var(--surface);flex:1;min-width:0;max-width:320px}.hist-search input{border:0;outline:0;font:inherit;font-size:var(--fs-xs);color:var(--ink);background:none;width:100%}.sumline{display:flex;align-items:center;gap:8px;font-size:var(--fs-xs);color:var(--muted);padding:0 2px 8px}.sumline a{color:var(--accent);text-decoration:none}.sumline a:hover{text-decoration:underline}.n-list{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.n-row{display:grid;grid-template-columns:max-content minmax(0,1fr) max-content;grid-template-rows:auto auto;gap:2px 10px;padding:9px 11px;border-top:1px solid var(--border);align-items:center;background:var(--surface);cursor:pointer}.n-row:first-child{border-top:0}.n-row:hover{background:var(--surface-2)}.n-row .b{grid-column:1;grid-row:1 / span 2;align-self:center}.n-row .t1{grid-column:2;grid-row:1;display:flex;align-items:center;gap:7px;font-size:var(--fs-sm);color:var(--ink);min-width:0}.n-row .t1 .nm{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.n-row .t1 .meta{font-size:var(--fs-xs);color:var(--faint);white-space:nowrap;flex:none}.n-row .t2{grid-column:2;grid-row:2;font-size:var(--fs-xs);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.5}.n-row .t2 .path{color:var(--faint);font-family:var(--font-mono)}.n-row .t2 .q{color:var(--ink-2)}.n-row .act{grid-column:3;grid-row:1 / span 2;display:flex;width:max-content;gap:5px;align-items:center;white-space:nowrap;opacity:.6;transition:opacity .12s}.n-row:hover .act{opacity:1}.mini-btn.primary{color:var(--accent-ink);background:var(--accent);border-color:var(--accent)}.mini-btn.primary:hover{background:var(--accent);color:var(--accent-ink);filter:brightness(1.06)}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;font-size:var(--fs-xs);font-weight:500;border-radius:999px;border:1px solid transparent;white-space:nowrap}.badge .ico{width:11px;height:11px}.badge.doc{color:var(--accent);background:var(--accent-soft);border-color:var(--accent-line)}.badge.draft{color:var(--warn);background:var(--warn-soft);border-color:color-mix(in srgb,var(--warn) 30%,transparent)}.badge.orphan{color:var(--err);background:var(--err-soft);border-color:color-mix(in srgb,var(--err) 28%,transparent)}.lay-note{font-size:var(--fs-sm);color:var(--muted);line-height:1.65;margin:11px 0 14px}.lay-note b{color:var(--ink-2)}.lnk-btn{color:var(--accent);text-decoration:underline;font:inherit}.lnk-btn:hover{color:var(--accent-hover)}.code-error b{color:var(--err)}.pop-row.has-sub{color:var(--accent);background:var(--accent-soft)}.pop-row .arrow-sub{color:var(--faint)}.pop.menu{min-width:226px}.palette-empty{display:flex;gap:9px;align-items:center;padding:20px 14px;font-size:var(--fs-sm);color:var(--muted)}.palette-empty .ico{color:var(--faint)}.palette-item.dis{opacity:.55}.palette-item.dis:hover{background:none;color:var(--ink-2)}.canvas-tools.is-canvas{bottom:46px}.welcome .sp{flex:1}.welcome .ai-hero>span:nth-child(3){flex:1;min-width:0}.welcome .fmts{margin-top:22px}body[data-density=compact]{--fs-md: 12px;--fs-sm: 11px;--fs-xs: 10px;--tabbar-h: 30px;--titlebar-h: 32px;--activitybar-w: 40px}body[data-density=roomy]{--fs-md: 14px;--fs-sm: 13px;--fs-xs: 12px;--tabbar-h: 38px;--titlebar-h: 42px}@media(max-width:1100px){:root{--sidebar-w: 200px;--ai-w: 300px}}@media(max-width:900px){:root{--sidebar-w: 0px;--ai-w: 280px}.sidebar{display:none}}.mt{margin-top:14px}.mb{margin-bottom:6px}.btn-row{display:flex;gap:8px}.field.narrow{max-width:120px}.sp.grow,.sp[hidden],.welcome .ai-hero .sp{flex:1}html[data-accent=indigo]{--accent: #3f6b8f;--accent-hover: #355d7d;--accent-soft: #e6eef4;--accent-line: #b7cede}html[data-accent=indigo][data-theme=dark]{--accent: #82a9cc;--accent-hover: #96bcdd;--accent-ink: #0f1c26;--accent-soft: #1f2c38;--accent-line: #2f4a61}html[data-accent=lotus]{--accent: #7b6ca6;--accent-hover: #6c5d96;--accent-soft: #eeebf6;--accent-line: #cec6e4}html[data-accent=lotus][data-theme=dark]{--accent: #a99bd4;--accent-hover: #bcb0e2;--accent-ink: #17131f;--accent-soft: #272340;--accent-line: #3b3559}html[data-accent=ochre]{--accent: #96762f;--accent-hover: #856726;--accent-soft: #f5efdf;--accent-line: #dcc99a}html[data-accent=ochre][data-theme=dark]{--accent: #cfa95f;--accent-hover: #ddbc78;--accent-ink: #211a0c;--accent-soft: #2e2819;--accent-line: #4f4225}html[data-accent=graphite]{--accent: #5b6670;--accent-hover: #4e5862;--accent-soft: #eaecee;--accent-line: #c3c9ce}html[data-accent=graphite][data-theme=dark]{--accent: #9aa5ae;--accent-hover: #aeb8c0;--accent-ink: #14181b;--accent-soft: #23282c;--accent-line: #3a4249}.swatch i.sw-pine{background:#3d7d72}.swatch i.sw-indigo{background:#3f6b8f}.swatch i.sw-lotus{background:#7b6ca6}.swatch i.sw-ochre{background:#96762f}.swatch i.sw-graphite{background:#5b6670}.pop .ico-slot{width:13px;flex:0 0 auto}.pop .kbd.arrow-sub{display:inline-flex;align-items:center;padding:0 2px;background:none;border:0;color:var(--faint)}.pop-row.has-sub{background:var(--accent-soft);color:var(--accent)}.pop-row.has-sub .ico{color:var(--accent)}.pop.sub{min-width:190px;max-height:min(70vh,560px)}.viewmodes.canvas-mode{border-color:transparent;background:transparent}.welcome .ai-hero .hero-txt{flex:1;min-width:0}.welcome .ai-hero .hero-txt b{display:block;font-size:var(--fs-md);font-weight:600;margin-bottom:2px}.welcome .ai-hero .hero-txt span{font-size:var(--fs-xs);color:var(--ink-2);line-height:1.55}.anatomy{width:100%;height:auto;display:block}.chipc.c-bg{background:#f7f8f8}.chipc.c-surface{background:#fff}.chipc.c-surface2{background:#f2f4f3}.chipc.c-border{background:#e2e5e4}.chipc.c-ink{background:#232b2a}.chipc.c-muted{background:#7d8887}.chipc.c-accent{background:#3d7d72}.chipc.c-ai{background:#7b6ca6}.chipc.c-d-bg{background:#16191a}.chipc.c-d-surface{background:#1c2021}.chipc.c-d-surface3{background:#242929}.chipc.c-d-border{background:#2b3132}.chipc.c-d-ink{background:#d8dedd}.chipc.c-d-muted{background:#838d8c}.chipc.c-d-accent{background:#6fb2a3}.chipc.c-d-ai{background:#a99bd4}.chipc.c-ok{background:#46885a}.chipc.c-warn{background:#a97a26}.chipc.c-err{background:#b0554a}.chipc.c-dot{background:#a07f36}.chipc.c-drawio{background:#4a7196}.chipc.c-excali{background:#8a6f9e}.doc-foot{display:flex;flex-direction:column;gap:4px;padding-top:18px;border-top:1px solid var(--border);font-size:var(--fs-xs);color:var(--faint)}.doc-foot code{font-family:var(--font-mono);color:var(--muted)}.split-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:12px}.col-card{border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;background:var(--surface)}.col-card h4{display:flex;gap:8px;align-items:center;font-size:var(--fs-md);margin-bottom:10px}.col-card ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px;font-size:var(--fs-sm);color:var(--ink-2);line-height:1.65}.col-card.native{border-top:3px solid var(--accent)}.col-card.web{border-top:3px solid var(--ai)}.col-card code{font-family:var(--font-mono);font-size:11px;color:var(--muted)}@media(max-width:900px){.split-cols{grid-template-columns:1fr}}html.full,html.full body,html.full .doc-page{height:auto;overflow:visible}:root{--fg: var(--ink);--hl-keyword: var(--code-key);--hl-operator: var(--code-edge);--hl-number: var(--code-num);--hl-string: var(--code-str);--hl-comment: var(--code-com)}.code-scroll{overflow:hidden}.code-host{height:100%;min-height:0;font-size:var(--editor-fs, 13px);position:relative}.code-host{isolation:isolate}.code-host .cm-editor{background:transparent!important}.editor-err-layer{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:6}.editor-swatch-layer{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:5}.editor-tint-layer{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1}.editor-swatch{position:absolute;width:8px;height:8px;border-radius:2px}.editor-swatch.hand{background:transparent!important;border:1px dashed var(--faint)}.editor-swatch-tint{position:absolute;left:0;right:0}.editor-err-squiggle{position:absolute;height:4px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='4'%3E%3Cpath d='M0 3.2 L2 0.8 L4 3.2 L6 0.8 L8 3.2' fill='none' stroke='%23e5484d' stroke-width='1.3'/%3E%3C/svg%3E") repeat-x;background-size:8px 4px}.code-host .cm-editor{height:100%}.code-host .cm-content,.code-host .cm-gutters{font-family:var(--font-mono)}.code-host .cm-editor.cm-focused{outline:none}.code-host .cm-scroller{overflow:auto}.code-host .cm-gutter{user-select:none}.code-host .cm-activeLineGutter{font-weight:600}.code-host textarea{user-select:text}.fallback-editor{width:100%;height:100%;padding:10px 14px;border:0;outline:0;resize:none;background:var(--surface);color:var(--ink);font:var(--fs-sm)/1.75 var(--font-mono);user-select:text}.preview-note{padding:22px;font-size:var(--fs-sm);color:var(--muted);user-select:text}.preview-error{max-width:560px;margin:20px;padding:14px 16px;font:var(--fs-xs)/1.65 var(--font-mono);color:var(--err);background:var(--err-soft);border:1px solid color-mix(in srgb,var(--err) 30%,transparent);border-radius:var(--radius);white-space:pre-wrap;word-break:break-word;user-select:text;-webkit-user-select:text;cursor:text}.preview-loading{display:inline-flex;align-items:center;gap:8px;padding:18px;font-size:var(--fs-sm);color:var(--muted)}.canvas-empty{display:grid;place-items:center;gap:12px;text-align:center;padding:40px 26px;max-width:460px}.canvas-empty .ce-hero{width:54px;height:54px;display:grid;place-items:center;color:var(--ai);background:var(--ai-soft);border:1px solid var(--ai-line);border-radius:15px}.canvas-empty .ce-hero svg{width:26px;height:26px}.canvas-empty h3{font-size:var(--fs-md);font-weight:600;color:var(--ink-2)}.canvas-empty p{font-size:var(--fs-sm);line-height:1.75;color:var(--muted)}.canvas-empty code{font-family:var(--font-mono);font-size:var(--fs-xs);background:var(--surface-2);border:1px solid var(--border);border-radius:4px;padding:0 5px}.canvas-empty .ce-facts{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin-top:2px}.mock-badge{display:inline-flex;align-items:center;gap:5px;align-self:center;padding:0 8px;height:16px;font-size:10px;font-weight:600;letter-spacing:.2px;color:#fff;background:var(--warn);border-radius:999px}.mock-badge:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}body.no-mock .mock-badge{display:none}.canvas-stage{transform:translate(var(--pan-x, 0px),var(--pan-y, 0px)) scale(var(--zoom, 1));transform-origin:center center;will-change:transform}.canvas-viewport.is-pannable{display:block;overflow:hidden}.canvas-stage.pannable{position:absolute;top:0;left:0;transform-origin:0 0;padding:0}.canvas-viewport.grabbing{cursor:grabbing}.canvas-viewport{cursor:grab}.canvas-viewport.no-pan{cursor:default}.doc-title.editing{padding:0}.doc-title input{width:100%;border:0;outline:0;background:transparent;font:inherit;color:var(--ink);text-align:center;user-select:text}.tree-row .nm.dim,.tree-row .meta.dim{color:var(--faint)}.side-list{display:flex;flex-direction:column}.side-section.collapsed .side-list{display:none}.field-row>.field.narrow{flex:0 0 120px}.bp-body .bp-kv{display:grid;grid-template-columns:max-content 1fr;gap:4px 14px}.st.ro{color:var(--muted)}.stack{display:flex;flex-direction:column;gap:6px}.row-inline{display:flex;align-items:center;gap:6px}.thumb .pic img{width:100%;height:100%;object-fit:cover;display:block}.bubble.streaming:after{content:"";display:inline-block;width:6px;height:13px;margin-left:2px;vertical-align:-2px;background:var(--ai);animation:caret-blink 1s steps(1) infinite}@keyframes caret-blink{0%,50%{opacity:1}50.01%,to{opacity:0}}.msg .think{display:flex;gap:5px;align-items:center;font-size:var(--fs-xs);color:var(--muted);padding:0 2px 4px}.msg .think[role=button]{cursor:pointer;user-select:none}.msg .think[role=button]:hover{color:var(--fg)}.msg .think:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:3px}.msg .think svg{color:var(--ai)}.msg .think .chev{flex:none;color:var(--muted);transition:transform .14s}.msg .think[aria-expanded=false] .chev{transform:rotate(-90deg)}.msg .agent-step{display:flex;gap:5px;align-items:baseline;font-size:var(--fs-xs);color:var(--muted);padding:1px 2px}.msg .agent-step svg{color:var(--ai);flex:none;transform:translateY(1px)}.msg .agent-step b{font-weight:600;color:var(--fg)}.msg .agent-step span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.msg .agent-step.bad{color:var(--err)}.msg .agent-step.bad svg{color:var(--err)}.msg .think-body{font-size:var(--fs-xs);line-height:1.65;color:var(--muted);background:var(--surface-2, var(--surface));border:1px dashed var(--border);border-radius:var(--radius);padding:6px 8px;margin-bottom:6px;max-height:220px;overflow:auto;white-space:normal}.bubble.notice{color:var(--warn);background:var(--warn-soft);border-color:color-mix(in srgb,var(--warn) 30%,transparent)}.switch .txt{min-width:0}.sidebar .field{margin-bottom:10px}.sidebar .field input[type=text]{width:100%}.explorer-search{margin:2px 4px 8px}.explorer-search .search-scope{margin:4px 0 6px}.explorer-search .field{margin-bottom:6px}.explorer-search .search-line{position:relative;display:flex}.explorer-search .search-line input[type=text]{flex:1;min-width:0;padding-right:30px}.explorer-search .search-clear{position:absolute;right:3px;top:50%;transform:translateY(-50%);width:22px;height:22px}.explorer-search .search-clear[hidden]{display:none}.explorer-search .search-opts{display:flex;gap:10px;margin-top:2px}.search-regex{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-xs);color:var(--muted);font-weight:500;user-select:none;cursor:pointer}.search-regex input{margin:0}.search-results{display:flex;flex-direction:column}.sidebar .tree-row.indent-2{padding-left:34px}.side-node>.tree-row .chev{transition:transform .12s ease}.sidebar .hit mark{background:var(--accent-soft);color:var(--ink);border-radius:2px;padding:0 1px}.sidebar .tree-row .meta{margin-left:auto}.conv-matrix .mx-c,.conv-matrix .mx-src{font-variant-numeric:tabular-nums}.cloud-me .avatar{display:inline-flex;align-items:center;justify-content:center}.preview-note.pv-guard{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:8px;border:1px solid var(--line, color-mix(in srgb, var(--ink) 12%, transparent));background:var(--surface-2, transparent);color:var(--ink-2, var(--ink));font-size:var(--fs-sm)}.preview-note.pv-guard small{color:var(--muted)}.preview-note.pv-guard .mini-btn{flex:0 0 auto}.ws-head{display:flex;align-items:center;gap:6px;padding:6px 4px 8px;margin-bottom:4px;border-bottom:1px solid var(--line, color-mix(in srgb, var(--ink) 8%, transparent))}.ws-head .ws-name{display:inline-flex;align-items:center;gap:6px;flex:1;min-width:0;font-size:var(--fs-sm);font-weight:600;color:var(--ink)}.ws-head .ws-name .nm{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-head .ws-acts{display:inline-flex;gap:2px;flex:0 0 auto}.ws-kids{display:block}.tree-row.ws-dir{color:var(--ink-2);font-weight:500}.tree-row.ws-file .nm{color:var(--ink-2)}.tree-row.ws-file .x-row{opacity:0}.tree-row.ws-file:hover .x-row{opacity:1}.side-section>h4 .h-act{margin-left:auto;width:22px;height:22px}.side-section>h4 .h-act.on{color:var(--accent)}.tree-row .meta.time{font-variant-numeric:tabular-nums}.ws-stats .sort-state{margin-left:auto;cursor:pointer;color:var(--faint)}.ws-stats .sort-state:hover{color:var(--accent)}.ws-stats .sort-state .ico{color:inherit}.ws-stats{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;padding:8px 6px 0;font-size:var(--fs-xs);color:var(--faint)}.ws-stats>*{display:inline-flex;align-items:center;gap:4px}.ws-stats .warn{color:var(--warn, #a97a26)}.search-scope{display:flex;align-items:center;gap:6px;margin:0 0 8px;padding:0 2px;font-size:var(--fs-xs);color:var(--faint);font-weight:500}.search-scope .ico{color:var(--accent)}.fs-banner{display:flex;align-items:center;gap:10px;margin:0 14px 8px;padding:8px 12px;border:1px solid color-mix(in srgb,var(--warn, #a97a26) 45%,transparent);border-radius:8px;background:color-mix(in srgb,var(--warn, #a97a26) 12%,transparent);color:var(--ink)}.fs-banner[hidden]{display:none}.fs-banner>.ico{flex:0 0 auto;color:var(--warn, #a97a26)}.fs-banner .fb-txt{display:flex;flex-direction:column;min-width:0;font-size:var(--fs-xs)}.fs-banner .fb-txt b{font-weight:600;color:var(--ink)}.fs-banner .fb-txt span{color:var(--muted)}.fs-banner .sp{flex:1}.fs-banner .fb-more{font-size:var(--fs-xs);color:var(--muted);font-variant-numeric:tabular-nums}.switch.ro{opacity:.72;cursor:default}.switch.ro .track{background:var(--surface-3)}.switch.ro.on .track{background:var(--accent);opacity:.55}.model-list{display:flex;flex-direction:column;gap:8px}.model-row{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:9px 11px}.mr-head{display:flex;align-items:center;gap:7px;margin-bottom:8px}.mr-head .sp{flex:1}.mr-head b{font-size:var(--fs-sm)}.key-tag{font-size:10px;padding:1px 7px;border-radius:999px;border:1px solid var(--border);color:var(--muted)}.key-tag.ok{color:var(--ok);background:var(--ok-soft);border-color:transparent}.key-tag.off{color:var(--warn);background:var(--warn-soft);border-color:transparent}.mr-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px 10px}.mr-grid label{display:flex;flex-direction:column;gap:3px;font-size:var(--fs-xs);color:var(--muted)}.mr-grid label.wide{grid-column:1 / -1}.mr-grid input{font-size:var(--fs-sm);padding:4px 7px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--ink)}.mr-grid input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.row-head{display:flex;align-items:center;gap:8px;margin-bottom:5px}.row-head label{font-size:var(--fs-xs);color:var(--muted);font-weight:500}.row-head .sp{flex:1}.staging-note{display:flex;align-items:flex-start;gap:7px;margin:0 0 10px;padding:8px 10px;border-radius:var(--radius-sm);background:var(--warn-soft);color:var(--warn);font-size:var(--fs-xs);line-height:1.55}.staging-note svg{margin-top:1px}.ai-prov-list{display:flex;flex-direction:column;gap:8px}.ai-prov{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden}.ai-prov-head{display:flex;align-items:center;gap:9px;padding:9px 11px}.ai-prov-head .btn{margin-left:2px}.ai-prov-logo{width:30px;height:30px;flex:none;border-radius:8px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-size:11px;font-weight:700;letter-spacing:.2px}.ai-prov-main{flex:1;min-width:0}.ai-prov-order{display:inline-flex;gap:1px;flex:none}.ai-prov-order .icon-btn:disabled{opacity:.3;cursor:default}.ai-prov-order .icon-btn:disabled:hover{background:transparent;color:var(--ink-2)}.ai-prov-main b{display:block;font-size:var(--fs-sm)}.ai-prov-main small{display:block;margin-top:1px;color:var(--muted);font:10.5px var(--font-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-prov-models{display:flex;flex-wrap:wrap;gap:5px;padding:7px 11px;border-top:1px dashed var(--border);background:var(--surface-inset)}.ai-model-chip{display:inline-flex;align-items:center;gap:3px;height:21px;padding:0 4px 0 7px;border:1px solid var(--border);border-radius:5px;background:var(--surface);font:10.5px var(--font-mono);color:var(--ink-2)}.ai-model-chip code{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-chip-x{width:15px;height:15px;display:grid;place-items:center;border-radius:3px;color:var(--faint);font-size:13px;line-height:1}.ai-chip-x:hover{background:var(--err-soft);color:var(--err)}.ai-prov-key{display:flex;align-items:center;gap:8px;padding:0 11px 9px;background:var(--surface-inset)}.ai-prov-key input{flex:1;min-width:0;height:26px;padding:0 7px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font-size:11px}.ai-prov-key .hint{flex:none;max-width:46%;font-size:10px;color:var(--faint);line-height:1.4}.ai-prov-adv{padding:0 11px 9px;background:var(--surface-inset);border-top:1px dashed var(--border)}.ai-prov-adv summary{cursor:pointer;padding:7px 0 4px;font-size:10.5px;color:var(--muted)}.ai-prov-adv-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding-bottom:2px}.ai-prov-adv-grid label{display:flex;flex-direction:column;gap:3px;font-size:10px;color:var(--muted)}.ai-prov-adv-grid input{height:25px;padding:0 6px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font-size:11px}.ai-add-mask{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:24px;background:#18201f52}.ai-add{width:540px;max-width:100%;max-height:calc(100vh - 80px);overflow:auto;background:var(--surface);border-radius:var(--radius);box-shadow:var(--sh-3)}.ai-add-head{display:flex;align-items:center;gap:7px;padding:11px 14px;border-bottom:1px solid var(--border);font-size:var(--fs-sm)}.ai-add-head .sp{flex:1}.ai-add-body{padding:13px 14px 4px}.ai-add .field>span:first-child{font-size:var(--fs-xs);color:var(--muted);font-weight:500}.ai-add input{height:30px;padding:0 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font-size:var(--fs-sm)}.ai-add input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.ai-add-models{max-height:150px;overflow:auto;border:1px solid var(--border);border-radius:var(--radius-sm);margin:6px 0 10px}.ai-add-model{display:flex;align-items:center;gap:8px;height:30px;padding:0 9px;border-bottom:1px solid var(--border);font-size:11px}.ai-add-model:last-child{border-bottom:0}.ai-add-model code{font-size:11px}.ai-add-foot{display:flex;align-items:center;gap:7px;padding:10px 14px;border-top:1px solid var(--border);background:var(--surface-inset)}.ai-add-foot .sp{flex:1}.reg-wrap{overflow:auto;border:1px solid var(--border);border-radius:var(--radius)}.reg-table{width:100%;border-collapse:collapse;font-size:var(--fs-xs)}.reg-table th,.reg-table td{padding:5px 9px;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}.reg-table th{color:var(--muted);font-weight:500;background:var(--surface-2);position:sticky;top:0}.reg-table tr:last-child td{border-bottom:0}.mx-list{display:flex;flex-direction:column;gap:5px}.mx-line{display:flex;align-items:center;gap:7px;font-size:var(--fs-xs)}.mx-tag{padding:0 6px;border-radius:999px;font-size:10px}.mx-tag.ok{color:var(--ok);background:var(--ok-soft)}.mx-tag.off{color:var(--muted);background:var(--surface-3)}.mx-how{color:var(--muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.keys-group{margin-bottom:14px}.keys-group>h4{font-size:var(--fs-xs);text-transform:none;letter-spacing:0;color:var(--accent);margin-bottom:7px}.keys-rows{display:flex;flex-direction:column;gap:4px}.keys-row{display:grid;grid-template-columns:190px 1fr;gap:12px;align-items:center;font-size:var(--fs-sm)}.keys-row .ks-d{color:var(--muted)}.keys-row .kbd-inline{width:max-content}.guide-sec{margin-bottom:13px}.guide-sec>h4{font-size:var(--fs-sm);margin-bottom:4px}.guide-sec>p{font-size:var(--fs-sm);color:var(--muted);line-height:1.75}.about-top{display:flex;align-items:center;gap:11px;margin-bottom:12px}.about-top .hero{width:44px;height:44px;display:grid;place-items:center;color:var(--accent);background:var(--accent-soft);border-radius:12px}.about-top b{font-size:var(--fs-md)}.about-top small{display:block;color:var(--muted);font-size:var(--fs-xs)}.about-meta-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:2px}.about-meta-row small{display:inline}.about-links{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0}.about-link{display:inline-flex;align-items:center;gap:6px;min-width:0;padding:0;border:0;background:transparent;cursor:pointer;color:var(--ink-2);font-size:var(--fs-xs)}.about-link .about-url{font-family:var(--font-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.about-link:hover{color:var(--accent)}.about-link:hover .about-url{text-decoration:underline;text-underline-offset:2px}.about-arrow{opacity:.55;font-size:10px}.dialog-body.has-tabs{display:grid;grid-template-columns:176px minmax(0,1fr);gap:0;min-height:0;max-height:62vh;overflow:hidden}.dialog-body.has-tabs .dlg-tabs{overflow-y:auto;padding:12px 0}.dialog-body.has-tabs .dlg-pane{overflow:auto;max-height:62vh;padding:14px 16px 16px}.ai-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;font-size:var(--fs-xs);color:var(--ai);background:var(--ai-soft);border:1px solid var(--ai-line);border-radius:var(--radius)}.ai-chip .icon-btn{margin-left:auto}.ai-chip.file{font-family:var(--mono, ui-monospace, monospace)}.ai-chip.file .dim{color:var(--faint)}.ai-pane.drag-over .ai-box{border-color:var(--ai);box-shadow:0 0 0 2px var(--ai-soft)}.send-btn.stop{background:var(--err);color:#fff}.send-btn.stop:hover{background:var(--err);filter:brightness(1.06)}html[data-theme=dark] .canvas-stage[data-engine=dot] svg text{fill:var(--fg)}html[data-theme=dark] .canvas-stage[data-engine=dot] svg path,html[data-theme=dark] .canvas-stage[data-engine=dot] svg polygon,html[data-theme=dark] .canvas-stage[data-engine=dot] svg polyline,html[data-theme=dark] .canvas-stage[data-engine=dot] svg ellipse{stroke:var(--fg)}.canvas-host{position:absolute;inset:0;display:block}.canvas-host[hidden]{display:none}.canvas-host .canvas-frame{width:100%;height:100%;border:0;display:block;background:var(--canvas-bg)}.canvas-viewport.is-canvas-host{display:block;overflow:hidden;background-image:none}.acct-card{display:flex;align-items:center;gap:10px;margin:4px 4px 10px;padding:11px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.acct-card .avatar{width:38px;height:38px;flex:0 0 auto;display:grid;place-items:center;color:var(--accent);background:var(--accent-soft);border-radius:50%}.acct-card .avatar .ico{width:19px;height:19px}.acct-card .who{min-width:0}.acct-card .who b{display:block;font-size:var(--fs-md);font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acct-card .who small{display:block;margin-top:1px;font-size:var(--fs-xs);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acct-rows{margin:0 4px;border-top:1px solid var(--border)}.acct-row{display:flex;align-items:center;gap:10px;padding:7px 8px;font-size:var(--fs-sm);border-bottom:1px solid var(--border)}.acct-row .k{color:var(--muted);flex:0 0 auto}.acct-row .v{margin-left:auto;color:var(--ink-2);text-align:right;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acct-quota{margin:10px 4px 2px;padding:10px 11px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.acct-quota h5{display:flex;align-items:center;gap:6px;font-size:var(--fs-xs);font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.acct-quota h5 .ico{color:var(--muted)}.acct-quota h5 .sp{flex:1}.acct-quota h5 .pct{font:600 var(--fs-sm) var(--font-mono);color:var(--ink-2);text-transform:none;letter-spacing:0}.acct-quota progress{width:100%;height:7px}.acct-quota .line{display:flex;align-items:baseline;gap:8px;margin-top:6px;font-size:var(--fs-xs);color:var(--muted)}.acct-quota .line b{font:600 var(--fs-sm) var(--font-mono);color:var(--ink-2)}.acct-note{margin:12px 6px 0;font-size:var(--fs-xs);color:var(--faint);line-height:1.7}.acct-badge{display:inline-flex;align-items:center;gap:4px;padding:1px 8px;border-radius:999px;font-size:var(--fs-xs);font-weight:500}.acct-ai-on{color:var(--ok);background:var(--ok-soft)}.acct-ai-off{color:var(--muted);background:var(--surface-3)}.acct-unknown{color:var(--faint)}.ct-toolbar{position:sticky;top:0;z-index:2;padding:4px 4px 6px;background:var(--surface-2)}.ct-top{display:flex;align-items:center;gap:6px}.ct-filter{flex:1;min-width:0;display:flex;align-items:center;gap:6px;padding:0 7px;height:26px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.ct-filter:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.ct-filter .ico{color:var(--faint);flex:0 0 auto}.ct-filter input{flex:1;min-width:0;border:0;background:none;outline:none;font-size:var(--fs-sm);color:var(--ink)}.ct-iconacts{display:flex;gap:2px;flex:0 0 auto}.ct-tree{padding-bottom:4px}.ct-row{display:flex;align-items:center;gap:7px;width:100%;padding:4px 8px 4px calc(6px + var(--depth, 0) * 14px);font-size:var(--fs-sm);color:var(--ink-2);border-radius:var(--radius-sm);text-align:left}.ct-row:hover{background:var(--surface-3);color:var(--ink)}.ct-row.on{background:var(--accent-soft);color:var(--accent)}.ct-row .caret{width:13px;height:13px;flex:0 0 auto;color:var(--faint);transition:transform .14s}.ct-row .caret.hidden{visibility:hidden}.ct-row.closed .caret{transform:rotate(-90deg)}.ct-row .fld{color:var(--accent);flex:0 0 auto}.ct-row.empty .fld{color:var(--faint)}.ct-row .nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ct-row.empty .nm{color:var(--faint)}.ct-row .cnt{font-size:var(--fs-xs);color:var(--faint);flex:0 0 auto}.ct-row .cnt.zero{opacity:.75}.ct-row mark{background:color-mix(in srgb,var(--accent) 30%,transparent);color:var(--ink);border-radius:2px}.ct-row .sz{font:var(--fs-xs) var(--font-mono);color:var(--faint);flex:0 0 auto}.pk-tree{margin-top:4px;padding:6px;max-height:300px;overflow:auto;background:var(--surface-inset);border:1px solid var(--border);border-radius:var(--radius)}.pk-row{display:flex;align-items:center;gap:8px;padding:5px 8px 5px calc(6px + var(--depth, 0) * 14px);font-size:var(--fs-sm);color:var(--ink-2);border-radius:var(--radius-sm);cursor:pointer}.pk-row:hover{background:var(--surface-3)}.pk-row.on{background:var(--accent-soft);color:var(--accent)}.pk-row .fld{color:var(--accent);flex:0 0 auto}.pk-row .nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pk-row .cnt{font-size:var(--fs-xs);color:var(--faint);flex:0 0 auto}.pk-row input[type=radio]{appearance:none;-webkit-appearance:none;width:13px;height:13px;flex:0 0 auto;margin:0;border:1.5px solid var(--border-strong);border-radius:50%;background:var(--surface)}.pk-row.on input[type=radio]{border-color:var(--accent);box-shadow:inset 0 0 0 3px var(--accent)}.pk-row.empty .fld,.pk-row.empty .nm{color:var(--faint)}.newfolder{display:flex;align-items:center;gap:8px;margin-top:10px}.newfolder input{flex:1;min-width:0;height:28px;padding:0 9px;font-size:var(--fs-sm);color:var(--ink);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.newfolder input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);outline:none}.field-hint{margin:-4px 0 10px;font-size:var(--fs-xs);color:var(--faint);line-height:1.6}.lurl-label{display:block;font-size:var(--fs-xs);color:var(--muted);margin-bottom:6px}.login-msg{min-height:17px;margin-top:2px;font-size:var(--fs-xs);line-height:1.5}.login-msg.err{color:var(--err)}.login-msg.ok{color:var(--ok)}.login-url{margin-top:6px;padding:9px 10px;background:var(--surface-inset);border:1px solid var(--border);border-radius:var(--radius-sm)}.login-url-row,.lurl-row{display:flex;align-items:center;gap:6px}.login-url-row input,.lurl-row input{flex:1;min-width:0;height:26px;padding:0 8px;font:var(--fs-xs) var(--font-mono);color:var(--ink-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:text;user-select:text;-webkit-user-select:text}.login-url-row input:focus,.lurl-row input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);outline:none}.link-btn{color:var(--accent);font-size:var(--fs-sm);cursor:pointer;background:none;border:0;padding:0}.link-btn:hover{text-decoration:underline}.upd-prog{margin-top:2px}.upd-text{margin:0 0 8px;font-size:var(--fs-md);color:var(--ink)}.upd-prog progress{width:100%;height:8px;accent-color:var(--accent)}.upd-hint{margin:8px 0 0;font-size:var(--fs-xs);color:var(--muted);line-height:1.5}
