@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=Inter:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#00040e;--panel:#07121f;--text:#f2f4f5;--muted:#8e9dab;--accent:#fc4302}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #fc4302;outline-offset:5px}header{max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:24px 48px;border-bottom:1px solid #1b2632}.brand{display:flex;gap:12px;align-items:center;font-size:17px;letter-spacing:1.6px;font-weight:700}.brand img{height:43px;width:38px;object-fit:contain}.subbrand{display:block;font-size:10px;color:var(--muted);margin-top:5px;letter-spacing:3px}nav{display:flex;gap:32px;font-size:12px}.edition{font-size:10px;letter-spacing:1px;color:var(--muted)}.edition span{color:var(--accent);padding:0 8px}main{max-width:1440px;margin:auto;padding:0 48px}.intro{display:flex;justify-content:space-between;align-items:end;padding:48px 0 34px}.eyebrow{font-size:10px;letter-spacing:2.2px;font-weight:600;color:var(--accent);margin:0 0 16px}h1{font-family:'Barlow Condensed',Arial,sans-serif;text-transform:uppercase;font-size:clamp(42px,5.3vw,76px);line-height:.98;letter-spacing:-1px;margin:0;font-weight:600}h1 span{color:var(--muted)}.introcopy{font-size:12px;line-height:1.9;color:var(--muted);padding-right:4px}.introcopy strong{font-weight:400;color:var(--text)}.tracker{height:530px;position:relative;background:var(--panel);border:1px solid #24303d;border-radius:8px;overflow:hidden}#map{position:absolute;inset:0}.map-label{position:absolute;top:22px;left:24px;font-size:11px;letter-spacing:2px;font-weight:bold;pointer-events:none}.map-label span{color:var(--muted);font-size:9px}.fit{position:absolute;bottom:54px;right:15px;background:#07121fe8;color:var(--text);border:1px solid #344252;padding:10px 14px;border-radius:4px;font-size:11px}.flight-panel{position:absolute;left:24px;top:64px;width:305px;padding:23px;background:#07121ff2;border:1px solid #2a3542;border-radius:7px;box-shadow:0 12px 48px #0005}.panel-top{display:flex;justify-content:space-between;align-items:center}.panel-top .eyebrow{color:var(--muted);margin:0;font-size:9px}.pill{font-size:9px;letter-spacing:1px;border:1px solid #fc4302;color:#fc4302;padding:5px 7px;border-radius:3px}.aircraft{font-size:12px;margin-top:22px}.aircraft span{display:block;color:var(--muted);font-size:10px;margin-top:6px}.route{display:flex;align-items:center;justify-content:space-between;margin-top:24px}.route :is(strong,.airport-focus){font-family:'Barlow Condensed',Arial,sans-serif;font-size:42px;font-weight:500}.route div:last-child{text-align:right}.route div span{display:block;font-size:10px;color:var(--muted);margin-top:3px}.route-arrow{color:var(--accent);font-size:28px}#flight-date{font-size:10px;color:var(--muted);padding:18px 0;border-bottom:1px solid #28323d;margin:0}.stats{display:grid;grid-template-columns:1fr 1fr;padding:18px 0}.stats span{display:block;color:var(--muted);font-size:8px;letter-spacing:1px}.stats strong{display:block;margin-top:8px;font-size:16px;font-weight:500}.playback button{width:100%;background:var(--accent);color:white;border:0;border-radius:4px;padding:11px;font-size:11px;font-weight:600}.playback label{font-size:9px;color:var(--muted);display:block;margin-top:16px}.playback output{float:right}input[type=range]{width:100%;accent-color:var(--accent);margin-top:10px}.data-note{font-size:9px;line-height:1.6;color:var(--muted);margin:8px 0 0}.map-caption{position:absolute;bottom:18px;left:24px;font-size:8px;letter-spacing:1.4px;pointer-events:none}.map-caption span{color:var(--muted);margin-left:18px;letter-spacing:0}#map-warning{position:absolute;top:16px;right:15px;max-width:280px;padding:12px;background:#07121f;font-size:12px;z-index:3;border:1px solid #8e9dab}.section-heading{display:flex;align-items:end;justify-content:space-between;margin:45px 0 22px}h2{font-family:'Barlow Condensed',Arial,sans-serif;font-size:34px;font-weight:500;margin:0}.section-heading .eyebrow{margin-bottom:8px}.search-label{font-size:9px;color:var(--muted)}input[type=search]{display:block;margin-top:7px;background:var(--panel);border:1px solid #2a3542;border-radius:4px;padding:11px 14px;color:var(--text);width:240px;font-size:11px}.flight-row{width:100%;display:grid;grid-template-columns:150px 1fr 140px 130px 24px;text-align:left;align-items:center;background:transparent;color:var(--text);border:0;border-top:1px solid #202c39;padding:21px 17px;border-left:2px solid transparent}.flight-row:hover{background:#0a1725}.flight-row[aria-pressed=true]{background:#101a27;border-left-color:var(--accent)}.flight-row small{display:block;color:var(--muted);font-size:10px;margin-top:6px}.flight-row .day{font-size:12px}.flight-row .cities{font-size:14px}.flight-row .cities span{color:var(--accent);padding:0 14px}.flight-row .metric{font-size:12px}.flight-row .arrow{color:var(--accent)}.closing{margin:55px 0 35px;padding:40px 0;border-top:1px solid #202c39;text-align:center}.closing h2{font-size:38px}.closing a{display:inline-block;border:1px solid #3a4552;border-radius:4px;padding:13px 20px;margin-top:22px;font-size:12px}footer{border-top:1px solid #202c39;max-width:1344px;margin:auto;padding:24px 0 35px;color:var(--muted);font-size:9px;display:flex;justify-content:space-between;align-items:center;line-height:1.8}footer>span:first-child{font-weight:600;letter-spacing:1px}.skip{position:fixed;top:-100px}.skip:focus{top:10px;left:10px;z-index:20;background:var(--panel);padding:15px}.jet{width:30px;height:30px;color:#fc4302}.airport-dot{width:11px;height:11px;border:2px solid #fc4302;border-radius:50%;background:#07121f}.maplibregl-ctrl-attrib{font-size:9px!important}
@media(max-width:750px){header{padding:18px 20px}.edition{display:none}nav{gap:12px;font-size:10px}.brand{font-size:12px;gap:8px}.brand img{width:27px;height:35px}.subbrand{font-size:8px;letter-spacing:1.7px}main{padding:0 20px}.intro{padding:30px 0 24px}.introcopy{display:none}.tracker{height:760px}#map{bottom:420px}.flight-panel{left:12px;right:12px;top:auto;bottom:12px;width:auto;padding:18px}.route{margin-top:12px}.aircraft{margin-top:12px}.map-caption{display:none}.fit{top:270px;bottom:auto;right:10px}.map-label{left:15px;top:15px}.map-label span{font-size:8px}.section-heading{display:block;margin-top:32px}.search-label{display:block;margin-top:18px}input[type=search]{width:100%}.flight-row{grid-template-columns:1fr auto;padding:17px 12px;gap:13px}.flight-row .day{grid-column:1/-1}.flight-row .cities{font-size:13px}.flight-row .metric:nth-child(4),.flight-row .arrow{display:none}.flight-row .cities span{padding:0 5px}footer{display:block;margin:0 20px}.closing h2{font-size:31px}#map-warning{top:50px;left:15px;right:15px;max-width:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Globe-first tracker layout, based on the requested reference composition. */
body{border-top:2px solid var(--accent)}header{max-width:none;height:62px;padding:0 20px;background:#050b14;border-bottom:1px solid #26303b;gap:25px}.brand{font-size:13px;letter-spacing:1.3px;flex-shrink:0}.brand img{height:34px;width:29px}.subbrand{font-size:8px;letter-spacing:2.5px;margin-top:4px}nav{flex:1;justify-content:center;align-items:center;gap:28px;font-size:10px;color:#a8b3bd}.clock{text-align:right;flex-shrink:0}.clock time{font-size:16px;font-variant-numeric:tabular-nums;font-weight:600}.clock>span{display:block;font-size:8px;text-transform:uppercase;color:var(--muted);margin-top:4px;letter-spacing:.5px}main{max-width:none;padding:0}.tracker{height:calc(100svh - 64px);min-height:530px;border:0;border-radius:0;background:radial-gradient(ellipse at center,#0b1b2a,#00040e 72%)}#map{inset:0}.fleet-panel{position:absolute;top:16px;left:16px;width:224px;border:1px solid #303b47;border-top:2px solid #fc4302;border-radius:7px;padding:14px;background:#07121fe8;box-shadow:0 8px 40px #0004}.fleet-panel .eyebrow{font-size:8px;color:var(--muted);margin-bottom:7px;letter-spacing:1.3px}.fleet-panel h1{font-family:Inter,Arial,sans-serif;text-transform:none;font-size:13px;letter-spacing:0;line-height:1.4;margin-bottom:13px}.aircraft-card{display:flex;align-items:center;gap:8px;width:100%;background:#172434;border:1px solid #364554;border-left:2px solid #fc4302;border-radius:4px;padding:11px 7px;color:var(--text);text-align:left}.aircraft-card strong{font-size:10px;display:block}.aircraft-card small{font-size:6.5px;letter-spacing:.3px;color:var(--muted);display:block;margin-top:5px;white-space:nowrap}.aircraft-icon{font-size:20px;color:var(--accent)}.fleet-note{font-size:9px;line-height:1.7;color:var(--muted);margin:12px 0}.globe-button{background:transparent;color:var(--text);border:1px solid #324050;border-radius:4px;width:100%;padding:8px;font-size:10px}.flight-panel{left:auto;right:16px;top:16px;width:280px;padding:16px;border-top:2px solid #fc4302;background:#07121fe8}.aircraft{font-size:15px;font-weight:600;margin-top:16px}.aircraft span{font-size:8px;letter-spacing:1px;font-weight:400}.route{margin-top:22px}.route-label{display:block;color:var(--accent);font-size:7px;letter-spacing:1px;margin-bottom:3px}.route :is(strong,.airport-focus){font-size:34px}.route div span{font-size:9px}.route-arrow{font-size:23px}.stats{gap:8px;padding:12px 0}.stats>div{background:#14202d;border:1px solid #253341;border-radius:4px;padding:9px}.stats strong{font-size:15px}.stats span{font-size:7px}#flight-date{font-size:9px;padding:14px 0}.playback button{font-size:10px;padding:9px}.playback label{margin-top:12px}.data-note{font-size:8px}.map-caption{bottom:18px;left:18px;color:#9cadbd}.fit{bottom:38px;right:53px;font-size:10px}.maplibregl-ctrl-group{background:#07121f!important;border:1px solid #344252}.maplibregl-ctrl-icon{filter:invert(1)}#map-warning{top:auto;bottom:90px;right:16px}#flights{max-width:1250px;margin:auto;padding:0 30px 25px}.section-heading{margin-top:34px}footer{padding:22px 30px;max-width:1310px}
@media(max-width:900px){nav{gap:15px}.clock time{font-size:13px}.fleet-panel{width:200px}.flight-panel{width:250px}}
@media(max-width:650px){header{height:59px;padding:0 12px;gap:12px}.brand{font-size:10px}.brand img{width:23px;height:30px}.subbrand{font-size:7px;letter-spacing:1.5px}nav{justify-content:flex-end}nav>a{display:none}.clock{display:none}.tracker{height:calc(100svh - 61px);min-height:760px}.fleet-panel{left:10px;top:10px;width:190px;padding:10px}.fleet-panel h1{font-size:11px;margin-bottom:8px}.fleet-note{display:none}.globe-button{margin-top:8px;padding:6px}.aircraft-card{padding:8px 5px}.flight-panel{top:auto;bottom:32px;left:10px;right:10px;width:auto;padding:12px}.aircraft{margin-top:8px;font-size:13px}.route{margin-top:10px}.route :is(strong,.airport-focus){font-size:28px}#flight-date{padding:8px 0}.stats{padding:8px 0}.stats>div{padding:7px}.playback label{margin-top:8px}.data-note{margin-top:4px}.map-caption{display:none}.fit{top:190px;right:10px;bottom:auto}.maplibregl-ctrl-bottom-right{bottom:425px}.maplibregl-ctrl-attrib{max-width:90vw}#map-warning{top:210px;bottom:auto}.section-heading{margin-top:25px}#flights{padding:0 15px 20px}footer{margin:0;padding:20px 15px}}
.social-ticker{display:block;overflow:hidden;min-width:0;border:1px solid #25303c;border-radius:20px;background:#0a1420;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}.ticker-track{display:flex;width:max-content;animation:social-scroll 32s linear infinite}.ticker-group{display:flex;align-items:center;flex-shrink:0;gap:30px;padding:9px 15px;white-space:nowrap;font-size:10px}.ticker-group a{display:inline-flex;align-items:center;gap:7px}.ticker-group a span{color:var(--muted)}.ticker-group b{color:var(--text);font-size:14px}.ticker-label{color:var(--accent);font-size:8px;letter-spacing:1.2px;font-weight:700}.social-ticker:hover .ticker-track,.social-ticker:focus-within .ticker-track{animation-play-state:paused}header{gap:14px}@keyframes social-scroll{to{transform:translateX(-50%)}}@media(prefers-reduced-motion:reduce){.ticker-track{animation:none}.social-ticker{overflow-x:auto;mask-image:none}.ticker-group[aria-hidden]{display:none}}@media(max-width:650px){.social-ticker{display:block;flex:1}.ticker-group a{display:inline-flex}.ticker-group{gap:20px;font-size:9px;padding:8px 12px}}
.jet{background:transparent;border:0;padding:0;width:38px;height:38px}.jet img{width:100%;height:100%;object-fit:contain}.history-jet{opacity:.6;filter:grayscale(.5)}img.aircraft-icon{width:25px;height:25px;object-fit:contain}.fleet-note strong{color:var(--text);font-size:10px}.fleet-note p{margin:7px 0}.fleet-panel .globe-button{margin-top:8px}#sync-status{color:#8e9dab;font-size:8px}#history-note{margin-bottom:15px}.flight-row{grid-template-columns:160px 1fr 150px 110px}#flight-date{line-height:1.7}@media(max-width:650px){.fleet-note{display:block}.fleet-panel{width:195px}.fleet-note p{font-size:8px;margin:4px 0}.fleet-panel .eyebrow,.fleet-panel h1{display:none}.flight-row{grid-template-columns:1fr auto}.flight-row .day{grid-column:1/-1}.fleet-note #sync-status{display:none}}
/* Single viewport. Only overlay contents may scroll; the document never does. */
html,body{height:100%;height:100dvh;overflow:hidden}body{display:flex;flex-direction:column}header{flex:0 0 62px;min-height:0}main{position:relative;flex:1;min-height:0;width:100%;overflow:hidden}.tracker{height:100%;min-height:0;width:100%}.fleet-panel,.flight-panel{max-height:calc(100% - 65px);overflow:auto;scrollbar-width:thin}.map-caption{bottom:34px}#flights{position:absolute;z-index:10;left:50%;top:16px;bottom:48px;transform:translateX(-50%);width:min(800px,calc(100% - 32px));max-width:none;margin:0;padding:22px;background:#07121ff7;border:1px solid #344451;border-top:2px solid var(--accent);border-radius:8px;box-shadow:0 20px 70px #0009;overflow:auto;scrollbar-width:thin;overscroll-behavior:contain}#flights[hidden],#about[hidden]{display:none}#flights .section-heading{margin:8px 25px 20px 0}.panel-close{position:absolute;right:10px;top:8px;border:1px solid #344451;border-radius:50%;width:27px;height:27px;background:#07121f;color:var(--text);font-size:20px}.about-toggle{position:fixed;bottom:7px;left:15px;border:0;background:#07121fd9;color:var(--muted);font-size:9px;padding:5px 10px;border-radius:4px;z-index:11}#about{position:fixed;left:15px;bottom:40px;z-index:12;max-width:360px;width:calc(100% - 30px);padding:25px 20px 14px;background:#07121ff7;border:1px solid #344451;border-radius:6px;font-size:11px;line-height:1.6;color:var(--muted)}#about strong{color:var(--text)}.flight-row{grid-template-columns:130px minmax(140px,1fr) 115px 70px;padding:18px 10px;gap:8px}.flight-row .cities{font-size:12px}.flight-row small{overflow-wrap:anywhere}
@media(max-width:650px){header{flex-basis:59px}.tracker{height:100%;min-height:0}.fleet-panel{top:10px;max-height:32%;padding:9px}.flight-panel{bottom:30px;max-height:42%;top:auto}.maplibregl-ctrl-bottom-right{bottom:44%}.fit{top:35%;bottom:auto}#flights{top:10px;bottom:35px;width:calc(100% - 20px);padding:15px}#flights .section-heading{margin:5px 25px 15px 0}.flight-row{grid-template-columns:1fr auto}.flight-row .day{grid-column:1/-1}.fleet-panel .globe-button{padding:7px}.map-caption{display:none}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
header{width:100%;max-width:none;margin:0;align-self:stretch;box-sizing:border-box}
.fleet-note #sync-status:empty{display:none}

/* Small brand-colour mouse pointer on the interactive map only. */
#map .maplibregl-canvas-container, #map .maplibregl-canvas {cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M4 2L4 18L8.5 14L12 21L15 19.5L11.5 12.5L17.5 12Z' fill='%23fc4302' stroke='%2307121f' stroke-width='1.3' stroke-linejoin='round'/%3E%3C/svg%3E") 4 2,default;}

/* Mobile: a clear globe with a compact{display:none}
@media(max-width:750px){
 header{height:54px;flex-basis:54px;padding:0 16px;gap:12px}
 .brand{font-size:11px;gap:9px}.brand img{width:24px;height:30px}.subbrand{font-size:7px;letter-spacing:2px}
 .social-ticker,.clock{display:none}
 .fleet-panel,.flight-panel,.fit,.maplibregl-ctrl-bottom-right{display:none}
 .tracker{height:100%;min-height:0}
 .about-toggle{bottom:calc(5px + env(safe-area-inset-bottom,0px));left:12px;background:transparent;font-size:9px;min-height:24px;padding:4px 8px}
 #about{bottom:calc(36px + env(safe-area-inset-bottom,0px));max-height:calc(100dvh - 100px);overflow:auto}
 #map-warning{top:68px;bottom:auto;left:16px;right:16px;max-width:none;font-size:10px}
 #flights{top:auto;bottom:0;left:0;transform:none;width:100%;max-height:76%;padding:20px 20px calc(32px + env(safe-area-inset-bottom,0px));border:1px solid #293541;border-radius:18px 18px 0 0;background:#07121ffb}
 #flights .section-heading{display:block;margin:0 36px 18px 0}#flights .eyebrow{display:none}
 #flights h2{font-family:Inter,Arial,sans-serif;font-size:18px;font-weight:600;margin:4px 0 18px}
 #flights .search-label{display:block;font-size:10px;margin-top:12px}#flights input{width:100%;font-size:16px}
 .panel-close{width:36px;height:36px;right:16px;top:14px}
 #history-note{display:none}.flight-row{grid-template-columns:1fr auto;gap:6px;padding:15px 4px}.flight-row .day{grid-column:2;grid-row:1;font-size:10px;color:var(--muted)}.flight-row .day small,.flight-row .metric{display:none}.flight-row .cities{grid-column:1;grid-row:1;font-size:13px}.flight-row small{font-size:10px;line-height:1.4}
}


/* Static social links and optional pitched map view. */
.ticker-track{animation:none;width:auto;justify-content:center}.ticker-group[aria-hidden]{display:none}.ticker-label{display:none}.social-ticker{overflow-x:auto;mask-image:none;scrollbar-width:none}.ticker-group{gap:22px}.ticker-group a{flex-shrink:0}
.view-3d{position:absolute;right:53px;bottom:82px;min-width:44px;height:40px;background:#07121fe8;color:var(--text);border:1px solid #344252;border-radius:4px;font-size:12px;z-index:2}.view-3d[aria-pressed=true]{color:var(--accent);border-color:var(--accent)}
@media(max-width:1100px){.ticker-group a span{display:none}}
@media(max-width:750px){.view-3d{top:68px;right:14px;bottom:auto;width:44px;height:44px;border-radius:50%;background:#07121f99}}

/* Branded social header; keep handles intact and hover/focus consistent. */
header{gap:16px}.brand img{width:43px;height:49px}.brand{font-size:14px}.subbrand{font-size:8px}
.social-ticker{border:0;border-radius:0;background:transparent}.ticker-group{gap:6px;padding:4px 0}.ticker-group a{gap:7px;padding:8px 10px;border:1px solid transparent;border-radius:7px;transition:color .15s,background .15s,border-color .15s}.ticker-group a span{display:inline;color:inherit;font-size:10px}.ticker-group a:hover,.ticker-group a:focus-visible{color:var(--accent);background:#fc43020d;border-color:#fc43024d}.social-icon{display:block;width:15px;height:15px;flex-shrink:0}.contact-label{font-weight:600}.contact-address{color:var(--muted)!important}.contact-link:hover .contact-address{color:inherit!important}
@keyframes live-blip{from{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(1.7)}}
@media(max-width:1250px){.contact-link .contact-address{display:none}header{gap:10px}.ticker-group a{padding:8px 6px}}
@media(max-width:950px){.clock{display:none}.ticker-group{gap:2px}}
@media(max-width:750px){header{justify-content:space-between}.brand img{width:33px;height:39px}.brand{font-size:12px}.subbrand{font-size:7px}.social-ticker{display:none}}
@media(prefers-reduced-motion:reduce){.ticker-group a{transition:none}}

/* Handle branding, continuous social slider and unified map toolbar. */
.brand{gap:10px;font-size:17px;letter-spacing:.2px;white-space:nowrap}.brand img{width:49px;height:55px}
.social-ticker{overflow:hidden;border:1px solid #25303c;border-radius:20px;background:#0a1420;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.ticker-track{width:max-content;justify-content:flex-start;animation:social-scroll 38s linear infinite}.ticker-group,.ticker-group[aria-hidden]{display:flex;gap:12px;padding:3px 12px;flex-shrink:0}.ticker-group .contact-address{display:inline}.social-ticker:hover .ticker-track,.social-ticker:focus-within .ticker-track{animation-play-state:paused}
.map-tools{position:absolute;right:16px;bottom:18px;display:flex;align-items:stretch;z-index:2;border:1px solid #344252;border-radius:8px;background:#07121fee;box-shadow:0 4px 18px #0004;overflow:hidden}
.map-tools button,.map-tools .fit,.map-tools .view-3d{display:block;position:static;inset:auto;min-width:44px;width:auto;height:42px;margin:0;padding:0 13px;border:0;border-right:1px solid #344252;border-radius:0;background:transparent;color:var(--text);font-size:12px}
.map-tools button:last-child{border-right:0}.map-tools #zoom-in,.map-tools #zoom-out{font-size:23px;padding:0 10px}.map-tools button:hover,.map-tools button[aria-pressed=true]{color:var(--accent);background:#fc430212}.map-tools button:focus-visible{outline-offset:-3px}
@media(max-width:750px){.brand{font-size:16px}.brand img{width:39px;height:45px}.social-ticker{display:none}.map-tools{top:68px;right:14px;bottom:auto}.map-tools button,.map-tools .fit,.map-tools .view-3d{height:44px;padding:0 10px}}
@media(prefers-reduced-motion:reduce){.ticker-track{animation:none}.ticker-group[aria-hidden]{display:none}.social-ticker{overflow-x:auto;mask-image:none}}

/* True mesh-rendered marker in pitched view; flat icon remains the fallback. */
.jet canvas{display:none;width:96px;height:96px;pointer-events:none}.jet.model-active{width:var(--jet-size,48px);height:var(--jet-size,48px);filter:drop-shadow(0 3px 3px #0008)}.jet.model-active img{display:none}.jet.model-active canvas{display:block;width:100%;height:100%}

/* Tracker-feed heartbeat, independent of aircraft activity. */
.tracker-live{display:flex;align-items:center;gap:8px;font-size:12px;letter-spacing:1px;color:var(--accent)}.tracker-live i{position:relative;width:7px;height:7px;background:var(--accent);border-radius:50%}.tracker-live[data-online=true] i:after{content:'';position:absolute;inset:-4px;border:1px solid var(--accent);border-radius:50%;animation:live-blip 1.8s ease-out infinite}.tracker-live[data-online=false]{color:var(--muted)}.tracker-live[data-online=false] i{background:var(--muted)}
#circuit-panel{position:fixed;left:50%;bottom:36px;transform:translateX(-50%);width:350px;max-width:calc(100% - 28px);max-height:calc(100dvh - 100px);overflow:auto;z-index:15;background:#07121ff7;border:1px solid #344252;border-top:2px solid var(--accent);border-radius:10px;padding:22px;box-shadow:0 12px 40px #0008}#circuit-panel[hidden]{display:none}#circuit-panel .eyebrow{margin:0 36px 12px 0;color:var(--accent)}#circuit-panel h2{font-family:Inter,Arial,sans-serif;font-size:19px;font-weight:600;line-height:1.25;padding-right:20px;color:var(--accent)}#circuit-city{font-size:11px;color:var(--muted);margin:8px 0 18px}#circuit-stats{display:grid;grid-template-columns:1fr 1fr;gap:16px 12px;margin:0 0 20px}#circuit-stats dt{font-size:10px;color:var(--muted);margin-bottom:5px}#circuit-stats dd{font-size:15px;color:var(--text);margin:0}#circuit-source{font-size:11px;color:var(--accent)}
@media(max-width:750px){#circuit-panel{left:0;bottom:0;transform:none;width:100%;max-width:none;max-height:65dvh;padding:22px 22px calc(24px + env(safe-area-inset-bottom,0px));border-radius:18px 18px 0 0}.tracker-live{font-size:12px}}
@media(prefers-reduced-motion:reduce){.tracker-live i:after{animation:none!important}}

/* Orange hand indicates clickable circuit/route geometry and aircraft. */
#map .maplibregl-canvas.map-action-hover,#map .jet{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M11 16V5a2 2 0 014 0v9-2a2 2 0 014 0v2-1a2 2 0 014 0v2a2 2 0 014 0v7c0 4-3 7-7 7h-3c-2 0-4-1-5-3l-6-8c-2-3 1-5 3-3l2 2Z' fill='%23fc4302' stroke='%2307121f' stroke-width='1.4' stroke-linejoin='round'/%3E%3C/svg%3E") 13 4,pointer;}

.max-results{border-top:1px solid #344252;padding-top:16px;margin-top:4px}.max-results h3{font-size:13px;color:var(--accent);margin:0 0 6px}#max-race-date{font-size:10px;color:var(--muted);margin:0 0 14px}#max-result-status{color:var(--accent);font-size:13px;margin:0}#max-result-status:empty{display:none}#max-result-stats{display:grid;grid-template-columns:1fr 1fr;gap:14px 12px;margin:0}#max-result-stats dt{font-size:10px;color:var(--muted);margin-bottom:5px}#max-result-stats dd{font-size:14px;color:var(--text);margin:0}

/* Two identical full-width groups keep the ticker seamless even on wide monitors. */
.ticker-group{min-width:0;justify-content:flex-start}.ticker-group .ticker-label{display:inline-flex;align-items:center;gap:9px;color:var(--accent);font-size:9px;letter-spacing:.9px;font-weight:700;flex-shrink:0}.ticker-label>span{font-size:7px}.ticker-track{animation-duration:42s;will-change:transform}

/* Compact follow strip: repeat content, never stretch the gaps. */
.social-ticker{height:32px;align-self:center}.ticker-track{height:100%;animation:compact-ticker var(--ticker-duration,32s) linear infinite}.ticker-group,.ticker-group[aria-hidden]{min-width:0;flex:none;justify-content:flex-start;height:100%;gap:0;padding:0}.ticker-group .ticker-label{height:100%;padding:0 18px;font-size:10px}.ticker-group a{height:70%;padding:0 14px;border:0;border-left:1px solid #25303c;border-radius:0}.ticker-group a span{font-size:11px}.ticker-group .social-icon{width:13px;height:13px}
@keyframes compact-ticker{to{transform:translateX(calc(-1 * var(--ticker-step,800px)))}}
@media(prefers-reduced-motion:reduce){.ticker-track{animation:none}.ticker-group[aria-hidden]{display:none}}

#max-career-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0 20px}#max-career-summary dt{font-size:9px;color:var(--muted);margin-bottom:5px}#max-career-summary dd{font-size:18px;font-weight:600;color:var(--accent);margin:0}#max-race-date:empty{display:none}#max-history h4{font-size:12px;font-weight:600;color:var(--text);margin:20px 0 10px}#max-history table{border-collapse:collapse;width:100%;font-size:11px}#max-history th{text-align:left;color:var(--muted);font-size:9px;font-weight:400;padding:5px 0}#max-history td{padding:8px 0;border-top:1px solid #ffffff0d}#max-history td:nth-child(2){color:var(--accent)}#max-history summary{color:var(--accent);cursor:pointer;font-size:11px;padding:14px 0 4px}#max-history p{font-size:11px;color:var(--muted)}

/* Circuit details beside the map focus; compact mobile sheet leaves room to zoom. */
@media(min-width:751px){#circuit-panel{left:auto;right:16px;top:80px;bottom:18px;transform:none;width:340px;max-width:calc(100vw - 32px);max-height:none}.circuit-open .flight-panel{visibility:hidden}}
@media(max-width:750px){#circuit-panel{max-height:46dvh;padding:18px 20px calc(20px + env(safe-area-inset-bottom,0px))}.circuit-open .about-toggle{visibility:hidden}}

/* Mobile globe-only view: follow strip in the header, quiet bottom-right controls. */
@media(max-width:750px){
 header{height:54px;flex-basis:54px;padding:0 10px;gap:10px;justify-content:flex-start}
 .brand{gap:6px}.brand img{width:31px;height:40px}.tracker-live{font-size:10px;gap:5px}
 .social-ticker{display:block;flex:1 1 0;min-width:0;height:28px}.ticker-group a{padding:0 10px}.ticker-group a span{font-size:10px}.ticker-group .ticker-label{padding:0 12px;font-size:9px}
 .map-tools{top:auto;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));border-color:#ffffff24;border-radius:6px;background:#07121f99;box-shadow:none}
 .map-tools button,.map-tools .view-3d{height:40px;min-width:40px;padding:0 9px;font-size:11px;color:var(--muted);border-color:#ffffff18}
 .map-tools #zoom-in,.map-tools #zoom-out{font-size:20px;padding:0 9px}.map-tools button[aria-pressed=true],.map-tools button:hover{color:var(--accent)}
 .circuit-open .map-tools{visibility:hidden}
}

/* Full race history scrolls within the circuit panel. */
#circuit-panel{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--accent) transparent}
#circuit-panel::-webkit-scrollbar{width:4px}
#circuit-panel::-webkit-scrollbar-track{background:transparent}
#circuit-panel::-webkit-scrollbar-thumb{background:var(--accent);border-radius:4px}

/* Combined aircraft/flight panel right, circuit statistics left. */
.tracker-summary{border-bottom:1px solid #344252;padding-bottom:16px;margin-bottom:16px}.tracker-summary .eyebrow{font-size:8px;color:var(--muted);margin-bottom:7px}.tracker-summary h1{font-family:Inter,Arial,sans-serif;text-transform:none;font-size:13px;letter-spacing:0;line-height:1.4;margin:0 0 13px}.tracker-summary .globe-button{margin-top:8px}.flight-panel{scrollbar-width:thin;scrollbar-color:var(--accent) transparent}
@media(min-width:751px){.flight-panel{width:310px;max-height:calc(100% - 34px)}#circuit-panel{left:16px;right:auto}.circuit-open .flight-panel{visibility:visible}}
#max-history td:nth-child(2){color:var(--text)}#max-history td:nth-child(3){color:var(--accent)}

/* North-reset compass and quiet attribution beneath the map controls. */
#compass{display:flex;align-items:center;justify-content:center}#compass-needle{width:19px;height:19px;display:block;transform-origin:center}
.map-tools{bottom:42px}.about-toggle{left:auto;right:16px;bottom:10px;text-align:right;padding:4px 0;background:transparent;font-size:9px;color:var(--muted)}#about{left:auto;right:16px;bottom:78px}
@media(max-width:750px){.map-tools{bottom:calc(38px + env(safe-area-inset-bottom,0px))}.about-toggle{left:auto;right:12px;bottom:calc(7px + env(safe-area-inset-bottom,0px));padding:4px 0}#about{left:auto;right:12px;bottom:calc(85px + env(safe-area-inset-bottom,0px))}}

/* Consistent, quiet close icons with a generous hit target. */
.panel-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;right:8px;top:8px;padding:0;border:0;border-radius:5px;background:transparent;color:var(--muted)}.panel-close svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}.panel-close:hover{color:var(--accent);background:#ffffff08}.panel-close:focus-visible{outline:1px solid var(--accent);outline-offset:-3px}
#about{padding:23px 20px 13px}#about>strong{display:block;padding-right:24px;color:var(--accent);font-size:13px}#about p{margin:12px 0}#about .credits{font-size:10px;line-height:1.7}
/* WebKit/Blink use an exact narrow rail; Firefox uses native thin. */
@supports selector(::-webkit-scrollbar){#circuit-panel{scrollbar-width:auto;scrollbar-color:auto}}
#circuit-panel::-webkit-scrollbar{width:3px}#circuit-panel::-webkit-scrollbar-thumb{background:#fc4302;border-radius:3px}#circuit-panel::-webkit-scrollbar-button{display:none;width:0;height:0}#circuit-panel::-webkit-scrollbar-corner{background:transparent}

/* In-app licence dialog with native focus containment and Escape handling. */
.text-link{padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left}.text-link:hover{color:var(--accent)}
#licences-modal{width:min(600px,calc(100vw - 28px));max-width:none;max-height:80dvh;padding:0;border:1px solid #344252;border-top:2px solid var(--accent);border-radius:10px;background:#07121f;color:var(--text);box-shadow:0 20px 70px #0009;overflow:hidden}
#licences-modal[open]{display:flex;flex-direction:column}#licences-modal::backdrop{background:#0009;backdrop-filter:blur(3px)}.licences-heading{position:relative;flex:none;padding:20px 48px 18px 22px;border-bottom:1px solid #344252}.licences-heading h2{margin:0;font-family:Inter,Arial,sans-serif;font-size:17px;font-weight:600;color:var(--accent)}.licences-content{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 22px 22px;scrollbar-width:thin;scrollbar-color:var(--accent) transparent}.licences-content section{padding-top:20px}.licences-content section+section{border-top:1px solid #344252;margin-top:20px}.licences-content h3{font-size:13px;margin:0 0 12px;color:var(--text)}.licences-content p{font-size:11px;line-height:1.7;color:var(--muted);margin:10px 0;overflow-wrap:anywhere}.licences-content a{color:var(--accent)}
@supports selector(::-webkit-scrollbar){.licences-content{scrollbar-width:auto;scrollbar-color:auto}}.licences-content::-webkit-scrollbar{width:3px}.licences-content::-webkit-scrollbar-thumb{background:#fc4302;border-radius:3px}.licences-content::-webkit-scrollbar-button{display:none}
@media(max-width:750px){#licences-modal{max-height:85dvh}.licences-heading{padding-left:18px}.licences-content{padding:0 18px 20px}}

/* Shared subtle orange scrollbars for every scrollable panel. */
html,body,body *{scrollbar-width:thin;scrollbar-color:#fc4302 transparent}
@supports selector(::-webkit-scrollbar){
 html,body,body *,#flights,#about,#circuit-panel,.flight-panel,.fleet-panel,.licences-content{scrollbar-width:auto;scrollbar-color:auto}
}
*::-webkit-scrollbar{width:3px;height:3px}
*::-webkit-scrollbar-track{background:transparent}
*::-webkit-scrollbar-thumb{background:#fc4302;border-radius:3px}
*::-webkit-scrollbar-button{display:none;width:0;height:0}
*::-webkit-scrollbar-corner{background:transparent}

/* Compact vertical map-control stack. */
.map-tools{flex-direction:column;align-items:stretch;border-radius:6px}
.map-tools button,.map-tools .view-3d{width:36px;min-width:36px;height:34px;padding:0;border-right:0;border-bottom:1px solid #ffffff18;font-size:10px}
.map-tools button:last-child{border-bottom:0}.map-tools #zoom-in,.map-tools #zoom-out{font-size:19px;padding:0}#compass-needle{width:16px;height:16px}
@media(max-width:750px){.map-tools button,.map-tools .view-3d{width:36px;min-width:36px;height:36px;padding:0;font-size:10px}.map-tools #zoom-in,.map-tools #zoom-out{font-size:19px;padding:0}}

/* Touch already provides pinch zoom; keep only the two non-gesture actions. */
@media(max-width:750px) and (pointer:coarse){
 .map-tools #zoom-in,.map-tools #zoom-out{display:none}
 .map-tools button,.map-tools .view-3d{width:36px;min-width:36px;height:40px;font-size:10px}
 #compass-needle{width:14px;height:14px}
}

/* Default-on audio: white speaker when enabled, orange mute when disabled. */
#sound-toggle{display:flex;align-items:center;justify-content:center}
#sound-toggle svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
#sound-toggle[aria-pressed=false] .sound-waves,#sound-toggle[aria-pressed=true] .sound-muted{display:none}

/* Keep circuit identity outside the scrolling body, like the licence dialog. */
#circuit-panel{display:flex;flex-direction:column;overflow:hidden;padding:0}
.circuit-heading{position:relative;flex:none;padding:22px 22px 18px;border-bottom:1px solid #344252}
#circuit-panel .circuit-heading h2{margin:0}
.circuit-content{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 22px 22px;margin:0 4px 4px 0}
#circuit-city{margin-top:14px}
.clock-zone{color:#fff}
#clock-time,.timestamp-value{color:var(--accent)}
@media(max-width:750px){.circuit-heading{padding:18px 20px 16px}.circuit-content{padding:0 20px calc(20px + env(safe-area-inset-bottom,0px))}}

.map-tools #sound-toggle[aria-pressed=true]{color:#fff;background:transparent}
.map-tools #sound-toggle[aria-pressed=false]{color:var(--accent);background:#fc430212}

/* Compact aircraft summary and a non-scrolling flight-log heading. */
.tracker-summary h1{color:var(--accent)}
.tracker-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.tracker-actions .globe-button{min-width:0}
#flights{display:flex;flex-direction:column;padding:0;overflow:hidden}
.history-heading{position:relative;flex:none;padding:22px 22px 0;border-bottom:1px solid #344252}
.history-content{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 22px 22px;margin:0 4px 4px 0}
@media(max-width:750px){.history-heading{padding:20px 20px 0}.history-content{padding:0 20px calc(32px + env(safe-area-inset-bottom,0px))}}

/* Aircraft status cards and icon actions. */
.observation-cards{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}
.observation-cards>div{min-width:0;padding:12px 10px;background:#ffffff06;border:1px solid #2a3542;border-radius:4px}
.card-label{display:block;font-size:8px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-bottom:9px}
.observation-cards strong{font-size:14px;line-height:1.3}
.observation-cards p{font-size:9px;line-height:1.6;margin:8px 0 0;color:var(--muted);overflow-wrap:anywhere}
#sync-status:empty{display:none}
.tracker-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
.tracker-actions:has(#current-flight:not([hidden])){grid-template-columns:repeat(3,minmax(0,1fr))}
.tracker-actions .globe-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;position:relative;min-height:54px;margin-top:0;font-size:10px;transition:color .15s,background .15s,border-color .15s}
.tracker-actions button[hidden]{display:none}
.tracker-actions .globe-button:hover,.tracker-actions .globe-button:focus-visible{color:var(--accent);border-color:#fc43024d;background:#fc430208}
.tracker-actions svg,#locate-aircraft svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
#locate-aircraft{display:flex;align-items:center;justify-content:center}
button:disabled{opacity:.4;cursor:default}
.flight-live-dot{position:absolute;top:8px;right:8px;width:5px;height:5px;border-radius:50%;background:var(--muted)}
#current-flight[data-live=true] .flight-live-dot{background:var(--accent);box-shadow:0 0 0 3px #fc43021f;animation:flight-recording 2.4s ease-in-out infinite}
@keyframes flight-recording{0%,100%{opacity:1;box-shadow:0 0 0 3px #fc43021f}50%{opacity:.55;box-shadow:0 0 0 1px #fc430208}}
@media(prefers-reduced-motion:reduce){#current-flight[data-live=true] .flight-live-dot{animation:none}}

/* Wider summary, consistent airport labels and endpoint-local timestamps. */
@media(min-width:751px){.flight-panel{width:360px}}
.tracker-actions{grid-template-columns:repeat(3,minmax(0,1fr))}
.tracker-actions .globe-button:disabled:hover{color:var(--text);border-color:#324050;background:transparent}
.flight-panel .route{display:grid;grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);gap:8px;align-items:start}
.flight-panel .route>div{min-width:0;display:flex;flex-direction:column;height:100%}
.flight-panel .route-arrow{align-self:start;margin-top:30px;font-size:22px}
#origin-name,#destination-name{display:block;font-size:10px;line-height:1.5;overflow-wrap:anywhere;margin-top:4px;color:var(--muted)}
.flight-panel .endpoint-time{display:block;margin-top:auto;padding-top:12px;font-size:9px;line-height:1.6;color:var(--muted);font-variant-numeric:tabular-nums}
.flight-panel .endpoint-time span{display:inline;font-size:inherit;margin:0}
.flight-panel .endpoint-time .timestamp-value{color:var(--accent)}
.flight-panel .endpoint-time .clock-zone{color:#fff}

/* Mobile-only aircraft widget. Desktop and circuit statistics retain their layout. */
.aircraft-widget-toggle{display:none}
@media(max-width:750px){
 .flight-panel{display:flex;visibility:visible;flex-direction:column;position:absolute;top:10px;right:10px;left:auto;bottom:auto;width:290px;max-width:calc(100% - 48px);max-height:calc(100% - 110px);max-height:min(56dvh,calc(100% - 110px));padding:0;overflow:hidden;z-index:5;background:#07121f;border-radius:8px}
 .aircraft-widget-toggle{display:flex;flex:none;align-items:center;gap:10px;width:100%;min-height:52px;padding:10px 12px;border:0;background:transparent;color:var(--text);text-align:left}
 .aircraft-widget-toggle svg{width:19px;height:19px;flex:none;fill:none;stroke:var(--accent);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
 .widget-heading{min-width:0;flex:1}
 .widget-heading strong{display:block;font-size:12px;font-weight:600}
 .widget-heading small{display:block;font-size:9px;color:var(--muted);margin-top:4px}
 #aircraft-widget-symbol{font-size:21px;color:var(--accent)}
 #aircraft-widget-content{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:14px;border-top:1px solid #344252;margin:0 3px 3px 0}
 .flight-panel[data-expanded=false]{display:none}
 .flight-panel .tracker-summary h1{font-size:12px}
 .flight-panel .observation-cards{margin:12px 0}
 .flight-panel .observation-cards>div{padding:9px 8px}
 .flight-panel .route :is(strong,.airport-focus){font-size:30px}
 .flight-panel .tracker-actions{gap:5px}
 .flight-panel .tracker-actions .globe-button{font-size:9px}
}

/* Whole flight rows are clickable; endpoint times replace redundant route actions. */
.flight-row{grid-template-columns:90px minmax(0,1fr) 92px 92px;gap:12px}
.flight-row .cities{min-width:0}
.flight-log-time{font-size:11px;font-variant-numeric:tabular-nums}
.flight-log-time small:first-child{margin:0 0 5px;text-transform:uppercase;font-size:8px;letter-spacing:.7px}
.flight-log-time time{white-space:nowrap;color:var(--accent)}
@media(max-width:750px){
 .flight-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px 12px;padding:16px 10px}
 .flight-row .day,.flight-row .cities{grid-column:1/-1;grid-row:auto}
 .flight-row .cities{margin-top:-7px}
 .flight-log-time{display:block!important}
}

/* Branded mobile aircraft-card header. */
@media(max-width:750px){
 .aircraft-widget-toggle{gap:9px;min-height:54px;padding:9px 10px}
 .widget-aircraft-icon{width:26px;height:30px;object-fit:contain;flex:none}
 .widget-heading strong{font-size:12px}
 .widget-heading small{font-size:7px;letter-spacing:.35px;line-height:1.5;margin-top:4px}
 #aircraft-widget-symbol{font-size:18px}
}

/* Center the mobile indicator geometrically instead of using font glyph metrics. */
#aircraft-widget-symbol{display:flex;align-items:center;justify-content:center;flex:0 0 24px;width:24px;height:24px;line-height:1}
#aircraft-widget-symbol svg{display:block;width:18px;height:18px;fill:none;stroke:var(--accent);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Keep programmatic/keyboard focus inside the close icon, never across scrolling text. */
.aircraft-widget-toggle:focus-visible{outline:none}
.aircraft-widget-toggle:focus-visible #aircraft-widget-symbol{outline:2px solid var(--accent);outline-offset:-2px;border-radius:4px}

.live-telemetry{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.live-telemetry[hidden]{display:none}.live-telemetry>div{padding:10px;background:#14202d;border:1px solid #253341;border-radius:4px}.live-telemetry span,.live-telemetry small{display:block;font-size:9px;color:var(--muted)}.live-telemetry strong{display:block;font-size:19px;margin:5px 0;font-variant-numeric:tabular-nums}

/* Preserve map dimensions while withholding the provisional startup camera. */
#map[data-ready="false"]{opacity:0;pointer-events:none}

/* Desktop flight workspace; mobile retains its existing overlay and controls. */
.desktop-telemetry,#desktop-map-controls{display:none}
@media(min-width:751px){
 .flight-panel{left:16px;right:auto;width:360px;max-width:calc(50vw - 32px);padding:0;display:flex;flex-direction:column;overflow:hidden;max-height:calc(100% - 34px)}
 #aircraft-widget-content{min-height:0;overflow-y:auto;padding:18px}
 #circuit-panel{left:auto;right:16px;width:340px;max-width:calc(50vw - 32px)}
 .tracker-summary{padding-bottom:16px;margin-bottom:18px}
 .flight-panel #live-telemetry{display:none}
 .desktop-telemetry{display:block;margin-top:22px;border-top:1px solid #344252}
 .desktop-telemetry h2{display:flex;justify-content:space-between;align-items:center;margin:0;padding:13px 0;font:600 9px Inter,Arial,sans-serif;letter-spacing:1.4px;color:var(--muted)}
 .desktop-telemetry h2 span{font-size:7px;letter-spacing:.7px;color:var(--accent)}
 .desktop-telemetry dl{display:grid;grid-template-columns:1fr 1fr;margin:0;border:1px solid #293543;border-radius:5px;overflow:hidden;background:#ffffff03}
 .desktop-telemetry dl>div{min-width:0;padding:12px;border-bottom:1px solid #293543}
 .desktop-telemetry dl>div:nth-child(odd){border-right:1px solid #293543}
 .desktop-telemetry dl>div:nth-last-child(-n+2){border-bottom:0}
 .desktop-telemetry dt{color:var(--muted);font-size:9px;margin-bottom:7px}
 .desktop-telemetry dd{margin:0;font-size:17px;font-variant-numeric:tabular-nums}
 .desktop-telemetry dl>div:nth-last-child(-n+2) dd{font-size:14px}
 #desktop-map-controls{display:block;flex:none;border-top:1px solid #344252;background:#0b1723}
 #desktop-map-controls .map-tools{position:static;display:grid;grid-template-columns:repeat(4,1fr);border:0;border-radius:0;background:none;box-shadow:none;overflow:hidden}
 #desktop-map-controls .map-tools button{width:100%;height:59px;min-width:0;padding:8px 3px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;border-right:1px solid #293543}
 #desktop-map-controls .map-tools button:last-child{border-right:0}
 #desktop-map-controls .map-tools button::after{font-size:9px;color:var(--muted);font-weight:400}
 #desktop-map-controls #sound-toggle::after{content:'Sound'}
 #desktop-map-controls #locate-aircraft::after{content:attr(data-label)}
 #desktop-map-controls #view-3d::after{content:'3D view'}
 #desktop-map-controls #compass::after{content:'North'}
}

/* Aircraft identity and a two-column departure/arrival card, desktop only. */
.desktop-aircraft,.desktop-route-summary,.desktop-time-label,.desktop-route-plane{display:none}
@media(min-width:751px){
 .flight-panel .route{position:relative;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;margin-top:12px;border:1px solid #293543;border-radius:5px 5px 0 0;background:#ffffff03;overflow:hidden}
 .flight-panel .route>div{padding:15px 12px 0;text-align:center;align-items:center}
 .flight-panel .route>div:last-child{border-left:1px solid #293543}
 .flight-panel .route :is(strong,.airport-focus){font-size:32px;line-height:1.3}
 .flight-panel .route #origin-name,.flight-panel .route #destination-name{min-height:48px;margin-top:6px;font-size:10px;line-height:1.5}
 .flight-panel .route .route-arrow{position:absolute;left:50%;top:20px;transform:translateX(-50%);margin:0;width:32px;height:32px;border:1px solid #344252;border-radius:50%;background:#0b1723;display:flex;align-items:center;justify-content:center}
 .mobile-route-arrow{display:none!important}
 .desktop-route-plane{display:block;width:18px;height:18px;fill:none;stroke:var(--accent);stroke-width:1.5;stroke-linejoin:round}
 .flight-panel .route .desktop-time-label{display:block;width:calc(100% + 24px);margin:auto -12px 0;padding:10px 4px 0;border-top:1px solid #293543;font-size:8px;color:var(--muted);letter-spacing:.5px}
 .flight-panel .endpoint-time{margin:0;padding-top:7px;font-size:9px}
 .flight-panel .endpoint-time .timestamp-value{display:block;font-size:17px;margin:4px 0;color:var(--text)}
 .flight-panel .endpoint-time .clock-zone{display:none}
 .desktop-route-summary{display:flex;justify-content:space-between;gap:8px;padding:11px 12px;border:1px solid #293543;border-top:2px solid var(--accent);border-radius:0 0 5px 5px;font-size:9px;color:var(--muted)}
 .desktop-route-summary strong{font-weight:500;color:var(--text)}
 .desktop-aircraft{display:block;margin-top:20px}
 .desktop-aircraft h2{font:600 9px Inter,Arial,sans-serif;letter-spacing:1.4px;color:var(--muted);margin:0 0 12px}
 .aircraft-type{display:flex;gap:12px;align-items:center;padding:12px;border:1px solid #293543;border-radius:5px 5px 0 0;background:#ffffff03}
 .aircraft-type svg{width:26px;height:26px;fill:none;stroke:var(--accent);stroke-width:1.3;flex:none}
 .aircraft-type span{display:block;font-size:9px;color:var(--muted);margin-bottom:6px}
 .aircraft-type strong{font-size:14px;font-weight:500}
 .desktop-aircraft dl{display:grid;grid-template-columns:1fr 1fr;margin:0;border:1px solid #293543;border-top:0;border-radius:0 0 5px 5px;background:#ffffff03;overflow:hidden}
 .desktop-aircraft dl>div{min-width:0;padding:11px 12px;border-bottom:1px solid #293543}
 .desktop-aircraft dl>div:nth-child(odd){border-right:1px solid #293543}
 .desktop-aircraft dl>div:nth-last-child(-n+2){border-bottom:0}
 .desktop-aircraft dt{color:var(--muted);font-size:9px;margin-bottom:6px}
 .desktop-aircraft dt small{font-size:8px}
 .desktop-aircraft dd{margin:0;font-size:13px;overflow-wrap:anywhere}
}

/* Match the actual desktop flight panel, including on tall/resized viewports. */
@media(min-width:751px){#flights{top:16px;bottom:auto;height:var(--desktop-flight-panel-height,calc(100% - 34px));max-height:calc(100% - 34px)}}

/* Desktop details start with flight selection; keep mobile layout unchanged. */
.desktop-short-airport,.desktop-compact-time{display:none}
@media(min-width:751px){
 .tracker-summary h1,.tracker-summary .observation-cards{display:none}
 .flight-panel .route .route-label{font-size:11px;letter-spacing:1.2px;margin-bottom:8px}
 .flight-panel .route #origin-name,.flight-panel .route #destination-name,.flight-panel .route .desktop-time-label,.flight-panel .route .endpoint-time{display:none}
 .flight-panel .route .desktop-short-airport{display:block;min-height:42px;font-size:11px;line-height:1.4;margin:7px 0 10px}
 .flight-panel .route .desktop-compact-time{display:flex;justify-content:center;align-items:center;gap:7px;white-space:nowrap;width:calc(100% + 24px);margin:auto -12px 0;padding:12px 3px 0;border-top:1px solid #293543;font-variant-numeric:tabular-nums}
 .flight-panel .route .desktop-compact-time span{font-size:11px;margin:0;color:var(--muted)}
 .flight-panel .route .desktop-compact-time strong{font:500 14px Inter,Arial,sans-serif;color:var(--text)}
 .desktop-aircraft dl>div{border-bottom:0}
 .desktop-route-summary{font-size:11px}
}

/* Desktop refinement: no progress-style bar; one shared panel type scale. */
@media(min-width:751px){
 .desktop-route-summary{border-top:0;align-items:center;font-size:10px}
 .desktop-route-summary>span,.desktop-route-summary>strong{white-space:nowrap}
 .flight-panel .route .desktop-compact-time{padding:9px 3px;align-items:center;line-height:1}
 .flight-panel .route .desktop-compact-time span{line-height:1}
 .flight-panel .route .desktop-compact-time strong{color:var(--accent);line-height:1}
 .flight-panel,#circuit-panel{font-family:Inter,Arial,sans-serif;--panel-label-size:9px;--panel-value-size:14px;--panel-section-size:9px}
 .desktop-telemetry dt,.desktop-aircraft dt,#circuit-stats dt,#max-result-stats dt,#max-career-summary dt{font-size:var(--panel-label-size);font-weight:400;line-height:1.4}
 .desktop-telemetry dd,.desktop-aircraft dd,#circuit-stats dd,#max-result-stats dd,#max-career-summary dd{font-size:var(--panel-value-size);font-weight:500;line-height:1.4;font-variant-numeric:tabular-nums}
 .desktop-telemetry h2,.desktop-aircraft h2,.max-results h3,#max-history h4{font-family:Inter,Arial,sans-serif;font-size:var(--panel-section-size);font-weight:600;line-height:1.4;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted)}
 #circuit-panel h2{font-size:14px;font-weight:500;line-height:1.4}
 #circuit-panel .eyebrow{font-size:9px;letter-spacing:1.4px;line-height:1.4}
 #circuit-city,#max-race-date,#max-history table{font-size:11px;line-height:1.4}
 #max-history th{font-size:9px;line-height:1.4}
 .circuit-heading{padding:18px;border-color:#344252}
 .circuit-content{padding:0 18px 18px}
 .desktop-aircraft{border-top:1px solid #344252;padding-top:16px}
}

/* Airport identity and optically aligned date/time numerals. */
@media(min-width:751px){
 .flight-panel .route .desktop-short-airport{white-space:pre-line;min-height:34px}
 .flight-panel .route .desktop-compact-time{align-items:baseline}
 .flight-panel .route .desktop-compact-time span,.flight-panel .route .desktop-compact-time strong{display:block;font:500 12px/18px Inter,Arial,sans-serif;font-variant-numeric:tabular-nums;margin:0;padding:0}
 #max-results-title{color:var(--accent)}
}

/* Desktop flight selection is a fixed header, outside the scrolling body. */
@media(min-width:751px){
 #aircraft-widget>.tracker-summary{flex:none;padding:18px;margin:0;border-bottom:1px solid #344252;background:#07121f}
 #aircraft-widget>.tracker-summary .tracker-actions{margin:0}
}

/* Mobile review: stable bottom workspace, no expandable sheet. */
#mobile-tabs{display:none}
@media(max-width:750px){
 .tracker{--mobile-panel-height:min(340px,44%)}
 #map{bottom:var(--mobile-panel-height)}
 .flight-panel,.flight-panel[data-expanded=false]{display:flex;top:auto;bottom:0;left:0;right:0;width:100%;max-width:none;height:var(--mobile-panel-height);max-height:none;border-radius:12px 12px 0 0;padding:0;background:#07121f}
 .aircraft-widget-toggle{display:none}
 .flight-panel>.tracker-summary{flex:none;padding:8px 12px;margin:0;border-bottom:1px solid #293543}
 .tracker-summary h1,.tracker-summary .observation-cards,.tracker-summary #live-telemetry{display:none}
 .tracker-actions{margin:0;gap:6px}
 .flight-panel .tracker-actions .globe-button{min-height:38px;padding:5px;gap:3px;font-size:10px;flex-direction:row}
 .tracker-actions svg{width:14px;height:14px}
 #mobile-tabs{display:flex;flex:none;border-bottom:1px solid #293543;padding:0 12px;gap:12px}
 #mobile-tabs button{flex:1;min-height:40px;padding:8px;border:0;border-bottom:2px solid transparent;background:none;color:var(--muted);font:500 12px Inter,Arial,sans-serif}
 #mobile-tabs button[aria-selected=true]{color:var(--accent);border-bottom-color:var(--accent)}
 #aircraft-widget-content{flex:1;min-height:0;padding:10px 14px;margin:0;border:0;overflow:auto}
 #aircraft-widget[data-tab=details] #mobile-data,#aircraft-widget[data-tab=details] #mobile-aircraft,
 #aircraft-widget[data-tab=data] #mobile-details,#aircraft-widget[data-tab=data] #mobile-aircraft,
 #aircraft-widget[data-tab=aircraft] #mobile-details,#aircraft-widget[data-tab=aircraft] #mobile-data{display:none}
 .desktop-telemetry,.desktop-aircraft{display:block;margin:0;border:0;padding:0}
 #mobile-details .panel-top,.desktop-aircraft h2{display:none}
 .desktop-telemetry h2{display:flex;justify-content:space-between;font:600 9px Inter,Arial,sans-serif;letter-spacing:1px;color:var(--muted);margin:0 0 8px}
 .desktop-telemetry h2 span{color:var(--accent);font-size:8px}
 .desktop-telemetry dl,.desktop-aircraft dl{display:grid;grid-template-columns:1fr 1fr;margin:0;gap:0;border:1px solid #293543;border-radius:5px;background:#ffffff03;overflow:hidden}
 .desktop-telemetry dl>div,.desktop-aircraft dl>div{padding:8px 10px;border-bottom:1px solid #293543;min-width:0}
 .desktop-telemetry dl>div:nth-child(odd),.desktop-aircraft dl>div:nth-child(odd){border-right:1px solid #293543}
 .desktop-telemetry dl>div:nth-last-child(-n+2),.desktop-aircraft dl>div:nth-last-child(-n+2){border-bottom:0}
 .desktop-telemetry dt,.desktop-aircraft dt{font-size:9px;color:var(--muted);margin-bottom:4px}
 .desktop-telemetry dd,.desktop-aircraft dd{font-size:13px;margin:0;font-variant-numeric:tabular-nums}
 .aircraft-type{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #293543;border-bottom:0;border-radius:5px 5px 0 0}
 .aircraft-type svg{width:28px;height:28px;fill:none;stroke:var(--accent);stroke-width:1.3}
 .aircraft-type span{display:block;font-size:10px;color:var(--muted);margin-bottom:6px}.aircraft-type strong{font-size:14px}
 .flight-panel .route{position:relative;grid-template-columns:1fr 1fr;gap:0;margin:0;border:1px solid #293543;border-radius:5px 5px 0 0}
 .flight-panel .route>div{padding:7px 10px 0;text-align:center;align-items:center}
 .flight-panel .route>div:last-child{border-left:1px solid #293543}
 .flight-panel .route .route-label{font-size:8px;letter-spacing:1px}
 .flight-panel .route :is(strong,.airport-focus){font-size:26px;line-height:1.2}
 .flight-panel .route #origin-name,.flight-panel .route #destination-name,.flight-panel .route .endpoint-time,.mobile-route-arrow{display:none}
 .flight-panel .route .desktop-short-airport{display:block;white-space:pre-line;font-size:9px;line-height:1.3;min-height:35px;margin:4px 0 5px}
 .flight-panel .route .route-arrow{position:absolute;top:13px;left:50%;transform:translateX(-50%);margin:0;padding:5px;border-radius:50%;background:#07121f}
 .desktop-route-plane{display:block;width:16px;height:16px;fill:none;stroke:var(--accent);stroke-width:1.5}
 .flight-panel .route .desktop-compact-time{display:flex;justify-content:center;align-items:baseline;gap:6px;width:calc(100% + 20px);margin:auto -10px 0;padding:7px 0;border-top:1px solid #293543;white-space:nowrap}
 .flight-panel .route .desktop-compact-time span,.flight-panel .route .desktop-compact-time strong{font:500 10px/14px Inter,Arial,sans-serif;margin:0}.flight-panel .route .desktop-compact-time strong{color:var(--accent)}
 .desktop-route-summary{display:flex;justify-content:space-between;padding:7px 9px;border:1px solid #293543;border-top:0;font-size:9px;color:var(--muted)}.desktop-route-summary strong{font-weight:500;color:var(--text)}
 #desktop-map-controls{display:block;flex:none;border-top:1px solid #344252;padding-bottom:env(safe-area-inset-bottom,0px)}
 #desktop-map-controls .map-tools{position:static;display:grid;grid-template-columns:repeat(4,1fr);border:0;border-radius:0;background:#0b1723;box-shadow:none}
 #desktop-map-controls .map-tools button{width:100%;height:40px;border:0;border-right:1px solid #293543;display:flex;align-items:center;justify-content:center;gap:6px;padding:4px}
 #desktop-map-controls .map-tools button::after{font-size:9px}
 #sound-toggle::after{content:'Sound'}#locate-aircraft::after{content:attr(data-label)}#view-3d::after{content:'View'}#compass::after{content:'North'}
 .about-toggle{bottom:calc(48% + 4px);right:10px}
 #flights,#circuit-panel{z-index:15;max-height:70dvh}
}
@media(max-width:750px) and (orientation:landscape){.tracker{--mobile-panel-height:48%}}

@media(max-width:750px){.flight-panel .route .desktop-time-label{display:none}.about-toggle{bottom:calc(min(340px,(100dvh - 59px)*.44) + 6px)}}

/* Mobile adjustable sheets; the flight log is a full-height overlay. */
.sheet-handle{display:none}
@media(max-width:750px){
 .tracker{--mobile-panel-height:var(--flight-sheet-height,min(310px,40%))}
 .sheet-handle{display:flex;flex:none;align-items:center;justify-content:center;height:22px;cursor:ns-resize;touch-action:none;user-select:none;background:#07121f}
 .sheet-handle span{width:42px;height:4px;border-radius:3px;background:#8e9dab}
 .sheet-handle:focus-visible{outline:1px solid var(--accent);outline-offset:-3px}
 .sheet-handle:hover span,.sheet-handle:focus-visible span{background:var(--accent)}
 #circuit-panel{top:auto;bottom:0;left:0;right:0;width:100%;height:var(--circuit-sheet-height,min(330px,44dvh));max-height:85dvh;border-radius:12px 12px 0 0}
 #flights{position:absolute;inset:0;width:100%;height:100%;max-height:none;transform:none;border-radius:0;padding:0;margin:0}
 #flights .history-heading{padding-top:14px}.history-content{min-height:0;flex:1}
 .about-toggle{bottom:calc(var(--flight-sheet-height,min(310px,(100dvh - 59px)*.4)) + 6px)}
}

/* Selected flight mode, shared by desktop and mobile. */
.tracker-actions .globe-button[aria-pressed=true]{color:var(--accent);border-color:var(--accent);background:#fc430212;box-shadow:inset 0 0 0 1px var(--accent)}

/* Keep the WebGL viewport stable while sheets slide over the map. */
@media(max-width:750px){
 #map{bottom:var(--map-sheet-height,var(--mobile-panel-height))}
 #aircraft-widget[data-collapsed=true]>:not(.sheet-handle):not(#desktop-map-controls),#circuit-panel[data-collapsed=true]>:not(.sheet-handle){display:none}
}

/* Anchor controls throughout every intermediate sheet height, not just collapsed. */
@media(max-width:750px){
 #aircraft-widget{padding-bottom:calc(41px + env(safe-area-inset-bottom,0px))}
 #aircraft-widget>#desktop-map-controls{position:absolute;bottom:0;left:0;right:0;z-index:3;background:#0b1723}
 #aircraft-widget>#flight-sheet-handle{position:relative;z-index:4}
 #aircraft-widget>#aircraft-widget-content{flex:1 1 0;min-height:0}
}

/* Uniform control labels; icon colour continues to communicate control state. */
#desktop-map-controls .map-tools button::after{font-family:Inter,Arial,sans-serif;font-size:9px;font-weight:400;color:var(--muted)}

/* Circuit details use the mobile flight shell, its height, handle and footer. */
@media(max-width:750px){
 body.circuit-open #desktop-map-controls .map-tools{visibility:visible}
 body.circuit-open #aircraft-widget>.tracker-summary,
 body.circuit-open #aircraft-widget>#mobile-tabs,
 body.circuit-open #aircraft-widget>#aircraft-widget-content{display:none}
 #aircraft-widget>#circuit-panel{position:relative;inset:auto;transform:none;width:100%;height:0;min-height:0;max-height:none;flex:1 1 0;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;background:#07121f;overflow:hidden;z-index:auto}
 #aircraft-widget>#circuit-panel[hidden]{display:none}
 #aircraft-widget #circuit-sheet-handle{display:none}
 #aircraft-widget .circuit-heading{padding:12px 20px;flex:none}
}

/* Live marker: observation freshness, never WebSocket liveness. */
.current-jet{--marker-color:#fc4302;isolation:isolate}
.current-jet[data-flight-status="airborne"]{--marker-color:#fc4302}
.current-jet[data-flight-status="stale"],.current-jet[data-flight-status="history"]{--marker-color:#84919b}
/* Render the canonical media artwork itself: a silhouette mask loses its details. */
.current-jet[data-flight-status="stale"]>img,.current-jet[data-flight-status="history"]>img{filter:grayscale(1) sepia(.25) saturate(1.4) hue-rotate(155deg) brightness(1.35)}
.current-jet.model-active::after{display:none}
.current-jet[data-flight-status="airborne"]>canvas{filter:none}
.current-jet[data-flight-status="stale"]>canvas,.current-jet[data-flight-status="history"]>canvas{filter:grayscale(1);opacity:.65}
.current-jet::before{content:"";box-sizing:border-box;position:absolute;width:40px;height:40px;left:calc(50% - 20px);top:calc(50% - 20px);border:1px solid var(--marker-color);border-radius:50%;background:transparent;opacity:0;pointer-events:none;z-index:-1}
.current-jet[data-flight-status="airborne"]::before,.current-jet[data-flight-status="taxi"]::before{animation:aircraft-observation-pulse 3s linear infinite}
@keyframes aircraft-observation-pulse{0%{transform:scale(.025);opacity:.45}90%,100%{transform:scale(1.875);opacity:0}}
@media(prefers-reduced-motion:reduce){.current-jet::before{animation:none!important}}

.current-jet[hidden]{display:none!important}
.panel-scroll-indicator{display:none;pointer-events:none}
@media(max-width:750px){
 .orange-scroll-content{scrollbar-width:none!important}
 .orange-scroll-content::-webkit-scrollbar{display:none;width:0}
 .panel-scroll-indicator:not([hidden]){display:block;position:absolute;right:5px;width:3px;border-radius:3px;background:#fc4302;z-index:5}
}

/* Mobile flight history shares the adjustable flight shell and fixed controls. */
@media(max-width:750px){
 body.history-open #aircraft-widget>#mobile-tabs,
 body.history-open #aircraft-widget>#aircraft-widget-content{display:none}
 #aircraft-widget>#flights{position:relative;inset:auto;transform:none;width:100%;height:0;min-height:0;max-height:none;flex:1 1 0;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;background:#07121f;z-index:auto}
 #aircraft-widget>#flights[hidden]{display:none}
 #aircraft-widget #flights .history-heading{padding:8px 14px 0}
 #aircraft-widget #flights .section-heading{display:block;margin:0 28px 0 0}
 #aircraft-widget #flights .section-heading>div{display:none}
 #aircraft-widget #flights .search-label{display:block;font-size:0}
 #aircraft-widget #flights .search-label input{font-size:11px}
 #aircraft-widget #flights #history-note{display:none}
 #aircraft-widget #flights .history-content{padding:0 14px 12px}
 #aircraft-widget #flights #search{margin:0 0 8px;width:100%}

}

/* Desktop spacing: preserve type sizes and allow overflow on genuinely short screens. */
@media(min-width:751px){
 #aircraft-widget>.tracker-summary{padding:12px 18px}
 #aircraft-widget-content{padding:12px 18px}
 .flight-panel .route{margin-top:10px}
 .flight-panel .route>div{padding-top:11px}
 .flight-panel .route .route-label{margin-bottom:6px}
 .flight-panel .route .desktop-short-airport{margin:5px 0 7px}
 .flight-panel .route .desktop-compact-time{padding-top:8px;padding-bottom:8px}
 .desktop-route-summary{padding-top:8px;padding-bottom:8px}
 .desktop-telemetry{margin-top:12px}
 .desktop-telemetry h2{padding:10px 0}
 .desktop-telemetry dl>div{padding:9px 12px}
 .desktop-telemetry dt{margin-bottom:5px}
 .desktop-aircraft{margin-top:12px;padding-top:12px}
 .desktop-aircraft h2{margin-bottom:8px}
 .aircraft-type{padding:10px 12px}
 .aircraft-type span{margin-bottom:4px}
 .desktop-aircraft dl>div{padding:9px 12px}
 #desktop-map-controls .map-tools button{height:50px}
}

/* Equal-height desktop panels with spacing that grows with available screen height. */
@media(min-width:751px){
 #aircraft-widget{height:calc(100% - 34px);--panel-room:clamp(0px,calc((100dvh - 850px)/12),24px)}
 #aircraft-widget>#aircraft-widget-content{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:space-between;padding-top:calc(12px + var(--panel-room));padding-bottom:calc(12px + var(--panel-room))}
 #aircraft-widget-content>div,#aircraft-widget-content>section{flex-shrink:0}
 .flight-panel .route>div{padding-top:calc(11px + var(--panel-room))}
 .desktop-telemetry dl>div{padding-top:calc(9px + var(--panel-room)/2);padding-bottom:calc(9px + var(--panel-room)/2)}
 .desktop-aircraft .aircraft-type{padding-top:calc(10px + var(--panel-room));padding-bottom:calc(10px + var(--panel-room))}
 .desktop-aircraft dl>div{padding-top:calc(9px + var(--panel-room));padding-bottom:calc(9px + var(--panel-room))}
}

/* Match desktop panel width and map translucency across details, circuits and history. */
@media(min-width:751px){
 #circuit-panel{width:360px;max-width:calc(50vw - 32px)}
 #aircraft-widget,#circuit-panel,#flights{background:#07121fe8}
}

/* Explicit UTC on the compact departure/arrival rows. */
.flight-panel .route .desktop-compact-time{gap:5px}
.flight-panel .route .desktop-compact-time .time-zone{font:500 9px/18px Inter,Arial,sans-serif;color:#fff;flex:none;margin:0}
@media(min-width:751px){.flight-panel .route .desktop-compact-time span:not(.time-zone),.flight-panel .route .desktop-compact-time strong{font-size:11px}}
@media(max-width:750px){.flight-panel .route .desktop-compact-time .time-zone{font-size:8px;line-height:14px}}

#search::placeholder{color:#fff;opacity:1}
header{background:#07121fe8}

/* Settings shares the existing four control slots; sound lives inside the dialog. */
#desktop-map-controls #settings-open::after{content:'Settings'}
#settings-open svg{width:16px;height:16px;flex:none}
:root{--panel-background:rgba(7,18,31,.91)}
header,#aircraft-widget,#circuit-panel,#flights{background:var(--panel-background)}
@media(max-width:750px){#aircraft-widget>#circuit-panel,#aircraft-widget>#flights{background:transparent}}
#settings-modal{color:var(--text);background:#07121f;border:1px solid #344252;border-top:2px solid var(--accent);border-radius:9px;padding:20px;width:min(440px,calc(100vw - 24px));max-height:calc(100dvh - 32px);overflow:auto;box-sizing:border-box}
#settings-modal::backdrop{background:#0008}
.settings-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.settings-heading h2{font:600 20px Inter,Arial,sans-serif}
#settings-close{position:static;flex:none}
#settings-title:focus{outline:none}
#settings-modal fieldset{border:0;border-top:1px solid #344252;padding:12px 0;margin:0}
#settings-modal legend{color:var(--accent);font-size:11px;letter-spacing:1px;padding:0 8px 0 0}
.settings-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:7px 0;font-size:12px;min-height:34px}
.settings-row select{background:#101d2b;color:#fff;border:1px solid #344252;border-radius:4px;padding:8px;width:210px;max-width:62%;font:inherit}
.settings-row input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent)}
.settings-note{font:11px/1.5 Inter,Arial,sans-serif;color:var(--muted);margin:4px 0 12px}
#settings-reset,#settings-modal #sound-toggle{background:#101d2b;color:#fff;border:1px solid #344252;border-radius:4px;min-height:36px;padding:8px 14px}
#settings-modal #sound-toggle{min-width:64px}
#settings-modal #sound-toggle[aria-pressed=true]{border-color:var(--accent)}
.long-times .flight-panel .route .desktop-compact-time{flex-wrap:wrap;row-gap:0}
.long-times .flight-panel .route .desktop-compact-time>span:first-child{flex-basis:100%;text-align:center}

#settings-modal #sound-toggle::after{content:none}

#settings-reset{font-size:11px;min-height:28px;padding:5px 9px;transition:color .15s,border-color .15s,background .15s}
#settings-reset:hover{color:var(--accent);border-color:var(--accent);background:#fc43020d}

/* Airport codes are map actions, with native keyboard access. */
.airport-focus{display:block;border:0;background:none;padding:0;margin:0 auto;color:inherit;font:inherit;font-size:inherit;cursor:pointer}.airport-focus:not(:disabled):hover{color:#fc4302}.airport-focus:disabled{cursor:default}.airport-focus:focus-visible{outline:2px solid #fc4302;outline-offset:4px}

/* Keep brand cursors throughout the flight, history and circuit surfaces. */
:root{--panel-cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M4 2L4 18L8.5 14L12 21L15 19.5L11.5 12.5L17.5 12Z' fill='%23fc4302' stroke='%2307121f' stroke-width='1.3' stroke-linejoin='round'/%3E%3C/svg%3E") 4 2,default;--panel-pointer:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M11 16V5a2 2 0 014 0v9-2a2 2 0 014 0v2-1a2 2 0 014 0v2a2 2 0 014 0v7c0 4-3 7-7 7h-3c-2 0-4-1-5-3l-6-8c-2-3 1-5 3-3l2 2Z' fill='%23fc4302' stroke='%2307121f' stroke-width='1.4' stroke-linejoin='round'/%3E%3C/svg%3E") 13 4,pointer}
:is(#aircraft-widget,#flights,#circuit-panel,#settings-modal),:is(#aircraft-widget,#flights,#circuit-panel,#settings-modal) *{cursor:var(--panel-cursor)}
:is(#aircraft-widget,#flights,#circuit-panel,#settings-modal) :is(button:not(:disabled),a[href],summary,[role="button"]),:is(#aircraft-widget,#flights,#circuit-panel,#settings-modal) :is(button:not(:disabled),a[href],summary,[role="button"]) *{cursor:var(--panel-pointer)}
:is(#aircraft-widget,#flights,#circuit-panel,#settings-modal) :is(input,textarea){cursor:text}
:is(#aircraft-widget,#circuit-panel) .sheet-handle{cursor:ns-resize}
.flight-panel .desktop-route-plane{width:24px;height:20px;fill:currentColor;stroke:none;color:var(--accent)}

.flight-panel .route #route-locate{appearance:none;box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:32px;height:32px;min-width:32px;min-height:32px;padding:2px;border:1px solid #293543;border-radius:50%;color:var(--accent);line-height:0}#route-locate:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

#route-locate .desktop-route-plane{flex:none}

/* The open history view stays selected on desktop and mobile. */
#aircraft-widget #history-toggle[aria-expanded=true]{color:var(--accent);border-color:var(--accent);background:#fc430212;box-shadow:inset 0 0 0 1px var(--accent)}

#settings-modal :is(select,input[type="checkbox"],label[for]){cursor:var(--panel-pointer)}

/* Mouse/touch interaction never leaves a keyboard-style outer focus ring. */
html[data-input-mode="pointer"] :is(button,a,[role="button"]):focus{outline:none}
/* Keep the original shared desktop panel bounds; retain modest internal spacing. */
@media(min-width:751px){
 #aircraft-widget{height:calc(100% - 34px);max-height:calc(100% - 34px);--panel-room:clamp(0px,calc((100dvh - 900px)/14),20px)}
 #flights{max-height:calc(100% - 34px)}
}

/* Empty route fields reserve the same line boxes as their loaded values. */
.flight-panel .airport-focus:empty::before{content:"\00a0"}

/* Quiet top-right map counterpart to the bottom-right Credits control. */
#watcher-badge{position:absolute;z-index:3;top:12px;right:16px;pointer-events:none;display:flex;align-items:center;gap:6px;flex:none;white-space:nowrap;color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}
#watcher-badge[hidden]{display:none}
#watcher-badge svg{width:16px;height:16px;color:var(--accent)}
@media(max-width:750px){#watcher-badge{top:10px;right:12px;gap:4px;font-size:10px}#watcher-badge svg{width:14px;height:14px}}

/* Keep desktop map labels clear of the circuit overlay and viewport edge. */
@media(min-width:751px){
 .circuit-open #watcher-badge{visibility:hidden}
 .about-toggle{bottom:16px}
 #circuit-panel{bottom:42px}
}

/* Named flight metrics share the route card's orange-label/light-value hierarchy. */
.desktop-route-summary{flex-wrap:wrap;gap:6px 12px;align-items:center}
.desktop-route-summary #route-summary-status{display:flex;flex-wrap:wrap;gap:4px 12px;white-space:normal;color:var(--text)}
.route-summary-metric{display:inline-flex;gap:4px;white-space:nowrap}
.route-summary-label{color:var(--accent)}
#route-summary-duration{margin-left:auto;white-space:nowrap}
