@font-face{font-family:B612;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/b612-latin-400-normal-CC98FVm_.woff2)format("woff2"),url(/assets/b612-latin-400-normal-JbZ7xwUX.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:B612;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/b612-latin-700-normal-BinQrnoB.woff2)format("woff2"),url(/assets/b612-latin-700-normal-B_Snq1wd.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color:#eaf6ff;font-synthesis:none;text-rendering:optimizelegibility;background:#08111f;font-family:B612,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.35}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}button,input{font:inherit}button{color:inherit}.app-shell{height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:#08111f;grid-template-rows:64px 50px minmax(0,1fr);display:grid}.topbar{z-index:20;background:#07101df5;border-bottom:1px solid #97c7e424;grid-template-columns:264px minmax(280px,600px) 1fr;align-items:center;gap:22px;padding:0 18px;display:grid;position:relative;box-shadow:0 8px 30px #0000003d}.brand{flex-direction:column;align-items:flex-start;min-width:0;display:flex}.brand-mark{object-fit:contain;background:#08111f;border:1px solid #61d6c58c;border-radius:11px;flex:none;width:38px;height:38px;display:block;box-shadow:0 0 24px #44bcae2e}.brand-mark.is-loading{animation:1.4s ease-in-out infinite breathe}.brand .brand-mark{display:none}.brand-logo{object-fit:contain;width:144px;height:46px;display:block}.brand-tagline{color:#71879a;letter-spacing:normal;white-space:nowrap;font-size:10px;line-height:12px}.search{align-items:center;min-width:0;display:flex;position:relative}.search input{color:#eaf6ff;background:#112132c7;border:1px solid #97c7e429;border-radius:12px;outline:none;width:100%;height:40px;padding:0 42px;font-size:14px;transition:border-color .14s,box-shadow .14s}.search input::placeholder{color:#6d8497}.search input:focus{border-color:#61d6c594;box-shadow:0 0 0 3px #61d6c514}.search-icon{z-index:1;color:#7e9db3;font-size:21px;position:absolute;left:15px;transform:rotate(-20deg)}.clear-button{color:#88a0b2;cursor:pointer;background:0 0;border:0;border-radius:8px;width:28px;height:28px;position:absolute;right:8px}.clear-button:hover{color:#fff;background:#ffffff12}.search-results{overscroll-behavior:contain;background:#091423fa;border:1px solid #97c7e42b;border-radius:14px;max-height:calc(100dvh - 90px);position:absolute;top:calc(100% + 8px);left:0;right:0;overflow-y:auto;box-shadow:0 18px 60px #00000073}.search-warning{color:#efb980;margin:0;padding:12px;font-size:12px}.search-results button{text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #97c7e414;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:11px;width:100%;padding:11px 13px;display:grid}.search-results button:hover,.search-results button:focus-visible{background:#61d6c517;outline:none}.search-results button:last-child{border-bottom:0}.search-results button>span:nth-child(2){gap:2px;min-width:0;display:grid}.search-results strong{font-size:14px}.search-results small{color:#87a0b4;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.search-results em{color:#61778b;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-style:normal}.result-glyph{background:#58d3ff;border-radius:50%;width:8px;height:8px}.result-glyph.is-vfr-waypoints{background:#ffbd66;border-radius:1px;transform:rotate(45deg)}.result-glyph.is-navaids{background:#b997ff}.result-glyph.is-fixes{background:#f58cb5}.topbar-meta{color:#8da3b5;letter-spacing:.05em;text-transform:uppercase;justify-content:flex-end;align-items:center;gap:9px;font-size:12px;display:flex}.status-dot{background:#61d6c5;border-radius:50%;width:7px;height:7px;box-shadow:0 0 12px #61d6c5bf}.workspace{width:100%;height:100%;min-height:0;position:relative;overflow:hidden}.launch-state{text-align:center;background:radial-gradient(circle at 50% 45%,#3d728533,#0000 35%),#08111f;place-content:center;justify-items:center;height:100%;padding:24px;display:grid}.launch-state .brand-mark{width:52px;height:52px;margin-bottom:16px}.launch-state h1{margin:0 0 8px;font-size:22px}.launch-state p{color:#7f98aa;max-width:480px;margin:0 0 14px}.launch-state code{color:#61d6c5;background:#101f31;border-radius:8px;padding:8px 11px}.feed-status,.product-panel-error{color:#ffd8d4;background:#101b27;border:1px solid #674f4a;border-radius:10px;gap:10px;padding:16px;font-size:12px;display:grid}.feed-status p{margin:0}.workspace-notices{z-index:4;gap:8px;width:min(400px,100% - 86px);display:grid;position:absolute;top:56px;left:14px}.workspace-notices>.map-runtime-error{max-width:none;position:static}.workspace-notices button{justify-self:start;font-size:11px}.offline-banner{color:#f5d697;background:#252515ed;border:1px solid #8e7541;border-radius:9px;padding:9px 12px;font-size:12px}.product-panel-error{z-index:100;max-width:min(480px,100% - 40px);position:fixed;top:20px;right:20px}.feed-status button,.product-panel-error button,.map-runtime-error button{color:inherit;cursor:pointer;background:#213342;border:1px solid #647887;border-radius:5px;padding:6px 10px}.product-panel-error button+button{margin-left:8px}.cycle-select{border:1px solid var(--border,#334155);max-width:11rem;color:inherit;background:var(--panel,#12202e);font:inherit;border-radius:.35rem;padding:.3rem}.route-bar{z-index:15;background:#081321f7;border-bottom:1px solid #97c7e421;grid-template-columns:auto minmax(260px,680px) minmax(105px,1fr) auto;align-items:center;gap:12px;min-width:0;padding:7px 18px;display:grid;position:relative;box-shadow:0 8px 24px #0000002e}.route-heading{color:#61bfff;letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:7px;font-size:11px;font-weight:800;display:flex}.route-heading svg{fill:#41a6ee2e;stroke:currentColor;stroke-linecap:round;stroke-width:1.6px;width:24px;height:24px}.route-input{min-width:0;position:relative}.route-editor{scrollbar-width:none;background:#122a3ebd;border:1px solid #4eb3f747;border-radius:9px;align-items:center;gap:5px;width:100%;height:36px;padding:4px 38px 4px 5px;transition:border-color .14s,box-shadow .14s;display:flex;overflow-x:auto}.route-editor::-webkit-scrollbar{display:none}.route-editor:focus-within{border-color:#4fb8ffb3;box-shadow:0 0 0 3px #319eeb1a}.route-token-list{flex:none;align-items:center;gap:4px;margin:0;padding:0;list-style:none;display:flex}.route-token-list li{position:relative}.route-token-list .route-inline-entry{background:#4bd4c414;border:1px solid #4bd4c480;border-radius:7px;flex:0 0 146px;width:146px;padding:0 5px;box-shadow:0 0 0 3px #4bd4c412}.route-inline-entry .route-entry{width:100%;min-width:0;padding:0}.route-token{--token-color:#61bfff;border:1px solid color-mix(in srgb, var(--token-color) 38%, transparent);color:#e9f7ff;background:color-mix(in srgb, var(--token-color) 13%, #091827f0);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:7px;align-items:center;height:26px;padding:0 7px;transition:border-color .12s,background .12s,box-shadow .12s;display:flex}.route-token:hover,.route-token:focus-visible{border-color:color-mix(in srgb, var(--token-color) 72%, transparent);background:color-mix(in srgb, var(--token-color) 21%, #091827f0);outline:none}.route-token strong{letter-spacing:.04em;font-size:12px;font-weight:700}.route-token.is-dragging{z-index:3;border-color:color-mix(in srgb, var(--token-color) 88%, white);background:color-mix(in srgb, var(--token-color) 28%, #091827fa);cursor:grabbing;transition:none;box-shadow:0 8px 24px #00000073}.route-token-list li.is-drop-before:before,.route-token-list li.is-drop-after:after{z-index:5;content:"";background:#71c8ff;border-radius:2px;width:2px;position:absolute;top:2px;bottom:2px;box-shadow:0 0 8px #4fb8ffb3}.route-token-list li.is-drop-before:before{left:-3px}.route-token-list li.is-drop-after:after{right:-3px}.route-token.is-vfr-waypoints{--token-color:#ffbd66}.route-token.is-navaids{--token-color:#b997ff}.route-token.is-fixes{--token-color:#f58cb5}.route-token.is-airway{--token-color:#4bd4c4}.route-token.is-pending{--token-color:#71899c}.route-token.is-unresolved{--token-color:#ef7771}.route-entry{color:#e9f7ff;letter-spacing:.045em;text-transform:uppercase;background:0 0;border:0;outline:none;flex:1 0 96px;width:100%;min-width:96px;height:26px;padding:0 5px;font-size:13px;font-weight:650}.route-entry::placeholder{color:#526f84;font-weight:500}.route-clear{color:#7d9bad;cursor:pointer;background:0 0;border:0;border-radius:7px;width:28px;height:28px;position:absolute;top:4px;right:5px}.route-clear:hover{color:#fff;background:#ffffff0f}.route-clear svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px;width:15px;height:15px}.route-token-menu{z-index:30;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#081321fa;border:1px solid #97c7e433;border-radius:11px;width:176px;animation:.12s ease-out reveal-popover;display:grid;position:absolute;top:calc(100% + 7px);overflow:hidden;box-shadow:0 16px 44px #0000007a}.route-token-menu>span{color:#668297;letter-spacing:.06em;padding:8px 10px 6px;font-size:10px;font-weight:700}.route-token-menu button{color:#a9d9f5;text-align:left;cursor:pointer;background:0 0;border:0;border-top:1px solid #97c7e41a;outline:none;padding:9px 10px;font-size:12px}.route-token-menu button:hover,.route-token-menu button:focus-visible{background:#61bfff1c}.route-token-menu .route-menu-remove{color:#f2a09a}.route-token-menu .route-menu-remove:hover,.route-token-menu .route-menu-remove:focus-visible{background:#ef77711c}.route-summary{color:#8ba4b6;letter-spacing:.04em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;align-items:center;gap:4px;min-width:0;font-size:11px;display:flex;overflow:hidden}.route-tools{align-items:center;gap:12px;min-width:0;display:flex}.route-summary:empty{display:none}details.route-summary{display:block}.route-summary summary{cursor:pointer;align-items:center;gap:6px;min-height:36px;list-style:none;display:flex}.route-summary summary::-webkit-details-marker{display:none}.route-summary summary span{text-overflow:ellipsis;overflow:hidden}.route-summary summary svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;flex:0 0 24px;width:24px;height:24px}.route-issues{white-space:normal;overflow-wrap:anywhere;text-transform:none;letter-spacing:normal;background:#101f30;border:1px solid #704b48;border-radius:8px;width:min(430px,100vw - 24px);max-height:min(240px,40dvh);margin:0;padding:12px 14px 12px 30px;font-size:12px;position:absolute;top:calc(100% + 6px);right:12px;overflow:auto;box-shadow:0 8px 24px #0008}.route-issues li+li{margin-top:8px}.route-summary:not(.is-error) .route-issues{border-color:#345168}.route-recommend-hint{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.route-recommend,.route-recommendations button{color:#a9ddff;cursor:pointer;min-height:32px;font:inherit;background:#318bca21;border:1px solid #4eb3f74d;border-radius:6px;padding:5px 9px;font-size:12px;font-weight:650}.route-recommend{flex:none}.route-recommend:hover,.route-recommend[aria-expanded=true],.route-recommendations button:hover{background:#318bca40}.route-recommend:focus-visible,.route-recommendations button:focus-visible,.route-recommendations summary:focus-visible,.route-history-filter select:focus-visible{outline-offset:-2px;outline:2px solid #61bfff}.route-recommendations button:disabled{cursor:default}.route-recommendations{z-index:35;color:#c3d8e6;background:#0a1726;border:1px solid #345168;border-radius:9px;flex-direction:column;width:min(460px,100vw - 24px);max-height:calc(100dvh - 155px);font-size:11px;line-height:1.4;display:flex;position:absolute;top:calc(100% + 7px);right:12px;overflow:hidden;box-shadow:0 12px 36px #0007}.route-recommend-header{border-bottom:1px solid #263a4c;flex:none;justify-content:space-between;align-items:center;gap:12px;padding:9px 12px;display:flex}.route-recommend-caption{color:#8ba4b6;font-size:10px}.route-recommendations h2{color:#edf8ff;margin:1px 0 0;font-size:14px}.route-recommendations .route-recommend-close{background:0 0;border-color:#0000;min-width:30px;padding:0;font-size:21px}.route-recommend-body{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#52687c transparent;min-height:0;overflow-y:auto}.route-recommend-body>p:not(.route-recommend-hint),.route-recommend-body>div[role]{margin:8px 12px}.route-preview-legend{color:#a1b3c3;flex-wrap:wrap;align-items:center;gap:2px 5px;font-size:10px;display:flex}.route-preview-legend i{background:#33c6ff;border-radius:2px;width:12px;height:3px}.route-preview-legend i.is-alternative{opacity:.9;background:#bac4ce;margin-left:5px}.route-preview-legend>span{margin-left:auto}.route-recommend-section{border-top:1px solid #263a4c}.route-section-heading{justify-content:space-between;align-items:center;gap:8px;min-height:30px;padding:4px 12px 0;display:flex}.route-section-heading h3{color:#edf8ff;align-items:baseline;gap:7px;margin:0;font-size:12px;display:flex}.route-section-heading h3 span{color:#8ba4b6;font-size:10px;font-weight:400}.route-recommend-source{color:#8ba4b6;padding:0 12px 5px;font-size:10px}.route-recommend-source.is-inline{padding:0}.route-recommend-source a{color:inherit;text-underline-offset:2px}.route-source-note{font-size:9px;display:block}.route-history-filter{align-items:center;display:flex}.route-history-filter select{color:#d9e6ef;max-width:140px;min-height:26px;font:inherit;background:#132638;border:1px solid #345168;border-radius:5px;padding:3px 6px;font-size:10px}.route-recommend-state{color:#8ba4b6;overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:8px;margin:0;padding:6px 12px 9px;display:flex}.route-recommend-state[role=alert]{color:#efb7a5}.route-recommend-list{margin:0;padding:0;list-style:none}.route-suggestion{border-top:1px solid #1c3042;border-left:2px solid #0000;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:8px;padding:2px 10px 2px 4px;display:grid}.route-suggestion.is-selected{background:#102b40;border-left-color:#33c6ff}.route-recommendations .route-suggestion-preview{text-align:left;width:100%;min-width:0;min-height:42px;color:inherit;background:0 0;border:0;border-radius:4px;align-items:flex-start;gap:7px;padding:5px 3px;font-weight:400;display:flex}.route-recommendations .route-suggestion-preview:hover:not(:disabled){background:#183348}.route-suggestion-rank{text-align:center;color:#b6c2ce;font-variant-numeric:tabular-nums;background:#263849;border-radius:4px;flex:0 0 18px;margin-top:1px;font-size:10px;line-height:18px}.is-selected .route-suggestion-rank{color:#e5f6ff;background:#236b9d}.route-suggestion-copy{min-width:0}.route-suggestion-copy>strong{overflow-wrap:anywhere;color:#ecf5fc;font-size:11px;font-weight:650;line-height:1.45;display:block}.route-suggestion-meta{color:#9db5c7;font-variant-numeric:tabular-nums;margin-top:2px;font-size:10px;display:block}.route-suggestion-warning{color:#c9a47b}.route-recommendations .route-suggestion-use{min-height:30px;padding:4px 8px;font-size:10px}.route-recommendations .route-suggestion-use:disabled{opacity:.4}.route-recommend-conditions{color:#9db5c7;grid-column:1/-1;min-width:0;margin:-1px 0 3px 28px;font-size:10px}.route-recommend-conditions summary{cursor:pointer;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.route-recommend-conditions summary:hover{color:#edf8ff}.route-recommend-conditions dl{margin:6px 0}.route-recommend-conditions dl div{grid-template-columns:75px minmax(0,1fr);gap:6px;display:grid}.route-recommend-conditions dt{color:#8ba4b6}.route-recommend-conditions dd{color:#c3d8e6;overflow-wrap:anywhere;margin:0}.route-recommendations .route-recommend-more{color:#87bce0;background:0 0;border:0;width:calc(100% - 24px);min-height:28px;margin:4px 12px 8px;font-size:10px;display:block}.route-recommend-error{color:#ef8f89;overflow-wrap:anywhere}.route-summary strong{color:#d6e9f4;font-size:12px}.route-summary i{background:#97c7e433;width:1px;height:12px;margin:0 5px}.route-summary.is-muted{color:#587286}.route-summary.is-error{color:#ef8f89}.route-fit{color:#8fd2ff;cursor:pointer;background:#318bca1a;border:1px solid #4eb3f73d;border-radius:9px;align-items:center;gap:5px;height:34px;padding:0 10px;display:flex}.route-fit:disabled{opacity:.35;cursor:default}.route-fit svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.6px;width:15px;height:15px}.route-fit span{letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:750}.layer-menu{z-index:10;pointer-events:none;flex-direction:column;align-items:flex-end;gap:9px;display:flex;position:absolute;top:14px;right:14px}.layer-control-button,.layer-popover{pointer-events:auto}.layer-control-button{color:#d8eaf3;-webkit-backdrop-filter:blur(20px)saturate(145%);backdrop-filter:blur(20px)saturate(145%);cursor:pointer;background:#0a1625d1;border:1px solid #dcf1fa38;border-radius:14px;place-items:center;width:46px;height:46px;padding:0;transition:background .15s,border-color .15s,transform .15s;display:grid;position:relative;box-shadow:0 10px 34px #00000057,inset 0 1px #ffffff0f}.layer-control-button:hover{background:#102235eb;border-color:#77e1d275}.layer-control-button:active{transform:scale(.96)}.layer-control-button:focus-visible{outline-offset:2px;outline:3px solid #61d6c540}.layer-control-button.is-open{color:#7ae6d7;background:#102a38f0;border-color:#61d6c58a}.layer-control-button svg{fill:#61d6c51a;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.65px;width:25px;height:25px}.active-layer-count{color:#05201c;background:#73dfd0;border:2px solid #0a1625;border-radius:999px;place-items:center;min-width:18px;height:18px;padding:0 4px;font-size:10px;font-weight:800;line-height:1;display:grid;position:absolute;top:-5px;right:-5px}.layer-popover{width:min(350px,100vw - 28px);max-height:calc(100dvh - 190px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overscroll-behavior:contain;-webkit-backdrop-filter:blur(28px)saturate(150%);backdrop-filter:blur(28px)saturate(150%);background:radial-gradient(circle at 0 0,#39618024,#0000 38%),#081422e8;border:1px solid #d0ebf733;border-radius:19px;flex-direction:column;animation:.15s ease-out reveal-popover;display:flex;overflow-y:auto;box-shadow:0 24px 70px #0000007a,inset 0 1px #ffffff0d}.panel-heading{justify-content:space-between;align-items:end;padding:22px 18px 16px;display:flex}.eyebrow{color:#61d6c5;letter-spacing:.13em;text-transform:uppercase;font-size:11px;font-weight:700}.panel-heading h2{letter-spacing:-.04em;margin:3px 0 0;font-size:22px}.feature-count{color:#6f879b;font-size:11px}.layer-section{border-top:1px solid #97c7e417;padding:13px 12px 16px}.layer-section h3{color:#9db2c2;letter-spacing:.12em;text-transform:uppercase;margin:0 6px 10px;font-size:11px}.section-title{justify-content:space-between;display:flex}.section-title>span{color:#567084;letter-spacing:.08em;text-transform:uppercase;margin-right:6px;font-size:10px}.segmented-list,.toggle-list{gap:5px;display:grid}.chart-overlay-options{border-left:2px solid #61d6c538;margin:12px 0 0 10px;padding-left:8px}.segmented-list button{color:#90a7b8;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;justify-content:space-between;align-items:center;padding:9px 10px;display:flex}.segmented-list button:hover{background:#ffffff09}.segmented-list button.is-active{color:#ecffff;background:#61d6c517;border-color:#61d6c530}.segmented-list button span{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.segmented-list button small{color:#647f92;letter-spacing:.08em;margin-left:8px;font-size:10px;font-weight:700}.toggle-list button{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:11px;grid-template-columns:36px minmax(0,1fr) 30px;align-items:center;gap:9px;min-height:51px;padding:6px;display:grid}.toggle-list button:hover{background:#ffffff08}.toggle-list button.is-active{background:#6d97b412}.layer-swatch{border:1px solid color-mix(in srgb, var(--swatch) 55%, transparent);width:34px;height:34px;color:var(--swatch);background:color-mix(in srgb, var(--swatch) 9%, transparent);letter-spacing:.04em;border-radius:9px;place-items:center;font-size:10px;font-weight:900;display:grid}.weather-swatch{background:#86aac012;border:1px solid #b6cfde33;border-radius:9px;grid-template-rows:repeat(2,6px);grid-template-columns:repeat(2,6px);place-content:center;gap:3px;width:34px;height:34px;display:grid}.weather-swatch i,.flight-category-legend i{border:1px solid #ffffffd6;border-radius:50%}.weather-swatch .is-vfr,.flight-category-legend .is-vfr i{background:#20c66b}.weather-swatch .is-mvfr,.flight-category-legend .is-mvfr i{background:#2787ff}.weather-swatch .is-ifr,.flight-category-legend .is-ifr i{background:#f04444}.weather-swatch .is-lifr,.flight-category-legend .is-lifr i{background:#d847e8}.flight-category-legend .is-unknown i{background:#8795a1}.layer-copy{gap:3px;min-width:0;display:grid}.layer-copy strong{color:#c9dce8;font-size:13px;font-weight:600}.layer-copy small{color:#61798d;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.switch{background:#213247;border-radius:999px;width:27px;height:16px;transition:background .15s;position:relative}.switch i{background:#71879a;border-radius:50%;width:10px;height:10px;transition:transform .15s,background .15s;position:absolute;top:3px;left:3px}.toggle-list button[aria-checked=true] .switch{background:#61d6c547}.toggle-list button[aria-checked=true] .switch i{background:#61d6c5;transform:translate(11px)}.planned-layer{color:#91a8ba;justify-content:space-between;align-items:center;padding:8px 7px;font-size:12px;display:flex}.fix-display-controls{border:0;gap:10px;min-width:0;margin:0;padding:0 6px;display:grid}.fix-display-controls legend{color:#9db2c2;letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px;font-size:11px}.fix-display-controls label{color:#c9dce8;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:8px;font-size:12px;display:grid}.fix-display-controls select{color:#ecffff;width:100%;min-width:0;font:inherit;background:#142535;border:1px solid #385061;border-radius:7px;padding:8px 5px}.fix-display-controls select:disabled{opacity:.5}.fix-display-controls select:focus-visible{outline-offset:2px;outline:2px solid #61d6c5}.fix-display-controls p{color:#91a8ba;margin:0;font-size:11px;line-height:1.5}.planned-layer small{color:#536b80;letter-spacing:.06em;text-transform:uppercase;font-size:10px}.panel-footer{border-top:1px solid #97c7e417;gap:3px;margin-top:2px;padding:15px 18px 18px;display:grid}.panel-footer span,.panel-footer small{color:#61798d;letter-spacing:.06em;text-transform:uppercase;font-size:10px}.panel-footer strong{color:#b9cfdd;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.settings-button{color:#9dd9d1;cursor:pointer;background:#102333;border:1px solid #294052;border-radius:10px;flex:0 0 44px;place-items:center;width:44px;height:44px;display:grid}.settings-dialog{color:#dcecf5;text-transform:none;letter-spacing:normal;background:#091725;border:1px solid #2b4658;border-radius:18px;width:min(780px,100vw - 24px);max-height:calc(100dvh - 32px);padding:0;font-size:14px;box-shadow:0 24px 90px #0009}.settings-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#020912b3}.settings-heading{z-index:1;background:#0b1b2b;border-bottom:1px solid #253b4e;justify-content:space-between;align-items:start;gap:12px;padding:12px 24px;display:flex;position:sticky;top:0}.settings-heading>div{min-width:0}.settings-heading h2{letter-spacing:-.04em;margin:3px 0 0;font-size:24px}.settings-dialog button{color:#a8e3db;cursor:pointer;background:#153344;border:1px solid #315062;border-radius:8px;min-height:44px;padding:8px 12px;font-size:12px}.settings-heading>button{flex:0 0 44px;place-items:center;width:44px;height:44px;padding:0;line-height:1;display:grid}.settings-dialog button:disabled{opacity:.45;cursor:default}.settings-dialog button:not(:disabled):hover{background:#204755}.settings-dialog :is(button,input):focus-visible,.settings-button:focus-visible{outline-offset:3px;outline:2px solid #61d6c5}.settings-body{gap:28px;padding:24px;display:grid}.settings-body h3{margin:0;font-size:17px}.settings-body h4{margin:0;font-size:14px}.settings-body p{color:#91acbd;margin:8px 0;font-size:12px;line-height:1.55}.settings-section-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.settings-section-heading>span{color:#8da8bb;font-size:11px}.storage-summary,.download-card{background:#0e2231;border:1px solid #294052;border-radius:12px;padding:18px}.settings-dialog progress{accent-color:#61d6c5;border:none;border-radius:5px;width:100%;height:7px;margin:13px 0;display:block}.settings-dialog progress::-webkit-progress-bar{background:#223a4b;border-radius:5px}.settings-dialog progress::-webkit-progress-value{background:#61d6c5;border-radius:5px}.settings-dialog progress::-moz-progress-bar{background:#61d6c5;border-radius:5px}.offline-tag{text-transform:uppercase;white-space:nowrap;background:#213a4d;border-radius:6px;padding:4px 8px;font-size:10px}.offline-tag.is-complete{color:#83e0c4;background:#1a4038}.settings-body .settings-error{color:#ffc08f}.download-list{gap:10px;display:grid}.download-actions{gap:8px;margin-top:12px;display:flex}.region-filters{margin:18px 0}.region-filters label{color:#98b5c6;gap:7px;font-size:12px;display:grid}.region-filters input{color:#dcecf5;width:100%;min-width:0;font:inherit;background:#102333;border:1px solid #315062;border-radius:8px;padding:10px}.region-row{border-bottom:1px solid #203748;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;display:flex}.region-row p{margin-bottom:0}.region-row button{flex-shrink:0}@media (width<=560px){.settings-dialog{border-radius:12px;width:calc(100vw - 12px);max-height:calc(100dvh - 12px)}.settings-heading{padding:12px 16px}.settings-body{padding:16px}.region-filters input{font-size:16px}.settings-section-heading{flex-wrap:wrap}}.map-stage{background:#111b27;width:100%;min-width:0;height:100%;min-height:0;position:relative}.map-stage:after{z-index:1;content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 80px #050c1447}.map-stage>.map-canvas{width:auto;height:auto;position:absolute;inset:0}.map-loading{color:#7892a5;letter-spacing:.08em;text-transform:uppercase;background:#101925;place-items:center;font-size:12px;display:grid;position:absolute;inset:0}.map-badge{z-index:4;color:#d9ecf5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#07101dd6;border:1px solid #d8effa2e;border-radius:9px;align-items:center;gap:8px;max-width:320px;padding:7px 10px;display:flex;position:absolute;top:14px;left:14px;box-shadow:0 8px 30px #0000003d}.map-badge span{color:#61d6c5;letter-spacing:.1em;font-size:10px;font-weight:800}.map-badge strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600;overflow:hidden}.map-runtime-error{z-index:9;color:#ffd6d1;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#461419e6;border:1px solid #ff94896b;border-radius:11px;gap:3px;max-width:min(440px,100% - 90px);padding:10px 12px;display:grid;position:absolute;top:56px;left:14px;box-shadow:0 12px 36px #00000059}.map-runtime-error strong{font-size:12px}.map-runtime-error span{color:#efaaa3;font-size:11px}.maplibregl-ctrl-bottom-right{z-index:3}.maplibregl-ctrl-group{overflow:hidden;background:#081423e6!important;border:1px solid #97c7e433!important;border-radius:10px!important;box-shadow:0 8px 30px #00000047!important}.maplibregl-ctrl-group button{filter:invert()opacity(.72)}.maplibregl-ctrl-attrib{color:#698093!important;background:#081423cc!important}.maplibregl-ctrl-attrib a{color:#87a6ba!important}.feature-card{z-index:5;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#081423f2;border:1px solid #97c7e430;border-radius:16px;width:min(330px,100% - 28px);max-height:calc(100% - 100px);padding:18px;position:absolute;bottom:34px;right:14px;overflow-y:auto;box-shadow:0 24px 60px #0000007a}.feature-card-heading{align-items:center;gap:10px;margin-bottom:3px;padding-right:22px;display:flex}.feature-card-heading h2{letter-spacing:-.045em;overflow-wrap:anywhere;min-width:0;margin:0;font-size:27px}.feature-card>p{color:#8fa7b9;margin:0 25px 13px 0;font-size:13px}.close-card{color:#7790a4;cursor:pointer;background:#ffffff0a;border:0;border-radius:8px;width:29px;height:29px;position:absolute;top:11px;right:11px}.feature-card dl{background:#97c7e414;border:1px solid #97c7e41a;border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0 0 14px;display:grid;overflow:hidden}.feature-card dl div{background:#0c1a2b;gap:2px;padding:8px 10px;display:grid}.feature-card dl div.is-wide{grid-column:1/-1}.feature-card dt{color:#60798d;letter-spacing:.08em;text-transform:uppercase;font-size:10px}.feature-card dd{color:#d6e7f1;overflow-wrap:anywhere;margin:0;font-size:12px}.append-route-button{color:#61d6c5;cursor:pointer;background:#61d6c512;border:1px solid #61d6c533;border-radius:8px;flex:0 0 32px;place-items:center;width:32px;height:32px;padding:0;transition:border-color .14s,background .14s;display:grid}.append-route-button:hover{background:#61d6c51f;border-color:#61d6c561}.append-route-button:focus-visible{outline-offset:3px;outline:2px solid #61d6c5}.airport-runways{font-variant-numeric:tabular-nums;gap:8px;margin-bottom:14px;display:grid}.airport-runways>h3{color:#b2c7d7;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:11px;font-weight:700}.airport-runway{table-layout:fixed;border-collapse:collapse;text-align:left;background:#0c1a2b;width:100%;font-size:11px;line-height:1.4}.airport-runway caption,.airport-helipad{text-align:left;background:#97c7e40d;border:1px solid #97c7e429;border-radius:6px 6px 0 0;padding:7px 8px}.airport-helipad{border-radius:6px;line-height:1.4}.airport-runway caption strong,.airport-helipad strong{color:#d6e7f1;margin-right:8px;font-size:12px}.airport-runway caption span,.airport-helipad span,.runway-end-heading small,.runway-empty{color:#91a9bb;font-size:10px}.runway-empty{margin:0}.airport-runway th,.airport-runway td{vertical-align:top;border-bottom:1px solid #97c7e41f;padding:6px 8px}.airport-runway thead th{color:#91a9bb;padding-top:4px;padding-bottom:4px;font-size:10px;font-weight:500}.airport-runway thead th:first-child{width:21%}.airport-runway thead th:nth-child(2){width:24%}.airport-runway thead th span{font-weight:400}.runway-end-heading strong,.runway-end-heading small{display:block}.runway-end-heading strong{color:#e3edf5;font-size:12px}.runway-end-heading small{font-weight:400}.runway-pattern{color:#b2c7d7}.feature-tabs{background:#97c7e414;border-radius:9px;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:3px;margin:0 0 12px;padding:3px;display:grid}.feature-tabs button{color:#6f8a9e;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:7px 9px;font-size:12px;font-weight:700}.feature-tabs button.is-active{color:#dafbf6;background:#41959738;box-shadow:inset 0 0 0 1px #61d6c526}.feature-card.has-plates{width:min(390px,100% - 28px)}.procedure-state{color:#738da1;text-align:center;min-height:90px;margin:0 0 14px;padding:24px 10px;font-size:12px}.procedure-state.is-error{color:#efa7a0}.procedure-groups{overscroll-behavior:contain;scrollbar-color:#7797ac66 transparent;scrollbar-width:thin;max-height:min(390px,100dvh - 330px);margin:0 -5px 14px 0;padding-right:5px;overflow-y:auto}.procedure-group+.procedure-group{margin-top:12px}.procedure-group h3{color:#718ca0;letter-spacing:.09em;text-transform:uppercase;justify-content:space-between;align-items:center;margin:0 3px 5px;font-size:11px;display:flex}.procedure-group h3 span{color:#536f84}.procedure-group>button{color:#d9e9f2;text-align:left;cursor:pointer;background:#0e1f30a6;border:0;border-bottom:1px solid #97c7e412;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px;width:100%;min-height:48px;padding:8px 10px;display:grid}.procedure-group>button:first-of-type{border-radius:9px 9px 0 0}.procedure-group>button:last-of-type{border-bottom:0;border-radius:0 0 9px 9px}.procedure-group>button:only-of-type{border-radius:9px}.procedure-group>button:hover,.procedure-group>button:focus-visible{background:#21465bc2;outline:none}.procedure-group>button>span{gap:3px;min-width:0;display:grid}.procedure-group strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:650;overflow:hidden}.procedure-group small{color:#688397;letter-spacing:.04em;text-transform:uppercase;font-size:10px}.procedure-group i{color:#5baea9;font-size:20px;font-style:normal}.procedure-viewer-backdrop,.procedure-viewer-loading{z-index:100;position:fixed;inset:0}.procedure-viewer-backdrop{width:100%;max-width:none;height:100%;max-height:none;color:inherit;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#02080e6b;border:0;justify-content:flex-end;margin:0;padding:0;animation:.18s ease-out reveal-procedure-backdrop}.procedure-viewer-backdrop[open]{display:flex}.procedure-viewer-backdrop::backdrop{background:0 0}.procedure-viewer-loading{color:#94aaba;letter-spacing:.08em;text-transform:uppercase;background:#081320fa;border-left:1px solid #bfdcea3d;place-items:center;width:min(720px,100%);font-size:12px;animation:.22s cubic-bezier(.22,1,.36,1) slide-in-procedure;display:grid;left:auto;box-shadow:-24px 0 70px #00000080}.procedure-viewer{background:#101b27;border-left:1px solid #bfdcea3d;border-radius:18px 0 0 18px;grid-template-rows:auto minmax(0,1fr) auto;width:min(720px,100%);height:100%;animation:.22s cubic-bezier(.22,1,.36,1) slide-in-procedure;display:grid;overflow:hidden;box-shadow:-24px 0 70px #00000094}.procedure-viewer-backdrop.is-closing{pointer-events:none;animation:.22s ease-in forwards hide-procedure-backdrop}.procedure-viewer-backdrop.is-closing .procedure-viewer{animation:.22s cubic-bezier(.55,0,1,.45) forwards slide-out-procedure}@keyframes slide-in-procedure{0%{transform:translate(100%)}}@keyframes slide-out-procedure{to{transform:translate(100%)}}@keyframes reveal-procedure-backdrop{0%{-webkit-backdrop-filter:blur();backdrop-filter:blur();background:#02080e00}}@keyframes hide-procedure-backdrop{to{-webkit-backdrop-filter:blur();backdrop-filter:blur();background:#02080e00}}.procedure-viewer>header{padding:15px 17px 13px;padding-top:max(15px, env(safe-area-inset-top));background:#081320fa;border-bottom:1px solid #97c7e421;justify-content:space-between;align-items:start;gap:18px;display:flex}.procedure-viewer>header h2{letter-spacing:-.025em;margin:3px 0 2px;font-size:18px}.procedure-viewer>header p{color:#738b9d;margin:0;font-size:11px}.procedure-viewer>header>button{color:#8aa1b2;cursor:pointer;background:#ffffff0a;border:1px solid #97c7e41f;border-radius:9px;flex:none;width:32px;height:32px;font-size:19px}.procedure-page-stage{overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom;background:radial-gradient(circle at 50% 0,#6784961f,#0000 32%),#12171d;padding:16px;position:relative;overflow:auto}.procedure-page-stage canvas{background:#fff;margin:0 auto;display:block;box-shadow:0 8px 35px #00000085}.procedure-page-loading{color:#91a8b8;letter-spacing:.07em;text-transform:uppercase;background:#08121de6;border-radius:8px;padding:7px 10px;font-size:11px;position:absolute;top:28px;left:50%;transform:translate(-50%)}.procedure-error{color:#ffd8d4;text-align:center;place-content:center;gap:5px;min-height:100%;display:grid}.procedure-error span{color:#d79892;max-width:520px;font-size:12px}.procedure-viewer>footer{min-height:54px;padding:9px 12px;padding-bottom:max(9px, env(safe-area-inset-bottom));background:#081320fa;border-top:1px solid #97c7e421;flex-wrap:wrap;align-items:center;gap:10px;display:flex}.procedure-page-controls,.procedure-zoom-controls{align-items:center;gap:3px;display:flex}.procedure-viewer>footer button,.procedure-viewer>footer a{color:#a7bdcb;cursor:pointer;background:#ffffff0a;border:1px solid #97c7e426;border-radius:8px;place-items:center;height:32px;text-decoration:none;display:grid}.procedure-viewer>footer button{min-width:32px}.procedure-viewer>footer button:disabled{opacity:.32;cursor:default}.procedure-viewer>footer a{margin-left:auto;padding:0 10px;font-size:10px}.procedure-page-controls span,.procedure-zoom-controls span,.procedure-cache-state{color:#7e96a7;text-align:center;white-space:nowrap;min-width:75px;font-size:10px}.procedure-cache-state{text-align:left;margin-left:5px}.procedure-cache-state.is-cached{color:#68cdbf}.procedure-cache-state.is-unavailable{color:#b69a77}@media (width<=680px){.procedure-viewer{border:0;border-radius:0;width:100%;height:100%}.procedure-viewer>header{padding:11px 12px 10px;padding-top:max(11px, env(safe-area-inset-top))}.procedure-viewer>header h2{text-overflow:ellipsis;white-space:nowrap;max-width:calc(100vw - 75px);font-size:15px;overflow:hidden}.procedure-viewer>footer{flex-wrap:wrap;gap:6px}.procedure-cache-state{text-align:center;order:3;width:100%;margin:0}.procedure-viewer>footer a{margin-left:auto}}@media (pointer:coarse){.procedure-viewer>header>button,.procedure-viewer>footer button,.procedure-viewer>footer a{min-width:44px;height:44px}.procedure-zoom-controls span{min-width:42px}}.flight-category-legend{z-index:4;color:#e2edf4;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#07101dd6;border:1px solid #d8effa2e;border-radius:10px;align-items:center;gap:9px;padding:7px 10px;display:flex;position:absolute;bottom:14px;left:14px;box-shadow:0 8px 30px #00000038}.flight-category-legend span{letter-spacing:.04em;align-items:center;gap:4px;font-size:10px;font-weight:700;display:flex}.flight-category-legend i{width:8px;height:8px}.flight-category-legend small{color:#7890a3;letter-spacing:.05em;white-space:nowrap;border-left:1px solid #d8effa24;margin-left:2px;padding-left:9px;font-size:10px}.airport-weather{font-variant-numeric:tabular-nums;gap:3px;margin:0 0 12px;display:grid}.airport-weather>h3{color:#b2c7d7;letter-spacing:.08em;text-transform:uppercase;margin:0 0 5px;font-size:11px;font-weight:700}.airport-weather-report{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:3px 10px;display:flex}.airport-weather-report:empty{display:none}.airport-weather time{color:#d6e7f1;white-space:nowrap;font-size:12px}.airport-weather-age{color:#91a9bb;white-space:nowrap;font-size:11px}.airport-weather-status{color:#8fa7b9;margin:0;font-size:11px;line-height:1.5}.airport-weather-status>span{white-space:nowrap}.airport-weather-status .is-current{color:#73cdb6}.airport-weather-status .is-cached{color:#e3b876}.runway-wind-notes{gap:2px;display:grid}.runway-wind-notes small,.runway-wind-state{color:#91a9bb;font-size:10px;line-height:1.4}.runway-wind-state{margin:0}.runway-wind-components{gap:2px;display:grid}.runway-wind-components>div{justify-content:space-between;align-items:baseline;gap:6px;display:flex}.runway-wind-components span,.runway-wind-components abbr,.runway-wind-components small{color:#91a9bb;font-size:10px;font-weight:400}.runway-wind-components abbr{text-decoration:none}.runway-wind-components strong{color:#d6e7f1;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px;font-weight:600}.runway-wind-components .is-tailwind strong,.runway-wind-components .is-tailwind small{color:#f2bc7b}@keyframes breathe{50%{transform:scale(1.03);box-shadow:0 0 34px #61d6c573}}@keyframes reveal-popover{0%{opacity:0;transform:translateY(-5px)scale(.985)}}@media (width<=880px){.topbar{grid-template-columns:auto minmax(0,1fr) auto;gap:12px}.brand-logo,.brand-tagline,.topbar-meta>span:not(.status-dot){display:none}.brand .brand-mark{border-radius:11px;width:38px;height:38px;display:block}.route-bar{grid-template-columns:auto minmax(180px,1fr) auto auto;gap:9px;padding-left:12px;padding-right:12px}.route-summary:not(.is-error){display:none}.route-summary summary{justify-content:center;min-width:36px}.route-summary summary span{display:none}.route-tools{gap:4px}}@media (width<=560px){.app-shell{grid-template-rows:58px 48px minmax(0,1fr)}.topbar{padding:0 10px}.brand-mark,.brand .brand-mark{width:34px;height:34px}.route-bar{grid-template-columns:minmax(0,1fr) auto auto;padding:6px 9px}.route-heading{display:none}.route-recommendations{width:calc(100vw - 16px);max-height:44dvh;position:fixed;top:auto;bottom:8px;right:8px}.route-editor{height:34px}.route-entry{height:24px;font-size:13px}.route-token{height:24px}.route-fit{justify-content:center;width:34px;height:34px;padding:0}.route-fit span{display:none}.search input{height:38px;padding-left:35px;padding-right:34px;font-size:13px}.search-results{top:calc(58px + env(safe-area-inset-top));left:max(9px, env(safe-area-inset-left));right:max(9px, env(safe-area-inset-right));position:fixed}.map-badge{max-width:calc(100% - 78px);left:9px}.flight-category-legend{gap:6px;max-width:calc(100% - 72px);bottom:9px;left:9px}.flight-category-legend small{display:none}.layer-menu{top:10px;right:9px}.layer-popover{width:min(340px,100vw - 18px);max-height:calc(100dvh - 190px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.feature-card{width:calc(100% - 18px);bottom:28px;right:9px}}@media (pointer:coarse){.app-shell{grid-template-rows:64px 58px minmax(0,1fr)}.search input,.route-entry{font-size:16px}.search input,.route-editor,.route-fit,.route-recommend{height:44px}.route-editor{padding-block:1px;padding-right:48px}.route-token,.route-entry{height:40px}.route-fit{min-width:44px}.route-summary summary{min-width:44px;min-height:44px}.clear-button,.close-card,.route-clear{width:44px;height:44px}.clear-button{right:0}.route-clear{top:0;right:0}.feature-card-heading{padding-right:40px}.maplibregl-ctrl-group button{width:44px;height:44px}.layer-popover{max-height:calc(100dvh - 200px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.route-menu-add,.route-menu-remove,.feature-tabs button{min-height:44px}.route-recommendations .route-suggestion-use{min-width:44px;min-height:40px}.route-history-filter select{min-height:32px}}@media (pointer:coarse) and (width<=560px){.search-results{top:calc(64px + env(safe-area-inset-top))}}@media (height<=500px) and (width>=561px){.feature-card{max-height:none;top:10px;bottom:10px;right:80px}.procedure-groups{max-height:none}.route-recommendations{max-height:calc(100dvh - 135px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
