/* ACAR airport atlas: real geography, hourly METAR, paired map/list selection. */
#airportsAtlas{--atlas-navy:#03276e;--atlas-land:#17488d;--atlas-ice:#c6d9f5;--atlas-gold:#ffd33e;aspect-ratio:16/9;display:flex;flex-direction:column;position:relative;overflow:hidden;border-radius:22px;background:var(--atlas-navy);color:#fff;box-shadow:0 16px 40px #00278020;container-type:inline-size}
#airportsAtlas .atlas-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:clamp(18px,2.2cqw,28px) clamp(20px,2.5cqw,32px) 12px;flex-shrink:0}
#airportsAtlas .section-eyebrow{color:var(--atlas-gold);font-size:clamp(10px,1cqw,12px);letter-spacing:.18em;margin:0 0 7px}
#airportsAtlas h2{margin:0;color:#fff;font:600 clamp(20px,2.35cqw,30px)/1.2 var(--font-head)}
#airportsAtlas .atlas-total{display:flex;align-items:center;gap:10px;max-width:27%;flex-shrink:0}
#airportsAtlas .atlas-total strong{color:var(--atlas-gold);font:600 clamp(28px,3.55cqw,44px)/1 var(--font-head);letter-spacing:-.04em}
#airportsAtlas .atlas-total span{color:#fff;font:500 clamp(12px,1.4cqw,18px)/1.25 var(--font-head);max-width:155px}
#airportsAtlas .atlas-body{position:relative;flex:1;min-height:0}
#airportsAtlas .atlas-geography{position:absolute;inset:0}
#airportsAtlas .atlas-map{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
#airportsAtlas .atlas-county{fill:var(--atlas-land);stroke:#6283b5;stroke-width:.55;vector-effect:non-scaling-stroke;transition:fill .2s}
#airportsAtlas .atlas-county.is-selected{fill:#2b62b0;stroke:#9cbff2;stroke-width:.9}
#airportsAtlas .atlas-link{fill:none;stroke:var(--atlas-ice);stroke-width:.8;opacity:.2;transition:opacity .2s,stroke .2s}
#airportsAtlas .atlas-link.is-selected{stroke:var(--atlas-gold);stroke-width:1.8;opacity:.95}
#airportsAtlas .atlas-anchor{fill:#c6d9f5;opacity:.6}
#airportsAtlas .atlas-lists{position:absolute;inset:0;pointer-events:none}
#airportsAtlas .atlas-side{position:absolute;top:4px;bottom:4px;width:20.5%;display:flex;flex-direction:column;justify-content:space-between;gap:2px}
#airportsAtlas .atlas-west{left:1.6%}
#airportsAtlas .atlas-east{right:1.6%}
#airportsAtlas button{font-family:var(--font-body);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
#airportsAtlas button:focus-visible{outline:2px solid #fff;outline-offset:3px}
#airportsAtlas .atlas-airport{pointer-events:auto;background:transparent;border:1px solid transparent;border-left:3px solid transparent;border-radius:7px;color:#fff;text-align:left;padding:4px 7px;line-height:1.15;min-width:0;transition:background .2s,opacity .2s,border-color .2s;opacity:.82}
#airportsAtlas .atlas-airport:hover{background:#ffffff10;opacity:1}
#airportsAtlas .atlas-airport.is-selected{background:#ffffff18;border-color:#ffd33e55;border-left-color:var(--atlas-gold);opacity:1}
#airportsAtlas .atlas-city{display:block;font-size:clamp(11px,1.12cqw,15px);font-weight:600;white-space:nowrap}
#airportsAtlas .atlas-code-line{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-top:3px}
#airportsAtlas .atlas-codes{font-size:clamp(11px,1.02cqw,13px);color:var(--atlas-ice);white-space:nowrap}
#airportsAtlas .atlas-temperature{font:600 clamp(14px,1.7cqw,22px)/1 var(--font-head);color:var(--atlas-gold);white-space:nowrap}
#airportsAtlas .atlas-airport.is-stale .atlas-temperature{color:#c3cedf}
#airportsAtlas .atlas-plane{display:flex;align-items:center;justify-content:center;position:absolute;width:32px;height:32px;padding:6px;border:1px solid transparent;border-radius:50%;background:var(--atlas-navy);color:#e2edff;opacity:.75;transform:translate(-50%,-50%);transition:color .2s,background .2s,opacity .2s,box-shadow .2s;z-index:2}
#airportsAtlas .atlas-plane svg{width:20px;height:20px;fill:currentColor;stroke:var(--atlas-navy);stroke-width:.5;stroke-linejoin:round}
#airportsAtlas .atlas-plane:hover{opacity:1;background:#174b94}
#airportsAtlas .atlas-plane.is-selected{background:#12468e;color:var(--atlas-gold);border-color:var(--atlas-gold);box-shadow:0 0 0 5px #ffd33e24,0 0 20px #ffd33e24;opacity:1;z-index:3}
#airportsAtlas .atlas-plane.is-selected svg{width:23px;height:23px;flex-shrink:0}
#airportsAtlas .atlas-count{position:absolute;right:-4px;bottom:-3px;font-size:10px;line-height:1.2;color:var(--atlas-gold);background:var(--atlas-navy);border-radius:3px;padding:1px 2px}
#airportsAtlas .atlas-selection{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:4px 14px;padding:12px clamp(20px,2.5cqw,32px) 16px;flex-shrink:0;line-height:1.4}
#airportsAtlas .atlas-observation{color:var(--atlas-ice);text-align:right;font-size:clamp(11px,1cqw,12px)}
#airportsAtlas .atlas-weather-status{color:var(--atlas-gold);font-size:11px}
#airportsAtlas .atlas-weather-status[hidden]{display:none}
.atlas-attribution{display:flex;justify-content:space-between;gap:8px 20px;flex-wrap:wrap;padding:12px 4px 0;color:#606b7d;font-size:11px;line-height:1.5}
.atlas-attribution a{color:inherit;text-decoration:underline;text-underline-offset:2px}
#airportsAtlas .atlas-loading{position:absolute;inset:0;display:grid;place-items:center;color:var(--atlas-ice);padding:24px;text-align:center}
@container(max-width:900px){#airportsAtlas .atlas-airport{padding:1px 4px}#airportsAtlas .atlas-code-line{margin-top:2px}#airportsAtlas .atlas-selection{padding-top:8px;padding-bottom:12px}}
@container(min-width:681px) and (max-width:760px){#airportsAtlas .atlas-side{gap:1px}#airportsAtlas .atlas-airport{padding:0 4px;line-height:1.1}#airportsAtlas .atlas-code-line{margin-top:1px}#airportsAtlas .atlas-temperature{font-size:13px}}
@container(max-width:680px){
 #airportsAtlas .atlas-head{flex-wrap:wrap;gap:7px;padding:18px 18px 10px;order:1}
 #airportsAtlas .atlas-total{max-width:none;gap:8px}
 #airportsAtlas .atlas-total strong{font-size:27px}
 #airportsAtlas .atlas-total span{max-width:none;font-size:13px}
 #airportsAtlas .atlas-body{display:contents}
 #airportsAtlas .atlas-geography{position:relative;inset:auto;height:240px;flex:none;order:2}
 #airportsAtlas .atlas-lists{position:static;pointer-events:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:10px;padding:4px 16px 16px;order:4}
 #airportsAtlas .atlas-side{position:static;display:flex;flex-direction:column;justify-content:flex-start;width:auto;gap:3px}
 #airportsAtlas .atlas-airport{min-height:49px;padding:5px 4px;border-bottom-color:#ffffff14;border-radius:5px}
 #airportsAtlas .atlas-city{font-size:12px;line-height:1.2;white-space:normal;overflow-wrap:anywhere}
 #airportsAtlas .atlas-codes{font-size:11px}
 #airportsAtlas .atlas-code-line{flex-wrap:wrap;gap:3px}
 #airportsAtlas .atlas-temperature{font-size:14px}
 #airportsAtlas .atlas-selection{order:3;justify-content:flex-start;padding:4px 18px 10px}
 #airportsAtlas .atlas-observation{text-align:left;font-size:11px}
 #airportsAtlas .atlas-plane{width:22px;height:22px;padding:3px;background:transparent}
 #airportsAtlas .atlas-plane svg{width:13px;height:13px}
 #airportsAtlas .atlas-plane.is-selected{padding:2px;background:#12468e;box-shadow:0 0 0 3px #ffd33e24}
 #airportsAtlas .atlas-plane.is-selected svg{width:16px;height:16px}
 #airportsAtlas .atlas-count{font-size:9px;right:-4px;bottom:-3px}
}
@container(max-width:430px){#airportsAtlas h2{font-size:21px}}
@media(max-width:740px){#airportsAtlas{aspect-ratio:auto;min-height:400px}}
@media(prefers-reduced-motion:reduce){#airportsAtlas *{transition:none!important}}
