:root{color:var(--color-text);background:var(--color-canvas);font-family:var(--font-family-ui);font-kerning:normal;font-optical-sizing:auto;font-synthesis:none;text-rendering:optimizeLegibility;color-scheme:light;--font-family-latin: "Inter", "Segoe UI Variable Text", "Segoe UI";--font-family-cjk-sc: "PingFang SC", "Microsoft YaHei UI", "Microsoft YaHei", "Noto Sans CJK SC", "Source Han Sans SC", sans-serif;--font-family-cjk-tc: "PingFang TC", "Microsoft JhengHei UI", "Microsoft JhengHei", "Noto Sans CJK TC", "Source Han Sans TC", sans-serif;--font-family-ui: var(--font-family-latin), system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;--font-family-sans: var(--font-family-ui);--font-family-display: var(--font-family-latin), system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;--font-family-data: var(--font-family-latin), system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif;--font-family-mono: "Cascadia Mono", "SFMono-Regular", Consolas, "Liberation Mono", "Microsoft YaHei UI", monospace;--color-text: #20231f;--color-text-muted: #626762;--color-text-faint: #6a6f69;--color-canvas: #faf9f6;--color-surface: #fdfcf8;--color-surface-raised: #fffefa;--color-surface-sunken: #eeede7;--color-surface-glass: rgb(253 252 248 / 82%);--color-line: rgb(32 35 31 / 10%);--color-line-strong: rgb(32 35 31 / 18%);--color-accent: #185a56;--color-accent-bright: #56c49d;--color-accent-soft: #e4f1ea;--color-positive: #10b981;--color-warning: #9a681a;--color-warning-soft: #f4ead5;--color-info: #326c8c;--color-info-soft: #e3eef3;--color-danger: #bf4b3f;--color-danger-soft: #f6e7e3;--color-gate-sign: #fbbf24;--color-on-gate-sign: #171509;--color-header: rgb(245 244 239 / 90%);--color-focus: #46a988;--color-overlay: rgb(20 23 20 / 58%);--color-brand-mark: #f8f7f2;--color-on-inverted: #f2f6f3;--color-on-inverted-muted: rgb(229 238 232 / 68%);--gradient-aviation-hero: radial-gradient(circle at 82% 12%, rgb(53 142 111 / 34%), transparent 34%), radial-gradient(circle at 18% 108%, rgb(40 88 112 / 32%), transparent 42%), linear-gradient(135deg, #18221e 0%, #101714 100%);--color-map-surface: #eef2f6;--color-map-ocean: #eaf1f6;--color-map-land: #f5f3ed;--color-map-land-line: #e4e0d6;--color-map-grid: #e0e7ee;--color-map-outline: rgb(70 84 79 / 21%);--color-map-route: #2f7076;--color-map-route-warm: #377b78;--color-map-route-cool: #486f8a;--color-map-route-underlay: rgb(255 253 247 / 48%);--color-map-airport: #285f65;--color-map-text: #263330;--color-map-muted: #5d6c68;--color-map-faint: #78827e;--color-map-tooltip: rgb(255 253 248 / 97%);--color-map-tooltip-line: rgb(38 51 47 / 12%);--color-map-visited-low: #d2dddd;--color-map-visited-medium: #c4d4d4;--color-map-visited-high: #b5c9cc;--ink: var(--color-text);--muted: var(--color-text-muted);--faint: var(--color-text-faint);--surface: var(--color-surface);--line: var(--color-line);--green: var(--color-accent);--green-soft: var(--color-accent-soft);--red: var(--color-danger);--red-soft: var(--color-danger-soft);--header: var(--color-header);--type-size-caption: .8125rem;--type-size-label: .875rem;--type-size-body: .9375rem;--type-size-lead: 1.0625rem;--type-size-section: clamp(1.5rem, 1.8vw, 1.75rem);--type-size-page: clamp(2.5rem, 3.5vw, 3.25rem);--type-size-record: clamp(2.75rem, 4.25vw, 4.25rem);--type-size-stat: clamp(2.25rem, 3vw, 3rem);--type-size-dialog: 1.75rem;--type-size-data-heading: 1.25rem;--type-size-data-emphasis: 1.125rem;--type-size-flight-row: 1rem;--type-size-flight-hero: clamp(2.125rem, 3.2vw, 2.75rem);--type-size-time-hero: clamp(2.5rem, 4vw, 3.5rem);--type-size-time-detail: clamp(2rem, 2.6vw, 2.25rem);--type-size-airport-compact: 1.125rem;--type-size-airport-display: clamp(1.5rem, 2.2vw, 2rem);--type-size-map-label: .6875rem;--type-leading-caption: 1.45;--type-leading-label: 1.4;--type-leading-body: 1.6;--type-leading-lead: 1.55;--type-leading-heading: 1.22;--type-leading-display: 1.06;--type-leading-data: 1;--font-weight-light: 300;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-display: 560;--tracking-wordmark: -.02em;--tracking-eyebrow: .1em;--tracking-tight: -.025em;--tracking-display: -.035em;--tracking-data: -.035em;--tracking-flight: .01em;--tracking-airport: .065em;--numeric-features: "kern" 1, "tnum" 1, "zero" 1;--font-size-caption: var(--type-size-caption);--font-size-label: var(--type-size-label);--font-size-body: var(--type-size-body);--font-size-lead: var(--type-size-lead);--font-size-section: var(--type-size-section);--font-size-page: var(--type-size-page);--font-size-record: var(--type-size-record);--font-size-stat: var(--type-size-stat);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--space-9: 80px;--space-10: 120px;--layout-content-max: 1280px;--layout-gutter-max: 40px;--layout-gutter: clamp(20px, 3vw, var(--layout-gutter-max));--layout-page-start: var(--space-6);--layout-page-end: var(--space-10);--layout-header-height: 64px;--radius-control: 3px;--radius-card: 4px;--radius-modal: 8px;--radius-icon: 6px;--radius-panel: 8px;--radius-hero: 10px;--radius-pill: 999px;--control-height-sm: 36px;--control-height-md: 44px;--control-height-lg: 46px;--shadow-raised: 0 12px 36px rgb(28 37 32 / 5%);--shadow-floating: 0 28px 70px rgb(20 30 25 / 14%), inset 0 1px rgb(255 255 255 / 5%);--shadow-modal: 0 24px 80px rgb(0 0 0 / 25%);--focus-ring: 3px solid var(--color-focus);--duration-instant: 80ms;--duration-fast: .12s;--duration-standard: .16s;--duration-slow: .36s;--duration-map: .68s;--ease-standard: cubic-bezier(.2, 0, 0, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-emphasized: cubic-bezier(.34, 1.2, .64, 1)}:root:lang(zh-CN),:root:lang(zh-Hans){--font-family-ui: var(--font-family-latin), var(--font-family-cjk-sc);--font-family-sans: var(--font-family-ui);--font-family-display: var(--font-family-latin), var(--font-family-cjk-sc);--font-family-data: var(--font-family-latin), var(--font-family-cjk-sc)}:root:lang(zh-TW),:root:lang(zh-Hant){--font-family-ui: var(--font-family-latin), var(--font-family-cjk-tc);--font-family-sans: var(--font-family-ui);--font-family-display: var(--font-family-latin), var(--font-family-cjk-tc);--font-family-data: var(--font-family-latin), var(--font-family-cjk-tc)}:root:lang(zh-CN),:root:lang(zh-Hans),:root:lang(zh-TW),:root:lang(zh-Hant){--type-size-lead: 1rem;--type-size-section: clamp(1.375rem, 1.55vw, 1.625rem);--type-size-page: clamp(2.25rem, 3vw, 2.875rem);--type-size-record: clamp(2.5rem, 3.75vw, 3.625rem);--type-size-stat: clamp(2.125rem, 2.8vw, 2.75rem);--type-size-dialog: 1.625rem;--type-leading-label: 1.5;--type-leading-body: 1.7;--type-leading-lead: 1.7;--type-leading-heading: 1.3;--type-leading-display: 1.14;--font-weight-display: 500;--tracking-wordmark: 0;--tracking-eyebrow: .06em;--tracking-tight: 0;--tracking-display: 0}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--color-text: #f4f6f8;--color-text-muted: #a4abb6;--color-text-faint: #858d9a;--color-canvas: #090b0e;--color-surface: #111317;--color-surface-raised: #15191f;--color-surface-sunken: #0c0e12;--color-surface-glass: rgb(17 19 23 / 88%);--color-line: #242a35;--color-line-strong: #374151;--color-accent: #4edea3;--color-accent-bright: #6ffbbe;--color-accent-soft: #12382c;--color-positive: #4edea3;--color-warning: #ffb95f;--color-warning-soft: #392609;--color-info: #8dc7e5;--color-info-soft: #1b3441;--color-danger: #ff746b;--color-danger-soft: #3d1a1c;--color-gate-sign: #fbbf24;--color-on-gate-sign: #171509;--color-header: rgb(9 11 14 / 92%);--color-focus: #6ffbbe;--color-brand-mark: #090b0e;--color-map-surface: #111718;--color-map-ocean: #151c1d;--color-map-land: #252d2d;--color-map-land-line: rgb(176 190 186 / 6%);--color-map-grid: rgb(176 190 186 / 4%);--color-map-outline: rgb(177 195 190 / 16%);--color-map-route: #82b3b0;--color-map-route-warm: #7fb2ac;--color-map-route-cool: #829eb7;--color-map-route-underlay: rgb(7 12 13 / 64%);--color-map-airport: #99c5bf;--color-map-text: #e9efec;--color-map-muted: #a6b2ae;--color-map-faint: #84918d;--color-map-tooltip: rgb(18 25 25 / 97%);--color-map-tooltip-line: rgb(224 237 231 / 12%);--color-map-visited-low: #304344;--color-map-visited-medium: #354b4e;--color-map-visited-high: #3c5358;--shadow-raised: none}}:root[data-theme=light]{--color-text: #20231f;--color-text-muted: #626762;--color-text-faint: #6a6f69;--color-canvas: #faf9f6;--color-surface: #fdfcf8;--color-surface-raised: #fffefa;--color-surface-sunken: #eeede7;--color-surface-glass: rgb(253 252 248 / 82%);--color-line: rgb(32 35 31 / 10%);--color-line-strong: rgb(32 35 31 / 18%);--color-accent: #185a56;--color-accent-bright: #56c49d;--color-accent-soft: #e4f1ea;--color-positive: #10b981;--color-warning: #9a681a;--color-warning-soft: #f4ead5;--color-info: #326c8c;--color-info-soft: #e3eef3;--color-danger: #bf4b3f;--color-danger-soft: #f6e7e3;--color-gate-sign: #fbbf24;--color-on-gate-sign: #171509;--color-header: rgb(245 244 239 / 90%);--color-focus: #46a988;--color-brand-mark: #f8f7f2;--color-map-surface: #eef2f6;--color-map-ocean: #eaf1f6;--color-map-land: #f5f3ed;--color-map-land-line: #e4e0d6;--color-map-grid: #e0e7ee;--color-map-outline: rgb(70 84 79 / 21%);--color-map-route: #2f7076;--color-map-route-warm: #377b78;--color-map-route-cool: #486f8a;--color-map-route-underlay: rgb(255 253 247 / 48%);--color-map-airport: #285f65;--color-map-text: #263330;--color-map-muted: #5d6c68;--color-map-faint: #78827e;--color-map-tooltip: rgb(255 253 248 / 97%);--color-map-tooltip-line: rgb(38 51 47 / 12%);--color-map-visited-low: #d2dddd;--color-map-visited-medium: #c4d4d4;--color-map-visited-high: #b5c9cc;--shadow-raised: 0 12px 36px rgb(28 37 32 / 5%);color-scheme:light}:root[data-theme=dark]{--color-text: #f4f6f8;--color-text-muted: #a4abb6;--color-text-faint: #858d9a;--color-canvas: #090b0e;--color-surface: #111317;--color-surface-raised: #15191f;--color-surface-sunken: #0c0e12;--color-surface-glass: rgb(17 19 23 / 88%);--color-line: #242a35;--color-line-strong: #374151;--color-accent: #4edea3;--color-accent-bright: #6ffbbe;--color-accent-soft: #12382c;--color-positive: #4edea3;--color-warning: #ffb95f;--color-warning-soft: #392609;--color-info: #8dc7e5;--color-info-soft: #1b3441;--color-danger: #ff746b;--color-danger-soft: #3d1a1c;--color-gate-sign: #fbbf24;--color-on-gate-sign: #171509;--color-header: rgb(9 11 14 / 92%);--color-focus: #6ffbbe;--color-brand-mark: #090b0e;--color-map-surface: #111718;--color-map-ocean: #151c1d;--color-map-land: #252d2d;--color-map-land-line: rgb(176 190 186 / 6%);--color-map-grid: rgb(176 190 186 / 4%);--color-map-outline: rgb(177 195 190 / 16%);--color-map-route: #82b3b0;--color-map-route-warm: #7fb2ac;--color-map-route-cool: #829eb7;--color-map-route-underlay: rgb(7 12 13 / 64%);--color-map-airport: #99c5bf;--color-map-text: #e9efec;--color-map-muted: #a6b2ae;--color-map-faint: #84918d;--color-map-tooltip: rgb(18 25 25 / 97%);--color-map-tooltip-line: rgb(224 237 231 / 12%);--color-map-visited-low: #304344;--color-map-visited-medium: #354b4e;--color-map-visited-high: #3c5358;--shadow-raised: none;color-scheme:dark}.aviation-icon{display:inline-block;width:1.25em;height:1.25em;flex:0 0 auto;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6}.aviation-status{--aviation-status-color: var(--color-text-muted);--aviation-status-surface: var(--color-surface-sunken);display:inline-flex;min-height:24px;align-items:center;justify-content:center;padding:4px 9px;border:1px solid color-mix(in srgb,var(--aviation-status-color) 14%,transparent);border-radius:var(--radius-control);color:var(--aviation-status-color);background:var(--aviation-status-surface);font-family:var(--font-family-mono);font-size:var(--font-size-caption);font-feature-settings:var(--numeric-features);font-weight:var(--font-weight-semibold);line-height:1.15;white-space:nowrap}.aviation-status--positive{--aviation-status-color: var(--color-accent);--aviation-status-surface: var(--color-accent-soft)}.aviation-status--attention{--aviation-status-color: var(--color-warning);--aviation-status-surface: var(--color-warning-soft)}.aviation-status--critical{--aviation-status-color: var(--color-danger);--aviation-status-surface: var(--color-danger-soft)}.aviation-status--info{--aviation-status-color: var(--color-info);--aviation-status-surface: var(--color-info-soft)}.airport-code-display{display:inline-block;font-family:var(--font-family-data);font-feature-settings:var(--numeric-features);font-weight:var(--font-weight-display);letter-spacing:var(--tracking-airport);line-height:var(--type-leading-data);text-transform:uppercase;white-space:nowrap}.airport-code-display--compact{font-size:var(--type-size-airport-compact);font-weight:var(--font-weight-semibold)}.airport-code-display--display{font-size:var(--type-size-airport-display)}*{box-sizing:border-box}html{min-width:0;scroll-behavior:smooth}body{margin:0;min-width:0;min-height:100vh;color:var(--color-text);background:var(--color-canvas);font-family:var(--font-family-ui);font-size:var(--type-size-body);font-weight:var(--font-weight-regular);line-height:var(--type-leading-body)}#root{min-width:0;min-height:100vh;min-height:100svh}button,input,select,textarea,a{font:inherit}a{color:inherit}button{cursor:pointer;transition:border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}button:disabled{cursor:not-allowed;opacity:.5}.detail-toolbar>div{display:flex;gap:9px;align-items:center}.bootstrap-screen{display:grid;width:min(420px,calc(100% - 40px));min-height:100vh;margin:0 auto;place-content:center;justify-items:center;gap:12px;text-align:center}.bootstrap-screen>strong{font-family:var(--font-family-display);font-size:var(--type-size-data-emphasis);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-tight);line-height:var(--type-leading-heading)}.bootstrap-screen>p{max-width:360px;margin:2px 0 10px;color:var(--muted);line-height:var(--type-leading-body)}.skip-link{position:fixed;z-index:100;top:max(10px,env(safe-area-inset-top));left:max(10px,env(safe-area-inset-left));padding:10px 14px;border-radius:var(--radius-control);color:var(--surface);background:var(--ink);transform:translateY(-160%);transition:transform var(--duration-fast) var(--ease-standard)}.skip-link:focus{transform:translateY(0)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{min-width:0;min-height:100vh;min-height:100svh}.site-header{position:sticky;z-index:20;top:0;width:100%;padding-top:env(safe-area-inset-top);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--color-surface) 92%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.site-header-inner,.page-shell,.page-notices{width:100%;max-width:calc(var(--layout-content-max) + var(--layout-gutter) + var(--layout-gutter));margin-inline:auto;padding-inline:max(var(--layout-gutter),env(safe-area-inset-left)) max(var(--layout-gutter),env(safe-area-inset-right))}.site-header-inner{display:flex;min-width:0;min-height:var(--layout-header-height);align-items:center;justify-content:space-between;gap:var(--space-6)}.page-shell{min-width:0;padding-top:var(--layout-page-start);padding-bottom:calc(var(--layout-page-end) + env(safe-area-inset-bottom));scroll-margin-top:calc(var(--layout-header-height) + var(--space-4))}.wordmark{display:inline-flex;align-items:center;gap:8px;color:var(--color-text);font-family:var(--font-family-display);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-wordmark);line-height:var(--type-leading-label);text-decoration:none;flex:0 0 auto}.wordmark-name{font-size:1.25rem;font-weight:var(--font-weight-bold);letter-spacing:.02em;line-height:1}.wordmark-context{padding:3px 5px 2px;border:1px solid var(--line);border-radius:var(--radius-control);color:var(--faint);background:var(--color-surface-raised);font-family:var(--font-family-mono);font-size:.625rem;font-weight:var(--font-weight-semibold);letter-spacing:.08em;line-height:1}.wordmark-mark{display:grid;width:29px;height:29px;place-items:center;border-radius:var(--radius-control);color:var(--color-brand-mark);background:var(--ink);font-family:var(--font-family-data);font-size:var(--type-size-caption);font-feature-settings:var(--numeric-features);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-data);line-height:var(--type-leading-data)}.site-navigation{display:flex;min-width:0;align-self:stretch;gap:4px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none}.site-navigation::-webkit-scrollbar{display:none}.site-navigation a{position:relative;display:inline-flex;flex:0 0 auto;align-items:center;padding:9px 12px 8px;border-bottom:2px solid transparent;border-radius:var(--radius-control) var(--radius-control) 0 0;color:var(--muted);font-family:var(--font-family-mono);font-size:var(--type-size-label);letter-spacing:.04em;line-height:var(--type-leading-label);text-decoration:none;transition:color var(--duration-fast) var(--ease-standard)}.site-navigation a:after{display:none}.site-navigation a[aria-current=page]{border-bottom-color:var(--green);color:var(--green);background:var(--color-surface-raised)}.site-navigation a:hover{color:var(--ink);background:var(--color-surface-raised)}.eyebrow{margin:0;color:var(--green);font-family:var(--font-family-mono);font-size:var(--type-size-label);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-eyebrow);line-height:var(--type-leading-label);text-transform:uppercase}.welcome h1,.page-placeholder h1{max-width:680px;margin:18px 0;font-family:var(--font-family-display);font-size:var(--type-size-page);font-weight:var(--font-weight-display);letter-spacing:var(--tracking-display);line-height:var(--type-leading-display)}.welcome>p:not(.eyebrow,.privacy-note){max-width:580px;color:var(--muted);font-size:var(--type-size-lead);line-height:var(--type-leading-lead)}.welcome-actions{display:flex;gap:10px;margin-top:36px}.button-primary,.button-secondary,.import-primary{display:inline-grid;align-items:center;justify-content:center;min-height:var(--control-height-lg);padding:0 19px;border:1px solid var(--green);border-radius:var(--radius-control);color:var(--color-brand-mark);background:var(--green);cursor:pointer;font-size:var(--type-size-label);font-weight:var(--font-weight-medium);line-height:var(--type-leading-label)}.button-secondary{border-color:var(--line);color:var(--ink);background:transparent}.welcome-import .import-primary{border-color:transparent;color:var(--muted);background:transparent}.welcome-import .drop-hint{display:none}.privacy-note{margin-top:18px;color:var(--faint);font-size:var(--type-size-label);line-height:var(--type-leading-label)}.import-control-primary{display:grid;grid-template-columns:auto auto;gap:10px 15px;align-items:center}.drop-hint{color:var(--faint);font-size:var(--type-size-caption);line-height:var(--type-leading-caption)}.validation-errors{max-width:680px;margin-top:18px;padding:18px;border-left:3px solid var(--red);color:var(--ink);background:var(--red-soft);font-size:var(--font-size-caption)}.validation-errors>strong{color:var(--red)}.validation-errors ul{display:grid;gap:13px;margin:14px 0 0;padding-left:19px}.validation-errors li span{display:block;margin-bottom:3px;color:var(--muted);font-size:var(--font-size-caption)}.validation-errors code{display:block;margin-top:5px;overflow-wrap:anywhere;color:var(--red)}.loading-screen{display:grid;min-width:0;min-height:100vh;place-items:center;background:var(--surface)}.loading-screen span{display:grid;width:44px;height:44px;place-items:center;border-radius:calc(var(--radius-card) + 6px);color:var(--surface);background:var(--ink);font-family:var(--font-family-data);font-weight:var(--font-weight-bold)}.storage-warning{margin:16px 0;padding:11px 14px;border-left:3px solid var(--red);color:var(--red);background:var(--red-soft);font-size:var(--type-size-caption);line-height:var(--type-leading-caption)}.demo-banner{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:16px;padding:10px 14px;border:1px solid var(--line);border-left:3px solid var(--green);border-radius:var(--radius-control);background:var(--color-surface-raised)}.demo-banner>div{display:flex;min-width:0;gap:10px;align-items:baseline}.demo-banner strong{flex:0 0 auto;color:var(--green);font-size:var(--font-size-label)}.demo-banner span{overflow:hidden;color:var(--muted);font-size:var(--font-size-caption);text-overflow:ellipsis;white-space:nowrap}.demo-banner button{flex:0 0 auto;padding:7px 11px;border:1px solid var(--green);border-radius:var(--radius-pill);color:var(--green);background:transparent;font-size:var(--font-size-caption)}.demo-banner--compact{gap:16px;margin-top:9px;padding:5px 0 6px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}.demo-banner--compact>div{gap:0}.demo-banner--compact strong{color:var(--faint);font-family:var(--font-family-mono);font-size:.7rem;font-weight:var(--font-weight-medium);letter-spacing:.04em}.demo-banner--compact span{display:none}.demo-banner--compact button{min-height:27px;padding:3px 0;border:0;border-radius:0;color:var(--muted);background:transparent;font-size:.7rem;text-decoration-color:transparent;text-underline-offset:3px}.demo-banner--compact button:hover{color:var(--ink);text-decoration:underline;text-decoration-color:currentColor}.demo-banner--compact button:active{color:var(--green)}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:34px}.page-heading h1{margin:8px 0 0;font-family:var(--font-family-display);font-size:var(--type-size-page);font-weight:var(--font-weight-display);letter-spacing:var(--tracking-display);line-height:var(--type-leading-display)}.add-flight-button,.edit-flight-button{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:0 14px;border:1px solid var(--green);border-radius:var(--radius-control);color:var(--color-brand-mark);background:var(--green);font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);line-height:var(--type-leading-label)}.search-field{position:relative;display:flex;width:100%;align-items:center;min-height:48px;margin-bottom:32px;padding:0 14px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--color-surface-sunken);box-shadow:none}.search-field svg{width:19px;height:19px;flex:0 0 auto;fill:none;stroke:var(--muted);stroke-linecap:round;stroke-width:1.7}.search-field input{width:100%;padding:13px 40px 13px 12px;border:0;outline:0;color:var(--ink);background:transparent;font-size:1rem}.search-field input::placeholder{color:var(--faint)}.search-field input::-webkit-search-cancel-button{display:none}.clear-search{position:absolute;right:0;width:34px;height:34px;padding:0;border:0;border-radius:50%;color:var(--muted);background:transparent;font-size:1.5rem}.flight-year{margin-top:36px}.flight-year:first-child{margin-top:0}.year-heading{display:flex;align-items:baseline;justify-content:space-between;padding:0 2px 11px}.year-heading h2{margin:0;font-family:var(--font-family-mono);font-size:var(--type-size-data-heading);font-feature-settings:var(--numeric-features);font-weight:var(--font-weight-semibold);letter-spacing:.02em;line-height:var(--type-leading-heading)}.year-heading span{color:var(--faint);font-family:var(--font-family-mono);font-size:var(--font-size-label)}.flight-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.flight-row{display:flex;width:100%;min-width:0;min-height:184px;flex-direction:column;justify-content:space-between;gap:24px;padding:22px;border:1px solid var(--line);border-radius:var(--radius-card);color:inherit;background:var(--surface);text-align:left;transition:border-color var(--duration-standard) var(--ease-standard),background-color var(--duration-standard) var(--ease-standard)}.flight-row:hover{border-color:var(--color-line-strong);background:var(--color-surface-raised)}.flight-record-meta{display:grid;min-width:0;grid-template-columns:minmax(0,1fr) auto auto;gap:16px;align-items:center;padding-top:15px;border-top:1px solid var(--line)}.flight-date{color:var(--faint);font-family:var(--font-family-mono);font-size:var(--type-size-caption);font-feature-settings:var(--numeric-features);font-variant-numeric:tabular-nums;line-height:var(--type-leading-caption);white-space:nowrap}.flight-number{display:flex;min-width:0;flex-direction:column;gap:5px}.flight-number strong{font-family:var(--font-family-data);font-size:var(--type-size-data-emphasis);font-feature-settings:var(--numeric-features);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-flight);line-height:var(--type-leading-data);white-space:nowrap}.flight-number span{overflow:hidden;color:var(--faint);font-size:var(--type-size-caption);line-height:var(--type-leading-caption);text-overflow:ellipsis;white-space:nowrap}.flight-route{display:grid;min-width:0;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:18px;align-items:center}.flight-airport{display:grid;min-width:0;grid-template-columns:auto auto;gap:7px 12px;align-items:baseline;justify-content:start}.flight-airport small{grid-column:1 / -1;overflow:hidden;max-width:180px;color:var(--faint);font-size:var(--type-size-caption);line-height:var(--type-leading-caption);text-overflow:ellipsis;white-space:nowrap}.flight-airport-arrival{justify-content:end;text-align:right}.flight-route .airport-code-display{font-size:clamp(2.25rem,4vw,3.15rem);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-flight)}.flight-airport time{color:var(--muted);font-family:var(--font-family-data);font-size:var(--type-size-data-emphasis);font-feature-settings:var(--numeric-features);font-variant-numeric:tabular-nums;font-weight:var(--font-weight-medium);letter-spacing:var(--tracking-data);line-height:var(--type-leading-data);white-space:nowrap}.route-direction{color:var(--green);font-family:var(--font-family-data);font-size:1.25rem;font-weight:var(--font-weight-light);line-height:1}.flight-status{justify-self:end}.flight-row .aviation-status--neutral,.flight-row .aviation-status--positive{min-height:auto;padding:0;border-color:transparent;background:transparent}.no-results{padding:72px 0;text-align:center}.no-results h2{margin:0;font-size:1.4rem}.no-results p{color:var(--muted)}.page-placeholder{padding:120px 0}.detail-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.back-button{display:inline-flex;align-items:center;gap:9px;padding:8px 0;border:0;color:var(--muted);background:transparent;font-family:var(--font-family-mono);font-size:var(--type-size-caption);letter-spacing:.04em;line-height:var(--type-leading-label)}.back-button span{font-size:1.1rem}.back-button:hover{color:var(--ink)}.back-button:active{color:var(--green)}.detail-action{min-height:35px;border-radius:var(--radius-control);font-size:var(--type-size-caption);line-height:1}.detail-action-secondary{padding:0 8px;border:1px solid transparent;color:var(--muted);background:transparent;font-weight:var(--font-weight-medium)}.detail-action-secondary:hover{border-color:var(--line);color:var(--ink);background:var(--color-surface-raised)}.detail-action-secondary:active{border-color:var(--color-line-strong);background:var(--color-surface-sunken)}.detail-action-primary{padding:0 15px;border:1px solid var(--ink);color:var(--surface);background:var(--ink);font-weight:var(--font-weight-semibold)}.detail-action-primary:hover{border-color:color-mix(in srgb,var(--ink) 82%,var(--green));background:color-mix(in srgb,var(--ink) 82%,var(--green))}.detail-action-primary:active{border-color:var(--green);background:var(--green)}.editor-backdrop{position:fixed;z-index:80;inset:0;display:grid;overflow-y:auto;place-items:center;padding:max(32px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(32px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));background:var(--color-overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.flight-editor{width:min(760px,100%);max-height:calc(100vh - 64px);max-height:calc(100dvh - max(32px,env(safe-area-inset-top)) - max(32px,env(safe-area-inset-bottom)));overflow-y:auto;padding:38px;border-radius:var(--radius-modal);color:var(--ink);background:var(--surface);box-shadow:var(--shadow-modal)}.editor-heading{display:flex;align-items:flex-start;justify-content:space-between;padding-bottom:25px;border-bottom:1px solid var(--ink)}.editor-heading h2{margin:9px 0 0;font-family:var(--font-family-display);font-size:var(--type-size-dialog);font-weight:var(--font-weight-medium);letter-spacing:var(--tracking-tight);line-height:var(--type-leading-heading)}.editor-close{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;color:var(--muted);background:transparent;font-size:1.45rem}.editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:28px 0}.editor-group-title{grid-column:1 / -1;margin:4px 0 -8px;font-size:var(--type-size-label);font-weight:var(--font-weight-semibold)}.editor-field-wide{grid-column:1 / -1}.editor-grid label,.editor-schedule label{display:flex;min-width:0;flex-direction:column;gap:8px}.editor-grid label>span,.editor-schedule label>span{color:var(--muted);font-size:var(--font-size-caption)}.airport-combobox{position:relative;display:flex;min-width:0;flex-direction:column;gap:8px}.airport-combobox>label{color:var(--muted);font-size:var(--font-size-caption)}.editor-field-hint{min-height:1.4em;color:var(--faint);font-size:var(--font-size-caption);line-height:1.4}.editor-field-warning{color:var(--color-warning);font-size:var(--font-size-caption);line-height:1.4}.editor-grid input,.editor-grid select,.editor-schedule input,.airport-combobox>input{width:100%;min-height:var(--control-height-md);padding:9px 11px;border:1px solid var(--line);border-radius:var(--radius-control);color:var(--ink);background:var(--surface)}.airport-options{position:absolute;z-index:8;top:calc(var(--control-height-md) + 27px);right:0;left:0;max-height:270px;overflow-y:auto;border:1px solid var(--ink);border-radius:var(--radius-control);background:var(--surface);box-shadow:0 16px 45px #00000029}.airport-options button{display:grid;width:100%;grid-template-columns:50px 1fr;grid-template-areas:"code name" "code meta";gap:2px 10px;padding:11px 12px;border:0;border-bottom:1px solid var(--line);color:inherit;background:transparent;text-align:left}.airport-options button:last-child{border-bottom:0}.airport-options button:hover,.airport-options button[aria-selected=true]{background:var(--green-soft)}.airport-options strong{grid-area:code;align-self:center;color:var(--green);font-family:var(--font-family-data);font-feature-settings:var(--numeric-features);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-airport)}.airport-options span{grid-area:name;overflow:hidden;font-size:var(--type-size-label);font-weight:var(--font-weight-semibold);line-height:var(--type-leading-label);text-overflow:ellipsis;white-space:nowrap}.airport-options small{grid-area:meta;overflow:hidden;color:var(--muted);font-size:var(--font-size-caption);text-overflow:ellipsis;white-space:nowrap}.airport-options>p{margin:0;padding:16px 12px;color:var(--muted);font-size:var(--font-size-label)}.editor-schedule{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:12px;margin:0;padding:24px 0 0;border:0;border-top:1px solid var(--line)}.editor-schedule legend{padding:0 0 16px;font-size:var(--type-size-label);font-weight:var(--font-weight-semibold);line-height:var(--type-leading-label)}.editor-time-note{margin:12px 0 0;color:var(--faint);font-size:var(--font-size-caption);line-height:1.5}.editor-optional{margin-top:24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.editor-optional>summary{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding:18px 0;cursor:pointer;list-style:none}.editor-optional>summary::-webkit-details-marker{display:none}.editor-optional>summary:after{color:var(--muted);content:"+";font-size:1.1rem}.editor-optional[open]>summary:after{content:"−"}.editor-optional>summary span{font-size:var(--type-size-label);font-weight:var(--font-weight-semibold);line-height:var(--type-leading-label)}.editor-optional>summary small{margin-left:auto;color:var(--faint);font-size:var(--font-size-caption)}.editor-actual-times{border-top:0}.editor-facts-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0;padding:24px 0;border:0;border-top:1px solid var(--line)}.editor-facts-grid legend{padding:0 0 16px;font-size:var(--type-size-label);font-weight:var(--font-weight-semibold);line-height:var(--type-leading-label)}.editor-facts-grid label{display:flex;min-width:0;flex-direction:column;gap:8px}.editor-facts-grid label>span{color:var(--muted);font-size:var(--font-size-caption)}.editor-facts-grid input,.editor-facts-grid select{width:100%;min-height:var(--control-height-md);padding:9px 11px;border:1px solid var(--line);border-radius:var(--radius-control);color:var(--ink);background:var(--surface)}.editor-travel-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:28px}.editor-travel-grid input[readonly]{color:var(--muted);background:var(--color-surface-sunken)}.editor-airport-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.editor-baggage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-onboard-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.editor-onboard-grid>label{grid-column:span 2}.editor-onboard-grid>label:nth-last-child(-n+2){grid-column:span 3}.editor-error{margin:18px 0 0;padding:12px 14px;color:var(--red);background:var(--red-soft);font-size:var(--font-size-caption)}.editor-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:30px;padding-top:22px;border-top:1px solid var(--line)}.editor-actions>div{display:flex;gap:8px}.editor-actions .button-primary,.editor-actions .button-secondary{min-height:40px;padding:0 16px;font-size:var(--font-size-label)}.editor-delete{padding:8px 0;border:0;color:var(--red);background:transparent;font-size:var(--font-size-label)}.confirmation-backdrop{position:fixed;z-index:120;inset:0;display:grid;overflow-y:auto;place-items:center;padding:max(24px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));background:var(--color-overlay)}.confirmation-dialog{width:min(440px,100%);padding:28px;border:1px solid var(--color-line-strong);border-radius:var(--radius-modal);color:var(--ink);background:var(--surface);box-shadow:none}.confirmation-dialog h2{margin:0;font-family:var(--font-family-display);font-size:var(--type-size-data-heading);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-tight);line-height:var(--type-leading-heading)}.confirmation-dialog p{margin:14px 0 0;color:var(--muted);font-size:var(--type-size-body);line-height:var(--type-leading-body)}.confirmation-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:26px;padding-top:18px;border-top:1px solid var(--line)}.confirmation-actions button{min-height:40px;padding:0 16px;border-radius:var(--radius-control);cursor:pointer;font-size:var(--type-size-label);font-weight:var(--font-weight-medium)}.confirmation-danger{border:1px solid var(--red);color:var(--color-brand-mark);background:var(--red)}.detail-page{--detail-inline: clamp(28px, 4vw, 52px);max-width:calc(1160px + var(--layout-gutter) + var(--layout-gutter))}.detail-flight-card{overflow:hidden;margin-top:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;color:var(--ink);background:var(--color-surface-raised);box-shadow:none}.detail-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:36px;padding:22px var(--detail-inline) 20px;border-bottom:1px solid var(--line);background:transparent}.detail-heading h1{margin:0 0 5px;font-family:var(--font-family-data);font-size:1.4rem;font-feature-settings:var(--numeric-features);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-data);line-height:var(--type-leading-data);white-space:nowrap}.detail-heading p:not(.eyebrow){margin:0;color:var(--muted)}.detail-airline-line{display:grid;gap:0}.detail-airline-line>span{color:var(--muted);font-size:.875rem;font-weight:var(--font-weight-medium);line-height:1.4}.detail-airline-line small{color:var(--faint);font-size:.73rem;line-height:1.35}.detail-heading-meta{display:flex;align-items:flex-end;flex-direction:column;gap:6px;padding-top:1px;text-align:right}.detail-heading-meta>time{color:var(--muted);font-family:var(--font-family-mono);font-size:var(--type-size-caption);font-variant-numeric:tabular-nums;letter-spacing:.02em}.detail-operational-status{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:var(--type-size-caption);font-weight:var(--font-weight-semibold);line-height:var(--type-leading-label);white-space:nowrap}.detail-operational-status i{width:4px;height:4px;flex:0 0 auto;border-radius:50%;background:currentColor}.detail-operational-status.is-delayed,.detail-operational-status.is-diverted{color:var(--color-warning)}.detail-operational-status.is-cancelled{color:var(--red)}.detail-operational-status.is-completed,.detail-operational-status.is-early,.detail-operational-status.is-onTime{color:var(--green)}.detail-duration{display:flex;align-items:center;flex-direction:column;color:var(--muted);font-family:var(--font-family-mono);font-size:var(--type-size-caption);font-feature-settings:var(--numeric-features);font-variant-numeric:tabular-nums;letter-spacing:0;line-height:var(--type-leading-label)}.detail-duration:before{width:1px;height:5px;margin-top:-10px;margin-bottom:5px;background:var(--color-line-strong);content:""}.detail-duration small{margin-top:2px;color:var(--faint);font-family:var(--font-family-ui);font-size:.72rem;letter-spacing:0}.route-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,.48fr) minmax(0,1fr);grid-template-areas:"origin-role . arrival-role" "origin-code . arrival-code" "origin-city . arrival-city" "origin-time track arrival-time" "origin-airport . arrival-airport";column-gap:clamp(28px,4vw,58px);align-items:start;padding:34px var(--detail-inline) 36px;background:transparent}.airport-role{color:var(--faint);font-family:var(--font-family-mono);font-size:var(--type-size-caption);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-eyebrow);line-height:var(--type-leading-caption);text-transform:uppercase}.route-origin-role{grid-area:origin-role}.route-arrival-role{grid-area:arrival-role;justify-self:end;text-align:right}.airport-code{margin:14px 0 0;color:var(--ink);font-family:var(--font-family-data);font-size:clamp(3rem,4.7vw,3.65rem);font-weight:var(--font-weight-semibold);letter-spacing:-.025em;line-height:var(--type-leading-data)}.route-origin-code{grid-area:origin-code}.route-arrival-code{grid-area:arrival-code;justify-self:end}.detail-airport-city{max-width:100%;margin-top:8px;color:var(--muted);font-size:clamp(1.05rem,1.6vw,1.2rem);font-weight:var(--font-weight-medium);line-height:var(--type-leading-label)}.route-origin-city{grid-area:origin-city}.route-arrival-city{grid-area:arrival-city;justify-self:end;text-align:right}.route-time{display:grid;min-width:0;gap:6px;margin-top:23px}.route-origin-time{grid-area:origin-time}.route-arrival-time{grid-area:arrival-time;justify-items:end;text-align:right}.detail-airport-time{margin:0;color:var(--ink);font-family:var(--font-family-data);font-size:clamp(2.15rem,3.5vw,2.65rem);font-feature-settings:var(--numeric-features);font-variant-numeric:tabular-nums;font-weight:var(--font-weight-medium);letter-spacing:var(--tracking-data);line-height:var(--type-leading-data);white-space:nowrap}.route-time small{color:var(--faint);font-size:var(--type-size-caption);line-height:var(--type-leading-caption);white-space:nowrap}.route-airport-name{max-width:100%;margin-top:16px;color:var(--faint);font-size:var(--type-size-caption);line-height:1.5;overflow-wrap:anywhere}.route-origin-airport{grid-area:origin-airport}.route-arrival-airport{grid-area:arrival-airport;justify-self:end;text-align:right}.route-track{position:relative;display:grid;min-width:0;grid-area:track;align-self:start;gap:9px;margin-top:31px;text-align:center}.route-track:before{position:absolute;z-index:1;top:-2px;left:58%;width:4px;height:4px;border-top:1px solid var(--muted);border-right:1px solid var(--muted);content:"";transform:rotate(45deg)}.route-track-line{position:relative;display:block;height:1px;background:color-mix(in srgb,var(--color-line-strong) 82%,transparent);transform-origin:center}.route-track-line:before,.route-track-line:after{position:absolute;top:50%;border-radius:50%;content:"";transform:translateY(-50%)}.route-track-line:before{left:0;width:4px;height:4px;background:var(--muted)}.route-track-line:after{right:0;width:5px;height:5px;border:1px solid var(--muted);background:var(--color-surface-raised)}.timeline{display:grid;grid-template-columns:minmax(170px,.45fr) minmax(420px,1fr);gap:48px;margin:0;padding:30px 28px;border-top:1px solid var(--line);background:var(--color-surface-raised)}.section-heading h2{margin:9px 0 0;font-family:var(--font-family-display);font-size:var(--type-size-section);font-weight:var(--font-weight-medium);letter-spacing:var(--tracking-tight);line-height:var(--type-leading-heading)}.timeline-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.timeline-event{display:grid;grid-template-columns:1fr 18px 1fr;gap:25px;align-items:center}.timeline-event p{margin:0 0 6px;color:var(--muted);font-size:var(--font-size-label)}.timeline-event>div:first-child{display:flex;flex-direction:column}.timeline-event>div:first-child>strong{font-family:var(--font-family-data);font-size:var(--type-size-time-detail);font-feature-settings:var(--numeric-features);font-weight:var(--font-weight-medium);letter-spacing:var(--tracking-data);font-variant-numeric:tabular-nums;line-height:var(--type-leading-data);white-space:nowrap}.timeline-event small{margin-top:3px;color:var(--faint);font-size:var(--font-size-caption)}.timeline-dot{width:13px;height:13px;border:3px solid var(--surface);border-radius:50%;background:var(--green);box-shadow:0 0 0 1px var(--green)}.timeline-place{display:flex;min-width:0;flex-direction:column}.timeline-place strong{font-family:var(--font-family-data);font-size:var(--type-size-flight-row);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-airport);line-height:var(--type-leading-data)}.timeline-place small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-stem{display:none;grid-template-columns:1fr 18px 1fr;gap:25px}.timeline-stem i{grid-column:2;width:1px;height:calc(100% + 2px);justify-self:center;background:var(--line)}.delay-summary{display:grid;grid-template-columns:1fr 1fr;margin:0;padding:0 28px;border-top:1px solid var(--line);background:var(--color-surface-sunken)}.delay-summary>div{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:24px;padding:20px 0}.delay-summary>div:first-child{padding-right:30px;border-right:1px solid var(--line)}.delay-summary>div:last-child{padding-left:30px}.delay-summary span{min-width:0;color:var(--muted);font-size:var(--type-size-caption);line-height:var(--type-leading-caption);overflow-wrap:anywhere}.delay-summary strong{flex:0 0 auto;font-family:var(--font-family-data);font-size:var(--type-size-data-emphasis);font-feature-settings:var(--numeric-features);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums;line-height:var(--type-leading-data);white-space:nowrap}.delay-summary .delay-positive{color:var(--red)}.flight-facilities{display:grid;grid-template-columns:minmax(170px,.45fr) minmax(420px,1fr);gap:48px;margin:0;padding:30px var(--detail-inline) 28px;border-top:1px solid var(--line);background:transparent}.flight-facts{margin:0;padding:32px var(--detail-inline) 36px;border-top:1px solid var(--line);background:transparent}.flight-facts>h2{margin:0 0 25px;font-size:1.05rem;font-weight:var(--font-weight-semibold);letter-spacing:0;line-height:var(--type-leading-heading)}.fact-groups{display:grid;gap:31px}.fact-group{min-width:0}.fact-group h3{margin:0 0 17px;color:var(--faint);font-family:var(--font-family-mono);font-size:.7rem;font-weight:var(--font-weight-semibold);letter-spacing:.07em;line-height:var(--type-leading-caption);text-transform:uppercase}.facility-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--ink)}.facility-stop{min-width:0;padding:20px 0 4px}.facility-stop+.facility-stop{margin-left:28px;padding-left:28px;border-left:1px solid var(--line)}.facility-stop-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:20px}.facility-stop-heading span{color:var(--muted);font-family:var(--font-family-mono);font-size:var(--type-size-caption);letter-spacing:.02em}.facility-stop-heading strong{font-family:var(--font-family-data);font-size:var(--type-size-body);letter-spacing:var(--tracking-airport)}.facility-values{display:flex;min-width:0;align-items:stretch;justify-content:space-between;gap:16px}.facility-terminal{display:flex;min-width:0;flex:1 1 auto;flex-direction:column;justify-content:center;gap:7px}.facility-terminal span,.gate-sign span{font-family:var(--font-family-mono);font-size:var(--type-size-caption);letter-spacing:.08em;line-height:1;text-transform:uppercase}.facility-terminal span{color:var(--faint)}.facility-terminal strong{overflow:hidden;font-family:var(--font-family-data);font-size:clamp(2rem,3vw,2.65rem);font-feature-settings:var(--numeric-features);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-data);line-height:1;text-overflow:ellipsis;white-space:nowrap}.gate-sign{display:flex;min-width:86px;min-height:78px;flex:0 0 auto;align-items:center;justify-content:center;flex-direction:column;gap:9px;padding:12px 16px;color:var(--color-on-gate-sign);background:var(--color-gate-sign);text-align:center}.gate-sign strong{max-width:116px;overflow:hidden;font-family:var(--font-family-data);font-size:clamp(1.5rem,2.4vw,2rem);font-feature-settings:var(--numeric-features);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-flight);line-height:1;text-overflow:ellipsis;white-space:nowrap}.facility-grid--single{grid-template-columns:minmax(260px,420px)}.facility-grid--single .facility-stop{display:grid;grid-template-columns:minmax(88px,.55fr) minmax(120px,1fr);align-items:center;gap:24px;padding-top:18px}.facility-grid--single .facility-stop-heading{align-items:flex-start;flex-direction:column;gap:6px;margin:0}.facility-grid--single .facility-values{justify-content:flex-start}.detail-route-map{overflow:hidden;padding:36px var(--detail-inline) 42px;border-top:1px solid var(--line);color:var(--color-map-text);background:var(--color-map-surface)}.detail-route-map-loading{display:grid;min-height:260px;place-items:center;color:var(--color-map-faint)}.detail-route-map-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:32px}.detail-route-map-heading h2{margin:0;font-family:var(--font-family-data);font-size:1.1rem;font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-airport);line-height:var(--type-leading-heading)}.detail-route-map-heading>p{max-width:340px;margin:0;color:var(--color-map-muted);font-size:var(--type-size-caption);line-height:var(--type-leading-caption);text-align:right}.detail-route-map-canvas{margin-top:22px;aspect-ratio:2.95}.detail-map-route-group path{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.detail-route-map-canvas .map-country{fill:color-mix(in srgb,var(--color-map-land) 82%,var(--color-map-ocean));stroke:color-mix(in srgb,var(--color-map-land-line) 66%,transparent)}.detail-route-map-canvas .map-coastline{stroke:color-mix(in srgb,var(--color-map-outline) 78%,transparent)}.detail-map-route{stroke:url(#detail-route-gradient);stroke-width:1.85}.detail-map-airport-ring{fill:transparent;stroke:color-mix(in srgb,var(--color-map-airport) 28%,transparent);stroke-width:.9}.detail-map-airport-point{fill:var(--color-map-airport);stroke:var(--color-map-ocean);stroke-width:1}.detail-map-airport.is-destination .detail-map-airport-ring{fill:color-mix(in srgb,var(--color-map-airport) 7%,transparent);stroke:color-mix(in srgb,var(--color-map-airport) 58%,transparent);stroke-width:1.15}.detail-map-airport text{fill:var(--color-map-text);paint-order:stroke;stroke:var(--color-map-ocean);stroke-linejoin:round;stroke-width:2.2px;font-family:var(--font-family-data);font-size:var(--type-size-map-label);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-airport)}.facts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(30px,5vw,72px);row-gap:24px;margin:0}.detail-item{display:grid;min-width:0;gap:5px;padding:0}.detail-item dt{order:2;color:var(--faint);font-size:var(--type-size-caption);line-height:var(--type-leading-caption)}.detail-item dd{order:1;margin:0;color:var(--ink);font-family:var(--font-family-data);font-size:1.1rem;font-feature-settings:var(--numeric-features);font-weight:var(--font-weight-medium);line-height:1.25;overflow-wrap:anywhere;text-transform:capitalize}.passport-page{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr);column-gap:20px}.passport-heading{display:flex;grid-column:1 / -1;align-items:flex-end;justify-content:space-between;gap:40px;padding-bottom:18px;border-bottom:1px solid var(--line)}.passport-heading h1{margin:8px 0 3px;font-family:var(--font-family-display);font-size:clamp(2rem,3vw,2.75rem);font-weight:var(--font-weight-display);letter-spacing:var(--tracking-display);line-height:var(--type-leading-display)}.passport-heading>div:first-child>p:not(.eyebrow){margin:0;color:var(--muted)}.passport-holder-name{font-family:var(--font-family-mono);font-size:var(--type-size-caption);letter-spacing:.02em}.passport-holder-name span{color:var(--faint)}.passport-empty{max-width:560px;margin-top:48px;padding:56px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}.passport-empty h2{margin:13px 0 12px;font-size:var(--font-size-section);font-weight:var(--font-weight-medium);letter-spacing:var(--tracking-tight)}.passport-empty p:not(.eyebrow){max-width:460px;margin:0 0 26px;color:var(--muted);line-height:1.6}.view-switcher{display:flex;gap:4px;overflow-x:auto;max-width:52%;padding:4px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--color-surface-sunken)}.view-switcher button{min-width:0;padding:7px 10px;border:0;border-radius:var(--radius-control);color:var(--muted);background:transparent;font-family:var(--font-family-mono);font-size:var(--font-size-caption);letter-spacing:.03em;white-space:nowrap}.view-switcher button[aria-pressed=true]{color:var(--green);background:var(--color-surface-raised)}.primary-stats{display:grid;grid-column:1 / -1;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:20px}.primary-stats>div{display:flex;min-width:0;flex-direction:column;padding:20px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface)}.primary-stats>div+div{padding-left:20px;border-left:1px solid var(--line)}.primary-stats strong{overflow:hidden;font-family:var(--font-family-data);font-size:clamp(2rem,3vw,2.7rem);font-feature-settings:var(--numeric-features);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-data);font-variant-numeric:tabular-nums;line-height:var(--type-leading-data);text-overflow:ellipsis;white-space:nowrap}.primary-stats span{order:-1;margin:0 0 14px;color:var(--faint);font-family:var(--font-family-mono);font-size:var(--font-size-caption);letter-spacing:.04em;text-transform:uppercase}.passport-counts{display:grid;grid-column:1 / -1;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:12px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--color-surface-sunken)}.passport-counts>div{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:13px 16px}.passport-counts>div+div{padding-left:16px;border-left:1px solid var(--line)}.passport-counts span{color:var(--muted);font-family:var(--font-family-mono);font-size:var(--font-size-caption)}.passport-counts strong{font-family:var(--font-family-mono);font-size:var(--type-size-body);font-feature-settings:var(--numeric-features);font-variant-numeric:tabular-nums}.route-map{grid-column:1;grid-row:4 / span 2;align-self:stretch;margin-top:20px;padding:28px 30px 24px;overflow:hidden;border:0;border-radius:var(--radius-card);color:var(--color-map-text);background:linear-gradient(140deg,color-mix(in srgb,var(--color-map-surface) 52%,transparent),transparent 68%);box-shadow:none}.route-map-loading{display:grid;min-height:420px;place-items:center;color:var(--color-map-faint);font-size:var(--font-size-label)}.route-map-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:50px}.route-map-heading h2{margin:11px 0 10px;font-size:var(--font-size-section);font-weight:var(--font-weight-medium);letter-spacing:var(--tracking-tight)}.route-map-heading p:not(.eyebrow){max-width:480px;margin:0;color:var(--color-map-muted);font-size:var(--font-size-label);line-height:1.6}.route-map-heading>span{flex:0 0 auto;margin-bottom:3px;color:var(--color-map-faint);font-family:var(--font-family-mono);font-size:var(--font-size-caption);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase}.route-map-canvas{margin-top:30px;aspect-ratio:2}.map-viewport{position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 44%,color-mix(in srgb,var(--color-map-ocean) 97%,white) 0%,var(--color-map-ocean) 76%);isolation:isolate}.map-viewport>svg{display:block;width:100%;height:100%;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.map-viewport>svg:active{cursor:grabbing}.map-sphere{fill:transparent;stroke:color-mix(in srgb,var(--color-map-outline) 28%,transparent);stroke-width:.5;vector-effect:non-scaling-stroke}.map-sphere.is-outline-hidden{fill:transparent;stroke:transparent}.map-graticule{fill:none;stroke:var(--color-map-grid);stroke-width:.65;vector-effect:non-scaling-stroke}.map-land{fill:var(--color-map-land);stroke:var(--color-map-land-line);stroke-linejoin:round;stroke-width:.65;vector-effect:non-scaling-stroke}.map-country{fill:var(--color-map-land);stroke:var(--color-map-land-line);stroke-linejoin:round;stroke-width:.28;vector-effect:non-scaling-stroke;transition:filter var(--duration-standard) var(--ease-standard),stroke var(--duration-standard) var(--ease-standard)}.map-country.is-visited.is-low{fill:var(--color-map-visited-low)}.map-country.is-visited.is-medium{fill:var(--color-map-visited-medium)}.map-country.is-visited.is-high{fill:var(--color-map-visited-high)}.map-country:hover{filter:brightness(1.025);stroke:color-mix(in srgb,var(--color-map-outline) 72%,transparent);stroke-width:.44}.map-coastline{fill:none;stroke:var(--color-map-outline);stroke-linejoin:round;stroke-width:.62;vector-effect:non-scaling-stroke;pointer-events:none}.map-route,.map-airport{cursor:pointer;outline:none}.map-routes path{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.map-routes .map-route-hit{stroke:transparent;stroke-width:18;pointer-events:stroke}.map-routes .map-route-underlay{stroke:var(--color-map-route-underlay);stroke-width:3.7;pointer-events:none}.map-routes .map-route-line{stroke:url(#passport-route-gradient);stroke-width:var(--map-route-width);opacity:var(--map-route-opacity);pointer-events:none}.map-route:hover .map-route-line,.map-route:focus-visible .map-route-line,.map-route.is-selected .map-route-line{stroke:var(--color-map-route);opacity:1}.map-route:focus-visible .map-route-underlay,.map-route.is-selected .map-route-underlay{stroke:color-mix(in srgb,var(--color-map-route-underlay) 84%,var(--color-map-route));stroke-width:4.5}.map-airports circle{vector-effect:non-scaling-stroke}.map-airports .map-airport-hit{fill:transparent;stroke:none;pointer-events:all}.map-airports .map-airport-ring{fill:transparent;stroke:color-mix(in srgb,var(--color-map-airport) 15%,transparent);stroke-width:.7;pointer-events:none;transition:fill var(--duration-standard) var(--ease-standard),stroke var(--duration-standard) var(--ease-standard)}.map-airports .map-airport-point{fill:var(--color-map-airport);stroke:color-mix(in srgb,var(--color-map-ocean) 90%,white);stroke-width:.9;pointer-events:none;transition:fill var(--duration-standard) var(--ease-standard),stroke var(--duration-standard) var(--ease-standard)}.map-airport:hover .map-airport-point,.map-airport:focus-visible .map-airport-point,.map-airport.is-selected .map-airport-point{fill:var(--color-map-text);stroke:var(--color-map-airport);stroke-width:1.2}.map-airport:hover .map-airport-ring,.map-airport:focus-visible .map-airport-ring,.map-airport.is-selected .map-airport-ring{fill:color-mix(in srgb,var(--color-map-airport) 7%,transparent);stroke:color-mix(in srgb,var(--color-map-airport) 55%,transparent)}.map-airports .map-airport-label{fill:var(--color-map-text);paint-order:stroke;stroke:color-mix(in srgb,var(--color-map-ocean) 94%,transparent);stroke-linejoin:round;stroke-width:2.1px;font-family:var(--font-family-data);font-size:var(--type-size-map-label);font-weight:var(--font-weight-semibold);letter-spacing:.055em;pointer-events:none;transition:opacity var(--duration-standard) var(--ease-standard)}.map-airports .map-airport-label.is-secondary{opacity:.8}.map-tooltip{pointer-events:none}.map-tooltip rect{fill:var(--color-map-tooltip);stroke:var(--color-map-tooltip-line);stroke-width:1;vector-effect:non-scaling-stroke}.map-tooltip text{fill:var(--color-map-text);stroke:none;font-family:var(--font-family-ui);font-size:10px;letter-spacing:0;paint-order:normal}.map-tooltip-title{font-size:11px;font-weight:var(--font-weight-semibold)}.map-tooltip-detail{fill:var(--color-map-muted);font-family:var(--font-family-data);font-weight:var(--font-weight-semibold)}.map-tooltip-meta{fill:var(--color-map-faint);font-size:9px}.map-zoom-controls{position:absolute;right:11px;bottom:10px;z-index:2;display:flex;gap:5px;opacity:.64;transition:opacity var(--duration-standard) var(--ease-standard)}.map-zoom-controls:hover,.map-zoom-controls:focus-within{opacity:1}.map-zoom-controls button{display:grid;width:29px;height:29px;padding:0;place-items:center;border:1px solid color-mix(in srgb,var(--color-map-outline) 44%,transparent);border-radius:50%;color:var(--color-map-muted);background:color-mix(in srgb,var(--color-map-surface) 68%,transparent)}.map-zoom-controls button:hover:not(:disabled),.map-zoom-controls button:focus-visible{color:var(--color-map-text);border-color:color-mix(in srgb,var(--color-map-outline) 82%,transparent);background:color-mix(in srgb,var(--color-map-surface) 92%,transparent)}.map-zoom-controls button:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px}.map-zoom-controls button:disabled{opacity:.28}.map-zoom-controls svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.4}.map-zoom-controls button:last-child svg{fill:currentColor;stroke:none}.route-map-legend{margin:18px 0 0;color:var(--color-map-faint);font-size:var(--font-size-caption);line-height:1.5}.passport-highlights,.year-history{min-width:0;max-width:none;margin-top:20px;padding:20px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface)}.passport-highlights{grid-column:2;grid-row:4}.year-history{grid-column:2;grid-row:5}.passport-highlights>.section-heading,.year-history>.section-heading{margin-bottom:18px}.highlight-list{margin:0;border-top:1px solid var(--line)}.highlight-list>div{display:grid;grid-template-columns:1fr;gap:7px;align-items:baseline;padding:15px 0;border-bottom:1px solid var(--line)}.highlight-list dt{color:var(--muted);font-size:var(--font-size-label)}.highlight-list dd{margin:0;font-size:var(--type-size-body);font-weight:var(--font-weight-semibold);text-align:left}.highlight-list dd>button{display:grid;width:100%;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:5px 8px;padding:0;border:0;color:inherit;background:transparent;font:inherit;text-align:left}.highlight-list dd>button>span:first-child{min-width:0;overflow-wrap:anywhere}.highlight-list dd>button>small{grid-column:1;grid-row:2}.highlight-list dd>button>span:last-child{grid-column:2;grid-row:1 / span 2;align-self:center}.highlight-list dd>button:hover{color:var(--green)}.highlight-list small{color:var(--faint);font-size:var(--font-size-caption);font-weight:var(--font-weight-regular);white-space:nowrap}.passport-exploration{display:grid;grid-column:1 / -1;grid-row:6;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:28px 48px;margin-top:28px;padding:28px 0 0;border-top:1px solid var(--ink)}.passport-exploration-heading{display:flex;grid-column:1;align-items:flex-start;justify-content:space-between;gap:24px}.passport-exploration-heading h2{margin:9px 0 0;font-family:var(--font-family-data);font-size:var(--font-size-section);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-airport);line-height:var(--type-leading-heading)}.passport-exploration-close{flex:0 0 auto;padding:4px 0;border:0;border-bottom:1px solid var(--line-strong);color:var(--muted);background:transparent;font-family:var(--font-family-mono);font-size:var(--font-size-caption)}.passport-exploration-close:hover{color:var(--ink)}.passport-exploration-summary{display:grid;grid-column:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-self:start;margin:0}.passport-exploration-summary>div{min-width:0;padding-top:13px;border-top:1px solid var(--line)}.passport-exploration-summary dt{color:var(--faint);font-family:var(--font-family-mono);font-size:var(--font-size-caption);letter-spacing:.02em}.passport-exploration-summary dd{margin:7px 0 0;font-family:var(--font-family-data);font-feature-settings:var(--numeric-features);font-size:var(--type-size-body);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums}.passport-related-flights{grid-column:2;grid-row:1 / span 2;border-top:1px solid var(--line)}.passport-related-flights button{display:grid;width:100%;grid-template-columns:minmax(118px,.7fr) minmax(150px,1fr) minmax(72px,.55fr) auto;align-items:baseline;gap:16px;padding:15px 0;border:0;border-bottom:1px solid var(--line);color:inherit;background:transparent;text-align:left}.passport-related-flights button:hover{color:var(--green)}.passport-related-flights time,.passport-related-flights button>span{color:var(--muted);font-family:var(--font-family-mono);font-size:var(--font-size-caption);font-feature-settings:var(--numeric-features);font-variant-numeric:tabular-nums}.passport-related-flights strong{font-family:var(--font-family-data);font-size:var(--type-size-body);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-airport);white-space:nowrap}.passport-related-flights strong span{color:var(--faint)}.passport-related-flights button>span:last-child{justify-self:end}.year-list{border-top:1px solid var(--line)}.year-list button{display:grid;width:100%;grid-template-columns:.7fr 1fr auto;gap:4px 12px;align-items:center;padding:14px 0;border:0;border-bottom:1px solid var(--line);color:inherit;background:transparent;text-align:left}.year-list button strong{grid-column:1;grid-row:1 / span 2}.year-list button span:nth-of-type(1){grid-column:2;grid-row:1}.year-list button span:nth-of-type(2){grid-column:2;grid-row:2}.year-list button span:last-child{grid-column:3;grid-row:1 / span 2;justify-self:end}.year-list button:hover{color:var(--green)}.year-list button[aria-pressed=true]{padding-right:12px;padding-left:12px;color:var(--green);background:var(--green-soft)}.year-list strong{font-size:1.15rem}.year-list span{color:var(--muted);font-size:var(--font-size-label)}.settings-sections{display:grid;gap:18px;margin-top:22px}.settings-section{position:relative;display:grid;grid-template-columns:minmax(0,.68fr) minmax(0,1.55fr);overflow:hidden;gap:clamp(42px,6vw,82px);padding:30px 34px;border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--color-surface-glass);box-shadow:var(--shadow-raised)}.settings-section:before{position:absolute;top:0;bottom:0;left:0;width:3px;background:linear-gradient(#55bc98,#55bc9826);content:""}.settings-section-heading{display:flex;align-items:flex-start;gap:15px}.settings-section-heading>div{padding-top:2px}.settings-section-heading h2{margin:5px 0 0;font-family:var(--font-family-display);font-size:var(--type-size-data-heading);font-weight:var(--font-weight-medium);letter-spacing:var(--tracking-tight);line-height:var(--type-leading-heading)}.settings-section-heading .eyebrow{font-size:var(--type-size-caption);letter-spacing:var(--tracking-eyebrow)}.settings-section-icon{display:grid;width:42px;height:42px;flex:0 0 auto;place-items:center;border:1px solid color-mix(in srgb,var(--green) 22%,var(--line));border-radius:var(--radius-icon);color:var(--green);background:var(--green-soft)}.settings-section-icon .aviation-icon{width:20px;height:20px}.settings-panel{min-width:0}.data-actions{display:grid}.data-actions>div{display:grid;grid-template-columns:1fr auto;grid-template-areas:"title action" "description action" "error error";gap:5px 24px;align-items:center;min-height:70px;padding:14px 0;border-bottom:1px solid var(--line)}.data-actions>div:first-child{padding-top:4px}.data-actions>div:last-child{border-bottom:0}.data-actions>div>span{grid-area:title;font-size:var(--font-size-body);font-weight:var(--font-weight-medium)}.data-actions>div>small{grid-area:description;max-width:430px;color:var(--muted);font-size:var(--font-size-label);line-height:1.5}.data-actions .import-control,.data-actions .csv-import-control{display:contents}.data-actions .import-control>label{grid-area:action}.data-actions .csv-import-control>.csv-action-group{grid-area:action;display:grid;gap:8px;justify-items:stretch}.data-actions .csv-action-group>*{width:100%}.data-actions .csv-import-control>.csv-import-workflow{grid-column:1 / -1;margin:0;color:var(--muted);font-size:var(--font-size-caption);line-height:1.45}.data-actions .validation-errors,.data-actions .import-preview,.data-actions .csv-preview,.data-actions .csv-import-error{grid-area:error}.import-preview{display:grid;grid-column:1 / -1;gap:18px;margin-top:14px;padding:22px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);text-align:left}.import-preview-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.import-preview-heading>div{display:grid;gap:6px}.import-preview-heading strong{font-size:1.05rem}.import-file-name{overflow-wrap:anywhere;color:var(--muted);font-size:var(--font-size-caption)}.import-preview-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;border-top:1px solid var(--line)}.import-preview-meta>div{display:grid;gap:5px;padding:14px 12px 0 0}.import-preview dt{color:var(--muted);font-size:var(--font-size-caption)}.import-preview dd{margin:0;font-size:var(--type-size-caption);font-weight:var(--font-weight-semibold);line-height:var(--type-leading-caption)}.import-preflight-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}.import-preflight-stats>div{display:flex;min-width:0;flex-direction:column;gap:9px;padding:15px 12px 15px 0}.import-preflight-stats dt{color:var(--muted);font-size:var(--type-size-caption);line-height:var(--type-leading-caption)}.import-preflight-stats dd{margin:0;font-family:var(--font-family-data);font-size:var(--type-size-data-heading);font-feature-settings:var(--numeric-features);font-weight:var(--font-weight-semibold);line-height:1}.import-preflight-stats .import-stat-valid dd{color:var(--green)}.import-preflight-stats .import-stat-problem dd{color:var(--red)}.import-preflight-stats .import-stat-new dd{color:var(--green)}.import-preflight-stats .import-stat-possible dd{color:var(--color-warning)}.import-preflight-stats .import-stat-exact dd{color:var(--muted)}.import-resolution{display:grid;gap:8px;padding:12px 0;border-bottom:1px solid var(--line);color:var(--muted);font-size:var(--type-size-caption);line-height:var(--type-leading-caption)}.import-resolution>strong{color:var(--ink);font-family:var(--font-family-data);font-size:var(--type-size-body);font-feature-settings:var(--numeric-features)}.import-resolution>label{display:flex;align-items:flex-start;gap:10px;cursor:pointer}.import-resolution>label input{margin-top:3px;accent-color:var(--green)}.import-resolution>label span{display:grid;gap:3px;color:var(--ink)}.import-resolution>label small{color:var(--muted);font-size:var(--type-size-caption);line-height:var(--type-leading-caption)}.import-preservation-note{margin:0;color:var(--muted);font-size:var(--type-size-caption);line-height:var(--type-leading-caption)}.import-migration{margin:0;padding:11px 13px;border-left:3px solid var(--green);color:var(--muted);background:var(--green-soft);font-size:var(--font-size-caption);line-height:1.5}.import-preview-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px}.import-preview-actions .button-primary,.import-preview-actions .button-secondary{min-height:38px;padding:0 15px;font-size:var(--type-size-caption)}.import-blocking-issues{max-width:none;margin:0}.import-blocking-issues>p{margin:7px 0 0;color:var(--muted);line-height:var(--type-leading-caption)}.import-blocking-issues>small{display:block;margin-top:12px;color:var(--muted)}.csv-preview{display:grid;grid-column:1 / -1;gap:18px;margin-top:14px;padding:22px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface)}.csv-mapping{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.csv-mapping>div{display:grid;gap:6px}.csv-mapping label{color:var(--muted);font-size:var(--font-size-caption)}.csv-mapping select{width:100%;min-height:39px;padding:7px 9px;border:1px solid var(--line);border-radius:9px;color:var(--ink);background:var(--color-canvas)}.csv-record-preview{display:grid;gap:10px}.csv-record-preview>span{color:var(--muted);font-size:var(--type-size-caption)}.csv-record-preview ul{display:grid;margin:0;padding:0;border-top:1px solid var(--line);list-style:none}.csv-record-preview li{display:grid;grid-template-columns:minmax(90px,.65fr) minmax(130px,1fr) auto minmax(86px,auto);gap:16px;align-items:baseline;padding:11px 0;border-bottom:1px solid var(--line)}.csv-record-preview strong{font-family:var(--font-family-data);font-feature-settings:var(--numeric-features);white-space:nowrap}.csv-record-preview li span{color:var(--ink);font-family:var(--font-family-data);letter-spacing:var(--tracking-airport);white-space:nowrap}.csv-record-preview time{color:var(--muted);font-family:var(--font-family-mono);font-size:var(--type-size-caption);font-variant-numeric:tabular-nums;white-space:nowrap}.import-disposition{color:var(--muted);font-family:var(--font-family-mono);font-size:var(--type-size-caption);font-style:normal;text-align:right;white-space:nowrap}.import-disposition-new{color:var(--green)}.import-disposition-possible{color:var(--color-warning)}.csv-timezone-note,.csv-import-error{margin:0;color:var(--muted);font-size:var(--font-size-caption);line-height:1.5}.csv-import-error{grid-column:1 / -1;margin-top:10px;color:var(--red)}.settings-action{display:inline-grid;min-height:38px;align-items:center;padding:0 15px;border:1px solid color-mix(in srgb,var(--ink) 14%,transparent);border-radius:11px;color:var(--ink);background:color-mix(in srgb,var(--surface) 72%,transparent);cursor:pointer;font-size:var(--font-size-label);font-weight:var(--font-weight-medium);white-space:nowrap}.settings-action:hover{border-color:color-mix(in srgb,var(--green) 48%,var(--line));color:var(--green);background:var(--green-soft)}.danger-action{color:var(--red)}.settings-fields>label{display:grid;grid-template-columns:1fr minmax(220px,.72fr);gap:30px;align-items:center;min-height:64px;border-bottom:1px solid var(--line);font-size:var(--font-size-label);font-weight:var(--font-weight-medium)}.settings-fields>label:first-child{min-height:58px}.settings-fields>label:last-child{border-bottom:0}.settings-fields select,.settings-fields>label>input{width:100%;min-height:42px;padding:9px 12px;border:1px solid color-mix(in srgb,var(--ink) 12%,transparent);border-radius:10px;color:var(--ink);background:var(--color-canvas);transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}.settings-fields select:hover,.settings-fields>label>input:hover{border-color:color-mix(in srgb,var(--green) 42%,var(--line))}.settings-fields select:focus,.settings-fields>label>input:focus{border-color:var(--green);box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 13%,transparent);outline:0}.settings-fields fieldset{display:grid;grid-template-columns:1fr minmax(220px,.72fr);gap:30px;align-items:center;min-height:64px;margin:0;padding:0;border:0}.settings-fields legend{display:contents;font-size:var(--font-size-label)}.radio-row{display:flex;gap:18px}.radio-row label{display:flex;gap:7px;align-items:center;color:var(--muted);font-size:var(--font-size-label)}.membership-editor{display:grid;gap:18px}.settings-helper{margin:0;color:var(--muted);font-size:var(--type-size-label);line-height:1.55}.membership-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0;padding:20px 0;border:0;border-top:1px solid var(--line)}.membership-row legend{padding:0 0 14px;font-weight:var(--font-weight-semibold)}.membership-row label{display:grid;gap:7px;min-width:0;color:var(--muted);font-size:var(--type-size-caption)}.membership-row input,.membership-row select{width:100%;min-height:42px;padding:9px 12px;border:1px solid var(--line);border-radius:var(--radius-control);color:var(--ink);background:var(--color-canvas)}.airline-multi-select{position:relative;display:grid;min-width:0;gap:7px;color:var(--muted);font-size:var(--type-size-caption)}.airline-chip-input{display:flex;min-height:42px;flex-wrap:wrap;gap:6px;align-items:center;padding:5px 8px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--color-canvas);cursor:text;transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}.airline-chip-input:focus-within{border-color:var(--green);box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 13%,transparent)}.membership-row .airline-chip-input input{width:120px;min-width:110px;min-height:28px;flex:1 1 120px;padding:2px 3px;border:0;border-radius:0;outline:0;background:transparent}.membership-row .airline-chip-input input:focus-visible{outline:0}.airline-chip{display:inline-flex;max-width:100%;align-items:center;gap:5px;padding:4px 5px 4px 8px;border:1px solid color-mix(in srgb,var(--ink) 13%,transparent);border-radius:7px;color:var(--ink);background:color-mix(in srgb,var(--surface) 74%,transparent);font-size:var(--type-size-caption);line-height:1.15}.airline-chip strong{font-family:var(--font-family-data);font-weight:var(--font-weight-semibold);letter-spacing:.02em}.airline-chip i{color:var(--faint);font-style:normal}.airline-chip>span{overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.airline-chip button{display:inline-grid;width:21px;height:21px;place-items:center;padding:0;border:0;border-radius:5px;color:var(--faint);background:transparent;cursor:pointer;font-size:1rem;line-height:1}.airline-chip button:hover{color:var(--ink);background:var(--line)}.airline-options{position:absolute;z-index:8;top:calc(100% + 5px);right:0;left:0;max-height:260px;overflow-y:auto;border:1px solid var(--color-line-strong);border-radius:var(--radius-control);background:var(--surface);box-shadow:0 14px 34px #00000021}.airline-options button{display:grid;width:100%;grid-template-columns:48px 1fr;grid-template-areas:"code name" "code meta";gap:2px 9px;padding:10px 11px;border:0;border-bottom:1px solid var(--line);color:inherit;background:transparent;text-align:left}.airline-options button:last-child{border-bottom:0}.airline-options button:hover,.airline-options button[aria-selected=true]{background:var(--green-soft)}.airline-options strong{grid-area:code;align-self:center;color:var(--green);font-family:var(--font-family-data);font-weight:var(--font-weight-semibold)}.airline-options span{grid-area:name;overflow:hidden;color:var(--ink);font-size:var(--type-size-label);font-weight:var(--font-weight-medium);text-overflow:ellipsis;white-space:nowrap}.airline-options small{grid-area:meta;overflow:hidden;color:var(--muted);font-size:var(--type-size-caption);text-overflow:ellipsis;white-space:nowrap}.airline-options>p{margin:0;padding:13px 11px;color:var(--muted)}.membership-delete{align-self:end;justify-self:start;color:var(--red)}.toggle-row{display:flex;min-height:70px;align-items:center;justify-content:space-between;gap:30px}.toggle-row>span{display:flex;flex-direction:column;gap:5px}.toggle-row strong{font-size:var(--font-size-body);font-weight:var(--font-weight-medium)}.toggle-row small{max-width:480px;color:var(--muted);font-size:var(--font-size-label);line-height:1.5}.toggle-row input{position:relative;width:46px;height:26px;flex:0 0 auto;appearance:none;border:1px solid color-mix(in srgb,var(--ink) 13%,transparent);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--ink) 10%,transparent);transition:background var(--duration-standard) var(--ease-standard)}.toggle-row input:after{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--surface);box-shadow:0 2px 6px #0000002e;content:"";transition:transform var(--duration-standard) var(--ease-standard)}.toggle-row input:checked{border-color:var(--green);background:var(--green)}.toggle-row input:checked:after{transform:translate(20px)}.advanced-note{margin:18px 0 0;padding:15px;color:var(--muted);background:var(--line);font-size:var(--font-size-caption);line-height:1.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:var(--focus-ring);outline-offset:3px}@keyframes content-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes row-enter{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes map-route-arrive{0%{opacity:0;stroke-dashoffset:1}to{opacity:var(--map-route-opacity);stroke-dashoffset:0}}@keyframes map-airport-arrive{0%{opacity:0;transform:scale(.35)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:no-preference){.button-primary,.button-secondary,.import-primary,.add-flight-button,.settings-action{transition:border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-standard) var(--ease-out),transform var(--duration-standard) var(--ease-out)}.button-primary:hover,.button-secondary:hover,.import-primary:hover,.add-flight-button:hover,.settings-action:hover{box-shadow:0 7px 18px #141e191a;transform:translateY(-1px)}.button-primary:active,.button-secondary:active,.import-primary:active,.add-flight-button:active,.settings-action:active{box-shadow:none;transform:translateY(0) scale(.98)}.page-heading,.passport-heading,.passport-empty{animation:content-enter var(--duration-slow) var(--ease-out) both}.search-field,.primary-stats,.timeline{animation:content-enter var(--duration-slow) 60ms var(--ease-out) both}.flight-year,.passport-counts,.delay-summary,.settings-section{animation:content-enter var(--duration-slow) .11s var(--ease-out) both}.flight-row{animation:row-enter var(--duration-slow) var(--ease-out) both;animation-delay:calc(.13s + var(--flight-row-index, 0) * 28ms)}.detail-flight-card{animation:content-enter .44s var(--ease-out) both}.detail-heading{animation:content-enter var(--duration-slow) 70ms var(--ease-out) both}.route-hero{animation:content-enter .44s .12s var(--ease-out) both}.flight-facts{animation:content-enter var(--duration-slow) .16s var(--ease-out) both}.route-map,.passport-highlights,.year-history{animation:content-enter .44s .15s var(--ease-out) both}.map-routes .map-route-line{stroke-dasharray:1;stroke-dashoffset:1;animation:map-route-arrive var(--duration-map) var(--ease-out) both;animation-delay:calc(.26s + var(--map-item-index, 0) * 22ms)}.map-airports .map-airport-point,.map-airports .map-airport-ring{transform-box:fill-box;transform-origin:center;animation:map-airport-arrive .3s var(--ease-emphasized) both;animation-delay:calc(.36s + var(--map-item-index, 0) * 16ms)}.settings-section:nth-child(2){animation-delay:.15s}.settings-section:nth-child(3){animation-delay:.19s}.settings-section:nth-child(4){animation-delay:.23s}}@media(max-width:940px)and (min-width:761px){.flight-list{gap:12px}.flight-row{min-height:174px;gap:20px;padding:18px}.flight-route{gap:12px}.flight-route .airport-code-display{font-size:clamp(2rem,4.5vw,2.65rem)}.flight-airport{grid-template-columns:1fr;gap:6px}.flight-airport small{max-width:130px}.flight-airport-arrival{justify-items:end}.flight-record-meta{gap:11px}.flight-number span{max-width:120px}.route-hero{grid-template-columns:minmax(160px,1fr) minmax(110px,.42fr) minmax(160px,1fr);column-gap:28px}.timeline,.flight-facilities{grid-template-columns:minmax(150px,.48fr) minmax(380px,1fr);gap:40px}}@media(max-width:760px){:root{--layout-page-start: 24px;--layout-page-end: var(--space-8);--layout-header-height: 56px}.site-header-inner{gap:8px}.wordmark-name{font-size:1.08rem}.wordmark>span:last-child{display:none}.site-navigation{gap:2px}.site-navigation a{padding-inline:8px;font-size:var(--type-size-label)}.welcome-actions{align-items:stretch;flex-direction:column}.demo-banner{align-items:flex-start;flex-direction:column;gap:12px}.demo-banner>div{align-items:flex-start;flex-direction:column;gap:3px}.demo-banner span{overflow:visible;white-space:normal}.demo-banner--compact{align-items:center;flex-direction:row;gap:12px;padding:4px 0 5px}.demo-banner--compact>div{display:block}.demo-banner--compact button{min-height:29px;margin-left:auto}.welcome-actions .button-primary,.welcome-actions .button-secondary,.welcome-actions .import-primary{width:100%}.import-control-primary{grid-template-columns:1fr;text-align:center}.import-preview-heading{flex-direction:column;gap:8px}.import-preview-meta{grid-template-columns:1fr}.import-preflight-stats{grid-template-columns:1fr 1fr}.import-preflight-stats>div{padding:13px 8px 13px 0}.import-preview-actions{align-items:stretch;flex-direction:column-reverse}.import-preview-actions .button-primary,.import-preview-actions .button-secondary{width:100%}.csv-mapping{grid-template-columns:1fr}.csv-record-preview li{grid-template-columns:1fr auto;gap:4px 12px}.csv-record-preview li span{grid-column:1}.csv-record-preview time{grid-column:1}.import-disposition{grid-column:2;grid-row:1 / span 3;align-self:center}.page-heading{margin-bottom:30px}.page-heading h1{font-size:var(--type-size-page)}.search-field{min-height:46px;margin-bottom:24px}.flight-year{margin-top:40px}.flight-list{grid-template-columns:1fr;gap:10px}.flight-row{min-height:154px;gap:20px;padding:18px}.flight-row:hover{background:color-mix(in srgb,var(--color-accent-soft) 38%,transparent)}.flight-route{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:11px}.flight-airport{grid-template-columns:auto;gap:6px}.flight-airport-arrival{justify-items:end}.flight-airport small{display:block;max-width:120px}.flight-route .airport-code-display{font-size:clamp(2rem,11vw,2.65rem)}.flight-airport time{font-size:var(--type-size-body)}.route-direction{font-size:1rem}.flight-record-meta{grid-template-columns:minmax(0,1fr) auto auto;gap:10px;padding-top:13px}.flight-number strong{font-size:var(--type-size-flight-row)}.flight-number span{max-width:130px}.flight-editor{padding:28px 20px}.editor-grid,.editor-schedule,.editor-facts-grid{grid-template-columns:1fr 1fr}.editor-travel-grid{grid-template-columns:1fr}.editor-onboard-grid>label,.editor-onboard-grid>label:nth-last-child(-n+2){grid-column:auto}.editor-optional>summary{align-items:flex-start;flex-direction:column;gap:4px}.editor-optional>summary small{margin-left:0}.editor-actions{align-items:stretch;flex-direction:column-reverse}.editor-actions>div{display:grid;grid-template-columns:1fr 1fr}.confirmation-dialog{padding:24px 20px}.confirmation-actions{align-items:stretch;flex-direction:column-reverse}.confirmation-actions button{width:100%}.detail-toolbar{align-items:center;gap:12px}.detail-toolbar>div{display:flex;width:auto;gap:4px}.detail-action{min-height:34px}.detail-action-secondary{padding-inline:7px}.detail-action-primary{padding-inline:12px}.detail-page{--detail-inline: 20px}.detail-flight-card{margin-top:0}.detail-heading{gap:18px;margin:0;padding:19px var(--detail-inline) 18px}.detail-heading h1{font-size:1.3rem}.detail-airline-line{align-items:flex-start;gap:2px}.detail-heading-meta{max-width:48%;gap:7px}.detail-heading-meta>time{white-space:normal}.detail-operational-status{white-space:normal}.route-hero{grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr);column-gap:10px;margin:0;padding:26px var(--detail-inline) 29px}.airport-role{font-size:.7rem}.airport-code{margin-top:13px;font-size:clamp(2.35rem,12vw,2.85rem)}.detail-airport-city{margin-top:8px;font-size:var(--type-size-body)}.route-time{gap:5px;margin-top:22px}.detail-airport-time{font-size:clamp(1.85rem,9.5vw,2.25rem)}.route-time small{font-size:.72rem;white-space:normal}.route-track{gap:7px;margin-top:28px}.detail-duration{font-size:.67rem;white-space:nowrap}.detail-duration small{display:none}.route-airport-name{margin-top:15px;font-size:.72rem}.timeline,.flight-facilities{grid-template-columns:1fr;gap:28px;margin:0;padding:28px var(--detail-inline)}.flight-facts{padding:27px var(--detail-inline) 31px}.flight-facts>h2{margin-bottom:22px}.fact-groups{gap:29px}.fact-group h3{margin-bottom:15px}.timeline-grid{grid-template-columns:1fr;grid-template-rows:auto 48px auto;gap:0}.timeline-event,.timeline-stem{grid-template-columns:1fr 14px .8fr;gap:16px}.timeline-stem{display:grid}.timeline-event>div:first-child>strong{font-size:var(--type-size-time-detail)}.timeline-dot{width:11px;height:11px}.delay-summary{grid-template-columns:1fr;margin:0;padding:0 20px}.delay-summary>div,.delay-summary>div:first-child,.delay-summary>div:last-child{padding:18px 0}.delay-summary>div:first-child{border-right:0;border-bottom:1px solid var(--line)}.facility-grid{grid-template-columns:1fr}.facility-grid--single .facility-stop{grid-template-columns:minmax(76px,.55fr) minmax(118px,1fr);gap:18px}.facility-stop{padding:18px 0}.facility-stop+.facility-stop{margin-left:0;padding-left:0;border-top:1px solid var(--line);border-left:0}.facility-terminal strong{font-size:2.2rem}.gate-sign{min-width:82px;min-height:74px}.detail-route-map{padding:30px var(--detail-inline) 26px}.detail-route-map-heading{align-items:flex-start;flex-direction:column;gap:10px}.detail-route-map-heading>p{max-width:none;text-align:left}.detail-route-map-canvas{margin-top:18px;aspect-ratio:1.45}.facts-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:22px;row-gap:21px}.detail-item dd{font-size:1rem}.passport-page{display:block}.passport-heading{align-items:flex-start;flex-direction:column}.passport-heading h1{font-size:var(--type-size-page)}.passport-empty{padding:48px 0}.view-switcher{width:100%;max-width:100%}.primary-stats{grid-template-columns:1fr 1fr;gap:10px;margin-top:20px;padding:0}.primary-stats>div,.primary-stats>div+div{padding:16px;border:1px solid var(--line)}.primary-stats>div:last-child{grid-column:1 / -1}.primary-stats strong{font-size:var(--type-size-stat)}.passport-counts{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:12px;padding-top:0}.passport-counts>div,.passport-counts>div+div{padding:12px;border:0}.passport-counts>div:nth-child(2n){border-left:1px solid var(--line)}.passport-counts>div:nth-child(n+3){border-top:1px solid var(--line)}.route-map{margin-top:20px;padding:28px 20px 22px}.route-map-heading{align-items:flex-start;flex-direction:column;gap:15px}.route-map-heading h2{font-size:var(--font-size-section)}.route-map-heading>span{margin:0}.route-map-canvas{width:100%;margin:24px 0 0;aspect-ratio:1.7}.map-airports .map-airport-label{font-size:.75rem}.map-airports .map-airport-label.is-secondary{display:none}.passport-highlights,.year-history{margin-top:16px;padding:20px}.passport-highlights>.section-heading,.year-history>.section-heading{margin-bottom:18px}.highlight-list>div{grid-template-columns:1fr;gap:8px}.highlight-list dd{text-align:left}.passport-exploration{grid-template-columns:1fr;gap:22px;margin-top:24px;padding-top:24px}.passport-exploration-heading,.passport-exploration-summary,.passport-related-flights{grid-column:1;grid-row:auto}.passport-exploration-heading{gap:18px}.passport-exploration-heading h2{font-size:var(--type-size-data-heading);overflow-wrap:anywhere}.passport-exploration-summary{gap:8px}.passport-related-flights button{grid-template-columns:minmax(0,1fr) auto auto;gap:4px 12px}.passport-related-flights time{grid-column:1;grid-row:1}.passport-related-flights strong{grid-column:1 / span 2;grid-row:2}.passport-related-flights button>span:not(:last-child){grid-column:2;grid-row:1}.passport-related-flights button>span:last-child{grid-column:3;grid-row:1 / span 2;align-self:center}.year-list button{grid-template-columns:.7fr 1fr auto;gap:4px 8px}.settings-sections{gap:14px;margin-top:14px}.settings-section{grid-template-columns:1fr;gap:25px;padding:24px 20px;border-radius:16px}.settings-section-heading{align-items:center}.data-actions>div{grid-template-columns:1fr;grid-template-areas:"title" "description" "action" "error"}.data-actions .import-control>label,.data-actions .settings-action{justify-self:start;margin-top:12px}.data-actions .csv-action-group{justify-self:start;width:min(100%,280px);margin-top:12px}.data-actions .csv-action-group .settings-action{margin-top:0}.settings-fields>label,.settings-fields fieldset{grid-template-columns:1fr;gap:9px;padding:15px 0}.membership-row{grid-template-columns:1fr}.settings-fields fieldset{display:flex;align-items:flex-start;flex-direction:column}}@media(max-width:370px){.site-header-inner{gap:var(--space-3)}.site-navigation{gap:11px}.page-heading h1{font-size:var(--font-size-page)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;animation-delay:0ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.site-header--detail .site-header-inner{max-width:calc(1240px + var(--layout-gutter) + var(--layout-gutter))}.detail-header-back,.detail-header-action{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:8px;color:var(--ink);font-size:.875rem;font-weight:var(--font-weight-medium)}.detail-header-back{padding:0;border:0;background:transparent}.detail-header-back:hover{color:var(--green)}.detail-header-actions{display:flex;align-items:center;gap:12px}.detail-header-action{padding:0 13px;border:1px solid color-mix(in srgb,var(--line) 86%,transparent);border-radius:8px;color:var(--muted);background:var(--color-surface-raised);box-shadow:0 1px 2px #00000008}.detail-header-action:hover{border-color:var(--color-line-strong);color:var(--ink);background:var(--color-surface)}.detail-header-action:active{transform:scale(.98)}.detail-header-back svg,.detail-header-action svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.detail-header-action svg{width:15px;height:15px}.detail-page{--detail-inline: 0px;max-width:calc(1240px + var(--layout-gutter) + var(--layout-gutter));padding-top:40px;padding-bottom:64px}.detail-flight-card{overflow:visible;margin:0;border:0;border-radius:0;color:var(--ink);background:transparent;box-shadow:none}.detail-heading{display:block;padding:0;border:0;background:transparent}.detail-heading-eyebrow{display:flex;align-items:center;gap:11px;min-height:28px;color:var(--muted);font-size:.75rem;font-weight:var(--font-weight-medium);letter-spacing:.055em;line-height:1.2;text-transform:uppercase}.detail-heading-eyebrow strong{color:color-mix(in srgb,var(--ink) 73%,transparent);font-weight:var(--font-weight-semibold);white-space:nowrap}.detail-heading-eyebrow>span:not(.detail-flight-icon){max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-heading-eyebrow i{color:color-mix(in srgb,var(--muted) 45%,transparent);font-style:normal}.detail-heading-eyebrow time{font-variant-numeric:tabular-nums}.detail-flight-icon{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;color:#fff;background:#171717;box-shadow:0 1px 2px #0000001f}.detail-flight-icon svg{width:14px;height:14px;fill:currentColor;transform:rotate(45deg)}.detail-heading h1{margin:20px 0 16px;font-family:var(--font-family-ui);font-size:clamp(2.125rem,3vw,2.375rem);font-weight:var(--font-weight-bold);letter-spacing:-.04em;line-height:1.08;white-space:normal}.detail-heading h1 span{font:inherit}.detail-heading-summary{display:flex;align-items:baseline;flex-wrap:wrap;gap:9px;color:var(--muted);font-size:.9375rem;line-height:1.35}.detail-heading-summary>strong{color:var(--ink);font-size:1.25rem;font-weight:var(--font-weight-bold)}.detail-heading-summary>i{margin-inline:3px;color:var(--faint);font-style:normal}.detail-operational-status{display:inline;color:var(--muted);font-size:1.25rem;font-weight:var(--font-weight-bold);line-height:1.2;white-space:nowrap}.detail-operational-status.is-early,.detail-operational-status.is-onTime{color:var(--color-positive)}.detail-operational-status.is-delayed{color:var(--color-warning)}.detail-operational-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px;align-items:start;margin-top:44px;margin-bottom:64px}.detail-stops{display:flex;min-height:380px;flex-direction:column;justify-content:space-between;padding-top:4px}.detail-stop{min-width:0}.detail-stop-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.detail-stop-place{min-width:0;padding-top:3px}.detail-stop-place>div{display:flex;min-width:0;align-items:center;gap:8px;line-height:1.2}.detail-stop-place svg{width:17px;height:17px;flex:0 0 auto;fill:currentColor;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.2}.detail-stop-place strong{font-size:1.0625rem;font-weight:var(--font-weight-bold);letter-spacing:-.02em}.detail-stop-place i{color:var(--faint);font-style:normal;font-size:.75rem}.detail-stop-place span{overflow:hidden;font-size:.9375rem;font-weight:var(--font-weight-semibold);text-overflow:ellipsis;white-space:nowrap}.detail-stop-place p{max-width:270px;margin:5px 0 0;overflow:hidden;color:var(--muted);font-size:.8125rem;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.operation-badge-group{display:flex;flex:0 0 auto;align-items:flex-end;flex-direction:column;gap:5px}.operation-badge{display:inline-flex;min-width:102px;min-height:46px;align-items:center;justify-content:center;gap:7px;padding:6px 14px;border-radius:12px;color:var(--color-on-gate-sign);background:var(--color-gate-sign);box-shadow:0 1px 2px #0000000a}.operation-badge svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.operation-badge strong{max-width:92px;overflow:hidden;font-family:var(--font-family-data);font-size:2rem;font-feature-settings:var(--numeric-features);font-variant-numeric:tabular-nums;font-weight:750;letter-spacing:-.04em;line-height:1;text-overflow:ellipsis;white-space:nowrap}.operation-badge-group>span{padding-right:2px;color:var(--muted);font-size:.6875rem;font-weight:var(--font-weight-medium);line-height:1.2}.detail-stop-times{display:flex;align-items:baseline;gap:13px;margin-top:17px}.detail-airport-time{color:var(--ink);font-family:var(--font-family-data);font-size:clamp(2.5rem,3.2vw,2.75rem);font-feature-settings:var(--numeric-features);font-variant-numeric:tabular-nums;font-weight:var(--font-weight-bold);letter-spacing:-.045em;line-height:1;white-space:nowrap}.detail-scheduled-time{color:color-mix(in srgb,var(--muted) 56%,transparent);font-family:var(--font-family-data);font-size:1.25rem;font-variant-numeric:tabular-nums;font-weight:var(--font-weight-medium);line-height:1;text-decoration:line-through;text-decoration-thickness:1px;white-space:nowrap}.detail-stop-meta{display:flex;align-items:baseline;flex-wrap:wrap;gap:9px;min-height:18px;margin-top:11px;color:var(--muted);font-size:.8125rem;line-height:1.35}.detail-stop-meta>*+*:before{margin-right:9px;color:var(--faint);content:"·"}.detail-stop-meta strong{font-weight:var(--font-weight-semibold)}.detail-stop-meta .is-early,.detail-stop-meta .is-on-time{color:var(--color-positive)}.detail-stop-meta .is-delayed{color:var(--color-warning)}.detail-journey-summary{display:flex;align-items:center;gap:10px;padding-block:15px;color:var(--muted);font-size:.8125rem;font-weight:var(--font-weight-medium)}.detail-journey-summary svg{width:17px;height:17px;fill:currentColor;transform:rotate(90deg);opacity:.55}.detail-route-map{height:380px;overflow:hidden;padding:0;border:1px solid color-mix(in srgb,var(--color-map-outline) 38%,transparent);border-radius:16px;color:var(--color-map-text);background:var(--color-map-surface);box-shadow:inset 0 1px 3px #00000005}.detail-route-map-loading{display:grid;min-height:380px;place-items:center;color:var(--color-map-faint)}.detail-route-map-canvas{width:100%;height:100%;margin:0;aspect-ratio:auto;background:var(--color-map-ocean)}.detail-route-map-canvas .map-country{fill:var(--color-map-land);stroke:color-mix(in srgb,var(--color-map-land-line) 38%,transparent)}.detail-route-map-canvas .map-coastline{stroke:color-mix(in srgb,var(--color-map-outline) 54%,transparent)}.detail-map-route-underlay{stroke:var(--color-map-route-underlay);stroke-width:5}.detail-map-route{stroke:var(--color-accent);stroke-width:3}.detail-map-airport-label rect{fill:color-mix(in srgb,var(--color-surface-raised) 96%,transparent);stroke:color-mix(in srgb,var(--color-map-outline) 42%,transparent);stroke-width:1;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 1px rgb(0 0 0 / 5%))}.detail-map-airport text{fill:var(--color-map-text);stroke:none;font-family:var(--font-family-ui);font-size:.625rem;font-weight:var(--font-weight-bold);letter-spacing:.04em}.detail-route-map .map-zoom-controls{right:17px;bottom:16px;gap:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--color-map-outline) 48%,transparent);border-radius:8px;opacity:.9;background:color-mix(in srgb,var(--color-surface-raised) 94%,transparent);box-shadow:0 1px 2px #0000000a}.detail-route-map .map-zoom-controls button{width:30px;height:30px;border:0;border-right:1px solid color-mix(in srgb,var(--color-map-outline) 38%,transparent);border-radius:0;background:transparent}.detail-route-map .map-zoom-controls button:last-child{border-right:0}.detail-metadata-shelf{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.88fr) minmax(300px,.92fr);gap:48px;align-items:stretch;padding-top:48px;border-top:1px solid var(--line)}.detail-metadata-column{display:flex;min-width:0;min-height:148px;flex-direction:column;justify-content:space-between}.detail-metadata-column:nth-of-type(2){padding-left:40px;border-left:1px solid var(--line)}.detail-metadata-column h2{margin:0 0 18px;color:color-mix(in srgb,var(--muted) 62%,transparent);font-size:.6875rem;font-weight:var(--font-weight-bold);letter-spacing:.08em;line-height:1.2;text-transform:uppercase}.detail-metadata-primary{display:block;font-size:1.125rem;font-weight:var(--font-weight-bold);line-height:1.25}.detail-metadata-column p{margin:7px 0 0;color:color-mix(in srgb,var(--ink) 82%,transparent);font-size:.8125rem;font-weight:var(--font-weight-semibold);line-height:1.4;text-transform:capitalize}.detail-metadata-footer{display:flex;flex-wrap:wrap;gap:5px 12px;margin-top:22px;color:color-mix(in srgb,var(--muted) 65%,transparent);font-size:.75rem;line-height:1.4}.detail-record-item+.detail-record-item{margin-top:18px}.detail-record-item span{display:block;margin-bottom:3px;color:color-mix(in srgb,var(--muted) 62%,transparent);font-size:.625rem;font-weight:var(--font-weight-bold);letter-spacing:.06em;text-transform:uppercase}.detail-record-item strong{display:block;overflow-wrap:anywhere;font-family:var(--font-family-data);font-size:.9375rem;font-feature-settings:var(--numeric-features);font-variant-numeric:tabular-nums;font-weight:var(--font-weight-bold);line-height:1.3}.frequent-flyer-card{display:flex;min-width:0;min-height:148px;flex-direction:column;justify-content:space-between;padding:16px;border:1px solid color-mix(in srgb,var(--color-warning) 17%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--color-warning-soft) 21%,transparent);box-shadow:0 1px 2px #00000005}.frequent-flyer-card-heading,.frequent-flyer-card-main,.frequent-flyer-card-footer{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:14px}.frequent-flyer-card-heading>span{display:inline-flex;align-items:center;gap:7px;color:color-mix(in srgb,var(--color-warning) 80%,#5b2e00);font-size:.625rem;font-weight:800;letter-spacing:.065em;text-transform:uppercase}.frequent-flyer-card-heading svg{width:14px;height:14px;fill:currentColor}.frequent-flyer-card-heading>strong{padding:3px 9px;border:1px solid color-mix(in srgb,var(--color-gate-sign) 55%,transparent);border-radius:5px;color:color-mix(in srgb,var(--color-warning) 85%,#402000);background:color-mix(in srgb,var(--color-gate-sign) 18%,transparent);font-size:.625rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.frequent-flyer-card-main{margin-block:18px}.frequent-flyer-card-main>strong{min-width:0;overflow:hidden;font-size:.9375rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.frequent-flyer-card-main em{margin-left:4px;color:#d97706;font-style:normal}.frequent-flyer-card-main>span{flex:0 0 auto;color:var(--muted);font-family:var(--font-family-data);font-size:.75rem;font-variant-numeric:tabular-nums}.frequent-flyer-card-footer{padding-top:10px;border-top:1px solid color-mix(in srgb,var(--color-warning) 15%,var(--line));color:var(--muted);font-size:.6875rem}.frequent-flyer-card-footer strong{font-family:var(--font-family-data);font-variant-numeric:tabular-nums;font-weight:var(--font-weight-medium)}@media(min-width:761px){.detail-page{padding-top:24px;padding-bottom:40px}.detail-heading h1{margin-top:14px;margin-bottom:10px}.detail-operational-grid{margin-top:28px;margin-bottom:32px}.detail-stops{min-height:clamp(300px,42vh,380px)}.detail-route-map{height:clamp(300px,42vh,380px)}.detail-route-map-loading{min-height:clamp(300px,42vh,380px)}.detail-metadata-shelf{gap:32px;padding-top:28px}.detail-metadata-column,.frequent-flyer-card{min-height:120px}.detail-metadata-column h2{margin-bottom:12px}.detail-metadata-footer{margin-top:14px}.detail-record-item+.detail-record-item{margin-top:12px}.frequent-flyer-card{padding:0 0 0 28px;border:0;border-left:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none}.frequent-flyer-card-main{margin-block:12px}}@media(max-width:940px){.detail-operational-grid{grid-template-columns:minmax(280px,.88fr) minmax(0,1.12fr);gap:28px}.detail-metadata-shelf{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.detail-metadata-column:nth-of-type(2){padding-left:28px}}@media(max-width:760px){.site-header--detail .site-header-inner{min-height:56px}.detail-header-back,.detail-header-action{min-height:36px}.detail-header-actions{gap:7px}.detail-header-action{padding-inline:10px}.detail-page{--detail-inline: 0px;padding-top:28px;padding-bottom:56px}.detail-heading{padding:0}.detail-heading-eyebrow{gap:8px;font-size:.6875rem}.detail-heading-eyebrow .detail-airline-name{max-width:105px}.detail-heading h1{margin:18px 0 13px;font-size:clamp(1.8rem,9vw,2.15rem);line-height:1.12}.detail-heading-summary{gap:7px;font-size:.8125rem}.detail-heading-summary>strong,.detail-operational-status{font-size:1rem}.detail-operational-grid{grid-template-columns:1fr;gap:34px;margin-top:38px;margin-bottom:46px}.detail-stops{min-height:0;gap:31px;padding-top:0}.detail-stop-heading{gap:14px}.detail-stop-place p{max-width:min(55vw,230px)}.detail-stop-place p{overflow:visible;text-overflow:clip;white-space:normal}.detail-stop-times{margin-top:16px}.detail-airport-time{font-size:clamp(2.35rem,12vw,2.75rem)}.detail-scheduled-time{font-size:1.1rem}.operation-badge{min-width:82px;min-height:42px;padding:6px 11px;border-radius:10px}.operation-badge strong{max-width:72px;font-size:1.75rem}.operation-badge svg{width:18px;height:18px}.detail-journey-summary{padding-block:2px}.detail-route-map,.detail-route-map-loading{height:300px;min-height:300px}.detail-metadata-shelf{grid-template-columns:1fr;gap:0;padding-top:0}.detail-metadata-column{min-height:0;padding:30px 0;border-bottom:1px solid var(--line)}.detail-metadata-column:nth-of-type(2){padding:30px 0;border-left:0}.frequent-flyer-card{min-height:154px;margin-top:30px}}@media(max-width:420px){.detail-header-action span{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.detail-header-action{width:36px;padding:0}.detail-stop-place>div{gap:6px}.detail-stop-place span{max-width:92px}.detail-stop-place p{max-width:190px}}.passport-archive-page{display:block;max-width:calc(var(--layout-content-max) + var(--layout-gutter) + var(--layout-gutter));--passport-label-size: .7rem;--passport-label-weight: var(--font-weight-regular);--passport-label-leading: 1.35;--passport-label-family: var(--font-family-mono);--passport-primary-value-size: clamp(1.55rem, 2.2vw, 2.05rem);--passport-primary-value-weight: var(--font-weight-semibold);--passport-primary-value-leading: 1.08;--passport-detail-value-size: var(--type-size-label);--passport-detail-value-weight: var(--font-weight-semibold);--passport-detail-value-leading: 1.35}.passport-layout{display:grid;grid-template-columns:minmax(370px,.4fr) minmax(0,.6fr);gap:clamp(32px,4vw,52px);align-items:stretch}.passport-archive{grid-column:1;grid-row:1;min-width:0}.passport-visual{grid-column:2;grid-row:1;min-width:0;align-self:stretch}.passport-visual-sticky{position:sticky;top:calc(var(--layout-header-height) + 22px)}.archive-heading{display:grid;gap:13px;padding-bottom:14px}.archive-controls{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:12px}.archive-controls .view-switcher{min-width:0;width:max-content;max-width:100%;flex:0 1 auto;margin-right:auto;gap:2px;padding:2px}.archive-controls .view-switcher button{padding:5px 8px}.archive-controls .add-flight-button{min-height:34px;flex:0 0 auto;padding:6px 10px}.passport-search-field{width:100%;min-height:34px;margin:0;padding:0 7px;border:1px solid transparent;border-bottom-color:var(--line);border-radius:0;background:transparent;transition:border-color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}.passport-search-field svg{width:15px;height:15px}.passport-search-field input{min-width:0;padding:7px 30px 7px 8px;border:0;outline:0;box-shadow:none;font-size:var(--type-size-caption)}.passport-search-field .clear-search{right:2px;width:28px;height:28px;font-size:1.15rem}.passport-search-field:hover{border-bottom-color:var(--color-line-strong)}.passport-search-field:focus-within{border-color:color-mix(in srgb,var(--green) 58%,var(--line));background:color-mix(in srgb,var(--green-soft) 28%,transparent)}.passport-search-field input:focus,.passport-search-field input:focus-visible{outline:0;box-shadow:none}.passport-archive .flight-year{margin-top:34px}.passport-archive .flight-year:first-child{margin-top:18px}.passport-archive .year-heading{padding:0 0 9px;border-bottom:1px solid var(--line)}.year-heading h3,.passport-archive .year-heading h1,.passport-archive .year-heading h2{margin:0;font-family:var(--font-family-data);font-size:var(--type-size-data-heading);font-feature-settings:var(--numeric-features);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-data);line-height:var(--type-leading-heading)}.passport-archive .flight-list{display:grid;grid-template-columns:1fr;gap:0}.passport-archive .flight-row{display:grid;min-height:0;grid-template-columns:30px minmax(0,1fr);gap:12px;align-items:start;padding:18px 0 17px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}.passport-archive .flight-row-content{min-width:0}.passport-archive .airline-logo{display:grid;width:30px;height:30px;place-items:center;margin-top:1px;border:1px solid var(--line);border-radius:50%;color:var(--muted);background:var(--color-surface-sunken);font-family:var(--font-family-data);font-size:.65rem;font-feature-settings:var(--numeric-features);font-weight:var(--font-weight-semibold);letter-spacing:.035em;line-height:1}.passport-archive .airline-logo--image{overflow:hidden;border-color:transparent;background:transparent}.passport-archive .airline-logo img{display:block;width:24px;height:24px;object-fit:contain}.passport-archive .flight-row:hover{border-color:var(--color-line-strong);background:transparent}.flight-row-primary{display:grid;min-width:0;grid-template-columns:84px minmax(0,1fr) 96px;gap:14px;align-items:start}.flight-row .flight-number{gap:5px;padding-top:2px}.flight-row .flight-number strong{font-size:var(--type-size-flight-row)}.flight-row .flight-number span{white-space:normal;line-height:1.35}.flight-row .flight-route{display:block;min-width:0}.flight-route-cities,.flight-route-codes{display:flex;min-width:0;align-items:center}.flight-route-cities{gap:9px;color:var(--color-ink);font-size:var(--type-size-body);font-weight:var(--font-weight-semibold);line-height:1.3}.flight-route-cities>span:first-child,.flight-route-cities>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flight-route-codes{gap:14px;margin-top:4px;color:var(--muted)}.flight-row .flight-route .airport-code-display{font-size:var(--type-size-caption);font-weight:var(--font-weight-medium);letter-spacing:var(--tracking-airport)}.flight-row .route-direction{color:var(--faint);font-size:.95rem}.flight-row .flight-date{justify-self:end;padding-top:3px;text-align:right}.flight-row-secondary{display:grid;grid-template-columns:84px minmax(0,1fr) 96px;gap:14px;align-items:baseline;margin-top:10px}.flight-times{display:flex;grid-column:2;gap:7px;color:var(--faint);font-family:var(--font-family-data);font-size:var(--type-size-caption);font-feature-settings:var(--numeric-features);font-variant-numeric:tabular-nums;line-height:var(--type-leading-caption)}.flight-times time{white-space:nowrap}.flight-row .flight-status{grid-column:3;justify-self:end;color:var(--muted);font-size:var(--type-size-caption);font-weight:var(--font-weight-medium);line-height:var(--type-leading-caption);text-align:right}.flight-row .flight-status.is-early,.flight-row .flight-status.is-onTime,.flight-row .flight-status.is-completed{color:var(--color-positive)}.flight-row .flight-status.is-delayed,.flight-row .flight-status.is-diverted{color:var(--color-warning)}.flight-row .flight-status.is-cancelled{color:var(--color-danger)}.passport-archive-page .route-map{margin:0;padding:0 0 12px;border-bottom:1px solid var(--line);border-radius:0;background:transparent}.passport-archive-page .route-map-canvas{margin:0;aspect-ratio:2.45}.passport-archive-page .primary-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:104px;gap:0;margin-top:0;border-bottom:1px solid var(--line)}.passport-archive-page .primary-stats>div,.passport-archive-page .primary-stats>div+div{display:grid;grid-template-rows:auto 1fr;align-content:start;min-width:0;padding:12px;border:0;border-radius:0;background:transparent}.passport-archive-page .primary-stats>div+div{border-left:1px solid var(--line)}.passport-archive-page .primary-stats strong{display:flex;align-items:baseline;min-width:0;white-space:nowrap;font-size:clamp(1.25rem,1.8vw,1.75rem);font-weight:var(--passport-primary-value-weight);line-height:var(--passport-primary-value-leading)}.passport-archive-page .primary-stats span{order:initial;margin-bottom:6px;font-family:var(--passport-label-family);font-size:var(--passport-label-size);font-weight:var(--passport-label-weight);letter-spacing:.04em;line-height:var(--passport-label-leading);text-transform:uppercase}.passport-archive-page .passport-counts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:104px;margin:0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}.passport-archive-page .passport-counts>div,.passport-archive-page .passport-counts>div+div{display:grid;grid-template-rows:auto 1fr;align-content:start;min-width:0;gap:4px;padding:10px 12px;border:0}.passport-archive-page .passport-counts>div+div{border-left:1px solid var(--line)}.passport-archive-page .passport-counts span{color:var(--faint);font-family:var(--passport-label-family);font-size:var(--passport-label-size);font-weight:var(--passport-label-weight);letter-spacing:.04em;line-height:var(--passport-label-leading);text-transform:uppercase}.passport-archive-page .passport-counts strong{font-family:var(--font-family-data);font-size:clamp(1.25rem,1.8vw,1.75rem);font-weight:var(--passport-primary-value-weight);line-height:var(--passport-primary-value-leading)}.passport-archive-page .passport-highlights{display:block;margin-top:0;padding:0;border:0;border-bottom:0;border-radius:0;background:transparent}.passport-archive-page .highlight-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(3,1fr);min-height:104px;border-top:1px solid var(--line)}.passport-archive-page .passport-highlight{display:grid;width:auto;min-width:0;grid-row:1 / span 3;grid-template-rows:subgrid;gap:4px;align-items:start;padding:12px;border:0;color:inherit;background:transparent;text-align:left}.passport-archive-page .passport-highlight:nth-child(1){grid-column:1}.passport-archive-page .passport-highlight:nth-child(2){grid-column:2}.passport-archive-page .passport-highlight:nth-child(3){grid-column:3}.passport-archive-page .passport-highlight:nth-child(4){grid-column:4}.passport-archive-page .passport-highlight+.passport-highlight{border-left:1px solid var(--line)}.passport-archive-page button.passport-highlight:hover,.passport-archive-page button.passport-highlight:focus-visible{color:var(--green)}.passport-archive-page .passport-highlight>span,.passport-archive-page .passport-highlight>small{color:var(--faint);font-family:var(--passport-label-family);font-size:var(--passport-label-size);font-weight:var(--passport-label-weight);letter-spacing:.04em;line-height:var(--passport-label-leading);text-transform:uppercase}.passport-archive-page .passport-highlight>strong{min-width:0;max-width:100%;color:var(--ink);font-size:var(--passport-detail-value-size);font-weight:var(--passport-detail-value-weight);line-height:var(--passport-detail-value-leading);overflow-wrap:anywhere}.passport-archive-page button.passport-highlight:hover>strong,.passport-archive-page button.passport-highlight:focus-visible>strong{color:inherit}.passport-archive-page .highlight-route{white-space:nowrap}.map-routes.has-highlight .map-route:not(.is-highlighted):not(.is-selected) .map-route-line{opacity:.18!important}.map-routes.has-highlight .map-route.is-highlighted .map-route-line{stroke:var(--color-map-route);opacity:1!important;stroke-width:calc(var(--map-route-width) + .65px)}.map-routes .map-route-line{transition:opacity var(--duration-standard) var(--ease-standard),stroke-width var(--duration-standard) var(--ease-standard)}.passport-archive .passport-exploration{display:block;margin:18px 0 6px;padding:20px 0;border-top:1px solid var(--color-line-strong)}.passport-archive .passport-exploration-heading,.passport-archive .passport-exploration-summary,.passport-archive .passport-related-flights{grid-column:auto;grid-row:auto}.passport-archive .passport-exploration-summary,.passport-archive .passport-related-flights{margin-top:18px}@media(min-width:761px){.app-shell:has(.passport-archive-page){display:flex;height:100dvh;min-height:0;flex-direction:column;overflow:hidden}.app-shell:has(.passport-archive-page)>.site-header,.app-shell:has(.passport-archive-page)>.page-notices{flex:0 0 auto}.passport-archive-page{display:block;height:auto;min-height:0;flex:1 1 0;overflow:hidden;padding-top:clamp(14px,2.4vh,22px);padding-bottom:clamp(12px,2vh,18px)}.passport-layout{height:100%;min-height:0;align-items:stretch;margin-top:0}.passport-archive{display:flex;height:100%;min-height:0;flex-direction:column;overflow:hidden}.archive-heading{flex:0 0 auto}.passport-archive-scroll{min-height:0;flex:1 1 auto;overflow-x:hidden;overflow-y:auto;padding-right:10px;scrollbar-color:var(--color-line-strong) transparent;scrollbar-width:thin}.passport-visual{height:100%;min-height:0}.passport-visual-sticky{position:static;display:grid;height:100%;min-height:0;grid-template-rows:minmax(180px,1fr) auto auto auto}.passport-archive-page .route-map{display:grid;min-height:0;grid-column:1;grid-row:1;grid-template-rows:minmax(0,1fr)}.passport-archive-page .primary-stats{grid-column:1;grid-row:2}.passport-archive-page .passport-counts{grid-column:1;grid-row:3}.passport-archive-page .passport-highlights{grid-column:1;grid-row:4}.passport-archive-page .route-map-canvas{width:100%;height:100%;min-height:0;margin:0;aspect-ratio:auto}.passport-archive-page .primary-stats>div,.passport-archive-page .primary-stats>div+div{padding:11px 14px 10px}.passport-archive-page .primary-stats>div:first-child{padding-left:0}.passport-archive-page .primary-stats>div:last-child{grid-column:auto;padding-right:0}.passport-archive-page .primary-stats span{margin-bottom:5px}.passport-archive-page .passport-counts>div,.passport-archive-page .passport-counts>div+div{padding:8px 12px}.passport-archive-page .passport-counts>div:first-child{padding-left:0}.passport-archive-page .passport-counts>div:last-child{padding-right:0}}@media(max-width:1040px)and (min-width:761px){.passport-layout{grid-template-columns:minmax(330px,.42fr) minmax(0,.58fr);gap:30px}.passport-archive .flight-row{grid-template-columns:28px minmax(0,1fr);gap:10px}.passport-archive .airline-logo{width:28px;height:28px;font-size:.625rem}.flight-row-primary,.flight-row-secondary{grid-template-columns:72px minmax(0,1fr) 84px;gap:10px}.flight-route-cities{font-size:var(--type-size-body)}}@media(max-width:760px){.passport-layout{display:flex;flex-direction:column;gap:0}.passport-visual{display:contents}.passport-visual-sticky{display:contents;position:static}.passport-archive-page .route-map{order:1}.passport-archive-page .primary-stats{order:2}.passport-archive-page .passport-counts{order:3}.passport-archive-page .passport-highlights{order:4}.passport-archive{display:contents}.archive-heading{order:0;margin-bottom:18px}.passport-archive-scroll{order:5;margin-top:46px}.passport-archive .flight-row{grid-template-columns:28px minmax(0,1fr);gap:10px}.passport-archive .airline-logo{width:28px;height:28px;font-size:.625rem}.passport-archive-page .route-map{padding:0 0 20px}.passport-archive-page .route-map-canvas{margin:0;aspect-ratio:1.55}.passport-archive-page .primary-stats{grid-template-columns:1fr 1fr}.passport-archive-page .primary-stats>div,.passport-archive-page .primary-stats>div+div{padding:18px 13px 16px;border:0;border-left:1px solid var(--line)}.passport-archive-page .primary-stats>div:first-child{padding-left:0;border-left:0}.passport-archive-page .primary-stats>div:last-child{padding-right:0}.passport-archive-page .passport-counts{grid-template-columns:1fr 1fr}.passport-archive-page .passport-counts>div,.passport-archive-page .passport-counts>div+div{padding:12px 10px;border:0}.passport-archive-page .passport-counts>div:nth-child(2n){border-left:1px solid var(--line)}.passport-archive-page .passport-counts>div:nth-child(n+3){border-top:1px solid var(--line)}.passport-archive-page .highlight-list{display:block}.passport-archive-page .passport-highlight,.passport-archive-page .passport-highlight:nth-child(n){display:grid;width:100%;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);grid-template-rows:auto auto;gap:4px 18px;padding:14px 0;border-left:0;border-bottom:1px solid var(--line)}.passport-archive-page .passport-highlight>span{grid-column:1;grid-row:1 / span 2}.passport-archive-page .passport-highlight>strong{grid-column:2;grid-row:1}.passport-archive-page .passport-highlight>small{grid-column:2;grid-row:2}.flight-row-primary,.flight-row-secondary{grid-template-columns:72px minmax(0,1fr) 82px;gap:9px}.flight-route-cities{font-size:var(--type-size-body)}.flight-row .flight-date{max-width:82px;white-space:normal}.passport-archive-page>.passport-exploration{margin-top:36px}}@media(max-width:420px){.archive-controls{gap:10px}.flight-row-primary,.flight-row-secondary{grid-template-columns:64px minmax(0,1fr) 74px;gap:8px}.flight-row .flight-number span{display:none}.flight-route-cities{font-size:var(--type-size-body)}}
