/* FlightPulse 3.2. Visual heritage: Airwave 344e5df (V1).
   Only presentation changes here. Aircraft single-scroll geometry stays in aircraft-workspace.css. */
/* FlightPulse 3.3: owner-approved white / black / blue palette. Layout heritage retained. */
:root{--display:'Space Grotesk',var(--font);--action:#075cdb;--action-text:#fff;--action-hover:#064bb6;--fp-radius:6px}
:root[data-theme=light]{--bg:#fff;--surface:#fff;--surface2:#f0f3f7;--surface3:#e3e9f1;--border:#cbd3df;--text:#101318;--muted:#435062;--dim:#526174;--accent:#075cdb;--accent-text:#fff;--green:#167342;--danger:#904815;--soft-blue:#eef4ff;--accent-line:#8bb5f5;--fp-ink:#101828;--fp-blue:#075cdb;--fp-cyan:#61a6ff;--fp-amber:#9a4d0c;--shadow:0 20px 65px #10182824}
:root[data-theme=dark]{--bg:#0b1019;--surface:#141c28;--surface2:#1c2736;--surface3:#28364a;--border:#3c4c63;--text:#f6f8fc;--muted:#bdc9da;--dim:#acbbcf;--accent:#8ec2ff;--accent-text:#101828;--green:#79d5ad;--danger:#ffb784;--soft-blue:#1c2e49;--accent-line:#5679a6;--fp-ink:#0d1727;--fp-blue:#8ec2ff;--fp-cyan:#80bdff;--fp-amber:#edbc70;--action:#2463db;--action-text:#fff;--action-hover:#1854c6;--shadow:0 20px 65px #0006}
body{background:var(--bg);color:var(--text)}a,button,input,select,summary{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.topbar{height:76px;min-height:76px;padding:0 max(28px,calc((100vw - 1516px)/2));gap:22px;background:var(--surface);color:var(--text);border-bottom:1px solid var(--border);box-shadow:none}
.topbar .brand{color:var(--text);font-family:var(--display);font-size:29px;gap:10px;flex-shrink:0}.fp-brandmark{background:var(--action);color:var(--action-text);width:36px;height:36px;border:0;border-radius:6px;padding:4px}.fp-wordmark{font-family:var(--display);letter-spacing:-1.2px}.fp-wordmark>span{color:var(--accent)}.topbar .main-nav a,.topbar .main-nav button,.topbar .top-actions button{color:var(--muted)}.topbar .main-nav a.active{color:var(--text);font-weight:650}.topbar .main-nav a.active:after{background:var(--accent);height:3px}.topbar .top-actions .account-trigger{border-color:var(--border);background:var(--surface2);color:var(--text)}.main-nav{gap:22px}.top-actions{gap:7px}.nav-toggle{display:none}
main{max-width:1600px;margin:auto;padding:0 28px}.intro{padding:14px 0;min-height:52px}.intro h1{font-family:var(--display);font-size:16px;color:var(--muted)}.utc-label{color:var(--muted)}.utc strong{font-family:var(--display)}
.primary-button,.play-stream{background:var(--action);color:var(--action-text);border-color:transparent;box-shadow:none}.primary-button:hover,.play-stream:hover{background:var(--action-hover);color:var(--action-text)}.outline-button{border-radius:5px}.panel{border-radius:6px;box-shadow:none;background:var(--surface)}.panel-heading{background:var(--surface);border-bottom-color:var(--border)}
.personal-dashboard{margin:0 0 14px;border-radius:6px;border-color:var(--border);border-left:3px solid var(--accent);background:var(--surface)}.pd-details>summary{background:var(--surface2);min-height:48px;padding:10px 14px;flex-wrap:nowrap}.pd-summary-title strong{font-family:var(--display);font-size:16px}.pd-summary-count{margin-left:auto;border:0;background:transparent;color:var(--muted)}.pd-summary-hint{margin-left:auto}.pd-shortcuts{display:flex;align-items:center;gap:7px;padding:8px 13px;flex-wrap:wrap}.pd-shortcuts:empty{display:none}.pd-shortcuts button{font-size:13px;font-family:var(--display);padding:5px 10px;min-height:36px;background:var(--surface2);border:1px solid var(--border);border-radius:4px;display:flex;gap:7px;align-items:center}.pd-shortcuts button span{font-family:var(--font);font-size:12px;color:var(--muted)}.pd-shortcuts-label{font-size:12px;color:var(--muted);margin-right:5px}.pd-content{padding:15px}.pd-favorite-columns{margin-top:14px;padding-top:14px}.pd-view-option,.pd-airport{border-radius:4px}.pd-view-option.is-active{background:var(--action);color:var(--action-text);border-color:var(--accent-line)}
.airport-toolbar{gap:10px;margin-bottom:14px;align-items:center}.search-trigger{max-width:450px;flex:1;min-width:220px;height:44px;background:var(--surface);border:1px solid var(--border)}.quick-airports{display:none}.atc-directory-trigger{margin-left:auto}.favorites-trigger{font-size:13px;min-height:44px;padding:7px 10px}.airport-hero{background:var(--surface2);border:1px solid var(--border);border-radius:6px;padding:17px 18px;margin-bottom:18px;min-height:112px}.airport-hero:before{background:var(--accent);width:3px}.airport-code{font-family:var(--display);font-size:52px;color:var(--text);border-color:var(--border)}.airport-copy h2{font-family:var(--display);font-size:23px;letter-spacing:-.6px}.airport-location{color:var(--muted)}.airport-meta{font-size:12px;color:var(--muted)}.airport-end{position:static;flex-shrink:0}.airport-end .large{color:var(--accent);border:1px solid var(--border);border-radius:5px;background:var(--surface)}.airport-weather-brief:not([hidden]){display:flex;gap:10px;flex-wrap:wrap;margin:7px 0 3px;font-size:13px;color:var(--text);width:fit-content}.airport-weather-brief small{font-size:11px;color:var(--muted)}
.workspace-grid{grid-template-columns:minmax(300px,.85fr) minmax(0,1.45fr);grid-template-areas:'radio map';gap:20px}.workspace-grid>.panel{border-radius:6px}.radio-panel{display:flex;flex-direction:column;align-self:start;min-width:0}.radio-panel .panel-heading{border-top:3px solid var(--accent);border-radius:5px 5px 0 0}.radio-panel .panel-heading h2{font-family:var(--display);font-size:19px}.radio-panel .badge{font-size:12px}.radio-panel .channel-tabs{padding:12px;gap:5px}.channel-tabs button{padding:8px 10px;min-height:40px;border-radius:4px;font-size:13px}.channel-tabs button.active{background:var(--action);color:var(--action-text);border-color:var(--action)}.channel-explanation{font-size:12px;padding:8px 14px;margin:0;background:var(--surface2);line-height:1.5}.radio-empty h3{font-family:var(--display);font-size:21px}.radio-empty p{font-size:14px;line-height:1.6}.radio-empty .primary-button{min-height:46px}.radio-panel #player-content{padding:18px;border:0}.station-title h3{font-family:var(--display);font-size:22px}.radio-footer{font-size:12px}.radio-footer>span:nth-child(2){max-width:none}.fp-radio-provider{font-size:13px}.radio-source-note{font-size:12px}.player-splash{min-height:180px}.radio-panel .station-top{gap:10px}
.map-panel .panel-heading{min-height:60px;padding:9px 13px}.map-panel .panel-heading h2{font-family:var(--display);font-size:18px}.map-settings-trigger{background:var(--surface2);color:var(--text);border:1px solid var(--accent-line);border-radius:4px;min-height:40px}.map-wrap{height:clamp(530px,calc(100dvh - 300px),760px);min-height:530px}.map-quickbar{padding:8px 12px}.map-quick-note{display:none}.map-bottom{font-size:12px}.map-caption{font-size:12px}.map-center{font-size:12px}.map-settings,.aircraft-detail{box-shadow:var(--shadow)}#aircraft-detail .ad-title-icon{background:var(--surface2);color:var(--accent)}#aircraft-detail .ad-heading h3{font-family:var(--display)}.weather-panel,.flights-panel,.airport-info-panel{margin-top:24px;border-radius:6px}.weather-heading h2,.flights-panel .panel-heading h2{font-family:var(--display);font-size:21px}.weather-metric strong{font-family:var(--display);font-size:29px}.weather-metric{background:var(--surface)}.weather-source{font-size:12px}.flights-foot{font-size:12px}
body[data-dashboard-view=atc-map] .workspace-grid{grid-template-columns:minmax(320px,1fr) minmax(0,1.4fr)}body[data-dashboard-view=map] .workspace-grid{grid-template-columns:minmax(280px,.65fr) minmax(0,1.8fr)}
footer{margin-top:20px;border-top:1px solid var(--border)}footer .brand{font-family:var(--display)}.seo-airport-links{border-top:1px solid var(--border);margin-top:22px;color:var(--muted)}.version{color:var(--muted)}
/* Dedicated arrival page shares the same typography, palette and navigation. */
.home-page .topbar .main-nav a{font-size:14px}.home-page .top-actions{margin-left:auto}.home-page .main-nav{margin-left:auto}.home-page main{max-width:1440px}.home-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(310px,.8fr);align-items:center;gap:50px;padding:75px 0 62px}.home-eyebrow{font-size:12px;font-weight:600;letter-spacing:2px;text-transform:uppercase;display:flex;align-items:center;gap:10px;color:var(--muted);margin:0 0 20px}.home-eyebrow:before{content:'';height:2px;width:30px;background:var(--accent)}.home-title{font-family:var(--display);font-size:clamp(52px,6.5vw,92px);line-height:1;letter-spacing:-4px;margin:0 0 24px;font-weight:600}.home-title>span{color:var(--accent)}.home-slogan{font-family:var(--display);font-size:clamp(23px,2.4vw,33px);line-height:1.4;letter-spacing:-.8px;max-width:670px;margin:0 0 20px;font-weight:500}.home-description{font-size:16px;line-height:1.8;color:var(--muted);max-width:560px;margin:0 0 27px}.home-primary{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:50px;padding:13px 22px;background:var(--action);color:var(--action-text);font-size:15px;font-weight:650;border:1px solid #a6c371;border-radius:5px}.home-primary:hover{background:#e3f4bc}.home-secondary{font-size:14px;color:var(--accent);display:inline-flex;margin-left:20px;padding:12px 0}.home-visual{position:relative;min-width:0;background:#101a2b;color:#91c5ff;border:1px solid #3b506e;border-radius:6px;overflow:hidden;aspect-ratio:1/1.03}.home-visual svg{width:100%;height:100%;display:block}.home-visual-caption{position:absolute;bottom:0;left:0;right:0;padding:15px 20px;background:#101a2bf2;border-top:1px solid #3b506e;display:flex;gap:12px;justify-content:space-between;align-items:center;font-size:12px;letter-spacing:1px;color:#d4e2f4}.home-visual-caption span:last-child{font-size:11px;letter-spacing:0;color:#a9b9a6}.home-search-section{padding:30px;background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:6px;display:grid;grid-template-columns:.8fr 1.2fr;gap:30px;align-items:start}.home-section-kicker{font-size:12px;letter-spacing:1.6px;text-transform:uppercase;color:var(--muted);margin:0 0 10px}.home-search-section h2,.home-features h2,.home-featured h2{font-family:var(--display);font-size:28px;line-height:1.3;letter-spacing:-.7px;margin:0}.home-search-section p{font-size:14px;color:var(--muted);margin:10px 0 0}.home-search-field{display:flex;align-items:center;gap:12px;border:1px solid var(--border);background:var(--bg);border-radius:5px;padding:0 14px;height:52px}.home-search-field svg{width:21px;height:21px;stroke:var(--muted);fill:none;stroke-width:1.6;flex-shrink:0}.home-search-field input{border:0;min-width:0;width:100%;height:100%;font-size:16px;background:transparent;color:var(--text);outline-offset:1px}.home-search-results{padding-top:8px;max-height:360px;overflow:auto}.home-search-results a{display:grid;grid-template-columns:50px 1fr auto;align-items:center;gap:12px;min-height:62px;padding:10px 12px;border-bottom:1px solid var(--border)}.home-search-results a:hover,.home-search-results a.is-active{background:var(--surface2)}.home-search-results strong{font:600 21px var(--display);color:var(--accent)}.home-search-results span{font-size:14px}.home-search-results small{display:block;font-size:12px;color:var(--muted);margin-top:2px}.home-search-results em{font-style:normal;font-size:12px;color:var(--muted)}.home-search-status{font-size:12px!important}.home-recent{margin:12px 0 0;display:flex;gap:10px;flex-wrap:wrap;align-items:center;font-size:13px;color:var(--muted)}.home-recent a{font:500 14px var(--display);color:var(--accent);padding:6px 10px;background:var(--surface2);border-radius:3px;min-height:34px}.home-features{padding:64px 0;display:grid;grid-template-columns:.7fr 1.3fr;gap:60px;border-bottom:1px solid var(--border)}.home-feature-list{list-style:none;padding:0;margin:0}.home-feature-list li{display:grid;grid-template-columns:42px 1fr;gap:18px;padding:20px 0;border-bottom:1px solid var(--border)}.home-feature-list li:first-child{padding-top:0}.home-feature-list li:last-child{border-bottom:0;padding-bottom:0}.home-feature-list svg{width:32px;height:32px;fill:none;stroke:var(--accent);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.home-feature-list h3{font:600 20px var(--display);margin:0 0 8px}.home-feature-list p{font-size:15px;line-height:1.75;margin:0;color:var(--muted)}.home-featured{padding:50px 0}.home-featured-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:23px}.home-featured-heading p{font-size:13px;color:var(--muted);max-width:390px;margin:0}.home-airports{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.home-airport{display:flex;flex-direction:column;gap:8px;padding:24px 20px;border-right:1px solid var(--border)}.home-airport:first-child{padding-left:0}.home-airport:last-child{border:0}.home-airport:hover{background:var(--surface2)}.home-airport-code{font:500 36px var(--display);letter-spacing:-1px;color:var(--accent)}.home-airport strong{font-size:17px;font-weight:600}.home-airport small{font-size:12px;color:var(--muted);line-height:1.65}.home-airport .home-source{font-size:12px;margin-top:10px;display:block}.home-footnote{font-size:13px;line-height:1.75;color:var(--muted);padding:0 0 15px;max-width:850px}.home-page footer{font-size:13px;min-height:90px;gap:20px}.home-page footer a{color:var(--accent)}.home-page .home-footer-brand{font:600 22px var(--display);color:var(--text)}
@media(min-width:1600px){.workspace-grid{grid-template-columns:minmax(360px,.85fr) minmax(0,1.45fr);gap:22px}.map-wrap{min-height:590px}}
@media(max-width:1180px){.topbar{gap:14px;padding:0 22px}.main-nav{gap:15px}.topbar .brand{font-size:26px}.top-actions{gap:3px}.workspace-grid{grid-template-columns:310px minmax(0,1fr);gap:15px}.map-panel .panel-heading{flex-wrap:wrap}.map-panel .panel-heading h2{font-size:17px}.map-settings-trigger{font-size:13px}.home-hero{gap:30px;padding:55px 0}.home-title{font-size:65px}.home-slogan{font-size:27px}}
@media(max-width:1000px){.topbar{height:auto;min-height:66px;padding:10px 18px;gap:10px;flex-wrap:wrap}.nav-toggle{display:flex;align-items:center;justify-content:center;gap:6px;min-width:70px;min-height:44px;border:1px solid var(--border);border-radius:4px;font-size:13px;background:var(--surface2);color:var(--text);order:2}.nav-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}.top-actions{margin-left:auto;order:1}.topbar .main-nav{display:none;order:3;flex-basis:100%;width:100%;height:auto;overflow:visible;white-space:normal;margin:0;padding:8px 0 0;border-top:1px solid var(--border);gap:6px;grid-template-columns:repeat(3,minmax(0,1fr))}.topbar .main-nav.is-open{display:grid}.topbar .main-nav a,.topbar .main-nav .nav-action{font-size:14px;min-height:44px;padding:10px;text-align:left;white-space:normal;display:flex;align-items:center;justify-content:flex-start;border-radius:4px;background:var(--surface2)}.topbar .main-nav a.active:after{display:none}.topbar .main-nav a.active{background:var(--surface3)}main{padding:0 18px}.workspace-grid,body[data-dashboard-view=atc-map] .workspace-grid,body[data-dashboard-view=map] .workspace-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:'radio' 'map';gap:18px}.radio-panel{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1fr)}.radio-panel .panel-heading,.radio-panel .channel-tabs,.radio-panel .channel-explanation{grid-column:1}.radio-panel #player-content{grid-column:2;grid-row:1/5;border-left:1px solid var(--border)}.radio-panel .radio-footer,.radio-panel #radio-tools{grid-column:1/-1}.map-wrap{height:580px;min-height:580px}.airport-toolbar{flex-wrap:nowrap}.airport-copy h2{font-size:21px}.airport-code{font-size:46px}.home-hero{grid-template-columns:1.2fr .8fr;gap:26px}.home-title{font-size:55px;letter-spacing:-2.8px}.home-slogan{font-size:24px}.home-description{font-size:15px}.home-secondary{margin:8px 0 0;display:block;width:fit-content}.home-visual-caption{flex-direction:column;align-items:start;gap:3px;font-size:11px;padding:12px}.home-search-section{grid-template-columns:1fr;gap:20px;padding:24px}.home-features{gap:35px;grid-template-columns:.8fr 1.2fr}.home-featured-heading{align-items:start;flex-direction:column;gap:12px}}
@media(max-width:650px){.topbar{padding:9px 12px;gap:7px}.topbar .brand{font-size:23px;gap:7px;letter-spacing:-1px}.fp-brandmark{width:30px;height:30px;padding:3px}.top-actions{gap:0}.topbar .top-actions .icon-button{width:38px;height:44px}.topbar .top-actions .language{min-width:37px;min-height:44px;padding:5px;font-size:13px}.topbar #account-button{min-height:44px;padding:7px 9px;font-size:13px}.topbar .separator,#sources-top{display:none}.nav-toggle{min-width:44px;width:44px;min-height:44px}.nav-toggle span{display:none}.topbar .main-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar .main-nav a,.topbar .main-nav .nav-action{font-size:14px}.intro{padding:9px 1px;min-height:38px}.intro h1{font-size:12px}.utc strong{font-size:14px}.utc-label{font-size:10px}.utc>span:last-child{display:none}main{padding:0 12px}.personal-dashboard{margin:0 0 12px}.pd-details>summary{padding:9px 11px;min-height:46px;gap:7px}.pd-summary-title strong{font-size:15px}.pd-summary-count{font-size:12px;padding:0}.pd-summary-hint{display:none}.pd-shortcuts{padding:7px 10px;gap:6px}.pd-shortcuts-label,.pd-shortcuts button span{display:none}.pd-shortcuts button{min-height:38px;padding:5px 10px}.pd-shortcuts button:nth-of-type(n+5){display:none}.airport-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:5px;margin-bottom:12px}.search-trigger{min-width:0;width:100%;font-size:14px;height:44px;padding:0 10px;gap:7px}.search-trigger kbd{display:none}.favorites-trigger{padding:7px;width:42px;height:44px;min-height:44px;border:1px solid var(--border);border-radius:4px;background:var(--surface);justify-content:center;margin:0}.favorites-trigger span[data-t]{display:none}.favorites-trigger .icon{width:20px;height:20px}.atc-directory-trigger{order:0;flex-basis:auto}.airport-hero{padding:13px 12px;min-height:102px;gap:7px;margin-bottom:16px}.airport-primary{min-width:0;gap:11px;align-items:center}.airport-code{font-size:35px;padding-right:11px;letter-spacing:-1px}.airport-copy{min-width:0}.airport-copy h2{font-size:16px;line-height:1.4;padding-right:0;letter-spacing:-.3px}.airport-location{font-size:12px;gap:4px;margin-bottom:3px}.airport-meta{font-size:12px;margin-top:4px;line-height:1.4}.airport-end{position:static!important;inset:auto!important;align-self:center;gap:4px;flex-direction:column;margin:0}.airport-end .large{width:36px;height:40px;flex-shrink:0}.airport-hero-controls{position:static!important;display:flex;flex-direction:column;gap:4px}.airport-weather-brief:not([hidden]){gap:4px 8px;font-size:12px;margin-top:5px}.airport-weather-brief small{font-size:11px}.airport-weather-brief .weather-brief-pressure{display:none}.radio-panel{display:flex;flex-direction:column}.radio-panel .panel-heading{min-height:53px;padding:10px 13px;gap:7px}.radio-panel .panel-heading h2{font-size:18px}.radio-panel .badge{font-size:11px;max-width:55%}.radio-panel .channel-tabs{padding:9px;gap:4px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.channel-tabs button{min-height:40px;padding:6px 4px;font-size:13px}.channel-explanation{padding:7px 12px;font-size:12px}.radio-panel #player-content{padding:14px;border:0}.radio-empty h3{font-size:18px}.radio-empty p{font-size:14px;margin:8px 0;line-height:1.55}.radio-empty .primary-button{font-size:14px;padding:10px;min-height:44px}.radio-footer{padding:9px 12px;font-size:11px;gap:6px}.radio-footer button{font-size:12px}.fp-radio-save{font-size:13px;padding:9px 12px}.station-title h3{font-size:20px}.map-panel .panel-heading{min-height:54px;padding:8px 10px;flex-wrap:nowrap;gap:6px}.map-panel .panel-heading h2{font-size:15px;gap:5px}.map-actions{gap:4px}.map-actions #map-refresh{display:none}.map-settings-trigger{font-size:13px;padding:7px;min-height:40px}.map-settings-trigger svg{display:none}.map-settings-label{font-size:13px}.map-actions .icon-button{width:34px;height:40px}.map-quickbar{padding:7px 10px}.map-quick-query{font-size:16px;min-height:42px}.map-wrap{height:570px;min-height:570px}.map-center{min-height:40px}.map-bottom{font-size:11px;min-height:35px;padding:8px 10px}.weather-panel,.flights-panel,.airport-info-panel{margin-top:20px}.weather-heading h2,.flights-panel .panel-heading h2{font-size:18px}.weather-heading{padding:13px}.weather-metric strong{font-size:27px}.weather-metric>span,.weather-metric>small{font-size:12px}.weather-observed{font-size:12px}.weather-source{font-size:12px}.home-page .topbar .brand{font-size:23px}.home-page main{padding:0 18px}.home-hero{grid-template-columns:1fr;padding:42px 0 30px;gap:30px}.home-eyebrow{font-size:10px;letter-spacing:1.6px;margin-bottom:18px}.home-title{font-size:clamp(44px,12vw,67px);letter-spacing:-2.8px;margin-bottom:20px}.home-slogan{font-size:26px;line-height:1.4;letter-spacing:-.6px;margin-bottom:16px}.home-description{font-size:15px;line-height:1.75;margin-bottom:23px}.home-primary{min-height:48px;width:100%;font-size:15px}.home-secondary{font-size:14px;display:block;text-align:center;margin:8px auto 0}.home-visual{aspect-ratio:1.7;max-height:220px}.home-visual svg{position:absolute;height:140%;top:-20%;width:100%}.home-visual-caption{flex-direction:row;align-items:center;gap:10px;padding:10px 13px}.home-search-section{padding:20px 17px;gap:18px}.home-search-section h2,.home-features h2,.home-featured h2{font-size:25px}.home-search-section p{font-size:14px;line-height:1.6}.home-search-field{padding:0 10px;gap:8px}.home-search-field input{font-size:16px}.home-search-results a{padding:10px 4px;gap:9px;grid-template-columns:40px 1fr auto}.home-search-results span{font-size:13px}.home-search-results em{font-size:11px}.home-recent{gap:7px}.home-features{grid-template-columns:1fr;gap:25px;padding:36px 0}.home-feature-list li{gap:14px;grid-template-columns:30px 1fr;padding:20px 0}.home-feature-list svg{width:27px;height:27px}.home-feature-list h3{font-size:19px}.home-feature-list p{font-size:14px;line-height:1.7}.home-featured{padding:32px 0}.home-airports{grid-template-columns:1fr 1fr}.home-airport,.home-airport:first-child{padding:17px 13px}.home-airport:nth-child(even){border-right:0}.home-airport:nth-child(-n+2){border-bottom:1px solid var(--border)}.home-airport-code{font-size:31px}.home-airport strong{font-size:15px}.home-airport .home-source{font-size:11px}.home-footnote{font-size:12px}.home-page footer{align-items:start;flex-direction:column;gap:12px;padding:20px 0}.home-page footer>span{font-size:12px!important}.home-page .home-footer-brand{font-size:23px}.seo-airport-links{font-size:12px!important;gap:10px!important}}
@media(max-width:360px){.platform-page .topbar{gap:4px;padding:8px}.topbar .brand{font-size:21px;gap:4px}.platform-page .topbar .fp-brandmark{width:25px;height:27px}.topbar #account-button{padding:5px 7px;font-size:12px}.topbar .top-actions .icon-button{width:32px}.topbar .top-actions .language{min-width:32px;font-size:12px}.platform-page main{padding:0 9px}.airport-code{font-size:30px;padding-right:8px}.airport-primary{gap:8px}.airport-copy h2{font-size:15px}.map-panel .panel-heading h2{font-size:14px}.map-panel .panel-heading h2>[data-icon]{display:none}.map-settings-trigger{font-size:12px}.map-settings-label{font-size:12px}.home-title{font-size:43px}}
@media(max-height:500px) and (min-width:651px){.home-hero{padding:30px 0}.map-wrap{height:530px;min-height:530px}}
.radio-channel-mobile{display:none}.radio-source-details{font-size:13px;line-height:1.6;margin:0 0 13px}.radio-source-details summary{cursor:pointer;color:var(--muted);padding:5px 0}.radio-source-details p{font-size:13px!important}.external-source-note{font-size:12px!important;color:var(--muted);line-height:1.5!important}.external-source .primary-button{margin-top:0}
@media(max-width:650px){.radio-panel #channel-tabs{display:none}.radio-channel-mobile{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 13px;font-size:13px;border-bottom:1px solid var(--border)}.radio-channel-mobile select{font-size:16px;background:var(--surface2);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:8px;min-height:44px;max-width:67%}.radio-panel .channel-explanation{display:none}.radio-source-details{font-size:13px;margin:0 0 10px}.external-source-note{font-size:12px!important}}
/* Close remaining higher-specificity legacy styles, without changing data-panel geometry. */
.topbar #account-button{background:var(--surface2);color:var(--text);border-color:var(--border)}
#radio .primary-button,#radio .play-stream{background:var(--action);color:var(--action-text);border-color:#a6c371}
#radio .primary-button:hover,#radio .play-stream:hover{background:#e3f4bc;color:var(--action-text);border-color:#a6c371}
#radio #player-content{min-height:0;flex:0 0 auto}#radio .radio-empty{min-height:0}#radio .player-splash{background:#1b2a1e;border-color:#526f46}
.weather-more{border-bottom:1px solid var(--border)}.weather-more>summary{padding:12px 18px;font-size:14px;cursor:pointer;background:var(--surface2);color:var(--text)}.weather-more .weather-details{border:0}
.pd-summary-count{font-variant-numeric:tabular-nums}
@media(max-width:650px){.weather-more>summary{padding:12px 14px;font-size:13px}.weather-metrics{padding:12px 0;row-gap:18px}.weather-metric{padding:0 15px}.weather-heading{gap:10px}.weather-tools{gap:8px}.weather-observed{margin-top:5px}.weather-source{padding:12px 14px}}
.topbar #feedback-button,.topbar #feedback-button:hover{color:var(--text)}.topbar .main-nav a:hover{color:var(--text)}
#radio .external-source{display:block}#radio .primary-button{min-height:44px}#radio .radio-source-details{margin-bottom:12px}
.fp-history-source{font-size:13px;line-height:1.65;padding:10px 12px;background:var(--surface2);border-left:2px solid var(--accent);color:var(--muted);margin:12px 0}

/* Primary observations stay visible; decoded aviation details retain their accordions. */
.weather-metrics{grid-template-columns:repeat(12,minmax(0,1fr));padding:0;gap:0}
.weather-metrics .weather-metric{grid-column:span 3;padding:16px 18px;border:0;border-right:1px solid var(--border);min-width:0;gap:6px}
.weather-metrics .weather-metric:nth-child(n+5){grid-column:span 4;border-top:1px solid var(--border)}
.weather-metrics .weather-metric:nth-child(4),.weather-metrics .weather-metric:last-child{border-right:0}
.weather-metrics .weather-metric-label{font-size:12px;font-weight:500;color:var(--muted)}
.weather-metrics .weather-metric-detail{font-size:12px;line-height:1.5;color:var(--muted);min-height:18px}
.weather-metric-clouds strong,.weather-metric-conditions strong{font-size:20px;line-height:1.4;font-weight:600;letter-spacing:-.3px;overflow-wrap:anywhere}
@media(max-width:650px){
 .weather-metrics .weather-metric:nth-child(n){grid-column:span 6;padding:13px 15px;border:0;border-top:1px solid var(--border);border-right:1px solid var(--border)}
 .weather-metrics .weather-metric:nth-child(-n+2){border-top:0}
 .weather-metrics .weather-metric:nth-child(even){border-right:0}
 .weather-metrics .weather-metric:last-child{grid-column:1/-1;border-right:0}
 .weather-metrics .weather-metric-clouds strong,.weather-metrics .weather-metric-conditions strong{font-size:19px}
}

/* Reference logos above markers and restrained, credited aircraft illustrations. */
.plane-airline-logo{position:absolute;bottom:calc(100% + 7px);left:50%;transform:translateX(-50%);width:76px;height:30px;padding:3px 5px;background:#fff;border:1px solid #b9c7d8;border-radius:4px;box-shadow:0 2px 5px #0b10191c;display:flex;align-items:center;justify-content:center;pointer-events:auto}
.plane-airline-logo[hidden]{display:none}.plane-airline-logo img{width:100%;height:100%;object-fit:contain;display:block}.airwave-plane.is-selected .plane-airline-logo{border-color:#075cdb;box-shadow:0 0 0 2px #075cdb33}
.map-media-help{font-size:12px;color:var(--muted);margin:4px 0 15px}.map-media-help summary{min-height:34px;cursor:pointer;display:list-item;list-style-position:inside}.map-media-help a{color:var(--accent)}
#aircraft-detail .ad-media{display:grid;grid-template-columns:148px minmax(0,1fr);gap:10px;margin:7px 0 12px;padding:0;min-width:0;border:0;background:transparent}
#aircraft-detail .ad-media[hidden]{display:none}#aircraft-detail .ad-media-image{display:block;min-width:0;height:99px;overflow:hidden;border-radius:3px;background:var(--surface2)}
#aircraft-detail .ad-media img{width:100%;height:100%;object-fit:cover;display:block}
#aircraft-detail .ad-media figcaption{display:flex;flex-direction:column;gap:4px;font-size:10px;line-height:1.45;color:var(--muted);overflow-wrap:anywhere;justify-content:center;min-width:0}
#aircraft-detail .ad-media figcaption strong{font-size:12px;color:var(--text);font-weight:600}#aircraft-detail .ad-media figcaption small{font-size:10px}#aircraft-detail .ad-media a{color:var(--accent)}
#aircraft-detail.is-expanded .ad-media{display:block;margin:0 0 16px}#aircraft-detail.is-expanded .ad-media-image{height:176px}#aircraft-detail.is-expanded .ad-media figcaption{padding-top:8px;gap:3px}#aircraft-detail.is-expanded .ad-media figcaption strong{font-size:13px}

/* FlightPulse3.4: stronger structural outlines without changing the white/blue brand. */
:root[data-theme=light]{--frame:#202938;--navigation:#e9edf3;--border:#b2bdcc}
:root[data-theme=dark]{--frame:#60748f;--navigation:#111e30}
.topbar{background:var(--navigation);border-bottom:2px solid var(--frame)}
.panel,.workspace-grid>.panel{border:2px solid var(--frame)}
.panel-heading{border-bottom:1px solid var(--frame)}
.airport-hero{border-bottom:2px solid var(--frame)}
.home-search-section{border:2px solid var(--frame);border-left:4px solid var(--accent)}
.home-airports,.home-features,.home-airport,.home-feature-list li{border-color:var(--frame)}
.topbar #account-button,.topbar .nav-toggle{background:var(--surface);border:1px solid var(--frame)}
.map-settings-trigger{border-color:var(--frame)}
.plane-airline-logo{width:58px;height:24px;padding:3px 4px;border-color:#6d7b90}
.plane-airline-logo.is-below{bottom:auto;top:calc(100% + 7px)}
.airwave-plane.is-delayed .plane-glyph{opacity:.55}
.airwave-plane.is-delayed .plane-airline-logo{opacity:.7}
@media(max-width:360px){#aircraft-detail .ad-media{grid-template-columns:140px minmax(0,1fr)}#aircraft-detail .ad-media-image{height:94px}}

/* Keep the enlarged photo visible beside primary telemetry inside the same compact card. */
#aircraft-detail.has-media:not(.is-expanded) .ad-body{display:grid;grid-template-columns:minmax(0,1fr) 148px;column-gap:10px;align-content:start}
#aircraft-detail.has-media:not(.is-expanded) .ad-status,#aircraft-detail.has-media:not(.is-expanded) .ad-stale-note,#aircraft-detail.has-media:not(.is-expanded) .ad-emergency,#aircraft-detail.has-media:not(.is-expanded) .ad-secondary,#aircraft-detail.has-media:not(.is-expanded) .ad-follow{grid-column:1/-1}
#aircraft-detail.has-media:not(.is-expanded) .ad-main-metrics{grid-column:1;grid-template-columns:minmax(0,1fr);gap:6px;padding-bottom:0}
#aircraft-detail.has-media:not(.is-expanded) .ad-media{grid-column:2;display:block;position:relative;margin:0 0 6px}
#aircraft-detail.has-media:not(.is-expanded) .ad-media figcaption{padding-top:4px;gap:1px}
#aircraft-detail.has-media:not(.is-expanded) .ad-media figcaption strong,#aircraft-detail.has-media:not(.is-expanded) .ad-media figcaption small{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#aircraft-detail.has-media:not(.is-expanded) .ad-media figcaption strong{font-size:11px}
#aircraft-detail.has-media:not(.is-expanded) .ad-media figcaption>span{position:absolute;top:82px;left:2px;right:2px;background:#fffffff2;color:#172233;text-align:center;font-size:9px;line-height:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#aircraft-detail.has-media:not(.is-expanded) .ad-route-summary[data-state=unavailable]{padding-top:4px;padding-bottom:4px}
#aircraft-detail.has-media:not(.is-expanded) .ad-source .ad-observation-status{display:none}
@media(max-width:360px){#aircraft-detail.has-media:not(.is-expanded) .ad-body{grid-template-columns:minmax(0,1fr) 140px}#aircraft-detail.has-media:not(.is-expanded) .ad-media figcaption>span{top:77px}}

/* Existing account/admin tools stay reachable after a new browser session. */
.home-account-link{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:7px 11px;border:1px solid var(--frame);border-radius:4px;color:var(--text);background:var(--surface);font-size:13px;font-weight:600;white-space:nowrap}
.main-nav #admin-button{font:inherit;color:var(--accent);font-weight:600;background:transparent;border:0;padding:8px;min-height:44px;cursor:pointer}
.main-nav #admin-button[hidden]{display:none}
.aw-account-role{font-size:13px;padding:8px 0;border-bottom:1px solid var(--border)}
.aw-admin-help{font-size:13px;line-height:1.6;margin:12px 0}
.aw-admin-help summary{cursor:pointer;min-height:40px;display:list-item;list-style-position:inside}
.aw-own-id{display:block;overflow-wrap:anywhere;margin:8px 0;padding:8px;background:var(--surface2);user-select:all}
@media(max-width:360px){.home-page .topbar{gap:4px;padding:8px}.home-account-link{font-size:12px;padding:5px 7px}.home-page .fp-brandmark{width:25px;height:27px}}

/* Small warm accents preserve the white, black and blue identity. */
:root{--warm:#f2a900;--warm-ink:#8b5500}
:root[data-theme=dark]{--warm-ink:#ffc14a}
.home-eyebrow:before{background:var(--warm)}
.home-visual-caption>span:first-child{color:#ffc547}
.radio-panel .panel-heading{box-shadow:inset 3px 0 var(--warm)}
.radio-panel .panel-heading h2>[data-icon],.home-feature-list li:first-child>svg{color:var(--warm-ink)}
.fp-source a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.aw-independent-entry{margin-top:12px}
