*{box-sizing:border-box}body{margin:0;font-family:system-ui,Segoe UI,Roboto,sans-serif}#root{flex-direction:column;min-height:100svh;display:flex}main{flex:1}h1,h2{font-weight:600}a{color:inherit}.footer{border-top:1px solid var(--border);color:var(--text-muted);padding:1.5rem;font-size:.78rem}.footer a{color:var(--text-secondary)}.search{width:100%;max-width:22rem;position:relative}.search__input{border:1px solid var(--border);background:var(--surface-1);width:100%;color:var(--text-primary);border-radius:6px;padding:.45rem .7rem;font-size:.9rem}.search__results{z-index:20;background:var(--surface-1);border:1px solid var(--border);border-radius:6px;max-height:20rem;margin:0;padding:.25rem;list-style:none;position:absolute;top:calc(100% + .25rem);left:0;right:0;overflow-y:auto;box-shadow:0 6px 20px #00000026}.search__result{width:100%;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:space-between;gap:.5rem;padding:.4rem .5rem;font-size:.85rem;display:flex}.search__result:hover,.search__result:focus-visible{background:var(--surface-2)}.search__result-sublabel{color:var(--text-muted);font-size:.75rem}.navbar{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1.5rem;display:flex}.navbar__brand{color:var(--text-primary);font-size:1.1rem;font-weight:700;text-decoration:none}.updates{color:var(--text-muted);background:var(--surface-2);padding:.4rem 1.5rem;font-size:.75rem}.stat-card{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;min-width:9rem;padding:.9rem 1.1rem}.stat-card__label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;font-size:.75rem}.stat-card__value{align-items:baseline;gap:.45rem;margin-top:.3rem;display:flex}.stat-card__swatch{border-radius:50%;flex:none;width:.6rem;height:.6rem}.stat-card__aqi{color:var(--text-primary);font-size:1.6rem;font-weight:700}.stat-card__level{color:var(--text-secondary);font-size:.85rem}.stat-card__sublabel{color:var(--text-muted);margin-top:.15rem;font-size:.75rem}.city-header{padding:1rem 1.5rem 0}.city-header__breadcrumb{color:var(--text-secondary);font-size:.85rem;text-decoration:none}.city-header__row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:.5rem;display:flex}.city-header__row h1{margin:0;font-size:1.5rem}.region-table{border-collapse:collapse;width:100%;font-size:.9rem}.region-table th,.region-table td{text-align:left;border-bottom:1px solid var(--border);padding:.5rem .75rem}.region-table th{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.02em;font-size:.78rem;font-weight:600}.region-table tbody tr:hover{background:var(--surface-2)}.region-table a{color:var(--text-primary);font-weight:500;text-decoration:none}.region-table a:hover{text-decoration:underline}.header-cell{color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:.3rem;padding:0;display:inline-flex}.header-cell__arrow{font-size:.6rem}.table-cell-aqi{align-items:center;gap:.4rem;display:inline-flex}.table-cell-aqi__swatch{border-radius:50%;flex:none;width:.6rem;height:.6rem}.table-cell-aqi__value{color:var(--text-primary);font-weight:700}.table-cell-aqi__label{color:var(--text-secondary);font-size:.8rem}.table-row__dominant{color:var(--text-secondary)}.timeseries{position:relative}.timeseries svg{width:100%;display:block}.timeseries__xtick line{stroke:var(--border);stroke-width:1px}.timeseries__xtick text{fill:var(--text-muted);font-size:.65rem}.timeseries__line{fill:none;stroke:var(--text-primary);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.timeseries__band line{stroke:var(--border);stroke-width:1px;stroke-dasharray:2 3}.timeseries__band text{fill:var(--text-muted);font-size:.65rem}.timeseries__crosshair{stroke:var(--text-muted);stroke-width:1px}.timeseries__dot{fill:var(--text-primary)}.timeseries__tooltip{color:var(--text-secondary);background:var(--surface-2);border:1px solid var(--border);border-radius:4px;padding:.2rem .5rem;font-size:.8rem;position:absolute;top:0;right:0}.timeseries-brush{cursor:crosshair;touch-action:none;width:100%;margin-top:1.25rem;display:block}.timeseries-brush__line{fill:none;stroke:var(--text-muted);stroke-width:1.5px}.timeseries-brush__window{fill:var(--text-primary);opacity:.12;stroke:var(--text-primary);stroke-width:1px}.timeseries-brush__tick{fill:var(--text-muted);font-size:.65rem}.pollutant-grid{margin-top:1.5rem}.pollutant-grid__title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin:0 0 .6rem;font-size:.85rem}.pollutant-grid__cells{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem;display:grid}.pollutant-grid__cell{border:1px solid var(--border);background:var(--surface-1);border-radius:8px;padding:.6rem .7rem}.pollutant-grid__cell-header{align-items:baseline;gap:.4rem;margin-bottom:.3rem;display:flex}.pollutant-grid__swatch{border-radius:50%;flex:none;width:.6rem;height:.6rem}.pollutant-grid__label{font-size:.85rem;font-weight:600}.pollutant-grid__value{color:var(--text-secondary);margin-left:auto;font-size:.8rem}.timeseries-explorer{margin-top:1rem}.timeseries-explorer__header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.timeseries-explorer__header h3{margin:0;font-size:1rem}.timeseries-explorer__toggle{gap:.4rem;display:flex}.timeseries-explorer__toggle button{border:1px solid var(--border);background:var(--surface-1);color:var(--text-secondary);cursor:pointer;border-radius:6px;padding:.3rem .6rem;font-size:.78rem}.timeseries-explorer__toggle button.active{background:var(--surface-2);color:var(--text-primary);font-weight:600}.timeseries-explorer__loading{color:var(--text-muted);font-size:.85rem}.banner{position:absolute;top:9rem;right:1.5rem}.banner__link{text-decoration:none;display:inline-block}.legend{flex-direction:column;flex:none;gap:.55rem;margin:0 0 6rem;padding:0;font-size:.82rem;list-style:none;display:flex}@media (width<=640px){.legend{flex-flow:wrap;gap:.75rem 1.25rem}}.legend__item{align-items:center;gap:.4rem;display:flex}.legend__swatch{border-radius:2px;flex:none;width:.7rem;height:.7rem}.legend__label{color:var(--text-primary);font-weight:500}.legend__range{color:var(--text-muted)}.city-tooltip{z-index:50;pointer-events:none;background:var(--surface-1);border:1px solid var(--border);border-radius:8px;width:max-content;max-width:16rem;padding:.6rem .75rem;font-size:.8rem;position:fixed;box-shadow:0 6px 20px #0000002e}.city-tooltip__name{color:var(--text-primary);margin-bottom:.35rem;font-weight:600}.city-tooltip__table{border-collapse:collapse}.city-tooltip__table th,.city-tooltip__table td{text-align:left;white-space:nowrap;padding:.1rem 0}.city-tooltip__table th{color:var(--text-muted);padding-right:.75rem;font-weight:400}.city-tooltip__table td{color:var(--text-primary);text-align:right}.city-tooltip__dot{vertical-align:middle;border-radius:50%;width:.55rem;height:.55rem;margin-right:.35rem;display:inline-block}.map-visualizer{width:100%;height:auto;max-height:88vh}.map-visualizer__state{fill:var(--surface-2)}.city-markers__marker circle{opacity:.85;transition:stroke-width .15s,opacity .15s}.city-markers__marker:hover circle{opacity:1;stroke-width:2.5px}.state-header{padding:1rem 1.5rem 0}.state-header__breadcrumb{color:var(--text-secondary);font-size:.85rem;text-decoration:none}.state-header__row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:.5rem;display:flex}.state-header__row h1{margin:0;font-size:1.5rem}.state-meta-card{border:1px solid var(--border);background:var(--surface-2);text-align:center;border-radius:8px;padding:.5rem .9rem}.state-meta-card__value{color:var(--text-primary);font-size:1.2rem;font-weight:700}.state-meta-card__label{color:var(--text-secondary);text-transform:uppercase;font-size:.7rem}.state-meta{gap:.75rem;margin-top:.75rem;display:flex}.station-detail{padding:1rem 1.5rem 0}.station-detail__breadcrumb{color:var(--text-secondary);font-size:.85rem;text-decoration:none}.station-detail__row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:.5rem;display:flex}.station-detail__row h1{margin:0;font-size:1.3rem}.station-detail__coords{color:var(--text-muted);margin:.2rem 0 0;font-size:.8rem}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--surface-1:#fcfcfb;--surface-2:#f2f1ee;--text-primary:#0b0b0b;--text-secondary:#52514e;--text-muted:#86847d;--border:#dedcd6;--level-good:#1a9850;--level-satisfactory:#66bd63;--level-moderate:#d99a1a;--level-poor:#e8601c;--level-very_poor:#c21807;--level-severe:#9c1030;--level-no-data:#c9c8c2}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--surface-1:#1a1a19;--surface-2:#242422;--text-primary:#fff;--text-secondary:#c3c2b7;--text-muted:#8a887f;--border:#3a3a37;--level-good:#007a34;--level-satisfactory:#318a31;--level-moderate:#b57800;--level-poor:#d54e00;--level-very_poor:#c92313;--level-severe:#af283f;--level-no-data:#4a4a47}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--surface-1:#1a1a19;--surface-2:#242422;--text-primary:#fff;--text-secondary:#c3c2b7;--text-muted:#8a887f;--border:#3a3a37;--level-good:#007a34;--level-satisfactory:#318a31;--level-moderate:#b57800;--level-poor:#d54e00;--level-very_poor:#c92313;--level-severe:#af283f;--level-no-data:#4a4a47}body{background:var(--surface-1);color:var(--text-primary)}.page{max-width:72rem;margin:0 auto;padding-bottom:2rem;position:relative}.page__section{padding:1.5rem}.page__section h2{margin:0 0 .75rem;font-size:1.1rem}.page__map-legend{flex-direction:row;justify-content:space-between;align-items:flex-end;gap:2rem;display:flex}@media (width<=640px){.page__map-legend{flex-direction:column;align-items:stretch}}.page__map-legend-map{flex:auto;min-width:0;max-width:54rem}@media (width<=640px){.page__map-legend-map{max-width:100%}}.page__meta{padding:0 1.5rem}.map-explorer-loading{text-align:center;color:var(--text-muted);padding:2rem}
