.air-footer{align-items:center;gap:.5rem;flex-wrap:wrap}
.air-history-toggle,.air-history-retry{font:inherit;cursor:pointer;color:var(--ink);border:1px solid var(--border);border-radius:999px;background:var(--soft);padding:.45rem .85rem}
.air-history-toggle{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.3rem .7rem;font-size:.78rem;font-weight:650;line-height:1.4;margin-inline:auto;transition:background-color .15s,border-color .15s}
.air-history-toggle svg{width:.8rem;height:.8rem;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .15s}
.air-history-toggle[aria-expanded=true] svg{transform:rotate(180deg)}
.air-history-toggle:hover{border-color:var(--green)}
.air-history-toggle[aria-expanded=true]{background:var(--green);border-color:var(--green);color:#fff}
.air-history{grid-column:1/-1;min-width:0;padding:1.25rem;border:1px solid var(--border);border-radius:1rem;background:var(--surface)}
.air-history[hidden],.air-history [hidden],.air-history-toggle[hidden]{display:none!important}
.air-history-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.air-history h2{font-size:1.3rem;margin:0;letter-spacing:-.025em}
.air-history-status{display:flex;align-items:center;gap:.65rem;min-height:2.75rem;margin:.75rem 0 0;padding:.7rem 1rem;border:1px solid color-mix(in srgb,var(--border) 82%,var(--green));border-radius:.6rem;background:linear-gradient(100deg,var(--soft),color-mix(in srgb,var(--green) 5%,var(--surface)),var(--soft));color:var(--muted);font-size:.8rem;line-height:1.45}
.air-history[aria-busy=true] .air-history-status::before{content:'';display:block;width:2.25rem;height:.32rem;flex:0 0 2.25rem;border-radius:999px;background:linear-gradient(90deg,transparent 0 8%,var(--green) 32% 68%,transparent 92%);background-size:210% 100%;animation:air-history-ticker 1.2s ease-in-out infinite}
@keyframes air-history-ticker{from{background-position:210% 0}to{background-position:-110% 0}}
.air-history-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.air-history-tile{min-width:0;padding:.9rem;border:1px solid var(--border);border-radius:.75rem;background:var(--surface)}
.air-history-tile>header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.7rem;min-height:1.4rem}
.air-history-tile h3{font-size:1.1rem;line-height:1.25;margin:0;letter-spacing:-.02em}.air-history-tile>header>span{font-size:.75rem;color:var(--muted);white-space:nowrap}
.air-history-title{display:flex;align-items:center;gap:.45rem;min-width:0}
.air-chart-info,.air-info-link{appearance:none;padding:0;background:transparent;font:inherit;cursor:pointer}
.air-chart-info{display:inline-grid;width:1.8rem;height:1.8rem;flex:0 0 1.8rem;place-items:center;padding:0;border:1px solid var(--border);border-radius:50%;background:var(--surface);color:var(--muted);transition:border-color .15s ease,background-color .15s ease,color .15s ease}
.air-chart-info svg{width:1.05rem;height:1.05rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.air-chart-info:hover{border-color:var(--green);background:var(--soft);color:var(--ink)}
.air-history .air-info-trigger:focus-visible,.air-info-link:focus-visible{outline:none}
.air-history-heading-meta{display:grid;grid-template-columns:9rem 7rem 1.5rem;align-items:center;justify-content:end;column-gap:.45rem;min-height:1.4rem;flex:0 0 auto}.air-history-heading-meta>span,.air-history-hover-time{font-size:.72rem;color:var(--muted);white-space:nowrap}.air-history-hover-time{display:block;min-width:0;text-align:right;font-variant-numeric:tabular-nums;visibility:hidden}.air-history-hover-time.is-visible{visibility:visible}.air-history-heading-meta .air-history-reading{box-sizing:border-box;width:100%;min-width:0;justify-content:flex-end}.air-history-overall .air-history-heading-meta{grid-template-columns:9rem 9rem}.air-history-overall .air-overall-reading{min-width:0;justify-content:flex-end;align-items:center;gap:.65rem}.air-overall-reading::before{content:'';flex:0 0 .85rem;width:.85rem;height:.85rem;border-radius:50%;background:var(--air-color,#82928b);box-shadow:0 0 0 .3rem color-mix(in srgb,var(--air-color,#82928b) 18%,transparent)}
.air-history-chart{height:190px;position:relative}.air-history-chart>canvas,.air-overall-chart>canvas{display:block}.air-history-chart>.air-history-cursor,.air-overall-chart>.air-history-cursor{position:absolute;inset:0;width:100%;height:100%;touch-action:pan-y;cursor:crosshair}
.air-band-legend{display:flex;align-items:center;gap:.45rem .85rem;flex-wrap:wrap;margin:1rem 0;font-size:.72rem;color:var(--muted)}
.air-band-legend>span{display:inline-flex;align-items:center;gap:.3rem}.air-band-legend i{width:.75rem;height:.55rem;background:var(--air-color);border-radius:2px}
.air-average-empty{position:absolute;left:3rem;right:1rem;top:.5rem;font-size:.72rem;color:var(--muted);background:var(--surface);padding:.2rem .4rem;border-radius:.2rem}
.air-history[aria-busy=true] .air-history-content{opacity:.65}.air-history button:focus-visible{outline:3px solid var(--focus,#339b74);outline-offset:3px}
.air-history-reading{display:inline-flex;align-items:baseline;gap:.25rem;color:var(--ink);font-size:1.15rem;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap}.air-history-reading small{font-size:.7rem;font-weight:600;color:var(--muted)}
@media(max-width:759px){.air-history{padding:1rem}.air-history-grid{grid-template-columns:1fr}.air-history-chart{height:180px}.air-history-tile{padding:.75rem}.air-history-reading{font-size:1rem}}
@media(max-width:575px){.air-history h2{font-size:1.2rem}}
@media(min-width:1200px){.air-history-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.air-history-toggle,.air-history-toggle svg{transition:none}.air-history[aria-busy=true] .air-history-status::before{animation:none;background:var(--green)}}

.air-history-overall{margin:1rem 0;padding:1rem;border:1px solid var(--border);border-radius:.75rem}.air-history-overall>header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:1.4rem}.air-history-overall h3{margin:0;font-size:1.1rem;letter-spacing:-.02em}.air-history-overall .air-band-legend{margin:.7rem 0}.air-overall-chart{position:relative;height:280px}.air-overall-empty{font-size:.75rem;color:var(--muted);margin:.5rem 0 0}@media(max-width:759px){.air-history-overall{padding:.75rem}.air-overall-chart{height:260px}}

.air-history-toggle{position:relative}.air-history-toggle[aria-busy=true] svg{visibility:hidden}.air-history-toggle[aria-busy=true]::after{content:'';position:absolute;right:.7rem;top:50%;width:.8rem;height:.8rem;box-sizing:border-box;border:1.5px solid currentColor;border-right-color:transparent;border-radius:50%;animation:air-history-spin .8s linear infinite}@keyframes air-history-spin{from{transform:translateY(-50%) rotate(0)}to{transform:translateY(-50%) rotate(360deg)}}@media(prefers-reduced-motion:reduce){.air-history-toggle[aria-busy=true]::after{animation:none;transform:translateY(-50%)}}

/* Shared visual treatment with the portal's air-quality card. */
.dashboard-theme .air-overview {
  position: relative;
  border: 1px solid color-mix(in srgb, var(--border) 65%, var(--surface));
  border-radius: 0;
  background:
    radial-gradient(ellipse at 110% -10%, transparent 0 35%, rgb(118 150 139 / 8%) 35.5% 36%, transparent 36.5% 48%, rgb(118 150 139 / 6%) 48.5% 49%, transparent 49.5%),
    linear-gradient(135deg, var(--surface), color-mix(in srgb, #c7bda3 9%, var(--surface)));
  box-shadow: 0 4px 14px rgb(28 50 35 / 4%);
}
.dashboard-theme .air-overview::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 6px;
  background: linear-gradient(90deg, #7d9e90, #b9c9bd 55%, transparent);
  pointer-events: none;
}

/* Use the shared dashboard surface tokens and segmented controls. */
.air-history{border-radius:var(--radius)}
:root[data-theme=dark] .dashboard-theme .air-history-toggle[aria-expanded=true]{color:var(--accent-contrast,#0d1712)}

/* On a phone, keep history beside the air card instead of after the
   complete two-column briefing. Desktop keeps its existing full-width row. */
@media(max-width:759px){
  .dashboard-theme .briefing-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"left" "history" "right" "data";row-gap:1rem}
  .dashboard-theme .briefing-grid>.briefing-left{grid-area:left}
  .dashboard-theme .briefing-grid>.air-history{grid-area:history;margin-top:0}
  .dashboard-theme .briefing-grid>.briefing-right{grid-area:right}
  .dashboard-theme .briefing-grid>.briefing-data{grid-area:data}
}
@media(min-width:760px) and (max-width:1199px){.air-history-tile>header{display:grid;grid-template-columns:minmax(0,1fr);gap:.6rem}.air-history-tile .air-history-heading-meta{grid-template-columns:minmax(0,1fr) 6rem 1.25rem;width:100%}}
@media(max-width:575px){.air-history-tile>header,.air-history-overall>header{display:grid;grid-template-columns:minmax(0,1fr);align-items:start}.air-history-tile>header .air-history-heading-meta{grid-template-columns:minmax(0,1fr) 6rem 1.25rem;width:100%;min-width:0}.air-history-overall>header .air-history-heading-meta{grid-template-columns:minmax(0,1fr) 9rem;width:100%;min-width:0}.air-history-hover-time{font-size:.68rem;letter-spacing:-.02em}}

/* Air history reads as a compact data panel rather than a floating card. */
.air-history,.air-history-tile,.air-history-overall{border-radius:3px}
.air-history-toggle,.air-history-retry{border-radius:4px}

/* The chart guide borrows the strong side rail, quiet gradient header and
   circular close control from pregrada.info's image viewer. */
html.air-info-dialog-open,html.air-info-dialog-open body,html.record-dialog-open,html.record-dialog-open body{overflow:hidden}
body.air-info-dialog-open{padding-right:calc(var(--air-info-dialog-original-padding-right,0px) + var(--air-info-dialog-scrollbar-width,0px))}
body.record-dialog-open{padding-right:calc(var(--record-dialog-original-padding-right,0px) + var(--record-dialog-scrollbar-width,0px))}
body.air-info-dialog-open,body.record-dialog-open{position:fixed;inset-inline:0;top:calc(-1 * var(--dialog-scroll-top,0px));width:100%}
.air-info-dialog:not([open]){display:none}
.air-info-dialog{width:min(780px,calc(100vw - 2rem));max-width:calc(100vw - 2rem);max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem);padding:0;overflow:hidden;border:0;border-left:24px solid var(--green);border-radius:0;background:var(--surface);color:var(--ink);box-shadow:0 24px 80px rgb(0 0 0/.38)}
.air-info-dialog::backdrop{background:rgb(8 22 13/.74);backdrop-filter:blur(2px)}
.air-info-dialog:focus{outline:none}
.air-info-dialog-inner{display:flex;max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem);flex-direction:column;overflow:hidden}
.air-info-dialog-header{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:1rem;padding:1.2rem 1.5rem 1.05rem;border-bottom:1px solid var(--border);background:linear-gradient(115deg,var(--surface) 0%,var(--soft) 100%)}
.air-info-dialog-kicker{margin:0 0 .2rem;color:var(--green);font-size:.63rem;font-weight:800;letter-spacing:.12em}
.air-info-dialog-header h2{margin:0;color:var(--ink);font-size:1.3rem;letter-spacing:-.025em}
.air-info-dialog-subtitle{margin:.2rem 0 0;color:var(--muted);font-size:.78rem;line-height:1.4}
.air-info-dialog-close{display:grid;width:2.5rem;height:2.5rem;flex:0 0 2.5rem;place-items:center;padding:0;border:1px solid color-mix(in srgb,var(--green) 25%,var(--border));border-radius:50%;background:var(--surface);color:var(--muted);cursor:pointer;transition:transform .18s ease,border-color .18s ease,color .18s ease}
.air-info-dialog-close span{position:relative;display:block;width:1.15rem;height:1.15rem}
.air-info-dialog-close span::before,.air-info-dialog-close span::after{position:absolute;top:.5rem;left:0;width:1.15rem;height:2px;border-radius:999px;background:currentColor;content:''}
.air-info-dialog-close span::before{transform:rotate(45deg)}.air-info-dialog-close span::after{transform:rotate(-45deg)}
.air-info-dialog-close:hover{border-color:var(--green);color:var(--green);transform:rotate(90deg)}
.air-info-dialog-close:focus-visible{outline:none}
.air-info-dialog-body{flex:1 1 auto;min-height:0;padding:1.25rem 1.5rem 1.4rem;overflow:auto;overscroll-behavior:contain}
.air-info-lead{margin:0;color:var(--ink);font-size:1rem;line-height:1.65}
.air-info-section>p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.6}
.air-info-section strong{color:var(--ink)}
.air-info-section a{color:var(--green);font-weight:700}
.air-info-section{margin-top:1.2rem;padding-top:1.05rem;border-top:1px solid var(--border)}
.air-info-section h3{margin:0 0 .6rem;color:var(--ink);font-size:.92rem;letter-spacing:-.01em}
.air-info-chart-key{display:grid;grid-template-columns:2.5rem minmax(0,1fr);align-items:center;gap:.55rem .7rem}
.air-info-chart-key p{margin:0;color:var(--muted);font-size:.8rem;line-height:1.4}
.air-info-key-line{position:relative;display:block;height:1rem}.air-info-key-line::before{position:absolute;top:50%;left:0;width:100%;height:3px;transform:translateY(-50%);border-radius:999px;background:var(--air-info-metric,#329e83);content:''}.air-info-key-line.is-faint::before{height:2px;opacity:.35}.air-info-key-line.is-noise::before{background:#86939f}.air-info-key-line.is-stepped::before{height:0;border-top:3px solid var(--green);border-right:3px solid var(--green);border-radius:0;background:none}
.air-info-key-bands{display:block;height:1rem;border:1px solid var(--border);background:linear-gradient(90deg,#81ede555 0 16.6%,#74c9ac55 16.6% 33.2%,#d8c84255 33.2% 49.8%,#ec5e5755 49.8% 66.4%,#891a3455 66.4% 83%,#73287d55 83%)}
.air-info-levels{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.35rem;margin:0;padding:0;list-style:none}
.air-info-levels li{display:grid;grid-template-columns:auto 1fr;gap:.05rem .35rem;align-items:center;min-width:0;padding:.5rem .4rem;border:1px solid color-mix(in srgb,var(--air-info-color) 35%,var(--border));background:color-mix(in srgb,var(--air-info-color) 12%,var(--surface))}
.air-info-levels i{grid-row:1/3;width:.65rem;height:.65rem;border-radius:50%;background:var(--air-info-color)}
.air-info-levels span{color:var(--muted);font-size:.6rem}.air-info-levels strong{overflow-wrap:anywhere;font-size:.68rem;line-height:1.15}
.air-info-thresholds{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;margin:.7rem 0 0;padding:0;list-style:none}
.air-info-thresholds li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-content:start;align-items:baseline;gap:.35rem;padding:.5rem .55rem;border-left:5px solid var(--air-info-color);background:color-mix(in srgb,var(--air-info-color) 10%,var(--surface))}
.air-info-thresholds li p{grid-column:1/-1;margin:0;color:var(--muted);font-size:.72rem;line-height:1.45}
.air-info-thresholds span{font-size:.7rem}.air-info-thresholds strong{font-size:.75rem;font-variant-numeric:tabular-nums;white-space:nowrap}
.air-info-note{margin-top:.7rem!important}
.air-info-health>p{margin-bottom:.75rem}
.air-info-health-table{border:1px solid var(--border);border-radius:3px;overflow:hidden}
.air-info-health-head{display:grid;grid-template-columns:minmax(0,1.2fr) repeat(2,minmax(0,1fr));gap:.75rem;padding:.55rem .7rem;background:var(--soft);color:var(--muted);font-size:.66rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.air-info-health-table article{display:grid;grid-template-columns:minmax(0,1.2fr) repeat(2,minmax(0,1fr));gap:.75rem;align-items:start;padding:.65rem .7rem;border-top:1px solid var(--border);background:color-mix(in srgb,var(--air-info-color) 5%,var(--surface))}
.air-info-health-table h4{display:flex;align-items:center;gap:.4rem;margin:0;color:var(--ink);font-size:.76rem;line-height:1.4}.air-info-health-table h4 i{width:.65rem;height:.65rem;flex:none;border-radius:50%;background:var(--air-info-color)}
.air-info-health-table h4{flex-wrap:wrap}.air-info-health-table h4 small{flex-basis:100%;color:var(--muted);font-size:.7rem;font-weight:400;line-height:1.45}
.air-info-health-table article>div>span{display:none}.air-info-health-table article p{margin:0;color:var(--muted);font-size:.74rem;line-height:1.45}
.air-info-health-note{margin: .75rem 0 0!important;padding:.65rem .75rem;border-left:3px solid var(--green);background:color-mix(in srgb,var(--green) 6%,var(--surface));color:var(--ink)!important}
.air-info-measurement dl{margin:0}
.air-info-measurement dl>div{display:grid;grid-template-columns:7.5rem minmax(0,1fr);gap:.7rem;padding:.45rem 0;border-bottom:1px solid color-mix(in srgb,var(--border) 70%,transparent)}
.air-info-measurement dl>div:first-child{padding-top:0}.air-info-measurement dl>div:last-child{padding-bottom:0;border-bottom:0}
.air-info-measurement dt{color:var(--green);font-size:.68rem;font-weight:800;letter-spacing:.055em;text-transform:uppercase}
.air-info-measurement dd{margin:0;color:var(--muted);font-size:.78rem;line-height:1.5}
.air-info-measurement h4{margin:.85rem 0 .5rem;color:var(--ink);font-size:.78rem}
.air-info-db-examples{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;margin:0;padding:0;list-style:none}
.air-info-db-examples li{display:flex;align-items:baseline;gap:.4rem;padding:.48rem .55rem;border-left:4px solid color-mix(in srgb,var(--green) 55%,var(--border));background:var(--soft)}
.air-info-db-examples strong{flex:none;font-size:.72rem;font-variant-numeric:tabular-nums}.air-info-db-examples span{color:var(--muted);font-size:.7rem;line-height:1.3}
.air-info-db-note{margin:.55rem 0 0!important;font-size:.7rem!important}
.air-info-effects>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}
.air-info-effects article{padding:.75rem;border:1px solid var(--border);border-top:3px solid color-mix(in srgb,var(--green) 58%,var(--border));border-radius:3px;background:var(--soft)}
.air-info-effects article>span{display:block;margin-bottom:.3rem;color:var(--green);font-size:.66rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.air-info-effects article p{margin:0;color:var(--muted);font-size:.76rem;line-height:1.5}
.air-info-effects-note{margin:.65rem 0 0!important;font-size:.72rem!important}
.air-info-dialog-footer{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1.5rem;border-top:1px solid var(--border);background:var(--soft)}
.air-info-dialog-footer p{margin:0;color:var(--muted);font-size:.7rem;line-height:1.4}
.air-info-dialog-footer a{display:inline-flex;flex:none;align-items:center;gap:.35rem;padding:.45rem .75rem;border:1px solid color-mix(in srgb,var(--green) 30%,var(--border));border-radius:999px;background:var(--surface);color:var(--green);font-size:.72rem;font-weight:700;text-decoration:none}
.air-info-dialog-footer a:hover{border-color:var(--green);background:color-mix(in srgb,var(--green) 7%,var(--surface))}
.air-info-dialog-footer a:focus-visible{outline:none}

@media(min-width:721px){.air-info-dialog:has(.air-info-health){width:min(960px,calc(100vw - 2rem))}}
@media(max-width:720px){
  .air-chart-info{width:2.25rem;height:2.25rem;flex-basis:2.25rem}.air-info-link{width:2.25rem;height:2.25rem;flex-basis:2.25rem}
  .air-info-dialog{width:calc(100vw - 1rem);max-width:calc(100vw - 1rem);max-height:calc(100vh - 1rem);max-height:calc(100dvh - 1rem);border-left-width:8px}
  .air-info-dialog-inner{max-height:calc(100vh - 1rem);max-height:calc(100dvh - 1rem)}
  .air-info-dialog-header{align-items:flex-start;padding:1rem .9rem .9rem}.air-info-dialog-header h2{font-size:1.15rem}.air-info-dialog-subtitle{font-size:.72rem}
  .air-info-dialog-close{width:2.75rem;height:2.75rem;flex-basis:2.75rem}
  .air-info-dialog-body{padding:1rem .9rem 1.2rem}.air-info-lead{font-size:.92rem;line-height:1.55}
  .air-info-levels{grid-template-columns:repeat(2,minmax(0,1fr))}.air-info-levels li{padding:.5rem}
  .air-info-thresholds{grid-template-columns:1fr 1fr}.air-info-thresholds li{padding:.48rem}
  .air-info-measurement dl>div{grid-template-columns:6rem minmax(0,1fr);gap:.5rem}.air-info-measurement dd{font-size:.76rem}.air-info-db-examples{grid-template-columns:1fr 1fr}.air-info-db-examples li{align-items:flex-start;flex-direction:column;gap:.08rem}
  .air-info-effects>div{grid-template-columns:1fr;gap:.45rem}.air-info-effects article{padding:.7rem}.air-info-effects article p{font-size:.78rem}
  .air-info-health-head{display:none}.air-info-health-table{border:0;overflow:visible}.air-info-health-table article{display:grid;grid-template-columns:1fr;gap:.55rem;margin-bottom:.5rem;padding:.7rem;border:1px solid var(--border)}.air-info-health-table article:first-of-type{border-top:1px solid var(--border)}.air-info-health-table article>div>span{display:block;margin-bottom:.12rem;color:var(--green);font-size:.62rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.air-info-health-table article p{font-size:.76rem}
  .air-info-dialog-footer{align-items:stretch;flex-direction:column;padding:.75rem .9rem calc(.75rem + env(safe-area-inset-bottom));text-align:center}.air-info-dialog-footer a{justify-content:center;min-height:2.6rem}
}
@media(max-width:575px){.air-history-tile>header .air-history-title,.air-history-overall>header .air-history-title{justify-content:space-between;width:100%}}
@media(prefers-reduced-motion:reduce){.air-chart-info,.air-info-dialog-close{transition:none}.air-info-dialog-close:hover{transform:none}}

/* Keep pollutant tile headers compact on narrow phones: the info control stays
   with the title while the current value and period remain on the right. */
@media(max-width:575px){
  .air-history-tile>header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
  .air-history-tile>header .air-history-title{width:auto;flex:1 1 auto;justify-content:flex-start;min-width:0}
  .air-history-tile>header .air-history-heading-meta{display:grid;grid-template-columns:auto auto;width:auto;min-width:max-content;flex:0 0 auto;column-gap:.35rem}
  .air-history-tile>header .air-history-heading-meta .air-history-hover-time{display:none}
  .air-history-tile>header .air-history-heading-meta .air-history-reading{width:auto}
}

@media(max-width:759px){.air-history-heading h2{display:none}}

/* Keep the history title and period controls aligned within the disclosure. */
.air-quality-disclosure-content .air-history-heading{padding:.75rem 1rem .25rem;margin-bottom:0}
.air-quality-disclosure-content .air-history-overall{margin-top:.5rem}
@media(max-width:759px){.air-quality-disclosure-content .air-history-heading{padding:.75rem .75rem .25rem}}

/* Measurement tiles open the same interactive chart in a focused dialog. */
.air-chart-dialog{max-height:min(calc(100dvh - 2rem),54rem)}
.air-chart-dialog .air-info-dialog-inner{max-height:min(calc(100dvh - 2rem),54rem)}
.air-chart-dialog .air-info-dialog-header{padding:.85rem 1.25rem .7rem}
.air-chart-dialog .air-info-dialog-body{padding:.75rem 1.25rem 1rem}
.air-chart-dialog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:0 0 .6rem;color:var(--muted);font-size:.75rem;font-weight:700}
.air-chart-dialog-toolbar .chart-range{display:flex;width:auto;gap:.2rem;padding:.2rem;border-radius:.55rem;background:var(--soft)}
.air-chart-dialog-toolbar .chart-range button{min-height:2.25rem;padding:.38rem .7rem;border:1px solid transparent;border-radius:.4rem;background:transparent;color:var(--muted);font:inherit;font-size:.75rem;white-space:nowrap;cursor:pointer}
.air-chart-dialog-toolbar .chart-range button.is-active{border-color:var(--border);background:var(--surface);color:var(--ink);box-shadow:0 1px 4px color-mix(in srgb,var(--ink) 10%,transparent)}
.air-chart-dialog-toolbar .chart-range button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.air-chart-dialog-status{display:flex;align-items:center;min-height:2.25rem;margin:0 0 .6rem;padding:.55rem .7rem;border:1px solid var(--border);background:var(--soft);color:var(--muted);font-size:.8rem}
.air-chart-dialog-chart{position:relative;height:19rem;margin:0 -.35rem .65rem;border-bottom:1px solid var(--border)}
.air-chart-dialog-chart>canvas:first-child{display:block;width:100%;height:100%}
.air-chart-dialog-chart>.air-history-cursor{position:absolute;inset:0;width:100%;height:100%;touch-action:pan-y;cursor:crosshair}
.air-chart-dialog-description{padding-top:0}
.air-chart-dialog-lead{margin:0;color:var(--ink);font-size:.9rem;line-height:1.45}
.air-chart-dialog-reading{display:flex;align-items:baseline;gap:.65rem;min-width:0;flex:1 1 auto;margin:0;color:var(--muted);font-size:.72rem;font-variant-numeric:tabular-nums}
.air-chart-dialog-reading time{visibility:hidden}.air-chart-dialog-reading time.is-visible{visibility:visible}
.air-chart-dialog-reading output{color:var(--ink);font-size:.9rem;font-weight:800}.air-chart-dialog-reading output small{margin-left:.25rem;color:var(--muted);font-size:.68rem;font-weight:600}
@media(max-width:720px){
  .air-chart-dialog .air-info-dialog-header{padding:.75rem .9rem .6rem}
  .air-chart-dialog .air-info-dialog-body{padding:.7rem .9rem .85rem}
  .air-chart-dialog-toolbar{align-items:center;flex-direction:row;gap:.5rem}
  .air-chart-dialog-toolbar .chart-range{display:flex;width:auto;flex:0 0 auto;grid-template-columns:none}
  .air-chart-dialog-toolbar .chart-range button{min-height:2.35rem;padding-inline:.55rem}
  .air-chart-dialog-chart{height:15rem;margin-inline:-.15rem}
}
@media(max-width:390px){.air-chart-dialog-chart{height:13rem}.air-chart-dialog-toolbar{gap:.3rem}.air-chart-dialog-toolbar .chart-range{gap:.1rem}.air-chart-dialog-toolbar .chart-range button{padding-inline:.4rem;font-size:.68rem}.air-chart-dialog-reading{gap:.35rem;font-size:.66rem}}

/* Keep the compact controls side by side even when the shared chart-toolbar
   defaults switch to a stacked layout. */
.air-chart-dialog .air-chart-dialog-toolbar{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important}
.air-chart-dialog .air-chart-dialog-toolbar .air-chart-dialog-reading{justify-content:flex-start;min-width:0}
.air-chart-dialog .air-chart-dialog-toolbar .chart-range{display:flex!important;width:auto!important;flex:0 0 auto!important;grid-template-columns:none!important}
