:root{--page-bg:#f3f6fa;--page-bg-top:#f8fafc;--page-panel:#ffffff;--page-panel-soft:#f8fafc;--page-border:#dbe3ec;--page-border-strong:#c7d2df;--page-text:#18232e;--page-text-soft:#344454;--page-muted:#687789;--page-muted-2:#94a0ae;--page-shadow:0 5px 18px rgba(20, 32, 48, .055);--page-shadow-soft:0 2px 8px rgba(20, 32, 48, .04);--page-vfr:#16a34a;--page-mvfr:#2563eb;--page-ifr:#dc2626;--page-lifr:#a855f7;--page-neutral:#64748b;--page-radius-xl:16px;--page-radius-lg:12px;--page-radius-md:9px;--page-radius-sm:6px}:root[data-theme=dark]{--page-bg:#0a1117;--page-bg-top:#0f1921;--page-panel:#121e26;--page-panel-soft:#17262f;--page-border:#293c48;--page-border-strong:#3a505d;--page-text:#edf4f7;--page-text-soft:#d2dee4;--page-muted:#9aadb8;--page-muted-2:#748994;--page-shadow:0 8px 24px rgba(0, 0, 0, .28);--page-shadow-soft:0 3px 10px rgba(0, 0, 0, .20);--page-vfr:#22c55e;--page-mvfr:#3b82f6;--page-ifr:#ef4444;--page-lifr:#c084fc;--page-neutral:#64748b}*,::after,::before{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--page-bg)}body{margin:0;background:linear-gradient(180deg,var(--page-bg-top) 0,var(--page-bg) 100%);color:var(--page-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px;line-height:1.4;transition:background-color .2s ease,color .2s ease}a{color:inherit;text-decoration:none}button,input{font:inherit}.stats-page{--bg:var(--page-bg);--bg-top:var(--page-bg-top);--panel:var(--page-panel);--panel-soft:var(--page-panel-soft);--border:var(--page-border);--border-strong:var(--page-border-strong);--text:var(--page-text);--text-soft:var(--page-text-soft);--muted:var(--page-muted);--muted-2:var(--page-muted-2);--shadow:var(--page-shadow);--shadow-soft:var(--page-shadow-soft);--vfr:var(--page-vfr);--mvfr:var(--page-mvfr);--ifr:var(--page-ifr);--lifr:var(--page-lifr);--neutral:var(--page-neutral);--radius-xl:var(--page-radius-xl);--radius-lg:var(--page-radius-lg);--radius-md:var(--page-radius-md);--radius-sm:var(--page-radius-sm);width:min(1460px,calc(100% - 30px));min-width:0;margin:0 auto;padding:22px 0 26px}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:16px}.header-copy{min-width:0}.eyebrow{display:flex;align-items:center;gap:8px;margin-bottom:5px;color:var(--muted);font-size:9px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.eyebrow-dot{width:7px;height:7px;flex:none;border-radius:50%;background:#2563eb;box-shadow:0 0 0 4px rgba(37,99,235,.08)}.stats-page h1{margin:0;color:var(--text);font-size:29px;line-height:1.08;letter-spacing:-.03em;font-weight:820}.page-subtitle{max-width:760px;margin:6px 0 0;color:var(--muted);font-size:11px}.header-meta{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:7px}.meta-chip{display:inline-flex;align-items:center;min-height:32px;padding:0 10px;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--muted);box-shadow:var(--shadow-soft);font-size:10px;font-weight:700;white-space:nowrap}.meta-chip strong{margin-left:4px;color:var(--text);font-weight:850}.theme-switcher{display:inline-flex;align-items:center;gap:2px;min-height:32px;padding:2px;border:1px solid var(--border);border-radius:8px;background:var(--panel);box-shadow:var(--shadow-soft)}.theme-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;height:26px;padding:0 8px;border:0;border-radius:6px;background:0 0;color:var(--muted);cursor:pointer;font-size:8px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.theme-btn:hover{background:var(--panel-soft);color:var(--text)}.theme-btn.active{background:var(--panel-soft);color:var(--text);box-shadow:inset 0 0 0 1px var(--border)}.theme-btn svg{width:12px;height:12px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.summary-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:16px}.summary-card{position:relative;overflow:hidden;min-height:70px;padding:11px 13px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--panel);box-shadow:var(--shadow-soft)}.summary-card::after{content:"";position:absolute;top:-25px;right:-25px;width:90px;height:90px;border-radius:50%;background:radial-gradient(circle,rgba(37,99,235,.07),transparent 68%);pointer-events:none}.summary-label{color:var(--muted);font-size:8px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.summary-value{margin-top:4px;color:var(--text);font-size:21px;line-height:1;font-weight:830;letter-spacing:-.03em}.summary-caption{margin-top:4px;color:var(--muted-2);font-size:9px}.page-error{margin-bottom:16px;padding:12px 14px;border:1px solid #fecaca;border-radius:10px;background:#fff7f7;color:#991b1b;font-size:11px;font-weight:750}:root[data-theme=dark] .stats-page .page-error{background:#281619;border-color:#663037;color:#fca5a5}.empty-state{padding:20px;border:1px dashed var(--border-strong);border-radius:10px;background:var(--panel-soft);color:var(--muted);text-align:center;font-size:11px}.stats-section{margin-bottom:15px;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--panel);box-shadow:var(--shadow);overflow:hidden}.section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:12px 14px 10px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,var(--panel) 0,var(--panel-soft) 100%)}.section-title-wrap{min-width:0}.section-title-row{display:flex;align-items:center;gap:8px}.section-marker{width:8px;height:8px;flex:none;border-radius:50%;background:#2563eb;box-shadow:0 0 0 4px rgba(37,99,235,.08)}.section-title{margin:0;color:var(--text);font-size:16px;line-height:1.1;font-weight:820;letter-spacing:-.01em}.section-description{margin:4px 0 0 16px;color:var(--muted);font-size:9px}.section-count{display:inline-flex;align-items:center;justify-content:center;min-width:33px;height:24px;padding:0 7px;border:1px solid var(--border);border-radius:7px;background:var(--panel);color:var(--muted);font-size:9px;font-weight:850;flex:none}.airport-list{display:flex;flex-direction:column;gap:5px;padding:7px}.airport-card{overflow:hidden;border:1px solid var(--border);border-radius:10px;background:var(--panel);transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.airport-card:hover{border-color:var(--border-strong);box-shadow:0 5px 14px rgba(20,32,48,.05);transform:translateY(-1px)}:root[data-theme=dark] .stats-page .airport-card:hover{box-shadow:0 8px 18px rgba(0,0,0,.24)}.airport-card.extra-row{display:none}.airport-main{display:grid;grid-template-columns:minmax(188px,1.24fr) minmax(0,2.7fr) minmax(84px,.44fr);align-items:center;min-height:58px;padding:7px 9px}.airport-identity{display:flex;align-items:center;gap:8px;min-width:0}.rank-number{display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;flex:none;border:1px solid var(--border);border-radius:7px;background:linear-gradient(180deg,var(--panel-soft),var(--panel));color:var(--muted-2);font-size:8px;font-weight:900;letter-spacing:.04em;font-variant-numeric:tabular-nums}.rank-number.top-1,.rank-number.top-2,.rank-number.top-3{color:#334155;border-color:#c7d1dc;background:#edf2f6}:root[data-theme=dark] .stats-page .rank-number.top-1,:root[data-theme=dark] .stats-page .rank-number.top-2,:root[data-theme=dark] .stats-page .rank-number.top-3{color:#edf4f7;background:#21333e;border-color:#4a5f6c}.category-dot{width:8px;height:8px;flex:none;border-radius:50%;box-shadow:0 0 0 4px rgba(100,116,139,.08)}.airport-code-wrap{min-width:0}.airport-code-line{display:flex;align-items:center;gap:6px;min-width:0}.airport-code{color:var(--text);font-size:13px;line-height:1;font-weight:900;letter-spacing:.035em}.airport-iata{padding:2px 5px;border:1px solid var(--border);border-radius:4px;background:var(--panel-soft);color:var(--muted);font-size:7px;font-weight:850;letter-spacing:.07em}.airport-place{overflow:hidden;margin-top:3px;color:var(--muted);font-size:9px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.airport-metrics{display:grid;grid-template-columns:minmax(57px,.62fr) minmax(100px,1.08fr) minmax(75px,.78fr) minmax(90px,.92fr) minmax(100px,1fr) minmax(88px,.87fr);align-items:center;gap:7px;min-width:0}.airport-metric{min-width:0;padding-left:7px;border-left:1px solid var(--border)}.metric-label{color:var(--muted-2);font-size:7px;font-weight:850;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap}.metric-value{overflow:hidden;margin-top:2px;color:var(--text);font-size:10px;line-height:1.15;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.metric-value.large{font-size:11px}.category-badge{display:inline-flex;align-items:center;justify-content:center;min-width:45px;height:23px;padding:0 7px;border-radius:6px;color:#fff;font-size:9px;font-weight:900;letter-spacing:.03em}.category-vfr{background:var(--vfr)}.category-mvfr{background:var(--mvfr)}.category-ifr{background:var(--ifr)}.category-lifr{background:var(--lifr)}.category-default{background:var(--neutral)}.runway-list{display:flex;flex-wrap:wrap;align-items:center;gap:3px;min-height:23px}.runway-badge{display:inline-flex;align-items:center;justify-content:center;min-width:31px;height:23px;padding:0 5px;border:1px solid #c7d1dc;border-radius:5px;background:linear-gradient(180deg,#f8fafc,#eef3f7);color:#1e2b38;font-size:10px;line-height:1;font-weight:900;letter-spacing:.02em}:root[data-theme=dark] .stats-page .runway-badge{border-color:#40515e;background:#1c2b35;color:#eef4f7}.runway-empty{color:var(--muted-2);font-size:9px;font-weight:700}.airport-action{display:flex;align-items:center;justify-content:flex-end;padding-left:8px}.metar-button{display:inline-flex;align-items:center;justify-content:center;height:28px;padding:0 8px;border:1px solid var(--border-strong);border-radius:6px;background:var(--panel-soft);color:var(--text-soft);font-size:8px;font-weight:850;letter-spacing:.05em;text-transform:uppercase;transition:background .14s ease,border-color .14s ease,color .14s ease}.metar-button:hover{border-color:#aebdcb;background:#eef4f8;color:#172330}:root[data-theme=dark] .stats-page .metar-button{border-color:#3a505d;background:#17262f;color:#d2dee4}:root[data-theme=dark] .stats-page .metar-button:hover{border-color:#506b79;background:#1d303b;color:#fff}.airport-card.bad-weather .airport-main{grid-template-columns:minmax(188px,1.2fr) minmax(0,2.75fr) minmax(84px,.44fr)}.airport-card.bad-weather .airport-metrics{grid-template-columns:minmax(54px,.55fr) minmax(90px,.95fr) minmax(88px,.92fr) minmax(77px,.8fr) minmax(108px,1.08fr) minmax(80px,.82fr)}.weather-details{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1.85fr);gap:7px;padding:0 9px 8px 51px}.detail-box{min-width:0;padding:6px 8px;border:1px solid var(--border);border-radius:7px;background:var(--panel-soft)}.detail-label{margin-bottom:4px;color:var(--muted-2);font-size:7px;font-weight:850;letter-spacing:.09em;text-transform:uppercase}.detail-content{display:flex;flex-wrap:wrap;gap:4px;min-height:19px}.cloud-pill,.reason-pill{display:inline-flex;align-items:center;gap:3px;min-height:20px;padding:0 6px;border:1px solid var(--border);border-radius:5px;background:var(--panel);color:var(--text-soft);font-size:8px;font-weight:750}.reason-code{color:var(--muted);font-weight:900;letter-spacing:.03em}.cloud-pill strong{color:var(--text);font-size:8px;font-weight:900}.cloud-pill span{color:var(--muted);font-size:8px;font-weight:750}.detail-empty{color:var(--muted-2);font-size:8px;font-weight:700}.stats-show-all{display:flex;justify-content:center;padding:4px 0 1px}.stats-show-all-btn{display:inline-flex;align-items:center;justify-content:center;min-width:105px;height:29px;padding:0 12px;border:1px solid var(--border-strong);border-radius:6px;background:var(--panel);color:var(--text-soft);cursor:pointer;font-size:8px;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.stats-show-all-btn:hover{background:var(--panel-soft);border-color:#b4c1ce}:root[data-theme=dark] .stats-page .stats-show-all-btn:hover{border-color:#4a606d;background:#1d303b}.map-panel{margin-top:16px;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--panel);box-shadow:var(--shadow);overflow:hidden}.map-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid var(--border);background:var(--panel)}.map-title-wrap{min-width:0}.map-title{margin:0;color:var(--text);font-size:14px;line-height:1.1;font-weight:820}.map-subtitle{margin:3px 0 0;color:var(--muted);font-size:8px}.map-status{display:inline-flex;align-items:center;gap:5px;min-height:25px;padding:0 7px;border:1px solid var(--border);border-radius:6px;background:var(--panel-soft);color:var(--muted);font-size:8px;font-weight:800;white-space:nowrap}.map-status.warning{border-color:#e8c782}:root[data-theme=dark] .stats-page .map-status.warning{border-color:#715b2b}.map-status-dot{width:5px;height:5px;border-radius:50%;background:#22c55e}.map-status.warning .map-status-dot{background:#f59e0b}.map-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:5px;padding:7px 8px;border-bottom:1px solid var(--border);background:var(--panel-soft)}.map-toolbar-group{display:flex;align-items:center;gap:4px;padding-right:5px;margin-right:1px;border-right:1px solid var(--border)}.map-toolbar-group:last-child{padding-right:0;margin-right:0;border-right:0}.map-btn{height:27px;padding:0 8px;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--muted);cursor:pointer;font-size:8px;font-weight:850;letter-spacing:.03em;text-transform:uppercase}.map-btn:hover{border-color:var(--border-strong);background:var(--panel-soft);color:var(--text)}.map-btn.active{border-color:#9fb4c8;background:#eaf1f7;color:#17324c}.map-btn.disabled{opacity:.42;cursor:not-allowed}:root[data-theme=dark] .stats-page .map-btn{border-color:#344957;background:#17262f;color:#9aadb8}:root[data-theme=dark] .stats-page .map-btn:hover{border-color:#4a616e;background:#1d303b;color:#edf4f7}:root[data-theme=dark] .stats-page .map-btn.active{border-color:#4c6978;background:#203540;color:#edf4f7}.map-search{position:relative;min-width:235px;margin-left:auto}.map-search input{width:100%;height:29px;padding:0 9px;border:1px solid var(--border);border-radius:6px;outline:0;background:var(--panel);color:var(--text);font-size:9px;font-weight:650}.map-search input::placeholder{color:var(--muted-2)}.map-search input:focus{border-color:#9fb6ca;box-shadow:0 0 0 3px rgba(37,99,235,.06)}.search-suggestions{position:absolute;z-index:1200;top:34px;left:0;right:0;display:none;max-height:250px;overflow:auto;border:1px solid var(--border);border-radius:8px;background:var(--panel);box-shadow:0 12px 28px rgba(20,32,48,.12)}.search-suggestions.open{display:block}.search-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 9px;border-bottom:1px solid var(--border);cursor:pointer}.search-item:last-child{border-bottom:0}.search-item:hover{background:var(--panel-soft)}.search-main{min-width:0}.search-code{color:var(--text);font-size:9px;font-weight:900;letter-spacing:.04em}.search-name{overflow:hidden;margin-top:2px;color:var(--muted);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.search-side{flex:none;color:var(--muted-2);font-size:7px;font-weight:850}:root[data-theme=dark] .stats-page .search-suggestions{border-color:#344957;background:#17262f;box-shadow:0 14px 32px rgba(0,0,0,.35)}:root[data-theme=dark] .stats-page .search-item{border-bottom-color:#293c48}:root[data-theme=dark] .stats-page .search-item:hover{background:#1d303b}.gfs-control{display:none;align-items:center;gap:7px}.gfs-control.visible{display:flex}.gfs-control label{color:var(--muted);font-size:7px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.gfs-control input[type=range]{width:125px;accent-color:#2563eb}.gfs-hour{min-width:27px;color:var(--text-soft);font-size:8px;font-weight:900;text-align:center}#airportMap{width:100%;height:245px;background:#dce5ed}:root[data-theme=dark] .stats-page #airportMap{background:#0d171e}.leaflet-container{font:inherit}.leaflet-control-zoom a{width:27px!important;height:27px!important;line-height:27px!important;background:rgba(255,255,255,.94)!important;color:#334155!important}:root[data-theme=dark] .stats-page .leaflet-control-zoom a{background:#17262f!important;color:#edf4f7!important;border-color:#344853!important}:root[data-theme=dark] .stats-page .leaflet-control-zoom a:hover{background:#203540!important}.popup-card{min-width:195px}.popup-title{color:#17212b;font-size:12px;font-weight:900;letter-spacing:.02em}.popup-place{margin-top:2px;color:#64748b;font-size:9px}.popup-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px 8px;margin-top:8px}.popup-item{padding-top:4px;border-top:1px solid #edf1f5}.popup-label{color:#94a0ae;font-size:6px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.popup-value{margin-top:1px;color:#1f2937;font-size:8px;font-weight:850}:root[data-theme=dark] .stats-page .leaflet-popup-content-wrapper,:root[data-theme=dark] .stats-page .leaflet-popup-tip{background:#121e26;color:#edf4f7}:root[data-theme=dark] .stats-page .leaflet-popup-content{color:#edf4f7}:root[data-theme=dark] .stats-page .popup-title{color:#edf4f7}:root[data-theme=dark] .stats-page .popup-place{color:#9aadb8}:root[data-theme=dark] .stats-page .popup-item{border-top-color:#293c48}:root[data-theme=dark] .stats-page .popup-label{color:#748994}:root[data-theme=dark] .stats-page .popup-value{color:#d2dee4}:root[data-theme=dark] .stats-page .leaflet-popup-content .popup-value span{border-color:#40515e!important;background:#1c2b35!important;color:#eef4f7!important}.stats-footer{margin-top:8px}@media (max-width:1180px){.stats-page{width:min(100% - 22px,1180px)}.airport-card.bad-weather .airport-main,.airport-main{grid-template-columns:minmax(170px,1fr) minmax(0,2.2fr) minmax(78px,.42fr)}.airport-metrics{grid-template-columns:minmax(52px,.55fr) minmax(90px,1fr) minmax(70px,.76fr) minmax(82px,.88fr) minmax(90px,.92fr) minmax(80px,.82fr)}.airport-card.bad-weather .airport-metrics{grid-template-columns:minmax(50px,.52fr) minmax(82px,.88fr) minmax(82px,.88fr) minmax(72px,.76fr) minmax(95px,1fr) minmax(74px,.77fr)}}@media (max-width:1020px){.page-header{align-items:flex-start;flex-direction:column;gap:10px}.header-meta{justify-content:flex-start}.airport-card.bad-weather .airport-main,.airport-main{grid-template-columns:1fr;gap:8px}.airport-card.bad-weather .airport-metrics,.airport-metrics{grid-template-columns:repeat(6,minmax(0,1fr))}.airport-action{justify-content:flex-start;padding-left:44px}.weather-details{padding-left:44px}}@media (max-width:820px){.stats-page{width:min(100% - 18px,760px);padding-top:15px}.airport-card.bad-weather .airport-metrics,.airport-metrics{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:7px}.weather-details{grid-template-columns:1fr}.map-search{min-width:220px}}@media (max-width:650px){.stats-page{width:calc(100% - 12px);padding-top:10px;padding-bottom:20px}.stats-page h1{font-size:24px}.page-subtitle{font-size:10px}.summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-card{min-height:64px;padding:9px 10px}.summary-value{font-size:18px}.section-header{padding:10px 10px 9px}.section-title{font-size:15px}.section-description{font-size:8px}.airport-list{padding:5px}.airport-main{padding:8px}.airport-card.bad-weather .airport-metrics,.airport-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.airport-action{padding-left:43px}.weather-details{padding:0 8px 8px 43px}.map-header{align-items:flex-start;flex-direction:column}.map-toolbar{align-items:stretch}.map-toolbar-group{padding-right:0;border-right:0}.map-search{width:100%;min-width:100%;margin-left:0}.gfs-control{width:100%}.gfs-control input[type=range]{width:auto;flex:1}.theme-switcher{width:100%;justify-content:center}.theme-btn{flex:1}#airportMap{height:220px}}@media (max-width:430px){.summary-strip{grid-template-columns:1fr}.section-title{font-size:14px}.section-description{max-width:220px}.airport-code{font-size:12px}.airport-place{font-size:8px}}