.TelemetryBackground-module__9ssHta__container{z-index:-1;pointer-events:none;isolation:isolate;position:fixed;inset:0;overflow:hidden}.TelemetryBackground-module__9ssHta__ambientOrb{filter:blur(100px);will-change:transform, opacity;border-radius:9999px;position:absolute}.TelemetryBackground-module__9ssHta__ambientOrbTop{opacity:.45;background:radial-gradient(ellipse at center, color-mix(in srgb, var(--accent-primary) 32%, transparent), transparent 70%);width:720px;height:520px;animation:16s ease-in-out infinite alternate TelemetryBackground-module__9ssHta__orbPulseTop;top:-160px;left:50%;transform:translate(-50%)}.TelemetryBackground-module__9ssHta__ambientOrbLeft{opacity:.36;background:radial-gradient(circle, color-mix(in srgb, var(--reservoir-fill) 28%, transparent), transparent 72%);width:580px;height:580px;animation:22s ease-in-out infinite alternate TelemetryBackground-module__9ssHta__floatOrbLeft;top:10%;left:-120px}.TelemetryBackground-module__9ssHta__ambientOrbRight{opacity:.32;background:radial-gradient(circle, color-mix(in srgb, var(--earthquake-epicenter) 22%, transparent), transparent 70%);width:620px;height:620px;animation:26s ease-in-out infinite alternate TelemetryBackground-module__9ssHta__floatOrbRight;top:25%;right:-140px}.TelemetryBackground-module__9ssHta__ambientOrbCenter{opacity:.28;background:radial-gradient(circle, color-mix(in srgb, var(--accent-primary) 20%, transparent), transparent 68%);width:500px;height:500px;animation:18s ease-in-out infinite alternate TelemetryBackground-module__9ssHta__orbPulseCenter;top:48%;left:42%;transform:translate(-50%,-50%)}.TelemetryBackground-module__9ssHta__dotMatrix{opacity:.42;background-image:radial-gradient(circle at center, color-mix(in srgb, var(--accent-primary) 45%, transparent) 1.2px, transparent 1.2px);background-size:32px 32px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 55% at 50% 40%,#000 25%,#0000 85%);mask-image:radial-gradient(70% 55% at 50% 40%,#000 25%,#0000 85%)}.TelemetryBackground-module__9ssHta__scanBeam{filter:blur(1px);will-change:top, opacity;width:100%;height:2px;position:absolute;left:0}.TelemetryBackground-module__9ssHta__scanBeamDown{opacity:.35;background:linear-gradient(90deg, transparent 0%, color-mix(in srgb, var(--reservoir-fill) 60%, transparent) 30%, var(--accent-primary) 50%, color-mix(in srgb, var(--reservoir-fill) 60%, transparent) 70%, transparent 100%);animation:13s ease-in-out infinite TelemetryBackground-module__9ssHta__scanBeamMoveDown;top:0}.TelemetryBackground-module__9ssHta__scanBeamUp{opacity:.3;background:linear-gradient(90deg, transparent 0%, color-mix(in srgb, var(--earthquake-epicenter) 40%, transparent) 25%, color-mix(in srgb, var(--accent-primary) 80%, transparent) 50%, color-mix(in srgb, var(--earthquake-epicenter) 40%, transparent) 75%, transparent 100%);animation:15s ease-in-out 3.5s infinite TelemetryBackground-module__9ssHta__scanBeamMoveUp;top:100%}.TelemetryBackground-module__9ssHta__crosshair{color:var(--text-muted);opacity:.32;-webkit-user-select:none;user-select:none;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1.15rem;font-weight:300;line-height:1;position:absolute}.TelemetryBackground-module__9ssHta__crosshairTopLeft{top:96px;left:36px}.TelemetryBackground-module__9ssHta__crosshairTopRight{top:96px;right:36px}.TelemetryBackground-module__9ssHta__crosshairBottomLeft{bottom:84px;left:36px}.TelemetryBackground-module__9ssHta__crosshairBottomRight{bottom:84px;right:36px}.TelemetryBackground-module__9ssHta__telemetryNode{place-items:center;width:16px;height:16px;display:grid;position:absolute}.TelemetryBackground-module__9ssHta__telemetryNode1{top:18%;left:12%}.TelemetryBackground-module__9ssHta__telemetryNode2{top:34%;right:14%}.TelemetryBackground-module__9ssHta__telemetryNode3{bottom:22%;left:18%}.TelemetryBackground-module__9ssHta__nodeCore{background:var(--accent-primary);width:5px;height:5px;box-shadow:0 0 8px var(--accent-primary);border-radius:50%}.TelemetryBackground-module__9ssHta__nodePulse{border:1px solid var(--accent-primary);border-radius:50%;animation:3.6s cubic-bezier(.25,.46,.45,.94) infinite TelemetryBackground-module__9ssHta__telemetryPulse;position:absolute;inset:0}.TelemetryBackground-module__9ssHta__telemetryNode2 .TelemetryBackground-module__9ssHta__nodePulse{animation-delay:1.2s}.TelemetryBackground-module__9ssHta__telemetryNode3 .TelemetryBackground-module__9ssHta__nodePulse{animation-delay:2.4s}@keyframes TelemetryBackground-module__9ssHta__orbPulseTop{0%{opacity:.35;transform:translate(-50%)scale(.96)}to{opacity:.55;transform:translate(-50%)scale(1.08)}}@keyframes TelemetryBackground-module__9ssHta__floatOrbLeft{0%{transform:translate(0)scale(1)}50%{transform:translate(40px,30px)scale(1.06)}to{transform:translate(-20px,60px)scale(.94)}}@keyframes TelemetryBackground-module__9ssHta__floatOrbRight{0%{transform:translate(0)scale(1)}50%{transform:translate(-50px,-40px)scale(1.08)}to{transform:translate(30px,-20px)scale(.95)}}@keyframes TelemetryBackground-module__9ssHta__orbPulseCenter{0%{opacity:.2;transform:translate(-50%,-50%)scale(.9)}to{opacity:.35;transform:translate(-48%,-52%)scale(1.1)}}@keyframes TelemetryBackground-module__9ssHta__scanBeamMoveDown{0%{opacity:0;top:0%}15%{opacity:.42}85%{opacity:.42}to{opacity:0;top:100%}}@keyframes TelemetryBackground-module__9ssHta__scanBeamMoveUp{0%{opacity:0;top:100%}15%{opacity:.38}85%{opacity:.38}to{opacity:0;top:0%}}@keyframes TelemetryBackground-module__9ssHta__telemetryPulse{0%{opacity:.8;transform:scale(.6)}70%{opacity:0;transform:scale(3.2)}to{opacity:0;transform:scale(3.5)}}@media (prefers-reduced-motion:reduce){.TelemetryBackground-module__9ssHta__ambientOrbTop,.TelemetryBackground-module__9ssHta__ambientOrbLeft,.TelemetryBackground-module__9ssHta__ambientOrbRight,.TelemetryBackground-module__9ssHta__ambientOrbCenter,.TelemetryBackground-module__9ssHta__scanBeamDown,.TelemetryBackground-module__9ssHta__scanBeamUp,.TelemetryBackground-module__9ssHta__nodePulse{animation:none}.TelemetryBackground-module__9ssHta__scanBeamDown,.TelemetryBackground-module__9ssHta__scanBeamUp{display:none}}
:root{--bg-primary:#f8fafb;--bg-secondary:#f2f5f7;--surface-primary:#ffffffe0;--surface-secondary:#f9fafbd1;--surface-elevated:#fffffff5;--surface-solid:#fff;--header-scrolled-bg:#ffffffb8;--text-primary:#192433;--text-secondary:#4f5e72;--text-muted:#69788c;--border-color:#d6dde6;--border-strong:#bbc5d3;--accent-primary:#1168a7;--accent-primary-hover:#0c578d;--accent-soft:#dbedfa;--accent-text:#095286;--map-rainfall-low:#dbedfa;--map-rainfall-mid:#58a4da;--map-rainfall-high:#0c578d;--rainfall-tier-light:#16a260;--rainfall-tier-moderate:#d78c09;--rainfall-tier-heavy:#eb640a;--rainfall-tier-torrential:#eb1414;--danger-bg:#fce9e9;--danger-border:#eaaeae;--danger-text:#8c1d1d;--warning-bg:#fef3e2;--warning-border:#ebc98e;--warning-text:#8b4d0e;--shadow-soft:#16213114;--shadow-medium:#16213124;--glass-highlight:#ffffffb8;--chart-grid:#dfe5ec;--map-label-default:#192433;--map-label-on-dark:#f8fafb;--map-hover-border:#faa857;--earthquake-intensity-0:#cad0d8;--earthquake-intensity-1:#0c78c0;--earthquake-intensity-2:#0ea07b;--earthquake-intensity-3:#468e15;--earthquake-intensity-4:#bc7906;--earthquake-intensity-5:#ce5709;--earthquake-intensity-6:#d3350d;--earthquake-intensity-7:#c51111;--earthquake-intensity-8:#b0115c;--earthquake-intensity-9:#6e16a2;--earthquake-epicenter:#d31737;--earthquake-soft:#fcebe3;--earthquake-text:#993415;--reservoir-soft:#e0f2fa;--reservoir-text:#0d5887;--reservoir-track:#d5e2eb;--reservoir-fill:#1676b1;--reservoir-volume:#6826d9;--reservoir-glow:#1676b12e;--trend-up:#1b9d4a;--trend-up-bg:#e5fbed;--trend-down:#b81e1e;--trend-down-bg:#fbe9e9;--focus-ring:#0f7ac761;--scrollbar-thumb:#aeb6c2;--table-stripe:#f5f7f9;--table-hover:#ecf3f9;--ad-bg:#f2f4f8b8;--ad-text:#6f7d90;--backdrop:radial-gradient(circle at top, #dff1fb, transparent 42%);--power-soft:#fcf0e3;--power-text:#8a480f;--power-fill:#d46c11;--power-secondary:#1879bf;--power-glow:#d46c112e;--power-fuel-gas:#1879bf;--power-fuel-coal:#624c41;--power-fuel-hydro:#278686;--power-fuel-wind:#31aed8;--power-fuel-solar:#dd9f0e;--power-fuel-storage:#723ecc;--power-fuel-ipp-gas:#4e78da;--power-fuel-ipp-coal:#b16625;--power-fuel-oil:#ca3721;--power-fuel-cogen:#5c7f39;--power-fuel-other:#c23d91;--power-fuel-nuclear:#358d44;--power-fuel-unknown:#7c8a9c;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg-primary:#0f151f;--bg-secondary:#151c28;--surface-primary:#1c2431e6;--surface-secondary:#212936d1;--surface-elevated:#232c39f5;--surface-solid:#1e2733;--header-scrolled-bg:#1c2431b8;--text-primary:#ebf0f4;--text-secondary:#b1bbc9;--text-muted:#919cac;--border-color:#333d4d;--border-strong:#475466;--accent-primary:#4fc3ee;--accent-primary-hover:#6ecff2;--accent-soft:#183e4e;--accent-text:#82d8f7;--map-rainfall-low:#9cd1e8;--map-rainfall-mid:#2f99c6;--map-rainfall-high:#174c63;--rainfall-tier-light:#2fda8a;--rainfall-tier-moderate:#f9af2f;--rainfall-tier-heavy:#f98c43;--rainfall-tier-torrential:#f45252;--danger-bg:#3f1c1c;--danger-border:#813737;--danger-text:#f49090;--warning-bg:#40321c;--warning-border:#86683c;--warning-text:#f8d48c;--shadow-soft:#02040838;--shadow-medium:#02040861;--glass-highlight:#3c4d5d33;--chart-grid:#303945;--map-hover-border:#fcb873;--earthquake-intensity-0:#566376;--earthquake-intensity-1:#56c2f0;--earthquake-intensity-2:#3ae4b9;--earthquake-intensity-3:#84d93a;--earthquake-intensity-4:#f6c231;--earthquake-intensity-5:#f99339;--earthquake-intensity-6:#f76d3b;--earthquake-intensity-7:#f54747;--earthquake-intensity-8:#f14b99;--earthquake-intensity-9:#c069f2;--earthquake-epicenter:#f35e77;--earthquake-soft:#40271c;--earthquake-text:#f4ac7c;--reservoir-soft:#193443;--reservoir-text:#82d6f3;--reservoir-track:#2e4252;--reservoir-fill:#3eb7e0;--reservoir-volume:#ad7bf4;--reservoir-glow:#3eb7e038;--trend-up:#3cdd77;--trend-up-bg:#0c4521;--trend-down:#ef6c6c;--trend-down-bg:#530909;--focus-ring:#4bc5f16b;--scrollbar-thumb:#4f5969;--table-stripe:#1a222d;--table-hover:#22363f;--ad-bg:#191f2abd;--ad-text:#8592a3;--backdrop:radial-gradient(circle at top, #102f41, transparent 44%);--power-soft:#4a331c;--power-text:#f7bd82;--power-fill:#f59e47;--power-secondary:#4fabee;--power-glow:#f59e4738;--power-fuel-gas:#4fabee;--power-fuel-coal:#a58473;--power-fuel-hydro:#4dcbcb;--power-fuel-wind:#74cae7;--power-fuel-solar:#f5c147;--power-fuel-storage:#a47de8;--power-fuel-ipp-gas:#82a2ed;--power-fuel-ipp-coal:#db9557;--power-fuel-oil:#e76955;--power-fuel-cogen:#8cc059;--power-fuel-other:#de7cba;--power-fuel-nuclear:#59c06a;--power-fuel-unknown:#a2abb9;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{background:var(--bg-primary);scroll-behavior:smooth;scrollbar-gutter:stable}body{color:var(--text-primary);background:0 0;min-height:100vh;margin:0;font-family:Inter,Noto Sans TC,PingFang TC,Microsoft JhengHei,system-ui,sans-serif;transition:background-color .18s,color .18s}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{outline:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{box-shadow:0 0 0 4px var(--focus-ring)}button{cursor:pointer}.heroSection{padding:22px 2px 26px}.eyebrow{color:var(--accent-text);letter-spacing:.1em;text-transform:uppercase;margin:0 0 10px;font-size:.76rem;font-weight:800}h1,h2,p{margin-top:0}h1{letter-spacing:-.045em;margin-bottom:14px;font-size:clamp(2rem,4vw,3.5rem);line-height:1.08}h2{letter-spacing:-.02em;margin-bottom:6px;font-size:1.18rem}.heroDescription{color:var(--text-secondary);max-width:760px;margin-bottom:8px;font-size:clamp(1rem,1.5vw,1.15rem);line-height:1.75}.sourceText,.dataMeta,.sectionHeading p{color:var(--text-muted);font-size:.82rem;line-height:1.6}.dataMeta{flex-wrap:wrap;gap:8px 20px;margin:-8px 0 18px;display:flex}.summaryGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.summaryCard,.panelSection,.statusCard{background:var(--surface-solid);border:1px solid var(--border-color);box-shadow:0 18px 50px var(--shadow-soft)}.summaryCard{border-radius:16px;align-items:center;gap:12px;min-height:110px;padding:18px;transition:border-color .16s,transform .16s,box-shadow .16s;display:flex}.summaryCard:hover{border-color:var(--border-strong);box-shadow:0 22px 54px var(--shadow-medium);transform:translateY(-2px)}.summaryIcon{background:var(--accent-soft);color:var(--accent-text);border-radius:12px;flex:none;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.summaryLabel{color:var(--text-secondary);margin-bottom:4px;font-size:.78rem}.summaryValue{margin:0;font-size:1.28rem;font-weight:800}.summaryStation{color:var(--text-secondary);margin:3px 0 0;font-size:.72rem;font-weight:600}.panelSection{border-radius:18px;margin-top:18px;padding:22px;overflow:hidden}.sectionHeading{justify-content:space-between;align-items:start;gap:14px;margin-bottom:18px;display:flex}.sectionHeading p{margin:0}.metricBadge{background:var(--accent-soft);color:var(--accent-text);border-radius:999px;flex:none;padding:7px 10px;font-size:.76rem;font-weight:800}.statusCard{border-radius:16px;align-items:flex-start;gap:12px;margin:12px 0;padding:18px;display:flex}.statusCardError{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-text)}.statusCard p{margin-bottom:10px}.secondaryButton,.primaryButton{border-radius:10px;justify-content:center;align-items:center;font-weight:800;transition:background-color .16s,transform .16s,border-color .16s;display:inline-flex}.secondaryButton{background:var(--surface-elevated);border:1px solid var(--border-strong);color:var(--text-primary);min-height:38px;padding:0 13px}.secondaryButton:hover,.primaryButton:hover{transform:translateY(-1px)}.primaryButton{background:var(--accent-primary);border:1px solid var(--accent-primary);color:var(--bg-primary);gap:8px;min-height:44px;padding:0 16px}.primaryButton:hover{background:var(--accent-primary-hover);border-color:var(--accent-primary-hover)}.emptyState{color:var(--text-muted);text-align:center;padding:30px 0}@media (max-width:840px){.summaryGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.filterGrid{grid-template-columns:1fr}.panelSection{border-radius:14px;padding:16px}.chartCanvas{height:390px}}@media (max-width:520px){.summaryGrid{grid-template-columns:1fr}.summaryCard{min-height:92px}.sectionHeading{flex-direction:column;align-items:flex-start}.chartCanvas{height:360px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
.siteHeader{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:var(--surface-primary);border-bottom:1px solid var(--border-color);z-index:50;transition:background-color .18s,border-color .18s,box-shadow .18s,-webkit-backdrop-filter .18s,backdrop-filter .18s;position:sticky;top:0}.siteHeaderScrolled{-webkit-backdrop-filter:blur(20px)saturate(140%);backdrop-filter:blur(20px)saturate(140%);background:var(--header-scrolled-bg);box-shadow:0 8px 28px var(--shadow-soft);border-bottom-color:#0000}.headerInner{grid-template-columns:auto 1fr auto;align-items:center;gap:20px;max-width:min(100% - 48px,1640px);min-height:64px;margin:0 auto;padding:0 24px;display:grid}@media (min-width:2200px){.headerInner{max-width:min(100% - 64px,1840px)}}.brand{color:inherit;align-items:center;gap:10px;text-decoration:none;transition:opacity .2s;display:inline-flex}.brand:hover{opacity:.9}.brandName{color:var(--text-primary);letter-spacing:-.025em;font-size:1.125rem;font-weight:800}.headerNav{align-items:center;gap:8px;display:flex}.navLink{color:var(--text-secondary);border-radius:10px;padding:8px 10px;font-size:.9rem;font-weight:650;transition:background-color .16s,color .16s}.navLink:hover,.navLink[aria-current=page]{background:var(--accent-soft);color:var(--accent-text)}.headerActions,.desktopOnlyActions{align-items:center;gap:8px;display:flex}.iconButton,.languageButton{background:var(--surface-secondary);border:1px solid var(--border-color);color:var(--text-primary);justify-content:center;align-items:center;transition:border-color .16s,transform .16s,background-color .16s;display:inline-flex}.iconButton:hover,.languageButton:hover{background:var(--surface-elevated);border-color:var(--border-strong);transform:translateY(-1px)}.iconButton{border-radius:10px;width:38px;height:38px}.languageButton{border-radius:10px;gap:7px;min-height:38px;padding:0 12px}.languageButton span{font-size:.78rem;font-weight:650}.breadcrumbNav{margin-bottom:12px}.breadcrumbList{flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding:0;font-size:.84rem;font-weight:550;line-height:1.4;list-style:none;display:flex}.breadcrumbItem{align-items:center;gap:6px;min-width:0;display:inline-flex}.breadcrumbLink{color:var(--text-secondary);border-radius:6px;align-items:center;gap:5px;padding:2px 6px;text-decoration:none;transition:color .15s,background-color .15s;display:inline-flex}.breadcrumbLink:hover{background-color:var(--surface-secondary);color:var(--accent-primary)}.breadcrumbLink:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.breadcrumbCurrent{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;max-width:280px;padding:2px 6px;font-weight:650;overflow:hidden}.breadcrumbSeparator{color:var(--text-muted);opacity:.6;flex-shrink:0}.breadcrumbStatic{color:var(--text-secondary);padding:2px 6px}.breadcrumbHomeIcon{opacity:.85;flex-shrink:0}@media (max-width:640px){.breadcrumbList{gap:4px;font-size:.8rem}.breadcrumbItem{gap:4px}.breadcrumbCurrent{max-width:180px}}.siteFooter{background:var(--surface-primary);border-top:1px solid var(--border-color);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:var(--text-secondary);width:100%;margin-top:auto;padding:24px 20px}.siteFooterInner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;max-width:min(100% - 48px,1640px);margin:0 auto;display:flex}@media (min-width:2200px){.siteFooterInner{max-width:min(100% - 64px,1840px)}}.siteFooterBrandRow{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.siteFooterBrandLink{color:var(--text-primary);align-items:center;gap:8px;text-decoration:none;display:inline-flex}.siteFooterBrandName{letter-spacing:-.02em;font-size:1.05rem;font-weight:800}.siteFooterDot{color:var(--text-muted);opacity:.6}.siteFooterDescription{color:var(--text-muted);font-size:.82rem;font-weight:550;line-height:1.4}.siteFooterActions{align-items:center;gap:12px;display:flex}.siteFooterPrivacyBadge{background:var(--surface-secondary);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:.78rem;font-weight:650;text-decoration:none;transition:background-color .2s,border-color .2s,color .2s;display:inline-flex}.siteFooterPrivacyBadge:hover{background:var(--surface-elevated);border-color:var(--accent-primary);color:var(--accent-primary)}@media (max-width:640px){.siteFooterInner{flex-direction:column;align-items:flex-start;gap:14px}}.pageShell{grid-template-columns:minmax(0,1fr);justify-content:center;gap:24px;width:100%;max-width:min(100% - 48px,1640px);margin:0 auto;padding:28px 24px 72px;display:grid}.pageShell:has(.adRail){grid-template-columns:150px minmax(0,1fr) 150px;max-width:min(100% - 48px,1780px)}@media (min-width:2200px){.pageShell{max-width:min(100% - 64px,1840px)}}.mainContent{min-width:0}.adRail{align-self:start;position:sticky;top:92px}.adSlot{background:var(--ad-bg);border:1px dashed var(--border-strong);color:var(--ad-text);text-align:center;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:520px;padding:16px;transition:border-color .2s,background-color .2s;display:flex}.adSlotBadge{background:color-mix(in srgb, var(--accent-primary) 12%, var(--surface-secondary));border:1px solid color-mix(in srgb, var(--accent-primary) 25%, transparent);color:var(--accent-text);letter-spacing:.06em;text-transform:uppercase;border-radius:6px;padding:2px 8px;font-size:.7rem;font-weight:800}.adSlotSponsorTag{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:.68rem;font-weight:600}.adSlotLabel{letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:800}.adSlotText{color:var(--text-secondary);font-size:.78rem;font-weight:600;line-height:1.5}.adSlotFormat{color:var(--text-muted);opacity:.85;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.7rem;font-weight:500}.adSlotBanner{background:var(--ad-bg);border:1px dashed var(--border-strong);color:var(--ad-text);text-align:center;border-radius:16px;min-height:96px;margin:18px 0;padding:16px;transition:border-color .2s}.adSlotBanner:hover{border-color:var(--accent-primary)}.adSlotBannerInner{flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:64px;display:flex}.adSlotInFeed{background:var(--ad-bg);border:1px dashed var(--border-strong);box-shadow:0 4px 20px var(--shadow-soft);color:var(--ad-text);border-radius:18px;flex-direction:column;justify-content:space-between;min-height:270px;padding:20px;transition:transform .25s cubic-bezier(.16,1,.3,1),border-color .2s;display:flex}.adSlotInFeed:hover{border-color:var(--accent-primary);transform:translateY(-2px)}.adSlotInner{flex-direction:column;flex:1;justify-content:space-between;display:flex}.adSlotHeader{justify-content:space-between;align-items:center;display:flex}.adSlotContent{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;margin:auto 0;display:flex}.adSlotBanner:empty,.adSlotInFeed:empty,.adRail:empty,.adSlotBanner[data-ad-status=unfilled],.adSlotInFeed[data-ad-status=unfilled],.adRail[data-ad-status=unfilled],.adSlotCollapsed{border:none!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important;display:none!important}.adSlotBanner:not(.adSlotWithSponsor):has(ins[data-ad-status=unfilled]){border:none!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important;display:none!important}.adSlotInFeed:not(.adSlotWithSponsor):has(ins[data-ad-status=unfilled]){border:none!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important;display:none!important}.adRail:has(ins[data-ad-status=unfilled]){border:none!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important;display:none!important}.adSlotActiveAd{background:var(--surface-solid);border-color:var(--border-color);box-shadow:0 4px 20px var(--shadow-soft);text-align:initial;border-style:solid;border-width:1px;padding:12px 14px 8px;transition:border-color .2s,box-shadow .2s;position:relative;overflow:hidden}.adSlotActiveAd:hover{border-color:color-mix(in srgb, var(--accent-primary) 30%, var(--border-color));box-shadow:0 8px 24px var(--shadow-medium)}.adSlotRail.adSlotActiveAd{padding:10px 4px 6px}.adSlotActiveAd ins.adsbygoogle{box-sizing:border-box!important;width:100%!important;max-width:100%!important;margin:0 auto!important;display:block!important}.adSlotActiveAd ins.adsbygoogle iframe{box-sizing:border-box!important;max-width:100%!important}.adSlotActiveFooter{justify-content:flex-end;align-items:center;width:100%;margin-top:6px;padding:0 2px;display:flex}.adSlotSponsorCorner{background:color-mix(in srgb, var(--surface-secondary) 80%, transparent);border:1px solid color-mix(in srgb, var(--border-color) 60%, transparent);color:var(--text-muted);letter-spacing:.02em;-webkit-user-select:none;user-select:none;border-radius:4px;align-items:center;padding:2px 6px;font-size:.68rem;font-weight:550;line-height:1.2;display:inline-flex}@media (max-width:640px){.adSlotBanner.adSlotActiveAd,.adSlotInFeed.adSlotActiveAd{padding:10px 6px 6px}}.adSlotWithSponsor{border-style:solid;border-color:var(--border-color);background:var(--surface-solid);box-shadow:0 4px 20px var(--shadow-soft);padding:0;transition:transform .2s,border-color .2s,box-shadow .2s;overflow:hidden}.adSlotWithSponsor:hover{border-color:color-mix(in srgb, var(--accent-primary) 35%, var(--border-color));box-shadow:0 8px 28px var(--shadow-medium)}.sponsorBadge{background:color-mix(in srgb, #ec4899 12%, var(--surface-secondary));color:#db2777;letter-spacing:.04em;text-transform:uppercase;border:1px solid #ec489947;border-radius:999px;align-items:center;gap:4px;padding:2px 10px;font-size:.72rem;font-weight:700;display:inline-flex}[data-theme=dark] .sponsorBadge{background:color-mix(in srgb, #f472b6 16%, var(--surface-secondary));color:#f472b6;border-color:#f472b659}.sponsorHeartIcon{color:#ec4899}.sponsorButton{background:linear-gradient(135deg, var(--accent-primary) 0%, color-mix(in srgb, var(--accent-primary) 80%, #6366f1) 100%);box-shadow:0 2px 10px color-mix(in srgb, var(--accent-primary) 28%, transparent);color:#fff;white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-size:.84rem;font-weight:600;text-decoration:none;transition:transform .2s,filter .2s,box-shadow .2s;display:inline-flex}.sponsorButton:hover{box-shadow:0 4px 16px color-mix(in srgb, var(--accent-primary) 40%, transparent);filter:brightness(1.08);text-decoration:none;transform:translateY(-1px)}.sponsorButton:active{transform:translateY(0)}.sponsorButtonFull{width:100%}.sponsorFallbackBanner{text-align:left;justify-content:space-between;align-items:center;gap:20px;padding:16px 24px;display:flex}.sponsorBannerLeft{align-items:center;gap:16px;display:flex}.sponsorBannerIcon{background:color-mix(in srgb, #ec4899 12%, var(--surface-secondary));color:#ec4899;border:1px solid #ec48993d;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.sponsorBannerText{flex-direction:column;gap:4px;display:flex}.sponsorBannerHeader{align-items:center;gap:10px;display:flex}.sponsorBannerTitle{color:var(--text-primary);margin:0;font-size:.96rem;font-weight:700}.sponsorBannerDesc{color:var(--text-secondary);margin:0;font-size:.82rem;line-height:1.5}.sponsorBannerRight{flex-shrink:0}@media (max-width:768px){.sponsorFallbackBanner{text-align:center;flex-direction:column;align-items:stretch;gap:14px;padding:16px}.sponsorBannerLeft{text-align:center;flex-direction:column;gap:10px}.sponsorBannerHeader{justify-content:center}.sponsorBannerRight .sponsorButton{width:100%}}.sponsorFallbackInFeed{box-sizing:border-box;flex-direction:column;flex:1;justify-content:space-between;height:100%;min-height:250px;padding:24px 20px;display:flex}.sponsorInFeedHeader{justify-content:space-between;align-items:center;display:flex}.sponsorInFeedBody{text-align:center;flex-direction:column;align-items:center;gap:8px;margin:auto 0;display:flex}.sponsorInFeedIconBox{background:color-mix(in srgb, var(--accent-primary) 12%, var(--surface-secondary));border:1px solid color-mix(in srgb, var(--accent-primary) 20%, transparent);color:var(--accent-text);border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:4px;display:flex}.sponsorInFeedTitle{color:var(--text-primary);margin:0;font-size:1.02rem;font-weight:700}.sponsorInFeedDesc{color:var(--text-secondary);margin:0;font-size:.8rem;line-height:1.55}.sponsorInFeedFooter{margin-top:14px}.sponsorFallbackRail{background:var(--surface-solid);border:1px solid var(--border-color);box-shadow:0 4px 20px var(--shadow-soft);text-align:center;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:520px;padding:24px 14px;transition:border-color .2s,box-shadow .2s;display:flex}.sponsorFallbackRail:hover{border-color:color-mix(in srgb, var(--accent-primary) 35%, var(--border-color));box-shadow:0 8px 28px var(--shadow-medium)}.sponsorRailIconBox{background:color-mix(in srgb, var(--accent-primary) 12%, var(--surface-secondary));border:1px solid color-mix(in srgb, var(--accent-primary) 20%, transparent);color:var(--accent-text);border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;margin:10px 0 2px;display:flex}.sponsorRailTitle{color:var(--text-primary);margin:0;font-size:.92rem;font-weight:700}.sponsorRailDesc{color:var(--text-secondary);margin:0;font-size:.76rem;line-height:1.5}@media (max-width:1280px){.pageShell{grid-template-columns:minmax(0,1fr)}.adRail{display:none}}.headerIdentity{align-items:center;gap:10px;min-width:0;display:flex}.mobileMenuButton{color:var(--text-primary);cursor:pointer;background:0 0;border:0;border-radius:10px;flex:none;justify-content:center;align-items:center;width:38px;height:38px;padding:0;transition:background-color .16s,transform .16s;display:none}.mobileMenuButton:hover{background:var(--surface-secondary)}.mobileMenuButton:active{transform:scale(.96)}.mobileNavOverlay{opacity:0;pointer-events:none;visibility:hidden;z-index:45;background:#12182100;transition:background-color .22s,opacity .22s;position:fixed;inset:64px 0 0}.mobileNavOverlayOpen{opacity:1;pointer-events:auto;visibility:visible;background:#12182147}.mobileNavDrawer{-webkit-backdrop-filter:blur(22px)saturate(140%);backdrop-filter:blur(22px)saturate(140%);background:var(--surface-elevated);border-left:1px solid var(--border-color);box-shadow:-18px 0 42px var(--shadow-soft);flex-direction:column;width:min(84vw,320px);max-width:320px;height:100%;margin-left:auto;padding:16px 14px 28px;transition:transform .24s cubic-bezier(.16,1,.3,1);display:flex;transform:translate(102%)}.mobileNavDrawerOpen{transform:translate(0)}.mobileNavDrawerHeader{border-bottom:1px solid var(--border-color);align-items:center;margin-bottom:14px;padding-bottom:10px;display:flex}.mobileNavDrawerTitle{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:.8rem;font-weight:700}.mobileNavLinks{gap:6px;display:grid}.mobileNavLink{color:var(--text-secondary);border-radius:12px;align-items:center;min-height:46px;padding:0 14px;font-size:.95rem;font-weight:700;transition:background-color .16s,color .16s;display:flex}.mobileNavLink:hover{background:var(--surface-secondary);color:var(--text-primary)}.mobileNavLink[aria-current=page]{background:var(--accent-soft);color:var(--accent-text)}.mobileNavDivider{background:var(--border-color);width:100%;height:1px;margin:18px 0 14px}.mobileNavPreferences{flex-direction:column;gap:12px;margin-top:auto;padding-top:10px;display:flex}.mobileNavPrefGroup{justify-content:space-between;align-items:center;display:flex}.mobileNavPrefLabel{color:var(--text-secondary);align-items:center;gap:8px;font-size:.88rem;font-weight:650;display:inline-flex}@media (max-width:840px){.headerInner{grid-template-columns:1fr auto;gap:10px;width:100%;max-width:100%;padding:0 16px}.headerIdentity{justify-self:start}.mobileMenuButton{display:inline-flex}.headerNav{display:none}.headerActions{justify-self:end}.desktopOnlyActions,.languageButton span{display:none}.languageButton{width:38px;height:38px;padding:0}.pageShell{width:100%;max-width:100%;padding:16px 16px 48px}}@media (min-width:841px){.mobileNavOverlay{display:none}}.dataFreshnessBanner{border:1px solid var(--warning-border);background:var(--warning-bg);color:var(--warning-text);border-radius:10px;flex-wrap:wrap;align-items:center;gap:.625rem;margin-top:.75rem;padding:.625rem .875rem;font-size:.85rem;line-height:1.5;display:flex}.dataFreshnessBanner.isError{border-color:var(--danger-border);background:var(--danger-bg);color:var(--danger-text)}.dataFreshnessBannerIcon{flex-shrink:0}.dataFreshnessBannerText{flex:12rem}.dataFreshnessBannerRetry{color:inherit;font:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:999px;align-items:center;gap:.375rem;padding:.3rem .7rem;font-size:.8rem;display:inline-flex}.dataFreshnessBannerRetry:hover{background:color-mix(in srgb, currentColor 12%, transparent)}.dataFreshnessBannerRetry:disabled{cursor:progress;opacity:.7}.dataFreshnessBannerSpin{animation:.9s linear infinite dataFreshnessSpin}@keyframes dataFreshnessSpin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.dataFreshnessBannerSpin{animation:none}}
.homeMain{justify-content:center;align-items:center;min-height:calc(100vh - 64px);padding:42px 20px;display:flex}.homeHero{text-align:center;max-width:820px}.homeHeroIcon{background:var(--accent-soft);color:var(--accent-text);border-radius:12px;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:20px;display:inline-flex}.homeHero .heroDescription{margin-left:auto;margin-right:auto}.homeHero .primaryButton{margin-top:12px}.homeActionGrid{flex-wrap:wrap;justify-content:center;align-items:stretch;gap:10px;margin-top:18px;display:flex}.homeHero .homeModuleButton{gap:8px;min-height:46px;margin-top:0;padding:0 16px}@media (max-width:520px){.homeActionGrid{flex-direction:column;align-items:stretch}}
.chartCanvas{width:100%;height:430px}.filterGrid{grid-template-columns:minmax(260px,2fr) minmax(150px,1fr) minmax(160px,1fr);align-items:end;gap:12px;margin-bottom:18px;display:grid}.fieldGroup{gap:7px;display:grid}.fieldLabel{color:var(--text-secondary);font-size:.76rem;font-weight:750}.searchInputWrap{position:relative}.searchIcon{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.textInput,.selectInput{background:var(--surface-secondary);border:1px solid var(--border-color);color:var(--text-primary);border-radius:10px;width:100%;min-height:42px;transition:border-color .16s,background-color .16s}.textInput:hover,.selectInput:hover{border-color:var(--border-strong)}.textInput{padding:0 12px 0 40px}.selectInput{padding:0 10px}.tableScroller{border:1px solid var(--border-color);scrollbar-color:var(--scrollbar-thumb) transparent;border-radius:12px;max-height:720px;overflow:auto}.rainfallTable{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;min-width:1000px;font-size:.78rem}.rainfallTable th:first-child,.rainfallTable td:first-child{width:12%}.rainfallTable th:nth-child(2),.rainfallTable td:nth-child(2){width:16%}.rainfallTable th,.rainfallTable td{border-bottom:1px solid var(--border-color);text-align:center;vertical-align:middle;white-space:nowrap;padding:11px 12px}.rainfallTable thead th{background:var(--surface-elevated);color:var(--text-secondary);z-index:2;font-size:.72rem;font-weight:800;position:sticky;top:0}.rainfallTable tbody tr:nth-child(2n){background:var(--table-stripe)}.rainfallTable tbody tr:hover{background:var(--table-hover)}.rainfallTable tbody tr:last-child th,.rainfallTable tbody tr:last-child td{border-bottom:0}.stationName{font-weight:800;display:block}.numberCell{font-variant-numeric:tabular-nums;text-align:center!important}.mapSectionHeading{align-items:end}.mapMetricControl{flex:0 0 190px;gap:7px;display:grid}.mapFrame{background:var(--surface-secondary);border:1px solid var(--border-color);border-radius:16px;position:relative;overflow:hidden}.taiwanMapCanvas{width:100%;height:680px}.mapStatus{background:var(--surface-primary);color:var(--text-secondary);justify-content:center;align-items:center;font-size:.9rem;display:flex;position:absolute;inset:0}.mapFootnote{color:var(--text-muted);margin:14px 2px 0;font-size:.78rem;line-height:1.65}.countyLinkGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:14px;display:grid}.countyLink{background:var(--surface-secondary);border:1px solid var(--border-color);border-radius:10px;justify-content:space-between;align-items:center;gap:8px;min-width:0;padding:9px 11px;transition:background-color .16s,border-color .16s,transform .16s;display:flex}.countyLink:hover{background:var(--accent-soft);border-color:var(--border-strong);transform:translateY(-1px)}.countyLink span{color:var(--text-primary);min-width:0;font-size:.78rem;font-weight:700}.countyLink strong{color:var(--accent-text);flex:none;font-size:.74rem}.filterGridCompact{grid-template-columns:minmax(260px,2fr) minmax(160px,1fr)}@media (max-width:900px){.taiwanMapCanvas{height:580px}.countyLinkGrid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:640px){.mapSectionHeading{flex-direction:column;align-items:stretch}.mapMetricControl{flex-basis:auto;width:100%}.taiwanMapCanvas{height:500px}.countyLinkGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.filterGridCompact{grid-template-columns:1fr}}.filterGridSearchOnly{grid-template-columns:minmax(260px,520px)}.stationLink{border-radius:6px;padding:3px 5px;transition:background-color .16s,color .16s;display:inline-block}.stationLink:hover{background:var(--accent-soft);color:var(--accent-text)}.stationLink:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.stationHero{padding-bottom:20px}.stationOverviewGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:24px;display:grid}.stationInformationCard,.stationObservationCard{background:var(--surface-solid);border:1px solid var(--border-color);border-radius:16px;min-width:0;padding:22px}.stationIdentifier{color:var(--text-muted);margin:5px 0 0;font-size:.82rem}.stationMetadataGrid{gap:0;margin:18px 0 0;display:grid}.stationMetadataItem{border-top:1px solid var(--border-color);grid-template-columns:minmax(90px,.7fr) minmax(0,1.3fr);align-items:center;gap:14px;padding:13px 0;display:grid}.stationMetadataItem dt{color:var(--text-muted);font-size:.78rem;font-weight:600}.stationMetadataItem dd{color:var(--text-primary);text-align:right;margin:0;font-size:.9rem;font-weight:700}.stationInfoMapLink{justify-content:center;width:100%;min-height:44px;margin-top:18px}.stationRainfallGrid{grid-template-columns:1fr;gap:12px;margin-top:18px;display:grid}.stationRainfallCard{background:var(--surface-solid);border:1px solid var(--border-color);box-shadow:0 2px 10px var(--shadow-soft);border-radius:14px;flex-direction:column;gap:6px;min-width:0;padding:16px 18px;transition:background-color .16s,border-color .16s,box-shadow .16s,transform .16s;display:flex}.stationRainfallCard:hover{border-color:color-mix(in srgb, var(--accent-primary) 35%, var(--border-color));box-shadow:0 8px 24px var(--shadow-medium);transform:translateY(-1px)}.stationRainfallCardHeader{justify-content:space-between;align-items:center;gap:10px;width:100%;display:flex}.stationRainfallLabel{color:var(--text-muted);font-size:.85rem;font-weight:650;line-height:1.3}.stationRainfallThreshold{border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:.72rem;font-weight:650;line-height:1;display:inline-flex}.stationRainfallThresholdSubdued{background:var(--surface-secondary);border:1px solid var(--border-color);color:var(--text-muted)}.stationRainfallThresholdRef{color:var(--text-muted);opacity:.85;font-size:.68rem;font-weight:500}.stationRainfallThresholdAlert{background:color-mix(in srgb, var(--rainfall-tier-heavy) 15%, transparent);border:1px solid color-mix(in srgb, var(--rainfall-tier-heavy) 40%, transparent);color:var(--rainfall-tier-heavy);font-weight:750}.stationRainfallValueRow{align-items:baseline;margin:2px 0 4px;display:flex}.stationRainfallValue{color:var(--text-primary);font-variant-numeric:tabular-nums;letter-spacing:-.02em;text-align:left;font-size:1.85rem;font-weight:800;line-height:1.1;display:block}@media (max-width:900px){.stationOverviewGrid{grid-template-columns:1fr}}@media (max-width:640px){.stationInformationCard,.stationObservationCard{padding:17px}.stationMetadataItem{grid-template-columns:1fr;align-items:start;gap:5px}.stationMetadataItem dd{text-align:left}}.stationObservationTitle{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.rainfallThresholdInfo{color:var(--text-muted);flex-direction:column;grid-column:1/-1;align-items:flex-start;gap:5px;margin-top:12px;font-size:.78rem;display:flex}.rainfallBriefing,.rainfallQuickFinder,.rainfallFaqSection{margin-bottom:24px}.rainfallBriefingHeader,.rainfallQuickFinderHeader{justify-content:space-between;align-items:center;gap:14px;display:flex}.rainfallBriefingHeader h2,.rainfallQuickFinderHeader h2{margin:0}.rainfallBriefingHeader p,.rainfallQuickFinderHeader p{color:var(--text-secondary);margin:6px 0 0;font-size:.85rem;line-height:1.65}.rainfallBriefingHeader{justify-content:space-between;gap:20px}.rainfallBriefingHeading{align-items:center;gap:14px;display:flex}.rainfallBriefingIcon{background:var(--accent-soft);border:1px solid var(--border-color);color:var(--accent-text);border-radius:12px;flex:none;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.rainfallBriefingControls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.briefingModeToggle{background:var(--surface-solid);border:1px solid var(--border-color);border-radius:999px;align-items:center;gap:2px;padding:3px;display:inline-flex}.briefingModeBtn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:4px 11px;font-size:.75rem;font-weight:650;transition:background-color .15s,color .15s}.briefingModeBtn:hover{color:var(--text-primary)}.briefingModeBtnActive{background:var(--accent-primary);color:var(--accent-contrast,#fff)}.briefingModeBtn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:1px}.rainfallBriefingStatus{background:var(--accent-soft);border:1px solid var(--border-color);color:var(--accent-text);border-radius:999px;flex:none;align-items:center;gap:6px;min-height:34px;padding:0 12px;font-size:.75rem;font-weight:750;display:inline-flex}.rainfallBriefingBody{background:var(--surface-secondary);border:1px solid var(--border-color);border-radius:14px;margin-top:18px;padding:18px}.rainfallBriefingOverview{grid-template-columns:minmax(0,1fr) minmax(170px,auto);align-items:center;gap:20px;display:grid}.stationBriefingBody>p{color:var(--text-secondary);overflow-wrap:anywhere;margin:0 0 12px;font-size:.9rem;line-height:1.8}.stationBriefingBody>.stationBriefingSummary{color:var(--text-primary);font-size:.95rem;font-weight:650}.stationBriefingFooter{border-top:1px solid var(--border-color);padding-top:12px}.stationBriefingFooter svg{flex-shrink:0}.stationBriefing .stationBriefingCountyLink{text-align:center;justify-content:center;width:100%;min-height:44px;padding:8px 12px;line-height:1.7;text-decoration:none}.stationBriefingCountyLink:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.stationBriefing .rainfallBriefingStatus{flex-shrink:1;padding-block:6px}.rainfallBriefingOverview>p{color:var(--text-primary);margin:0;font-size:.95rem;font-weight:650;line-height:1.7}.rainfallBriefingCoverage{background:var(--surface-solid);border:1px solid var(--border-color);text-align:center;border-radius:12px;flex-direction:column;align-items:center;min-width:170px;padding:13px 15px;display:flex}.rainfallBriefingCoverage span{color:var(--text-muted);font-size:.82rem;font-weight:600}.rainfallBriefingCoverage small{color:var(--text-muted);font-size:.78rem}.rainfallBriefingCoverage strong{color:var(--accent-text);font-variant-numeric:tabular-nums;margin:5px 0;font-size:1.65rem;line-height:1.15}.rainfallHotspots{border-top:1px solid var(--border-color);align-items:center;gap:12px;margin-top:14px;padding-top:14px;display:grid}.rainfallHotspotsLabel{color:var(--text-muted);font-size:.82rem;font-weight:700}.rainfallHotspotList{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;display:grid}.rainfallHotspotListDetailed{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.rainfallHotspotCard{background:var(--surface-solid);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;min-height:64px;padding:10px 14px 10px 16px;transition:background-color .16s,border-color .16s,box-shadow .2s,transform .16s;display:grid;position:relative;overflow:hidden}.rainfallHotspotCardDetailed{grid-template-columns:auto minmax(0,1fr) auto auto}.rainfallHotspotSparklineWrap{flex-shrink:0;align-items:center;width:80px;max-width:80px;display:flex}@media (max-width:640px){.rainfallHotspotCardDetailed{grid-template-columns:auto minmax(0,1fr) auto}.rainfallHotspotSparklineWrap{grid-column:2/-1;width:100%;max-width:100%}}.rainfallHotspotCard:before{content:"";border-radius:0 4px 4px 0;width:3.5px;transition:background-color .2s,box-shadow .2s;position:absolute;top:6px;bottom:6px;left:0}.rainfallHotspotIntensity-light:before{background-color:var(--rainfall-tier-light)}.rainfallHotspotIntensity-light:hover{border-color:color-mix(in srgb, var(--rainfall-tier-light) 40%, transparent);box-shadow:-2px 0 12px color-mix(in srgb, var(--rainfall-tier-light) 15%, transparent)}.rainfallHotspotIntensity-moderate:before{background-color:var(--rainfall-tier-moderate);box-shadow:0 0 8px color-mix(in srgb, var(--rainfall-tier-moderate) 50%, transparent)}.rainfallHotspotIntensity-moderate{border-color:color-mix(in srgb, var(--rainfall-tier-moderate) 25%, transparent);box-shadow:-2px 0 10px color-mix(in srgb, var(--rainfall-tier-moderate) 12%, transparent)}.rainfallHotspotIntensity-moderate:hover{border-color:color-mix(in srgb, var(--rainfall-tier-moderate) 50%, transparent);box-shadow:-2px 0 14px color-mix(in srgb, var(--rainfall-tier-moderate) 22%, transparent)}.rainfallHotspotIntensity-heavy:before{background-color:var(--rainfall-tier-heavy);animation:3s ease-in-out infinite hotspotBreatheOrange}.rainfallHotspotIntensity-heavy{border-color:color-mix(in srgb, var(--rainfall-tier-heavy) 40%, transparent);animation:3s ease-in-out infinite hotspotBorderPulseOrange}.rainfallHotspotIntensity-heavy:hover{border-color:color-mix(in srgb, var(--rainfall-tier-heavy) 70%, transparent);box-shadow:-3px 0 18px color-mix(in srgb, var(--rainfall-tier-heavy) 30%, transparent)}.rainfallHotspotIntensity-torrential:before{background-color:var(--rainfall-tier-torrential);animation:2.6s ease-in-out infinite hotspotBreatheRed}.rainfallHotspotIntensity-torrential{border-color:color-mix(in srgb, var(--rainfall-tier-torrential) 45%, transparent);animation:2.6s ease-in-out infinite hotspotBorderPulseRed}.rainfallHotspotIntensity-torrential:hover{border-color:color-mix(in srgb, var(--rainfall-tier-torrential) 75%, transparent);box-shadow:-3px 0 20px color-mix(in srgb, var(--rainfall-tier-torrential) 35%, transparent)}@keyframes hotspotBreatheOrange{0%,to{box-shadow:0 0 6px color-mix(in srgb, var(--rainfall-tier-heavy) 40%, transparent);opacity:.85}50%{box-shadow:0 0 14px color-mix(in srgb, var(--rainfall-tier-heavy) 85%, transparent);opacity:1}}@keyframes hotspotBorderPulseOrange{0%,to{box-shadow:-2px 0 10px color-mix(in srgb, var(--rainfall-tier-heavy) 12%, transparent)}50%{box-shadow:-3px 0 16px color-mix(in srgb, var(--rainfall-tier-heavy) 25%, transparent)}}@keyframes hotspotBreatheRed{0%,to{box-shadow:0 0 7px color-mix(in srgb, var(--rainfall-tier-torrential) 45%, transparent);opacity:.85}50%{box-shadow:0 0 16px color-mix(in srgb, var(--rainfall-tier-torrential) 95%, transparent);opacity:1}}@keyframes hotspotBorderPulseRed{0%,to{box-shadow:-2px 0 12px color-mix(in srgb, var(--rainfall-tier-torrential) 16%, transparent)}50%{box-shadow:-4px 0 20px color-mix(in srgb, var(--rainfall-tier-torrential) 32%, transparent)}}@media (prefers-reduced-motion:reduce){.rainfallHotspotIntensity-heavy,.rainfallHotspotIntensity-heavy:before,.rainfallHotspotIntensity-torrential,.rainfallHotspotIntensity-torrential:before{animation:none!important}}.rainfallHotspotCard:hover{background:var(--surface-elevated);transform:translateY(-1px)}.rainfallHotspotCard:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.rainfallHotspotCard>svg{color:var(--accent-text)}.rainfallHotspotCard span{min-width:0;display:grid}.rainfallHotspotCard small{color:var(--text-muted);font-size:.75rem;line-height:1.3}.rainfallHotspotCard strong{color:var(--text-primary);font-size:.9rem;line-height:1.35}.rainfallHotspotCard b{color:var(--accent-text);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.925rem}.rainfallSectionTag{background:var(--accent-soft);border:1px solid var(--border-color);color:var(--accent-text);border-radius:999px;flex:none;justify-content:center;align-items:center;gap:6px;min-height:34px;padding:0 12px;font-size:.72rem;font-weight:700;line-height:1;display:inline-flex}.rainfallSectionTag svg{display:block}.rainfallQuickPills{flex-wrap:wrap;justify-content:flex-start;gap:8px;margin-top:18px;display:flex}.rainfallQuickPill{appearance:none;background:var(--surface-secondary);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;font:inherit;border-radius:999px;justify-content:center;align-items:center;min-height:38px;padding:0 14px;font-size:.78rem;font-weight:700;transition:background-color .16s,border-color .16s,color .16s,transform .16s;display:inline-flex}.rainfallQuickPill:hover{background:var(--accent-soft);border-color:var(--border-color);color:var(--accent-text);transform:translateY(-1px)}.rainfallQuickPill[aria-pressed=true],.rainfallQuickPillActive{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff;box-shadow:0 2px 8px #2563eb40}.rainfallQuickPill[aria-pressed=true]:hover,.rainfallQuickPillActive:hover{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff;filter:brightness(1.08);transform:translateY(-1px)}.rainfallQuickPill:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.rainfallQuickPillsHasSelection .rainfallQuickPill:not(.rainfallQuickPillActive):not([aria-pressed=true]){background:var(--surface-primary);border-color:var(--border-color);color:var(--text-muted);opacity:.5}.rainfallQuickPillsHasSelection .rainfallQuickPill:not(.rainfallQuickPillActive):not([aria-pressed=true]):hover{background:var(--surface-secondary);border-color:var(--border-color);color:var(--text-primary);opacity:.9;transform:translateY(-1px)}@media (max-width:768px){.rainfallBriefingHeader,.rainfallQuickFinderHeader{align-items:flex-start}.rainfallBriefingOverview{grid-template-columns:1fr}.rainfallBriefingCoverage{align-items:center;min-width:0}}@media (max-width:640px){.rainfallBriefingHeader,.rainfallQuickFinderHeader,.rainfallFaqHeader{flex-direction:column}.rainfallBriefingHeading{align-items:flex-start}.rainfallQuickPills{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.rainfallQuickPill{min-height:44px}}@media (max-width:480px){.rainfallHotspotList{grid-template-columns:1fr}}.rainfallThresholdBadge{background:var(--accent-soft);border:1px solid var(--border-color);color:var(--accent-text);border-radius:999px;padding:4px 10px;font-size:.75rem;font-weight:700;display:inline-flex}.rainfallThresholdReference{color:var(--text-muted);line-height:1.45}.stationMapExternalLink{background:var(--accent-soft);border:1px solid var(--border-color);color:var(--accent-text);border-radius:10px;flex:none;align-items:center;gap:6px;min-height:38px;padding:0 11px;font-size:.76rem;font-weight:750;transition:background-color .16s,border-color .16s,transform .16s;display:inline-flex}.stationMapExternalLink:hover{background:var(--surface-elevated);border-color:var(--border-strong);transform:translateY(-1px)}@media (max-width:640px){.stationMapExternalLink{justify-content:center;width:100%}}.mapFrame{position:relative}.mapZoomControls{background:var(--surface-elevated);border:1px solid var(--border-color);z-index:5;border-radius:10px;flex-direction:column;display:flex;position:absolute;top:14px;right:14px;overflow:hidden}.mapZoomButton{appearance:none;background:var(--surface-elevated);color:var(--text-primary);cursor:pointer;border:0;justify-content:center;align-items:center;width:38px;height:38px;padding:0;font-family:inherit;font-size:1.35rem;font-weight:400;line-height:1;display:flex}.mapZoomButton+.mapZoomButton{border-top:1px solid var(--border-color)}.mapZoomButton:hover:not(:disabled){background:var(--surface-secondary)}.mapZoomButton:disabled{cursor:default;opacity:.4}.stationHistoryCard{background:var(--surface-solid);border:1px solid var(--border-color);box-shadow:0 4px 20px var(--shadow-soft);border-radius:16px;margin-bottom:24px;padding:24px;transition:border-color .2s,box-shadow .2s;position:relative}.stationHistoryCard:hover{border-color:var(--border-strong)}.stationHistoryHeader{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.stationHistoryTitle{align-items:center;gap:10px;display:flex}.stationHistoryTitle h2{color:var(--text-primary);letter-spacing:-.01em;margin:0;font-size:1.25rem;font-weight:700}.stationHistoryDescription{color:var(--text-secondary);margin:4px 0 0;font-size:.875rem;line-height:1.6}.stationHistoryCanvas{width:100%;height:280px}.stationHistoryNoRainBanner{background:var(--surface-secondary);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:10px;align-items:center;gap:8px;margin-bottom:12px;padding:10px 14px;font-size:.85rem;display:flex}.stationNearbySection{margin-bottom:24px}.stationNearbyGrid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin-top:16px;display:grid}.stationNearbyCard{background:var(--surface-solid);border:1px solid var(--border-color);border-radius:14px;flex-direction:column;gap:8px;padding:14px 16px;text-decoration:none;transition:background-color .16s,border-color .16s,transform .16s;display:flex}.stationNearbyCard:hover{background:var(--surface-elevated);border-color:var(--accent-primary);transform:translateY(-2px)}.stationNearbyCard:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.stationNearbyCardHeader{justify-content:space-between;align-items:center;display:flex}.stationNearbyTown{color:var(--text-muted);align-items:center;gap:4px;font-size:.72rem;display:inline-flex}.stationNearbyId{color:var(--text-muted);font-size:.7rem}.stationNearbyName{color:var(--text-primary);font-size:.95rem;font-weight:700}.stationNearbyRainfall{border-top:1px solid var(--border-color);color:var(--text-secondary);align-items:center;gap:6px;margin-top:2px;padding-top:8px;font-size:.75rem;display:flex}.stationNearbyRainfall b{color:var(--accent-text);font-variant-numeric:tabular-nums;margin-left:2px}.rainfallSparklineContainer{width:100%;display:block;position:relative;overflow:visible}.rainfallSparklineSvg{display:block;overflow:visible}.rainfallSparklineBar{transition:fill .12s,opacity .12s}.rainfallSparklineBarActive{filter:drop-shadow(0 0 2px var(--accent-text))}.rainfallSparklineTooltip{background:var(--surface-elevated);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);pointer-events:none;white-space:nowrap;z-index:10;border-radius:6px;flex-direction:column;align-items:center;padding:3px 7px;font-size:.7rem;display:flex;position:absolute;bottom:calc(100% + 4px);transform:translate(-50%)}.rainfallSparklineTooltipTime{color:var(--text-muted);font-size:.65rem}.rainfallSparklineTooltipVal{color:var(--text-primary);font-variant-numeric:tabular-nums}.stationBriefingTrendContainer{background:var(--surface-solid);border:1px solid var(--border-color);contain-intrinsic-size:0 72px;border-radius:12px;margin:14px 0 16px;padding:12px 16px}.stationBriefingTrendHeader{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.stationBriefingTrendTitle{color:var(--text-secondary);align-items:center;gap:6px;font-size:.8rem;font-weight:650;display:flex}.stationBriefingTrendTitle svg{color:var(--accent-text)}.stationBriefingPeakBadge{background:var(--accent-soft);border:1px solid var(--border-color);color:var(--accent-text);border-radius:999px;padding:1px 8px;font-size:.72rem;font-weight:700}.observationMicroChartWrap{width:100%;margin:4px 0 6px;position:relative;overflow:visible}.observationAnalyticsRow{flex-wrap:wrap;gap:6px;width:100%;margin-top:auto;padding-top:4px;display:flex}.observationMetricBadge{background:var(--surface-secondary);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:.72rem;font-weight:600;line-height:1;transition:background-color .16s,border-color .16s;display:inline-flex}.observationMetricBadge strong{color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:750}.observationMetricBadge small{color:var(--text-muted);font-size:.68rem;font-weight:500}.observationMetricAlert{background:color-mix(in srgb, var(--rainfall-tier-heavy) 14%, transparent);border-color:color-mix(in srgb, var(--rainfall-tier-heavy) 45%, transparent);color:var(--rainfall-tier-heavy);font-weight:750}.observationMetricTrend-increasing{background:color-mix(in srgb, var(--accent-primary) 10%, transparent);border-color:color-mix(in srgb, var(--accent-primary) 35%, transparent);color:var(--accent-text)}.observationMetricTrend-decreasing{color:var(--text-muted)}
.filterGrid{grid-template-columns:minmax(260px,2fr) minmax(150px,1fr) minmax(160px,1fr);align-items:end;gap:12px;margin-bottom:18px;display:grid}.fieldGroup{gap:7px;display:grid}.fieldLabel{color:var(--text-secondary);font-size:.76rem;font-weight:750}.searchInputWrap{position:relative}.searchIcon{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.textInput,.selectInput{background:var(--surface-secondary);border:1px solid var(--border-color);color:var(--text-primary);border-radius:10px;width:100%;min-height:42px;transition:border-color .16s,background-color .16s}.textInput:hover,.selectInput:hover{border-color:var(--border-strong)}.textInput{padding:0 12px 0 40px}.selectInput{padding:0 10px}.tableScroller{border:1px solid var(--border-color);scrollbar-color:var(--scrollbar-thumb) transparent;border-radius:12px;max-height:720px;overflow:auto}.mapFrame{background:var(--surface-secondary);border:1px solid var(--border-color);border-radius:16px;position:relative;overflow:hidden}.taiwanMapCanvas{width:100%;height:680px}.mapStatus{background:var(--surface-primary);color:var(--text-secondary);justify-content:center;align-items:center;font-size:.9rem;display:flex;position:absolute;inset:0}.filterGridCompact{grid-template-columns:minmax(260px,2fr) minmax(160px,1fr)}@media (max-width:900px){.taiwanMapCanvas{height:580px}}@media (max-width:640px){.taiwanMapCanvas{height:500px}.filterGridCompact{grid-template-columns:1fr}}.earthquakeFeatureCard{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:var(--surface-primary);border:1px solid var(--border-color);box-shadow:0 18px 50px var(--shadow-soft);border-radius:18px;margin-bottom:18px;padding:22px;overflow:hidden}.earthquakeFeatureHeader{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px;display:flex}.earthquakeFeatureHeader h2{margin:8px 0 0}.earthquakeCategoryBadge,.earthquakeTableBadge{border-radius:999px;font-size:.7rem;font-weight:800;line-height:1;display:inline-flex}.earthquakeCategoryBadge{background:var(--earthquake-soft);color:var(--earthquake-text);padding:7px 9px}.earthquakeFeatureGrid{grid-template-columns:minmax(170px,.42fr) minmax(0,1.58fr);align-items:stretch;gap:18px;display:grid}.earthquakeMagnitudeBlock{background:var(--earthquake-soft);border:1px solid var(--border-color);text-align:center;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;min-height:190px;padding:22px;display:flex}.earthquakeMagnitudeLabel{color:var(--earthquake-text);letter-spacing:.06em;text-transform:uppercase;font-size:.78rem;font-weight:800}.earthquakeMagnitudeValue{color:var(--text-primary);letter-spacing:-.07em;margin-top:10px;font-size:clamp(3.2rem,8vw,5.4rem);line-height:1}.earthquakeFeatureDetails{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;display:grid}.earthquakeFeatureDetails>div{background:var(--surface-secondary);border:1px solid var(--border-color);border-radius:13px;min-width:0;padding:16px}.earthquakeFeatureDetails dt{color:var(--text-muted);align-items:center;gap:7px;margin-bottom:8px;font-size:.75rem;font-weight:700;display:flex}.earthquakeFeatureDetails dd{color:var(--text-primary);margin:0;font-size:.96rem;font-weight:800;line-height:1.55}.earthquakeReportContent{border-left:3px solid var(--earthquake-epicenter);color:var(--text-secondary);margin:18px 0 0;padding:2px 0 2px 14px;font-size:.88rem;line-height:1.75}.earthquakeFeatureFooter{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:14px;margin-top:18px;padding-top:16px;display:flex}.earthquakeFeatureMeta{color:var(--text-muted);flex-wrap:wrap;gap:7px 16px;font-size:.75rem;display:flex}.earthquakeFeatureFooter .secondaryButton{gap:7px}.earthquakeMapSection{scroll-margin-top:84px}.earthquakeMapCanvas{height:680px}.earthquakeMapNotes{color:var(--text-muted);margin-top:10px;font-size:.78rem;line-height:1.6}.earthquakeMapNotes p{margin-bottom:4px}.earthquakeIntensityLegend{background:var(--surface-secondary);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:10px;flex-direction:column;gap:8px;margin-top:14px;padding:10px 14px;font-size:.76rem;display:flex}.earthquakeIntensityLegendHeader{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.earthquakeIntensityLegendTitle{color:var(--text-primary);font-weight:700}.earthquakeIntensityScaleHint{color:var(--text-muted);font-size:.72rem}.earthquakeIntensityLegendItems{flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.earthquakeIntensityLegendItem{align-items:center;gap:5px;font-weight:500;display:inline-flex}.earthquakeIntensitySwatch{border:1px solid #fff6;border-radius:3px;width:12px;height:12px;display:inline-block;box-shadow:0 1px 2px #0000001a}.earthquakeTableScroller{max-height:760px}.earthquakeTable{border-collapse:separate;border-spacing:0;width:100%;min-width:1060px;font-size:.78rem}.earthquakeTable th,.earthquakeTable td{border-bottom:1px solid var(--border-color);text-align:center;vertical-align:middle;padding:11px 12px}.earthquakeTable thead th{background:var(--surface-elevated);color:var(--text-secondary);white-space:nowrap;z-index:2;font-size:.72rem;font-weight:800;position:sticky;top:0}.earthquakeTable tbody tr:nth-child(2n){background:var(--table-stripe)}.earthquakeTable tbody tr:hover,.earthquakeTable tbody tr.earthquakeRowSelected{background:var(--table-hover)}.earthquakeTable tbody tr:last-child td{border-bottom:0}.earthquakeMagnitudeCell{font-size:.92rem;font-weight:850}.earthquakeLocationCell{white-space:normal;min-width:300px;max-width:390px;line-height:1.55;text-align:left!important}.earthquakeTableBadge{background:var(--earthquake-soft);color:var(--earthquake-text);justify-content:center;min-width:72px;padding:6px 8px}.earthquakeTableActions{justify-content:center;align-items:center;gap:7px;display:flex}.tableActionButton,.tableIconLink{background:var(--surface-secondary);border:1px solid var(--border-color);color:var(--text-primary);justify-content:center;align-items:center;transition:background-color .16s,border-color .16s,transform .16s;display:inline-flex}.tableActionButton:hover,.tableIconLink:hover{background:var(--accent-soft);border-color:var(--border-strong);color:var(--accent-text);transform:translateY(-1px)}.tableActionButton{border-radius:8px;min-height:32px;padding:0 10px}.tableIconLink{border-radius:8px;width:32px;height:32px}.earthquakeCoverageNote{color:var(--text-muted);margin:16px 2px 0;font-size:.76rem;line-height:1.7}@media (max-width:840px){.earthquakeFeatureGrid{grid-template-columns:1fr}.earthquakeMagnitudeBlock{min-height:150px}.earthquakeFeatureDetails{grid-template-columns:1fr}.earthquakeMapCanvas{height:560px}}@media (max-width:520px){.earthquakeFeatureCard{border-radius:14px;padding:16px}.earthquakeFeatureFooter{flex-direction:column;align-items:stretch}.earthquakeFeatureFooter .secondaryButton{width:100%}.earthquakeMapCanvas{height:480px}}.earthquakeRecentRailSection{margin-bottom:20px}.earthquakeRecentRailHeader{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.earthquakeRecentRailTitle{align-items:center;gap:8px;display:flex}.earthquakeRecentRailTitle h3{color:var(--text-primary);margin:0;font-size:.95rem;font-weight:800}.earthquakeRecentRailIcon{color:var(--earthquake-epicenter)}.earthquakeRecentRailArrows{gap:6px;display:flex}.earthquakeRecentRailControls{align-items:center;gap:10px;display:flex}.railItemCountBadge{background:var(--surface-secondary);border:1px solid var(--border-color);color:var(--text-muted);border-radius:999px;padding:2px 8px;font-size:.72rem;font-weight:700}.earthquakeViewModeToggle{background:var(--surface-secondary);border:1px solid var(--border-color);border-radius:8px;padding:2px;display:inline-flex}.viewModeButton{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:5px;padding:4px 10px;font-size:.75rem;font-weight:700;transition:all .16s cubic-bezier(.16,1,.3,1);display:inline-flex}.viewModeButton:hover{color:var(--text-primary)}.viewModeButton.active{background:var(--surface-solid);box-shadow:0 1px 4px var(--shadow-soft);color:var(--earthquake-epicenter)}.railNavButton{background:var(--surface-secondary);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;transition:all .16s;display:inline-flex}.railNavButton:hover{background:var(--surface-elevated);border-color:var(--border-strong);color:var(--text-primary)}.earthquakeRecentRailScroll{-webkit-overflow-scrolling:touch;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;gap:12px;margin-left:-6px;margin-right:-6px;padding:6px 6px 12px;scroll-padding-left:6px;scroll-padding-right:6px;display:flex;overflow-x:auto}.earthquakeRecentRailScroll::-webkit-scrollbar{display:none}.earthquakeRailCard{background:var(--surface-solid);border:1px solid var(--border-color);box-shadow:0 4px 12px var(--shadow-soft);cursor:pointer;scroll-snap-align:start;text-align:left;border-radius:14px;flex-direction:column;flex-shrink:0;gap:8px;min-width:175px;padding:12px 14px;transition:transform .18s cubic-bezier(.16,1,.3,1),border-color .18s,box-shadow .18s;display:flex}.earthquakeRailCard:hover{border-color:var(--border-strong);box-shadow:0 8px 20px var(--shadow-medium);transform:translateY(-2px)}.earthquakeRailCard:focus-visible{outline:2px solid var(--earthquake-epicenter);outline-offset:2px}.earthquakeRailCardActive{border-color:var(--earthquake-epicenter)!important;box-shadow:0 0 0 2px color-mix(in srgb, var(--earthquake-epicenter) 35%, transparent), 0 8px 24px var(--shadow-soft)!important}.earthquakeRailCardTop{justify-content:space-between;align-items:center;width:100%;display:flex}.earthquakeRailTime{color:var(--text-muted);align-items:center;gap:4px;font-size:.72rem;font-weight:600;display:inline-flex}.earthquakeRailPulseBadge{background:var(--earthquake-soft);color:var(--earthquake-text);border-radius:999px;align-items:center;gap:4px;padding:2px 7px;font-size:.65rem;font-weight:800;display:inline-flex}.earthquakeRailPulseDot,.earthquakeFeaturePulseDot{background-color:currentColor;border-radius:50%;width:6px;height:6px;animation:2s cubic-bezier(.4,0,.6,1) infinite eqPulse;display:inline-block}@keyframes eqPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.8)}}.earthquakeRailCardMiddle{align-items:center;gap:8px;display:flex}.earthquakeRailMagnitude{color:var(--text-primary);font-variant-numeric:tabular-nums;border-left:3px solid;padding-left:6px;font-size:1.05rem;font-weight:850;line-height:1}.earthquakeRailIntensity{border:1px solid;border-radius:6px;padding:3px 6px;font-size:.7rem;font-weight:800;line-height:1}.earthquakeRailLocation{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.78rem;font-weight:600;line-height:1.35;overflow:hidden}.earthquakeFeatureBadgeGroup{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;display:flex}.earthquakeFeaturePulseBadge{background:var(--earthquake-soft);border:1px solid color-mix(in srgb, var(--earthquake-epicenter) 30%, transparent);color:var(--earthquake-text);border-radius:999px;align-items:center;gap:5px;padding:4px 9px;font-size:.72rem;font-weight:800;display:inline-flex}.earthquakeRelativeTimeBadge{background:var(--surface-secondary);border:1px solid var(--border-color);color:var(--text-muted);border-radius:999px;align-items:center;gap:5px;padding:4px 9px;font-size:.72rem;font-weight:600;display:inline-flex}.earthquakeStationCountBadge{background:var(--surface-secondary);border:1px solid var(--border-color);color:var(--accent-text,var(--text-secondary));border-radius:999px;align-items:center;gap:5px;padding:4px 9px;font-size:.72rem;font-weight:700;display:inline-flex}.earthquakeCoordinatesSub{color:var(--text-muted);font-variant-numeric:tabular-nums;margin-top:3px;font-size:.76rem;font-weight:600;display:block}.earthquakeNearestStationValue{color:var(--text-primary);font-size:.9rem;font-weight:800}.earthquakePgaValue{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:850}.earthquakeMagnitudeSub{margin-top:6px;font-size:.75rem;font-weight:750}.earthquakeIntensityHighlight{border:1px solid;border-radius:8px;padding:5px 12px;font-size:1.15rem;font-weight:850;line-height:1;display:inline-block}.earthquakeDepthWrapper{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.earthquakeDepthBadge{border-radius:6px;align-items:center;gap:4px;padding:4px 7px;font-size:.72rem;font-weight:750;line-height:1;display:inline-flex}.depthLevel-veryShallow{color:#ef4444;background:#ef444429;border:1px solid #ef444459}.depthLevel-shallow{color:#f59e0b;background:#f59e0b29;border:1px solid #f59e0b59}.depthLevel-intermediate{color:#06b6d4;background:#06b6d429;border:1px solid #06b6d459}.depthLevel-deep{color:#8b5cf6;background:#8b5cf629;border:1px solid #8b5cf659}.depthLevel-unknown{background:var(--surface-secondary);border:1px solid var(--border-color);color:var(--text-muted)}.earthquakeImpactedSection{border-top:1px solid var(--border-color);margin-top:18px;padding-top:16px}.earthquakeImpactedHeader{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.earthquakeImpactedTitle{color:var(--text-muted);letter-spacing:.04em;font-size:.75rem;font-weight:750}.earthquakeImpactedGrid{flex-wrap:wrap;gap:8px;display:flex}.earthquakeCountyChip{background:var(--surface-secondary);border:1px solid var(--border-color);border-radius:8px;align-items:center;gap:6px;padding:5px 10px;display:inline-flex}.earthquakeCountyChip .countyName{color:var(--text-primary);font-size:.78rem;font-weight:650}.countyIntensityBadge{border:1px solid;border-radius:5px;padding:2px 5px;font-size:.7rem;font-weight:800;line-height:1}.earthquakeModalOverlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;background-color:#000000bf;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.earthquakeModalContent{background:var(--surface-solid);border:1px solid var(--border-strong);border-radius:18px;flex-direction:column;width:100%;max-width:860px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 24px 60px #00000080}.earthquakeModalHeader{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.earthquakeModalHeader h3{margin:0;font-size:1.05rem;font-weight:800}.earthquakeModalActions{align-items:center;gap:12px;display:flex}.earthquakeModalClose{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .16s;display:inline-flex}.earthquakeModalClose:hover{background:var(--surface-secondary);color:var(--text-primary)}.earthquakeModalBody{background:var(--surface-primary);box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;width:100%;padding:20px;display:flex;overflow:hidden auto}.earthquakeModalImage{object-fit:contain;border-radius:12px;max-width:100%;height:auto;max-height:72vh;display:block}.earthquakeSummaryGrid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:20px;display:grid}.earthquakeSummaryCard{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:var(--surface-solid);border:1px solid var(--border-color);box-shadow:0 4px 14px var(--shadow-soft);text-align:left;border-radius:14px;align-items:center;gap:12px;width:100%;min-height:82px;padding:14px 16px;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;position:relative}.summaryCardInteractive{cursor:pointer;font-family:inherit}.summaryCardInteractive:hover{border-color:var(--border-strong);box-shadow:0 8px 24px var(--shadow-medium);transform:translateY(-2px)}.summaryCardInteractive:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.cardSelected{border-color:var(--earthquake-epicenter)!important;box-shadow:0 0 0 2px color-mix(in srgb, var(--earthquake-epicenter) 35%, transparent), 0 8px 24px var(--shadow-soft)!important}.significantIcon{color:#f59e0b}.localIcon{color:#10b981}.magnitudeIcon{color:var(--accent-primary)}.intensityIcon{color:#ef4444}.summaryLabelWithTag{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.summaryPillTag{background:var(--surface-secondary);border:1px solid var(--border-color);color:var(--text-muted);border-radius:999px;padding:2px 5px;font-size:.62rem;font-weight:700;line-height:1}@media (max-width:1200px){.earthquakeSummaryGrid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:768px){.earthquakeSummaryGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.earthquakeFeatureHeader{flex-direction:column;align-items:stretch}}@media (max-width:480px){.earthquakeSummaryGrid{grid-template-columns:1fr}.earthquakeRailCard{min-width:155px;padding:10px 12px}}.earthquakeOverviewPanel{background:var(--surface-primary);border:1px solid var(--border-color);box-shadow:0 4px 20px var(--shadow-soft);border-radius:20px;flex-direction:column;gap:16px;margin-bottom:24px;padding:20px 22px;display:flex}.earthquakeOverviewHeader{border-bottom:1px solid var(--border-color);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding-bottom:16px;display:flex}.overviewHeaderTitleGroup{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.overviewPanelTitle{color:var(--text-primary);letter-spacing:-.01em;align-items:center;gap:8px;margin:0;font-size:1.15rem;font-weight:800;display:flex}.overviewPanelTitle svg{color:var(--accent-primary)}.overviewDateRangeBadge{background:var(--surface-secondary);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:.76rem;font-weight:650;display:inline-flex}.overviewDateRangeBadge svg{color:var(--text-muted)}.overviewTimeWindowFilterGroup{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.timeWindowFilterButton{background:var(--surface-secondary);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;white-space:nowrap;border-radius:12px;align-items:center;gap:6px;padding:6px 12px;font-family:inherit;font-size:.8rem;font-weight:600;transition:all .18s cubic-bezier(.16,1,.3,1);display:inline-flex}.timeWindowFilterButton:hover{background:color-mix(in srgb, var(--accent-primary) 8%, var(--surface-secondary));border-color:var(--border-strong);color:var(--text-primary);transform:translateY(-1px)}.timeWindowFilterButton.active{background:var(--surface-primary);border-color:var(--accent-primary);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent-primary) 25%, transparent);color:var(--text-primary);font-weight:750}.timeWindowFilterButton.active .timeWindowCount{background:color-mix(in srgb, var(--accent-primary) 15%, transparent);color:var(--accent-primary)}.timeWindowName{font-size:.78rem}.timeWindowCount{background:var(--surface-tertiary,color-mix(in srgb, var(--border-color) 40%, transparent));font-family:var(--font-mono,monospace);white-space:nowrap;border-radius:6px;padding:1px 6px;font-size:.75rem;font-weight:700;line-height:1.2}.timeWindowTrendBadge{font-family:var(--font-mono,monospace);white-space:nowrap;border-radius:999px;align-items:center;gap:3px;padding:2px 6px;font-size:.7rem;font-weight:750;line-height:1;display:inline-flex}.timeWindowTrendBadge.trendUp{color:#ef4444;background:#ef444424}.timeWindowTrendBadge.trendDown{color:#10b981;background:#10b98124}.timeWindowTrendBadge.trendNeutral{background:color-mix(in srgb, var(--text-muted) 14%, transparent);color:var(--text-muted)}.earthquakeEpicenterLocationRow{color:var(--text-primary);font-weight:650}.earthquakeCoordinatesRow{flex-wrap:wrap;align-items:center;gap:8px;margin-top:3px;display:flex}.earthquakeGoogleMapsLink{background:var(--surface-secondary);border:1px solid var(--border-color);color:var(--accent-primary);border-radius:6px;align-items:center;gap:4px;padding:3px 7px;font-size:.72rem;font-weight:700;line-height:1;text-decoration:none;transition:all .16s;display:inline-flex}.earthquakeGoogleMapsLink:hover{background:color-mix(in srgb, var(--accent-primary) 12%, var(--surface-secondary));border-color:var(--accent-primary);transform:translateY(-1px)}.earthquakeTopStationsSection{border-top:1px solid var(--border-color);flex-direction:column;gap:12px;margin-top:18px;padding-top:16px;display:flex}.earthquakeTopStationsHeader{justify-content:space-between;align-items:center;display:flex}.earthquakeTopStationsTitle{color:var(--text-primary);letter-spacing:-.01em;align-items:center;gap:6px;font-size:.85rem;font-weight:750;display:flex}.earthquakeTopStationsTitle svg{color:var(--earthquake-epicenter)}.earthquakeTopStationsGrid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;display:grid}.earthquakeStationItemCard{background:var(--surface-secondary);border:1px solid var(--border-color);border-radius:12px;justify-content:space-between;align-items:center;padding:10px 12px;transition:border-color .16s;display:flex}.earthquakeStationItemCard:hover{border-color:var(--border-strong)}.stationMainInfo{flex-direction:column;gap:2px;display:flex}.stationNameRow{align-items:center;gap:5px;display:flex}.stationCountyName{color:var(--text-muted);font-size:.75rem}.stationName{color:var(--text-primary);font-size:.85rem;font-weight:750}.stationDistanceKm{color:var(--text-secondary);font-size:.72rem;font-weight:600}.stationActions{align-items:center;gap:8px;display:flex}.stationIntensityBadge{font-family:var(--font-mono,monospace);border:1px solid;border-radius:6px;padding:3px 6px;font-size:.75rem;font-weight:800;line-height:1}.stationWaveformButton{background:var(--surface-primary);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;border-radius:6px;align-items:center;gap:4px;padding:3px 7px;font-family:inherit;font-size:.72rem;font-weight:650;transition:all .16s;display:inline-flex}.stationWaveformButton:hover{background:color-mix(in srgb, var(--accent-primary) 12%, var(--surface-primary));border-color:var(--accent-primary);color:var(--accent-primary);transform:translateY(-1px)}.stationWaveformDisabled{color:var(--text-muted);font-size:.75rem}.earthquakeWaveformModalContent{max-width:820px}.earthquakeWaveformImage{background:var(--surface-secondary);object-fit:contain;border-radius:8px;width:100%;max-height:75vh;display:block}.earthquakeModalFooterLink{justify-content:center;margin-top:12px;display:flex}.earthquakeModalFooterLink a{color:var(--text-secondary);align-items:center;gap:4px;font-size:.78rem;text-decoration:underline;transition:color .15s;display:inline-flex}.earthquakeModalFooterLink a:hover{color:var(--accent-primary)}@media (max-width:768px){.earthquakeOverviewHeader{flex-direction:column;align-items:flex-start}.overviewTimeWindowFilterGroup{width:100%}.timeWindowFilterButton{flex:calc(50% - 6px);justify-content:center}.earthquakeTopStationsGrid{grid-template-columns:1fr}}.earthquakeMapContainer{flex-direction:column;gap:12px;width:100%;display:flex}.earthquakeMapTabsWrapper{justify-content:flex-end;margin-bottom:2px;display:flex}.earthquakeMapTabs{background:var(--surface-secondary);border:1px solid var(--border-color);border-radius:9999px;gap:4px;padding:4px;display:inline-flex}.earthquakeMapTabButton{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:9999px;padding:6px 14px;font-size:.82rem;font-weight:500;transition:all .16s}.earthquakeMapTabButton:hover{color:var(--text-primary)}.earthquakeMapTabButton.active{background:var(--surface-primary);color:var(--accent-primary);font-weight:600;box-shadow:0 1px 3px #00000014}.earthquakeMapImageFrame{background:var(--surface-secondary);flex-direction:column;justify-content:center;align-items:center;min-height:480px;padding:16px;display:flex}.earthquakeMapImageContainer{flex-direction:column;justify-content:center;align-items:center;gap:14px;width:100%;max-width:100%;display:flex}.earthquakeMapImage{object-fit:contain;border-radius:12px;max-width:100%;max-height:540px;display:block;box-shadow:0 4px 16px #0000001a}.earthquakeMapImageFooter{justify-content:center;display:flex}.earthquakeMapImageExternalLink{gap:6px;padding:6px 14px;font-size:.82rem}.earthquakeExpandStationsWrapper{justify-content:center;margin-top:14px;display:flex}.earthquakeExpandStationsButton{border-radius:9999px;padding:7px 18px;font-size:.82rem;font-weight:500}.earthquakeImageLoading,.earthquakeWaveformLoading{background:var(--surface-secondary);color:var(--text-secondary);border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:240px;font-size:.88rem;font-weight:600;display:flex}.spinIcon{color:var(--earthquake-epicenter);animation:1s linear infinite eqSpin}@keyframes eqSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.imageHidden{opacity:0;visibility:hidden;width:0;height:0;position:absolute;overflow:hidden}.earthquakeMapImage,.earthquakeModalImage{transition:opacity .22s}@media (max-width:640px){.earthquakeRecentRailArrows{display:none!important}.earthquakeRecentRailHeader{flex-direction:column;align-items:stretch;gap:10px}.earthquakeRecentRailTitle{justify-content:space-between;align-items:center;width:100%;display:flex}.earthquakeRecentRailControls{justify-content:stretch;width:100%}.earthquakeViewModeToggle{width:100%;display:flex}.viewModeButton{flex:50%;justify-content:center;min-height:38px;padding:6px 8px;font-size:.78rem}.earthquakeOverviewHeader{flex-direction:column;align-items:stretch;gap:12px}.overviewDateRangeBadge{white-space:normal;word-break:break-word;font-size:.72rem;line-height:1.45}.overviewTimeWindowFilterGroup{grid-template-columns:repeat(2,1fr);gap:8px;width:100%;display:grid}.timeWindowFilterButton{flex:unset;flex-wrap:wrap;justify-content:center;width:100%;min-height:42px;padding:8px 6px;font-size:.76rem}.timeWindowTrendBadge{padding:2px 5px;font-size:.65rem}.earthquakeFeatureBadgeGroup{flex-wrap:wrap;gap:6px}.earthquakeStationItemCard{flex-wrap:wrap;align-items:flex-start;gap:8px}.stationMainInfo{flex:auto;min-width:120px}.stationActions{flex-wrap:wrap;justify-content:flex-end}.stationWaveformButton{min-height:30px;padding:4px 8px}.earthquakeMapTabsWrapper{-ms-overflow-style:none;scrollbar-width:none;justify-content:flex-start;width:100%;overflow-x:auto}.earthquakeMapTabsWrapper::-webkit-scrollbar{display:none}.earthquakeMapTabs{width:100%;display:flex}.earthquakeMapTabButton{text-align:center;white-space:nowrap;flex:auto;padding:6px 8px;font-size:.78rem}}@media (max-width:480px){.earthquakeFeatureCard{padding:14px}.earthquakeMagnitudeValue{font-size:3.4rem}.taiwanMapCanvas,.earthquakeMapCanvas{height:390px}.earthquakeMapImageFrame{min-height:300px;padding:10px}.earthquakeIntensityLegendItems{grid-template-columns:repeat(5,1fr);gap:6px 4px;display:grid}.earthquakeIntensityLegendItem{font-size:.72rem}.earthquakeModalOverlay{padding:10px}.earthquakeModalContent{border-radius:14px}.earthquakeModalHeader{padding:12px 14px}}
