.run-status[data-v-8519ce08]{position:relative;display:flex;align-items:center;gap:8px;min-width:0;max-width:480px;height:34px;padding:0 14px;border-radius:17px;border:1px solid var(--border);background:var(--surface-2, var(--surface));color:var(--text);font:inherit;font-size:13px;cursor:pointer;overflow:hidden;white-space:nowrap}.run-status.running[data-v-8519ce08]{border-color:var(--brand);background:var(--brand-soft)}.run-status.done[data-v-8519ce08]{border-color:var(--good);background:var(--good-soft);color:var(--good-text)}.run-status.error[data-v-8519ce08]{border-color:var(--bad-text);background:var(--bad-soft);color:var(--bad-text)}.label[data-v-8519ce08]{font-weight:600}.target[data-v-8519ce08]{min-width:0;overflow:hidden;text-overflow:ellipsis;color:var(--text-secondary)}.done .target[data-v-8519ce08],.error .target[data-v-8519ce08]{color:inherit;opacity:.85}.stage[data-v-8519ce08]{flex:none;padding:1px 8px;border-radius:10px;background:var(--surface);color:var(--brand-strong);font-size:12px}.pct[data-v-8519ce08],.score[data-v-8519ce08]{flex:none;font-weight:600}.pct[data-v-8519ce08]{width:34px;text-align:right;color:var(--brand-strong)}.icon[data-v-8519ce08]{font-weight:700}.bar[data-v-8519ce08]{position:absolute;left:0;right:0;bottom:0;height:3px}.fill[data-v-8519ce08]{display:block;height:100%;background:var(--brand);transition:width .3s}.spinner[data-v-8519ce08]{flex:none;width:14px;height:14px;border:2px solid var(--brand-soft);border-top-color:var(--brand);border-radius:50%;animation:spin-8519ce08 .8s linear infinite}@keyframes spin-8519ce08{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner[data-v-8519ce08]{animation-duration:2.4s}}.fade-enter-active[data-v-8519ce08],.fade-leave-active[data-v-8519ce08]{transition:opacity .25s}.fade-enter-from[data-v-8519ce08],.fade-leave-to[data-v-8519ce08]{opacity:0}.topbar[data-v-1a70ba76]{height:56px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 16px;background:var(--surface);border-bottom:1px solid var(--border)}.brand[data-v-1a70ba76]{flex:none;display:flex;align-items:center;gap:10px}@media(max-width:1280px){.sub[data-v-1a70ba76]{display:none}}.name[data-v-1a70ba76]{font-weight:700;font-size:16px}.sub[data-v-1a70ba76]{font-size:12px;color:var(--text-muted)}.center[data-v-1a70ba76]{flex:1;min-width:0;display:flex;justify-content:center;padding:0 16px}.right[data-v-1a70ba76]{flex:none;display:flex;align-items:center;gap:8px}.right a[data-v-1a70ba76]{text-decoration:none;color:inherit}.btn.on[data-v-1a70ba76]{background:var(--brand-soft);color:var(--brand-strong)}.steps[data-v-cfcd6665]{display:flex;flex-direction:column;gap:6px}.bar[data-v-cfcd6665]{height:6px;background:var(--surface-3);border-radius:3px;overflow:hidden}.fill[data-v-cfcd6665]{height:100%;background:var(--series-1);border-radius:3px;transition:width .3s}.msg[data-v-cfcd6665]{display:flex;justify-content:space-between;font-size:12px;color:var(--text-secondary);gap:8px}ol[data-v-cfcd6665]{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:4px 10px;font-size:12px;color:var(--text-muted)}li.done[data-v-cfcd6665]{color:var(--good-text)}.mark[data-v-cfcd6665]{display:inline-block;width:12px;font-weight:700}.rail[data-v-b0dfde90]{flex:none;width:40px;display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px 0;border:0;border-right:1px solid var(--border);background:var(--surface);color:var(--text-secondary);font:inherit;cursor:pointer}.rail[data-v-b0dfde90]:hover{background:var(--brand-soft);color:var(--brand)}.rail-chev[data-v-b0dfde90]{font-size:18px;line-height:1;color:var(--brand)}.rail-text[data-v-b0dfde90]{writing-mode:vertical-rl;letter-spacing:.2em;font-size:13px;font-weight:600}.collapse-btn[data-v-b0dfde90]{width:24px;height:24px;padding:0;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text-secondary);font-size:14px;line-height:1;cursor:pointer}.collapse-btn[data-v-b0dfde90]:hover{border-color:var(--brand);color:var(--brand)}.loc-msg[data-v-b0dfde90]{position:relative;margin:8px 0 0;padding:8px 28px 8px 10px;border-radius:8px;font-size:12.5px;line-height:1.6}.loc-msg.error[data-v-b0dfde90]{background:var(--bad-soft);color:var(--bad-text)}.loc-msg.note[data-v-b0dfde90]{padding-right:10px;background:var(--surface-2);color:var(--text-secondary)}.loc-msg .en[data-v-b0dfde90]{margin-top:2px;opacity:.85;font-size:12px}.loc-msg .close[data-v-b0dfde90]{position:absolute;top:2px;right:6px;border:0;background:transparent;color:inherit;font-size:16px;cursor:pointer}.panel[data-v-b0dfde90]{width:340px;flex:none;background:var(--surface);border-right:1px solid var(--border);padding:16px;display:flex;flex-direction:column;gap:18px}section[data-v-b0dfde90]{display:flex;flex-direction:column;gap:8px}.search[data-v-b0dfde90]{position:relative}.suggest[data-v-b0dfde90]{position:absolute;top:40px;left:0;right:0;list-style:none;margin:0;padding:4px;z-index:1000;box-shadow:var(--shadow-lg)}.suggest li[data-v-b0dfde90]{padding:7px 10px;border-radius:6px;cursor:pointer;display:flex;justify-content:space-between;gap:8px}.suggest li[data-v-b0dfde90]:hover{background:var(--surface-3)}.row-btns[data-v-b0dfde90]{display:flex;align-items:center;gap:8px}.tip[data-v-b0dfde90]{font-size:12px}.notice[data-v-b0dfde90]{font-size:12px;line-height:1.6;background:var(--warn-soft);border:1px solid var(--warn-border);color:var(--warn-text);padding:8px 10px;border-radius:8px;margin:0}.presets[data-v-b0dfde90]{display:grid;grid-template-columns:1fr 1fr;gap:6px}.preset[data-v-b0dfde90]{text-align:left;border:1px solid var(--border);background:var(--surface-2);border-radius:8px;padding:8px;cursor:pointer}.preset[data-v-b0dfde90]:hover{border-color:var(--brand)}.preset.on[data-v-b0dfde90]{border-color:var(--brand);background:var(--brand-soft)}.pname[data-v-b0dfde90]{font-size:12.5px;font-weight:600;line-height:1.35}.ptags[data-v-b0dfde90]{display:flex;flex-wrap:wrap;gap:3px;margin-top:5px}.ptags .chip[data-v-b0dfde90]{font-size:10.5px;padding:1px 6px}.picked[data-v-b0dfde90]{background:var(--surface-2);border:1px dashed var(--border-strong);border-radius:8px;padding:8px 10px;font-size:12px}.picked-name[data-v-b0dfde90]{font-weight:600;font-size:13px;margin-bottom:2px}.field[data-v-b0dfde90]{display:flex;flex-direction:column;gap:6px}.flabel[data-v-b0dfde90]{font-size:13px;display:flex;justify-content:space-between}input[type=range][data-v-b0dfde90]{width:100%;accent-color:var(--brand)}.hint[data-v-b0dfde90]{font-size:12px;line-height:1.5}.adv summary[data-v-b0dfde90]{cursor:pointer;font-size:13px;color:var(--text-secondary)}.speed-grid[data-v-b0dfde90]{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}.speed-grid label[data-v-b0dfde90]{font-size:12px;display:flex;align-items:center;gap:4px}.speed-grid .input.sm[data-v-b0dfde90]{height:28px;padding:0 6px;width:64px}.run .btn[data-v-b0dfde90]{width:100%}.error[data-v-b0dfde90]{color:var(--critical);font-size:13px;margin:0}.history ul[data-v-b0dfde90]{list-style:none;padding:0;margin:0}.history li[data-v-b0dfde90]{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;border-radius:6px;cursor:pointer;font-size:13px}.history li[data-v-b0dfde90]:hover,.history li.on[data-v-b0dfde90]{background:var(--surface-3)}.history li[data-v-b0dfde90]{gap:4px}.tag[data-v-b0dfde90]{font-size:11px;line-height:18px;padding:0 5px;border-radius:4px;background:var(--surface-3);color:var(--text-secondary);font-variant-numeric:tabular-nums;flex:none}.tag.tier-lite[data-v-b0dfde90]{color:var(--warn-text);background:var(--warn-soft)}.tag.tier-precise[data-v-b0dfde90]{color:var(--good-text);background:var(--good-soft)}.hname[data-v-b0dfde90]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:8px}.link[data-v-b0dfde90]{cursor:pointer;font-weight:500}.layers[data-v-b352863f]{width:236px;box-shadow:var(--shadow);font-size:13px;overflow:hidden}.head[data-v-b352863f]{display:flex;justify-content:space-between;width:100%;border:0;background:transparent;padding:9px 12px;font-weight:600;cursor:pointer}.body[data-v-b352863f]{max-height:calc(100vh - 260px);padding:0 12px 10px}.group[data-v-b352863f]{padding:6px 0;border-top:1px solid var(--border)}.gtitle[data-v-b352863f]{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:4px}.links a[data-v-b352863f]{cursor:pointer;font-weight:400}label[data-v-b352863f]{display:flex;align-items:center;gap:6px;line-height:24px;cursor:pointer;color:var(--text-primary)}label.inline[data-v-b352863f]{line-height:20px;font-weight:600;color:var(--text-secondary)}label.cat .muted[data-v-b352863f]{margin-left:auto}.sw[data-v-b352863f]{width:14px;height:8px;border-radius:2px;display:inline-block;flex:none}.sw.dash[data-v-b352863f]{box-sizing:border-box;border:2px dashed;background:transparent}.sw.round[data-v-b352863f]{width:9px;height:9px;border-radius:50%}.sw.star[data-v-b352863f]{color:var(--series-2);font-style:normal;width:14px;height:auto;text-align:center}.input.sm[data-v-b352863f]{height:30px;margin-top:4px;font-size:12px}.map-wrap[data-v-21f2229a]{position:relative;height:100%;min-height:420px}.map[data-v-21f2229a]{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--map-bg)}.map-banner[data-v-21f2229a]{position:absolute;top:60px;left:50%;transform:translate(-50%);background:var(--warn-soft);color:var(--warn-text);padding:6px 12px;border-radius:8px;font-size:12px;z-index:500}.map-toolbar[data-v-21f2229a]{position:absolute;top:12px;left:12px;display:flex;align-items:center;gap:10px;padding:6px;box-shadow:var(--shadow);z-index:500}.map-toolbar .seg[data-v-21f2229a]{min-width:200px}.layer-panel[data-v-21f2229a]{position:absolute;top:12px;right:12px;z-index:500}.legend[data-v-21f2229a]{position:absolute;left:12px;bottom:36px;padding:10px 12px;font-size:12px;box-shadow:var(--shadow);z-index:500;min-width:210px}.legend-title[data-v-21f2229a]{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:0;margin-bottom:6px;border:0;background:transparent;color:inherit;font:inherit;font-weight:600;text-align:left;cursor:pointer}.legend-title .muted[data-v-21f2229a]{font-weight:400}.legend.collapsed .legend-title[data-v-21f2229a]{margin-bottom:0}.ramp[data-v-21f2229a]{display:flex;height:8px;border-radius:4px;overflow:hidden}.ramp span[data-v-21f2229a]{flex:1}.ramp-labels[data-v-21f2229a]{display:flex;justify-content:space-between;color:var(--text-muted);margin:2px 0 6px}.legend-row[data-v-21f2229a]{display:flex;align-items:center;gap:8px;color:var(--text-secondary);line-height:20px}.legend-row .line[data-v-21f2229a]{width:18px;height:3px;border-radius:2px}.legend-row .line.dashed[data-v-21f2229a]{background:repeating-linear-gradient(90deg,#8391a7 0 5px,transparent 5px 8px)}.legend-row .swatch.hidden-sw[data-v-21f2229a]{background:transparent;border:2px dashed}.legend-row .swatch[data-v-21f2229a]{width:14px;height:10px;border-radius:2px;opacity:.7}.legend-row .star[data-v-21f2229a]{color:var(--series-2);font-style:normal;width:18px;text-align:center}.probe[data-v-21f2229a]{position:absolute;left:50%;bottom:36px;transform:translate(-50%);padding:12px 16px;min-width:320px;box-shadow:var(--shadow-lg);z-index:600}.probe .close[data-v-21f2229a]{position:absolute;right:8px;top:4px;border:0;background:transparent;font-size:18px;cursor:pointer;color:var(--text-muted)}.probe-title[data-v-21f2229a]{font-weight:600;font-size:13px;color:var(--text-secondary)}.probe-main[data-v-21f2229a]{font-size:26px;font-weight:700;margin:4px 0}.probe-main small[data-v-21f2229a]{font-size:13px;font-weight:500;color:var(--text-secondary)}.verify[data-v-21f2229a]{margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.vs[data-v-21f2229a]{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px}.vs-l[data-v-21f2229a]{font-size:12px;color:var(--text-secondary)}.vs-v[data-v-21f2229a]{font-size:19px;font-weight:700}.vs-mid[data-v-21f2229a]{color:var(--text-muted);font-weight:600}.err[data-v-21f2229a]{margin-top:6px;font-size:12.5px;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.err.good[data-v-21f2229a]{color:var(--good-text)}.err.warn[data-v-21f2229a]{color:var(--warn-text)}.err.bad[data-v-21f2229a]{color:var(--bad-text)}.verr[data-v-21f2229a]{margin-top:4px}.tally[data-v-21f2229a]{margin-top:8px;padding:6px 8px;border-radius:6px;background:var(--brand-soft);font-size:12px;color:var(--text-secondary)}.probe-rows[data-v-21f2229a]{display:grid;gap:2px;margin-bottom:6px}.small[data-v-21f2229a]{font-size:12px}.echart[data-v-f501b78e]{width:100%}.ov[data-v-021d367d]{display:flex;flex-direction:column;gap:12px}.hero[data-v-021d367d]{display:flex;gap:14px;align-items:center;padding:12px}.score-ring[data-v-021d367d]{position:relative;width:112px;height:112px;flex:none}.score-num[data-v-021d367d]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:34px;font-weight:750;margin-top:-8px}.score-of[data-v-021d367d]{position:absolute;left:0;right:0;bottom:30px;text-align:center;font-size:11px;color:var(--text-muted)}.hero-text[data-v-021d367d]{flex:1;min-width:0}.grade[data-v-021d367d]{display:flex;align-items:center;gap:8px;margin-bottom:8px}.comp-row[data-v-021d367d]{display:grid;grid-template-columns:96px 1fr 26px;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary);line-height:22px}.comp-bar[data-v-021d367d]{height:6px;background:var(--surface-3);border-radius:3px;overflow:hidden}.comp-bar i[data-v-021d367d]{display:block;height:100%;background:var(--series-1);border-radius:3px}.summary[data-v-021d367d]{margin:0;line-height:1.7;color:var(--text-secondary);font-size:13px}.small[data-v-021d367d]{font-size:12px}.clickable[data-v-021d367d]{cursor:pointer}.clickable:hover td[data-v-021d367d]{background:var(--surface-2)}.over[data-v-021d367d]{color:var(--bad-text);font-weight:600}.crit[data-v-021d367d]{margin-left:4px;font-size:10px;padding:0 5px}.fac[data-v-374fc633]{display:flex;flex-direction:column;gap:10px}.cats[data-v-374fc633]{display:flex;flex-direction:column;gap:6px}.cat summary[data-v-374fc633]{display:flex;justify-content:space-between;padding:8px 10px;cursor:pointer;font-size:13px}.cat ul[data-v-374fc633]{list-style:none;margin:0;padding:0 10px 8px}.cat li[data-v-374fc633]{display:flex;justify-content:space-between;gap:8px;padding:4px 0;font-size:12.5px;border-top:1px solid var(--border);cursor:pointer}.cat li:hover .pname[data-v-374fc633]{color:var(--brand)}.pname[data-v-374fc633]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tiny[data-v-374fc633]{font-size:10px;padding:0 4px;margin-left:4px}.pipeline[data-v-374fc633]{display:flex;justify-content:space-between;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:10px 8px}.pstep[data-v-374fc633]{position:relative;text-align:center;flex:1}.pnum[data-v-374fc633]{font-size:17px;font-weight:700}.plabel[data-v-374fc633]{font-size:11px;color:var(--text-secondary)}.arrow[data-v-374fc633]{position:absolute;right:-6px;top:4px;color:var(--text-muted)}.sources[data-v-374fc633]{display:flex;flex-wrap:wrap;gap:4px}.ex[data-v-374fc633]{font-size:12px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.blind[data-v-4b81ea1a]{display:flex;flex-direction:column;gap:10px}.lead[data-v-4b81ea1a]{margin:0;font-size:12.5px;line-height:1.7;color:var(--text-secondary);background:var(--surface-2);border-radius:8px;padding:8px 10px}.catblock[data-v-4b81ea1a]{border-top:1px solid var(--border);padding-top:8px}.cb-head[data-v-4b81ea1a]{display:flex;align-items:center;gap:8px;font-size:13px}.cb-head .muted[data-v-4b81ea1a]{flex:1;font-size:12px}.res[data-v-4b81ea1a]{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.res .chip[data-v-4b81ea1a]{cursor:pointer}.small[data-v-4b81ea1a]{font-size:12px;line-height:1.6}.clickable[data-v-4b81ea1a]{cursor:pointer}.res-table[data-v-4b81ea1a]{table-layout:fixed;width:100%}.res-table th[data-v-4b81ea1a]:first-child{width:34%}.rname[data-v-4b81ea1a]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell[data-v-4b81ea1a]{font-variant-numeric:tabular-nums;font-size:12px;white-space:nowrap}.cell.ok[data-v-4b81ea1a]{color:var(--good-text)}.cell.bad[data-v-4b81ea1a]{color:var(--bad-text);font-weight:600}.cell.hidden[data-v-4b81ea1a],.tag.hidden[data-v-4b81ea1a],.hidden-chip[data-v-4b81ea1a]{outline:1.5px dashed var(--bad-text);outline-offset:-3px;border-radius:4px}.more[data-v-4b81ea1a]{align-self:flex-start}.legend-line[data-v-4b81ea1a]{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px}.tag[data-v-4b81ea1a]{padding:0 5px;border-radius:4px;font-size:11px}.tag.ok[data-v-4b81ea1a]{color:var(--good-text);background:var(--good-soft)}.tag.bad[data-v-4b81ea1a]{color:var(--bad-text);background:var(--bad-soft)}.note[data-v-4b81ea1a]{margin-top:4px}.clickable:hover td[data-v-4b81ea1a]{background:var(--surface-2)}.plan[data-v-ba73598f]{display:flex;flex-direction:column;gap:10px}.site[data-v-ba73598f]{padding:10px 12px;display:flex;flex-direction:column;gap:4px;font-size:13px}.site-head[data-v-ba73598f]{display:flex;justify-content:space-between;align-items:center}.addr[data-v-ba73598f]{font-weight:500}.meta[data-v-ba73598f]{font-size:12px}.site .btn[data-v-ba73598f]{align-self:flex-start;margin-top:4px}.recs[data-v-ba73598f]{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:8px;font-size:13px}.recs .chip[data-v-ba73598f]{margin-right:6px}.small[data-v-ba73598f]{font-size:12.5px;line-height:1.7;margin:2px 0 0}.over[data-v-ba73598f]{color:var(--bad-text);font-weight:600}.polished[data-v-ba73598f]{white-space:pre-wrap;padding:10px 12px;font-size:13px;line-height:1.7}.eng[data-v-63b40f76]{display:flex;flex-direction:column;gap:10px}.small[data-v-63b40f76]{font-size:12px;line-height:1.7}.deg[data-v-63b40f76]{list-style:none;padding:0;margin:0;font-size:12.5px;display:flex;flex-direction:column;gap:6px}.chaos[data-v-63b40f76]{padding:10px 12px;display:flex;flex-direction:column;gap:6px;font-size:13px}.chaos .row[data-v-63b40f76]{display:flex;align-items:center;gap:8px}.chaos input[type=range][data-v-63b40f76]{flex:1;accent-color:var(--brand)}.chaos .btn[data-v-63b40f76]{align-self:flex-start}.chaos .chip[data-v-63b40f76]{margin:2px 2px 0 0}.chat[data-v-2a813968]{display:flex;flex-direction:column;gap:10px;height:100%;min-height:460px}.small[data-v-2a813968]{font-size:12px}.mode[data-v-2a813968]{display:flex;gap:6px;align-items:center}.msgs[data-v-2a813968]{flex:1;min-height:260px;max-height:52vh;display:flex;flex-direction:column;gap:8px;padding:4px 0}.msg[data-v-2a813968]{display:flex}.msg.user[data-v-2a813968]{justify-content:flex-end}.msg.bot[data-v-2a813968]{flex-direction:column;align-items:flex-start;gap:4px}.who[data-v-2a813968]{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted)}.avatar[data-v-2a813968]{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--brand);color:var(--on-brand);font-size:10px;font-weight:700}.avatar.rules[data-v-2a813968]{background:var(--surface-3);color:var(--text-secondary)}.think[data-v-2a813968]{max-width:88%;font-size:12px}.think-head[data-v-2a813968]{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);color:var(--text-secondary);font:inherit;cursor:pointer}.think-head .arrow[data-v-2a813968]{color:var(--text-muted)}.think-body[data-v-2a813968]{margin-top:6px;padding:2px 0 2px 10px;border-left:2px solid var(--border);color:var(--text-muted);line-height:1.6;white-space:pre-wrap;max-height:220px;overflow-y:auto}.spinner[data-v-2a813968]{width:11px;height:11px;border:2px solid var(--brand-soft);border-top-color:var(--brand);border-radius:50%;animation:spin-2a813968 .8s linear infinite}@keyframes spin-2a813968{to{transform:rotate(360deg)}}.composer[data-v-2a813968]{display:flex;flex-direction:column;gap:6px;padding:10px 10px 8px 12px;border:1px solid var(--border);border-radius:16px;background:var(--surface);box-shadow:0 2px 10px #0f172a0f;transition:border-color .15s,box-shadow .15s}.composer.focus[data-v-2a813968]{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.composer-input[data-v-2a813968]{width:100%;min-height:40px;max-height:120px;padding:0;border:none;outline:none;resize:none;background:transparent;color:var(--text);font:inherit;font-size:13px;line-height:1.6}.composer-input[data-v-2a813968]::placeholder{color:var(--text-muted)}.composer-bar[data-v-2a813968]{display:flex;align-items:center;gap:8px}.pill[data-v-2a813968]{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 12px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text-secondary);font:inherit;font-size:12px;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.pill[data-v-2a813968]:hover{border-color:var(--brand)}.pill.on[data-v-2a813968]{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-strong);font-weight:600}.send[data-v-2a813968]{display:grid;place-items:center;width:32px;height:32px;border:none;border-radius:50%;background:var(--brand);color:var(--on-brand);cursor:pointer}.send[data-v-2a813968]:disabled{background:var(--surface-3);color:var(--text-muted);cursor:not-allowed}.disclaimer[data-v-2a813968]{margin:-4px 0 0;text-align:center;font-size:11px;color:var(--text-muted)}.bubble[data-v-2a813968]{max-width:88%;white-space:pre-wrap;line-height:1.65;font-size:13px;padding:8px 12px;border-radius:12px;background:var(--surface-3)}.msg.user .bubble[data-v-2a813968]{background:var(--brand);color:var(--on-brand);border-bottom-right-radius:4px}.msg.bot .bubble[data-v-2a813968]{border-bottom-left-radius:4px}.bubble.streaming[data-v-2a813968]:after{content:"▍";margin-left:1px;color:var(--brand);animation:caret-2a813968 1s steps(1) infinite}@keyframes caret-2a813968{50%{opacity:0}}.bubble[data-v-2a813968],.think-body[data-v-2a813968]{-webkit-user-select:text;user-select:text;cursor:text}.msg.user .bubble[data-v-2a813968]::selection{background:#ffffff61;color:inherit}.locate[data-v-2a813968]{padding:2px 8px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text-secondary);font:inherit;font-size:11px;cursor:pointer}.locate[data-v-2a813968]:hover{border-color:var(--brand);color:var(--brand-strong)}.grow[data-v-2a813968]{flex:1}.suggest[data-v-2a813968]{display:flex;flex-wrap:wrap;gap:6px}.suggest .chip[data-v-2a813968]{border:0;cursor:pointer;padding:4px 10px}.suggest .chip[data-v-2a813968]:hover{background:var(--brand-soft);color:var(--brand-strong)}.result[data-v-a464b69c]{width:440px;flex:none;background:var(--surface);border-left:1px solid var(--border);display:flex;flex-direction:column;min-height:0}.empty[data-v-a464b69c]{padding:40px 28px;color:var(--text-secondary)}.empty-icon[data-v-a464b69c]{font-size:40px}.empty h3[data-v-a464b69c]{color:var(--text-primary);margin:12px 0}.empty ol[data-v-a464b69c]{padding-left:18px;line-height:2}.rhead[data-v-a464b69c]{padding:14px 16px 8px}.title-row[data-v-a464b69c]{display:flex;align-items:center;justify-content:space-between;gap:8px}h2[data-v-a464b69c]{margin:0;font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.actions[data-v-a464b69c]{display:flex;gap:6px}.actions a[data-v-a464b69c]{text-decoration:none;color:inherit}.sub[data-v-a464b69c]{font-size:12px;margin-top:4px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}.tabs[data-v-a464b69c]{display:flex;gap:2px;padding:0 12px;border-bottom:1px solid var(--border)}.tabs button[data-v-a464b69c]{border:0;background:transparent;padding:9px 10px;cursor:pointer;color:var(--text-secondary);border-bottom:2px solid transparent;font-weight:500}.tabs button[data-v-a464b69c]{position:relative}.tabs button.has-badge[data-v-a464b69c]{margin-right:16px}.badge[data-v-a464b69c]{position:absolute;top:-1px;right:-16px;padding:0 5px;border-radius:7px;background:var(--brand);color:var(--on-brand);font-size:9px;font-weight:700;line-height:14px;letter-spacing:.02em;pointer-events:none}.tabs button.on[data-v-a464b69c]{color:var(--brand);border-bottom-color:var(--brand)}.tabs button[data-v-a464b69c]:disabled{color:var(--text-muted);opacity:.5;cursor:default}.body[data-v-a464b69c]{flex:1;min-height:0;padding:14px 16px 24px}.mini[data-v-01969e31]{width:100%;height:auto;border:1px solid var(--border);border-radius:8px}.report-page[data-v-bd8d768a]{height:100%;overflow:auto;background:var(--bg);padding:20px}.toolbar[data-v-bd8d768a]{max-width:900px;margin:0 auto 12px;display:flex;justify-content:space-between}.actions[data-v-bd8d768a]{display:flex;gap:8px}.print-tip[data-v-bd8d768a]{position:relative;max-width:900px;margin:0 auto 12px;padding:8px 36px 8px 12px;border:1px solid var(--warn-border);border-radius:8px;background:var(--warn-soft);color:var(--warn-text);font-size:13px}.print-tip kbd[data-v-bd8d768a]{margin:0 4px;padding:0 4px;border:1px solid currentColor;border-radius:4px;font-family:inherit;font-size:12px}.print-tip .link[data-v-bd8d768a]{margin-left:2px;cursor:pointer;text-decoration:underline}.print-tip .close[data-v-bd8d768a]{position:absolute;top:4px;right:8px;border:0;background:transparent;color:inherit;font-size:16px;cursor:pointer}.paper[data-v-bd8d768a] td.r,.paper[data-v-bd8d768a] th.r{white-space:nowrap}.paper.pdf-mode[data-v-bd8d768a]{max-width:none;padding:0;border-radius:0;box-shadow:none}.paper[data-v-bd8d768a]{max-width:900px;margin:0 auto;background:#fff;padding:36px 44px;border-radius:12px;box-shadow:var(--shadow);font-size:13px;line-height:1.7}.kicker[data-v-bd8d768a]{color:var(--brand);font-weight:600;letter-spacing:.08em;font-size:12px}h1[data-v-bd8d768a]{margin:4px 0;font-size:24px}h2[data-v-bd8d768a]{font-size:15px;margin:18px 0 8px;padding-left:8px;border-left:3px solid var(--brand)}.meta[data-v-bd8d768a]{color:var(--text-secondary);font-size:12px}.top[data-v-bd8d768a]{display:flex;gap:20px;align-items:center;margin-top:18px;padding:16px;background:var(--surface-2);border-radius:10px}.score[data-v-bd8d768a]{text-align:center;min-width:110px}.big[data-v-bd8d768a]{font-size:48px;font-weight:800;color:var(--brand-strong);line-height:1}.grade[data-v-bd8d768a]{font-weight:700;margin-top:4px}.summary[data-v-bd8d768a]{margin:0}.two[data-v-bd8d768a]{display:grid;grid-template-columns:1fr 1fr;gap:24px}.legend[data-v-bd8d768a]{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:6px;color:var(--text-secondary)}.legend i[data-v-bd8d768a]{display:inline-block;vertical-align:middle;margin-right:4px}.ln[data-v-bd8d768a]{width:16px;height:3px}.ln.dash[data-v-bd8d768a]{background:repeating-linear-gradient(90deg,#8391a7 0 4px,transparent 4px 7px)}.sq[data-v-bd8d768a]{width:12px;height:10px;background:#5b6472;opacity:.6}.dim[data-v-bd8d768a]{display:grid;grid-template-columns:70px 1fr 30px;gap:8px;align-items:center}.dim .bar[data-v-bd8d768a]{height:6px;background:var(--surface-3);border-radius:3px}.dim .bar i[data-v-bd8d768a]{display:block;height:100%;background:var(--series-1);border-radius:3px}ul[data-v-bd8d768a],ol[data-v-bd8d768a]{padding-left:18px;margin:0}.small[data-v-bd8d768a]{font-size:11.5px}footer[data-v-bd8d768a]{margin-top:24px;border-top:1px solid var(--border);padding-top:10px}@media print{.no-print[data-v-bd8d768a]{display:none!important}.report-page[data-v-bd8d768a]{padding:0;background:#fff;overflow:visible;height:auto}.paper[data-v-bd8d768a]{box-shadow:none;padding:0;max-width:none}.keep[data-v-bd8d768a],tr[data-v-bd8d768a],li[data-v-bd8d768a],.dim[data-v-bd8d768a],footer[data-v-bd8d768a]{break-inside:avoid}h2[data-v-bd8d768a]{break-after:avoid}p[data-v-bd8d768a]{orphans:3;widows:3}thead[data-v-bd8d768a]{display:table-header-group}}@page{size:A4;margin:12mm}.compare[data-v-78e6a7c9]{height:100%;display:flex;flex-direction:column;overflow:auto}.hero[data-v-78e6a7c9]{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;background:radial-gradient(1200px 200px at 10% -40%,color-mix(in srgb,var(--brand) 22%,transparent),transparent),linear-gradient(180deg,var(--surface),var(--bg));background-color:var(--bg);box-shadow:0 6px 16px #00000014;border-bottom:1px solid var(--border)}.hero-left[data-v-78e6a7c9]{display:flex;align-items:center;gap:14px}.hero h2[data-v-78e6a7c9]{margin:0;font-size:20px}.hero p[data-v-78e6a7c9]{margin:4px 0 0;font-size:12.5px}.hero-kpis[data-v-78e6a7c9]{display:flex;gap:10px}.hk[data-v-78e6a7c9]{min-width:118px;padding:10px 14px;border-radius:12px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow)}.hk-v[data-v-78e6a7c9]{font-size:24px;font-weight:750;color:var(--brand);line-height:1.1}.hk-v small[data-v-78e6a7c9]{font-size:13px;color:var(--text-muted);font-weight:500}.hk-l[data-v-78e6a7c9]{font-size:12px;color:var(--text-secondary);margin-top:2px}.layout[data-v-78e6a7c9]{display:flex;gap:14px;padding:14px 20px 24px;align-items:flex-start}.pick[data-v-78e6a7c9]{width:310px;flex:none;padding:12px;position:sticky;top:calc(var(--hero-h) + 14px);display:flex;flex-direction:column;gap:8px}.pick-head[data-v-78e6a7c9]{display:flex;justify-content:space-between;align-items:center}.pick-actions[data-v-78e6a7c9]{display:flex;gap:6px}.pick-list[data-v-78e6a7c9]{max-height:calc(100vh - var(--hero-h) - 330px);min-height:160px}.item[data-v-78e6a7c9]{display:flex;align-items:center;gap:6px;padding:6px 4px;border-radius:6px;cursor:pointer;font-size:13px}.item.focus[data-v-78e6a7c9]{background:var(--brand-soft)}.item .name[data-v-78e6a7c9]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag[data-v-78e6a7c9]{font-size:11px;line-height:18px;padding:0 5px;border-radius:4px;background:var(--surface-3);color:var(--text-secondary);font-variant-numeric:tabular-nums;flex:none}.tag.tier-lite[data-v-78e6a7c9]{color:var(--warn-text);background:var(--warn-soft)}.tag.tier-precise[data-v-78e6a7c9]{color:var(--good-text);background:var(--good-soft)}.caliber[data-v-78e6a7c9]{border-top:1px solid var(--border);padding-top:8px}.cal-title[data-v-78e6a7c9]{font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:4px}.cal-opts[data-v-78e6a7c9]{display:flex;flex-wrap:wrap;gap:4px}.notice[data-v-78e6a7c9]{grid-column:1 / -1;font-size:12.5px;line-height:1.7;padding:10px 14px;border-radius:10px}.notice.warn[data-v-78e6a7c9]{background:var(--warn-soft);border:1px solid var(--warn-border);color:var(--warn-text)}.notice.info[data-v-78e6a7c9]{background:var(--brand-soft);border:1px solid var(--border);color:var(--text-secondary)}.detail .sticky small[data-v-78e6a7c9]{display:block;font-size:11px}.small[data-v-78e6a7c9]{font-size:12px;line-height:1.6;margin:0}.board[data-v-78e6a7c9]{flex:1;min-width:0;display:grid;grid-template-columns:1fr 1fr;gap:14px}.board.empty[data-v-78e6a7c9]{display:flex;align-items:center;justify-content:center;min-height:60vh}.podium[data-v-78e6a7c9]{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr 1.6fr;gap:14px}.pod[data-v-78e6a7c9]{padding:14px 16px;cursor:pointer;position:relative;overflow:hidden}.pod[data-v-78e6a7c9]:after{content:"";position:absolute;inset:0 0 auto 0;height:3px}.pod.best[data-v-78e6a7c9]:after{background:var(--good)}.pod.worst[data-v-78e6a7c9]:after{background:var(--critical)}.pod.insight[data-v-78e6a7c9]{cursor:default}.pod.insight[data-v-78e6a7c9]:after{background:var(--brand)}.pod-tag[data-v-78e6a7c9]{font-size:12px;font-weight:600;color:var(--text-secondary)}.pod-name[data-v-78e6a7c9]{font-size:15px;font-weight:650;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pod-score[data-v-78e6a7c9]{font-size:34px;font-weight:800;line-height:1.1;margin-top:4px}.best .pod-score[data-v-78e6a7c9]{color:var(--good-text)}.worst .pod-score[data-v-78e6a7c9]{color:var(--bad-text)}.pod-score small[data-v-78e6a7c9]{font-size:13px;font-weight:500;color:var(--text-muted)}.pod-sub[data-v-78e6a7c9]{font-size:12px;margin-top:2px}.pod ul[data-v-78e6a7c9]{margin:8px 0 0;padding-left:18px;font-size:12.5px;line-height:1.75;color:var(--text-secondary)}.panel[data-v-78e6a7c9]{padding:12px 14px;min-width:0}.panel.wide[data-v-78e6a7c9]{grid-column:1 / -1}.panel-head[data-v-78e6a7c9]{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;flex-wrap:wrap}.panel-head h4[data-v-78e6a7c9]{margin:0;font-size:14px}.input.sm[data-v-78e6a7c9]{height:30px;font-size:12px;width:auto;max-width:260px;padding:0 8px}.axis-pick[data-v-78e6a7c9]{display:flex;gap:8px;font-size:12px;color:var(--text-secondary)}.axis-pick label[data-v-78e6a7c9]{display:flex;align-items:center;gap:4px}.chips[data-v-78e6a7c9]{display:flex;flex-wrap:wrap;gap:4px}.chip.toggle[data-v-78e6a7c9]{border:0;cursor:pointer;padding:3px 10px}.chip.toggle.on[data-v-78e6a7c9]{background:var(--brand);color:var(--on-brand)}.ramp-legend[data-v-78e6a7c9]{display:flex;align-items:center;gap:8px;margin-top:4px}.ramp[data-v-78e6a7c9]{display:flex;width:140px;height:8px;border-radius:4px;overflow:hidden}.ramp i[data-v-78e6a7c9]{flex:1}.heat-scroll[data-v-78e6a7c9]{overflow-x:auto}.table-wrap[data-v-78e6a7c9]{max-height:460px}.detail[data-v-78e6a7c9]{font-size:12px;white-space:nowrap}.detail th small[data-v-78e6a7c9]{display:block;font-weight:400;color:var(--text-muted)}.detail th.sortable[data-v-78e6a7c9]{cursor:pointer;-webkit-user-select:none;user-select:none}.detail th.on[data-v-78e6a7c9]{color:var(--brand)}.detail .sticky[data-v-78e6a7c9]{position:sticky;left:0;background:var(--surface);z-index:1;max-width:180px;overflow:hidden;text-overflow:ellipsis}.detail thead .sticky[data-v-78e6a7c9]{background:var(--surface-2);z-index:2}.detail tbody tr[data-v-78e6a7c9]{cursor:pointer}.detail tbody tr:hover td[data-v-78e6a7c9],.detail tbody tr.focus td[data-v-78e6a7c9]{background:var(--brand-soft)}.detail td.best[data-v-78e6a7c9]{color:var(--good-text);font-weight:700}@media(max-width:1280px){.board[data-v-78e6a7c9]{grid-template-columns:1fr}.podium[data-v-78e6a7c9]{grid-template-columns:1fr 1fr}.pod.insight[data-v-78e6a7c9]{grid-column:1 / -1}.hero[data-v-78e6a7c9]{flex-direction:column;align-items:flex-start}}.hist[data-v-05e53e4d]{height:100%;display:flex;flex-direction:column;overflow:auto}.hero[data-v-05e53e4d]{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;background:radial-gradient(1200px 200px at 10% -40%,color-mix(in srgb,var(--brand) 22%,transparent),transparent),linear-gradient(180deg,var(--surface),var(--bg));background-color:var(--bg);box-shadow:0 6px 16px #00000014;border-bottom:1px solid var(--border)}.hero-left[data-v-05e53e4d]{display:flex;align-items:center;gap:14px}.hero h2[data-v-05e53e4d]{margin:0;font-size:20px}.hero p[data-v-05e53e4d]{margin:4px 0 0;font-size:12.5px}.hero-kpis[data-v-05e53e4d]{display:flex;gap:10px}.hk[data-v-05e53e4d]{min-width:118px;padding:10px 14px;border-radius:12px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow)}.hk-v[data-v-05e53e4d]{font-size:24px;font-weight:750;color:var(--brand);line-height:1.1}.hk-v.sm[data-v-05e53e4d]{font-size:17px;line-height:1.6}.hk-l[data-v-05e53e4d]{font-size:12px;color:var(--text-secondary);margin-top:2px}.body[data-v-05e53e4d]{display:flex;flex-direction:column;gap:12px;padding:14px 20px 24px;max-width:1400px;width:100%;margin:0 auto}.empty[data-v-05e53e4d]{display:flex;flex-direction:column;align-items:center;gap:8px;padding:48px 20px;text-align:center}.empty-icon[data-v-05e53e4d]{font-size:36px}.empty p[data-v-05e53e4d]{margin:0 0 6px}.toolbar[data-v-05e53e4d]{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 12px}.search[data-v-05e53e4d]{width:280px}.calibers[data-v-05e53e4d]{display:flex;gap:6px;flex-wrap:wrap;flex:1}.chip.toggle[data-v-05e53e4d]{cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary)}.chip.toggle.on[data-v-05e53e4d]{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}.sort[data-v-05e53e4d]{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary)}.sort select[data-v-05e53e4d]{width:auto}.selbar[data-v-05e53e4d]{display:flex;align-items:center;gap:8px;padding:8px 12px;font-size:13px;border-color:var(--brand);background:var(--brand-soft)}.grow[data-v-05e53e4d]{flex:1}.warn-text[data-v-05e53e4d]{color:var(--warn-text)}.table-wrap[data-v-05e53e4d]{padding:0;overflow:hidden}.data th[data-v-05e53e4d],.data td[data-v-05e53e4d]{vertical-align:middle}.data th[data-v-05e53e4d]{white-space:nowrap}.ck[data-v-05e53e4d]{width:32px;text-align:center!important}.name[data-v-05e53e4d]{min-width:220px}.name .link[data-v-05e53e4d]{font-weight:600;cursor:pointer}.name .link[data-v-05e53e4d]:hover{text-decoration:underline}.cur[data-v-05e53e4d]{margin-left:6px;font-size:11px}.addr[data-v-05e53e4d]{margin-top:2px;max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nowrap[data-v-05e53e4d]{white-space:nowrap}tr.current td[data-v-05e53e4d]{background:color-mix(in srgb,var(--brand) 6%,transparent)}tr.sel td[data-v-05e53e4d]{background:var(--brand-soft)}tbody tr:hover td[data-v-05e53e4d]{background:var(--surface-2)}.ops[data-v-05e53e4d]{display:flex;justify-content:flex-end;gap:2px}.btn.danger[data-v-05e53e4d]{color:var(--bad-text)}.btn.danger[data-v-05e53e4d]:hover:not(:disabled){background:var(--bad-soft)}.tag[data-v-05e53e4d]{display:inline-block;font-size:11px;line-height:18px;padding:0 5px;margin-right:3px;border-radius:4px;background:var(--surface-3);color:var(--text-secondary)}.tag.tier-lite[data-v-05e53e4d]{color:var(--warn-text);background:var(--warn-soft)}.tag.tier-precise[data-v-05e53e4d]{color:var(--good-text);background:var(--good-soft)}.none[data-v-05e53e4d]{text-align:center!important;padding:28px!important}.foot[data-v-05e53e4d]{margin:0}@media(max-width:1100px){.hero[data-v-05e53e4d]{flex-direction:column;align-items:flex-start}.table-wrap[data-v-05e53e4d]{overflow-x:auto}}.app[data-v-3be57fb4]{height:100%;display:flex;flex-direction:column}.workspace[data-v-3be57fb4]{flex:1;display:flex;min-height:0}.map-area[data-v-3be57fb4]{flex:1;min-width:0;position:relative}.toast[data-v-3be57fb4]{position:fixed;top:68px;left:50%;z-index:3000;transform:translate(-50%);padding:8px 16px;border:1px solid var(--warn-border);border-radius:10px;background:var(--warn-soft);color:var(--warn-text);font-size:13px;box-shadow:0 4px 16px #0f172a1f;cursor:pointer}.toast-enter-active[data-v-3be57fb4],.toast-leave-active[data-v-3be57fb4]{transition:opacity .2s,transform .2s}.toast-enter-from[data-v-3be57fb4],.toast-leave-to[data-v-3be57fb4]{opacity:0;transform:translate(-50%,-6px)}.fatal[data-v-3be57fb4],.loading[data-v-3be57fb4]{padding:40px;text-align:center}.fatal-hint[data-v-3be57fb4]{margin-top:8px;font-size:13px;opacity:.75}.fatal-diag[data-v-3be57fb4]{max-width:900px;margin:16px auto 0;padding:12px 14px;overflow-x:auto;border:1px solid var(--warn-border);border-radius:10px;background:var(--warn-soft);color:var(--warn-text);font-size:12px;line-height:1.6;text-align:left;white-space:pre-wrap;word-break:break-all}@media print{.toast[data-v-3be57fb4]{display:none}}@media(max-width:1180px){.workspace[data-v-3be57fb4]{flex-direction:column;overflow:auto}.map-area[data-v-3be57fb4]{min-height:60vh}}:root{color-scheme:light;--bg: #f3f5f9;--surface: #ffffff;--surface-2: #f7f8fb;--surface-3: #eef1f6;--border: #e3e7ee;--border-strong: #cfd6e2;--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #8391a7;--brand: #1c5cab;--brand-strong: #184f95;--brand-soft: #e8f0fb;--series-1: #2a78d6;--series-2: #eb6834;--series-3: #1baf7a;--series-4: #eda100;--good: #0ca30c;--good-text: #006300;--warning: #fab219;--serious: #ec835a;--critical: #d03b3b;--blind: #5b6472;--good-soft: #e7f6e7;--warn-soft: #fff4dc;--warn-text: #8a5a00;--warn-border: #f7e0a6;--bad-soft: #fdeaea;--bad-text: #a12828;--map-bg: #e8ecf2;--on-brand: #ffffff;--radius: 12px;--radius-sm: 8px;--shadow: 0 1px 2px rgb(15 23 42 / 6%), 0 4px 16px rgb(15 23 42 / 6%);--shadow-lg: 0 8px 32px rgb(15 23 42 / 14%);--font: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", sans-serif;--mono: "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{font-family:var(--font);font-size:14px;color:var(--text-primary);background:var(--bg);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--brand)}.num{font-variant-numeric:tabular-nums}.muted{color:var(--text-muted)}.secondary{color:var(--text-secondary)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:34px;padding:0 14px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;font-weight:500;white-space:nowrap;transition:background .15s,border-color .15s,box-shadow .15s}.btn:hover{border-color:var(--brand);color:var(--brand)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.btn.primary:hover:not(:disabled){background:var(--brand-strong);color:var(--on-brand)}.btn.ghost{border-color:transparent;background:transparent}.btn.ghost:hover{background:var(--surface-3);color:var(--text-primary)}.btn.sm{height:28px;padding:0 10px;font-size:13px}.btn.lg{height:44px;font-size:16px;padding:0 20px}.input{width:100%;height:36px;padding:0 12px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);outline:none}.input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:12px;background:var(--surface-3);color:var(--text-secondary);white-space:nowrap}.chip.brand{background:var(--brand-soft);color:var(--brand-strong)}.chip.good{background:var(--good-soft);color:var(--good-text)}.chip.warn{background:var(--warn-soft);color:var(--warn-text)}.chip.bad{background:var(--bad-soft);color:var(--bad-text)}.seg{display:flex;background:var(--surface-3);border-radius:var(--radius-sm);padding:3px;gap:2px}.seg button{flex:1;border:0;background:transparent;padding:6px 8px;border-radius:6px;cursor:pointer;color:var(--text-secondary);font-size:13px}.seg button.on{background:var(--surface);color:var(--text-primary);font-weight:600;box-shadow:0 1px 2px #0000001f}.section-title{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:600;color:var(--text-secondary);margin:0 0 8px;letter-spacing:.02em}.kpi-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.kpi{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px}.kpi .label{font-size:12px;color:var(--text-secondary)}.kpi .value{font-size:20px;font-weight:650;margin-top:2px;font-variant-numeric:tabular-nums}.kpi .value small{font-size:12px;font-weight:500;color:var(--text-secondary);margin-left:2px}.kpi .hint{font-size:11px;color:var(--text-muted);margin-top:2px}table.data{width:100%;border-collapse:collapse;font-size:13px}table.data th,table.data td{padding:7px 8px;border-bottom:1px solid var(--border);text-align:left}table.data th{font-weight:600;color:var(--text-secondary);font-size:12px;background:var(--surface-2)}table.data td.r,table.data th.r{text-align:right;font-variant-numeric:tabular-nums}.scroll{overflow:auto;scrollbar-width:thin;scrollbar-gutter:stable}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex:none}.status-icon{font-weight:700}.fade-enter-active,.fade-leave-active{transition:opacity .2s}.fade-enter-from,.fade-leave-to{opacity:0}.info-card{font-size:13px;line-height:1.6;min-width:200px}.info-card b{font-size:14px}.info-card{color:#0f172a}.info-card .row{color:#475569}:root[data-theme=dark]{color-scheme:dark;--bg: #0e131b;--surface: #161c26;--surface-2: #1b2230;--surface-3: #242c3b;--border: #283142;--border-strong: #39445a;--text-primary: #e8edf5;--text-secondary: #aab4c3;--text-muted: #7c889b;--brand: #3987e5;--brand-strong: #5598e7;--brand-soft: rgb(57 135 229 / 18%);--series-1: #3987e5;--series-2: #d95926;--series-3: #199e70;--series-4: #c98500;--good-text: #5fd35f;--blind: #a3adbd;--good-soft: rgb(12 163 12 / 18%);--warn-soft: rgb(250 178 25 / 14%);--warn-text: #f5c25a;--warn-border: rgb(250 178 25 / 30%);--bad-soft: rgb(208 59 59 / 20%);--bad-text: #ff8f8f;--map-bg: #111722;--on-brand: #ffffff;--shadow: 0 1px 2px rgb(0 0 0 / 30%), 0 4px 16px rgb(0 0 0 / 30%);--shadow-lg: 0 8px 32px rgb(0 0 0 / 45%)}:root[data-theme=dark] .force-light{color-scheme:light;--surface: #ffffff;--surface-2: #f7f8fb;--surface-3: #eef1f6;--border: #e3e7ee;--border-strong: #cfd6e2;--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #8391a7;--brand: #1c5cab;--brand-strong: #184f95;--series-1: #2a78d6;color:var(--text-primary)}:root[data-theme=dark] .leaflet-tile-pane{filter:invert(.92) hue-rotate(180deg) brightness(.9) contrast(.92) saturate(.6)}:root[data-theme=dark] .leaflet-container{background:var(--map-bg)}:root[data-theme=dark] .leaflet-bar a,:root[data-theme=dark] .leaflet-control-attribution{background:var(--surface);color:var(--text-secondary);border-color:var(--border)}:root[data-theme=dark] .leaflet-control-scale-line{background:#161c26cc;color:var(--text-secondary);border-color:var(--text-muted)}:root[data-theme=dark] ::-webkit-scrollbar{width:10px;height:10px}:root[data-theme=dark] ::-webkit-scrollbar-thumb{background:#2f394b;border-radius:6px}:root[data-theme=dark] select option{background:var(--surface)}@media print{html,body,#app{background:#fff!important;color-scheme:light}:root[data-theme=dark]{--bg: #ffffff;color-scheme:light!important}@page{background:#fff}}.hl-pulse{background:none;border:0;overflow:visible}.hl-pulse-bmap{position:relative;width:0;height:0;pointer-events:none}.hl-origin{position:absolute;width:0;height:0}.hl-ripple{position:absolute;left:-30px;top:-13px;width:60px;height:26px;border-radius:50%;border:3px solid var(--hl-c);background:color-mix(in srgb,var(--hl-c) 25%,transparent);box-shadow:0 0 0 2px #ffffffd9,inset 0 0 0 2px #fff9;opacity:0;pointer-events:none;animation:hl-ripple 1.6s ease-out infinite}.hl-ripple-2{animation-delay:.8s}.hl-pin{position:absolute;max-width:none;transform-origin:50% 100%;animation:hl-drop .5s cubic-bezier(.2,.9,.3,1.2) both,hl-bounce .9s ease-in-out .5s 3;filter:drop-shadow(0 0 6px color-mix(in srgb,var(--hl-c) 70%,transparent))}@keyframes hl-ripple{0%{transform:scale(.25);opacity:.95}to{transform:scale(2);opacity:0}}@keyframes hl-drop{0%{transform:translateY(-36px) scale(.8);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes hl-bounce{0%,to{transform:translateY(0) scale(1)}40%{transform:translateY(-12px) scale(1.08)}70%{transform:translateY(0) scaleX(1.06) scaleY(.94)}}@media(prefers-reduced-motion:reduce){.hl-pin{animation:none}.hl-ripple{animation:none;opacity:.6;transform:scale(.9)}.hl-ripple-2{display:none}}
