.brand-area[data-v-e5a7539e]{display:flex;flex-direction:column;gap:6px}.eyebrow-row[data-v-e5a7539e]{display:flex;align-items:center;gap:12px}.live-pill[data-v-e5a7539e]{display:inline-flex;align-items:center;gap:6px;background:#2563eb1f;color:var(--power);border:1px solid rgba(37,99,235,.25);padding:3px 10px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.1em}.live-pulse[data-v-e5a7539e]{width:7px;height:7px;border-radius:50%;background:#2563eb;box-shadow:0 0 8px #2563eb;animation:livePulseAnim-e5a7539e 1.6s ease-in-out infinite}@keyframes livePulseAnim-e5a7539e{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.4);opacity:.4}}.system-status[data-v-e5a7539e]{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:var(--muted)}.main-title[data-v-e5a7539e]{letter-spacing:-.03em;font-weight:900}.gradient-text[data-v-e5a7539e]{background:linear-gradient(135deg,#2563eb,#0891b2,#7c3aed);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.meta-row[data-v-e5a7539e]{display:flex;align-items:center;gap:12px;margin-top:4px;flex-wrap:wrap}.updated-text[data-v-e5a7539e]{display:inline-flex;align-items:center;gap:5px;font-size:13px;color:var(--muted)}.auto-refresh-pill[data-v-e5a7539e]{font-size:11px;background:#10b9811f;color:#10b981;border:1px solid rgba(16,185,129,.25);padding:2px 8px;border-radius:999px;font-weight:700}.auto-toggle-btn.active[data-v-e5a7539e]{border-color:#10b98166;color:#10b981}.pulse-active[data-v-e5a7539e]{animation:livePulseAnim-e5a7539e 2s infinite}.sun-icon[data-v-e5a7539e]{color:#f59e0b}.moon-icon[data-v-e5a7539e]{color:#6366f1}.metric-header[data-v-f837d42a]{display:flex;align-items:center;justify-content:space-between;gap:8px}.formula-btn[data-v-f837d42a]{background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;color:var(--muted);transition:color .2s}.formula-btn[data-v-f837d42a]:hover{color:var(--muted)}.formula-display[data-v-f837d42a]{margin-top:12px;padding:8px;background:var(--color-bg-secondary);border-radius:4px;font-size:12px;line-height:1.5}.formula-label[data-v-f837d42a]{font-weight:600;margin:0 0 4px;color:var(--muted)}.formula-text[data-v-f837d42a]{margin:0;color:var(--muted);font-family:Monaco,Menlo,monospace}.panel-power[data-v-0722b400]{position:relative;overflow:hidden}.heading-right-group[data-v-0722b400]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.primary-action-btn[data-v-0722b400]{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border:none;border-radius:999px;padding:8px 16px;font-size:13px;font-weight:700;cursor:pointer;box-shadow:0 4px 14px #2563eb59;transition:all .2s cubic-bezier(.4,0,.2,1)}.primary-action-btn[data-v-0722b400]:hover{transform:translateY(-1px);box-shadow:0 6px 20px #2563eb73;background:linear-gradient(135deg,#3b82f6,#2563eb)}.primary-action-btn[data-v-0722b400]:active{transform:translateY(0)}.energy-mix-card[data-v-0722b400]{margin-top:20px;background:var(--surface-2);border:1px solid var(--line);border-radius:20px;padding:20px}.mix-card-head[data-v-0722b400]{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;flex-wrap:wrap}.mix-card-head h3[data-v-0722b400]{font-size:17px;font-weight:800}.green-badge[data-v-0722b400]{display:inline-flex;align-items:center;gap:6px;background:#10b9811f;color:#10b981;border:1px solid rgba(16,185,129,.25);padding:6px 12px;border-radius:999px;font-size:13px;font-weight:800}.mix-list[data-v-0722b400]{display:grid;gap:10px}.interactive-row[data-v-0722b400]{display:grid;grid-template-columns:100px 1fr 150px;align-items:center;gap:16px;padding:10px 14px;border-radius:12px;transition:all .2s ease;cursor:pointer;background:#ffffff05}.interactive-row[data-v-0722b400]:hover{background:#2563eb14;transform:translate(4px)}.mix-name[data-v-0722b400]{font-weight:700;font-size:14px}.mix-val-col[data-v-0722b400]{display:flex;align-items:center;justify-content:flex-end;gap:8px}.mix-percent[data-v-0722b400]{font-size:16px;font-weight:800}.mix-mw[data-v-0722b400]{font-size:12px;color:var(--muted)}.row-arrow[data-v-0722b400]{color:var(--muted);transition:transform .2s}.interactive-row:hover .row-arrow[data-v-0722b400]{color:var(--power);transform:translate(3px)}@media (max-width: 680px){.interactive-row[data-v-0722b400]{grid-template-columns:80px 1fr 100px;gap:10px}.mix-mw[data-v-0722b400]{display:none}}@media (max-width: 540px){.interactive-row[data-v-0722b400]{grid-template-columns:1fr auto;grid-template-areas:"name val" "bar bar";row-gap:8px;padding:10px 12px}.mix-name-col[data-v-0722b400]{grid-area:name}.mix-val-col[data-v-0722b400]{grid-area:val}.mix-bar-col[data-v-0722b400]{grid-area:bar;width:100%}.mix-mw[data-v-0722b400]{display:inline;font-size:11px}}.panel-water[data-v-2bc65c8b]{position:relative}.heading-right-group[data-v-2bc65c8b]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.primary-action-btn[data-v-2bc65c8b]{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,#0891b2,#0284c7);color:#fff;border:none;border-radius:999px;padding:8px 16px;font-size:13px;font-weight:700;cursor:pointer;box-shadow:0 4px 14px #0891b259;transition:all .2s cubic-bezier(.4,0,.2,1);text-decoration:none}.primary-action-btn[data-v-2bc65c8b]:hover{transform:translateY(-1px);box-shadow:0 6px 20px #0891b273;background:linear-gradient(135deg,#06b6d4,#0891b2)}.primary-action-btn[data-v-2bc65c8b]:active{transform:translateY(0)}.water-btn[data-v-2bc65c8b]{background:linear-gradient(135deg,#0891b2,#0284c7)!important;box-shadow:0 4px 14px #0891b259!important}.water-btn[data-v-2bc65c8b]:hover{background:linear-gradient(135deg,#06b6d4,#0891b2)!important}.water-dot[data-v-2bc65c8b]{background:#06b6d4!important}.water-overview-bar[data-v-2bc65c8b]{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;background:var(--surface-2);border:1px solid var(--line);border-radius:16px;padding:16px 20px;margin-bottom:20px}.w-stat[data-v-2bc65c8b]{display:flex;flex-direction:column;gap:4px}.w-stat .label[data-v-2bc65c8b]{font-size:12px;color:var(--muted);font-weight:600}.w-stat strong[data-v-2bc65c8b]{font-size:22px;letter-spacing:-.02em}.w-stat strong small[data-v-2bc65c8b]{font-size:13px;font-weight:600;color:var(--muted)}.water-filter-toolbar[data-v-2bc65c8b]{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;flex-wrap:wrap}.region-tabs[data-v-2bc65c8b]{display:flex;gap:6px;background:var(--surface-2);border:1px solid var(--line);padding:4px;border-radius:12px;overflow-x:auto}.region-tab-btn[data-v-2bc65c8b]{background:none;border:none;padding:6px 12px;border-radius:8px;font-size:13px;font-weight:700;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .2s;white-space:nowrap}.region-tab-btn[data-v-2bc65c8b]:hover{color:var(--text)}.region-tab-btn.active[data-v-2bc65c8b]{background:var(--water);color:#fff}.badge-num[data-v-2bc65c8b]{font-size:11px;background:#00000026;padding:1px 6px;border-radius:999px}.water-search-group[data-v-2bc65c8b]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.status-quick-filters[data-v-2bc65c8b]{display:flex;gap:4px}.filter-chip[data-v-2bc65c8b]{background:var(--surface-2);border:1px solid var(--line);padding:6px 10px;border-radius:8px;font-size:12px;font-weight:700;color:var(--muted);cursor:pointer;transition:all .2s}.filter-chip.active[data-v-2bc65c8b]{background:var(--text);color:var(--bg);border-color:var(--text)}.search-box[data-v-2bc65c8b]{position:relative;display:flex;align-items:center}.search-ico[data-v-2bc65c8b]{position:absolute;left:10px;color:var(--muted);pointer-events:none}.water-search-input[data-v-2bc65c8b]{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:6px 28px 6px 32px;font-size:13px;color:var(--text);outline:none;width:170px;transition:width .2s,border-color .2s}.water-search-input[data-v-2bc65c8b]:focus{width:220px;border-color:var(--water)}.clear-icon[data-v-2bc65c8b]{position:absolute;right:8px;background:none;border:none;color:var(--muted);cursor:pointer;padding:2px}.filter-result-bar[data-v-2bc65c8b]{font-size:12px;color:var(--muted);margin-bottom:14px}.filter-result-bar strong[data-v-2bc65c8b]{color:var(--text)}.reservoir-grid[data-v-2bc65c8b]{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.interactive-card[data-v-2bc65c8b]{cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);outline:none}.interactive-card[data-v-2bc65c8b]:hover,.interactive-card[data-v-2bc65c8b]:focus-visible{transform:translateY(-4px);box-shadow:0 12px 28px #0891b22e;border-color:var(--water)}.reservoir-card[data-v-2bc65c8b]{display:flex;flex-direction:column;justify-content:space-between;gap:12px;padding:16px;border:1px solid var(--line);border-radius:18px;background:var(--surface-2)}.res-card-top[data-v-2bc65c8b]{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.res-badge-wrap[data-v-2bc65c8b]{display:flex;align-items:center;gap:6px;margin-bottom:4px}.res-region-tag[data-v-2bc65c8b]{font-size:11px;font-weight:700;color:var(--muted)}.res-level-tag[data-v-2bc65c8b]{font-size:10px;font-weight:800;padding:1px 6px;border-radius:4px}.res-level-tag.good[data-v-2bc65c8b]{background:#10b98126;color:#10b981}.res-level-tag.normal[data-v-2bc65c8b]{background:#0891b226;color:#0891b2}.res-level-tag.warn[data-v-2bc65c8b]{background:#f59e0b26;color:#f59e0b}.res-level-tag.danger[data-v-2bc65c8b]{background:#ef444426;color:#ef4444}.res-title[data-v-2bc65c8b]{font-size:16px;font-weight:800;margin:0}.res-percentage[data-v-2bc65c8b]{font-size:26px;font-weight:900;letter-spacing:-.03em}.res-extra-info[data-v-2bc65c8b]{display:flex;justify-content:space-between;align-items:center;padding-top:4px;border-top:1px dashed var(--line)}.extra-item[data-v-2bc65c8b]{display:flex;flex-direction:column;gap:2px}.e-label[data-v-2bc65c8b]{font-size:10px;color:var(--muted)}.e-val[data-v-2bc65c8b]{font-size:12px;font-weight:700}.click-hint-pill[data-v-2bc65c8b]{display:inline-flex;align-items:center;gap:2px;font-size:11px;font-weight:700;color:var(--water);background:#0891b21a;padding:3px 8px;border-radius:999px;transition:all .2s}.interactive-card:hover .click-hint-pill[data-v-2bc65c8b]{background:var(--water);color:#fff}.empty-water-box[data-v-2bc65c8b]{padding:40px 20px;text-align:center;background:var(--surface-2);border:1px dashed var(--line);border-radius:16px;color:var(--muted)}.reset-btn[data-v-2bc65c8b]{margin-top:10px;background:var(--surface);border:1px solid var(--line);color:var(--text);padding:6px 14px;border-radius:999px;font-size:13px;cursor:pointer}.mobile-expand-bar[data-v-2bc65c8b]{display:flex;justify-content:center;margin-top:16px}.expand-toggle-btn[data-v-2bc65c8b]{display:inline-flex;align-items:center;gap:6px;background:var(--surface-2);border:1px solid var(--line);padding:10px 20px;border-radius:999px;font-size:14px;font-weight:700;color:var(--text);cursor:pointer;transition:all .2s;width:100%;justify-content:center}.expand-toggle-btn[data-v-2bc65c8b]:hover{background:var(--surface);border-color:var(--water)}@media (max-width: 860px){.water-overview-bar[data-v-2bc65c8b]{grid-template-columns:repeat(3,1fr)}}@media (max-width: 600px){.water-overview-bar[data-v-2bc65c8b]{grid-template-columns:repeat(2,1fr);padding:12px 14px;gap:10px}.water-filter-toolbar[data-v-2bc65c8b]{flex-direction:column;align-items:stretch;gap:10px}.region-tabs[data-v-2bc65c8b]{width:100%;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none}.region-tabs[data-v-2bc65c8b]::-webkit-scrollbar{display:none}.water-search-group[data-v-2bc65c8b]{width:100%;flex-direction:column;align-items:stretch;gap:8px}.status-quick-filters[data-v-2bc65c8b]{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;width:100%;padding-bottom:2px}.status-quick-filters[data-v-2bc65c8b]::-webkit-scrollbar{display:none}.water-search-box[data-v-2bc65c8b]{width:100%}.water-search-input[data-v-2bc65c8b]{width:100%!important}.reservoir-grid[data-v-2bc65c8b]{grid-template-columns:1fr}}.panel-air[data-v-847bec17]{position:relative}.heading-right-group[data-v-847bec17]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.primary-action-btn[data-v-847bec17]{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff;border:none;border-radius:999px;padding:8px 16px;font-size:13px;font-weight:700;cursor:pointer;box-shadow:0 4px 14px #7c3aed59;transition:all .2s cubic-bezier(.4,0,.2,1);text-decoration:none}.primary-action-btn[data-v-847bec17]:hover{transform:translateY(-1px);box-shadow:0 6px 20px #7c3aed73;background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.primary-action-btn[data-v-847bec17]:active{transform:translateY(0)}.air-dot[data-v-847bec17]{background:#8b5cf6!important}.air-summary-strip[data-v-847bec17]{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:16px}.strip-card[data-v-847bec17]{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:12px 16px;display:flex;flex-direction:column;gap:4px}.strip-lbl[data-v-847bec17]{font-size:11px;font-weight:700;color:var(--muted)}.strip-val-row[data-v-847bec17]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.strip-num[data-v-847bec17]{font-size:24px;font-weight:900;line-height:1;letter-spacing:-.03em}.strip-badge[data-v-847bec17]{padding:2px 8px;border-radius:6px;font-size:11px;font-weight:800}.strip-station[data-v-847bec17]{font-size:15px;font-weight:800}.strip-aqi-tag[data-v-847bec17]{padding:2px 6px;border-radius:6px;font-size:11px;font-weight:800}.strip-aqi-tag.good[data-v-847bec17]{background:#10b98126;color:#10b981}.strip-sub[data-v-847bec17]{font-size:12px;color:var(--muted)}.aqi-guide-banner[data-v-847bec17]{display:flex;gap:12px;background:var(--surface-2);border:1px solid var(--line);padding:10px 16px;border-radius:12px;margin-bottom:16px;flex-wrap:wrap}.guide-item[data-v-847bec17]{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700}.guide-item .dot[data-v-847bec17]{width:8px;height:8px;border-radius:50%}.guide-item.good .dot[data-v-847bec17]{background:#10b981}.guide-item.normal .dot[data-v-847bec17]{background:#eab308}.guide-item.warn .dot[data-v-847bec17]{background:#f97316}.guide-item.danger .dot[data-v-847bec17]{background:#ef4444}.air-toolbar[data-v-847bec17]{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}.filter-group[data-v-847bec17]{display:flex;align-items:center;gap:6px}.filter-label[data-v-847bec17]{font-size:12px;font-weight:700;color:var(--muted)}.air-filter-chips[data-v-847bec17]{display:flex;gap:4px;flex-wrap:wrap}.air-chip[data-v-847bec17]{background:var(--surface-2);border:1px solid var(--line);padding:5px 10px;border-radius:8px;font-size:12px;font-weight:700;color:var(--muted);cursor:pointer;transition:all .2s}.air-chip.active[data-v-847bec17]{background:var(--air);color:#fff;border-color:var(--air)}.air-search-box[data-v-847bec17]{position:relative;display:flex;align-items:center;margin-left:auto}.search-ico[data-v-847bec17]{position:absolute;left:10px;color:var(--muted)}.air-search-input[data-v-847bec17]{background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:6px 28px 6px 30px;font-size:13px;color:var(--text);outline:none;width:200px;transition:width .2s,border-color .2s}.air-search-input[data-v-847bec17]:focus{width:240px;border-color:var(--air)}.clear-icon[data-v-847bec17]{position:absolute;right:6px;background:none;border:none;color:var(--muted);cursor:pointer}.air-table-container[data-v-847bec17]{overflow-x:auto}.air-table[data-v-847bec17]{display:grid;gap:8px;min-width:700px}.air-head[data-v-847bec17]{display:grid;grid-template-columns:160px 90px 130px 110px 90px 1fr 80px;padding:8px 14px;font-size:12px;font-weight:800;color:var(--muted)}.air-row[data-v-847bec17]{display:grid;grid-template-columns:160px 90px 130px 110px 90px 1fr 80px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);transition:all .15s;cursor:pointer}.interactive-row[data-v-847bec17]:hover{transform:translate(3px);border-color:#8b5cf680;box-shadow:0 4px 12px #8b5cf614}.city-col[data-v-847bec17]{display:flex;align-items:baseline;gap:6px}.city-name[data-v-847bec17]{font-size:15px;font-weight:800}.county-tag[data-v-847bec17]{font-size:12px;color:var(--muted)}.aqi-badge[data-v-847bec17]{display:inline-block;padding:4px 10px;border-radius:6px;font-size:14px;font-weight:900;border:1px solid;letter-spacing:-.02em}.p-val[data-v-847bec17]{font-size:13px;font-weight:700}.p-val small[data-v-847bec17]{font-weight:400;color:var(--muted)}.action-head[data-v-847bec17]{text-align:right}.action-col[data-v-847bec17]{display:flex;justify-content:flex-end}.view-detail-btn[data-v-847bec17]{background:none;border:none;color:#8b5cf6;font-size:12px;font-weight:800;display:inline-flex;align-items:center;gap:2px;cursor:pointer;padding:4px 6px;border-radius:6px}.no-station-found[data-v-847bec17]{text-align:center;padding:30px;color:var(--muted);font-size:14px;background:var(--surface-2);border-radius:12px;border:1px dashed var(--line)}.air-row-main[data-v-847bec17],.air-row-sub[data-v-847bec17]{display:contents}.p-lbl[data-v-847bec17]{display:none}.mobile-expand-bar[data-v-847bec17]{display:flex;justify-content:center;margin-top:16px}.expand-toggle-btn[data-v-847bec17]{display:inline-flex;align-items:center;gap:6px;background:var(--surface-2);border:1px solid var(--line);padding:10px 20px;border-radius:999px;font-size:14px;font-weight:700;color:var(--text);cursor:pointer;transition:all .2s;width:100%;justify-content:center}.expand-toggle-btn[data-v-847bec17]:hover{background:var(--surface);border-color:var(--air)}@media (max-width: 680px){.air-table[data-v-847bec17]{min-width:0}.air-head[data-v-847bec17]{display:none}.air-row[data-v-847bec17]{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border-radius:14px}.air-row-main[data-v-847bec17]{display:flex;justify-content:space-between;align-items:center;width:100%;gap:8px}.city-col[data-v-847bec17]{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.air-row-sub[data-v-847bec17]{display:flex;justify-content:space-between;align-items:center;width:100%;background:var(--surface);padding:8px 10px;border-radius:10px;border:1px solid var(--line);gap:6px}.p-lbl[data-v-847bec17]{display:inline;font-size:10px;color:var(--muted);font-weight:700;margin-right:4px}.pollutant-col[data-v-847bec17]{display:flex;align-items:baseline}.air-toolbar[data-v-847bec17]{flex-direction:column;align-items:stretch;gap:10px}.filter-group[data-v-847bec17]{flex-direction:column;align-items:flex-start;gap:4px;width:100%}.air-filter-chips[data-v-847bec17]{width:100%;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}.air-filter-chips[data-v-847bec17]::-webkit-scrollbar{display:none}.air-search-box[data-v-847bec17]{width:100%;margin-left:0}.air-search-input[data-v-847bec17]{width:100%!important}.air-summary-strip[data-v-847bec17]{grid-template-columns:repeat(2,1fr)}}.high-rate[data-v-f75ce4f0]{color:#10b981!important;font-weight:800}.formula-btn[data-v-f75ce4f0]{background:none;border:none;cursor:pointer;padding:2px 4px;display:flex;align-items:center;justify-content:center;color:var(--muted);transition:color .2s;outline:none}.formula-btn[data-v-f75ce4f0]:hover{color:var(--text)}.formula-display[data-v-f75ce4f0]{margin-top:8px;padding:10px;background:#94a3b814;border-radius:6px;font-size:12px;line-height:1.5}.formula-label[data-v-f75ce4f0]{font-weight:800;margin:0 0 4px;color:var(--muted)}.formula-text[data-v-f75ce4f0]{margin:0;color:var(--muted)}.modal-footer[data-v-f75ce4f0]{position:sticky;bottom:0;z-index:30;background:var(--surface-elevated)}@media (max-width: 680px){.unit-list-container[data-v-f75ce4f0]{max-height:none!important;overflow-y:visible!important;min-height:320px!important;padding:10px 14px 40px!important}.modal-footer[data-v-f75ce4f0]{display:none!important}}.water-gauge-container[data-v-a9fb6f37]{display:flex;justify-content:center;align-items:center;padding:12px}.water-orb[data-v-a9fb6f37]{position:relative;width:170px;height:170px;border-radius:50%;overflow:hidden;border:4px solid rgba(8,145,178,.35);box-shadow:0 0 35px #0891b240,inset 0 0 25px #0891b233;background:#0891b214;display:flex;align-items:center;justify-content:center}.water-orb.good[data-v-a9fb6f37]{border-color:#10b98173;box-shadow:0 0 30px #10b98140}.water-orb.warn[data-v-a9fb6f37]{border-color:#f59e0b73;box-shadow:0 0 30px #f59e0b40}.water-orb.danger[data-v-a9fb6f37]{border-color:#ef444473;box-shadow:0 0 30px #ef444440}.water-wave-fill[data-v-a9fb6f37]{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(180deg,#0891b2b3,#2563ebd9);transition:height .8s cubic-bezier(.4,0,.2,1)}.water-orb.good .water-wave-fill[data-v-a9fb6f37]{background:linear-gradient(180deg,#10b981bf,#059669e6)}.water-orb.warn .water-wave-fill[data-v-a9fb6f37]{background:linear-gradient(180deg,#f59e0bbf,#d97706e6)}.water-orb.danger .water-wave-fill[data-v-a9fb6f37]{background:linear-gradient(180deg,#ef4444bf,#b91c1ce6)}.wave-crest[data-v-a9fb6f37]{position:absolute;top:-12px;width:200%;height:24px;background:radial-gradient(ellipse at center,rgba(255,255,255,.4) 0%,transparent 70%);animation:waveMotion-a9fb6f37 4s ease-in-out infinite alternate}@keyframes waveMotion-a9fb6f37{0%{transform:translate(-20%)}to{transform:translate(0)}}.gauge-center-content[data-v-a9fb6f37]{position:relative;z-index:2;text-align:center;display:flex;flex-direction:column;align-items:center;text-shadow:0 2px 8px rgba(0,0,0,.6);color:#fff}.gauge-label[data-v-a9fb6f37]{font-size:11px;letter-spacing:.08em;opacity:.9;font-weight:600}.gauge-val[data-v-a9fb6f37]{font-size:38px;font-weight:900;line-height:1.1;letter-spacing:-.04em}.gauge-val small[data-v-a9fb6f37]{font-size:20px;margin-left:2px}.gauge-status[data-v-a9fb6f37]{font-size:13px;font-weight:700;background:#0000004d;padding:2px 10px;border-radius:999px;margin-top:4px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@media (max-width: 640px){.modal-header[data-v-a9fb6f37]{flex-direction:column;align-items:flex-start;gap:12px}.header-actions[data-v-a9fb6f37]{width:100%;justify-content:space-between}.water-hero-section[data-v-a9fb6f37]{grid-template-columns:1fr;text-align:center;gap:16px}.water-metrics-grid[data-v-a9fb6f37]{grid-template-columns:repeat(2,1fr);gap:10px}.reservoir-quick-select[data-v-a9fb6f37]{flex-direction:column;align-items:stretch;gap:6px}.res-select-input[data-v-a9fb6f37]{width:100%}.other-res-chips[data-v-a9fb6f37]{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px}.other-res-chips[data-v-a9fb6f37]::-webkit-scrollbar{display:none}}.air-modal-dialog[data-v-880924ff]{max-width:1100px;width:95vw;max-height:calc(100vh - 48px);display:flex;flex-direction:column;overflow:hidden;border-radius:24px}.modal-header[data-v-880924ff]{flex-shrink:0;border-bottom:1px solid var(--line);align-items:flex-start;gap:16px;position:relative}.modal-header-title[data-v-880924ff]{display:flex;flex-direction:column;gap:6px;min-width:0}.modal-header-title h2[data-v-880924ff]{font-size:20px;font-weight:800;margin:0;line-height:1.3}.modal-header-actions[data-v-880924ff]{display:flex;align-items:center;gap:12px;flex-shrink:0}.modal-body-scroll[data-v-880924ff]{overflow-y:auto;padding:24px 28px;flex:1;min-height:0;overscroll-behavior:contain}.modal-body-scroll[data-v-880924ff]::-webkit-scrollbar{width:6px}.modal-body-scroll[data-v-880924ff]::-webkit-scrollbar-track{background:transparent}.modal-body-scroll[data-v-880924ff]::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:999px}.modal-body-scroll[data-v-880924ff]::-webkit-scrollbar-thumb:hover{background:var(--muted)}.air-tag[data-v-880924ff]{background:#8b5cf626!important;color:#a78bfa!important;border-color:#8b5cf64d!important}.site-publishtime[data-v-880924ff]{font-size:13px;color:var(--muted)}.nav-btn-group[data-v-880924ff]{display:inline-flex;align-items:center;gap:4px;background:var(--surface-2);border:1px solid var(--line);padding:4px 8px;border-radius:10px}.nav-btn[data-v-880924ff]{background:none;border:none;color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:4px;border-radius:6px;transition:background .2s}.nav-btn[data-v-880924ff]:hover{background:var(--surface)}.nav-counter[data-v-880924ff]{font-size:12px;font-weight:700;color:var(--muted);padding:0 4px}.air-detail-grid[data-v-880924ff]{display:grid;grid-template-columns:1.4fr 1fr;gap:20px}@media (max-width: 860px){.air-detail-grid[data-v-880924ff]{grid-template-columns:1fr}}.air-primary-column[data-v-880924ff]{display:flex;flex-direction:column;gap:20px}.aqi-hero-card[data-v-880924ff]{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:20px}.aqi-main-display[data-v-880924ff]{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.aqi-circle[data-v-880924ff]{width:110px;height:110px;border-radius:50%;border:3px solid;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0}.aqi-num[data-v-880924ff]{font-size:38px;font-weight:900;line-height:1;letter-spacing:-.04em}.aqi-lbl[data-v-880924ff]{font-size:11px;font-weight:700;color:var(--muted);margin-top:4px;letter-spacing:.05em}.aqi-meta[data-v-880924ff]{display:flex;flex-direction:column;gap:6px;flex:1}.aqi-status-pill[data-v-880924ff]{align-self:flex-start;padding:4px 12px;border-radius:20px;font-size:13px;font-weight:800;margin-bottom:4px}.meta-row[data-v-880924ff]{display:flex;justify-content:space-between;font-size:13px;border-bottom:1px dashed var(--line);padding-bottom:4px}.meta-label[data-v-880924ff]{color:var(--muted)}.coord-val[data-v-880924ff]{font-size:12px;font-family:monospace;color:var(--muted)}.health-guide-box[data-v-880924ff]{background:var(--surface-2);border-left:4px solid;border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:8px}.health-guide-title[data-v-880924ff]{display:flex;align-items:center;gap:8px;font-size:14px}.advice-item[data-v-880924ff]{font-size:12px;line-height:1.5}.advice-role[data-v-880924ff]{font-weight:800;color:var(--text)}.advice-item p[data-v-880924ff]{margin:2px 0 0;color:var(--muted)}.pollutant-matrix-card[data-v-880924ff]{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px}.pollutant-matrix-card h3[data-v-880924ff]{font-size:15px;font-weight:800;display:flex;align-items:center;gap:8px;margin-bottom:16px}.pollutant-grid[data-v-880924ff]{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px}.pollutant-tile[data-v-880924ff]{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:4px}.p-name[data-v-880924ff]{font-size:12px;font-weight:700;color:var(--muted)}.p-value-row[data-v-880924ff]{display:flex;align-items:baseline;gap:4px}.p-value-row strong[data-v-880924ff]{font-size:22px;font-weight:800;letter-spacing:-.02em}.p-value-row small[data-v-880924ff],.p-sub[data-v-880924ff]{font-size:11px;color:var(--muted)}.station-list-card[data-v-880924ff]{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:14px;height:100%}.station-list-header[data-v-880924ff]{display:flex;flex-direction:column;gap:10px}.station-list-header h3[data-v-880924ff]{font-size:15px;font-weight:800}.station-search-box[data-v-880924ff]{position:relative;display:flex;align-items:center}.station-search-box .search-ico[data-v-880924ff]{position:absolute;left:10px;color:var(--muted)}.station-search-input[data-v-880924ff]{width:100%;background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:6px 12px 6px 30px;font-size:13px;color:var(--text);outline:none;transition:border-color .2s}.station-search-input[data-v-880924ff]:focus{border-color:#8b5cf6}.region-chips[data-v-880924ff]{display:flex;gap:6px;flex-wrap:wrap}.reg-chip[data-v-880924ff]{background:var(--surface-2);border:1px solid var(--line);padding:4px 10px;border-radius:6px;font-size:12px;font-weight:700;color:var(--muted);cursor:pointer;transition:all .2s}.reg-chip.active[data-v-880924ff]{background:#8b5cf6;color:#fff;border-color:#8b5cf6}.stations-quick-list[data-v-880924ff]{max-height:480px;overflow-y:auto;display:flex;flex-direction:column;gap:6px;padding-right:4px}.station-item-row[data-v-880924ff]{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);text-align:left;cursor:pointer;transition:all .15s}.station-item-row[data-v-880924ff]:hover{border-color:#8b5cf666;transform:translate(2px)}.station-item-row.active[data-v-880924ff]{border-color:#8b5cf6;background:#8b5cf61f}.st-info[data-v-880924ff]{display:flex;flex-direction:column;gap:2px}.st-name[data-v-880924ff]{font-size:14px;font-weight:800}.st-county[data-v-880924ff]{font-size:12px;color:var(--muted)}.st-metrics[data-v-880924ff]{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.st-aqi-pill[data-v-880924ff]{padding:2px 8px;border-radius:6px;font-size:12px;font-weight:800;border:1px solid}.st-level-label[data-v-880924ff]{font-size:11px;color:var(--muted)}@media (max-width: 640px){.modal-header[data-v-880924ff]{flex-direction:column}.modal-header-actions[data-v-880924ff]{width:100%;justify-content:space-between}.air-modal-dialog[data-v-880924ff]{width:100%;max-height:92vh;border-radius:20px 20px 10px 10px}.modal-body-scroll[data-v-880924ff]{padding:14px}.aqi-main-display[data-v-880924ff]{flex-direction:column;align-items:center;text-align:center;gap:16px}.aqi-meta[data-v-880924ff]{width:100%}.aqi-status-pill[data-v-880924ff]{align-self:center}.pollutant-grid[data-v-880924ff]{grid-template-columns:repeat(2,1fr);gap:8px}.region-chips[data-v-880924ff]{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;width:100%;padding-bottom:4px}.region-chips[data-v-880924ff]::-webkit-scrollbar{display:none}.stations-quick-list[data-v-880924ff]{max-height:280px}}.about-modal-dialog[data-v-c171d1a3]{max-width:780px;width:92vw;max-height:calc(100vh - 48px);display:flex;flex-direction:column;overflow:hidden;border-radius:24px}.modal-header[data-v-c171d1a3]{flex-shrink:0;border-bottom:1px solid var(--line);align-items:flex-start;gap:16px;position:relative}.modal-header-title[data-v-c171d1a3]{display:flex;flex-direction:column;gap:6px;min-width:0}.modal-header-title h2[data-v-c171d1a3]{font-size:20px;font-weight:800;margin:0;line-height:1.3}.modal-body-scroll[data-v-c171d1a3]{overflow-y:auto;padding:24px 28px;flex:1;min-height:0;overscroll-behavior:contain}.modal-body-scroll[data-v-c171d1a3]::-webkit-scrollbar{width:6px}.modal-body-scroll[data-v-c171d1a3]::-webkit-scrollbar-track{background:transparent}.modal-body-scroll[data-v-c171d1a3]::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:999px}.modal-body-scroll[data-v-c171d1a3]::-webkit-scrollbar-thumb:hover{background:var(--muted)}.about-tag[data-v-c171d1a3]{background:#2563eb1f!important;color:var(--power)!important;border-color:#2563eb40!important}.app-subtitle[data-v-c171d1a3]{font-size:13px;color:var(--muted)}.about-grid[data-v-c171d1a3]{display:flex;flex-direction:column;gap:18px}.about-card[data-v-c171d1a3]{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:var(--shadow-sm)}.card-icon-title[data-v-c171d1a3]{display:flex;align-items:center;gap:14px;margin-bottom:16px}.icon-circle[data-v-c171d1a3]{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.icon-circle.author-ico[data-v-c171d1a3]{background:#2563eb1f;color:var(--power)}.icon-circle.data-ico[data-v-c171d1a3]{background:#0891b21f;color:var(--water)}.icon-circle.alert-ico[data-v-c171d1a3]{background:#f59e0b1f;color:#f59e0b}.card-icon-title h3[data-v-c171d1a3]{font-size:16px;font-weight:800;margin:0}.card-sub[data-v-c171d1a3]{font-size:12px;color:var(--muted);margin:2px 0 0}.author-details[data-v-c171d1a3]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:16px}.detail-item[data-v-c171d1a3]{display:flex;flex-direction:column;gap:4px}.detail-label[data-v-c171d1a3]{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase}.author-name[data-v-c171d1a3]{font-size:16px;font-weight:900;color:var(--text)}.email-row[data-v-c171d1a3]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.email-link[data-v-c171d1a3]{display:inline-flex;align-items:center;gap:6px;color:var(--power);font-size:13px;font-weight:700;text-decoration:none;transition:opacity .2s}.email-link[data-v-c171d1a3]:hover{text-decoration:underline;opacity:.85}.copy-btn[data-v-c171d1a3]{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:3px 8px;font-size:11px;font-weight:700;color:var(--text);display:inline-flex;align-items:center;gap:4px;cursor:pointer;transition:all .2s}.copy-btn[data-v-c171d1a3]:hover{border-color:var(--power)}.date-row[data-v-c171d1a3]{display:flex;align-items:center;gap:8px;font-size:13px}.badge-live[data-v-c171d1a3]{background:#10b9811f;color:#10b981;border:1px solid rgba(16,185,129,.25);padding:1px 6px;border-radius:4px;font-size:10px;font-weight:800}.data-content[data-v-c171d1a3]{display:flex;flex-direction:column;gap:12px}.data-desc[data-v-c171d1a3]{font-size:13px;line-height:1.6;color:var(--text);margin:0}.source-links-box[data-v-c171d1a3]{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:10px}.source-item[data-v-c171d1a3]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}.source-name[data-v-c171d1a3]{font-size:13px;font-weight:800}.source-url[data-v-c171d1a3]{display:inline-flex;align-items:center;gap:4px;color:var(--water);font-size:13px;font-weight:700;text-decoration:none}.source-url[data-v-c171d1a3]:hover{text-decoration:underline}.agency-chips[data-v-c171d1a3]{display:flex;gap:6px;flex-wrap:wrap}.agency-chip[data-v-c171d1a3]{background:var(--surface);border:1px solid var(--line);padding:4px 10px;border-radius:6px;font-size:11px;font-weight:700;color:var(--muted)}.disclaimer-card[data-v-c171d1a3]{border-left:4px solid #f59e0b}.disclaimer-text-box[data-v-c171d1a3]{font-size:13px;line-height:1.65;color:var(--text)}.disclaimer-list[data-v-c171d1a3]{padding-left:18px;margin:0;display:flex;flex-direction:column;gap:8px}.disclaimer-list li[data-v-c171d1a3],.disclaimer-list strong[data-v-c171d1a3]{color:var(--text)}.modal-bottom-bar[data-v-c171d1a3]{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-top:1px solid var(--line);background:var(--surface-2);border-radius:0 0 20px 20px}.app-version-text[data-v-c171d1a3]{font-size:12px;color:var(--muted)}.primary-close-btn[data-v-c171d1a3]{background:var(--power);color:#fff;border:none;padding:8px 18px;border-radius:10px;font-size:13px;font-weight:800;cursor:pointer;transition:opacity .2s,transform .15s}.primary-close-btn[data-v-c171d1a3]:hover{opacity:.9;transform:translateY(-1px)}@media (max-width: 640px){.modal-header[data-v-c171d1a3]{flex-direction:column}.about-modal-dialog[data-v-c171d1a3]{width:100%;max-height:92vh;border-radius:20px 20px 10px 10px}.modal-body-scroll[data-v-c171d1a3]{padding:16px}.about-card[data-v-c171d1a3]{padding:16px;border-radius:14px}.author-details[data-v-c171d1a3]{grid-template-columns:1fr;gap:10px;padding:12px}.modal-bottom-bar[data-v-c171d1a3]{flex-direction:column;align-items:stretch;gap:10px;padding:14px 16px}.primary-close-btn[data-v-c171d1a3]{width:100%;padding:10px 16px;font-size:14px;min-height:44px}.app-version-text[data-v-c171d1a3]{text-align:center}}.error-notification[data-v-c8dc89ab]{display:flex;align-items:center;gap:10px;background:#ef44441f;color:#ef4444;border:1px solid rgba(239,68,68,.25);border-radius:14px;padding:12px 18px;margin-bottom:20px;font-size:14px}.retry-btn[data-v-c8dc89ab]{margin-left:auto;background:#ef444433;border:1px solid rgba(239,68,68,.4);color:#ef4444;padding:4px 12px;border-radius:999px;font-weight:700;cursor:pointer}.initial-loading-card[data-v-c8dc89ab]{text-align:center;padding:60px 20px;background:var(--surface);border:1px solid var(--line);border-radius:24px;display:flex;flex-direction:column;align-items:center;gap:12px}.initial-loading-card h3[data-v-c8dc89ab]{font-size:20px;font-weight:800;margin-top:8px}.initial-loading-card p[data-v-c8dc89ab]{color:var(--muted);font-size:14px}.interactive-hero[data-v-c8dc89ab]{cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);outline:none}.interactive-hero[data-v-c8dc89ab]:hover,.interactive-hero[data-v-c8dc89ab]:focus-visible{transform:translateY(-4px);box-shadow:0 16px 36px #0000001f}.interactive-hero.power[data-v-c8dc89ab]:hover{border-color:#2563eb80}.interactive-hero.water[data-v-c8dc89ab]:hover{border-color:#0891b280}.interactive-hero.air[data-v-c8dc89ab]:hover{border-color:#7c3aed80}.hero-top-row[data-v-c8dc89ab]{display:flex;justify-content:space-between;align-items:center}.hero-title[data-v-c8dc89ab]{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--muted)}.hero-action-hint[data-v-c8dc89ab]{display:inline-flex;align-items:center;gap:3px;font-size:12px;font-weight:700;opacity:.85;transition:transform .2s}.interactive-hero:hover .hero-action-hint[data-v-c8dc89ab]{transform:translate(3px) translateY(-1px);opacity:1}.hero-main-stat[data-v-c8dc89ab]{display:flex;flex-direction:column;gap:4px;margin:12px 0}.hero-val[data-v-c8dc89ab]{font-size:34px;font-weight:900;letter-spacing:-.04em}.hero-sub[data-v-c8dc89ab]{font-size:13px;color:var(--muted)}.hero-footer-bar[data-v-c8dc89ab]{font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:10px}.app-footer[data-v-c8dc89ab]{margin-top:48px;border-top:1px solid var(--line);padding:32px 0 24px}.footer-inner[data-v-c8dc89ab]{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;flex-wrap:wrap}.footer-left[data-v-c8dc89ab]{display:flex;flex-direction:column;gap:8px}.footer-brand[data-v-c8dc89ab]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.footer-title[data-v-c8dc89ab]{font-size:15px;font-weight:800;color:var(--text)}.footer-badge[data-v-c8dc89ab]{background:var(--surface-2);border:1px solid var(--line);padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;color:var(--muted)}.footer-meta-line[data-v-c8dc89ab]{font-size:13px;color:var(--muted);margin:0}.footer-link[data-v-c8dc89ab]{color:var(--power);text-decoration:none;font-weight:600;transition:opacity .2s}.footer-link[data-v-c8dc89ab]:hover{text-decoration:underline;opacity:.85}.footer-right[data-v-c8dc89ab]{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.footer-about-btn[data-v-c8dc89ab]{display:inline-flex;align-items:center;gap:8px;background:var(--surface-2);border:1px solid var(--line);padding:8px 16px;border-radius:10px;font-size:13px;font-weight:800;color:var(--text);cursor:pointer;transition:all .2s}.footer-about-btn[data-v-c8dc89ab]:hover{border-color:var(--power);background:var(--surface);transform:translateY(-1px)}.footer-license-note[data-v-c8dc89ab]{font-size:12px;color:var(--muted);margin:0;max-width:320px;line-height:1.5}:root{color-scheme:light;--bg: #f3f6fc;--surface: rgba(255, 255, 255, .88);--surface-2: #ffffff;--surface-elevated: #ffffff;--text: #0f172a;--text-secondary: #334155;--muted: #64748b;--line: rgba(15, 23, 42, .08);--line-strong: rgba(15, 23, 42, .16);--shadow-sm: 0 2px 8px rgba(15, 23, 42, .04);--shadow: 0 16px 36px rgba(15, 23, 42, .07);--shadow-lg: 0 25px 60px rgba(15, 23, 42, .15);--good: #10b981;--normal: #0891b2;--warn: #f59e0b;--danger: #ef4444;--power: #2563eb;--power-light: #3b82f6;--water: #0891b2;--water-light: #06b6d4;--air: #8b5cf6;--air-light: #a78bfa;--fuel-gas: #0284c7;--fuel-coal: #64748b;--fuel-solar: #f59e0b;--fuel-wind: #14b8a6;--fuel-hydro: #0284c7;--fuel-nuclear: #8b5cf6;--fuel-storage: #10b981}:root.dark{color-scheme:dark;--bg: #090d16;--surface: rgba(17, 24, 39, .82);--surface-2: #111827;--surface-elevated: #1a2236;--text: #f8fafc;--text-secondary: #cbd5e1;--muted: #94a3b8;--line: rgba(255, 255, 255, .08);--line-strong: rgba(255, 255, 255, .18);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .25);--shadow: 0 18px 45px rgba(0, 0, 0, .35);--shadow-lg: 0 30px 70px rgba(0, 0, 0, .55);--fuel-gas: #38bdf8;--fuel-coal: #94a3b8;--fuel-solar: #fbbf24;--fuel-wind: #2dd4bf;--fuel-hydro: #38bdf8;--fuel-nuclear: #c084fc;--fuel-storage: #34d399}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans TC,PingFang TC,Microsoft JhengHei,sans-serif;background:radial-gradient(ellipse 60% 40% at 10% 0%,rgba(37,99,235,.12),transparent 60%),radial-gradient(ellipse 50% 35% at 90% 10%,rgba(8,145,178,.12),transparent 50%),radial-gradient(ellipse 40% 30% at 50% 90%,rgba(139,92,246,.08),transparent 60%),var(--bg);background-attachment:fixed;color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased}button{font:inherit}.app-shell{width:min(1200px,calc(100% - 36px));margin:0 auto;padding:36px 0 64px}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:28px}h1,h2,h3,h4,p{margin:0}h1{font-size:clamp(26px,3.8vw,42px);letter-spacing:-.04em;font-weight:900}h2{display:flex;align-items:center;gap:10px;font-size:22px;font-weight:800;letter-spacing:-.02em}.eyebrow{color:var(--power);font-weight:800;font-size:11px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:4px}.sub-muted{color:var(--muted);font-size:13px;margin-top:4px}.actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.icon-btn{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:999px;padding:8px 16px;display:inline-flex;gap:8px;align-items:center;cursor:pointer;box-shadow:var(--shadow-sm);font-size:13px;font-weight:700;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .2s cubic-bezier(.4,0,.2,1)}.icon-btn:hover{transform:translateY(-2px);border-color:var(--line-strong);box-shadow:var(--shadow)}.icon-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.spinning{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.hero-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:24px}.hero-card,.panel,.metric-card{border:1px solid var(--line);background:var(--surface);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow);border-radius:24px}.hero-card{padding:24px;min-height:160px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;position:relative}.hero-card:after{content:"";position:absolute;width:200px;height:200px;border-radius:50%;right:-80px;top:-80px;opacity:.12;background:currentColor;pointer-events:none;filter:blur(20px)}.hero-card.power{color:var(--power)}.hero-card.water{color:var(--water)}.hero-card.air{color:var(--air)}.panel{padding:26px;margin-top:24px}.panel-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:20px;flex-wrap:wrap}.panel-title-area{display:flex;flex-direction:column}.heading-right-group{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.primary-action-btn{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff!important;border:none;border-radius:999px;padding:8px 16px;font-size:13px;font-weight:700;cursor:pointer;box-shadow:0 4px 14px #2563eb59;transition:all .2s cubic-bezier(.4,0,.2,1);text-decoration:none;line-height:1.4}.primary-action-btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px #2563eb73;background:linear-gradient(135deg,#3b82f6,#2563eb)}.primary-action-btn:active{transform:translateY(0)}.primary-action-btn.water-btn{background:linear-gradient(135deg,#0891b2,#0284c7)!important;box-shadow:0 4px 14px #0891b259!important}.primary-action-btn.water-btn:hover{background:linear-gradient(135deg,#06b6d4,#0891b2)!important;box-shadow:0 6px 20px #0891b273!important}.primary-action-btn.air-btn{background:linear-gradient(135deg,#7c3aed,#6d28d9)!important;box-shadow:0 4px 14px #7c3aed59!important}.primary-action-btn.air-btn:hover{background:linear-gradient(135deg,#8b5cf6,#7c3aed)!important;box-shadow:0 6px 20px #7c3aed73!important}.status,.status-pill{padding:6px 12px;border-radius:999px;font-size:13px;font-weight:800;display:inline-flex;align-items:center;gap:8px;background:#94a3b824}.status-pulse-dot{width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor;animation:pulseDot 1.8s ease-in-out infinite}@keyframes pulseDot{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.4);opacity:.4}}.pill{padding:4px 10px;border-radius:999px;font-size:12px;font-weight:800;background:#94a3b824;white-space:nowrap}.good,.text-good{color:var(--good)}.normal{color:var(--normal)}.warn,.text-warn{color:var(--warn)}.danger,.text-danger{color:var(--danger)}.power,.text-power{color:var(--power)}.water,.text-water{color:var(--water)}.air,.text-air{color:var(--air)}.status.good,.status-pill.good{background:#10b98124;color:#10b981}.status.warn,.status-pill.warn{background:#f59e0b24;color:#f59e0b}.status.danger,.status-pill.danger{background:#ef444424;color:#ef4444}.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.metric-card{padding:20px;background:var(--surface-2);transition:transform .2s}.metric-card:hover{transform:translateY(-2px)}.metric-title{color:var(--muted);font-weight:700;font-size:13px}.metric-value{margin-top:10px;font-size:28px;font-weight:900;letter-spacing:-.04em}.metric-value span{font-size:14px;color:var(--muted);letter-spacing:0;margin-left:2px}.metric-note{color:var(--muted);margin-top:8px;font-size:12px}.bar{height:10px;border-radius:999px;background:#94a3b833;overflow:hidden}.bar.large{height:12px}.bar i{display:block;height:100%;border-radius:inherit;background:currentColor;transition:width .6s cubic-bezier(.4,0,.2,1)}.bar-gas{background:linear-gradient(90deg,#0284c7,#38bdf8)!important}.bar-coal{background:linear-gradient(90deg,#475569,#94a3b8)!important}.bar-solar{background:linear-gradient(90deg,#d97706,#fbbf24)!important}.bar-wind{background:linear-gradient(90deg,#0d9488,#2dd4bf)!important}.bar-hydro{background:linear-gradient(90deg,#0369a1,#38bdf8)!important}.bar-nuclear{background:linear-gradient(90deg,#7c3aed,#c084fc)!important}.bar-green{background:linear-gradient(90deg,#059669,#34d399)!important}.bar-other{background:linear-gradient(90deg,#6b7280,#9ca3af)!important}.fuel-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:6px;font-size:11px;font-weight:800;letter-spacing:.02em}.fuel-gas{background:#0284c726;color:#0284c7}.fuel-coal{background:#64748b26;color:#64748b}.fuel-solar{background:#f59e0b26;color:#d97706}.fuel-wind{background:#14b8a626;color:#0d9488}.fuel-hydro{background:#0284c726;color:#0284c7}.fuel-nuclear{background:#8b5cf626;color:#8b5cf6}.fuel-storage{background:#10b98126;color:#10b981}.fuel-other{background:#94a3b826;color:#64748b}:root.dark .fuel-gas{color:#38bdf8}:root.dark .fuel-coal{color:#cbd5e1}:root.dark .fuel-solar{color:#fbbf24}:root.dark .fuel-wind{color:#2dd4bf}:root.dark .fuel-hydro{color:#38bdf8}:root.dark .fuel-nuclear{color:#c084fc}:root.dark .fuel-storage{color:#34d399}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000ad;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:24px}.modal-dialog{background:var(--surface-elevated);border:1px solid var(--line-strong);border-radius:28px;width:100%;max-height:calc(100vh - 48px);overflow-y:auto;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;position:relative}.modal-xl{max-width:1060px}.modal-lg{max-width:860px}.modal-fade-enter-active,.modal-fade-leave-active{transition:opacity .25s ease,transform .25s cubic-bezier(.4,0,.2,1)}.modal-fade-enter-from,.modal-fade-leave-to{opacity:0}.modal-fade-enter-from .modal-dialog,.modal-fade-leave-to .modal-dialog{transform:scale(.96) translateY(12px)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 28px 20px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--surface-elevated);z-index:10}.header-left{display:flex;align-items:center;gap:16px}.header-icon-wrap{width:48px;height:48px;border-radius:16px;display:flex;align-items:center;justify-content:center}.power-glow{background:#2563eb1f;color:var(--power);box-shadow:0 0 20px #2563eb33}.water-glow{background:#0891b21f;color:var(--water);box-shadow:0 0 20px #0891b233}.title-row{display:flex;align-items:center;gap:12px}.title-row h2{font-size:20px;font-weight:800}.modal-subtitle{font-size:12px;color:var(--muted);margin-top:4px}.modal-close-btn{background:var(--surface);border:1px solid var(--line);color:var(--text);width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.modal-close-btn:hover{background:var(--line);transform:rotate(90deg)}.modal-stats-banner{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:20px 28px;background:var(--surface);border-bottom:1px solid var(--line)}.banner-stat{display:flex;flex-direction:column;gap:4px}.banner-stat .label{font-size:12px;color:var(--muted);font-weight:600}.banner-stat strong{font-size:24px;font-weight:900;letter-spacing:-.02em}.banner-stat strong small{font-size:13px;font-weight:600;color:var(--muted)}.banner-stat .sub{font-size:12px;color:var(--muted)}.text-green{color:#10b981}.modal-filter-row{padding:16px 28px 8px}.fuel-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px}.fuel-tab{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;background:var(--surface);border:1px solid var(--line);color:var(--muted);font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;transition:all .2s}.fuel-tab:hover{color:var(--text);border-color:var(--line-strong)}.fuel-tab.active{background:var(--power);color:#fff;border-color:var(--power);box-shadow:0 4px 12px #2563eb4d}.tab-count{font-size:11px;background:#00000026;padding:1px 6px;border-radius:999px}.modal-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:8px 28px 16px;flex-wrap:wrap}.search-wrap{position:relative;display:flex;align-items:center;flex:1;min-width:260px}.search-wrap .search-icon{position:absolute;left:12px;color:var(--muted);pointer-events:none}.search-input{width:100%;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:9px 34px 9px 38px;font-size:13px;color:var(--text);outline:none;transition:border-color .2s,box-shadow .2s}.search-input:focus{border-color:var(--power);box-shadow:0 0 0 3px #2563eb1f}.clear-btn{position:absolute;right:10px;background:none;border:none;color:var(--muted);cursor:pointer;padding:2px}.filter-controls{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.tool-label{font-size:12px;color:var(--muted);font-weight:700;margin-right:4px}.status-select-wrap,.sort-wrap{display:flex;align-items:center;gap:6px}.pill-filter-btn,.sort-btn{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:6px 10px;font-size:12px;font-weight:700;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;gap:4px;transition:all .2s}.pill-filter-btn.active,.sort-btn.active{background:var(--text);color:var(--bg);border-color:var(--text)}.list-summary-bar{display:flex;justify-content:space-between;align-items:center;padding:8px 28px;font-size:12px;color:var(--muted);border-top:1px solid var(--line);background:var(--surface)}.list-summary-bar strong{color:var(--text)}.sum-mw strong{color:var(--power)}.unit-list-container{padding:16px 28px 24px;flex:1}.unit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px}.unit-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:10px;transition:transform .2s,border-color .2s}.unit-card:hover{transform:translateY(-2px);border-color:var(--line-strong)}.unit-offline{opacity:.72}.unit-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.unit-title-box{display:flex;flex-direction:column;gap:4px}.unit-name{font-size:15px;font-weight:800;display:flex;align-items:center;gap:4px}.note-icon{color:var(--muted);cursor:help;transition:color .2s}.note-icon:hover{color:var(--text)}.unit-status-tag{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:800;padding:3px 8px;border-radius:6px;white-space:nowrap}.badge-online{background:#10b9811f;color:#10b981}.badge-maintenance{background:#f59e0b1f;color:#f59e0b}.badge-offline{background:#94a3b826;color:var(--muted)}.unit-metrics{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.metric-col{display:flex;flex-direction:column;gap:2px}.text-right{text-align:right}.m-label{font-size:11px;color:var(--muted)}.m-val{font-size:13px;font-weight:800}.m-val.highlight{color:var(--power)}.m-val.rate{color:var(--muted)}.m-val small{font-weight:400;color:var(--muted);font-size:10px}.load-bar-wrap{height:6px;border-radius:999px;background:#94a3b833;overflow:hidden}.load-bar-fill{height:100%;border-radius:inherit;transition:width .4s ease}.unit-note{font-size:11px;color:var(--muted);background:#94a3b814;padding:4px 8px;border-radius:6px}.empty-state{text-align:center;padding:48px 20px;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:12px}.reset-filter-btn{background:var(--power);color:#fff;border:none;padding:6px 16px;border-radius:999px;font-size:13px;font-weight:700;cursor:pointer}.modal-footer{display:flex;justify-content:space-between;align-items:center;padding:14px 28px;border-top:1px solid var(--line);background:var(--surface-elevated);font-size:12px;color:var(--muted);position:sticky;bottom:0;z-index:10;box-shadow:0 -4px 16px #00000014}.primary-btn{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border:none;border-radius:999px;padding:8px 20px;font-size:13px;font-weight:700;cursor:pointer;box-shadow:0 4px 14px #2563eb59;transition:transform .2s}.primary-btn:hover{transform:translateY(-1px)}.header-actions{display:flex;align-items:center;gap:12px}.reservoir-stepper{display:flex;align-items:center;gap:6px;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:2px 6px}.step-btn{background:none;border:none;color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:4px}.step-btn:hover{color:var(--text)}.step-label{font-size:12px;font-weight:700;color:var(--muted);padding:0 4px}.region-pill{font-size:11px;font-weight:800;color:var(--water);background:#0891b21f;padding:2px 8px;border-radius:999px}.reservoir-quick-select{padding:12px 28px;background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted)}.res-select-input{background:var(--surface-2);border:1px solid var(--line);color:var(--text);padding:6px 12px;border-radius:8px;font-size:13px;font-weight:700;outline:none;cursor:pointer;flex:1;max-width:400px}.water-hero-section{display:grid;grid-template-columns:240px 1fr;gap:24px;padding:24px 28px;align-items:center;border-bottom:1px solid var(--line)}.water-advice-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:20px;display:flex;flex-direction:column;gap:12px}.advice-header{display:flex;align-items:center;gap:8px}.advice-header h3{font-size:16px;font-weight:800}.advice-text{font-size:14px;line-height:1.6}.advice-details-list{display:flex;flex-direction:column;gap:6px;padding-top:10px;border-top:1px dashed var(--line);font-size:13px}.advice-item{display:flex;align-items:center;gap:8px}.a-label{color:var(--muted)}.water-metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:24px 28px}.w-metric-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:12px}.w-card-head{display:flex;align-items:center;gap:8px}.card-icon{color:var(--water)}.w-card-head h4{font-size:14px;font-weight:800}.w-card-body .main-stat{display:flex;align-items:baseline;gap:6px}.w-card-body .main-stat strong{font-size:26px;font-weight:900;letter-spacing:-.02em}.w-card-body .main-stat span{font-size:12px;color:var(--muted)}.sub-info{font-size:11px;color:var(--muted);margin-top:6px}.mini-bar-track{height:6px;background:#94a3b833;border-radius:999px;overflow:hidden;margin-top:8px}.mini-bar-fill{height:100%;border-radius:inherit}.mini-bar-fill.good{background:#10b981}.mini-bar-fill.normal{background:#0891b2}.mini-bar-fill.warn{background:#f59e0b}.mini-bar-fill.danger{background:#ef4444}.level-ruler{margin-top:8px;display:flex;flex-direction:column;gap:6px}.ruler-line{position:relative;height:10px;background:#94a3b833;border-radius:999px}.ruler-pin{position:absolute;width:4px;height:16px;background:var(--water);top:-3px;border-radius:2px;box-shadow:0 0 6px var(--water)}.ruler-pin span{display:none}.ruler-labels{display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}.flow-compare{display:flex;flex-direction:column;gap:6px}.flow-row{display:flex;justify-content:space-between;align-items:center;font-size:12px}.flow-name{display:inline-flex;align-items:center;gap:4px;color:var(--muted)}.flow-row strong{font-size:14px}.flow-row strong small{font-size:10px;color:var(--muted)}.flow-net-tag{text-align:center;font-size:11px;font-weight:800;padding:3px;border-radius:6px;margin-top:4px}.flow-net-tag.good{background:#10b9811f;color:#10b981}.flow-net-tag.warn{background:#f59e0b1f;color:#f59e0b}.other-reservoirs-section{padding:16px 28px 24px;border-top:1px solid var(--line)}.section-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.section-title-row h4{font-size:14px;font-weight:800}.quick-res-chips{display:flex;flex-wrap:wrap;gap:8px;max-height:140px;overflow-y:auto}.res-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;background:var(--surface);border:1px solid var(--line);color:var(--text);font-size:12px;cursor:pointer;transition:all .2s}.res-chip:hover{transform:translateY(-1px);border-color:var(--water)}.res-chip.active{background:var(--water);color:#fff;border-color:var(--water)}.chip-name{font-weight:700}.chip-rate{font-size:11px;opacity:.9;font-weight:800}@media (max-width: 960px){.topbar{flex-direction:column;align-items:stretch;gap:16px}.actions{justify-content:flex-start;width:100%}.hero-grid{grid-template-columns:1fr;gap:14px}.metrics-grid,.modal-stats-banner{grid-template-columns:repeat(2,1fr)}.water-hero-section{grid-template-columns:1fr;text-align:center}.water-metrics-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.app-shell{width:100%;padding:16px 14px 40px}.main-title{font-size:21px!important;line-height:1.35}.eyebrow-row{flex-wrap:wrap;gap:8px}.meta-row{flex-direction:column;align-items:flex-start;gap:6px}.actions{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;width:100%}.icon-btn{width:100%;justify-content:center;padding:10px 12px;font-size:13px;min-height:44px}.panel{padding:18px 14px;border-radius:20px;margin-top:18px}.panel-heading{flex-direction:column;align-items:flex-start;gap:12px}.heading-right-group{width:100%;justify-content:space-between}.primary-action-btn{min-height:40px;padding:8px 14px;font-size:12px}.hero-card{padding:18px;min-height:135px;border-radius:20px}.hero-val{font-size:28px!important}.metrics-grid{grid-template-columns:1fr;gap:12px}.modal-backdrop{padding:10px 8px;align-items:flex-end}.modal-dialog{max-height:92vh;border-radius:22px 22px 14px 14px;width:100%}.modal-header{padding:16px 18px 14px}.modal-header h2{font-size:17px!important}.modal-close-btn{width:38px;height:38px;min-width:38px}.modal-stats-banner{grid-template-columns:repeat(2,1fr)!important;gap:8px!important;padding:10px 14px!important}.banner-stat{padding:8px 10px;background:var(--surface-2);border-radius:12px;gap:2px}.banner-stat .label{font-size:11px}.banner-stat strong{font-size:16px}.banner-stat .sub{font-size:10px}.water-metrics-grid{grid-template-columns:1fr;gap:10px}.unit-list-container{padding:10px 14px 28px!important;min-height:320px!important;max-height:none!important;overflow-y:visible!important}.unit-grid{grid-template-columns:1fr}.fuel-tabs,.region-tabs,.air-filter-chips{overflow-x:auto;flex-wrap:nowrap!important;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px}.fuel-tabs::-webkit-scrollbar,.region-tabs::-webkit-scrollbar,.air-filter-chips::-webkit-scrollbar{display:none}.modal-toolbar{flex-direction:column;align-items:stretch;gap:10px;padding:8px 16px 14px}.search-wrap{min-width:0;width:100%}.filter-controls{width:100%;justify-content:space-between}.modal-footer{display:none!important}.other-reservoirs-section{padding:14px 16px 36px!important}}@media (max-width: 420px){.actions{grid-template-columns:1fr 1fr;gap:6px}.icon-btn{font-size:12px;padding:8px;gap:6px}.main-title{font-size:19px!important}}
