.fpp[data-v-a9ed9315]{background:var(--bg2,#122236);border:1px solid var(--rule,#1e3a55);border-radius:14px;flex-direction:column;width:100%;max-width:320px;min-height:0;display:flex;overflow:hidden;box-shadow:0 12px 40px #00000040}.fpp-header[data-v-a9ed9315]{border-bottom:1px solid var(--rule,#1e3a55);background:linear-gradient(#00b4d814,#0000);flex-direction:column;gap:10px;padding:12px 12px 10px;display:flex}.fpp-title[data-v-a9ed9315]{align-items:center;gap:8px;display:flex}.fpp-bar[data-v-a9ed9315]{background:var(--accent,#00b4d8);border-radius:4px;width:4px;height:22px;box-shadow:0 0 12px #00b4d8b3}.fpp-title-text[data-v-a9ed9315]{flex-direction:column;line-height:1.15;display:flex}.fpp-title-text span[data-v-a9ed9315]{color:var(--ink,#e2ecf5);letter-spacing:.04em;font-size:15px;font-weight:700}.fpp-title-text small[data-v-a9ed9315]{color:var(--muted,#7a93ad);letter-spacing:.06em;font-size:10px}.fpp-tabs[data-v-a9ed9315]{grid-template-columns:repeat(4,1fr);gap:4px;display:grid}.fpp-tab[data-v-a9ed9315]{border:1px solid var(--rule,#1e3a55);color:var(--muted,#7a93ad);cursor:pointer;background:#0a162899;border-radius:8px;padding:6px 0;font-size:12px;transition:all .18s}.fpp-tab[data-v-a9ed9315]:hover{color:var(--ink,#e2ecf5);border-color:var(--accent,#00b4d8)}.fpp-tab.active[data-v-a9ed9315]{color:#fff;border-color:var(--accent,#00b4d8);background:#00b4d833;box-shadow:0 0 14px #00b4d84d}.fpp-sim-strip[data-v-a9ed9315]{border-bottom:1px solid var(--rule,#1e3a55);background:var(--bg3,#1a2f47);grid-template-columns:repeat(4,1fr);gap:6px;padding:10px 12px;display:grid}.fpp-sim-item[data-v-a9ed9315]{flex-direction:column;align-items:center;gap:2px;display:flex}.fpp-sim-val[data-v-a9ed9315]{color:var(--ink,#e2ecf5);font-family:Cascadia Code,Consolas,monospace;font-size:14px;font-weight:700}.fpp-sim-val small[data-v-a9ed9315]{color:var(--muted,#7a93ad);margin-left:2px;font-size:9px;font-weight:400}.fpp-sim-val.normal[data-v-a9ed9315]{color:var(--accent2,#06d6a0)}.fpp-sim-val.warning[data-v-a9ed9315]{color:var(--warning,#ffd166)}.fpp-sim-val.danger[data-v-a9ed9315]{color:var(--danger,#ef476f)}.fpp-sim-label[data-v-a9ed9315]{color:var(--muted,#7a93ad);white-space:nowrap;font-size:9px}.fpp-body[data-v-a9ed9315]{flex:1;min-height:0;overflow:hidden auto}.fpp-pane[data-v-a9ed9315]{padding:10px}.fpp-control-card[data-v-a9ed9315]{background:linear-gradient(135deg,#00b4d81a,#06d6a00a),#0a16289e;border:1px solid #00b4d847;border-radius:12px;margin-bottom:10px;padding:10px}.fpp-control-card label[data-v-a9ed9315]{margin-bottom:8px;display:block}.fpp-control-card label span[data-v-a9ed9315]{color:#cbe9ff;margin-bottom:4px;font-size:11px;display:block}.fpp-control-card input[type=range][data-v-a9ed9315]{width:100%;accent-color:var(--accent,#00b4d8)}.fpp-control-card p[data-v-a9ed9315]{color:var(--muted,#7a93ad);margin:6px 0 0;font-size:10px;line-height:1.5}.fpp-drill-controls[data-v-a9ed9315]{grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:8px;display:grid}.fpp-drill-controls button[data-v-a9ed9315]{color:#dff6ff;cursor:pointer;background:#00b4d824;border:1px solid #00b4d86b;border-radius:8px;padding:6px 4px;font-size:11px}.fpp-drill-controls button[data-v-a9ed9315]:hover{border-color:var(--accent,#00b4d8);background:#00b4d83d}.fpp-threshold-edit[data-v-a9ed9315]{color:var(--muted,#7a93ad);align-items:center;gap:4px;font-size:10px;display:inline-flex}.fpp-threshold-edit input[data-v-a9ed9315]{color:#e2ecf5;background:#050e1ab8;border:1px solid #00b4d852;border-radius:6px;width:54px;padding:2px 4px;font-family:Cascadia Code,Consolas,monospace}.fpp-badge[data-v-a9ed9315]{white-space:nowrap;border-radius:999px;align-items:center;padding:1px 7px;font-size:10px;display:inline-flex}.fpp-badge.normal[data-v-a9ed9315]{color:var(--accent2,#06d6a0);background:#06d6a024;border:1px solid #06d6a04d}.fpp-badge.warning[data-v-a9ed9315]{color:var(--warning,#ffd166);background:#ffd16624;border:1px solid #ffd1664d}.fpp-badge.danger[data-v-a9ed9315]{color:var(--danger,#ef476f);background:#ef476f24;border:1px solid #ef476f4d}.fpp-status-badge[data-v-a9ed9315]{white-space:nowrap;border-radius:999px;align-items:center;padding:1px 8px;font-size:10px;display:inline-flex}.fpp-status-badge.normal[data-v-a9ed9315]{color:var(--accent2,#06d6a0);background:#06d6a024}.fpp-status-badge.warning[data-v-a9ed9315]{color:var(--warning,#ffd166);background:#ffd16624}.fpp-status-badge.danger[data-v-a9ed9315]{color:var(--danger,#ef476f);background:#ef476f29}.fpp-table-scroll[data-v-a9ed9315]{border:1px solid var(--rule,#1e3a55);background:#0a162866;border-radius:10px;max-height:300px;overflow:auto}.fpp-table[data-v-a9ed9315]{border-collapse:collapse;width:100%;min-width:520px;font-size:11px}.fpp-table thead[data-v-a9ed9315]{z-index:1;position:sticky;top:0}.fpp-table th[data-v-a9ed9315]{text-align:left;color:var(--muted,#7a93ad);background:var(--bg3,#1a2f47);border-bottom:1px solid var(--rule,#1e3a55);white-space:nowrap;padding:7px 8px;font-weight:500}.fpp-table td[data-v-a9ed9315]{color:#d4e3f0;white-space:nowrap;border-bottom:1px solid #1e3a5580;padding:6px 8px}.fpp-table td.mono[data-v-a9ed9315]{font-family:Cascadia Code,Consolas,monospace}.fpp-table td.muted-cell[data-v-a9ed9315]{color:var(--muted,#7a93ad);font-size:10px}.fpp-table tbody tr[data-v-a9ed9315]:hover{background:#00b4d80f}.fpp-warn-grid[data-v-a9ed9315]{flex-direction:column;gap:8px;display:flex}.fpp-warn-card[data-v-a9ed9315]{border:1px solid var(--rule,#1e3a55);border-left:3px solid var(--accent2,#06d6a0);background:#1a2f4780;border-radius:10px;padding:9px 10px}.fpp-warn-card.warning[data-v-a9ed9315]{border-left-color:var(--warning,#ffd166)}.fpp-warn-card.danger[data-v-a9ed9315]{border-left-color:var(--danger,#ef476f)}.fpp-warn-head[data-v-a9ed9315]{justify-content:space-between;align-items:center;gap:6px;display:flex}.fpp-warn-name[data-v-a9ed9315]{color:var(--ink,#e2ecf5);font-size:12px;font-weight:600}.fpp-warn-values[data-v-a9ed9315]{justify-content:space-between;align-items:baseline;margin-top:6px;display:flex}.fpp-warn-current[data-v-a9ed9315]{color:var(--ink,#e2ecf5);font-family:Cascadia Code,Consolas,monospace;font-size:16px;font-weight:700}.fpp-warn-current small[data-v-a9ed9315]{color:var(--muted,#7a93ad);margin-left:2px;font-size:10px;font-weight:400}.fpp-warn-thresh[data-v-a9ed9315]{color:var(--muted,#7a93ad);font-size:10px}.fpp-progress[data-v-a9ed9315]{background:#ffffff14;border-radius:999px;height:5px;margin:7px 0 6px;overflow:hidden}.fpp-progress-bar[data-v-a9ed9315]{border-radius:inherit;height:100%;transition:width .3s;display:block}.fpp-progress-bar.normal[data-v-a9ed9315]{background:linear-gradient(90deg, var(--accent,#00b4d8), var(--accent2,#06d6a0))}.fpp-progress-bar.warning[data-v-a9ed9315]{background:linear-gradient(90deg, var(--accent,#00b4d8), var(--warning,#ffd166))}.fpp-progress-bar.danger[data-v-a9ed9315]{background:linear-gradient(90deg, var(--warning,#ffd166), var(--danger,#ef476f))}.fpp-warn-action[data-v-a9ed9315]{color:var(--muted,#7a93ad);margin:0;font-size:10px;line-height:1.5}.fpp-drill-list[data-v-a9ed9315]{flex-direction:column;gap:8px;display:flex}.fpp-drill-card[data-v-a9ed9315]{border:1px solid var(--rule,#1e3a55);background:#1a2f4780;border-radius:10px;overflow:hidden}.fpp-drill-head[data-v-a9ed9315]{cursor:pointer;justify-content:space-between;align-items:flex-start;gap:6px;padding:9px 10px;transition:background .15s;display:flex}.fpp-drill-head[data-v-a9ed9315]:hover{background:#00b4d80f}.fpp-drill-info[data-v-a9ed9315]{flex-direction:column;gap:2px;display:flex}.fpp-drill-name[data-v-a9ed9315]{color:var(--ink,#e2ecf5);font-size:12px;font-weight:600}.fpp-drill-type[data-v-a9ed9315]{color:var(--accent,#00b4d8);font-size:10px}.fpp-drill-meta[data-v-a9ed9315]{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.fpp-drill-toggle[data-v-a9ed9315]{color:var(--muted,#7a93ad);white-space:nowrap;font-size:10px}.fpp-drill-summary[data-v-a9ed9315]{color:var(--muted,#7a93ad);gap:14px;padding:0 10px 8px;font-size:10px;display:flex}.fpp-drill-summary label[data-v-a9ed9315]{color:var(--muted,#7a93ad);margin-right:3px}.fpp-drill-detail[data-v-a9ed9315]{border-top:1px dashed #1e3a55b3;padding:0 10px 10px}.fpp-drill-result[data-v-a9ed9315]{color:#cbe9ff;border-left:2px solid var(--accent,#00b4d8);background:#00b4d814;border-radius:6px;margin:8px 0 6px;padding:6px 8px;font-size:10px;line-height:1.5}.fpp-plan-list[data-v-a9ed9315]{flex-direction:column;gap:9px;display:flex}.fpp-plan-card[data-v-a9ed9315]{border:1px solid var(--rule,#1e3a55);background:#1a2f4780;border-radius:10px;padding:10px}.fpp-plan-head[data-v-a9ed9315]{justify-content:space-between;align-items:flex-start;gap:6px;margin-bottom:7px;display:flex}.fpp-plan-name[data-v-a9ed9315]{color:var(--ink,#e2ecf5);font-size:12px;font-weight:600}.fpp-level-badge[data-v-a9ed9315]{white-space:nowrap;border-radius:999px;flex-shrink:0;align-items:center;padding:1px 7px;font-size:10px;display:inline-flex}.fpp-level-badge.normal[data-v-a9ed9315]{color:var(--accent2,#06d6a0);background:#06d6a024}.fpp-level-badge.warning[data-v-a9ed9315]{color:var(--warning,#ffd166);background:#ffd16624}.fpp-level-badge.danger[data-v-a9ed9315]{color:var(--danger,#ef476f);background:#ef476f29}.fpp-plan-grid[data-v-a9ed9315]{flex-direction:column;gap:4px;margin-bottom:8px;display:flex}.fpp-plan-grid p[data-v-a9ed9315]{color:#c4d6e6;margin:0;font-size:10px;line-height:1.5}.fpp-plan-grid label[data-v-a9ed9315]{min-width:56px;color:var(--muted,#7a93ad);display:inline-block}.fpp-plan-section[data-v-a9ed9315]{margin-top:6px}.fpp-section-label[data-v-a9ed9315]{color:var(--accent,#00b4d8);margin-bottom:5px;font-size:10px;font-weight:600;display:block}.fpp-step-list[data-v-a9ed9315]{counter-reset:step;margin:0;padding-left:0;list-style:none}.fpp-step-list li[data-v-a9ed9315]{color:#c4d6e6;counter-increment:step;padding:3px 0 3px 24px;font-size:10px;line-height:1.5;position:relative}.fpp-step-list li[data-v-a9ed9315]:before{content:counter(step);width:16px;height:16px;color:var(--accent,#00b4d8);background:#00b4d81f;border:1px solid #00b4d84d;border-radius:50%;place-items:center;font-size:9px;font-weight:700;display:grid;position:absolute;top:3px;left:0}.fpp-resource-tags[data-v-a9ed9315]{flex-wrap:wrap;gap:4px;display:flex}.fpp-resource-tag[data-v-a9ed9315]{color:var(--accent2,#06d6a0);background:#06d6a014;border:1px solid #06d6a04d;border-radius:6px;padding:2px 7px;font-size:10px}.fpp-collapse-enter-active[data-v-a9ed9315],.fpp-collapse-leave-active[data-v-a9ed9315]{transition:opacity .2s}.fpp-collapse-enter-from[data-v-a9ed9315],.fpp-collapse-leave-to[data-v-a9ed9315]{opacity:0}.fpp-amap-alert[data-v-a9ed9315]{background:linear-gradient(135deg,#00b4d81a,#06d6a00a);border:1px solid #00b4d84d;border-radius:10px;margin-bottom:10px;padding:10px 12px}.fpp-amap-alert.warning[data-v-a9ed9315]{background:linear-gradient(135deg,#ffb0201a,#ffb02008);border-color:#ffb02066}.fpp-amap-alert.danger[data-v-a9ed9315]{background:linear-gradient(135deg,#ff47571f,#ff47570a);border-color:#ff475773}.fpp-amap-alert-head[data-v-a9ed9315]{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.fpp-amap-alert-title[data-v-a9ed9315]{color:#e7f3ff;font-size:12px;font-weight:600}.fpp-amap-alert-body[data-v-a9ed9315]{color:#8fb4d7;flex-wrap:wrap;gap:6px;font-size:11px;display:flex}.fpp-amap-rain[data-v-a9ed9315]{color:#ff8c00;font-weight:600}.fpp-amap-advice[data-v-a9ed9315]{color:#d9ecff;margin:6px 0 4px;font-size:11px;line-height:1.5}.fpp-amap-source[data-v-a9ed9315]{color:#5f7f9e;font-size:10px}.fpp-drill-weather[data-v-a9ed9315]{color:#8fb4d7;background:#00b4d80f;border:1px solid #00b4d84d;border-radius:10px;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px;padding:10px 12px;font-size:11px;display:flex}.fpp-drill-weather.warning[data-v-a9ed9315]{background:#ffb0200f;border-color:#ffb02066}.fpp-drill-weather.danger[data-v-a9ed9315]{background:#ff475712;border-color:#ff475773}.fpp-drill-weather-label[data-v-a9ed9315]{color:#e7f3ff;font-size:12px;font-weight:600}.fpp-drill-weather p[data-v-a9ed9315]{color:#d9ecff;width:100%;margin:4px 0 0;line-height:1.5}.disease-manager[data-v-384455af]{background:var(--bg2);border:1px solid var(--rule);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:14px;flex-direction:column;width:100%;max-width:320px;display:flex;overflow:hidden;box-shadow:0 12px 40px #00000047}.dm-header[data-v-384455af]{border-bottom:1px solid var(--rule);background:linear-gradient(90deg,#00b4d81a,#0000);align-items:center;gap:8px;padding:11px 13px;display:flex}.dm-title-icon[data-v-384455af]{background:var(--accent);border-radius:4px;flex-shrink:0;width:4px;height:18px;box-shadow:0 0 12px #00b4d8cc}.dm-title-wrap[data-v-384455af]{flex-direction:column;gap:1px;min-width:0;display:flex}.dm-title[data-v-384455af]{color:var(--ink);letter-spacing:.02em;font-size:15px;font-weight:600}.dm-subtitle[data-v-384455af]{color:var(--muted);letter-spacing:.04em;font-size:10px;font-weight:400}.dm-count[data-v-384455af]{border:1px solid var(--rule);color:var(--accent);background:#00b4d81a;border-radius:999px;flex-shrink:0;margin-left:auto;padding:2px 9px;font-family:Cascadia Code,Consolas,monospace;font-size:11px}.dm-filters[data-v-384455af]{border-bottom:1px solid var(--rule);background:#0a162880;flex-wrap:wrap;gap:6px;padding:10px 13px;display:flex}.dm-filter-btn[data-v-384455af]{border:1px solid var(--rule);color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;padding:4px 11px;font-size:12px;transition:all .18s}.dm-filter-btn[data-v-384455af]:hover{color:var(--ink);border-color:var(--accent);background:#00b4d814}.dm-filter-btn.active[data-v-384455af]{color:#fff;border-color:var(--accent);background:#00b4d838;box-shadow:0 0 14px #00b4d84d}.dm-list[data-v-384455af]{flex-direction:column;gap:8px;max-height:420px;padding:8px;display:flex;overflow:hidden auto}.dm-card[data-v-384455af]{border:1px solid var(--rule);background:var(--bg3);border-radius:10px;transition:border-color .18s,box-shadow .18s,transform .18s;overflow:hidden}.dm-card[data-v-384455af]:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 6px 22px #00b4d829}.dm-card.expanded[data-v-384455af]{border-color:var(--accent);box-shadow:0 6px 22px #00b4d838}.dm-card-head[data-v-384455af]{cursor:pointer;-webkit-user-select:none;user-select:none;padding:10px 12px}.dm-card-main[data-v-384455af]{flex-direction:column;gap:6px;display:flex}.dm-card-title-row[data-v-384455af]{justify-content:space-between;align-items:center;gap:8px;display:flex}.dm-name[data-v-384455af]{color:var(--ink);font-size:13.5px;font-weight:600;line-height:1.3}.dm-chevron[data-v-384455af]{border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);flex-shrink:0;width:8px;height:8px;margin-right:3px;transition:transform .22s,border-color .22s;transform:rotate(-45deg)}.dm-chevron.open[data-v-384455af]{border-color:var(--accent);transform:rotate(45deg)}.dm-location-row[data-v-384455af]{align-items:center;gap:5px;display:flex}.dm-loc-dot[data-v-384455af]{background:var(--accent2);border-radius:50%;flex-shrink:0;width:5px;height:5px;box-shadow:0 0 6px #06d6a0b3}.dm-location[data-v-384455af]{color:var(--muted);font-size:11.5px}.dm-badges[data-v-384455af]{flex-wrap:wrap;gap:5px;margin-top:1px;display:flex}.dm-badge[data-v-384455af]{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;padding:1px 8px;font-size:10.5px;line-height:1.5;display:inline-flex}.dm-type.type-crack[data-v-384455af]{color:#d8a9ff;background:#c77dff24;border-color:#c77dff66}.dm-type.type-seepage[data-v-384455af]{color:#7fe3ff;background:#00b4d824;border-color:#00b4d866}.dm-type.type-landslide[data-v-384455af]{color:#ffc28a;background:#f77f0029;border-color:#f77f006b}.dm-type.type-erosion[data-v-384455af]{color:#ff9ec4;background:#f7258524;border-color:#f7258566}.dm-type.type-deform[data-v-384455af]{color:#9db8ff;background:#4361ee29;border-color:#4361ee6b}.dm-type.type-piping[data-v-384455af]{color:#ffe08a;background:#ffb70329;border-color:#ffb7036b}.dm-severity.sev-low[data-v-384455af]{color:#80ffc2;background:#06d6a024;border-color:#06d6a066}.dm-severity.sev-mid[data-v-384455af]{color:#ffd166;background:#ffd16624;border-color:#ffd16666}.dm-severity.sev-high[data-v-384455af]{color:#ff96a1;background:#ef476f29;border-color:#ef476f6b}.dm-status.st-identified[data-v-384455af]{color:#7fe3ff;background:#00b4d824;border-color:#00b4d866}.dm-status.st-assessing[data-v-384455af]{color:#ffd166;background:#ffd16624;border-color:#ffd16666}.dm-status.st-processing[data-v-384455af]{color:#ffc28a;background:#f77f0029;border-color:#f77f006b}.dm-status.st-fixed[data-v-384455af]{color:#80ffc2;background:#06d6a024;border-color:#06d6a066}.dm-time[data-v-384455af]{align-items:center;gap:6px;margin-top:2px;display:flex}.dm-time-label[data-v-384455af]{color:var(--muted);opacity:.8;font-size:10.5px}.dm-time-value[data-v-384455af]{color:var(--ink);opacity:.85;font-family:Cascadia Code,Consolas,monospace;font-size:11px}.dm-card-body[data-v-384455af]{flex-direction:column;gap:8px;padding:0 12px 12px;display:flex}.dm-detail-block[data-v-384455af]{border-left:3px solid var(--accent);background:#00b4d812;border-radius:8px;padding:9px 10px}.dm-detail-block.dm-treatment[data-v-384455af]{border-left-color:var(--accent2);background:#06d6a012}.dm-detail-label[data-v-384455af]{color:var(--accent);letter-spacing:.04em;margin-bottom:4px;font-size:11px;font-weight:600}.dm-treatment .dm-detail-label[data-v-384455af]{color:var(--accent2)}.dm-detail-text[data-v-384455af]{color:var(--ink);opacity:.92;margin:0;font-size:12px;line-height:1.6}.dm-focus-btn[data-v-384455af]{border:1px solid var(--accent);color:#bcefff;cursor:pointer;background:#00b4d829;border-radius:8px;padding:6px 10px;font-size:11.5px;transition:all .16s}.dm-focus-btn[data-v-384455af]:hover{color:#fff;background:#00b4d84d;box-shadow:0 0 14px #00b4d852}.dm-empty[data-v-384455af]{text-align:center;color:var(--muted);padding:30px 12px;font-size:12.5px}.dm-expand-enter-active[data-v-384455af],.dm-expand-leave-active[data-v-384455af]{transition:opacity .22s,transform .22s}.dm-expand-enter-from[data-v-384455af],.dm-expand-leave-to[data-v-384455af]{opacity:0;transform:translateY(-6px)}.emergency-panel[data-v-f35ec61f]{flex-direction:column;gap:10px;width:100%;max-width:320px;font-family:Microsoft YaHei,Inter,system-ui,sans-serif;display:flex}.panel-header[data-v-f35ec61f]{border-bottom:1px solid var(--rule);align-items:center;gap:10px;padding:2px 2px 8px;display:flex}.title-icon[data-v-f35ec61f]{background:var(--accent);border-radius:4px;flex-shrink:0;width:4px;height:28px;box-shadow:0 0 12px #00b4d8cc}.header-text[data-v-f35ec61f]{flex-direction:column;gap:2px;display:flex}.header-text h1[data-v-f35ec61f]{letter-spacing:.04em;color:var(--ink);margin:0;font-size:16px;font-weight:700}.header-text small[data-v-f35ec61f]{color:var(--muted);letter-spacing:.06em;font-size:10px}.panel-scroll[data-v-f35ec61f]{flex-direction:column;gap:14px;max-height:500px;padding-right:4px;display:flex;overflow:hidden auto}.panel-scroll[data-v-f35ec61f]::-webkit-scrollbar{width:5px}.panel-scroll[data-v-f35ec61f]::-webkit-scrollbar-track{background:var(--bg);border-radius:3px}.panel-scroll[data-v-f35ec61f]::-webkit-scrollbar-thumb{background:var(--rule);border-radius:3px}.panel-scroll[data-v-f35ec61f]::-webkit-scrollbar-thumb:hover{background:var(--accent)}.block[data-v-f35ec61f]{flex-direction:column;gap:10px;display:flex}.block-title[data-v-f35ec61f]{color:var(--ink);letter-spacing:.03em;align-items:center;gap:8px;margin:0;font-size:13px;font-weight:600;display:flex}.block-bar[data-v-f35ec61f]{background:var(--accent2);border-radius:3px;flex-shrink:0;width:3px;height:14px;box-shadow:0 0 8px #06d6a0b3}.scenario-card[data-v-f35ec61f]{background:var(--bg2);border:1px solid var(--rule);border-left:3px solid var(--accent);border-radius:10px;flex-direction:column;gap:10px;padding:12px;transition:border-color .2s,box-shadow .2s;display:flex}.scenario-card[data-v-f35ec61f]:hover{box-shadow:0 8px 28px #0000004d}.scenario-card.type-earthquake[data-v-f35ec61f]{border-left-color:#ff8c42}.scenario-card.type-flood[data-v-f35ec61f]{border-left-color:var(--danger)}.scenario-card.type-typhoon[data-v-f35ec61f]{border-left-color:#b388ff}.scenario-head[data-v-f35ec61f]{justify-content:space-between;align-items:center;gap:8px;display:flex}.type-badge[data-v-f35ec61f]{color:#fff;border-radius:6px;align-items:center;gap:5px;padding:3px 9px;font-size:11px;font-weight:600;display:inline-flex}.scenario-card.type-earthquake .type-badge[data-v-f35ec61f]{color:#ffb088;background:#ff8c422e;border:1px solid #ff8c4273}.scenario-card.type-flood .type-badge[data-v-f35ec61f]{color:#ff96a8;background:#ef476f29;border:1px solid #ef476f73}.scenario-card.type-typhoon .type-badge[data-v-f35ec61f]{color:#c9b0ff;background:#b388ff29;border:1px solid #b388ff73}.status-pill[data-v-f35ec61f]{white-space:nowrap;border-radius:999px;align-items:center;padding:2px 9px;font-size:11px;font-weight:600;display:inline-flex}.status-pill.warning[data-v-f35ec61f]{color:var(--warning);background:#ffd16629;border:1px solid #ffd16666}.status-pill.danger[data-v-f35ec61f]{color:var(--danger);background:#ef476f29;border:1px solid #ef476f66}.status-pill.info[data-v-f35ec61f]{color:var(--accent);background:#00b4d829;border:1px solid #00b4d866}.status-pill.success[data-v-f35ec61f]{color:var(--accent2);background:#06d6a029;border:1px solid #06d6a066}.scenario-name[data-v-f35ec61f]{color:var(--ink);margin:0;font-size:13.5px;font-weight:600;line-height:1.35}.scenario-intensity[data-v-f35ec61f]{align-items:center;gap:8px;margin:0;display:flex}.scenario-intensity .label[data-v-f35ec61f]{color:var(--muted);font-size:11px}.scenario-intensity .value[data-v-f35ec61f]{color:var(--accent);font-family:Cascadia Code,Consolas,monospace;font-size:12px;font-weight:600}.progress-wrap[data-v-f35ec61f]{flex-direction:column;gap:5px;display:flex}.progress-label[data-v-f35ec61f]{color:var(--muted);justify-content:space-between;align-items:center;font-size:11px;display:flex}.progress-label b[data-v-f35ec61f]{color:var(--accent);font-family:Cascadia Code,Consolas,monospace;font-size:12px}.progress-bar[data-v-f35ec61f]{background:var(--bg);border-radius:999px;height:6px;overflow:hidden}.progress-fill[data-v-f35ec61f]{border-radius:inherit;background:linear-gradient(90deg, var(--accent), var(--accent2));height:100%;transition:width .3s;display:block;box-shadow:0 0 8px #00b4d880}.scenario-card.type-earthquake .progress-fill[data-v-f35ec61f]{background:linear-gradient(90deg, #ff8c42, var(--warning))}.scenario-card.type-flood .progress-fill[data-v-f35ec61f]{background:linear-gradient(90deg, var(--danger), #ff8c42)}.scenario-card.type-typhoon .progress-fill[data-v-f35ec61f]{background:linear-gradient(90deg, #b388ff, var(--accent))}.scenario-section[data-v-f35ec61f]{flex-direction:column;gap:6px;display:flex}.field-label[data-v-f35ec61f]{color:var(--muted);letter-spacing:.02em;font-size:11px}.tag-row[data-v-f35ec61f]{flex-wrap:wrap;gap:5px;display:flex}.area-tag[data-v-f35ec61f]{color:var(--ink);background:var(--bg3);border:1px solid var(--rule);border-radius:4px;padding:2px 8px;font-size:11px;display:inline-flex}.measure-list[data-v-f35ec61f]{flex-direction:column;gap:3px;margin:0;padding-left:18px;display:flex}.measure-list li[data-v-f35ec61f]{color:#c5d6e6;font-size:11.5px;line-height:1.5}.measure-list li[data-v-f35ec61f]::marker{color:var(--accent);font-weight:700}.scenario-foot[data-v-f35ec61f]{border-top:1px dashed var(--rule);align-items:center;gap:8px;padding-top:8px;display:flex}.foot-label[data-v-f35ec61f]{color:var(--muted);font-size:11px}.foot-value[data-v-f35ec61f]{color:var(--ink);font-family:Cascadia Code,Consolas,monospace;font-size:11.5px}.facility-card[data-v-f35ec61f]{background:var(--bg2);border:1px solid var(--rule);border-radius:8px;flex-direction:column;gap:9px;padding:10px 12px;transition:box-shadow .2s;display:flex}.facility-card[data-v-f35ec61f]:hover{box-shadow:0 6px 20px #00000040}.facility-card.status-success[data-v-f35ec61f]{border-left:3px solid var(--accent2)}.facility-card.status-info[data-v-f35ec61f]{border-left:3px solid var(--accent)}.facility-card.status-warning[data-v-f35ec61f]{border-left:3px solid var(--warning)}.facility-card.status-danger[data-v-f35ec61f]{border-left:3px solid var(--danger)}.facility-head[data-v-f35ec61f]{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.facility-title[data-v-f35ec61f]{flex-direction:column;gap:2px;min-width:0;display:flex}.facility-title h4[data-v-f35ec61f]{color:var(--ink);margin:0;font-size:13px;font-weight:600;line-height:1.3}.facility-type[data-v-f35ec61f]{color:var(--muted);font-size:10.5px}.facility-metric[data-v-f35ec61f]{flex-direction:column;gap:4px;display:flex}.metric-label[data-v-f35ec61f]{color:var(--muted);justify-content:space-between;align-items:center;font-size:11px;display:flex}.metric-label b[data-v-f35ec61f]{font-family:Cascadia Code,Consolas,monospace;font-size:12px}.load-low[data-v-f35ec61f]{color:var(--accent2)}.load-mid[data-v-f35ec61f]{color:var(--warning)}.load-high[data-v-f35ec61f]{color:var(--danger)}.load-bar[data-v-f35ec61f]{background:var(--bg);border-radius:999px;height:5px;overflow:hidden}.load-fill[data-v-f35ec61f]{border-radius:inherit;background:linear-gradient(90deg, var(--accent2), var(--accent));height:100%;transition:width .3s;display:block}.facility-card .load-fill[data-v-f35ec61f]{background:linear-gradient(90deg, var(--accent2), var(--accent))}.facility-card.status-warning .load-fill[data-v-f35ec61f]{background:linear-gradient(90deg, var(--warning), #ff8c42)}.facility-card.status-danger .load-fill[data-v-f35ec61f]{background:linear-gradient(90deg, var(--danger), #ff8c42)}.facility-stats[data-v-f35ec61f]{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.stat[data-v-f35ec61f]{background:var(--bg);border:1px solid var(--rule);border-radius:6px;flex-direction:column;gap:2px;padding:5px 6px;display:flex}.stat-label[data-v-f35ec61f]{color:var(--muted);font-size:9.5px}.stat b[data-v-f35ec61f]{color:var(--ink);font-family:Cascadia Code,Consolas,monospace;font-size:11px}.alert-row[data-v-f35ec61f]{flex-wrap:wrap;gap:5px;display:flex}.alert-badge[data-v-f35ec61f]{color:var(--warning);background:#ffd1661a;border:1px solid #ffd1664d;border-radius:4px;align-items:center;gap:4px;padding:2px 7px;font-size:10.5px;display:inline-flex}.alert-dot[data-v-f35ec61f]{background:var(--warning);width:5px;height:5px;box-shadow:0 0 6px var(--warning);border-radius:50%;animation:1.4s ease-in-out infinite alert-blink-f35ec61f}@keyframes alert-blink-f35ec61f{0%,to{opacity:1}50%{opacity:.3}}:root{--bg:#071322;--bg-soft:#09182bc7;--panel:#0c1d34c2;--panel-strong:#0f2746e0;--rule:#5da7ff40;--rule-strong:#5da7ff73;--ink:#e7f3ff;--muted:#8fb4d7;--muted-2:#5f7f9e;--brand:#00a8ff;--brand-2:#00d26a;--warning:#ffb020;--danger:#ff4757;--shadow:0 20px 80px #00000061;color:var(--ink);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Inter,Microsoft YaHei,system-ui,sans-serif}*{box-sizing:border-box}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#07132266;border-radius:3px}::-webkit-scrollbar-thumb{background:#00a8ff59;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#00a8ff8c}*{scrollbar-width:thin;scrollbar-color:#00a8ff59 #07132266}body{background:radial-gradient(circle at 50% 8%,#00a8ff2e,#0000 35%),linear-gradient(135deg,#071322 0%,#0b1a2d 55%,#06101d 100%);min-width:1280px;min-height:100vh;margin:0;overflow:hidden}button{font:inherit}.dashboard{grid-template-rows:68px 1fr;gap:12px;width:100vw;height:100vh;padding:14px 18px 16px;display:grid;position:relative}.top-bar{border:1px solid var(--rule);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(90deg,#071322b3,#0f274659,#071322b3);border-radius:14px;grid-template-columns:360px 1fr 300px;align-items:center;gap:20px;padding:0 18px;display:grid}.brand{align-items:center;gap:12px;display:flex}.brand-icon{border:1px solid var(--rule-strong);width:52px;height:38px;color:var(--brand);letter-spacing:.08em;background:#00a8ff14;border-radius:10px;place-items:center;font-weight:800;display:grid}.brand h1{letter-spacing:.04em;margin:0;font-size:20px;line-height:1.1}.brand p{color:var(--muted);margin:4px 0 0;font-size:12px}.scene-tabs{flex-wrap:wrap;justify-content:center;gap:5px;display:flex}.scene-tabs button,.bottom-actions button{border:1px solid var(--rule);color:var(--muted);cursor:pointer;background:#0a1a2fbf;border-radius:999px;transition:all .18s}.scene-tabs button{white-space:nowrap;padding:6px 10px;font-size:12px}.scene-tabs button:hover,.scene-tabs button.active,.bottom-actions button:hover,.bottom-actions button.active{color:#fff;border-color:var(--brand);background:#00a8ff2e;box-shadow:0 0 18px #00a8ff42}.system-stats{color:var(--muted);justify-content:flex-end;gap:14px;font-family:Cascadia Code,Consolas,monospace;font-size:12px;display:flex}.main-grid{grid-template-columns:330px 1fr 350px;gap:12px;min-height:0;display:grid}.side-panel{flex-direction:column;gap:12px;min-height:0;padding-right:4px;display:flex;overflow:hidden auto}.center-stage{border:1px solid var(--rule);min-width:0;min-height:0;box-shadow:var(--shadow);background:#050e1a99;border-radius:18px;position:relative;overflow:hidden}.chart-card,.table-card,.video-card,.gauge-card{background:var(--panel);border:1px solid var(--rule);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:14px;overflow:hidden;box-shadow:0 12px 40px #0000002e}.panel-title{min-height:36px;color:var(--ink);border-bottom:1px solid #5da7ff29;align-items:center;gap:8px;padding:9px 12px;font-size:14px;font-weight:600;display:flex}.panel-title small{color:var(--muted-2);margin-left:auto;font-size:11px;font-weight:400}.title-icon{background:var(--brand);border-radius:4px;width:4px;height:16px;box-shadow:0 0 12px #00a8ffcc}.chart-surface{width:100%;height:174px}.left .chart-card:first-child .chart-surface,.right .chart-card .chart-surface{height:158px}.table-card{flex-shrink:0}.table-scroll{max-height:260px;overflow:hidden auto}table{border-collapse:collapse;width:100%;font-size:12px}thead{z-index:1;position:sticky;top:0}th,td{text-align:left;border-bottom:1px solid #5da7ff1f;padding:8px 10px}th{color:var(--muted);background:#0f2746f2;font-weight:500}tbody tr:hover{background:#00a8ff0f}td{color:#d9ecff}.scene-shell,.scene-canvas{width:100%;height:100%;display:block}.scene-overlay{z-index:2;pointer-events:none;position:absolute}.top-left{top:18px;left:18px}.scene-chip{border:1px solid var(--rule-strong);color:#fff;background:#00a8ff29;border-radius:999px;padding:7px 14px;display:inline-flex;box-shadow:0 0 20px #00a8ff33}.scene-note{color:var(--muted);margin-top:8px;font-size:12px}.scene-hud{z-index:2;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:absolute;top:18px;right:18px}.hud-item{border:1px solid var(--rule);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--muted);background:#071322ad;border-radius:8px;align-items:center;gap:8px;padding:6px 12px;font-size:12px;display:flex}.hud-item b{color:var(--ink);font-family:Cascadia Code,Consolas,monospace;font-weight:600}.hud-dot{background:var(--brand-2);border-radius:50%;width:8px;height:8px;animation:1.5s ease-in-out infinite hud-blink}@keyframes hud-blink{0%,to{opacity:1}50%{opacity:.3}}.legend{border:1px solid var(--rule);color:var(--muted);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#071322ad;border-radius:999px;gap:12px;padding:8px 12px;font-size:12px;display:flex;bottom:96px;right:18px}.dot{border-radius:50%;width:8px;height:8px;margin-right:4px;display:inline-block}.normal{background:var(--brand-2)}.warning{background:var(--warning)}.danger{background:var(--danger)}.center-caption{pointer-events:none;justify-content:center;display:flex;position:absolute;bottom:104px;left:0;right:0}.center-caption span{letter-spacing:.08em;color:#fff;text-shadow:0 4px 18px #000c;font-size:28px;font-weight:700}.bottom-actions{border:1px solid var(--rule);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#07132294;border-radius:999px;gap:10px;padding:8px 14px;display:flex;position:absolute;bottom:26px;left:50%;transform:translate(-50%)}.bottom-actions button{border-radius:16px;place-items:center;gap:4px;width:72px;height:62px;font-size:11px;display:grid}.action-icon{border:1px solid;border-radius:50%;place-items:center;width:34px;height:34px;font-weight:700;display:grid}.fake-video{background:#b8c9d6;height:126px;position:relative;overflow:hidden}.video-sky{background:linear-gradient(#d7e0e5,#b9c7ce);height:58%}.video-grass{background:linear-gradient(145deg,#426c38,#8ea365);height:42%}.fake-video span{color:#fff;text-shadow:0 1px 4px #000;font-size:12px;position:absolute;bottom:8px;right:10px}.gauge-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.gauge-card{text-align:center;min-height:86px;color:var(--muted);place-items:center;font-size:12px;display:grid}.gauge-value{border:4px solid #00d26a47;border-top-color:var(--brand-2);color:#9cffcf;border-radius:50%;place-items:center;width:58px;height:58px;font-size:16px;font-weight:800;animation:3s linear infinite gauge-spin;display:grid}@keyframes gauge-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.status-pill{color:var(--brand);background:#00a8ff1f;border-radius:999px;align-items:center;padding:2px 8px;font-size:11px;display:inline-flex}.status-pill.normal{color:#80ffc2;background:#00d26a21}.status-pill.warning{color:#ffd166;background:#ffb02021}.status-pill.danger{color:#ff96a1;background:#ff475724}.table-action{color:#87d9ff;cursor:pointer;background:#00a8ff1f;border:1px solid #00a8ff7a;border-radius:999px;padding:2px 10px;font-size:11px;transition:all .15s}.table-action:hover{color:#fff;border-color:var(--brand);background:#00a8ff3d;box-shadow:0 0 12px #00a8ff4d}.simulation-panel{z-index:4;border:1px solid var(--rule-strong);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#071322d1;border-radius:16px;width:310px;max-height:calc(100% - 240px);padding:14px;position:absolute;bottom:118px;right:18px;overflow-y:auto;box-shadow:0 18px 60px #00000059}.simulation-panel header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.simulation-panel header strong{font-size:14px}.risk-tag{border-radius:999px;padding:2px 10px;font-size:11px;display:inline-flex}.risk-tag.normal{color:#80ffc2;background:#00d26a24}.risk-tag.warning{color:#ffd166;background:#ffb02024}.risk-tag.danger{color:#ff96a1;background:#ff475729}.simulation-panel label{color:var(--muted);margin:8px 0;font-size:12px;display:block}.simulation-panel label span{margin-bottom:4px;display:block}.simulation-panel input[type=range]{width:100%;accent-color:var(--brand)}.sim-metrics{grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0;display:grid}.sim-metrics div{text-align:center;background:#ffffff0a;border:1px solid #5da7ff2e;border-radius:10px;padding:8px 6px}.sim-metrics b{color:#fff;font-size:13px;display:block}.sim-metrics span{color:var(--muted);font-size:10px}.sim-progress{background:#ffffff14;border-radius:999px;height:6px;margin:10px 0;overflow:hidden}.sim-progress span{border-radius:inherit;background:linear-gradient(90deg, var(--brand), var(--brand-2));height:100%;transition:width .12s linear;display:block}.simulation-panel>button{border:1px solid var(--brand);color:#fff;cursor:pointer;background:#00a8ff33;border-radius:10px;width:100%;padding:8px 10px;transition:all .15s}.simulation-panel>button:hover{background:#00a8ff52;box-shadow:0 0 16px #00a8ff4d}.simulation-panel p{color:var(--muted);margin:8px 0 0;font-size:12px;line-height:1.5}.sim-header-right{align-items:center;gap:8px;display:flex}.sim-panel-close{width:22px;height:22px;color:var(--muted);cursor:pointer;background:#00a8ff0f;border:1px solid #00a8ff40;border-radius:5px;place-items:center;font-size:10px;transition:all .15s;display:grid}.sim-panel-close:hover{color:#fff;background:#00a8ff33}.sim-panel-toggle{z-index:4;border:1px solid var(--rule-strong);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#b9efff;cursor:pointer;background:#071322d1;border-radius:10px;align-items:center;gap:6px;padding:8px 14px;font-size:12px;transition:all .18s;display:flex;position:absolute;bottom:118px;right:18px;box-shadow:0 4px 20px #0000004d}.sim-panel-toggle:hover{border-color:var(--brand);background:#00a8ff26;box-shadow:0 0 18px #00a8ff4d}.sim-toggle-arrow{opacity:.7;font-size:10px}.model-type-badge{color:#80ffc2;white-space:nowrap;background:#00d26a26;border:1px solid #00d26a4d;border-radius:4px;padding:3px 8px;font-size:11px;font-weight:600}.sim-manual-toggle{margin-bottom:8px}.sim-checkbox{cursor:pointer;color:var(--ink);align-items:center;gap:6px;font-size:12px;display:flex}.sim-checkbox input{width:14px;height:14px;accent-color:var(--brand);cursor:pointer}.sim-manual-input{background:#00a8ff0f;border:1px solid #00a8ff38;border-radius:10px;margin-bottom:8px;padding:8px}.sim-manual-input label{color:var(--muted);margin:0 0 8px;font-size:12px;display:block}.sim-manual-input label span{color:var(--ink);margin-bottom:4px;font-weight:600;display:block}.sim-manual-input input[type=range]{width:100%;accent-color:var(--brand)}.sim-quick-levels{flex-wrap:wrap;gap:4px;margin:6px 0;display:flex}.sim-quick-btn{color:#87d9ff;cursor:pointer;background:#00a8ff14;border:1px solid #00a8ff59;border-radius:999px;padding:3px 8px;font-size:10px;transition:all .15s}.sim-quick-btn:hover{color:#fff;background:#00a8ff33}.sim-quick-btn.active{color:#fff;border-color:var(--brand);background:#00a8ff4d;box-shadow:0 0 8px #00a8ff4d}.sim-manual-hint{color:var(--muted-2);margin:6px 0 0;font-size:10px;line-height:1.5}.sim-buttons{gap:6px;margin:8px 0;display:flex}.sim-buttons button{border:1px solid var(--brand);color:#fff;cursor:pointer;background:#00a8ff33;border-radius:10px;flex:1;padding:7px 8px;font-size:12px;transition:all .15s}.sim-buttons button:hover{background:#00a8ff52;box-shadow:0 0 12px #00a8ff4d}.sim-buttons .sim-btn-warn{border-color:var(--warning);color:#ffd166;background:#ffb0202e}.sim-buttons .sim-btn-warn:hover{background:#ffb0204d;box-shadow:0 0 12px #ffb0204d}.sim-buttons .sim-btn-reset{color:var(--muted);background:#8fb4d71a;border-color:#8fb4d766}.sim-buttons .sim-btn-reset:hover{color:#fff;background:#8fb4d733}.detail-modal,.inspector-card,.info-modal{z-index:100;border:1px solid var(--rule-strong);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0b1c32eb;border-radius:16px;position:fixed;box-shadow:0 28px 100px #00000073}.detail-modal{width:520px;padding:18px;top:50%;left:50%;transform:translate(-50%,-50%)}.detail-modal h2,.inspector-card h2,.info-modal h2{margin:0 0 12px;font-size:18px}.detail-grid{grid-template-columns:1fr 1fr;gap:8px 14px;margin-bottom:10px;font-size:13px;display:grid}.detail-grid p{margin:0}.close-btn{border:1px solid var(--rule);width:28px;height:28px;color:var(--muted);cursor:pointer;background:#ffffff0a;border-radius:50%;transition:all .15s;position:absolute;top:10px;right:12px}.close-btn:hover{color:#fff;border-color:var(--danger);background:#ff47572e}.info-modal{width:480px;max-height:80vh;padding:20px;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.info-list{gap:8px;display:grid}.info-list p{color:var(--muted);background:#ffffff0a;border:1px solid #5da7ff24;border-radius:10px;margin:0;padding:8px 10px;font-size:13px}.info-list strong{color:var(--ink)}.info-note{border-left:3px solid var(--brand);color:#cbeeff;background:#00a8ff14;border-radius:10px;margin-top:12px;padding:10px 12px;font-size:13px;line-height:1.6}.inspector-card{grid-template-columns:88px 1fr;gap:16px;width:420px;padding:18px;display:grid;top:50%;left:50%;transform:translate(-50%,-50%)}.avatar{color:#0a2742;background:linear-gradient(#d7eaff,#4a90d9);border-radius:12px;place-items:center;width:78px;height:96px;font-size:32px;font-weight:800;display:grid}.inspector-card p{color:var(--muted);margin:4px 0;font-size:13px}.inspector-card strong{color:var(--ink)}.modal-fade-enter-active,.modal-fade-leave-active{transition:opacity .2s,transform .2s}.modal-fade-enter-from,.modal-fade-leave-to{opacity:0}.data-ticker{color:#80ffc2;background:#00d26a14;border:1px solid #00d26a4d;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:11px;display:flex}.data-ticker i{background:var(--brand-2);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite ticker-pulse}@keyframes ticker-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.scan-line{z-index:3;pointer-events:none;background:linear-gradient(90deg,#0000,#00a8ff99,#0000);height:2px;animation:4s linear infinite scan;position:absolute;left:0;right:0}@keyframes scan{0%{opacity:0;top:0}10%{opacity:1}90%{opacity:1}to{opacity:0;top:100%}}.corner-deco{border:2px solid var(--rule-strong);z-index:2;pointer-events:none;width:24px;height:24px;position:absolute}.corner-deco.tl{border-bottom:none;border-right:none;top:8px;left:8px}.corner-deco.tr{border-bottom:none;border-left:none;top:8px;right:8px}.corner-deco.bl{border-top:none;border-right:none;bottom:8px;left:8px}.corner-deco.br{border-top:none;border-left:none;bottom:8px;right:8px}.model-toolbar{z-index:5;border:1px solid var(--rule);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#071322b3;border-radius:999px;align-items:center;gap:8px;padding:6px 10px;display:flex;position:absolute;top:12px;right:12px}.file-input-hidden{display:none}.model-btn{color:#87d9ff;cursor:pointer;white-space:nowrap;background:#00a8ff1a;border:1px solid #00a8ff66;border-radius:999px;align-items:center;gap:4px;padding:5px 12px;font-size:12px;transition:all .15s;display:flex}.model-btn:hover{color:#fff;background:#00a8ff3d;box-shadow:0 0 12px #00a8ff4d}.model-btn-active{color:#ffd166;background:#ffb0201f;border-color:#ffb02080}.model-btn-active:hover{background:#ffb0203d;box-shadow:0 0 12px #ffb0204d}.model-btn-icon{font-size:14px;font-weight:700}.model-name{color:#80ffc2;text-overflow:ellipsis;white-space:nowrap;max-width:140px;font-size:11px;overflow:hidden}.model-loading{color:#87d9ff;font-size:11px;animation:1s ease-in-out infinite model-pulse}@keyframes model-pulse{0%,to{opacity:1}50%{opacity:.4}}.model-error-msg{color:#ff96a1;text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:11px;overflow:hidden}.model-geo-panel{z-index:5;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#071322d9;border:1px solid #00d26a5c;border-radius:16px;width:262px;max-height:calc(100% - 280px);position:absolute;bottom:118px;left:18px;overflow-y:auto;box-shadow:0 16px 48px #0000005c}.mgp-header{border-bottom:1px solid #00d26a33;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.mgp-title{color:#80ffc2;letter-spacing:.04em;font-size:13px;font-weight:600}.mgp-region{color:#00e5ff;background:#00e5ff1f;border-radius:999px;padding:2px 8px;font-size:11px}.mgp-body{flex-direction:column;gap:10px;padding:10px 14px 12px;display:flex}.mgp-section{flex-direction:column;gap:6px;display:flex}.mgp-label{color:var(--muted-2,#5f7f9e);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid #5da7ff1a;padding-bottom:2px;font-size:10px}.mgp-grid{grid-template-columns:1fr 1fr;gap:4px 8px;display:grid}.mgp-grid span,.mgp-geo-row span,.mgp-env span{color:#d9ecff;flex-direction:column;font-family:Cascadia Code,Consolas,monospace;font-size:12px;display:flex}.mgp-grid label,.mgp-geo-row label,.mgp-env label{color:var(--muted-2,#5f7f9e);margin-bottom:1px;font-family:Inter,Microsoft YaHei,sans-serif;font-size:9px}.mgp-geo-row{grid-template-columns:1fr 1fr;gap:4px 8px;display:grid}.mgp-env{flex-direction:column;gap:4px;display:flex}.mgp-assess{border-top:1px solid #5da7ff1a;gap:6px;padding-top:4px;display:flex}.mgp-badge{border-radius:999px;padding:3px 8px;font-size:10px;font-weight:500}.mgp-badge.good{color:#80ffc2;background:#00d26a24}.mgp-badge.warn{color:#ffd166;background:#ffb02024}.region-map-panel{z-index:5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#071322b8;border:1px solid #00a8ff5c;border-radius:16px;width:238px;padding:10px 12px;position:absolute;top:82px;left:18px;box-shadow:0 16px 42px #00000047}.region-map-panel header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.region-map-panel strong{font-size:13px}.region-map-panel header span{color:#80ffc2;text-align:right;font-size:11px}.yunnan-map{cursor:crosshair;touch-action:none;background:radial-gradient(circle at 35% 20%,#00a8ff29,#0000 34%),#050e1ab8;border:1px solid #5da7ff33;border-radius:12px;width:100%;height:150px;display:block}.yn-shape{fill:url(#ynTerrain);stroke:#87d9ffbf;stroke-width:1.5px;filter:drop-shadow(0 0 10px #00a8ff2e)}.yn-river{fill:none;stroke:#44d7ff;stroke-width:3px;stroke-linecap:round;opacity:.82}.yn-river.secondary{stroke-width:2px;opacity:.55}.yn-cities circle{fill:#ffd166;stroke:#071322cc;stroke-width:1px}.yn-cities text{fill:#d9ecff;pointer-events:none;font-size:9px}.yn-city-marker{cursor:pointer}.yn-city-marker:hover circle{fill:#80ffc2}.yn-city-marker.active circle{fill:#00e5ff;stroke:#80ffc2;stroke-width:2px;filter:drop-shadow(0 0 6px #00e5ffcc)}.region-map-btn{color:#b9efff;cursor:pointer;z-index:15;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#081628d9;border:1px solid #00a8ff66;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-size:13px;transition:all .2s;display:flex;position:absolute;bottom:16px;left:16px}.region-map-btn:hover{background:#00a8ff33;border-color:#00a8ffb3;box-shadow:0 0 12px #00a8ff4d}.region-map-btn .rm-icon{color:#00a8ff;font-size:16px}.region-map-btn .rm-region{color:#80ffc2;background:#00a8ff33;border-radius:4px;padding:2px 8px;font-size:12px}.region-map-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;background:#000000b3;justify-content:center;align-items:center;animation:.2s rmmFadeIn;display:flex;position:fixed;inset:0}@keyframes rmmFadeIn{0%{opacity:0}to{opacity:1}}.region-map-modal{background:linear-gradient(135deg,#0a1a2e 0%,#0d2137 100%);border:1px solid #00a8ff4d;border-radius:12px;flex-direction:column;width:92vw;max-width:1200px;height:85vh;max-height:780px;animation:.3s rmmSlideUp;display:flex;overflow:hidden;box-shadow:0 20px 60px #00000080,0 0 0 1px #00a8ff1a}@keyframes rmmSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.rmm-header{background:#00a8ff14;border-bottom:1px solid #00a8ff26;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.rmm-header strong{color:#e0f4ff;letter-spacing:.5px;font-size:16px}.rmm-region{color:#80ffc2;background:#00a8ff33;border-radius:4px;margin-left:12px;padding:3px 10px;font-size:12px}.rmm-close-btn{color:#ff6b7a;cursor:pointer;background:#ff475726;border:1px solid #ff47574d;border-radius:6px;padding:6px 14px;font-size:13px;transition:all .2s}.rmm-close-btn:hover{background:#ff47574d;border-color:#ff475799}.rmm-body{background:#00a8ff14;flex:1;gap:1px;display:flex;overflow:hidden}.rmm-amap-section,.rmm-svg-section{background:#0a1a2e;flex-direction:column;flex:1;display:flex;overflow:hidden}.rmm-section-title{color:#8ab4d8;background:#0003;border-bottom:1px solid #00a8ff1a;align-items:center;gap:8px;padding:10px 16px;font-size:13px;display:flex}.rmm-tool-btn{color:#80d4ff;cursor:pointer;background:#00a8ff26;border:1px solid #00a8ff4d;border-radius:4px;margin-left:auto;padding:4px 12px;font-size:12px;transition:all .2s}.rmm-tool-btn:hover{background:#00a8ff4d}.rmm-tool-btn-off{color:#ffb84d;background:#ffa5001f;border-color:#ffa5004d}.rmm-tool-btn-off:hover{background:#ffa50040}.amap-container{flex:1;width:100%;min-height:300px;position:relative;overflow:hidden}.rmm-hint{color:#5a7a94;text-align:center;background:#00000026;padding:8px 16px;font-size:12px}.yunnan-map-large{cursor:crosshair;background:#0a1525;flex:1;width:100%;min-height:250px}.region-weather-bar{color:#b9efff;background:#0003;border-top:1px solid #00a8ff1a;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 16px;font-size:13px;display:flex}.region-weather-bar .weather-loading{color:#5a7a94}.region-weather-bar .weather-error{color:#ff6b7a}.region-weather-bar .weather-detail{color:#8ab4d8;font-size:12px}.region-weather-bar .weather-rain{color:#80d4ff;font-size:12px}.region-weather-bar .weather-time{color:#4a6a84;width:100%;font-size:11px}.weather-severity-badge{border-radius:4px;padding:2px 10px;font-size:12px;font-weight:600}.weather-severity-badge.normal{color:#2ed573;background:#2ed57333}.weather-severity-badge.warning{color:#ffa502;background:#ffa50033}.weather-severity-badge.danger{color:#ff4757;background:#ff475733}.region-stats{color:#8ab4d8;border-top:1px solid #00a8ff1a;flex-wrap:wrap;gap:16px;padding:10px 16px;font-size:12px;display:flex}.region-stats span{white-space:nowrap}.bridge-report-panel{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#081220eb;border:1px solid #00a8ff40;border-radius:10px;width:320px;max-height:calc(100% - 200px);animation:.3s brp-slide-in;position:absolute;top:70px;left:18px;overflow-y:auto;box-shadow:0 8px 32px #0006}@keyframes brp-slide-in{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.bridge-report-panel::-webkit-scrollbar{width:4px}.bridge-report-panel::-webkit-scrollbar-thumb{background:#00a8ff4d;border-radius:2px}.brp-header{background:#00a8ff14;border-bottom:1px solid #00a8ff26;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.brp-title{color:#e0f4ff;letter-spacing:.5px;font-size:14px;font-weight:600}.brp-risk-badge{border-radius:4px;padding:3px 10px;font-size:11px;font-weight:600}.brp-risk-badge.normal{color:#2ed573;background:#2ed57333}.brp-risk-badge.warning{color:#ffa502;background:#ffa50033}.brp-risk-badge.danger{color:#ff4757;background:#ff475733}.brp-body{padding:12px 16px}.brp-health-section{border-bottom:1px solid #00a8ff1a;align-items:center;gap:16px;padding-bottom:12px;display:flex}.brp-health-score{border:3px solid;border-radius:50%;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:70px;height:70px;display:flex}.brp-health-score.good{border-color:#2ed573;box-shadow:0 0 12px #2ed5734d}.brp-health-score.warning{border-color:#ffa502;box-shadow:0 0 12px #ffa5004d}.brp-health-score.danger{border-color:#ff4757;box-shadow:0 0 12px #ff47574d}.brp-score-value{color:#e0f4ff;font-size:22px;font-weight:700}.brp-score-label{color:#5a7a94;white-space:nowrap;font-size:9px}.brp-sensor-summary{flex-direction:column;gap:4px;display:flex}.brp-ss-item{color:#8ab4d8;align-items:center;gap:6px;font-size:12px;display:flex}.brp-ss-item .dot{border-radius:50%;width:8px;height:8px;display:inline-block}.brp-ss-item .dot.normal{background:#2ed573}.brp-ss-item .dot.warning{background:#ffa502}.brp-ss-item .dot.danger{background:#ff4757}.brp-metrics{border-bottom:1px solid #00a8ff1a;flex-direction:column;gap:6px;padding:10px 0;display:flex}.brp-metric{justify-content:space-between;align-items:center;font-size:12px;display:flex}.brp-metric label{color:#5a7a94}.brp-metric span{color:#b9efff;font-weight:500}.brp-section{border-bottom:1px solid #00a8ff14;padding:10px 0}.brp-section:last-child{border-bottom:none}.brp-section-title{color:#8ab4d8;margin-bottom:8px;font-size:12px;font-weight:600;display:block}.brp-list{margin:0;padding:0;list-style:none}.brp-list-item{color:#a0bcd8;border-left:2px solid #00a8ff4d;margin-bottom:4px;padding:4px 8px;font-size:12px;line-height:1.4}.brp-list-item.danger{color:#ff8a8a;border-left-color:#ff4757}.brp-sensor-grid{grid-template-columns:1fr 1fr;gap:6px;display:grid}.brp-sensor-card{border:1px solid;border-radius:4px;flex-direction:column;gap:2px;padding:6px 8px;display:flex}.brp-sensor-card.normal{background:#2ed5730f;border-color:#2ed5734d}.brp-sensor-card.warning{background:#ffa5000f;border-color:#ffa5004d}.brp-sensor-card.danger{background:#ff47570f;border-color:#ff47574d}.brp-sc-label{color:#5a7a94;white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.brp-sc-value{color:#e0f4ff;font-size:13px;font-weight:600}.brp-sc-threshold{color:#4a6a84;font-size:9px}.brp-header-right{align-items:center;gap:8px;display:flex}.brp-close-btn{color:#8ab4d8;cursor:pointer;background:#00a8ff14;border:1px solid #00a8ff4d;border-radius:6px;place-items:center;width:24px;height:24px;font-size:12px;transition:all .15s;display:grid}.brp-close-btn:hover{color:#ff8a8a;background:#ff475733;border-color:#ff4757}.bridge-report-toggle{z-index:19;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#b9efff;cursor:pointer;background:#081220e6;border:1px solid #00a8ff59;border-radius:10px;align-items:center;gap:8px;padding:10px 16px;font-size:13px;transition:all .18s;display:flex;position:absolute;top:70px;left:18px;box-shadow:0 4px 20px #0000004d}.bridge-report-toggle:hover{border-color:var(--brand);background:#00a8ff26;box-shadow:0 0 18px #00a8ff4d}.brt-icon{font-size:16px}.bridge-anim-overlay{z-index:18;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#081220e0;border:1px solid #00a8ff4d;border-radius:14px;width:520px;max-width:calc(100% - 40px);padding:14px 20px;animation:.4s bao-slide-up;position:absolute;bottom:110px;left:50%;transform:translate(-50%);box-shadow:0 8px 40px #0006}@keyframes bao-slide-up{0%{opacity:0;transform:translate(-50%)translateY(20px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.bao-phase-bar{justify-content:space-between;align-items:center;gap:4px;margin-bottom:10px;display:flex}.bao-phase-dot{background:#5da7ff26;border-radius:2px;flex:1;height:4px;transition:all .3s}.bao-phase-dot.active{background:#00a8ff80}.bao-phase-dot.current{background:var(--brand);box-shadow:0 0 10px #00a8ff99}.bao-phase-info{flex-direction:column;gap:6px;display:flex}.bao-phase-name{align-items:center;gap:10px;display:flex}.bao-phase-label{color:#87d9ff;background:#00a8ff26;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600}.bao-phase-title{color:#e7f3ff;letter-spacing:.5px;font-size:15px;font-weight:600}.bao-narrative{color:#8fb4d7;margin:4px 0 6px;font-size:12px;line-height:1.6}.bao-metrics{gap:20px;display:flex}.bao-metrics span{align-items:center;gap:4px;font-size:12px;display:flex}.bao-metrics label{color:#5a7a94}.bao-metrics b{color:#b9efff;font-family:Cascadia Code,Consolas,monospace;font-weight:600}@media (width<=768px){.region-map-modal{width:96vw;height:90vh}.rmm-body{flex-direction:column}.rmm-amap-section,.rmm-svg-section{flex:none;height:50%}}.yn-city-marker.active text{fill:#80ffc2;font-weight:600}.selection-rect{fill:#00a8ff2e;stroke:#80ffc2;stroke-width:2px;stroke-dasharray:5 3;filter:drop-shadow(0 0 8px #80ffc266);pointer-events:none}.region-weather-bar{background:linear-gradient(135deg,#00b4d814,#06d6a00a);border:1px solid #00b4d84d;border-radius:10px;flex-wrap:wrap;align-items:center;gap:6px;margin:6px 0;padding:6px 8px;font-size:10px;display:flex}.region-weather-bar .weather-temp{color:#80ffc2;font-size:12px;font-weight:600}.region-weather-bar .weather-detail{color:#a9d8ff}.region-weather-bar .weather-rain{color:#ffd166;font-weight:500}.region-weather-bar .weather-loading,.region-weather-bar .weather-error{color:var(--muted,#7a93ad);font-size:10px}.region-weather-bar .weather-time{color:var(--muted,#7a93ad);margin-left:auto;font-size:9px}.weather-severity-badge{white-space:nowrap;color:#80ffc2;background:#00d26a21;border:1px solid #00d26a47;border-radius:999px;align-items:center;padding:2px 8px;font-size:10px;font-weight:600;display:inline-flex}.weather-severity-badge.warning{color:#ffd166;background:#ffb02021;border-color:#ffb0204d}.weather-severity-badge.danger{color:#ff96a1;background:#ff475724;border-color:#ff475752}.sim-weather-info{background:#00b4d80f;border:1px solid #00b4d847;border-radius:10px;flex-wrap:wrap;gap:8px;margin-bottom:8px;padding:6px 10px;font-size:11px;display:flex}.sim-weather-info span:first-child{color:#80ffc2}.sim-weather-info span:last-child{color:#ffd166}.sim-bridge-info{margin-bottom:8px}.sim-bridge-hint{color:#a9c7e8;background:#00d26a0f;border:1px solid #00d26a47;border-radius:10px;margin:0 0 8px;padding:8px 10px;font-size:11px;line-height:1.6}.sim-bridge-params{flex-direction:column;gap:6px;display:flex}.sim-bridge-params label{color:#a9c7e8;flex-direction:column;gap:3px;font-size:11px;display:flex}.sim-bridge-params input[type=range]{appearance:none;background:#ffffff1f;border-radius:2px;outline:none;width:100%;height:4px}.region-stats{grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:6px;margin:8px 0 6px;display:grid}.region-stats span{color:#a9d8ff;text-align:center;background:#ffffff0a;border:1px solid #5da7ff29;border-radius:8px;padding:5px 4px;font-size:10px}.region-map-panel p{color:var(--muted);margin:0;font-size:11px;line-height:1.45}.warning-popup{z-index:130;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(145deg,#ffb02024,#071322f0),#0b1c32f5;border:1px solid #ffb0208c;border-radius:18px;width:460px;padding:18px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 28px 100px #00000080,0 0 34px #ffb0202e}.warning-popup.danger{background:linear-gradient(145deg,#ff47572e,#071322f2),#0b1c32f5;border-color:#ff4757a6;box-shadow:0 28px 100px #00000085,0 0 40px #ff475738}.warning-popup h2{color:#fff;margin:0 0 10px;font-size:20px}.warning-popup p{color:#d9ecff;margin:0;font-size:13px;line-height:1.7}.warning-popup-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0;display:grid}.warning-popup-grid span{color:var(--muted);text-align:center;background:#ffffff0d;border:1px solid #5da7ff2e;border-radius:10px;padding:9px 6px;font-size:11px}.warning-popup-grid b{color:#fff;margin-top:4px;font-family:Cascadia Code,Consolas,monospace;font-size:15px;display:block}.warning-popup small{color:var(--muted-2);font-size:11px;line-height:1.5;display:block}
