:root{color-scheme:dark;--bg:#0c1017;--nav:#080b10;--surface:#141a23;--surface2:#1a2230;--ink:#eaf0f7;--muted:#8492a7;--line:#263141;--green:#65d9c2;--accent:#59cee7;--rail:236px}*{box-sizing:border-box}html{min-height:100%;background:var(--nav);scroll-behavior:smooth}body{margin:0;min-height:100dvh;font:14px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:linear-gradient(to right,var(--nav) 0,var(--nav) var(--rail),var(--bg) var(--rail),var(--bg) 100%)}body.rail-collapsed{--rail:76px}button,input,select{font:inherit}button{cursor:pointer;border:0;border-radius:8px;padding:11px 16px;min-height:44px;color:var(--ink);font-weight:600;transition:background .18s,transform .18s,opacity .18s}button:hover:not(:disabled){filter:brightness(1.13)}button:active:not(:disabled){transform:scale(.98)}button:disabled{opacity:.4;cursor:not-allowed}button,input,select,a{outline-offset:4px}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--accent)}a{color:var(--accent)}aside{position:fixed;inset:0 auto 0 0;width:var(--rail);height:100dvh;min-height:100vh;background:var(--nav);display:flex;flex-direction:column;padding:25px 15px;z-index:700;transition:width .24s;overflow-x:hidden;overflow-y:auto;border:0;border-radius:0}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--ink);min-height:42px;white-space:nowrap}.brand-mark{font-size:25px;color:var(--green);width:44px;flex-shrink:0;text-align:center}.brand-name{font-size:15px;font-weight:750;letter-spacing:1px}.brand-name small{display:block;color:#627184;font-size:8px;letter-spacing:1.8px;margin-top:6px}.rail-toggle{background:#141a23;margin:25px 0 14px;padding:8px;text-align:center;color:#9fb2c5;font-size:18px}nav{display:flex;flex-direction:column;gap:6px}nav button{background:transparent;color:#8da0b3;display:flex;align-items:center;text-align:left;padding:10px 12px;gap:17px;white-space:nowrap;min-height:44px}nav button i{width:20px;min-width:20px;text-align:center;font-style:normal;font-size:20px;line-height:1}nav button span{font-size:13px;font-weight:500}nav button.active{background:#17372f;color:var(--green)}.nav-divider{height:1px;background:#19212c;margin:12px 5px}.sidefoot{margin-top:auto;padding-top:20px;font-size:10px;color:#687c8c;white-space:nowrap}.sidefoot strong{display:block;font-size:11px;color:#a2b1bc;margin:12px 0}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);margin:0 8px}.rail-collapsed .brand-name,.rail-collapsed nav button span,.rail-collapsed .rail-text{display:none}.rail-collapsed nav button{justify-content:center;padding:11px}.rail-collapsed .rail-toggle{width:44px}.rail-collapsed .sidefoot{text-align:center}main{margin-left:var(--rail);padding:32px 38px;min-height:100dvh;transition:margin-left .24s;max-width:1900px}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:27px;gap:15px}.eyebrow{display:block;color:var(--muted);font-size:9px;letter-spacing:1.8px;font-weight:600}h1{margin:9px 0 0;font-size:27px;font-weight:650;letter-spacing:-.5px}h2{font-size:17px;margin:0 0 16px}h3{font-size:15px;margin:14px 0 10px}p{line-height:1.8}.actions{display:flex;gap:9px;align-items:center}.header-route{font-size:12px;color:var(--muted);margin-right:15px}.primary{background:var(--green);color:#05241f}.secondary{background:#1c2634;border:1px solid #2f3b4e;color:#c7d6e3}.icon-button{background:#202b3a;font-size:20px;padding:7px 12px;min-width:40px;min-height:40px}.muted{font-size:11px;color:var(--muted);line-height:1.8}.tag{background:#18372f;color:var(--green);padding:5px 8px;border-radius:4px;letter-spacing:1px;font-size:9px}.card{background:var(--surface);border:1px solid #202b39;border-radius:12px;padding:24px;margin-bottom:20px}.cardhead{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.line{display:flex;justify-content:space-between;gap:16px;font-size:12px;border-bottom:1px solid #25303d;padding:12px 0}.line>span{color:#a0afbe}.line strong{font-variant-numeric:tabular-nums;text-align:right}.banner{background:#2b271b;border-left:3px solid #a9924d;border-radius:4px;padding:14px 16px;margin:16px 0;color:#cfbb86;font-size:11px;line-height:1.8}.status{background:#15372c;color:#8dd7b6;border-radius:6px;padding:11px 13px;margin:10px 0;font-size:11px;line-height:1.8}.status.warn{background:#342b1c;color:#d2b579}.status.fail{background:#3b2027;color:#efa5af}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px 16px;margin-top:14px}label{display:block;color:#8fa2b7;font-size:11px}input,select{display:block;width:100%;min-height:46px;margin-top:8px;border:1px solid #354458;border-radius:7px;background:#0e1520;padding:10px 12px;color:var(--ink);font-size:15px}input:invalid{border-color:#c87783}input::placeholder{color:#5d7087}select{cursor:pointer}.two-col{display:grid;grid-template-columns:1.1fr 1fr;gap:20px;align-items:start}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:20px}.metric{background:var(--surface);border:1px solid #273342;border-radius:12px;padding:23px}.metric strong{display:block;font-size:30px;letter-spacing:-1px;margin:18px 0 10px;font-variant-numeric:tabular-nums}.metric strong small{font-size:11px;color:var(--muted);letter-spacing:0;margin-left:5px;font-weight:400}.metric>small{color:var(--muted);font-size:10px}.total{padding:25px 0;display:grid;gap:12px}.total span{font-size:10px;letter-spacing:1px;color:var(--green)}.total strong{font-size:38px}.check{display:flex;align-items:center;gap:12px;min-height:46px;border-bottom:1px solid var(--line);color:#bacad7;font-size:12px}.check input{width:18px;height:18px;min-height:18px;margin:0;accent-color:var(--green)}.progress{height:5px;border-radius:5px;background:#293444;margin:20px 0 10px}.progress i{display:block;height:100%;background:var(--green);transition:width .4s}.compact{display:flex;justify-content:space-between;align-items:center;background:#143027;gap:20px}.compact p{margin:8px 0;font-size:12px;color:var(--muted)}.compact h2{margin:0}.importbox{border:1px dashed #3d5265;border-radius:8px;padding:18px;margin-top:22px}.importbox p{font-size:12px;color:var(--muted)}.filebutton{display:inline-block;background:#20372f;color:var(--green);border:1px solid #34564c;padding:12px 16px;border-radius:7px;min-height:44px;cursor:pointer;margin:7px 7px 7px 0}.filebutton input{display:none}.performance-speeds{display:flex;gap:12px}.performance-speeds>div{flex:1;background:#163329;border-radius:8px;padding:18px}.performance-speeds strong{display:block;font-size:26px;margin-top:10px}.savedrow{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;border-bottom:1px solid var(--line)}.savedrow small{display:block;color:var(--muted);margin:7px 0}.savedrow button{margin-left:8px}.empty{padding:35px;text-align:center;color:var(--muted)}footer{display:flex;justify-content:space-between;font-size:9px;color:#566a7b;letter-spacing:1px;margin-top:36px}#notice{color:var(--green);font-size:12px;line-height:1.7;margin-bottom:12px}#notice:empty{display:none}#errors:not(:empty){color:#efa5af;background:#3b2027;border-radius:8px;padding:15px;margin-bottom:15px}[hidden]{display:none!important}.panel-enter{animation:panelIn .25s ease-out}@keyframes panelIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}.is-home{background:#0c1118}.is-home aside,.is-home header,.is-home footer,.is-home #notice,.is-home #routebar{display:none!important}.is-home main{margin:0;padding:0;max-width:none;display:flex;min-height:100dvh;align-items:center;justify-content:center}.home-screen{width:100%;min-height:100dvh;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 45%,#162132 0,#0c1118 58%)}.home-form{width:min(520px,calc(100% - 46px));display:grid;gap:28px;animation:panelIn .6s ease-out}.home-form label{font-size:14px;color:#d9e5ed}.home-form label span{color:var(--green);margin-right:8px}.home-form input{min-height:68px;border-radius:11px;padding:18px;font-size:18px;background:#111c29;border-color:#304357}.home-form .search-wrap small{font-size:11px;color:var(--muted);margin-top:8px;min-height:13px}.next-button{min-height:54px;font-size:15px;display:flex;justify-content:space-between;align-items:center;border-radius:10px}.search-wrap{position:relative}.search-results{position:absolute;top:100px;left:0;right:0;max-height:320px;overflow:auto;background:#182333;box-shadow:0 20px 40px #0009;border:1px solid #32465d;border-radius:9px;z-index:800}.search-results:empty{display:none}.search-results button{display:block;width:100%;text-align:left;background:transparent;border-bottom:1px solid #2a3748;border-radius:0;padding:14px}.search-results button small{display:block;color:#8ea2b8;margin-top:5px;font-weight:400;font-size:11px}.search-results button:hover{background:#233b45}#homeStatus{text-align:center;font-size:11px;color:var(--muted);min-height:16px}.routebar{background:#101823;border:1px solid #263647;border-radius:9px;display:flex;gap:24px;align-items:center;padding:18px 22px;margin-bottom:24px}.routebar label{max-width:140px}.routebar input{font-size:19px;background:transparent;border:0;padding:4px 0}.route-note{margin-left:auto;font-size:10px;letter-spacing:1px;color:var(--green)}.route-note small{display:block;color:var(--muted);margin-top:8px}.flight-strip{display:flex;align-items:center;gap:28px;padding:22px 26px;background:#121b28;border-radius:12px;border:1px solid #283747}.flight-strip>div{min-width:130px}.flight-strip strong{display:block;font-size:34px;letter-spacing:1px;margin-top:10px}.flight-strip small{display:block;color:var(--muted);font-size:10px;margin-top:8px;max-width:220px}.route-connection{font-size:24px;color:var(--accent);margin:0 12px}.flight-strip label{margin-left:auto;min-width:210px}.flight-strip select{font-size:13px}.section-heading{display:flex;align-items:center;gap:14px;margin:35px 0 18px;scroll-margin-top:28px}.section-heading>span{font:11px ui-monospace,monospace;color:var(--accent);padding:5px 7px;border:1px solid #365261;border-radius:5px}.section-heading h2{margin:0;font-size:20px}.section-heading>button,.section-heading>.weather-actions{margin-left:auto}.route-map-wrap{position:relative;overflow:hidden;border-radius:12px;border:1px solid #2a3948;background:#0e1722}#flightMap{height:440px;z-index:1}.map-tools{position:absolute;right:18px;top:18px;z-index:450;display:grid;gap:7px}.map-tools button{background:#152534d9;backdrop-filter:blur(12px);font-size:21px;min-width:44px}.map-route-badge{position:absolute;bottom:20px;left:20px;z-index:450;padding:12px 17px;border:1px solid #38566a;background:#121e2dda;backdrop-filter:blur(12px);border-radius:9px;font-size:12px;color:var(--accent)}.map-error{position:absolute;top:15px;left:15px;color:#dbbf88;background:#342c1dee;z-index:450;padding:12px;border-radius:7px;font-size:11px}.route-detail-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:20px;margin-top:20px}.route-text{font:13px ui-monospace,SFMono-Regular,monospace;line-height:1.9;overflow-wrap:anywhere;background:#0c1420;padding:16px;border-radius:8px;margin:16px 0;color:#8fdbeb}.route-text:empty{display:none}#routeLegs{max-height:180px;overflow:auto}#routeLegs .line{font-size:11px}.route-actions{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.route-actions button{font-size:11px}#routeDataNote{margin-top:15px}#applyRoute{width:100%;margin-top:18px}.recommendation{border-bottom:1px solid #293749;padding:16px 0}.recommendation:first-child{padding-top:0}.recommendation small{font-size:10px;color:var(--muted);display:block}.recommendation strong{font-size:25px;display:block;margin:10px 0}.recommendation p{font-size:11px;color:#b6c7d5;margin:5px 0}.recommendation .ils{color:var(--accent);font-family:ui-monospace,monospace}.airport-grid,.weather-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.airport-name{font-size:26px;margin:12px 0 5px}.airport-sub{font-size:12px;color:var(--muted);margin:5px 0}.airport-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;padding:18px 0}.airport-meta>div{font-size:10px;color:var(--muted)}.airport-meta strong{display:block;color:#d9e6ef;font-size:14px;margin-top:7px}.airport-grade{border:1px solid #3a4c60;padding:3px 6px;border-radius:4px;color:#9fc8dc;font-size:11px;display:inline-block;margin-left:9px;vertical-align:middle}.runway-summary{display:flex;justify-content:space-between;gap:16px;border-top:1px solid #293648;padding:13px 0;font-size:12px}.runway-summary small{display:block;color:var(--muted);font-size:10px;margin-top:6px}.frequency-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:15px}.frequency-chip{background:#0d1622;padding:12px;border-radius:7px;border:1px solid #233346}.frequency-chip small{color:#6f8ea7;font-size:10px}.frequency-chip strong{display:block;color:#89c1df;font:15px ui-monospace,monospace;margin-top:8px}.frequency-chip p{font-size:9px;color:#7a91a3;margin:5px 0 0}.weather-actions{display:flex;gap:14px;align-items:center}.raw-weather{font:12px ui-monospace,SFMono-Regular,monospace;color:#acc5d3;background:#0b1420;border-radius:8px;padding:15px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9}.weather-details{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.weather-details>div{font-size:12px;background:#182330;border-radius:6px;padding:11px}.weather-details span{display:block;font-size:10px;color:var(--muted);margin-bottom:7px}.weather-section h3{color:#a7bdce;font-size:12px}.taf-period{font-size:11px;padding:13px 0;border-bottom:1px solid #2a3645;line-height:1.8}.taf-period strong{color:var(--green);display:block;font-size:10px;margin-bottom:5px}.weather-grid .card:last-child:nth-child(3){grid-column:1/-1}details summary{cursor:pointer;font-size:12px;min-height:40px;line-height:1.7;padding:12px 0;color:var(--green)}.data-credit{font-size:10px;color:#637c91;line-height:1.8}.leaflet-container{background:#0d1721;font-family:inherit}.leaflet-tile{filter:invert(.94) hue-rotate(160deg) saturate(.45) brightness(.62)}.leaflet-control-attribution{background:#122031d9!important;color:#8197a8!important;font-size:9px!important}.leaflet-control-attribution a{color:#85bbd1!important}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#182534;color:#d5e1ec;border:1px solid #3b5066}.leaflet-popup-content{font-size:12px;line-height:1.8}.leaflet-tooltip.map-label{background:#17293c;color:#baddec;border:1px solid #3d6581;font-size:10px;box-shadow:none}.leaflet-tooltip:before{display:none}.leaflet-bar a{background:#162738!important;color:#b7d6e4!important;border-color:#324c62!important}.leaflet-interactive{transition:stroke .3s}.airport-dialog{width:min(850px,calc(100vw - 36px));max-height:85dvh;padding:26px;border-radius:15px;background:#0f1621;border:1px solid #34465c;color:var(--ink)}dialog::backdrop{background:#000b}dialog[open]{animation:panelIn .2s ease-out}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.dialog-head strong{font-size:21px}.drawer-tabs{display:flex;gap:7px;margin-bottom:24px;overflow:auto;border-bottom:1px solid #2b3b4e;padding-bottom:14px}.drawer-tabs button{background:#192536;color:#9db6ca;font-size:12px;white-space:nowrap}.drawer-tabs button.active{background:#286577;color:#e7f8fb}.runway-card{background:#182330;padding:20px;border:1px solid #2c4054;border-radius:10px;margin-bottom:16px}.runway-schematic{width:100%;height:180px;background:#0c1622;border-radius:8px}.runway-card .compass-pair{display:flex;gap:15px;margin-top:15px}.compass-pair>div{flex:1;background:#101925;border-radius:8px;padding:15px;font-size:11px;color:#9bb0c3}.compass-pair strong{display:block;font-size:19px;color:#dcecf6;margin:8px 0}.procedure-row{padding:15px;border:1px solid #283b50;border-radius:8px;background:#172330;margin:10px 0;font-size:12px}.procedure-row strong{display:block;color:#b3d9eb;margin-bottom:8px}.procedure-row small{color:var(--muted)}#telemetryDialog{width:min(540px,calc(100vw - 32px));padding:25px;background:#121c29;border:1px solid #3b4b63;border-radius:13px;color:var(--ink)}#applyTelemetry{width:100%;margin-top:20px}.is-cruise main{padding:0;max-width:none}.is-cruise header,.is-cruise footer,.is-cruise #routebar,.is-cruise #notice{display:none!important}.cruise-screen{height:100dvh;min-height:600px;position:relative;overflow:hidden}#cruiseMap{position:absolute;inset:0;z-index:1}.cruise-hud{position:absolute;top:36px;left:50%;transform:translateX(-50%);z-index:450;background:#07111cdd;border:1px solid #213c4f;border-radius:12px;padding:18px 25px;min-width:370px;text-align:center;backdrop-filter:blur(15px);box-shadow:0 10px 30px #0005}.hud-clock{display:flex;align-items:center;justify-content:center;gap:22px}.hud-clock strong{font-size:32px;letter-spacing:-.6px;font-variant-numeric:tabular-nums}.hud-clock>span{font-size:28px;color:#e6eef7;font-weight:650}.hud-line{color:#8eb7ce;font-size:12px;margin-top:8px}.cruise-controls{position:absolute;bottom:34px;left:22px;display:grid;gap:10px;z-index:450}.cruise-controls button{background:#16283cdb;color:#c5e7f6;border:1px solid #395568;backdrop-filter:blur(10px);font-size:21px;width:49px;height:49px;border-radius:50%}.cruise-stats{position:absolute;bottom:28px;right:24px;z-index:450;min-width:220px;padding:21px;background:#081521df;backdrop-filter:blur(15px);border:1px solid #28465b;border-radius:12px}.cruise-stats>span{font-size:10px;color:var(--green);display:block;margin-bottom:18px}.cruise-stats>div:not(.cruise-progress){display:flex;justify-content:space-between;align-items:baseline;gap:22px;padding:8px 0}.cruise-stats small{font-size:10px;color:#7ca5bb}.cruise-stats strong{font:21px ui-monospace,monospace;color:#d6eff9}.cruise-progress{height:4px;background:#254052;margin:18px 0}.cruise-progress i{display:block;height:100%;background:var(--accent);width:0%;transition:width .6s}.plane-marker{color:#5adddf;font-size:29px;text-shadow:0 0 15px #46dfdf;transform-origin:50% 50%}.plane-marker.demo{color:#f3be6b;text-shadow:0 0 15px #f3be6b}.refresh-failure{color:#ed919e}
@media(max-width:1100px){main{padding:28px 24px}.flight-strip{gap:18px;padding:20px}.flight-strip>div{min-width:100px}.flight-strip label{min-width:170px}.route-detail-grid{grid-template-columns:1.1fr 1fr}.card{padding:20px}.frequency-grid{grid-template-columns:1fr 1fr}.metric strong{font-size:25px}}@media(max-width:760px){body{--rail:64px}body.rail-collapsed{--rail:64px}aside{padding:20px 10px}.brand-mark{width:44px}.brand-name,nav button span,.rail-text{display:none!important}.rail-toggle{width:44px}nav button{justify-content:center;padding:11px}.rail-collapsed .rail-toggle{width:44px}main{padding:22px 15px}.flight-strip{flex-wrap:wrap;gap:13px}.flight-strip>div{flex:1}.flight-strip strong{font-size:28px}.flight-strip label{margin:0;flex:1}.route-connection{margin:0;font-size:21px}.route-detail-grid,.airport-grid,.weather-grid,.two-col{grid-template-columns:1fr}.metric-grid{grid-template-columns:1fr 1fr;gap:10px}.card{padding:18px}.section-heading{flex-wrap:wrap}.section-heading h2{font-size:18px}.weather-actions{width:100%;justify-content:space-between}.header-route{display:none}.actions button{font-size:11px;padding:10px}h1{font-size:23px}#flightMap{height:360px}.routebar{gap:12px;padding:15px;flex-wrap:wrap}.routebar label{max-width:100px}.route-note{display:none}.compact{display:block}.compact button{margin-top:14px}.fields{gap:14px 12px}.cruise-hud{top:20px;min-width:0;width:calc(100% - 30px);padding:15px}.hud-clock strong{font-size:24px}.hud-clock>span{font-size:22px}.hud-line{font-size:10px}.cruise-stats{right:15px;bottom:20px;min-width:190px;padding:16px}.cruise-controls{left:12px;bottom:20px}.cruise-screen{min-height:500px}.home-form{width:calc(100% - 44px)}.home-form input{font-size:16px}.airport-dialog{padding:20px}.savedrow{flex-wrap:wrap}footer{line-height:2;display:block}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media print{aside,button,.filebutton,header .actions,.home-screen,.cruise-screen{display:none!important}body{background:white;color:black}main{margin:0;padding:10px}.card,.metric{background:white;color:black;border:1px solid #ccc;break-inside:avoid}section[data-panel]{display:none!important}section[data-panel=plan]{display:block!important}.routebar{display:flex!important;background:white;color:black}input{color:black;background:white}}

#prepLoadFields{margin-bottom:24px}.procedure-summary{margin-top:20px;padding-top:16px;border-top:1px solid #344452}.procedure-summary p{line-height:1.7}#airacDialog{max-width:460px}#airacDialog input{margin:15px 0}#airacDialog button{margin-top:12px}

.load-entry-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px;align-items:start}.load-totals{padding:20px;border:1px solid #314759;border-radius:12px;background:#0f1b28;min-width:0}.load-totals .line{gap:14px;flex-wrap:wrap}.load-totals .line strong{font-variant-numeric:tabular-nums}.load-totals .status{line-height:1.6;padding:10px;border-radius:6px;margin-top:8px;font-size:14px}.load-totals .pass{color:#76dcc0;background:#183b32}.load-totals .fail{color:#ffadb5;background:#49232b;border:1px solid #9a4a58}.input-over-limit{border-color:#ef8290!important;box-shadow:0 0 0 2px #ef829033}#airacDialog select{margin:14px 0;width:100%}@media(max-width:1200px){.load-entry-layout{grid-template-columns:1fr}}@media(max-width:600px){.fields{grid-template-columns:1fr}.metric-grid{grid-template-columns:1fr}.load-totals{padding:16px}.load-totals .line strong{font-size:18px}.cardhead{flex-wrap:wrap;gap:10px}}

.load-confirm-actions{display:flex;gap:12px;flex-wrap:wrap;margin:15px 0 24px}#loadConfirmation{line-height:1.6}
/* Bounded independent touch scrolling for the navigation rail. */
aside{height:100dvh;min-height:0;max-height:100dvh;overflow:hidden;padding-bottom:max(16px,env(safe-area-inset-bottom))}.brand,.rail-toggle,.sidefoot{flex-shrink:0}aside nav{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;scroll-behavior:auto;padding-bottom:12px;scrollbar-width:thin;scrollbar-color:#294039 transparent}aside nav button{flex-shrink:0;min-height:48px;touch-action:manipulation}aside nav button i,aside nav button span{pointer-events:none}.nav-divider{flex-shrink:0}.rail-toggle{touch-action:manipulation}.sidefoot{margin-top:0;padding-top:12px}#cruiseRecommendation{margin:14px 0;padding:12px 0;border-bottom:1px solid var(--line)}

.aircraft-symbol{display:block;transform-origin:center;line-height:30px;text-align:center}.cruise-controls button.active{background:#17372f;color:var(--green)}#cruiseCoordinates{display:block;font-size:14px;font-variant-numeric:tabular-nums;margin-top:10px}

/* Use native dark tiles; avoid Safari filter/blend compositing. */
.leaflet-container img.leaflet-tile{filter:none!important;mix-blend-mode:normal!important}.leaflet-tile-pane{opacity:1!important}

.unit-control{display:flex;align-items:center;gap:8px;font-size:14px}.unit-control select{width:auto;min-width:110px}.wind-display{display:flex;align-items:center;gap:20px;margin:16px 0;padding:12px;border-radius:12px;background:#0d1923;color:#bad0df}.wind-display svg{width:140px;height:140px;flex-shrink:0}.wind-display strong{font-size:18px}.wind-display p{margin:8px 0}.wind-display small{font-size:12px}@media(max-width:600px){.wind-display{gap:10px}.wind-display svg{width:110px;height:110px}.actions{flex-wrap:wrap}}

.cruise-controls button{display:grid;place-items:center;padding:0;line-height:1}.cruise-controls button svg{display:block;width:24px;height:24px;pointer-events:none}

.gps-symbol{display:block;width:18px;height:18px;margin:6px;border-radius:50%;background:#58d7f5;border:3px solid white;box-shadow:0 0 0 5px #58d7f540}

.gps-aircraft{color:#ff5d65;font-size:28px;width:30px;height:30px;line-height:30px;text-shadow:0 1px 3px #0009}

nav button i{display:grid;place-items:center;width:26px;height:26px}nav button i svg{width:26px;height:26px;display:block}.stage-navigation{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px}.stage-link{min-height:64px;text-align:left;border:1px solid #334352;border-radius:12px;padding:12px;background:#10202b;color:#edf4fa}.stage-link small{display:block;margin-top:5px;color:#92a8b9}.stage-link.pending small{color:#ff9898}.stage-link.active{border-color:#66dcc5}.stage-link:disabled{opacity:.45}.checklist-item{display:flex;width:100%;align-items:center;gap:14px;text-align:left;padding:18px;margin:10px 0;border:1px solid;border-radius:12px;font-size:16px;line-height:1.5;touch-action:manipulation}.checklist-item.pending{background:#29191e;border-color:#a75460;color:#ffb0b0}.checklist-item.done{background:#12352d;border-color:#398877;color:#86e5cb}.check-box{display:grid;place-items:center;width:26px;height:26px;border:1px solid currentColor;border-radius:6px;flex-shrink:0}.qrh-page{white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;line-height:1.7;padding:18px;background:#09121b;border-radius:12px}.qrh-result{display:block;width:100%;margin:10px 0;text-align:left}.source-page-actions{display:flex;justify-content:space-between;align-items:center;gap:8px}#emergencyTools{margin:20px 0}#emergencySearch{width:100%}#checklistContent details{margin-top:20px}
#checklistSheet{background:transparent;border:none;padding:0;box-shadow:none}#checklistSheet>.cardhead{flex-wrap:wrap}#checklistSheet .checklist-controls{font-size:14px;color:#a4bacb;line-height:1.6}.checklist-paper{max-width:1040px;margin:24px auto;background:#f8f9fb;color:#12213a;border:1px solid #bec9d7;border-radius:3px;padding:30px 34px;box-shadow:0 12px 40px #0003}.paper-heading{display:grid;grid-template-columns:1fr auto;gap:8px;border-bottom:3px solid #183b68;padding-bottom:18px;margin-bottom:12px}.paper-heading strong{grid-column:1/-1;font-size:20px;letter-spacing:.03em;color:#183b68}.paper-heading small{grid-column:2;grid-row:1;color:#405371}.paper-column-heading{display:flex;justify-content:space-between;padding:10px 0;color:#3d5679;font-size:14px;border-bottom:1px solid #a9b6c8}.checklist-paper .checklist-item{background:transparent;border:none;border-bottom:1px solid #d4dce7;border-radius:0;padding:16px 0;margin:0;color:#9a2634;align-items:flex-start}.checklist-paper .checklist-item.done{color:#136347;background:#e9f3ed}.checklist-paper .checklist-item:focus-visible{outline:3px solid #207fbe;outline-offset:2px}.bilingual-item{display:grid;gap:6px;flex:1;min-width:0}.item-language{display:flex;align-items:baseline;gap:8px;font-size:16px}.item-language[lang=en]{font-size:14px}.item-name{max-width:65%;overflow-wrap:anywhere}.item-answer{text-align:right;max-width:55%;overflow-wrap:anywhere;font-weight:600}.dot-leader{flex:1;min-width:8px;border-bottom:1px dotted currentColor;opacity:.55}.checklist-paper .check-box{margin-top:2px;width:23px;height:23px}.checklist-detail .qrh-page{max-width:1040px;margin:20px auto;background:#f8f9fb;color:#12213a;border-radius:3px;border:1px solid #bdc9d7}.checklist-detail details{max-width:1040px;margin:20px auto}@media(max-width:700px){.checklist-paper{padding:18px 14px}.item-language{font-size:15px;gap:5px}.item-language[lang=en]{font-size:14px}.checklist-paper .checklist-item{gap:9px}.paper-heading strong{font-size:17px}.paper-heading{grid-template-columns:1fr}.paper-heading small{grid-column:1;grid-row:auto}#checklistSheet .cardhead button{padding:12px}}

.checklist-next{max-width:1040px;margin:24px auto;display:flex;justify-content:flex-end}.checklist-next button{min-height:52px}@media(max-width:700px){.checklist-next button{width:100%}}

.chart-catalog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.chart-catalog-card{background:#0d1824;border:1px solid #2b4052;border-radius:14px;padding:18px}.chart-catalog-card h3{margin-top:0}.chart-open{display:block;width:100%;text-align:left;margin-top:10px}.chart-open small{display:block;font-size:14px;color:#98b2c5;margin-top:6px}.chart-toolbar,.chart-mark-editor{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:18px 0}.chart-toolbar label{display:flex;gap:8px;align-items:center}.chart-toolbar input[type=color]{width:46px;height:42px;padding:3px}.chart-mark-editor label{flex:1;min-width:220px}.chart-mark-editor input{width:100%}#chartViewport{height:72vh;min-height:420px;overflow:auto;overscroll-behavior:contain;border:1px solid #304457;border-radius:12px;background:#17212b;padding:12px}#chartCanvas{position:relative;flex-shrink:0;background:white;user-select:none;touch-action:auto}#chartImage,#chartAnnotations{position:absolute;width:100%;height:100%;inset:0}#chartImage{object-fit:fill;pointer-events:none}#chartAnnotations{overflow:visible}#chartAnnotations [data-annotation]{cursor:move}.chart-map-control{position:absolute;left:18px;top:18px;z-index:900}.chart-map-layer-panel{margin-top:8px;background:#101d2a;border:1px solid #365068;border-radius:12px;padding:16px;width:280px;max-height:320px;overflow-y:auto;box-shadow:0 12px 24px #0005}.chart-layer{padding:12px 0;border-bottom:1px solid #344b5d}.chart-layer strong{display:block;margin-bottom:10px;font-size:14px}.chart-layer label{display:flex;align-items:center;gap:8px;font-size:14px;margin-top:12px}.chart-layer input{min-width:0;flex:1}.chart-layer button{padding:8px 12px;font-size:14px}.cruise-chart-control{top:18px;left:24px}@media(max-width:700px){.chart-catalog-grid{grid-template-columns:1fr}.chart-toolbar button{padding:12px}#chartViewport{height:68vh}.chart-map-control{left:12px;top:12px}.chart-map-layer-panel{width:min(260px,65vw)}}

.chart-map-layer-panel[hidden]{display:none!important}.chart-workspace{display:grid;grid-template-columns:300px minmax(0,1fr);gap:18px;align-items:start}.chart-directory{min-width:0;position:sticky;top:16px}.chart-directory .card{padding:15px;margin:12px 0}.chart-directory h2{font-size:18px}.chart-directory .chart-catalog-grid{display:block}.chart-directory .chart-catalog-card{padding:12px;margin:10px 0}.chart-directory .chart-catalog-card h3{font-size:14px}.chart-detail{min-width:0}.chart-directory #chartDirectoryContent{max-height:82dvh;overflow:auto;overscroll-behavior:contain}.directory-collapsed .chart-workspace{grid-template-columns:48px minmax(0,1fr)}.directory-collapsed #chartDirectoryToggle{width:48px;padding:14px 8px}.directory-collapsed #chartDirectoryToggle span{display:none}#chartDirectoryToggle{width:100%;text-align:left;min-height:48px}#chartViewerPanel .cardhead{flex-wrap:wrap}#chartViewerPanel[hidden],#chartEmptyView[hidden],#chartDirectoryContent[hidden]{display:none!important}@media(max-width:760px){.chart-workspace{grid-template-columns:min(240px,42vw) minmax(0,1fr);gap:10px}.chart-directory .card{padding:10px}.chart-toolbar,.chart-mark-editor{gap:6px}#chartViewport{min-height:380px;height:72dvh}.chart-mark-editor label{min-width:0}.chart-directory .chart-open{font-size:12px}}

#loginDialog{width:min(420px,calc(100vw - 32px));padding:26px;background:#101c29;color:var(--ink);border:1px solid #354b62;border-radius:16px}#loginContinue{margin-top:15px;width:100%}
.account-entry{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:48px;padding:12px;background:#15222e;color:var(--ink);border:1px solid #2d4153;border-radius:12px;margin-bottom:12px;touch-action:manipulation}.account-entry svg{width:24px;height:24px;flex-shrink:0}.pro-protected{position:relative;min-height:180px}.pro-content{filter:blur(6px);pointer-events:none;user-select:none;opacity:.5}.pro-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#132537f2;color:var(--ink);border:1px solid #436078;border-radius:10px;padding:16px 22px;white-space:nowrap;font-size:14px;z-index:5}.has-pro .pro-content{filter:none;pointer-events:auto;user-select:auto;opacity:1}.has-pro .pro-overlay{display:none}.pro-full-lock{min-height:50vh}.requires-pro{position:relative}.requires-pro:after{content:'🔒';font-size:10px;position:absolute;right:4px;top:4px}#loginForm{display:grid;gap:18px}#loginForm[hidden],#accountIdentity[hidden],#confirmPasswordLabel[hidden]{display:none!important}#loginForm input{width:100%;margin-top:8px}#loginStatus{min-height:24px;color:var(--accent)}#loginContinue{margin-top:10px}#loginDialog{max-height:88dvh;overflow:auto}

#loginDialog.account-plans-open{width:min(880px,calc(100vw - 32px))}.membership-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:25px 0 16px}.membership-heading h3{margin:0;font-size:18px}.membership-heading>span{font-size:14px;color:var(--muted)}.membership-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.membership-card{display:flex;flex-direction:column;align-items:stretch;text-align:left;gap:16px;padding:22px 18px;background:#0d1723;color:var(--ink);border:2px solid #2d4052;border-radius:14px;min-height:330px;transition:border-color .18s,box-shadow .18s,background .18s;touch-action:manipulation}.membership-card:hover{border-color:#517566}.membership-card.selected{border-color:var(--green);box-shadow:0 0 0 1px #64d7bd55,0 0 22px #64d7bd18;background:#10251f}.membership-card:focus-visible{outline:3px solid var(--green);outline-offset:3px}.membership-name{font-size:19px;font-weight:700}.membership-price{font-size:36px;font-weight:750;letter-spacing:-1px}.membership-price small{font-size:14px;letter-spacing:0;font-weight:400;color:var(--muted);margin-left:8px}.membership-description{font-size:15px;color:#d6e4ec}.membership-features{font-size:14px;line-height:2;color:#9db3c1;flex:1}.membership-selection{font-size:14px;color:var(--green);border-top:1px solid #31443c;padding-top:13px}.membership-card.selected .membership-selection::before{content:'✓ ';}.membership-checkout{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:22px 0 12px;padding:18px;background:#0b1520;border:1px solid #2d4052;border-radius:12px}.membership-checkout p{font-size:16px;margin:0}#membershipPay:disabled{opacity:.55;cursor:default}#membershipStatus{min-height:22px;font-size:14px;line-height:1.7}#accountTier{color:var(--green);font-size:16px}@media(max-width:680px){.membership-plans{grid-template-columns:1fr}.membership-card{min-height:0;padding:18px}.membership-features{line-height:1.8}.membership-checkout{align-items:stretch;flex-direction:column}.membership-heading{flex-wrap:wrap}}
.has-pro .pro-full-lock .pro-content{filter:blur(6px);pointer-events:none;user-select:none;opacity:.5}.has-pro .pro-full-lock .pro-overlay{display:block}

/* Keep the account scroller independent of map compositing. */
#loginDialog{overscroll-behavior:contain;scroll-behavior:auto;-webkit-overflow-scrolling:touch;contain:layout paint}#loginDialog::backdrop{background:rgba(0,0,0,.72);backdrop-filter:none}#loginDialog .membership-card{transition:none;touch-action:pan-y}#loginDialog .membership-card:hover,#loginDialog .membership-card:active{filter:none;transform:none}#loginDialog .membership-card.selected{box-shadow:0 0 0 1px var(--green)}

.routebar .route-endpoint{min-width:100px;flex:0 0 auto}.route-endpoint>span{display:block;font-size:14px;color:var(--muted)}.route-endpoint strong{display:block;font-size:28px;font-weight:650;margin-top:13px;letter-spacing:.5px}.routebar .route-arc{flex:0 1 250px;min-width:100px;color:var(--accent);align-self:center}.route-arc svg{display:block;width:100%;height:auto;overflow:visible}.route-arc-plane{transform:none}@media(max-width:760px){.routebar .route-endpoint{min-width:75px}.route-endpoint strong{font-size:23px}.routebar .route-arc{flex:1;min-width:65px;max-width:190px}.routebar .route-note{width:100%;margin-left:0}}@media(prefers-reduced-motion:reduce){.route-arc-plane{animation:none}}

/* Airport identity keeps location directly below its name. */
.airport-meta{display:flex;flex-direction:column;align-items:flex-start;gap:0}.airport-meta>strong,.airport-meta>p{width:100%;text-align:left}.airport-meta>p{margin:8px 0}.airport-meta>p:last-child{margin-top:12px}

.route-connection{display:flex;align-items:center;justify-content:center;align-self:center}.route-connection svg{display:block;width:28px;height:28px}.fuel-pie-layout{display:flex;align-items:center;gap:24px;margin:12px 0 20px}.fuel-pie-layout>svg{width:180px;max-width:45%;height:auto;flex-shrink:0}.fuel-pie-legend{flex:1;min-width:0}.fuel-pie-legend>div{display:flex;align-items:center;gap:8px;padding:7px 0;font-size:12px}.fuel-pie-legend i{width:10px;height:10px;border-radius:3px;flex-shrink:0}.fuel-pie-legend strong{margin-left:auto;font-variant-numeric:tabular-nums}#landingCondition{padding-top:12px;font-size:12px;line-height:1.8}#refreshTraffic{margin:12px 0}#landingTrafficSource{display:block;width:100%;margin-top:8px}@media(max-width:480px){.fuel-pie-layout{gap:12px}.fuel-pie-layout>svg{width:130px}.fuel-pie-legend>div{font-size:11px}}

.current-model-label{display:block;color:var(--muted);font-size:12px;letter-spacing:normal}.current-model-label select{display:block;width:100%;max-width:290px;margin-top:6px;min-height:44px;font-size:14px;letter-spacing:normal}

#weightLoadTotals{margin-top:24px}.load-totals .status{margin-top:12px}[data-panel="weight"] .two-col{gap:28px}[data-panel="weight"] .fields{row-gap:24px}

.flight-strip>div{flex:1 1 0;min-width:0}.route-connection{flex:0 0 40px;margin:0}.route-connection svg{width:32px;height:32px;transform:none}

.model-selection{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:24px}.model-selection label{font-size:16px}.model-selection select{min-height:44px;max-width:100%;padding:10px 12px}.route-arc-plane{animation:none!important;transform:none!important}.routebar .route-note strong{display:block;font-size:14px;margin-bottom:8px}

#chartPdf{width:100%;height:100%;border:0;background:white}#chartPdf[hidden]{display:none}#chartSearchResults{display:grid;gap:6px;max-height:450px;overflow:auto}

.chart-affine{position:absolute;left:0;top:0;pointer-events:none}.chart-affine img{display:block}.route-direction svg{width:20px;height:20px}#chartCalibrationPanel[hidden]{display:none}

.procedure-picker{margin-top:20px;padding:18px;border:1px solid #385365;border-radius:12px}.procedure-picker .fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.procedure-picker select{width:100%;min-height:42px}.route-direction{background:none;border:none}.procedure-picker button{margin-top:12px;margin-right:8px}@media(max-width:600px){.procedure-picker .fields{grid-template-columns:1fr}}

#chartRasterTools[hidden],#chartMarkEditor[hidden],#chartMode[hidden],#chartProcedureOverlay[hidden]{display:none!important}#chartViewport.original-pdf{padding:0;overflow:hidden}#chartViewport.original-pdf #chartCanvas{width:100%;height:100%;background:#303030}#chartViewport.original-pdf #chartPdf{display:block;height:100%;width:100%}

#chartPdfControls[hidden]{display:none!important}#chartViewport.original-pdf #chartCanvas{display:flex;flex-direction:column}#chartViewport.original-pdf #chartPdf{flex:1;min-height:0;width:100%;height:auto;overflow:auto;overscroll-behavior:contain;text-align:center;padding:12px;box-sizing:border-box;background:#303030}#chartPdf canvas{display:block;margin:0 auto;background:white} .chart-pdf-controls{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;padding:10px;background:#101d2a;color:#e5eef5;flex-shrink:0}.chart-pdf-controls button{padding:8px 12px}

.pro-protected.feature-unlocked:not(.pro-full-lock)>.pro-content{filter:none;pointer-events:auto;user-select:auto;opacity:1}.pro-protected.feature-unlocked:not(.pro-full-lock)>.pro-overlay{display:none}

#currentPasswordLabel[hidden]{display:none!important}
:root .wind-indicator{display:flex;align-items:center;gap:16px;padding:10px 0;color:#afc0d0}
.wind-indicator svg{width:112px;height:112px;flex:none}
.wind-indicator strong,.wind-indicator span{display:block}
.wind-indicator span{margin-top:8px;font-size:14px}
.wind-indicator .wind-arrow{color:#65d9c2}
#refreshTakeoffTraffic,#refreshTraffic{margin-top:16px;margin-bottom:16px}
.bridge-connect{border:1px solid #344455;border-radius:12px;padding:16px;margin:16px 0}
.bridge-connect>a{display:inline-block;text-decoration:none}
.bridge-actions{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0}
#bridgePairingKey{font-family:monospace;font-size:14px;width:100%}
#bridgeStatus{font-size:14px;line-height:1.6}
.cruise-connection-hint{position:absolute;top:100px;left:20px;right:90px;z-index:500;max-width:540px;padding:12px 16px;text-align:left;line-height:1.5;font-size:14px;background:rgba(16,26,38,.95);color:#d6eeec;border:1px solid #377d78;border-radius:10px;cursor:pointer}
#bridgePairingKey{font-size:24px;letter-spacing:.12em;max-width:260px}
.cruise-connection-hint[hidden]{display:none}
.plane-marker{color:#ff404d;font-size:35px;text-shadow:0 1px 3px #000c,0 0 5px #ffffff60}
.plane-marker .aircraft-symbol{width:36px;height:36px;line-height:36px;font-size:35px;color:#ff404d;will-change:transform}
.cruise-stats{min-width:184px;max-width:215px;padding:12px 14px;right:18px;bottom:20px;border-radius:10px}
.cruise-stats>span{font-size:12px;margin-bottom:8px;line-height:1.4}
.cruise-stats>div:not(.cruise-progress){gap:12px;padding:4px 0}
.cruise-stats small{font-size:12px}
.cruise-stats strong{font-size:16px}
.cruise-stats .cruise-progress{margin:10px 0;height:3px}
.plane-marker{background:none;border:0;pointer-events:none}
.plane-marker .aircraft-symbol{position:absolute;left:30px;top:30px;display:block;text-align:center;transform-origin:50% 50%}
.aircraft-compass{position:absolute;inset:10px;border:1px solid #ff6676b3;border-radius:50%;text-shadow:0 1px 2px #000}
.compass-card{position:absolute;inset:0;border-radius:50%;transform-origin:center}
.compass-card:after{content:"";position:absolute;inset:0;border-radius:50%;background:repeating-conic-gradient(from -1deg,#ff6676b3 0deg 2deg,transparent 2deg 30deg);mask:radial-gradient(transparent 63%,#000 65%);-webkit-mask:radial-gradient(transparent 63%,#000 65%)}
.compass-card b{position:absolute;color:#ff8a96;font:600 9px/10px system-ui;text-shadow:0 1px 2px #000}
.compass-n{top:3px;left:33px}.compass-e{right:3px;top:33px}.compass-s{bottom:3px;left:33px}.compass-w{left:3px;top:33px}
.heading-needle{position:absolute;left:47px;top:2px;width:2px;height:46px;background:linear-gradient(to bottom,#ff4055 0 28px,transparent 28px);transform-origin:1px 46px;box-shadow:none}
.heading-needle[hidden]{display:none}
