*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}:root{--primary-color:#2196f3;--primary-hover:#1976d2;--success-color:#4caf50;--text-primary:#333;--text-secondary:#666;--text-tertiary:#888;--background-primary:#fff;--background-secondary:#f5f5f5;--background-tertiary:#f8f9fa;--border-color:#ddd;--border-light:#e0e0e0;--border-dark:#e9ecef;--shadow-light:0 2px 4px #0000001a;--shadow-medium:0 4px 8px #00000026;--shadow-dark:0 2px 8px #00000026;--aqi-good:#00e400;--aqi-moderate:#ffdc00;--aqi-unhealthy-sensitive:#ff7e00;--aqi-unhealthy:red;--aqi-very-unhealthy:#8f3f97;--aqi-hazardous:#7e0023;--aqi-no-data:#f0f0f0;--aqi-clear:#fff;--spacing-xs:5px;--spacing-sm:10px;--spacing-md:15px;--spacing-lg:20px;--spacing-xl:30px;--spacing-xxl:40px;--border-radius-sm:3px;--border-radius-md:5px;--border-radius-lg:8px}@media print{.controls{display:none}.chart-container{box-shadow:none;break-inside:avoid;page-break-inside:avoid}footer{display:none}}.App_app__zr1wm{margin:0 auto;max-width:1400px;padding:var(--spacing-lg)}.App_error__7hurn,.App_loading__Z10nZ{align-items:center;background:var(--background-primary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-light);display:flex;flex-direction:column;justify-content:center;margin:var(--spacing-xxl) auto;max-width:500px;min-height:400px;padding:var(--spacing-xxl)}.App_error__7hurn h2,.App_loading__Z10nZ h2{color:var(--text-primary);margin-bottom:var(--spacing-lg)}.App_error__7hurn p{color:var(--text-secondary);margin-bottom:var(--spacing-sm);text-align:center}.App_error__7hurn button{background:var(--primary-color);border:none;border-radius:var(--border-radius-md);color:var(--background-primary);cursor:pointer;font-size:1rem;margin-top:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg)}.App_error__7hurn button:hover{background:var(--primary-hover)}.App_chartContainer__VD64Y{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:var(--spacing-xl);padding:var(--spacing-xl)}.App_chartContainer__VD64Y h2{color:#333;margin-top:0}.App_subtitle__58P5V{color:#666;font-style:italic;margin-bottom:var(--spacing-lg)}.App_footer__aawhi{color:#666;font-size:.9rem;padding:var(--spacing-lg);text-align:center}.App_footer__aawhi a{color:var(--primary-color);text-decoration:none}.App_footer__aawhi a:hover{text-decoration:underline}@media (max-width:768px){.App_app__zr1wm,.App_chartContainer__VD64Y{padding:var(--spacing-md)}}@media (max-width:480px){.App_app__zr1wm{padding:var(--spacing-sm)}.App_chartContainer__VD64Y{margin:var(--spacing-sm) 0;padding:var(--spacing-sm)}.App_chartContainer__VD64Y h2{font-size:1.2rem;margin-bottom:var(--spacing-sm)}.App_chartContainer__VD64Y .App_subtitle__58P5V{font-size:.9rem;margin-bottom:var(--spacing-xs)}}@media print{.App_chartContainer__VD64Y{box-shadow:none;break-inside:avoid;page-break-inside:avoid}.App_footer__aawhi{display:none}}.Controls_controls__MBXvV{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;gap:15px;margin-bottom:var(--spacing-xl);padding:var(--spacing-lg)}.Controls_controls__MBXvV>.Controls_viewSelector__HgMo0{order:1}.Controls_controls__MBXvV>.Controls_annualHeatmapControls__pGN9I,.Controls_controls__MBXvV>.Controls_dataSource__slb36,.Controls_controls__MBXvV>.Controls_dateRange__eYjga,.Controls_controls__MBXvV>.Controls_heatmapControls__I\+mj-,.Controls_controls__MBXvV>.Controls_hourlyControls__164MQ{margin-bottom:15px}@media (max-width:768px){.Controls_controls__MBXvV{align-items:stretch;flex-direction:column}}.ColorLegend_colorLegend__Q6CUJ{align-items:center;background-color:var(--background-primary);border:1px solid var(--border-light);border-radius:var(--border-radius-lg);display:flex;flex-wrap:wrap;gap:var(--spacing-lg);justify-content:center;margin:var(--spacing-lg) 0;padding:var(--spacing-md)}.ColorLegend_legendItem__oezJG{align-items:center;color:var(--text-primary);display:flex;font-size:14px;gap:var(--spacing-xs)}.ColorLegend_legendColor__rjIQQ{border:1px solid #0003;border-radius:var(--border-radius-sm);height:16px;width:16px}@media (max-width:768px){.ColorLegend_colorLegend__Q6CUJ{gap:var(--spacing-md);justify-content:flex-start}.ColorLegend_legendItem__oezJG{font-size:13px}}@media (max-width:480px){.ColorLegend_colorLegend__Q6CUJ{flex-wrap:wrap;gap:var(--spacing-xs);justify-content:center}.ColorLegend_legendItem__oezJG{font-size:12px;min-width:80px}}.Chart_chartContainer__JG5jf{display:block}.Chart_chartContainer__JG5jf.Chart_hidden__qwKqc{display:none}.Chart_chartTitle__-sP\+T{color:#333;font-size:1.5rem;margin-bottom:20px;margin-top:0}.Chart_chartSubtitle__-EcyY{color:#666;font-style:italic;margin-bottom:20px}.Chart_chartSection__fwEkg{margin-bottom:var(--spacing-lg)}.Chart_chartSectionTitle__\+1F6H{color:#333;font-size:1.2rem;margin-bottom:var(--spacing-md)}@media (max-width:768px){.Chart_chartTitle__-sP\+T{font-size:1.3rem}.Chart_chartSectionTitle__\+1F6H{font-size:1.1rem}}@media (max-width:480px){.Chart_chartTitle__-sP\+T{font-size:1.2rem;margin-bottom:10px}.Chart_chartSubtitle__-EcyY{font-size:.9rem;margin-bottom:12px}.Chart_chartSectionTitle__\+1F6H{font-size:1rem}}.AnnualHeatmapChart_annualHeatmap__TqOk\+ .AnnualHeatmapChart_apexcharts-heatmap-rect__ATj2s{stroke:#fff!important;stroke-width:4px!important;rx:4px!important;ry:4px!important}.AnnualHeatmapChart_annualHeatmap__TqOk\+ .AnnualHeatmapChart_apexcharts-series__VaXJP{transform:scale(.85);transform-origin:center}.AnnualHeatmapChart_annualHeatmap__TqOk\+ .AnnualHeatmapChart_apexcharts-inner__XhGqS{padding-left:10px!important}.AnnualHeatmapChart_annualHeatmap__TqOk\+ .AnnualHeatmapChart_apexcharts-yaxis-label__OAb0U{margin-right:8px!important}.Header_header__XPRAH{margin-bottom:var(--spacing-xl)}.Header_headerContent__R6YiJ{align-items:flex-start;display:flex;gap:var(--spacing-lg);justify-content:space-between}.Header_headerText__dvpZL{flex:1 1;text-align:center}.Header_title__oq3xC{color:var(--text-primary);font-size:2.5rem;margin-bottom:var(--spacing-sm)}.Header_subtitle__8Sdhn{color:var(--text-secondary);font-size:1.1rem;margin:var(--spacing-xs) 0}.Header_headerControls__KiZ\+F{align-items:center;display:flex;flex-shrink:0;gap:var(--spacing-md)}.Header_refreshBtnHeader__BMW7G{flex-shrink:0;margin-top:var(--spacing-sm)}.Header_lastUpdate__W7VtU{color:var(--text-tertiary);font-size:.9rem}.Header_refreshBtn__rHa6X{background:var(--background-primary);border:2px solid var(--success-color);border-radius:var(--border-radius-md);color:var(--success-color);cursor:pointer;font-size:1rem;padding:var(--spacing-sm) var(--spacing-lg)}.Header_refreshBtn__rHa6X:hover{background:var(--success-color);color:var(--background-primary)}@media (max-width:768px){.Header_title__oq3xC{font-size:2rem}.Header_headerContent__R6YiJ{align-items:center;flex-direction:column;text-align:center}.Header_headerControls__KiZ\+F{gap:var(--spacing-sm)}.Header_refreshBtnHeader__BMW7G{margin-top:var(--spacing-md)}.Header_refreshBtn__rHa6X{min-height:44px;min-width:44px}}@media (max-width:480px){.Header_title__oq3xC{font-size:1.5rem}}.SummaryCards_summaryCards__ZFjtS{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:var(--spacing-lg)}.SummaryCards_card__sBHnf{background:var(--background-primary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-light);padding:var(--spacing-lg);text-align:center}.SummaryCards_cardTitle__IXiT1{color:var(--text-secondary);font-size:.9rem;letter-spacing:.5px;margin:0 0 var(--spacing-sm) 0;text-transform:uppercase}.SummaryCards_cardValue__tMrA0{color:var(--primary-color);font-size:2.5rem;font-weight:700;margin:var(--spacing-sm) 0}.SummaryCards_cardValue__tMrA0.SummaryCards_aqiGood__4dJI3{color:var(--aqi-good)}.SummaryCards_cardValue__tMrA0.SummaryCards_aqiModerate__L6LL-{color:var(--aqi-moderate)}.SummaryCards_cardValue__tMrA0.SummaryCards_aqiUnhealthySensitive__ngWGH{color:var(--aqi-unhealthy-sensitive)}.SummaryCards_cardValue__tMrA0.SummaryCards_aqiUnhealthy__K\+RLr{color:var(--aqi-unhealthy)}.SummaryCards_cardValue__tMrA0.SummaryCards_aqiVeryUnhealthy__Z\+Igi{color:var(--aqi-very-unhealthy)}.SummaryCards_cardValue__tMrA0.SummaryCards_aqiHazardous__sr8b0{color:var(--aqi-hazardous)}.SummaryCards_cardLabel__Fk7gF{color:var(--text-tertiary);font-size:.9rem}@media (max-width:768px){.SummaryCards_summaryCards__ZFjtS{gap:var(--spacing-sm);grid-template-columns:repeat(2,1fr)}.SummaryCards_card__sBHnf{padding:var(--spacing-md)}.SummaryCards_cardValue__tMrA0{font-size:2rem}}@media (max-width:480px){.SummaryCards_summaryCards__ZFjtS{gap:var(--spacing-xs);grid-template-columns:1fr}.SummaryCards_card__sBHnf{padding:12px}.SummaryCards_cardValue__tMrA0{font-size:1.8rem}}.LoadingError_error__nzJU6,.LoadingError_loading__1J0Ai{align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;justify-content:center;margin:40px auto;max-width:500px;min-height:400px;padding:40px}.LoadingError_error__nzJU6 h2,.LoadingError_loading__1J0Ai h2{color:#333;margin-bottom:20px}.LoadingError_error__nzJU6 p{color:#666;margin-bottom:10px;text-align:center}.LoadingError_error__nzJU6 button{background:var(--primary-color);border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:1rem;margin-top:10px;padding:10px 20px}.LoadingError_error__nzJU6 button:hover{background:#1976d2}.LoadingError_spinner__X7Kfg{border:4px solid #f3f3f3;border-radius:50%;border-top:4px solid var(--primary-color);height:40px;margin:20px 0;width:40px}.ViewSelector_viewSelector__A7P9U{display:flex;flex-wrap:wrap;gap:10px}.ViewSelector_viewSelector__A7P9U button{background:#fff;border:2px solid #ddd;border-radius:5px;cursor:pointer;font-size:1rem;padding:10px 20px}.ViewSelector_viewSelector__A7P9U button:hover{border-color:var(--primary-color);color:var(--primary-color)}.ViewSelector_viewSelector__A7P9U button.ViewSelector_active__9sajl{background:var(--primary-color);border-color:var(--primary-color);color:#fff}@media (max-width:768px){.ViewSelector_viewSelector__A7P9U{justify-content:center}.ViewSelector_viewSelector__A7P9U button{font-size:.9rem;min-height:44px;min-width:44px;padding:8px 15px}}@media (max-width:480px){.ViewSelector_viewSelector__A7P9U{flex-wrap:wrap;gap:8px}.ViewSelector_viewSelector__A7P9U button{flex:1 1;min-width:120px;padding:12px 8px}}.DateRangeControls_dataSource__Mq3H2,.DateRangeControls_dateRange__9dmH6{align-items:center;display:flex;gap:10px}.DateRangeControls_dataSource__Mq3H2 label,.DateRangeControls_dateRange__9dmH6 label{color:#666;font-weight:500;min-width:60px}.DateRangeControls_dataSource__Mq3H2 select,.DateRangeControls_dateRange__9dmH6 select{background:#fff;border:2px solid #ddd;border-radius:5px;cursor:pointer;font-size:1rem;padding:8px 15px}.DateRangeControls_annualHeatmapControls__9I9y8,.DateRangeControls_heatmapControls__ITyt4,.DateRangeControls_hourlyControls__fPOKd{align-items:center;display:flex;flex-wrap:wrap;gap:20px;margin-bottom:15px}.DateRangeControls_timeRangeToggle__q\+ydg{display:flex;gap:15px;margin:10px 0}.DateRangeControls_timeRangeToggle__q\+ydg label{align-items:center;cursor:pointer;display:flex;font-size:.9rem;gap:5px}.DateRangeControls_timeRangeToggle__q\+ydg input[type=radio]{margin:0}.DateRangeControls_customDateRange__bYYEd{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.DateRangeControls_customDateRange__bYYEd input[type=date]{background:#fff;border:2px solid #ddd;border-radius:5px;cursor:pointer;font-size:1rem;padding:8px 12px}.DateRangeControls_customDateRange__bYYEd span{color:#666;font-weight:500}.DateRangeControls_annualHeatmapControls__9I9y8 .DateRangeControls_aggregationType__34FDb,.DateRangeControls_annualHeatmapControls__9I9y8 .DateRangeControls_dataSource__Mq3H2,.DateRangeControls_annualHeatmapControls__9I9y8 .DateRangeControls_yearSelector__utQIQ{align-items:center;display:flex;gap:10px}.DateRangeControls_annualHeatmapControls__9I9y8 .DateRangeControls_aggregationType__34FDb label,.DateRangeControls_annualHeatmapControls__9I9y8 .DateRangeControls_dataSource__Mq3H2 label,.DateRangeControls_annualHeatmapControls__9I9y8 .DateRangeControls_yearSelector__utQIQ label{color:#666;font-weight:500;min-width:60px}.DateRangeControls_annualHeatmapControls__9I9y8 .DateRangeControls_aggregationType__34FDb select,.DateRangeControls_annualHeatmapControls__9I9y8 .DateRangeControls_dataSource__Mq3H2 select,.DateRangeControls_annualHeatmapControls__9I9y8 .DateRangeControls_yearSelector__utQIQ select{background:#fff;border:2px solid #ddd;border-radius:5px;cursor:pointer;font-size:1rem;padding:8px 15px}@media (max-width:768px){.DateRangeControls_dateRange__9dmH6{justify-content:center}.DateRangeControls_timeRangeToggle__q\+ydg{flex-direction:column;gap:8px}.DateRangeControls_customDateRange__bYYEd{align-items:stretch;flex-direction:column;gap:8px}.DateRangeControls_heatmapControls__ITyt4{align-items:flex-start;flex-direction:column;gap:15px}}@media (max-width:480px){.DateRangeControls_dateRange__9dmH6 select{font-size:16px;padding:12px 8px}.DateRangeControls_annualHeatmapControls__9I9y8{align-items:flex-start;flex-direction:column;gap:10px}.DateRangeControls_annualHeatmapControls__9I9y8 .DateRangeControls_aggregationType__34FDb,.DateRangeControls_annualHeatmapControls__9I9y8 .DateRangeControls_dataSource__Mq3H2,.DateRangeControls_annualHeatmapControls__9I9y8 .DateRangeControls_yearSelector__utQIQ{justify-content:space-between;width:100%}.DateRangeControls_annualHeatmapControls__9I9y8 select{max-width:150px}}
/*# sourceMappingURL=main.1a5389ce.css.map*/