:root{--font-ui:Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Consolas, monospace;--fs-xs:11px;--fs-sm:12px;--fs-md:13px;--fs-lg:15px;--fs-xl:18px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--radius-sm:4px;--radius:8px;--radius-lg:12px;--header-h:38px;--sidebar-w:292px;--details-w:340px;--dur:.16s;--ease:cubic-bezier(.2,.7,.2,1);--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--z-map:0;--z-hud:10;--z-board:20;--z-panel:30;--z-header:40;--z-scrim:50;--z-sheet:60;--z-modal:70;--z-palette:80;--z-toast:90;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#090a0c;--surface:#101216f0;--surface-2:#181b21f5;--surface-3:#22262e;--border:#ffffff17;--border-strong:#ffffff2e;--text:#e8eaee;--text-dim:#9aa3ae;--text-faint:#6b7480;--accent:#0065e9;--accent-hi:#1f7bf2;--accent-text:#5c9dff;--accent-ink:#fff;--accent-tint:#0065e92e;--accent-tint-strong:#0065e94d;--accent-border:#5c9dff59;--ok:#34d399;--warn:#fbbf24;--alert:#f87171;--emg:#ef4444;--amb:#f59e0b;--focus:#5c9dff;--shadow:0 8px 28px #00000073;--scrim:#00000073;--glass-bg:#0e11179e;--glass-bg-2:#141820b8;--glass-border:#ffffff1a;--glass-hi:#ffffff0f;--glass-shadow:0 10px 30px #00000059, 0 1px 0 #ffffff0a inset;--glass-blur:blur(16px) saturate(150%);--gl-ac:1 1 1 1;--gl-red:1 .22 .18 1;--gl-amber:1 .72 .18 1;--gl-sel:.98 .9 .62 1;--gl-home:.49 .78 1 1;--gl-arr:.83 .65 .45 1;--gl-vector:.55 .86 1 .88;--gl-lead:1 1 1 .85;--gl-lead-red:1 .25 .2 .95;--gl-lead-amber:1 .72 .2 .95;--gl-lead-sel:.98 .88 .58 .9;--gl-text-amber:1 .9 .55 1;--gl-sqk:.82 .96 1 1;--gl-selalt:1 .74 .52 1;--gl-bg-red:.48 .05 .05 .95;--gl-bg-amber:.42 .26 .04 .95;--gl-bg-ops:.04 .22 .11 .95;--gl-bg-home:.012 .106 .52 .92;--gl-bg-arr:.38 .19 .08 .95;--gl-bg-dim:.07 .08 .1 .88;--gl-trail:1 1 1 .9}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#eef1f4;--surface:#fffffff2;--surface-2:#f8fafcf7;--surface-3:#e5e9ef;--border:#0f172a1f;--border-strong:#0f172a40;--text:#0f172a;--text-dim:#475569;--text-faint:#64748b;--accent:#0065e9;--accent-hi:#0057c9;--accent-text:#0052c2;--accent-ink:#fff;--accent-tint:#0065e91f;--accent-tint-strong:#0065e938;--accent-border:#0052c259;--focus:#1d4ed8;--shadow:0 8px 24px #0f172a2e;--scrim:#0f172a4d;--glass-bg:#ffffff9e;--glass-bg-2:#ffffffbd;--glass-border:#0f172a1a;--glass-hi:#ffffff80;--glass-shadow:0 10px 30px #0f172a24, 0 1px 0 #fff9 inset;--glass-blur:blur(16px) saturate(160%)}:root[data-theme=contrast]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#000;--surface:#000;--surface-2:#0a0a0a;--surface-3:#1a1a1a;--border:#fff6;--border-strong:#fff;--text:#fff;--text-dim:#e5e5e5;--text-faint:#cfcfcf;--accent:#ffea00;--accent-hi:#fff176;--accent-text:#ffea00;--accent-ink:#000;--accent-tint:#ffea0033;--accent-tint-strong:#ffea0052;--accent-border:#ffea00;--focus:#ffea00;--gl-ac:1 1 1 1;--gl-sel:1 .92 0 1;--gl-vector:0 1 1 1;--gl-lead:1 1 1 1;--gl-bg-dim:0 0 0 1;--gl-trail:1 1 1 1}@media (max-width:700px){:root{--header-h:calc(40px + var(--safe-top))}}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);font:400 var(--fs-md)/1.35 var(--font-ui);-webkit-font-smoothing:antialiased;margin:0;overflow:hidden}body{overscroll-behavior:none;touch-action:manipulation}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}button:disabled{cursor:default;opacity:.45}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.hint{color:var(--text-dim);font-size:var(--fs-sm);margin:var(--sp-1) 0}.err{color:var(--alert);font-size:var(--fs-sm);margin:var(--sp-1) 0}.ic{flex:none;display:block}kbd{font:500 var(--fs-xs) var(--font-mono);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-dim);background:var(--surface-3);padding:1px 5px}input:not([type=checkbox]):not([type=range]),select,textarea{background:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius-sm);min-width:0;min-height:32px;padding:6px 8px}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 30%, transparent);outline:none}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:0s;animation-duration:0s}}.skip{z-index:var(--z-toast);background:var(--accent);color:var(--accent-ink);border-radius:var(--radius-sm);padding:6px 10px;position:absolute;top:-40px;left:8px}.skip:focus{top:8px}.btn{border-radius:var(--radius-sm);background:var(--accent);min-height:32px;color:var(--accent-ink);font-weight:600;font-size:var(--fs-sm);transition:filter var(--dur);justify-content:center;align-items:center;gap:6px;padding:6px 12px;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){filter:brightness(1.1)}.btn.ghost{color:var(--text);border:1px solid var(--border-strong);background:0 0}.btn.ghost:hover:not(:disabled){background:var(--surface-3);filter:none}.btn.small{min-height:28px;padding:4px 10px}.btn.wide{width:100%}.btn.danger{color:var(--alert);border-color:color-mix(in srgb, var(--alert) 50%, transparent)}.btn-row{gap:var(--sp-2);margin-top:var(--sp-2);flex-wrap:wrap;display:flex}.icon-btn{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-dim);transition:background var(--dur), color var(--dur);place-items:center;display:inline-grid}.icon-btn:hover:not(:disabled){background:var(--surface-3);color:var(--text)}.icon-btn.on{color:var(--accent-text);background:var(--accent-tint)}.pill{background:var(--surface-3);min-width:18px;color:var(--text-dim);font-size:var(--fs-xs);text-align:center;border-radius:9px;margin-left:6px;padding:0 5px;line-height:16px;display:inline-block}.seg{background:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius-sm);gap:2px;padding:2px;display:inline-flex}.seg button{min-height:26px;font:600 var(--fs-xs)/1 var(--font-mono);letter-spacing:.04em;color:var(--text-dim);border-radius:3px;align-items:center;gap:4px;padding:3px 8px;display:inline-flex}.seg button:hover{color:var(--text)}.seg button.on{background:var(--accent);color:var(--accent-ink)}.seg.small button{font-family:var(--font-ui);letter-spacing:0;font-weight:500}.app{position:fixed;inset:0}.stage{inset:0;position:absolute;overflow:hidden}.map{background:var(--bg);position:absolute;inset:0}.map canvas:focus-visible{outline:none}.hdr{height:var(--header-h);padding:var(--safe-top) var(--sp-2) 0;z-index:var(--z-header);align-items:center;gap:var(--sp-2);background:var(--surface);border-bottom:1px solid var(--border);display:flex;position:absolute;inset:0 0 auto}.hbtn{border-radius:var(--radius-sm);min-width:30px;height:30px;color:var(--text-dim);justify-content:center;align-items:center;padding:0 6px;display:inline-flex;position:relative}.hbtn:hover{background:var(--surface-3);color:var(--text)}.hbtn.on{color:var(--accent-text)}.hbtn.qnh{font:600 var(--fs-sm) var(--font-mono);color:var(--text)}.clock{font:600 var(--fs-md) var(--font-mono);letter-spacing:.02em;font-variant-numeric:tabular-nums}.clock small{color:var(--text-dim);font-size:var(--fs-xs);margin-left:1px}.disp{display:inline-flex;position:relative}.disp-btn{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-3);min-height:28px;color:var(--text);font:700 var(--fs-xs)/1 var(--font-mono);letter-spacing:.08em;align-items:center;gap:5px;padding:0 10px;display:inline-flex}.disp-btn:hover,.disp-btn.open{background:var(--accent-tint);border-color:var(--accent-border)}.disp-btn .caret{transition:transform var(--dur) var(--ease);font-size:10px}.disp-btn.open .caret{transform:rotate(180deg)}.disp-menu{z-index:var(--z-palette);border-radius:var(--radius-lg);background:var(--surface-2);border:1px solid var(--border-strong);min-width:88px;box-shadow:var(--shadow);flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0}.disp-menu button{text-align:left;border-radius:var(--radius);width:100%;font:700 var(--fs-sm)/1 var(--font-mono);letter-spacing:.06em;color:var(--text-dim);padding:7px 10px}.disp-menu button:hover{color:var(--text);background:#ffffff14}:root[data-theme=light] .disp-menu button:hover{background:#0f172a0f}.disp-menu button.on{background:var(--accent-tint-strong);color:var(--text)}.hdr-spacer{flex:1}.badge{background:var(--emg);color:#fff;min-width:16px;height:16px;font:700 10px/16px var(--font-ui);border-radius:8px;padding:0 4px;position:absolute;top:1px;right:0}.search{align-items:center;gap:4px;width:min(380px,32vw);display:flex;position:relative}.search-mode{min-height:28px;font-size:var(--fs-xs);padding:2px 4px}.search-field{background:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-dim);flex:1;align-items:center;gap:6px;padding:0 8px;display:flex}.search-field:focus-within{border-color:var(--accent)}.search-field input{background:0 0;border:0;flex:1;min-height:28px;padding:4px 0}.search-field input:focus{box-shadow:none}.search-results,.palette ul{margin:0;padding:4px;list-style:none}.search-results{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);max-height:60vh;box-shadow:var(--shadow);position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto}.search-results li{border-radius:var(--radius-sm);cursor:pointer;flex-direction:column;padding:6px 8px;display:flex}.search-results li.active{background:color-mix(in srgb, var(--accent) 16%, transparent)}.sr-label{font-weight:600;font-family:var(--font-mono)}.sr-sub,.search-empty{color:var(--text-dim);font-size:var(--fs-xs)}.search-empty{padding:6px 8px}.sidebar{top:var(--header-h);width:var(--sidebar-w);z-index:var(--z-panel);background:var(--surface);border-right:1px solid var(--border);visibility:hidden;transition:transform var(--dur) var(--ease), visibility 0s var(--dur);flex-direction:column;display:flex;position:absolute;bottom:0;left:0;transform:translate(-100%)}.sidebar.open{visibility:visible;transition:transform var(--dur) var(--ease);transform:none}.sb-head{padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.brand{width:auto;height:40px}.tabs{padding:var(--sp-2) var(--sp-3) 0;border-bottom:1px solid var(--border);gap:2px;display:flex}.tabs button{font-size:var(--fs-sm);color:var(--text-dim);border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;gap:5px;padding:8px 6px;font-weight:500;display:inline-flex}.tabs button.on{color:var(--text);border-bottom-color:var(--accent)}.sb-body{padding:0 var(--sp-3) var(--sp-4);overscroll-behavior:contain;flex:1;overflow:auto}.sb-foot{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3) calc(var(--sp-2) + var(--safe-bottom));border-top:1px solid var(--border);display:flex}.acct{text-align:left;flex:1;align-items:center;gap:8px;min-width:0;display:flex}.acct span{flex-direction:column;min-width:0;display:flex}.acct small{color:var(--text-dim);font-size:var(--fs-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sec{padding:var(--sp-3) 0;border-bottom:1px solid var(--border)}.sec:last-child{border-bottom:0}.sec-title{margin:0 0 var(--sp-2);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);font-weight:600}.grid2{column-gap:var(--sp-3);grid-template-columns:1fr 1fr;display:grid}.row{justify-content:space-between;align-items:center;gap:var(--sp-2);padding:5px 0;display:flex}.row-label{font-size:var(--fs-sm);color:var(--text-dim)}.row input[type=range]{max-width:150px;accent-color:var(--accent);flex:1}.tgl{justify-content:space-between;align-items:center;gap:var(--sp-2);cursor:pointer;min-height:32px;display:flex}.tgl.disabled{opacity:.5;cursor:default}.tgl-text{font-size:var(--fs-sm);align-items:baseline;gap:6px;display:flex}.tgl-text small{color:var(--text-faint);font:500 10px var(--font-mono)}.tgl input{opacity:0;width:1px;height:1px;position:absolute}.tgl-track{background:var(--surface-3);border:1px solid var(--border-strong);width:30px;height:17px;transition:background var(--dur);border-radius:9px;flex:none;position:relative}.tgl-thumb{background:var(--text-dim);width:11px;height:11px;transition:transform var(--dur) var(--ease), background var(--dur);border-radius:50%;position:absolute;top:2px;left:2px}.tgl input:checked+.tgl-track{background:var(--accent);border-color:var(--accent)}.tgl input:checked+.tgl-track .tgl-thumb{background:var(--accent-ink);transform:translate(13px)}.tgl input:focus-visible+.tgl-track{outline:2px solid var(--focus);outline-offset:2px}.chips{padding:4px 0}.chip-box{background:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius-sm);flex-wrap:wrap;gap:4px;margin-top:4px;padding:4px;display:flex}.chip-box:focus-within{border-color:var(--accent)}.chip-box input{background:0 0;border:0;flex:1;min-width:70px;min-height:24px;padding:2px 4px}.chip-box input:focus{box-shadow:none}.chip{background:color-mix(in srgb, var(--accent) 20%, transparent);font:600 var(--fs-xs) var(--font-mono);border-radius:10px;align-items:center;gap:2px;padding:1px 2px 1px 7px;display:inline-flex}.chip button{width:18px;height:18px;color:var(--text-dim);border-radius:50%}.chip button:hover{color:var(--text);background:var(--surface-2)}.chip-sugg{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.chip-sugg button,.chip-btn{border:1px solid var(--border-strong);font:500 var(--fs-xs) var(--font-mono);color:var(--text-dim);border-radius:10px;padding:2px 8px}.chip-sugg button:hover,.chip-btn:hover{color:var(--text);border-color:var(--accent)}.alt-inputs{gap:var(--sp-2);grid-template-columns:1fr 1fr;display:grid}.alt-inputs label{font-size:var(--fs-xs);color:var(--text-dim);flex-direction:column;gap:2px;display:flex}.dual{height:28px;margin-top:6px;position:relative}.dual:before{content:"";background:var(--surface-3);border-radius:2px;height:4px;position:absolute;top:12px;left:0;right:0}.dual-fill{height:4px;top:12px;left:var(--lo);right:calc(100% - var(--hi));background:var(--accent);border-radius:2px;position:absolute}.dual input{pointer-events:none;appearance:none;background:0 0;width:100%;margin:0;position:absolute;inset:0}.dual input::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:auto;background:var(--text);border:2px solid var(--accent);cursor:grab;border-radius:50%;width:16px;height:16px}.dual input::-moz-range-thumb{pointer-events:auto;background:var(--text);border:2px solid var(--accent);cursor:grab;border-radius:50%;width:14px;height:14px}.dual input::-webkit-slider-runnable-track{background:0 0}.radar-nav{font:500 var(--fs-sm) var(--font-mono);justify-content:space-between;align-items:center;padding:2px 0 6px;display:flex}.home-form .inline{gap:var(--sp-2);margin-top:4px;display:flex}.home-form input{width:90px;font-family:var(--font-mono);text-transform:uppercase}.stats{gap:var(--sp-2);margin:var(--sp-3) 0;grid-template-columns:repeat(3,1fr);display:grid}.stats div{background:var(--surface-3);border-radius:var(--radius-sm);padding:6px 8px}.stats dt{text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);font-size:10px}.stats dd{font:600 var(--fs-md) var(--font-mono);margin:0}.details{top:50%;right:var(--sp-2);transform:translateY(-50%);width:var(--details-w);max-height:calc(100% - var(--sp-4));z-index:var(--z-panel);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:var(--sp-3);overscroll-behavior:contain;position:absolute;overflow:auto}.details.emer{border-color:var(--emg);box-shadow:0 0 0 1px var(--emg), var(--shadow)}.details.dep::before,.details.arr::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;pointer-events:none}.details.dep::before{background:#031b85}.details.arr::before{background:#d4a673}.det-head{align-items:center;gap:var(--sp-2);display:flex}.logo{border-radius:var(--radius);object-fit:contain;background:#fff;flex:none;width:36px;height:36px;padding:3px}.logo.ph{background:var(--surface-3);color:var(--text-dim);place-items:center;display:grid}.det-title{flex:1;min-width:0}.det-title h2{font:700 var(--fs-xl) var(--font-ui);align-items:center;gap:6px;margin:0;display:flex}.det-title p{color:var(--text-dim);font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.emer-tag{font-size:var(--fs-xs);border-radius:var(--radius-sm);color:#fff;background:var(--emg);padding:1px 6px}.emer-tag.amber{background:var(--amb);color:#111}.det-actions{flex-wrap:wrap;justify-content:flex-end;display:flex}.det-actions .icon-btn{width:28px;height:28px}.strip{margin:var(--sp-3) 0 0;background:var(--border);border-radius:var(--radius);grid-template-columns:repeat(6,auto);gap:1px;display:none;overflow:hidden}.strip div{background:var(--surface-2);text-align:center;min-width:0;padding:5px 3px}.strip dt{letter-spacing:.08em;color:var(--text-faint);font-size:9px}.strip dd{font:600 var(--fs-sm) var(--font-mono);white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.strip .alert dd{color:var(--alert)}.trend{color:var(--accent-text);margin-left:2px}.route{align-items:center;gap:var(--sp-2);margin-top:var(--sp-3);grid-template-columns:auto 1fr auto;display:grid}.apt{flex-direction:column;min-width:56px;display:flex}.apt.arr{text-align:right}.apt strong{font:700 var(--fs-lg) var(--font-ui)}.apt small{color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;max-width:90px;font-size:10px;overflow:hidden}.apt.home strong{color:var(--accent-text)}.route-bar{background:var(--surface-3);border-radius:2px;height:4px;position:relative}.route-bar .fill{background:var(--accent);border-radius:2px;position:absolute;inset:0 auto 0 0}.route-bar small{white-space:nowrap;color:var(--text-dim);font-size:10px;position:absolute;top:8px;left:50%;transform:translate(-50%)}.grid{gap:var(--sp-2) var(--sp-3);margin:var(--sp-4) 0 0;grid-template-columns:repeat(3,1fr);display:grid}.kv{min-width:0}.kv.wide{grid-column:1/-1}.kv dt{letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);font-size:10px}.kv dd{font:500 var(--fs-sm) var(--font-ui);overflow-wrap:anywhere;margin:0}.kv.amb dd{color:var(--amb)}.edit{gap:var(--sp-2);margin-top:var(--sp-3);grid-template-columns:1fr 1fr;display:grid}.edit label{font-size:var(--fs-xs);color:var(--text-dim);flex-direction:column;gap:2px;display:flex}.edit .wide{grid-column:1/-1}.edit .chk{flex-direction:row;align-items:center;gap:6px}.sectors h3{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);margin:var(--sp-3) 0 var(--sp-1)}.sectors ul{margin:0;padding:0;list-style:none}.sectors button{border-radius:var(--radius-sm);text-align:left;width:100%;font-size:var(--fs-sm);grid-template-columns:auto 1fr auto auto;align-items:center;gap:8px;padding:6px;display:grid}.sectors button:hover{background:var(--surface-3)}.sectors small{color:var(--text-dim);font-family:var(--font-mono)}.fman{top:var(--sp-2);left:var(--sp-2);width:300px;max-height:calc(100% - 52px);z-index:var(--z-board);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);transition:left var(--dur) var(--ease);position:absolute;overflow:auto}.has-sidebar .fman{left:calc(var(--sidebar-w) + var(--sp-2))}.fman>header{padding:4px 4px 0 var(--sp-3);font-family:var(--font-mono);justify-content:space-between;align-items:center;display:flex}.fman-col h3{padding:6px var(--sp-3);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);margin:0}.fman ol{margin:0;padding:0 4px 6px;list-style:none}.fman li button{border-radius:var(--radius-sm);text-align:left;width:100%;font:500 var(--fs-xs) var(--font-mono);grid-template-columns:44px 70px 1fr auto 32px;gap:6px;padding:3px 6px;display:grid}.fman li button:hover{background:var(--surface-3)}.fman li.sel button{background:color-mix(in srgb, var(--accent) 18%, transparent)}.fman .t{color:var(--text-dim)}.fman .cs{font-weight:700}.fman .m,.fman .x{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fman .r{color:var(--accent-text);text-align:right}.fman .hint{padding:2px 8px}.rbl-hud{left:50%;top:var(--sp-2);z-index:var(--z-hud);align-items:center;gap:var(--sp-3);background:var(--surface);border:1px solid var(--accent-border);font-size:var(--fs-sm);box-shadow:var(--shadow);border-radius:16px;padding:6px 12px;display:flex;position:absolute;transform:translate(-50%)}.rbl-hud small{color:var(--text-faint)}.perf{left:var(--sp-2);z-index:var(--z-hud);color:#d1fae5;border-radius:var(--radius);font:500 11px/1.5 var(--font-mono);pointer-events:none;background:#000000c7;padding:8px 10px;position:absolute;bottom:34px}.perf b{color:#6ee7b7;font-size:16px}.map-error{z-index:var(--z-hud);padding:var(--sp-4) var(--sp-5);background:var(--surface);border:1px solid var(--alert);border-radius:var(--radius-lg);text-align:center;flex-direction:column;align-items:center;gap:4px;max-width:90%;display:flex;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)}.replay{left:var(--sp-2);right:var(--sp-2);bottom:calc(var(--sp-2) + var(--safe-bottom));z-index:var(--z-board);padding:var(--sp-2) var(--sp-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);position:absolute}.rp-row{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.rp-row .clock{font-size:var(--fs-lg);min-width:90px;font-weight:600}.rp-row .win{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.btn.live{color:var(--ok);border:1px solid var(--ok);background:0 0}.btn.live .dot{background:var(--ok);border-radius:50%;width:7px;height:7px}.icon-btn.play{background:var(--accent);color:var(--accent-ink);border-radius:50%}.icon-btn.play:hover:not(:disabled){background:var(--accent-hi);color:var(--accent-ink)}.icon-btn.small{width:28px;height:28px}.pill.buf{font:600 10px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--amb);border:1px solid var(--amb);border-radius:99px;padding:2px 6px;animation:1.2s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.45}}.rp-row .fl-label{color:var(--text);margin-right:var(--sp-2);font-weight:600}.seg.rates button{min-width:34px}.timeline{height:48px;margin-top:var(--sp-2);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:var(--radius-sm);position:relative}.timeline:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.timeline .lane{background:var(--surface-3);border-radius:var(--radius-sm) var(--radius-sm) 0 0;width:100%;height:24px;position:absolute;top:0;left:0;right:0}.timeline .lane rect{fill:color-mix(in srgb, var(--accent) 45%, transparent)}.timeline .lane rect.fspan{fill:#fbbf241a}.timeline .lane path.alt{fill:#fbbf244d;stroke:#fbbf24;stroke-width:1px;vector-effect:non-scaling-stroke}.timeline .lane .ev{stroke:var(--text-faint);stroke-width:1px;vector-effect:non-scaling-stroke;stroke-dasharray:2 2}.timeline .lane .ev.emg{stroke:var(--emg)}.timeline .lane .ev.tot{stroke:var(--ok)}.timeline .segs{background:var(--surface-2,var(--surface-3));border-radius:0 0 2px 2px;height:4px;position:absolute;top:24px;left:0;right:0;overflow:hidden}.timeline .segs i{position:absolute;top:0;bottom:0}.timeline .segs i.s1{background:repeating-linear-gradient(90deg, var(--amb) 0 4px, transparent 4px 8px);opacity:.8}.timeline .segs i.s2{background:var(--ok);opacity:.8}.timeline .segs i.s3{background:var(--text-faint);opacity:.35}.timeline .segs i.s4{background:var(--alert)}.timeline .ticks span{font:500 10px var(--font-mono);color:var(--text-faint);pointer-events:none;position:absolute;top:32px;transform:translate(-50%)}.timeline .head{background:var(--amb);pointer-events:none;width:2px;height:34px;margin-left:-1px;position:absolute;top:-3px;box-shadow:0 0 0 1px #00000059}.timeline .head:before{content:"";background:var(--amb);border-radius:50%;width:10px;height:10px;position:absolute;top:-3px;left:-4px}.timeline .head.buf{animation:1s ease-in-out infinite pulse}.timeline .hov{z-index:2;box-shadow:var(--shadow);background:var(--surface-3);border:1px solid var(--border);pointer-events:none;white-space:nowrap;border-radius:4px;padding:1px 5px;font-size:10px;position:absolute;top:3px;transform:translate(-50%)}.rp-status{margin:var(--sp-1) 0 0}.rp-keys{color:var(--text-faint);margin:2px 0 0;font-size:10px}.clock.rp{color:var(--amb)}.rp-sel{border-radius:var(--radius-sm);background:var(--surface-3);height:30px;color:var(--text);border:1px solid var(--border);font:600 var(--fs-sm) var(--font-mono);padding:0 6px}.rp-tag{font:600 10px var(--font-mono);color:var(--amb);margin:0 0 var(--sp-2)}.rp-tag span{border:1px solid var(--amb);letter-spacing:.06em;border-radius:3px;margin-right:4px;padding:0 4px}.sectors .wide-btn{width:100%;margin-bottom:var(--sp-2);justify-content:center}.replaying .mapboxgl-ctrl-bottom-left,.replaying .mapboxgl-ctrl-bottom-right{bottom:calc(var(--rp-h,140px) + var(--sp-2) - 4px)}.replaying .details{max-height:calc(100% - 180px);transform:translateY(calc(-50% - 90px))}.scrim{background:var(--scrim);z-index:var(--z-scrim);animation:fade var(--dur) var(--ease);position:fixed;inset:0}.scrim.loading{background:0 0}.dialog{z-index:var(--z-modal);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);width:min(440px,100vw - 24px);max-height:calc(100dvh - 48px);box-shadow:var(--shadow);animation:pop var(--dur) var(--ease);flex-direction:column;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.dialog.wide{width:min(760px,100vw - 24px)}.dlg-head{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-2) var(--sp-2) var(--sp-4);border-bottom:1px solid var(--border);display:flex}.dlg-head h2{font-size:var(--fs-lg);flex:1;margin:0;font-weight:600}.dlg-body{padding:var(--sp-4);overscroll-behavior:contain;overflow:auto}.dlg-body form{gap:var(--sp-2);flex-direction:column;display:flex}.dlg-body label{font-size:var(--fs-sm);color:var(--text-dim);flex-direction:column;gap:3px;display:flex}.dlg-body .tabs{margin:calc(var(--sp-2) * -1) 0 var(--sp-3);align-items:center;padding:0}.auth-banner{border-radius:var(--radius);width:100%;height:auto;margin-bottom:var(--sp-3)}.keys{border-collapse:collapse;width:100%}.keys td{border-bottom:1px solid var(--border);font-size:var(--fs-sm);padding:5px 4px}.keys td:first-child{width:120px}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translate(-50%,-48%)scale(.98)}}.palette{z-index:var(--z-palette);background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-lg);width:min(560px,100vw - 24px);box-shadow:var(--shadow);position:fixed;top:12vh;left:50%;overflow:hidden;transform:translate(-50%)}.palette input{border:0;border-bottom:1px solid var(--border);width:100%;font-size:var(--fs-lg);background:0 0;border-radius:0;padding:14px 16px}.palette input:focus{box-shadow:none}.palette ul{max-height:50vh;overflow:auto}.palette li{align-items:center;gap:var(--sp-2);border-radius:var(--radius-sm);cursor:pointer;padding:8px 10px;display:flex}.palette li.active{background:color-mix(in srgb, var(--accent) 18%, transparent)}.palette .grp{width:76px;font-size:var(--fs-xs);color:var(--text-faint);flex:none}.palette .lbl{flex:1}.toasts{right:var(--sp-3);top:calc(var(--header-h) + var(--sp-3));z-index:var(--z-toast);gap:var(--sp-2);pointer-events:none;flex-direction:column;width:min(340px,100vw - 24px);display:flex;position:fixed}.toast{pointer-events:auto;background:var(--surface-2);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius);box-shadow:var(--shadow);animation:slide var(--dur) var(--ease);align-items:flex-start;display:flex}.toast.warn{border-left-color:var(--warn)}.toast.alert{border-left-color:var(--emg)}.toast-body{text-align:left;flex-direction:column;flex:1;gap:2px;padding:8px 10px;display:flex}.toast-body span{color:var(--text-dim);font-size:var(--fs-sm);overflow-wrap:anywhere}.toast-x{width:28px;height:28px;color:var(--text-dim);font-size:18px}@keyframes slide{0%{opacity:0;transform:translate(12px)}}.wx-sec{margin-bottom:var(--sp-4)}.wx-sec h3{margin:0 0 var(--sp-2);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint)}.raw{background:var(--surface-3);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius);margin:0 0 var(--sp-3);overflow-wrap:anywhere}.wx-ops{gap:var(--sp-4);grid-template-columns:180px 1fr;align-items:center;display:grid}.wx-ops .grid{grid-template-columns:1fr 1fr;margin:0}.led{width:160px;height:160px;margin:0 auto 36px;position:relative}.led-ring{position:absolute;inset:0}.led .seg{background:var(--surface-3);transform-origin:3px 76px;width:6px;height:14px;transform:rotate(calc(var(--i) * 10deg));border-radius:2px;margin-left:-3px;position:absolute;top:4px;left:50%}.led .seg.on{background:var(--accent);box-shadow:0 0 8px var(--accent)}.led .seg.near{background:color-mix(in srgb, var(--accent) 45%, var(--surface-3))}.led .seg.var{background:color-mix(in srgb, var(--amb) 55%, var(--surface-3))}.led .card{font:600 10px var(--font-mono);color:var(--text-faint);transform:translate(-50%, -50%) rotate(var(--a)) translateY(-52px) rotate(calc(var(--a) * -1));position:absolute;top:50%;left:50%}.led .hub{background:var(--surface-3);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:50px}.led .hub strong{font:700 var(--fs-xl) var(--font-mono)}.led .hub small,.led figcaption small{color:var(--text-dim);font-size:10px}.led figcaption{flex-direction:column;align-items:center;display:flex;position:absolute;top:166px;left:0;right:0}.notam-bar{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-2);flex-wrap:wrap;display:flex}.notam-bar h3{flex:1;margin:0}.notam-bar input{width:180px}.notams{gap:var(--sp-2);flex-direction:column;display:flex}.notam{border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-2) var(--sp-3)}.notam.clsd{border-left:3px solid var(--alert)}.notam header{gap:var(--sp-2);font-size:var(--fs-sm);flex-wrap:wrap;align-items:baseline;display:flex}.notam .id{font:700 var(--fs-sm) var(--font-mono)}.notam .kind{border-radius:var(--radius-sm);background:var(--surface-3);font-size:var(--fs-xs);padding:0 6px}.notam .when{color:var(--text-dim);font:500 var(--fs-xs) var(--font-mono);margin-left:auto}.notam .hours{font-size:var(--fs-xs);color:var(--text-dim);margin:4px 0 0}.notam .hours span{text-transform:uppercase;color:var(--text-faint);margin-right:6px}.notam .body{white-space:pre-wrap;font-size:var(--fs-sm);margin:4px 0 0}.msgs{gap:var(--sp-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.msgs li{border:1px solid var(--border);border-radius:var(--radius);padding:6px 10px}.msgs .meta{font:500 var(--fs-xs) var(--font-mono);color:var(--text-dim)}.msgs pre,details pre{white-space:pre-wrap;overflow-wrap:anywhere;font:400 var(--fs-sm) var(--font-mono);margin:4px 0 0}.weights{gap:var(--sp-2);margin:var(--sp-3) 0;grid-template-columns:repeat(3,1fr);display:grid}.weights .card{background:var(--surface-3);border-radius:var(--radius);padding:var(--sp-2);text-align:center}.weights small{color:var(--text-faint);letter-spacing:.08em;font-size:10px;display:block}.weights strong{font:700 var(--fs-lg) var(--font-mono)}.events{margin:0;padding:0;list-style:none}.events button{text-align:left;border-radius:var(--radius-sm);width:100%;font-size:var(--fs-sm);padding:4px 6px}.events button:hover{background:var(--surface-3)}.alerts .stream{font:500 10px var(--font-mono);text-transform:uppercase;background:var(--surface-3);color:var(--text-dim);border-radius:8px;margin-left:auto;padding:2px 6px}.alerts .stream.live{color:var(--ok)}.alert-list,.rules{margin:var(--sp-2) 0 0;flex-direction:column;gap:4px;padding:0;list-style:none;display:flex}.alert-list button{gap:var(--sp-2);border-radius:var(--radius-sm);text-align:left;width:100%;font-size:var(--fs-sm);grid-template-columns:auto auto 1fr;padding:6px 8px;display:grid}.alert-list button:hover:not(:disabled){background:var(--surface-3)}.alert-list button:disabled{opacity:1;cursor:default}.alert-list span:last-child{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dlg-body form.quick{flex-direction:row}.quick input{flex:1}.presets{margin:var(--sp-2) 0;gap:6px;display:flex}.custom{margin-top:var(--sp-3);padding:var(--sp-3);border:1px solid var(--border);border-radius:var(--radius)}.custom h3{font-size:var(--fs-sm);margin:0}.leaf{grid-template-columns:1.1fr 1fr 1.4fr 32px;gap:4px;display:grid}.or-group{padding:var(--sp-2);border:1px dashed var(--border-strong);border-radius:var(--radius);flex-direction:column;gap:4px;display:flex}.rules li{border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:1fr auto auto auto;align-items:center;gap:6px;padding:6px 8px;display:grid}.rules li.off{opacity:.6}.rules li div{flex-direction:column;min-width:0;display:flex}.rules small{color:var(--text-dim);font-family:var(--font-mono);font-size:var(--fs-xs);overflow-wrap:anywhere}.app .mapboxgl-ctrl-bottom-left{flex-direction:row-reverse;align-items:center;display:flex}.app .mapboxgl-ctrl-bottom-left .mapboxgl-ctrl{margin-bottom:10px}.app .mapboxgl-ctrl.mapboxgl-ctrl-attrib{background:color-mix(in srgb, var(--surface) 88%, transparent);border-radius:4px;margin-left:6px}.app .mapboxgl-ctrl-attrib-inner{padding:1px 6px;font-size:11px;line-height:17px}.app .mapboxgl-ctrl-attrib a{color:var(--text);opacity:.85}.app .mapboxgl-ctrl-attrib a:hover{opacity:1}.app .mapboxgl-ctrl-attrib.mapboxgl-compact{min-height:22px}.app .mapboxgl-ctrl-attrib-button{filter:var(--ctrl-icon-filter,invert(1) brightness(1.4));background-color:#0000}.mapboxgl-ctrl-logo{display:none!important}[data-theme=light] .app .mapboxgl-ctrl-attrib-button{filter:none}@media (max-width:900px){.sidebar{top:var(--header-h);bottom:0;left:0;right:auto;width:min(var(--sidebar-w),86vw);max-height:none;border-radius:0;border-top:0;border-right:1px solid var(--border);z-index:var(--z-sheet);box-shadow:var(--shadow);transform:translateX(-100%)}.sidebar.open{transform:none}.sb-head:before{content:none}.sb-head{padding-top:0}.sheet-scrim{z-index:calc(var(--z-sheet) - 1)}.has-sidebar .fman{left:var(--sp-2)}.search{width:min(260px,30vw)}}@media (max-width:700px){.hdr{gap:4px;padding-left:4px;padding-right:4px}.hbtn{min-width:40px;height:40px}.icon-btn{width:40px;height:40px}.clock{font-size:var(--fs-sm)}.details.sheet{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:auto;max-height:56dvh;padding:var(--sp-2) var(--sp-3) calc(var(--sp-2) + var(--safe-bottom));border-bottom:0;transform:none;inset:auto 0 0}.details.sheet .route{margin-top:var(--sp-2)}.details.sheet .det-sec{margin-top:var(--sp-2);padding-top:var(--sp-2)}.details.sheet .grid{gap:var(--sp-1) var(--sp-2)}.det-actions .icon-btn{width:36px;height:36px}.strip{grid-template-columns:repeat(3,1fr)}.grid{grid-template-columns:repeat(3,1fr)}.toasts{top:auto;bottom:calc(var(--sp-3) + var(--safe-bottom));left:50%;right:auto;transform:translate(-50%)}.replay{border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding-bottom:calc(var(--sp-2) + var(--safe-bottom));bottom:0;left:0;right:0}.rp-row .win{display:none}.replay.flight .rp-row .win{font-size:var(--fs-xs);flex-basis:100%;order:10;display:block}.rp-row{flex-wrap:nowrap;gap:6px}.rp-row .clock{font-size:var(--fs-md,15px);min-width:0}.replay.flight .rp-row{flex-wrap:wrap}.rp-keys{display:none}.replaying .details.sheet{bottom:calc(118px + var(--safe-bottom));max-height:44dvh}.replaying .toasts{top:calc(var(--header-h) + var(--sp-2));bottom:auto}.replaying .mapboxgl-ctrl-bottom-left,.replaying .mapboxgl-ctrl-bottom-right{bottom:calc(var(--rp-h,124px) - 4px)}.wx-ops{grid-template-columns:1fr}.leaf{grid-template-columns:1fr 1fr}.dialog{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100vw;max-height:90dvh;animation:none;top:auto;bottom:0;transform:translate(-50%)}.dialog.wide{width:100vw}.dlg-body{padding-bottom:calc(var(--sp-4) + var(--safe-bottom))}.palette{top:calc(var(--header-h) + 8px)}.perf{top:8px;bottom:auto}}@media (min-width:701px){.app:has(.details) .toasts{right:calc(var(--details-w) + var(--sp-4))}}.mapboxgl-ctrl-group{border:1px solid var(--border);background:var(--surface)!important;box-shadow:var(--shadow)!important}.mapboxgl-ctrl-group button+button{border-top:1px solid var(--border)!important}.mapboxgl-ctrl-group button .mapboxgl-ctrl-icon{filter:var(--ctrl-icon-filter,invert(1) brightness(1.4))}.mapboxgl-ctrl-group button.at-locate{color:var(--text);place-items:center;display:grid}[data-theme=light] .mapboxgl-ctrl-group button .mapboxgl-ctrl-icon{filter:none}@media (max-width:700px){.replaying:has(.replay.flight) .details.sheet{bottom:calc(150px + var(--safe-bottom))}}.strip.v1strip{flex-wrap:wrap;display:none}.strip.v1strip div{flex:1 0 auto;min-width:44px;padding:5px 6px}.strip.v1strip div.cs{flex-basis:86px}.strip.v1strip div.wx{cursor:pointer}.strip.v1strip div.wx:hover dd{color:var(--accent-text)}.details .kicker{font:700 10px/1.2 var(--font-ui);letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);margin:0}.det-sec{margin-top:var(--sp-4);padding-top:var(--sp-3);border-top:1px solid var(--border)}.det-sec .grid{margin-top:var(--sp-2)}.det-sec .grid.cols-2{grid-template-columns:1fr 1fr}.det-sec-head{justify-content:space-between;align-items:center;display:flex}.kv.hi dd{color:var(--ok);font-weight:700}.vdl2-open{margin-top:var(--sp-4);justify-content:center;width:100%}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){:root:not([data-theme=contrast]) :is(.hdr,.sidebar,.details,.fman,.rbl-hud,.replay,.toast,.mapboxgl-ctrl-group){-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-color:var(--glass-border);box-shadow:var(--glass-shadow);background:var(--glass-bg)!important}:root:not([data-theme=contrast]) :is(.dialog,.palette,.disp-menu,.search-results){background:var(--glass-bg-2);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-color:var(--glass-border);box-shadow:var(--glass-shadow)}:root:not([data-theme=contrast]) .details .strip div{background:var(--glass-hi)}
.details .kicker,.details .kv dt,.details .strip dt{color:var(--text-faint);font-weight:500}
.details .kicker{font-size:11px;letter-spacing:.08em}
.details .kv dt{font-size:11px;letter-spacing:.04em}
.details .strip dt{font-size:10px;letter-spacing:.05em}
.route-bar{height:44px;background:none;overflow:visible}
.route-bar:before{content:"";background:var(--surface-3);border-radius:2px;height:4px;position:absolute;top:11px;left:0;right:0}
.route-bar .fill{top:11px;right:auto;bottom:auto;left:0;height:4px;margin:0;overflow:visible}
.route-bar .fill::after{content:"";position:absolute;left:100%;top:50%;width:22px;height:22px;margin-left:-11px;transform:translateY(-50%);pointer-events:none;z-index:1;background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Ccircle cx='16' cy='16' r='14.2' fill='%2310141c' stroke='%23e8eef8' stroke-width='1.6'/%3E%3Cpath fill='%23f8fafc' d='M25.6 16.1 18.2 13.5V10h-1.7v4.2L7.2 12.4 5.8 13.5v1.1l8.5 1.2-8.5 1.2v1.1l1.4 1.1 9.3-1.7V21h1.7v-3.5l7.4-2.4z'/%3E%3C/svg%3E")}
.route-bar small{top:30px}}
.details.sheet{max-height:40dvh;padding:0 8px calc(4px + var(--safe-bottom))}
.details.sheet .det-head{position:sticky;top:0;z-index:3;margin-left:-8px;margin-right:-8px;padding:4px 8px;background:linear-gradient(var(--glass-bg),var(--glass-bg)),var(--bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}
.details.sheet .det-title h2{font-size:16px}
.details.sheet .det-title p,.details.sheet .kv dd,.details.sheet .strip dd{font-size:11px}
.details.sheet .apt strong{font-size:14px}
.details.sheet .kicker,.details.sheet .kv dt,.details.sheet .strip dt{font-size:10px}
.details.sheet .route{margin-top:4px}
.details.sheet .det-sec{margin-top:4px;padding-top:4px}
.details.sheet .grid{gap:2px 6px;margin-top:4px}
.replaying .details.sheet{max-height:32dvh}
.hdr .hbtn.qnh,.hdr .clock,.hdr .disp-btn,.hdr .seg button,.hdr .disp-menu button{font-family:var(--font-ui)}
.details.sheet .det-flight{margin-top:0;padding-top:2px}
.details.sheet .det-flight .kicker{line-height:1}
.details.sheet .det-flight .grid{margin-top:1px;gap:1px 6px}
.search{gap:0;width:min(420px,34vw);background:var(--surface-3);border:1px solid var(--border);border-radius:8px}
.search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 26%,transparent)}
.search-mode{appearance:none;-webkit-appearance:none;background-color:var(--surface-3);background-image:linear-gradient(45deg,transparent 50%,var(--text-dim) 50%),linear-gradient(135deg,var(--text-dim) 50%,transparent 50%);background-position:calc(100% - 11px) calc(50% - 1px),calc(100% - 7px) calc(50% - 1px);background-size:4px 4px,4px 4px;background-repeat:no-repeat;border:0;border-right:1px solid var(--border);border-radius:8px 0 0 8px;color:var(--text);cursor:pointer;font-family:var(--font-ui);font-size:12px;font-weight:600;min-height:30px;padding:0 18px 0 10px}
.search-mode option{background-color:var(--surface-3);color:var(--text)}
.search-mode:hover{background-color:color-mix(in srgb,var(--text) 8%,var(--surface-3))}
.search-field{background:transparent;border:0;border-radius:0 8px 8px 0;min-height:30px}
.search-field:focus-within{border-color:transparent}
.search-field input{color:var(--text);font-family:var(--font-ui);min-height:30px}
.search-field input::placeholder{color:var(--text-faint)}
@media (min-width:1200px){.search{width:min(460px,32vw)}}
@media (max-width:900px) and (min-width:701px){.search{width:min(300px,36vw)}}
.search.msearch{position:fixed;z-index:var(--z-palette);top:calc(var(--header-h) + var(--safe-top) + 6px);left:8px;right:8px;width:auto;background:var(--surface-2);border:1px solid var(--border-strong);box-shadow:var(--shadow);padding:4px}
.scrim.search-scrim{z-index:35;background:#0006}
.details.efps,.details.efps.sheet,.replaying .details.efps,.replaying .details.efps.sheet,.replaying:has(.replay.flight) .details.efps.sheet{position:absolute;top:auto;right:auto;left:50%;bottom:max(8px,var(--safe-bottom));transform:translateX(-50%);width:min(760px,calc(100% - 16px));max-height:188px;height:auto;padding:0 0 6px;border-radius:8px 8px 0 0;overflow:hidden;background:#2a2d32;border-color:#3c414a}
.details.efps .det-head,.details.efps.sheet .det-head{position:static;margin:0;padding:4px 8px;min-height:0;background:transparent;border-bottom:1px solid var(--border)}
.details.efps .det-title h2{font-size:13px;letter-spacing:.04em}
.details.efps .det-title p,.details.efps .route,.details.efps .det-sec,.details.efps .sectors{display:none}
.details.efps .vdl2-open{display:none}.details.efps .strip.v1strip{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,.7fr) minmax(0,.95fr) minmax(0,.55fr) minmax(0,.75fr) minmax(0,.75fr);gap:0;margin:6px 8px 2px;padding:0;border:1px solid var(--border);border-radius:6px;overflow:hidden;background:#343840}
.details.efps .strip.v1strip>div{display:flex;flex-direction:column;justify-content:center;flex:none;min-width:0;padding:4px 8px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:transparent}
.details.efps .strip.v1strip dt{margin:0;font:600 8px/1.3 var(--font-ui);letter-spacing:.07em;text-transform:uppercase;color:var(--text-faint)}
.details.efps .strip.v1strip dd{margin:0;font:650 13px/1.25 var(--font-mono);color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.details.efps .strip.v1strip .cs dd{font-size:14px;font-weight:700;color:#fff}.details.efps.dep::before,.details.efps.arr::before{z-index:4}.details.efps .strip.v1strip>div.wx.dep{background:#031b85}.details.efps .strip.v1strip>div.wx.dep dd{color:#fff}.details.efps .strip.v1strip>div.wx.arr{background:#7a4e28}.details.efps .strip.v1strip>div.wx.arr dd{color:#fff}
@media (max-width:700px){.details.efps,.details.efps.sheet,.replaying .details.efps.sheet,.replaying:has(.replay.flight) .details.efps.sheet{left:0;right:0;width:auto;transform:none;max-height:34dvh;border-radius:10px 10px 0 0}.details.efps .strip.v1strip{grid-template-columns:repeat(3,minmax(0,1fr))}.details.efps .strip.v1strip dd{font-size:12px}}:root .details.efps,:root .details.efps.sheet{background:#2a2d32!important;-webkit-backdrop-filter:none;backdrop-filter:none;border-color:#3c414a}
.edit input[name=type],.edit input[name=registration]{text-transform:uppercase}
.details .apt strong,.details .apt.home strong{color:#fff}:root[data-theme=light] .details .apt strong,:root[data-theme=light] .details .apt.home strong{color:var(--text)}
.dialog.apt{width:min(880px,100vw - 24px);max-height:min(860px,calc(100dvh - 48px));overflow:hidden}
.dialog.apt .dlg-body{display:flex;flex-direction:column;gap:14px;min-width:0;min-height:0;flex:1 1 auto;overflow:hidden}
.dialog.apt .wx-sec{margin-bottom:0;padding-top:0;border-top:0;min-width:0;max-width:100%}
.dialog.apt .notam-bar,.dialog.apt .notam,.dialog.apt .notam header{min-width:0;max-width:100%}
.dialog.apt .notam-bar input{width:min(180px,100%);min-width:0}
.dialog.apt .notam .body{overflow-wrap:anywhere}
.dialog.apt .hint:empty{display:none}
.dialog.apt .apt-panel{display:flex;flex-direction:column;gap:14px;flex:1 1 auto;min-height:0;overflow:auto}
.dialog.apt .apt-tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);overflow:hidden;flex:0 0 auto;position:sticky;top:0;z-index:2;background:var(--surface-2)}
.dialog.apt .apt-tabs button{appearance:none;background:transparent;border:0;color:var(--text-dim);font:650 12px/1 var(--font-ui);letter-spacing:.04em;padding:8px 12px;cursor:pointer;white-space:nowrap;box-shadow:inset 0 -2px 0 transparent}
.dialog.apt .apt-tabs button.on{color:var(--text);box-shadow:inset 0 -2px 0 var(--accent)}
.dialog.apt .apt-tabs button:hover{color:var(--text)}
.dialog.apt .apt-flights{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:start;flex:1 1 auto;min-height:0;overflow:auto}
.dialog.apt .apt-board{--apt-cols:52px minmax(64px,.85fr) minmax(0,1fr) 42px minmax(40px,.65fr) 36px;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--surface-3) 50%,transparent);overflow:hidden;min-width:0}
.dialog.apt .apt-board>header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px 6px}
.dialog.apt .apt-board h3{margin:0;font-size:11px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint)}
.dialog.apt .apt-count{font:650 11px/1 var(--font-mono);color:var(--accent-text);background:var(--accent-tint);border:1px solid var(--accent-border);border-radius:999px;min-width:1.5em;text-align:center;padding:3px 6px}
.dialog.apt .apt-count:empty{display:none}
.dialog.apt .apt-thead,.dialog.apt .apt-legs button{display:grid;grid-template-columns:var(--apt-cols);gap:6px;align-items:center;min-width:0;max-width:100%}
.dialog.apt .apt-thead{padding:5px 10px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);font:650 9px/1.2 var(--font-ui);letter-spacing:.07em;text-transform:uppercase;color:var(--text-faint)}
.dialog.apt .apt-thead span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dialog.apt .apt-thead span.a,.dialog.apt .apt-thead span.x{text-align:center}
.dialog.apt .apt-thead span.r{text-align:right}
.dialog.apt .apt-legs{list-style:none;margin:0;padding:0;max-height:340px;overflow:auto;scrollbar-width:thin}
.dialog.apt .apt-legs button{width:100%;text-align:left;background:transparent;border:0;border-bottom:1px solid var(--border);border-radius:0;padding:6px 10px;font:500 12px/1.3 var(--font-mono);color:var(--text);cursor:pointer}
.dialog.apt .apt-legs li:last-child button{border-bottom:0}
.dialog.apt .apt-legs button:hover{background:color-mix(in srgb,var(--accent) 14%,transparent)}
.dialog.apt .apt-legs .t{color:var(--text-dim);font-variant-numeric:tabular-nums}
.dialog.apt .apt-legs .cs{font-weight:700}
.dialog.apt .apt-legs .m,.dialog.apt .apt-legs .x{color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dialog.apt .apt-legs .a{font-variant-numeric:tabular-nums;text-align:center;white-space:nowrap}
.dialog.apt .apt-legs .x{text-align:center}
.dialog.apt .apt-legs .r{color:var(--accent-text);text-align:right;font-weight:650}
.dialog.apt .apt-legs .hint{color:var(--text-dim);padding:10px;font-size:12px}
.dialog.apt .wx-ops{grid-template-columns:minmax(140px,180px) minmax(0,1fr)}
.dialog.apt .dlg-body>*{min-width:0}
.dialog.apt .apt-split,.dialog.apt .apt-sec,.dialog.apt .apt-list,.dialog.apt .apt-freq,.dialog.apt .apt-row,.dialog.apt .apt-desc,.dialog.apt .apt-sub,.dialog.apt .apt-tabs,.dialog.apt .apt-flights,.dialog.apt .apt-panel{min-width:0;max-width:100%}
.dialog.apt .apt-id{display:flex;flex-direction:column;gap:8px;flex:0 0 auto}
.dialog.apt .apt-code{display:flex;align-items:center;gap:10px}
.dialog.apt .apt-code strong{font:700 34px/1 var(--font-ui);letter-spacing:-.03em}
.dialog.apt .apt-icao{font:650 12px/1 var(--font-mono);letter-spacing:.12em;color:var(--accent-text);border:1px solid var(--accent-border);background:var(--accent-tint);border-radius:999px;padding:4px 8px}
.dialog.apt .apt-place{margin:0;color:var(--text-dim);font-size:13px}
.dialog.apt .apt-facts{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;margin:0;padding:0;list-style:none;overflow-x:auto;scrollbar-width:none}
.dialog.apt .apt-facts::-webkit-scrollbar{display:none}
.dialog.apt .apt-facts li{background:var(--surface-3);border:1px solid var(--border);border-radius:999px;min-width:0;padding:2px 8px;display:inline-flex;flex-direction:row;align-items:baseline;gap:5px;flex:0 0 auto}
.dialog.apt .apt-facts span{font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);font-weight:650}
.dialog.apt .apt-facts strong{font:600 12px/1.2 var(--font-ui);white-space:nowrap}
.dialog.apt .apt-metar{background:var(--surface-3);border:1px solid var(--border);border-radius:10px;padding:10px 12px}
.dialog.apt .apt-metar header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}
.dialog.apt .apt-metar h3,.dialog.apt .apt-sec h3{margin:0;font-size:11px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint)}
.dialog.apt .apt-metar p{margin:0;font:500 12.5px/1.5 var(--font-mono);overflow-wrap:anywhere}
.dialog.apt .apt-split{display:grid;grid-template-columns:1.05fr .95fr;gap:16px;align-items:start}
.dialog.apt .apt-sec h3{margin-bottom:8px}
.dialog.apt .apt-list{display:flex;flex-direction:column;gap:4px}
.dialog.apt .apt-freqs{max-height:280px;overflow:auto;border:1px solid var(--border);border-radius:8px;background:color-mix(in srgb,var(--surface-3) 65%,transparent)}
.dialog.apt .apt-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:baseline;padding:7px 8px;border-radius:8px;background:var(--surface-3)}
.dialog.apt .apt-row.closed{opacity:.5}
.dialog.apt .apt-rwy{font:700 13px/1.2 var(--font-mono);letter-spacing:.04em;white-space:nowrap}
.dialog.apt .apt-sub{color:var(--text-dim);font-size:12px}
.dialog.apt .apt-freq{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:baseline;padding:7px 10px;border-bottom:1px solid var(--border)}
.dialog.apt .apt-freq:last-child{border-bottom:0}
.dialog.apt .apt-kind{font:700 10px/1.2 var(--font-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--accent-text);white-space:nowrap}
.dialog.apt .apt-desc{color:var(--text);font-size:12px;overflow-wrap:break-word}
.dialog.apt .apt-mhz{font:650 12px/1 var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}
.dialog.apt .apt-cams{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
.dialog.apt .apt-cam{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;overflow:hidden}
.dialog.apt .apt-cam.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.dialog.apt .apt-cam header{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:8px 10px;font-size:12px}
.dialog.apt .apt-cam strong{font:650 12px/1.3 var(--font-ui)}
.dialog.apt .apt-cam header span{color:var(--text-dim);font:600 10px/1 var(--font-ui);letter-spacing:.06em;text-transform:uppercase}
.dialog.apt .apt-cams,.dialog.apt .apt-cam,.dialog.apt .apt-view{min-width:0;max-width:100%}.dialog.apt .apt-view{position:relative;display:grid;place-items:center;width:100%;height:min(34vh,280px);overflow:hidden;background:#000}.dialog.apt .apt-cam img{width:auto;height:auto;max-width:100%;max-height:100%;min-width:0;min-height:0;object-fit:contain;background:#000;display:block;pointer-events:none;-webkit-user-drag:none;user-select:none}.dialog.apt .apt-cam iframe{width:100%;height:100%;min-width:0;min-height:0;border:0;display:block;overflow:hidden;pointer-events:none}.dialog.apt .apt-view:has(iframe){height:auto;aspect-ratio:16/9;max-height:min(50vh,420px)}
@media(min-width:701px){.dialog.apt .apt-cams:has(article+article){grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media(max-width:700px){.dialog.apt{width:min(520px,calc(100vw - 16px));left:50%;right:auto;top:50%;bottom:auto;transform:translate(-50%,-50%);max-height:calc(100dvh - 16px);border-radius:16px}.dialog.apt .dlg-head{padding:8px 8px 8px 12px}.dialog.apt .dlg-body{padding:10px 10px 12px}.dialog.apt .apt-tabs button{flex:1 1 0;padding:10px 4px;font-size:11px}.dialog.apt .apt-board{overflow:auto}.dialog.apt .apt-thead,.dialog.apt .apt-legs button{min-width:340px}.dialog.apt .wx-ops{grid-template-columns:1fr}.dialog.apt .apt-split{grid-template-columns:minmax(0,1fr)}.dialog.apt .apt-flights{grid-template-columns:minmax(0,1fr)}.dialog.apt .apt-board{--apt-cols:40px minmax(0,.9fr) minmax(0,.7fr) 34px minmax(0,.5fr) 30px}.dialog.apt .apt-legs button{font-size:11px}.dialog.apt .apt-code strong{font-size:28px}.dialog.apt .apt-facts{flex-wrap:wrap;overflow:visible}.dialog.apt .apt-freqs{max-height:220px}.dialog.apt .apt-view{height:min(28vh,200px)}.dialog.apt .apt-view:has(iframe){height:auto;aspect-ratio:16/9;max-height:min(42vh,220px)}}
.dialog.apt .apt-full{position:absolute;right:8px;bottom:8px;z-index:2;width:28px;height:28px;margin:0;padding:0;display:grid;place-items:center;border:1px solid #ffffff47;border-radius:6px;background:#000000a6;color:#fff;cursor:pointer;pointer-events:auto;appearance:none}.dialog.apt .apt-full:hover{background:#000000e6}.dialog.apt .apt-full:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px}.dialog.apt .apt-full svg{width:14px;height:14px;display:block;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.dialog.apt .apt-full .apt-full-out{display:none}.dialog.apt .apt-full[aria-pressed=true] .apt-full-in{display:none}.dialog.apt .apt-full[aria-pressed=true] .apt-full-out{display:block}.dialog.apt .apt-view:fullscreen{width:100%;height:100%;max-width:none;max-height:none;aspect-ratio:auto;border-radius:0;background:#000}.dialog.apt .apt-view:-webkit-full-screen{width:100%;height:100%;max-width:none;max-height:none;aspect-ratio:auto;border-radius:0;background:#000}.dialog.apt .apt-view:fullscreen:has(iframe){height:100%;max-height:none;aspect-ratio:auto}.dialog.apt .apt-view:-webkit-full-screen:has(iframe){height:100%;max-height:none;aspect-ratio:auto}.dialog.apt .apt-view:fullscreen img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.dialog.apt .apt-view:-webkit-full-screen img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.dialog.apt .apt-view:fullscreen iframe{width:100%;height:100%}.dialog.apt .apt-view:-webkit-full-screen iframe{width:100%;height:100%}.dialog.apt .apt-view:fullscreen::backdrop{background:#000}.dialog.apt .apt-view:-webkit-full-screen::backdrop{background:#000}
