.app-btn[data-v-ce42bece]{height:28px;padding:0 12px;border:1px solid var(--border);border-radius:var(--radius-ctrl);background:var(--bg-elev);color:var(--text-1);font:500 12px/1 var(--font-sans);letter-spacing:.02em;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.app-btn[data-v-ce42bece]:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-strong)}.app-btn[data-v-ce42bece]:active:not(:disabled){background:var(--bg-active)}.app-btn[data-v-ce42bece]:disabled{opacity:.45;cursor:not-allowed}.app-btn--primary[data-v-ce42bece]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}.app-btn--primary[data-v-ce42bece]:hover:not(:disabled){background:var(--accent);color:#100d09}.app-btn--danger[data-v-ce42bece]{color:var(--signal-red);border-color:var(--signal-red)}.app-btn--danger[data-v-ce42bece]:hover:not(:disabled){background:var(--signal-red-soft)}.app-btn--success[data-v-ce42bece]{background:var(--signal-green-soft);border-color:var(--signal-green);color:var(--signal-green);font-weight:600}.app-btn--success[data-v-ce42bece]:hover:not(:disabled){background:var(--signal-green);color:#100d09}.topbar[data-v-739e95ca]{min-height:var(--topbar-h);display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4);padding:6px var(--space-4);background:var(--bg-panel);border-bottom:1px solid var(--border)}.brand[data-v-739e95ca]{display:flex;align-items:center;gap:var(--space-2);flex:0 0 auto}.brand-dot[data-v-739e95ca]{width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:var(--glow-accent)}.brand-name[data-v-739e95ca]{font-size:14px;font-weight:700;letter-spacing:.03em}.group[data-v-739e95ca]{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.group.right[data-v-739e95ca]{margin-left:auto;flex:0 0 auto}.ctrl[data-v-739e95ca]{height:28px;padding:0 8px;max-width:220px;background:var(--bg-elev);color:var(--text-1);border:1px solid var(--border);border-radius:var(--radius-ctrl);font-size:12px}.net-dd[data-v-739e95ca]{position:relative}.net-btn[data-v-739e95ca]{max-width:240px;white-space:nowrap;text-align:left;cursor:pointer}.dd[data-v-739e95ca]{position:absolute;top:32px;left:0;z-index:50;min-width:230px;max-height:340px;overflow:auto;background:var(--bg-panel);border:1px solid var(--border-strong);border-radius:var(--radius-panel);box-shadow:var(--shadow-2);padding:4px}.dd-group[data-v-739e95ca]{font-size:10px;color:var(--text-3);padding:6px 8px 2px;letter-spacing:.05em}.dd-item[data-v-739e95ca]{padding:6px 8px;font-size:12px;color:var(--text-1);cursor:pointer;border-radius:var(--radius-ctrl)}.dd-item[data-v-739e95ca]:hover{background:var(--bg-hover)}.dd-item.cur[data-v-739e95ca]{background:var(--accent-soft);color:var(--accent)}.dd-preview[data-v-739e95ca]{position:absolute;top:32px;left:calc(100% + 10px);z-index:50;width:360px;background:var(--bg-panel);border:1px solid var(--border-strong);border-radius:var(--radius-panel);box-shadow:var(--shadow-2);padding:6px}.dd-preview img[data-v-739e95ca]{width:100%;border-radius:4px;display:block}.dd-preview-name[data-v-739e95ca]{font-size:11px;color:var(--text-2);padding:4px 2px 0}.sim-chip[data-v-739e95ca]{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border:1px solid var(--border);border-radius:999px;font-size:11px;color:var(--text-2);background:var(--bg-elev)}.sim-chip .dot[data-v-739e95ca]{width:7px;height:7px;border-radius:50%}.sim-chip.run .dot[data-v-739e95ca]{background:var(--signal-green);box-shadow:0 0 6px var(--signal-green)}.sim-chip.pause .dot[data-v-739e95ca]{background:var(--accent)}.sim-chip.idle .dot[data-v-739e95ca]{background:var(--text-3)}.step[data-v-739e95ca]{color:var(--text-3);font-size:10px}.canvas-wrap[data-v-81cad000]{position:relative;flex:1;min-width:0;background:var(--canvas-bg);overflow:hidden}.net-canvas[data-v-81cad000]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;cursor:grab}.net-canvas[data-v-81cad000]:active{cursor:grabbing}.overlay[data-v-81cad000]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--text-3);font-size:13px;pointer-events:none}.corner[data-v-81cad000]{position:absolute;top:var(--space-3);left:var(--space-3);display:flex;flex-direction:column;gap:3px;padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius-ctrl);background:var(--bg-panel)}.corner-name[data-v-81cad000]{font-size:12px;color:var(--text-1)}.corner-file[data-v-81cad000],.corner-meta[data-v-81cad000]{font-size:10px;color:var(--text-3)}.top-right[data-v-81cad000]{position:absolute;top:var(--space-3);right:var(--space-3);z-index:5;display:flex;align-items:center;gap:6px}.top-right .scenario[data-v-81cad000]{height:28px;padding:0 8px;max-width:150px;background:var(--bg-panel);color:var(--text-2);border:1px solid var(--border);border-radius:var(--radius-ctrl);font-size:12px;cursor:pointer}.top-right .scenario[data-v-81cad000]:disabled{opacity:.45;cursor:not-allowed}.top-right-btn[data-v-81cad000]{height:28px;padding:0 12px;border:1px solid var(--border);border-radius:var(--radius-ctrl);background:var(--bg-panel);color:var(--text-2);font-size:12px;cursor:pointer;transition:background var(--dur-fast),color var(--dur-fast),border-color var(--dur-fast)}.top-right-btn[data-v-81cad000]:hover{color:var(--text-1);border-color:var(--border-strong)}.top-right-btn.on[data-v-81cad000]{background:var(--signal-green-soft);border-color:var(--signal-green);color:var(--signal-green);font-weight:600}.legend[data-v-81cad000]{display:flex;gap:8px;font-size:10px;color:var(--text-3)}.legend.ev[data-v-81cad000]{padding-top:2px;border-top:1px dashed var(--border)}.lg[data-v-81cad000]{display:inline-flex;align-items:center;gap:4px}.sw[data-v-81cad000]{width:7px;height:7px;border-radius:50%;display:inline-block}.sw.red[data-v-81cad000]{background:var(--signal-red)}.sw.amber[data-v-81cad000]{background:var(--accent)}.sw.green[data-v-81cad000]{background:var(--signal-green)}.lg .line[data-v-81cad000]{width:14px;height:3px;border-radius:2px;display:inline-block}.canvas-toolbar[data-v-81cad000]{position:absolute;bottom:var(--space-3);left:50%;transform:translate(-50%);padding:4px 12px;border:1px solid var(--border);border-radius:999px;background:var(--bg-panel);font-size:11px;color:var(--text-3);pointer-events:none}.info-card[data-v-81cad000]{position:absolute;z-index:5;width:260px;padding:var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-panel);background:var(--bg-panel);box-shadow:var(--shadow-2);font-size:12px}.test-panel[data-v-81cad000]{position:absolute;z-index:5;left:var(--space-3);bottom:44px;width:260px;padding:var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-panel);background:var(--bg-panel);box-shadow:var(--shadow-2);font-size:12px}.test-head[data-v-81cad000]{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.test-title[data-v-81cad000]{font-size:13px;font-weight:700;color:#fff}.test-close[data-v-81cad000]{border:none;background:none;color:var(--text-3);font-size:14px;cursor:pointer}.test-close[data-v-81cad000]:hover{color:var(--signal-red)}.test-actions[data-v-81cad000]{display:flex;gap:6px;margin-top:var(--space-2)}.test-btn[data-v-81cad000]{flex:1;height:24px;border:1px solid var(--border-strong);border-radius:var(--radius-ctrl);background:var(--bg-elev);color:var(--text-1);font-size:11px;cursor:pointer;white-space:nowrap}.test-btn[data-v-81cad000]:disabled{opacity:.4;cursor:not-allowed}.test-btn[data-v-81cad000]:first-child{border-color:#fff;color:#fff}.info-head[data-v-81cad000]{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.info-id[data-v-81cad000]{font-size:13px;font-weight:700;color:var(--accent)}.info-close[data-v-81cad000]{border:none;background:none;color:var(--text-3);font-size:14px;cursor:pointer;padding:0 2px}.info-close[data-v-81cad000]:hover{color:var(--signal-red)}.kv[data-v-81cad000]{display:flex;justify-content:space-between;gap:8px;padding:2px 0;color:var(--text-2)}.kv>span[data-v-81cad000]:first-child{color:var(--text-3)}.route-list[data-v-81cad000]{max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.route .route-list[data-v-81cad000]:hover{white-space:normal;overflow:visible}.info-err[data-v-81cad000]{color:var(--signal-red);font-size:11px}.advice-block[data-v-81cad000]{margin-top:6px;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius-ctrl);background:var(--bg-elev)}.advice-state[data-v-81cad000]{display:flex;align-items:baseline;gap:6px}.advice-title[data-v-81cad000]{font-size:11px;color:var(--text-3)}.advice-state .mono[data-v-81cad000]{font-size:14px;font-weight:700;color:var(--accent)}.advice-state.畅通 .mono[data-v-81cad000]{color:var(--signal-green)}.advice-state.缓行 .mono[data-v-81cad000]{color:var(--accent)}.advice-state.拥堵 .mono[data-v-81cad000]{color:var(--signal-red)}.advice-lv[data-v-81cad000]{font-size:11px;color:var(--text-2)}.advice-reason[data-v-81cad000]{font-size:10px;color:var(--text-3);margin-top:3px;line-height:1.5}.add-row[data-v-81cad000]{display:flex;gap:6px;margin-top:var(--space-2)}.add-inp[data-v-81cad000]{width:60px;height:24px;padding:0 6px;background:var(--bg-elev);color:var(--text-1);border:1px solid var(--border);border-radius:var(--radius-ctrl)}.add-btn[data-v-81cad000]{flex:1;height:24px;border:1px solid var(--accent);border-radius:var(--radius-ctrl);background:var(--accent-soft);color:var(--accent);font-size:11px;cursor:pointer}.add-btn[data-v-81cad000]:hover{background:var(--accent);color:#100d09}.info-msg[data-v-81cad000]{color:var(--signal-green);font-size:11px;margin-top:4px}.panel-card[data-v-0a8e336e]{display:flex;flex-direction:column;min-height:0}.panel-body[data-v-0a8e336e]{flex:1;min-height:0;overflow:auto;padding:var(--space-3) var(--space-4)}.slot-right[data-v-0a8e336e]{display:inline-flex;align-items:center;gap:var(--space-2)}.agent-panel[data-v-8e53d20d]{height:100%}.agent-panel[data-v-8e53d20d] .panel-body{display:flex;flex-direction:column;overflow:hidden}.msgs[data-v-8e53d20d]{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:var(--space-3);background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-panel);padding:var(--space-3)}.empty[data-v-8e53d20d]{margin:auto;text-align:center;color:var(--text-3);font-size:12px}.empty-sub[data-v-8e53d20d]{font-size:11px;opacity:.8}.msg.user[data-v-8e53d20d]{align-self:flex-end}.msg.assistant[data-v-8e53d20d]{align-self:flex-start}.bubble[data-v-8e53d20d]{max-width:92%;padding:8px 12px;border-radius:10px;font-size:13px;line-height:1.6;white-space:pre-wrap}.user .bubble[data-v-8e53d20d]{background:var(--accent-soft);color:var(--accent);border-bottom-right-radius:3px}.assistant .bubble[data-v-8e53d20d]{background:var(--bg-panel);border:1px solid var(--border);border-bottom-left-radius:3px}.tools[data-v-8e53d20d]{margin-top:4px;display:flex;flex-direction:column;gap:4px}.tool[data-v-8e53d20d]{border:1px solid var(--border);border-radius:var(--radius-ctrl);background:var(--bg-panel);font-size:12px}.tool summary[data-v-8e53d20d]{display:flex;gap:8px;padding:5px 8px;cursor:pointer;list-style:none;align-items:center}.tool summary[data-v-8e53d20d]::-webkit-details-marker{display:none}.tool-dot[data-v-8e53d20d]{width:6px;height:6px;border-radius:2px;background:var(--accent);flex:0 0 auto}.tool-name[data-v-8e53d20d]{color:var(--accent);white-space:nowrap}.tool-args[data-v-8e53d20d]{color:var(--text-3);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tool-ok[data-v-8e53d20d]{margin-left:auto;font-size:11px;white-space:nowrap}.tool-ok.ok[data-v-8e53d20d]{color:var(--signal-green)}.tool-ok.fail[data-v-8e53d20d]{color:var(--signal-red)}.tool-detail[data-v-8e53d20d]{margin:0;padding:6px 8px;border-top:1px solid var(--border);font-size:11px;color:var(--text-2);overflow:auto}.typing[data-v-8e53d20d]{display:flex;align-items:center;gap:4px}.typing .dot[data-v-8e53d20d]{width:5px;height:5px;border-radius:50%;background:var(--text-3);animation:blink-8e53d20d 1.2s infinite}.typing .dot[data-v-8e53d20d]:nth-child(2){animation-delay:.2s}.typing .dot[data-v-8e53d20d]:nth-child(3){animation-delay:.4s}.typing-text[data-v-8e53d20d]{margin-left:6px;color:var(--text-3);font-size:12px}@keyframes blink-8e53d20d{0%,80%,to{opacity:.25}40%{opacity:1}}.err[data-v-8e53d20d]{font-size:11px;color:var(--signal-red);padding:4px 8px;background:var(--signal-red-soft);border-radius:4px}.actions[data-v-8e53d20d]{flex:0 0 auto;display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border)}.templates[data-v-8e53d20d]{display:flex;flex-direction:column;gap:6px}.model-row[data-v-8e53d20d]{display:flex;align-items:center;gap:6px}.model-label[data-v-8e53d20d]{font-size:11px;color:var(--text-2);flex:0 0 auto}.model-sel[data-v-8e53d20d]{flex:1;min-width:0;height:24px;padding:0 4px;background:var(--bg-elev);color:var(--text-1);border:1px solid var(--border);border-radius:var(--radius-ctrl);font-size:11px}.reset-mem[data-v-8e53d20d]{flex:0 0 auto;height:24px;padding:0 8px;white-space:nowrap;border:1px solid var(--border-strong);border-radius:var(--radius-ctrl);background:var(--bg-elev);color:var(--text-2);font-size:11px;cursor:pointer}.reset-mem[data-v-8e53d20d]:hover{border-color:var(--signal-red);color:var(--signal-red)}.tmpl[data-v-8e53d20d]{display:flex;align-items:center;gap:5px}.tmpl-label[data-v-8e53d20d]{flex:0 0 52px;font-size:11px;color:var(--text-2)}.tmpl-sel[data-v-8e53d20d]{flex:1;min-width:0;height:24px;padding:0 4px;background:var(--bg-elev);color:var(--text-1);border:1px solid var(--border);border-radius:var(--radius-ctrl);font-size:11px}.tmpl-send[data-v-8e53d20d]{flex:0 0 40px;height:24px;border:1px solid var(--accent);border-radius:var(--radius-ctrl);background:var(--accent-soft);color:var(--accent);font-size:11px;cursor:pointer;white-space:nowrap}.tmpl-send[data-v-8e53d20d]:hover{background:var(--accent);color:#100d09}.quick[data-v-8e53d20d]{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:6px 8px;border:1px dashed oklch(.95 .2 100 / .5);border-radius:var(--radius-ctrl);background:#fff19b0f;background:oklch(.95 .2 100 / .06);font-size:11px}.quick-label[data-v-8e53d20d]{color:var(--accent);font-weight:600;flex:0 0 auto}.quick-text[data-v-8e53d20d]{flex:1 1 140px;min-width:0;color:var(--text-1);line-height:1.5}.q-btn[data-v-8e53d20d]{flex:0 0 auto;height:20px;padding:0 8px;white-space:nowrap;border:1px solid var(--border-strong);border-radius:var(--radius-ctrl);background:var(--bg-elev);color:var(--text-2);font-size:10px;cursor:pointer}.q-btn[data-v-8e53d20d]:hover{border-color:var(--accent);color:var(--accent)}.q-btn.go[data-v-8e53d20d]{border-color:var(--light-yellow);color:var(--light-yellow)}.q-btn.go[data-v-8e53d20d]:disabled{opacity:.5;cursor:wait}.q-btn.x[data-v-8e53d20d]{border:none;background:none;color:var(--text-3);padding:0 4px;font-size:13px}.q-btn.x[data-v-8e53d20d]:hover{color:var(--signal-red)}.input-row[data-v-8e53d20d]{display:flex;gap:var(--space-2)}.input[data-v-8e53d20d]{flex:1;min-width:0;height:32px;padding:0 10px;background:var(--bg-elev);color:var(--text-1);border:1px solid oklch(.95 .2 100 / .45);border-radius:var(--radius-ctrl);font-size:12px;outline:none;transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}.input[data-v-8e53d20d]:hover{border-color:var(--light-yellow)}.input[data-v-8e53d20d]:focus{border-color:var(--light-yellow);box-shadow:0 0 0 2px #fff19b40;box-shadow:0 0 0 2px oklch(.95 .2 100 / .25)}.input.pulse[data-v-8e53d20d]{animation:inputPulse-8e53d20d .5s ease-in-out 2}@keyframes inputPulse-8e53d20d{0%,to{box-shadow:none}50%{box-shadow:0 0 0 3px #fff19b8c;box-shadow:0 0 0 3px oklch(.95 .2 100 / .55);border-color:var(--light-yellow)}}.tools-btn[data-v-8e53d20d]{height:20px;padding:0 8px;white-space:nowrap;border:1px solid var(--border-strong);border-radius:var(--radius-ctrl);background:var(--bg-elev);color:var(--text-2);font-size:11px;cursor:pointer}.tools-btn[data-v-8e53d20d]:hover{border-color:var(--accent);color:var(--accent)}.tools-mask[data-v-8e53d20d]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;background:#00000073;display:flex;align-items:center;justify-content:center;padding:24px}.tools-panel[data-v-8e53d20d]{width:min(560px,92vw);max-height:82vh;overflow:auto;background:var(--bg-panel);border:1px solid var(--border-strong);border-radius:var(--radius-panel);box-shadow:var(--shadow-2);padding:var(--space-4)}.tools-head[data-v-8e53d20d]{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.tools-title[data-v-8e53d20d]{font-size:15px;font-weight:700}.tools-close[data-v-8e53d20d]{border:none;background:none;color:var(--text-3);font-size:20px;cursor:pointer}.tools-close[data-v-8e53d20d]:hover{color:var(--signal-red)}.tools-model[data-v-8e53d20d]{display:flex;align-items:center;gap:8px;padding:8px 12px;margin-bottom:var(--space-3);background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-ctrl);font-size:12px;color:var(--text-2)}.tools-model-dot[data-v-8e53d20d]{width:7px;height:7px;border-radius:50%;background:var(--signal-green);flex:0 0 auto}.tools-model-dot.off[data-v-8e53d20d]{background:var(--signal-red)}.tools-model-label[data-v-8e53d20d]{flex:0 0 auto}.tools-model-name[data-v-8e53d20d]{color:var(--text-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tools-empty[data-v-8e53d20d]{font-size:12px;color:var(--text-3);padding:16px 0;text-align:center}.tool-card[data-v-8e53d20d]{border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--bg-elev);padding:var(--space-3);margin-bottom:var(--space-3)}.tool-name-row[data-v-8e53d20d]{display:flex;align-items:center;gap:8px}.tool-name[data-v-8e53d20d]{font-size:13px;color:var(--accent);font-weight:600}.tool-kind[data-v-8e53d20d]{font-size:10px;color:var(--text-3);border:1px solid var(--border);border-radius:999px;padding:1px 6px}.tool-desc[data-v-8e53d20d]{font-size:12px;color:var(--text-2);margin:6px 0 var(--space-2);line-height:1.6}.tool-args[data-v-8e53d20d]{display:flex;flex-direction:column;gap:3px}.arg-row[data-v-8e53d20d]{display:flex;align-items:baseline;gap:8px;font-size:11px;flex-wrap:wrap}.arg-name[data-v-8e53d20d]{color:var(--text-1)}.arg-req[data-v-8e53d20d]{flex:0 0 auto;font-size:10px;border-radius:3px;padding:0 4px}.arg-req.req[data-v-8e53d20d]{color:var(--signal-red);background:var(--signal-red-soft)}.arg-req.opt[data-v-8e53d20d]{color:var(--text-3);background:var(--bg-active)}.arg-desc[data-v-8e53d20d]{color:var(--text-2)}.arg-extra[data-v-8e53d20d]{color:var(--text-3);font-size:10px}.metrics-panel[data-v-14788fe7] .panel-body{display:flex;flex-direction:column;overflow:hidden}.scroll-area[data-v-14788fe7]{flex:1;min-height:0;overflow:auto}.cards[data-v-14788fe7]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.card[data-v-14788fe7]{padding:var(--space-3);background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-ctrl);position:relative}.card.custom.clickable[data-v-14788fe7]{cursor:pointer}.card.custom.clickable[data-v-14788fe7]:hover{border-color:var(--accent)}.label[data-v-14788fe7]{font-size:11px;color:var(--text-3);margin-bottom:4px}.value[data-v-14788fe7]{font-size:24px;font-weight:700;letter-spacing:.01em}.value.small[data-v-14788fe7]{font-size:13px;line-height:1.5;word-break:break-all;padding-bottom:12px}.unit[data-v-14788fe7]{font-size:11px;color:var(--text-3);margin-left:3px;font-weight:400}.trend[data-v-14788fe7]{font-size:13px;margin-left:4px}.trend.up[data-v-14788fe7]{color:var(--signal-green)}.trend.down[data-v-14788fe7]{color:var(--signal-red)}.locate-hint[data-v-14788fe7]{position:absolute;bottom:4px;right:8px;font-size:9px;color:var(--text-3)}.chart[data-v-14788fe7]{height:140px;margin-top:var(--space-3)}.custom-bar[data-v-14788fe7]{flex:0 0 auto;margin-top:var(--space-2);display:flex;justify-content:flex-end}.custom-btn[data-v-14788fe7]{height:22px;padding:0 10px;border:1px solid var(--border-strong);border-radius:var(--radius-ctrl);background:var(--bg-elev);color:var(--text-2);font-size:11px;cursor:pointer}.custom-btn[data-v-14788fe7]:hover{border-color:var(--accent);color:var(--accent)}.picker-mask[data-v-14788fe7]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:160;background:#00000073;display:flex;align-items:center;justify-content:center;padding:24px}.picker-panel[data-v-14788fe7]{width:min(440px,92vw);max-height:80vh;overflow:auto;background:var(--bg-panel);border:1px solid var(--border-strong);border-radius:var(--radius-panel);box-shadow:var(--shadow-2);padding:var(--space-4)}.picker-head[data-v-14788fe7]{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.picker-title[data-v-14788fe7]{font-size:15px;font-weight:700}.picker-close[data-v-14788fe7]{border:none;background:none;color:var(--text-3);font-size:20px;cursor:pointer}.picker-close[data-v-14788fe7]:hover{color:var(--signal-red)}.picker-list[data-v-14788fe7]{display:flex;flex-direction:column;gap:4px}.pitem[data-v-14788fe7]{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-ctrl);cursor:pointer;background:var(--bg-elev)}.pitem[data-v-14788fe7]:hover{border-color:var(--accent)}.pitem.on[data-v-14788fe7]{border-color:var(--accent);background:var(--accent-soft)}.pcheck[data-v-14788fe7]{width:18px;height:18px;flex:0 0 auto;border-radius:4px;border:1px solid var(--border-strong);display:flex;align-items:center;justify-content:center;font-size:12px;color:#100d09;background:var(--bg-panel)}.pitem.on .pcheck[data-v-14788fe7]{background:var(--accent);border-color:var(--accent)}.plabel[data-v-14788fe7]{font-size:12px;color:var(--text-1);flex:0 0 auto}.pdesc[data-v-14788fe7]{font-size:10px;color:var(--text-3)}.tabs[data-v-0c711d63]{display:flex;gap:6px;margin-bottom:var(--space-3)}.tab[data-v-0c711d63]{flex:1;height:26px;position:relative;border:1px solid var(--border);border-radius:var(--radius-ctrl);background:var(--bg-elev);color:var(--text-2);font-size:12px;cursor:pointer}.tab.active[data-v-0c711d63]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.run-dot[data-v-0c711d63]{position:absolute;top:3px;right:4px;width:6px;height:6px;border-radius:50%;background:var(--signal-green)}.body[data-v-0c711d63]{display:flex;flex-direction:column;gap:var(--space-3)}.warn[data-v-0c711d63]{font-size:11px;color:var(--accent);margin:0}.row[data-v-0c711d63]{display:flex;gap:6px}.inp[data-v-0c711d63]{flex:1;height:26px;padding:0 8px;min-width:0;background:var(--bg-elev);color:var(--text-1);border:1px solid var(--border);border-radius:var(--radius-ctrl);font-size:11px}.modes[data-v-0c711d63]{display:flex;gap:6px}.mode[data-v-0c711d63]{flex:1;height:26px;border:1px solid var(--border);border-radius:var(--radius-ctrl);background:var(--bg-elev);color:var(--text-2);font:600 11px/1 var(--font-mono);cursor:pointer}.mode.active[data-v-0c711d63]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.params[data-v-0c711d63]{display:flex;flex-direction:column;gap:var(--space-3)}.param-head[data-v-0c711d63]{display:flex;justify-content:space-between;font-size:11px;color:var(--text-2)}.param-head .value[data-v-0c711d63]{color:var(--text-1);font-size:13px}.unit[data-v-0c711d63]{color:var(--text-3);margin-left:2px;font-size:10px}.slider[data-v-0c711d63]{width:100%;accent-color:var(--accent)}.param-range[data-v-0c711d63]{display:flex;justify-content:space-between;font-size:10px;color:var(--text-3)}.hint[data-v-0c711d63]{font-size:11px;color:var(--text-3);margin:0}.last[data-v-0c711d63]{font-size:11px;color:var(--text-2);margin:var(--space-2) 0 0;word-break:break-all}.block[data-v-fbb199b4]{margin-bottom:var(--space-3)}.lbl[data-v-fbb199b4]{font-size:11px;color:var(--text-2);margin-bottom:6px}.row[data-v-fbb199b4]{display:flex;gap:6px;margin-bottom:6px}.inp[data-v-fbb199b4]{flex:1;height:26px;padding:0 8px;min-width:0;background:var(--bg-elev);color:var(--text-1);border:1px solid var(--border);border-radius:var(--radius-ctrl);font-size:11px}.types[data-v-fbb199b4]{display:flex;gap:6px}.types .app-btn[data-v-fbb199b4]{flex:1;font-size:11px;padding:0 6px}.msg[data-v-fbb199b4]{font-size:11px;color:var(--signal-green);margin:4px 0 0}.log[data-v-fbb199b4]{display:flex;flex-direction:column;gap:4px;border-top:1px solid var(--border);padding-top:var(--space-2)}.item[data-v-fbb199b4]{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-2)}.item .dot[data-v-fbb199b4]{width:6px;height:6px;border-radius:50%;background:var(--signal-red)}.item .step[data-v-fbb199b4]{margin-left:auto;color:var(--text-3)}.empty[data-v-fbb199b4]{color:var(--text-3);font-size:11px;text-align:center;padding:8px 0}.compare-root[data-v-9075befa]{display:flex;flex-direction:column;min-height:0}.compare-card[data-v-9075befa]{flex:1;min-height:0}.source[data-v-9075befa]{font-size:10px;color:var(--text-3)}.sec-label[data-v-9075befa]{font-size:11px;color:var(--text-2);margin:var(--space-3) 0 var(--space-2)}.chart[data-v-9075befa]{height:130px}.eval-table[data-v-9075befa]{width:100%;border-collapse:collapse;font-size:12px;margin-top:var(--space-2)}.eval-table th[data-v-9075befa],.eval-table td[data-v-9075befa]{padding:5px 8px;text-align:right;border-bottom:1px solid var(--border)}.eval-table th[data-v-9075befa]{color:var(--text-3);font-weight:500;font-size:11px}.eval-table td[data-v-9075befa]:first-child{text-align:left;color:var(--text-1)}.swatch[data-v-9075befa]{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:6px}.note[data-v-9075befa]{font-size:11px;color:var(--text-3);line-height:1.7;margin-top:var(--space-2)}.score-card[data-v-9075befa]{margin-top:var(--space-2);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--bg-elev)}.score-main[data-v-9075befa]{display:flex;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-2)}.score-num[data-v-9075befa]{font-size:34px;font-weight:700;color:var(--signal-green)}.score-caption[data-v-9075befa]{font-size:11px;color:var(--text-3)}.score-bars[data-v-9075befa]{display:flex;flex-direction:column;gap:4px}.bar-row[data-v-9075befa]{display:flex;align-items:center;gap:8px}.bar-lbl[data-v-9075befa]{width:70px;font-size:11px;color:var(--text-2)}.bar-track[data-v-9075befa]{flex:1;height:6px;border-radius:3px;background:var(--bg-active);overflow:hidden}.bar-fill[data-v-9075befa]{height:100%;background:var(--accent);border-radius:3px}.bar-val[data-v-9075befa]{width:46px;text-align:right;font-size:11px;color:var(--text-2)}.score-fail[data-v-9075befa]{color:var(--signal-red);font-size:11px;padding:6px 0}.score-note[data-v-9075befa]{font-size:10px;color:var(--text-3);margin-top:var(--space-2)}.fs-btn[data-v-9075befa]{height:22px;padding:0 8px;border:1px solid var(--border-strong);border-radius:var(--radius-ctrl);background:var(--bg-elev);color:var(--text-1);font-size:11px;cursor:pointer;white-space:nowrap}.fs-btn[data-v-9075befa]:hover{border-color:var(--accent);color:var(--accent)}.fs-mask[data-v-9075befa]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0000008c;display:flex;align-items:center;justify-content:center;padding:24px}.fs-panel[data-v-9075befa]{width:min(1200px,94vw);max-height:92vh;overflow:auto;background:var(--bg-panel);border:1px solid var(--border-strong);border-radius:var(--radius-panel);box-shadow:var(--shadow-2);padding:var(--space-4)}.fs-head[data-v-9075befa]{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.fs-title[data-v-9075befa]{font-size:15px;font-weight:700}.fs-close[data-v-9075befa]{border:none;background:none;color:var(--text-3);font-size:20px;cursor:pointer}.fs-close[data-v-9075befa]:hover{color:var(--signal-red)}.fs-grid[data-v-9075befa]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.fs-sec h4[data-v-9075befa]{font-size:12px;color:var(--text-2);margin:0 0 var(--space-2)}.fs-table[data-v-9075befa]{width:100%;border-collapse:collapse;font-size:12px}.fs-table th[data-v-9075befa],.fs-table td[data-v-9075befa]{padding:4px 8px;text-align:right;border-bottom:1px solid var(--border)}.fs-table th[data-v-9075befa]{color:var(--text-3);font-weight:500;font-size:11px}.fs-table td[data-v-9075befa]:first-child{text-align:left}.fs-table tr.bad td[data-v-9075befa]{color:var(--signal-red)}.rp-panel[data-v-9075befa]{width:min(520px,94vw)}.rp-sec[data-v-9075befa]{margin-bottom:var(--space-4)}.rp-label[data-v-9075befa]{font-size:12px;color:var(--text-2);margin-bottom:6px}.rp-hint[data-v-9075befa]{font-size:10px;color:var(--text-3);margin-top:4px;line-height:1.6}.seg[data-v-9075befa]{display:inline-flex;border:1px solid var(--border-strong);border-radius:var(--radius-ctrl);overflow:hidden}.seg-btn[data-v-9075befa]{height:26px;padding:0 16px;border:none;background:var(--bg-elev);color:var(--text-2);font-size:12px;cursor:pointer;white-space:nowrap}.seg-btn+.seg-btn[data-v-9075befa]{border-left:1px solid var(--border-strong)}.seg-btn.on[data-v-9075befa]{background:var(--accent);color:#100d09}.rp-range[data-v-9075befa]{display:flex;align-items:center;gap:8px}.rp-range-label[data-v-9075befa]{font-size:12px;color:var(--text-2)}.rp-input[data-v-9075befa]{width:110px;height:26px;padding:0 8px;background:var(--bg-elev);color:var(--text-1);border:1px solid var(--border);border-radius:var(--radius-ctrl);font-size:12px}.rp-sections[data-v-9075befa]{display:flex;flex-direction:column;gap:6px}.rp-check[data-v-9075befa]{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-1);cursor:pointer}.rp-check input[data-v-9075befa]{accent-color:var(--accent)}.rp-err[data-v-9075befa]{font-size:11px;color:var(--signal-red);margin-bottom:var(--space-3)}.rp-actions[data-v-9075befa]{display:flex;justify-content:flex-end;gap:var(--space-2)}.rp-gen[data-v-9075befa]{height:26px;padding:0 16px;border:1px solid var(--accent);border-radius:var(--radius-ctrl);background:var(--accent);color:#100d09;font-size:12px;cursor:pointer}.rp-gen[data-v-9075befa]:disabled{opacity:.5;cursor:wait}.mask[data-v-59333445]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#00000073;display:flex;align-items:center;justify-content:center}.panel[data-v-59333445]{width:min(680px,92vw);max-width:calc(100vw - 24px);max-height:86vh;display:flex;flex-direction:column;padding:var(--space-4);background:var(--bg-panel);border:1px solid var(--border-strong);border-radius:var(--radius-panel);box-shadow:var(--shadow-2)}.head[data-v-59333445]{flex:0 0 auto;display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.body[data-v-59333445]{flex:1 1 auto;min-height:0;overflow-y:auto;padding-right:2px}.title[data-v-59333445]{font-size:18px;font-weight:700}.close[data-v-59333445]{width:28px;height:28px;padding:0;border:none;background:none;color:var(--text-3);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.close[data-v-59333445]:hover{color:var(--signal-red)}.item[data-v-59333445]{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 2px;border-top:1px solid var(--border)}.item.sub[data-v-59333445]{opacity:.45}.item.sub .sw[data-v-59333445]{cursor:not-allowed}.label[data-v-59333445]{font-size:13px;color:var(--text-1)}.desc[data-v-59333445]{font-size:11px;color:var(--text-3);margin-top:2px}.sw[data-v-59333445]{width:40px;height:22px;border-radius:999px;border:1px solid var(--border-strong);background:var(--bg-elev);cursor:pointer;position:relative;flex:0 0 auto;transition:background var(--dur-fast),border-color var(--dur-fast)}.sw[data-v-59333445]:hover:not(.on){border-color:var(--accent)}.sw.on[data-v-59333445]{background:var(--accent);border-color:var(--accent)}.knob[data-v-59333445]{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--text-2);transition:left var(--dur-fast) var(--ease-out),background var(--dur-fast)}.sw.on .knob[data-v-59333445]{left:20px;background:#100d09}.reset[data-v-59333445]{flex:0 0 auto;height:28px;padding:0 12px;border:1px solid var(--accent);border-radius:var(--radius-ctrl);background:var(--accent-soft);color:var(--accent);font-size:12px;cursor:pointer}.reset[data-v-59333445]:hover{background:var(--accent);color:#100d09}.seg[data-v-59333445]{display:inline-flex;border:1px solid var(--border-strong);border-radius:var(--radius-ctrl);overflow:hidden;flex:0 0 auto}.seg button[data-v-59333445]{height:28px;padding:0 10px;border:none;background:var(--bg-elev);color:var(--text-2);font-size:12px;cursor:pointer;white-space:nowrap;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.seg button+button[data-v-59333445]{border-left:1px solid var(--border-strong)}.seg button[data-v-59333445]:hover:not(.on){background:var(--bg-hover);color:var(--accent)}.seg button.on[data-v-59333445]{background:var(--accent);color:#100d09}.shell[data-v-b280f9a0]{display:flex;flex-direction:column;height:100%}.layout[data-v-b280f9a0]{flex:1;min-height:0;display:flex;position:relative}.left[data-v-b280f9a0]{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3);overflow:hidden}.left-rest[data-v-b280f9a0]{flex:1;min-height:0}.left-tabs[data-v-b280f9a0]{display:flex;gap:4px;flex:0 0 auto;padding:3px;border:1px solid var(--border);border-radius:var(--radius-ctrl);background:var(--bg-elev)}.ltab[data-v-b280f9a0]{flex:1;height:24px;border:none;border-radius:var(--radius-ctrl);background:transparent;color:var(--text-2);font-size:12px;cursor:pointer}.ltab[data-v-b280f9a0]:hover{color:var(--text-1)}.ltab.on[data-v-b280f9a0]{background:var(--accent-soft);color:var(--accent);font-weight:600}.center[data-v-b280f9a0]{flex:1;min-width:0}.right[data-v-b280f9a0]{padding:var(--space-3);overflow:hidden}.layout.compact .right[data-v-b280f9a0],.layout.narrow .left[data-v-b280f9a0]{position:absolute;top:0;bottom:0;z-index:20;display:flex;flex-direction:column;box-shadow:var(--shadow-2);transition:transform var(--dur-med) var(--ease-out)}.layout.narrow .left[data-v-b280f9a0]{left:0;transform:translate(-100%)}.layout.narrow .left.open[data-v-b280f9a0]{transform:translate(0)}.layout.compact .right[data-v-b280f9a0]{right:0;transform:translate(100%)}.layout.compact .right.open[data-v-b280f9a0]{transform:translate(0)}.v-handle.hidden[data-v-b280f9a0]{display:none}.drawer-head[data-v-b280f9a0]{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;height:32px;padding:0 var(--space-2);font-size:12px;font-weight:600;letter-spacing:.06em;color:var(--text-2)}.drawer-close[data-v-b280f9a0]{width:24px;height:24px;border:1px solid var(--border);border-radius:var(--radius-ctrl);background:var(--bg-elev);color:var(--text-2);cursor:pointer;font-size:14px;line-height:1;display:inline-flex;align-items:center;justify-content:center}.drawer-close[data-v-b280f9a0]:hover{color:var(--accent);border-color:var(--accent)}.drawer-tab[data-v-b280f9a0]{position:absolute;z-index:15;top:50%;transform:translateY(-50%);width:18px;height:60px;border:1px solid var(--border-strong);background:var(--bg-panel);color:var(--text-2);cursor:pointer;font-size:14px;line-height:1;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-ctrl)}.drawer-tab[data-v-b280f9a0]:hover{color:var(--accent);border-color:var(--accent)}.drawer-tab.left[data-v-b280f9a0]{left:0}.drawer-tab.right[data-v-b280f9a0]{right:0}.v-handle[data-v-b280f9a0]{flex:0 0 5px;margin:0 -1px;cursor:col-resize;background:transparent;border-left:1px solid var(--border);border-right:1px solid var(--border);transition:background var(--dur-fast)}.v-handle[data-v-b280f9a0]:hover,.v-handle[data-v-b280f9a0]:active{background:var(--accent-soft)}.h-handle[data-v-b280f9a0]{flex:0 0 7px;cursor:row-resize;background:transparent;border-top:1px solid var(--border);border-bottom:1px solid var(--border);position:relative;transition:background var(--dur-fast)}.h-handle[data-v-b280f9a0]:after{content:"";position:absolute;left:50%;top:2px;transform:translate(-50%);width:36px;height:3px;border-radius:2px;background:var(--border-strong)}.h-handle[data-v-b280f9a0]:hover:after,.h-handle[data-v-b280f9a0]:active:after{background:var(--accent)}.h-handle[data-v-b280f9a0]:hover,.h-handle[data-v-b280f9a0]:active{background:var(--accent-soft)}:root,[data-theme=dark]{color-scheme:dark;--bg-base: oklch(.16 .008 80);--bg-panel: oklch(.2 .008 80);--bg-elev: oklch(.245 .008 80);--bg-hover: oklch(.28 .008 80);--bg-active: oklch(.31 .008 80);--border: oklch(.315 .008 80);--border-strong: oklch(.4 .01 80);--text-1: oklch(.93 .005 80);--text-2: oklch(.66 .01 80);--text-3: oklch(.49 .01 80);--accent: oklch(.8 .13 75);--accent-strong: oklch(.72 .15 75);--accent-soft: oklch(.8 .13 75 / .14);--signal-green: oklch(.78 .15 150);--signal-red: oklch(.66 .2 25);--signal-green-soft: oklch(.78 .15 150 / .14);--signal-red-soft: oklch(.66 .2 25 / .14);--light-red: oklch(.72 .21 25 / .55);--light-yellow: oklch(.96 .2 100);--light-green: oklch(.92 .18 152);--shadow-1: 0 1px 2px rgb(0 0 0 / .35);--shadow-2: 0 4px 16px rgb(0 0 0 / .35);--glow-accent: 0 0 12px oklch(.8 .13 75 / .35);--canvas-bg: oklch(.145 .008 80);--net-edge: oklch(.34 .008 80);--net-edge-highlight: oklch(.6 .02 80);--net-node: oklch(.42 .008 80);--road-yellow: oklch(.86 .16 95)}[data-theme=light]{color-scheme:light;--bg-base: oklch(.965 .004 80);--bg-panel: oklch(.992 .002 80);--bg-elev: oklch(1 0 0);--bg-hover: oklch(.93 .006 80);--bg-active: oklch(.9 .008 80);--border: oklch(.88 .006 80);--border-strong: oklch(.75 .01 80);--text-1: oklch(.21 .008 80);--text-2: oklch(.45 .01 80);--text-3: oklch(.62 .01 80);--accent: oklch(.55 .13 75);--accent-strong: oklch(.48 .14 75);--accent-soft: oklch(.55 .13 75 / .12);--signal-green: oklch(.45 .13 150);--signal-red: oklch(.55 .19 25);--signal-green-soft: oklch(.45 .13 150 / .12);--signal-red-soft: oklch(.55 .19 25 / .12);--light-red: oklch(.65 .21 25 / .6);--light-yellow: oklch(.88 .19 100);--light-green: oklch(.62 .19 150);--shadow-1: 0 1px 2px rgb(16 18 20 / .06);--shadow-2: 0 4px 16px rgb(16 18 20 / .08);--glow-accent: 0 0 12px oklch(.55 .13 75 / .25);--canvas-bg: oklch(.94 .004 80);--net-edge: oklch(.72 .01 80);--net-edge-highlight: oklch(.55 .02 80);--net-node: oklch(.62 .008 80);--road-yellow: oklch(.6 .15 85)}:root{--font-sans: "PingFang SC", "Microsoft YaHei", "Noto Sans SC", system-ui, sans-serif;--font-mono: "Cascadia Code", Consolas, ui-monospace, "Courier New", monospace;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--radius-panel: 6px;--radius-ctrl: 4px;--dur-fast: .15s;--dur-med: .25s;--ease-out: cubic-bezier(.22, .61, .36, 1);--topbar-h: 52px;--panel-w: 380px;--left-w: 300px}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{font-family:var(--font-sans);font-size:14px;line-height:1.5;background:var(--bg-base);color:var(--text-1);-webkit-font-smoothing:antialiased;transition:background var(--dur-med) var(--ease-out),color var(--dur-med) var(--ease-out)}.num,.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.panel{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-panel)}.panel-title{display:flex;align-items:center;justify-content:space-between;padding:10px var(--space-4);font-size:12px;font-weight:600;letter-spacing:.06em;color:var(--text-2);border-bottom:1px solid var(--border);text-transform:uppercase;white-space:nowrap}.panel-title>span:first-child{overflow:hidden;text-overflow:ellipsis}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:4px}::-webkit-scrollbar-track{background:transparent}button:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.sample-badge{display:inline-block;padding:1px 6px;border-radius:3px;font-size:10px;letter-spacing:.05em;color:var(--text-3);border:1px dashed var(--border-strong)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
