/* [airquality] Air Quality gauge (/weather card + /weather/air-quality page), staging Oct 30 2026. Same pattern as [uvmeter] gauges.
   Colors: U.S. EPA standard AQI colors (EPA-454/B-24-002 Table 2). Classes only: CSP style-src 'self'. */
.wx-hero.aqm{--aq-good:#00E400;--aq-moderate:#FFFF00;--aq-usg:#FF7E00;--aq-unhealthy:#FF0000;--aq-veryunhealthy:#8F3F97;--aq-hazardous:#7E0023;--aqm-a:#8aa4bb;position:relative;margin:14px 0 18px;padding:16px 20px 14px;border:1px solid #d7e2ea;border-left:6px solid var(--aqm-a);border-radius:10px;background:linear-gradient(135deg,#f1f8ff 0%,#f8fbff 55%,#fff 100%);box-shadow:0 2px 10px rgba(11,37,64,.07);color:#14181f}
.aqm.aqm-c-good{--aqm-a:#00b800}.aqm.aqm-c-moderate{--aqm-a:#e0d000}.aqm.aqm-c-usg{--aqm-a:var(--aq-usg)}.aqm.aqm-c-unhealthy{--aqm-a:var(--aq-unhealthy)}.aqm.aqm-c-veryunhealthy{--aqm-a:var(--aq-veryunhealthy)}.aqm.aqm-c-hazardous{--aqm-a:var(--aq-hazardous)}
.wx-hero.aqm.aqm-s-stale,.wx-hero.aqm.aqm-s-offline,.wx-hero.aqm.aqm-s-check{background:#f7f8fa;--aqm-a:#b5bcc6}
.aqm-samplebar{margin:-16px -20px 12px -20px;padding:6px 20px;border-radius:9px 9px 0 0;background:repeating-linear-gradient(135deg,#1c2430 0 12px,#2a3442 12px 24px);color:#ffd84d;font-size:12.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.aqm-top{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 14px;margin-bottom:12px}
.aqm-top h2{margin:0;font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#0b2540}
.aqm-asof{font-size:14px;font-weight:600;color:#264b6b}
.aqm-body.aqm-gauge{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:12px 26px;align-items:center}
.aqm-read{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 20px}
.aqm-cat{flex:1 1 170px;min-width:0}
.aqm-catname{margin:0;font-size:26px;font-weight:800;line-height:1.12;color:#0b2540}
.aqm-catsub{margin:4px 0 0;font-size:13px;line-height:1.4;color:#5b6472}
.aqm-pm{margin:8px 0 0;font-size:14px;line-height:1.45;color:#2d3743}
.aqm-means{margin:0 0 10px;font-size:16px;line-height:1.45;color:#14181f}
.aqm-advice h3{margin:0 0 6px;font-size:15px;font-weight:800;color:#0b2540}
.aqm-advice ul{margin:0 0 8px;padding-left:20px}
.aqm-advice li{margin:0 0 5px;font-size:15px;line-height:1.45}
.aqm-star,.aqm-sens{margin:6px 0 0;font-size:13.5px;line-height:1.45;color:#3a4552}
.aqm-calm{grid-template-columns:auto minmax(0,1fr);gap:14px;margin-bottom:10px}
.aqm-calmhead{margin:0;font-size:21px;font-weight:800;color:#24324a}
.aqm-calmsub{margin:4px 0 0;font-size:14.5px;line-height:1.45;color:#4f5b6b}
.aqm-calmsub a,.aqm-legal a,.aqm-more a,.aqm-how a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.aqm-more{margin:12px 0 0;font-size:14.5px;font-weight:700;color:#0b4a7a}
.aqm-map{margin:10px 0 0;font-size:14px}.aqm-map a{display:inline-block;padding:6px 14px;border:1px solid #c9d6e2;border-radius:999px;background:#fff;color:#0b4a7a;font-weight:700;text-decoration:none;box-shadow:0 1px 3px rgba(11,37,64,.08)}.aqm-map a:hover,.aqm-map a:focus{border-color:#0b4a7a;text-decoration:underline}
.aqm-legal{margin:12px 0 0;font-size:12.5px;line-height:1.45;color:#6b7480}
.aqg-wrap{flex:0 0 auto;width:240px;max-width:100%;margin:0 auto;text-align:center}
.aqg{display:block;width:100%;height:auto;overflow:visible}
.aqg-track{fill:none;stroke:#e4e9ef;stroke-width:22;stroke-linecap:round}
.aqg-band{fill:none;stroke-width:14;opacity:.9;transition:opacity .3s}
.aqg-band.aqg-on{opacity:1;stroke-width:17;filter:drop-shadow(0 0 5px var(--g))}
.aqg-tick{font:700 9px/1 system-ui,-apple-system,"Segoe UI",sans-serif;fill:#5b6472;text-anchor:middle}
.aqg-needle{transform-box:view-box;transform-origin:0 0;transform:rotate(var(--aqg-a,0deg));fill:#14181f;filter:drop-shadow(0 0 4px rgba(0,0,0,.25));animation:aqg-sweep 1.5s cubic-bezier(.2,.85,.25,1.12) .2s both}
@keyframes aqg-sweep{from{transform:rotate(0deg)}}
.aqg-hub{fill:#14181f;stroke:#fff;stroke-width:2.5}
.aqg-num{margin:2px 0 0;line-height:1}
.aqg-num b{display:block;font-size:44px;font-weight:900;color:#0b2540;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.aqg-num small{display:block;margin-top:5px;font-size:13px;font-weight:800;color:#4f5b6b}
.aqg-dim .aqg-band{opacity:.3;filter:grayscale(.7)}
.aqg-dim .aqg-num b{color:#8a939e}
.aqg-dim .aqg-hub{fill:#8a939e}
.aqm-calm .aqg-wrap{width:190px}
.aqm-led{--led:#b8bfc8;display:inline-flex;align-items:center;gap:8px;margin:0 0 8px;padding:4px 12px 4px 8px;border-radius:999px;background:#fff;border:1px solid #dde3ea;box-shadow:0 1px 3px rgba(11,37,64,.08);font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#24324a;line-height:1.2}
.aqm-led i{flex:0 0 auto;width:12px;height:12px;border-radius:50%;background:var(--led);box-shadow:0 0 6px 1px var(--led)}
.aqm-led-pulse i{animation:aqm-led-pulse 1.8s ease-in-out infinite}
@keyframes aqm-led-pulse{0%,100%{box-shadow:0 0 2px 0 var(--led);transform:scale(.92)}50%{box-shadow:0 0 12px 4px var(--led);transform:scale(1.08)}}
.aqm-led-off{color:#5b6472}.aqm-led-off i{background:#b8bfc8;box-shadow:inset 0 1px 2px rgba(0,0,0,.3)}
.aqg-b-good,.aqm-led-good{--g:var(--aq-good);--led:var(--aq-good)}.aqg-b-moderate,.aqm-led-moderate{--g:#e8e000;--led:#f2ea00}.aqg-b-usg,.aqm-led-usg{--g:var(--aq-usg);--led:var(--aq-usg)}.aqg-b-unhealthy,.aqm-led-unhealthy{--g:var(--aq-unhealthy);--led:var(--aq-unhealthy)}.aqg-b-veryunhealthy,.aqm-led-veryunhealthy{--g:var(--aq-veryunhealthy);--led:var(--aq-veryunhealthy)}.aqg-b-hazardous,.aqm-led-hazardous{--g:var(--aq-hazardous);--led:var(--aq-hazardous)}
.aqg-b-good{stroke:var(--aq-good)}.aqg-b-moderate{stroke:var(--aq-moderate)}.aqg-b-usg{stroke:var(--aq-usg)}.aqg-b-unhealthy{stroke:var(--aq-unhealthy)}.aqg-b-veryunhealthy{stroke:var(--aq-veryunhealthy)}.aqg-b-hazardous{stroke:var(--aq-hazardous)}
@media (prefers-reduced-motion:reduce){.aqg-needle{animation:none}.aqm-led-pulse i{animation:none}.aqg-band{transition:none}}
/* /weather/air-quality page sections */
.aqm-scale,.aqm-why,.aqm-how{margin:18px 0;padding:16px 20px;border:1px solid #e1e7ee;border-radius:10px;background:#fff}
.aqm-scale h2,.aqm-why h2,.aqm-how h2{margin:0 0 8px;font-size:20px;color:#0b2540}
.aqm-lead{margin:0 0 12px;font-size:15px;line-height:1.5;color:#2d3743}
.aqm-rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px}
.aqm-row{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border:1px solid #edf1f5;border-radius:8px;background:#fbfcfd}
.aqm-sw{flex:0 0 auto;width:18px;height:18px;margin-top:2px;border-radius:5px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}
.aqm-r-good .aqm-sw{background:#00E400}.aqm-r-moderate .aqm-sw{background:#FFFF00}.aqm-r-usg .aqm-sw{background:#FF7E00}.aqm-r-unhealthy .aqm-sw{background:#FF0000}.aqm-r-veryunhealthy .aqm-sw{background:#8F3F97}.aqm-r-hazardous .aqm-sw{background:#7E0023}
.aqm-rh{margin:0;font-size:15px;line-height:1.35;color:#0b2540}.aqm-rh span{display:block;font-size:12.5px;font-weight:600;color:#5b6472}
.aqm-rd{margin:4px 0 0;font-size:14px;line-height:1.45;color:#2d3743}
.aqm-why p,.aqm-how li{font-size:15px;line-height:1.5;color:#2d3743}.aqm-how ul{margin:0;padding-left:20px}.aqm-how li{margin:0 0 6px}
.aqm-src{margin:10px 0 0;font-size:12.5px;color:#6b7480}
@media (max-width:820px){.aqm-body.aqm-gauge{grid-template-columns:1fr}.aqm-rows{grid-template-columns:1fr}}
@media (max-width:560px){.wx-hero.aqm{padding:14px 14px 12px;margin:10px 0 16px}.aqm-samplebar{margin:-14px -14px 10px -14px;padding:6px 14px}.aqm-read{flex-direction:column;align-items:stretch}.aqm-cat{flex-basis:auto;text-align:center}.aqg-wrap{width:250px}.aqm-catname{font-size:23px}.aqm-advice li{font-size:15px}.aqm-calm{grid-template-columns:1fr;text-align:center}.aqm-calm .aqg-wrap{width:220px}.aqm-asof{font-size:13px}.aqm-scale,.aqm-why,.aqm-how{padding:14px}}
.aqg-a0{--aqg-a:0deg}.aqg-a2{--aqg-a:2deg}.aqg-a4{--aqg-a:4deg}.aqg-a6{--aqg-a:6deg}.aqg-a8{--aqg-a:8deg}.aqg-a10{--aqg-a:10deg}.aqg-a12{--aqg-a:12deg}.aqg-a14{--aqg-a:14deg}.aqg-a16{--aqg-a:16deg}.aqg-a18{--aqg-a:18deg}.aqg-a20{--aqg-a:20deg}.aqg-a22{--aqg-a:22deg}.aqg-a24{--aqg-a:24deg}.aqg-a26{--aqg-a:26deg}.aqg-a28{--aqg-a:28deg}.aqg-a30{--aqg-a:30deg}.aqg-a32{--aqg-a:32deg}.aqg-a34{--aqg-a:34deg}.aqg-a36{--aqg-a:36deg}.aqg-a38{--aqg-a:38deg}.aqg-a40{--aqg-a:40deg}.aqg-a42{--aqg-a:42deg}.aqg-a44{--aqg-a:44deg}.aqg-a46{--aqg-a:46deg}.aqg-a48{--aqg-a:48deg}.aqg-a50{--aqg-a:50deg}.aqg-a52{--aqg-a:52deg}.aqg-a54{--aqg-a:54deg}.aqg-a56{--aqg-a:56deg}.aqg-a58{--aqg-a:58deg}.aqg-a60{--aqg-a:60deg}.aqg-a62{--aqg-a:62deg}.aqg-a64{--aqg-a:64deg}.aqg-a66{--aqg-a:66deg}.aqg-a68{--aqg-a:68deg}.aqg-a70{--aqg-a:70deg}.aqg-a72{--aqg-a:72deg}.aqg-a74{--aqg-a:74deg}.aqg-a76{--aqg-a:76deg}.aqg-a78{--aqg-a:78deg}.aqg-a80{--aqg-a:80deg}.aqg-a82{--aqg-a:82deg}.aqg-a84{--aqg-a:84deg}.aqg-a86{--aqg-a:86deg}.aqg-a88{--aqg-a:88deg}.aqg-a90{--aqg-a:90deg}.aqg-a92{--aqg-a:92deg}.aqg-a94{--aqg-a:94deg}.aqg-a96{--aqg-a:96deg}.aqg-a98{--aqg-a:98deg}.aqg-a100{--aqg-a:100deg}.aqg-a102{--aqg-a:102deg}.aqg-a104{--aqg-a:104deg}.aqg-a106{--aqg-a:106deg}.aqg-a108{--aqg-a:108deg}.aqg-a110{--aqg-a:110deg}.aqg-a112{--aqg-a:112deg}.aqg-a114{--aqg-a:114deg}.aqg-a116{--aqg-a:116deg}.aqg-a118{--aqg-a:118deg}.aqg-a120{--aqg-a:120deg}.aqg-a122{--aqg-a:122deg}.aqg-a124{--aqg-a:124deg}.aqg-a126{--aqg-a:126deg}.aqg-a128{--aqg-a:128deg}.aqg-a130{--aqg-a:130deg}.aqg-a132{--aqg-a:132deg}.aqg-a134{--aqg-a:134deg}.aqg-a136{--aqg-a:136deg}.aqg-a138{--aqg-a:138deg}.aqg-a140{--aqg-a:140deg}.aqg-a142{--aqg-a:142deg}.aqg-a144{--aqg-a:144deg}.aqg-a146{--aqg-a:146deg}.aqg-a148{--aqg-a:148deg}.aqg-a150{--aqg-a:150deg}.aqg-a152{--aqg-a:152deg}.aqg-a154{--aqg-a:154deg}.aqg-a156{--aqg-a:156deg}.aqg-a158{--aqg-a:158deg}.aqg-a160{--aqg-a:160deg}.aqg-a162{--aqg-a:162deg}.aqg-a164{--aqg-a:164deg}.aqg-a166{--aqg-a:166deg}.aqg-a168{--aqg-a:168deg}.aqg-a170{--aqg-a:170deg}.aqg-a172{--aqg-a:172deg}.aqg-a174{--aqg-a:174deg}.aqg-a176{--aqg-a:176deg}.aqg-a178{--aqg-a:178deg}.aqg-a180{--aqg-a:180deg}
