@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&family=DM+Mono:wght@400;500&display=swap";._toggle_sfhhx_1{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-base)}._toggle_sfhhx_1:hover{background:var(--accent-light);color:var(--accent);border-color:var(--accent)}._icon_sfhhx_21{display:flex;align-items:center;justify-content:center;transition:transform .4s ease}._rotated_sfhhx_28{transform:rotate(30deg)}._header_2is56_1{height:var(--header-height);background:var(--bg-card);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 var(--sp-6);position:sticky;top:0;z-index:50;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:background var(--transition-slow),border-color var(--transition-slow)}._left_2is56_17{display:flex;align-items:center;gap:var(--sp-4)}._logo_2is56_23{display:flex;align-items:center;gap:var(--sp-2);text-decoration:none}._logoIcon_2is56_30{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--accent);color:#fff;border-radius:var(--radius-md)}._logoText_2is56_41{font-size:1.1rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}._right_2is56_48{display:flex;align-items:center;gap:var(--sp-3)}._favLink_2is56_54{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary);transition:all var(--transition-base)}._favLink_2is56_54:hover{background:#ef44441a;border-color:#ef44444d;color:#ef4444}._badge_2is56_74{position:absolute;top:-5px;right:-5px;width:18px;height:18px;background:#ef4444;color:#fff;border-radius:50%;font-size:.65rem;font-weight:700;display:flex;align-items:center;justify-content:center;border:2px solid var(--bg-primary)}._sidebar_5yhwt_1{width:var(--sidebar-width);height:100vh;background:var(--bg-card);border-right:1px solid var(--border-color);display:flex;flex-direction:column;padding:var(--sp-5) 0;position:fixed;top:0;left:0;z-index:40;transition:background var(--transition-slow),border-color var(--transition-slow)}._brand_5yhwt_16{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-5);margin-bottom:var(--sp-6)}._brandIcon_5yhwt_24{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--accent);color:#fff;border-radius:var(--radius-md);flex-shrink:0}._brandName_5yhwt_36{font-size:1.05rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}._nav_5yhwt_43{display:flex;flex-direction:column;gap:var(--sp-1);padding:0 var(--sp-3);flex:1}._navItem_5yhwt_51{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-3);border-radius:var(--radius-md);color:var(--text-secondary);font-weight:500;font-size:.9rem;transition:all var(--transition-base);text-decoration:none}._navItem_5yhwt_51:hover{background:var(--bg-secondary);color:var(--text-primary)}._navItem_5yhwt_51._active_5yhwt_69{background:var(--accent-light);color:var(--accent)}._navIcon_5yhwt_74{display:flex;align-items:center;flex-shrink:0}._navLabel_5yhwt_80{font-size:.9rem}._footer_5yhwt_84{padding:var(--sp-4) var(--sp-5);border-top:1px solid var(--border-color);margin-top:var(--sp-4)}._footerText_5yhwt_90{font-size:.75rem;font-weight:600;color:var(--text-muted)}._footerSub_5yhwt_96{font-size:.7rem;color:var(--text-muted);margin-top:2px}@media (max-width: 1024px){._sidebar_5yhwt_1{width:var(--sidebar-collapsed);padding:var(--sp-5) 0}._brand_5yhwt_16{justify-content:center;padding:var(--sp-3);margin-bottom:var(--sp-6)}._brandName_5yhwt_36,._navLabel_5yhwt_80,._footer_5yhwt_84{display:none}._nav_5yhwt_43{padding:0 var(--sp-2);align-items:center}._navItem_5yhwt_51{justify-content:center;padding:var(--sp-3);width:44px;height:44px}}@media (max-width: 768px){._sidebar_5yhwt_1{display:none}}._appShell_c2ite_1{display:flex;min-height:100vh;background:var(--bg-primary)}._main_c2ite_7{flex:1;margin-left:var(--sidebar-width);min-height:100vh;display:flex;flex-direction:column;transition:margin-left var(--transition-base)}._content_c2ite_16{flex:1;padding:var(--sp-6);max-width:1200px;width:100%;margin:0 auto}._bottomNav_c2ite_24{display:none}@media (max-width: 1024px){._main_c2ite_7{margin-left:var(--sidebar-collapsed)}}@media (max-width: 768px){._main_c2ite_7{margin-left:0;padding-bottom:var(--bottom-nav-height)}._content_c2ite_16{padding:var(--sp-4)}._bottomNav_c2ite_24{display:flex;position:fixed;bottom:0;left:0;right:0;height:var(--bottom-nav-height);background:var(--bg-card);border-top:1px solid var(--border-color);z-index:50;justify-content:space-around;align-items:center;padding:0 var(--sp-4)}._bottomItem_c2ite_61{display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--text-muted);font-size:.65rem;font-weight:500;text-decoration:none;padding:var(--sp-2) var(--sp-4);border-radius:var(--radius-md);transition:all var(--transition-base)}._bottomItem_c2ite_61._bottomActive_c2ite_75{color:var(--accent)}}._spinnerWrap_wh7du_1{display:flex;align-items:center;justify-content:center;padding:var(--sp-8)}._spinner_wh7du_1{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--accent);border-radius:50%;animation:_spin_wh7du_1 .7s linear infinite}._inlineSpinner_wh7du_17{display:inline-block;border:2px solid rgba(255,255,255,.3);border-top-color:currentColor;border-radius:50%;animation:_spin_wh7du_1 .6s linear infinite}@keyframes _spin_wh7du_1{to{transform:rotate(360deg)}}._skeletonGroup_wh7du_30{display:flex;flex-direction:column;gap:var(--sp-3)}._skeletonLine_wh7du_36{height:14px;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--bg-secondary) 25%,var(--border-color) 50%,var(--bg-secondary) 75%);background-size:200% 100%;animation:_shimmer_wh7du_1 1.5s infinite;animation-delay:var(--delay, 0ms)}._cardSkeleton_wh7du_51{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-4)}._skeletonCircle_wh7du_61{width:48px;height:48px;border-radius:50%;background:linear-gradient(90deg,var(--bg-secondary) 25%,var(--border-color) 50%,var(--bg-secondary) 75%);background-size:200% 100%;animation:_shimmer_wh7du_1 1.5s infinite}._skeletonLines_wh7du_75{display:flex;flex-direction:column;gap:var(--sp-2)}._skeletonBlock_wh7du_81{height:80px;border-radius:var(--radius-md);background:linear-gradient(90deg,var(--bg-secondary) 25%,var(--border-color) 50%,var(--bg-secondary) 75%);background-size:200% 100%;animation:_shimmer_wh7du_1 1.5s infinite}._chartSkeleton_wh7du_95{height:200px;display:flex;align-items:flex-end;justify-content:center;gap:var(--sp-2);padding:var(--sp-4);border-radius:var(--radius-lg);border:1px solid var(--border-color);background:var(--bg-card)}._chartBars_wh7du_107{display:flex;align-items:flex-end;gap:var(--sp-3);width:100%;height:100%}._chartBar_wh7du_107{flex:1;border-radius:var(--radius-sm) var(--radius-sm) 0 0;min-height:20px}@keyframes _shimmer_wh7du_1{0%{background-position:-200% 0}to{background-position:200% 0}}:root{--bg-primary: #F0F4F8;--bg-secondary: #E8EEF4;--bg-card: #FFFFFF;--bg-card-hover: #F8FAFC;--border-color: #D1DCE8;--border-subtle: rgba(99, 102, 241, .1);--text-primary: #0D1B2A;--text-secondary: #4A6080;--text-muted: #8BA0B8;--accent: #6366F1;--accent-hover: #4F46E5;--accent-light: #EEF2FF;--accent-glow: rgba(99, 102, 241, .15);--shadow-sm: 0 1px 3px rgba(13, 27, 42, .08), 0 1px 2px rgba(13, 27, 42, .04);--shadow-md: 0 4px 12px rgba(13, 27, 42, .1), 0 2px 6px rgba(13, 27, 42, .06);--shadow-lg: 0 10px 30px rgba(13, 27, 42, .12), 0 4px 12px rgba(13, 27, 42, .08);--shadow-accent: 0 4px 20px rgba(99, 102, 241, .25);--aqi-good: #22C55E;--aqi-good-bg: rgba(34, 197, 94, .1);--aqi-moderate: #EAB308;--aqi-moderate-bg: rgba(234, 179, 8, .1);--aqi-unhealthy-sensitive: #F97316;--aqi-unhealthy-sensitive-bg: rgba(249, 115, 22, .1);--aqi-unhealthy: #EF4444;--aqi-unhealthy-bg: rgba(239, 68, 68, .1);--aqi-very-unhealthy: #A855F7;--aqi-very-unhealthy-bg: rgba(168, 85, 247, .1);--aqi-hazardous: #881337;--aqi-hazardous-bg: rgba(136, 19, 55, .1);--font-sans: "Space Grotesk", -apple-system, sans-serif;--font-mono: "DM Mono", "Courier New", monospace;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--sp-16: 64px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--sidebar-width: 240px;--sidebar-collapsed: 64px;--header-height: 64px;--bottom-nav-height: 60px;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .35s ease}[data-theme=dark]{--bg-primary: #080F1A;--bg-secondary: #111827;--bg-card: #141F2E;--bg-card-hover: #1A2840;--border-color: #1E3048;--border-subtle: rgba(129, 140, 248, .12);--text-primary: #EEF2FF;--text-secondary: #94A3B8;--text-muted: #4A6080;--accent: #818CF8;--accent-hover: #6366F1;--accent-light: rgba(129, 140, 248, .12);--accent-glow: rgba(129, 140, 248, .2);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .35);--shadow-lg: 0 10px 30px rgba(0, 0, 0, .4);--shadow-accent: 0 4px 20px rgba(99, 102, 241, .35)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes gaugeAnim{0%{stroke-dashoffset:var(--gauge-max)}to{stroke-dashoffset:var(--gauge-offset)}}@keyframes progressFill{0%{width:0%}to{width:var(--progress-width)}}@keyframes bounceIn{0%{transform:scale(.8);opacity:0}60%{transform:scale(1.05);opacity:1}to{transform:scale(1)}}.animate-fadeIn{animation:fadeIn .4s ease both}.animate-fadeInUp{animation:fadeInUp .5s ease both}.animate-scaleIn{animation:scaleIn .3s ease both}.animate-slideInLeft{animation:slideInLeft .4s ease both}.delay-1{animation-delay:50ms}.delay-2{animation-delay:.1s}.delay-3{animation-delay:.15s}.delay-4{animation-delay:.2s}.delay-5{animation-delay:.25s}.delay-6{animation-delay:.3s}.shimmer{background:linear-gradient(90deg,var(--bg-secondary) 25%,var(--border-color) 50%,var(--bg-secondary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);transition:background-color var(--transition-slow),color var(--transition-slow);min-height:100vh;line-height:1.6}#root{min-height:100vh}a{color:inherit;text-decoration:none}button{font-family:var(--font-sans);cursor:pointer;border:none;background:none}input,select,textarea{font-family:var(--font-sans)}img{max-width:100%;display:block}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.mono{font-family:var(--font-mono)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}
