:root{color:#121c24;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--ink:#121c24;--muted:#5d6877;--blue:#057bb5;--blue-dark:#064a72;--blue-soft:#e5f5ff;--cyan-soft:#edf9ff;--line:#bad4e5;--line-strong:#9cc8df;--surface:#fff;--surface-soft:#f6fbfe;--amber:#8a5a00;--amber-soft:#fff0c7;--green:#126b48;--green-soft:#def6e7;--red:#ad1d2e;--red-soft:#ffe3e7;--shadow:0 8px 24px #13415b14;--picker-viewport-height:100dvh;--picker-viewport-top:0px;background:#eef5f9;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:#eef5f9}body{min-width:320px;min-height:100vh;color:var(--ink);background:radial-gradient(circle at 12% 0,#d6effcb8,#0000 26rem),linear-gradient(#f7fcff 0%,#eef5f9 100%);margin:0}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #72c7f7}h1,h2,p{margin-top:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.app-shell{gap:8px;width:min(100%,920px);margin:0 auto;padding:14px 10px 28px;display:grid}.app-header{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:2px 0 6px;display:grid}.brand-lockup{grid-template-columns:66px minmax(0,1fr);align-items:center;gap:8px;min-width:0;display:grid}.brand-logo{object-fit:contain;width:66px;height:66px;display:block}.brand-copy{align-content:center;gap:1px;min-width:0;display:grid}.brand-copy h1{color:var(--ink);letter-spacing:0;white-space:nowrap;margin-bottom:0;font-size:clamp(1.35rem,5.1vw,1.7rem);line-height:.94}.tagline{color:var(--blue-dark);white-space:nowrap;margin-bottom:0;font-size:clamp(.78rem,2.8vw,.92rem);font-weight:900;line-height:1.05}.header-actions{justify-content:flex-end;align-items:flex-end;gap:7px;min-width:max-content;display:flex}.private-sign-out,.private-access-submit{border:0;border-radius:7px;font-weight:950}.private-sign-out{color:#fff;background:var(--ink);min-height:34px;padding:0 11px;font-size:.78rem;box-shadow:0 6px 14px #121c2429}.header-time-control{justify-items:center;gap:3px;display:grid}.header-time-control>span{color:var(--muted);text-transform:uppercase;white-space:nowrap;font-size:.52rem;font-weight:950;line-height:1}.header-time-row{justify-content:center;align-items:center;gap:4px;display:flex}.header-time-toggle{background:var(--surface);border:1px solid #aebfcb;border-radius:999px;grid-template-columns:1fr 1fr;width:60px;min-height:31px;padding:3px;display:grid}.header-time-toggle button{min-width:0;color:var(--muted);background:0 0;border:0;border-radius:999px;font-size:.72rem;font-weight:950}.header-time-toggle button[aria-pressed=true]{color:#fff;background:var(--ink)}.time-format-unit{color:var(--muted);text-transform:uppercase;font-size:.56rem;font-weight:950;line-height:1}.airport-context-strip,.filter-panel,.tabs button,.show-more-button,.state-message,.current-empty,.flight-card{border:1px solid var(--line);background:var(--surface);border-radius:8px}.airport-context-strip{min-height:66px;box-shadow:var(--shadow);justify-content:space-between;align-items:center;gap:10px;padding:12px;display:flex}.airport-block h2{color:var(--ink);letter-spacing:0;margin-bottom:1px;font-size:clamp(1.16rem,4.1vw,1.36rem);line-height:1}.airport-block p,.date-stack p{margin-bottom:0}.airport-block p{color:var(--muted);font-size:.78rem;font-weight:820;line-height:1.1}.date-stack{justify-items:end;gap:3px;min-width:max-content;display:grid}.date-stack strong{color:var(--blue-dark);white-space:nowrap;font-size:clamp(.86rem,3.3vw,1rem);line-height:1}.sync-line{color:var(--muted);white-space:nowrap;align-items:center;gap:5px;font-size:.78rem;font-weight:850;line-height:1;display:inline-flex}.fresh-dot{background:#15805a;border-radius:999px;width:7px;height:7px}.sync-line.is-stale .fresh-dot{background:#c88900}.aircraft-mark{width:31px;height:22px;color:var(--blue-dark);-webkit-mask-image:var(--aircraft-silhouette);mask-image:var(--aircraft-silhouette);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-image:var(--aircraft-silhouette);background:currentColor;flex:none;display:inline-block;-webkit-mask-position:50%;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat}.flight-card-aircraft-mark{width:32px;height:25px}.flight-card-aircraft-mark.is-arrival{transform:rotate(180deg)}.carrier-mark{aspect-ratio:1;width:35px;min-width:35px;height:35px;color:var(--blue-dark);background:0 0;border:0;border-radius:0;flex:none;place-items:center;padding:0;font-size:.66rem;font-weight:950;line-height:1;display:inline-grid;overflow:visible}.carrier-code{grid-area:1/1;transform:translateY(-.5px)}.carrier-logo{object-fit:contain;object-position:center;grid-area:1/1;width:100%;height:100%;display:block}.carrier-mark-logo-ready{background:0 0;padding:0}.carrier-mark-logo-ready .carrier-code{display:none}.carrier-ek{color:#8f1d1d}.carrier-qf,.carrier-qr{color:#9c1230}.carrier-sq{color:#694900}.carrier-mh,.carrier-ua,.carrier-dl,.carrier-aa,.carrier-ba,.carrier-default{color:var(--blue-dark)}.carrier-va{color:#4c256f}.carrier-jq{color:#7b3d00}.carrier-nz,.carrier-cx{color:#005044}.filter-panel{background:var(--surface-soft);box-shadow:var(--shadow);gap:10px;padding:10px;display:grid}.day-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.quick-button{border:1px solid var(--line);min-height:45px;color:var(--ink);background:var(--surface);border-radius:8px;justify-content:center;align-items:center;font-size:1rem;font-weight:920;display:inline-flex}.quick-button[aria-pressed=true]{color:#fff;background:var(--blue);border-color:var(--blue)}.control-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.field{gap:4px;display:grid}.field>span{color:var(--muted);font-size:.76rem;font-weight:900;line-height:1}.picker-button{width:100%;min-height:50px;color:var(--ink);background:var(--surface);text-align:left;border:1px solid #b8c8d5;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:7px 10px;display:flex}.picker-button:disabled{cursor:not-allowed;color:#7a8794;background:#eef5f9;border-color:#d2dee7}.picker-button>span{gap:1px;min-width:0;display:grid}.picker-button strong,.picker-results strong{font-weight:900}.picker-button small,.picker-results small,.picker-header span,.picker-empty span{color:var(--muted);font-size:.76rem;font-weight:700;line-height:1.25}.picker-button strong,.picker-button small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.picker-field-compact .picker-button{min-height:44px;padding-top:6px;padding-bottom:6px}.picker-backdrop{z-index:20;background:#0d1f2d6b;justify-content:center;align-items:flex-end;padding:14px;display:flex;position:fixed;inset:0}.picker-sheet{border:1px solid var(--line);background:var(--surface);border-radius:8px;grid-template-rows:auto auto minmax(0,1fr);gap:12px;width:min(100%,620px);max-height:min(82vh,760px);padding:14px;display:grid;box-shadow:0 24px 80px #082a4033}.picker-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.picker-header p{color:var(--ink);margin:0 0 2px;font-size:1.12rem;font-weight:950}.icon-button{border:1px solid var(--line);width:44px;height:44px;color:var(--ink);background:var(--surface);border-radius:8px;flex:none;place-items:center;display:inline-grid}.picker-search{min-height:52px;color:var(--muted);background:var(--surface);border:1px solid #b8c8d5;border-radius:8px;align-items:center;gap:10px;padding:0 12px;display:flex}.picker-search input{width:100%;min-width:0;min-height:48px;color:var(--ink);background:0 0;border:0}.picker-search input:focus-visible{outline:0}.picker-results{gap:8px;min-height:180px;padding-right:2px;display:grid;overflow-y:auto}.picker-results button{border:1px solid var(--line);min-height:58px;color:var(--ink);background:var(--surface);text-align:left;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.picker-results button[aria-selected=true]{color:var(--blue-dark);background:var(--blue-soft);border-color:#8bcce9}.picker-results button>span{gap:3px;min-width:0;display:grid}.picker-empty{text-align:center;border:1px dashed #a6cfe6;border-radius:8px;align-content:center;justify-items:center;min-height:150px;padding:18px;display:grid}.picker-empty p{color:var(--ink);margin:0 0 4px;font-weight:950}.results-shell{gap:8px;margin-top:2px;display:grid}.tabs{grid-template-columns:1fr 1fr;gap:8px;display:grid}.tabs button{min-width:0;min-height:44px;color:var(--ink);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:0 10px;font-size:clamp(.92rem,4vw,1.1rem);font-weight:950;display:grid}.tabs button[aria-selected=true]{color:#fff;background:var(--blue);border-color:var(--blue)}.tab-symbol,.count-bubble{border-radius:8px;place-items:center;display:inline-grid}.tab-symbol{width:24px;height:24px;color:var(--blue-dark);background:0 0;padding:0}.tabs button[aria-selected=true] .tab-symbol,.tabs button[aria-selected=true] .count-bubble{color:#fff}.tabs button[aria-selected=true] .count-bubble{background:#fff3}.tab-label{text-align:center;text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.count-bubble{min-width:28px;height:28px;color:var(--blue-dark);background:var(--blue-soft);padding:0 7px}.flight-panel,.flight-list,.previous-flight-group,.previous-flight-list{gap:8px;display:grid}.flight-card{border-left:5px solid var(--blue);grid-template-columns:88px minmax(0,1fr) 76px;align-items:center;gap:8px;min-height:70px;padding:8px 9px;display:grid;box-shadow:0 6px 18px #13415b0f}.flight-time-block{justify-items:start;gap:3px;min-width:0;display:grid}.flight-time{color:var(--ink);white-space:nowrap;font-size:clamp(.95rem,3.5vw,1.08rem);font-weight:950;line-height:1}.flight-card-body{gap:4px;min-width:0;display:grid}.flight-plane-row{align-items:center;gap:7px;min-width:0;display:flex}.flight-aircraft{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:clamp(1.02rem,4vw,1.22rem);font-weight:950;line-height:1.05;overflow:hidden}.route-line{min-width:0;color:var(--ink);gap:1px;margin:0;font-size:clamp(.66rem,2.45vw,.76rem);font-weight:900;line-height:1.12;display:grid}.route-place{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.route-place-long{text-overflow:clip;white-space:normal;font-size:.52rem;overflow:visible}.route-location{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.54rem;font-weight:850;line-height:1.1;display:block;overflow:hidden}.flight-carrier-cell{flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:0;display:flex}.flight-carrier-name{width:100%;height:1.05rem;color:var(--muted);text-align:center;white-space:normal;justify-content:center;align-items:center;font-size:.48rem;font-weight:900;line-height:1.05;display:flex;overflow:hidden}.flight-time-meta{min-width:0;color:var(--muted);white-space:nowrap;align-items:center;font-size:.61rem;font-weight:950;line-height:1;display:flex}.flight-number,.flight-terminal{text-overflow:ellipsis;overflow:hidden}.flight-number{color:var(--muted);max-width:100%}.flight-terminal:before{content:"·";color:var(--line-strong);margin:0 4px}.status-pill{white-space:nowrap;border-radius:999px;flex:none;place-items:center;min-height:21px;padding:3px 7px;font-size:.58rem;font-weight:950;line-height:1;display:inline-grid}.status-scheduled{color:var(--blue-dark);background:var(--blue-soft)}.status-delayed{color:var(--amber);background:var(--amber-soft)}.status-landed,.status-departed{color:var(--green);background:var(--green-soft)}.status-cancelled{color:var(--red);background:var(--red-soft)}.show-more-button{min-height:44px;color:var(--blue-dark);justify-content:center;align-items:center;gap:8px;font-weight:920;display:inline-flex}.show-previous-button{color:var(--blue-dark);background:var(--surface)}.previous-flight-list{padding-top:1px}.previous-flight-list .flight-card{box-shadow:none;background:#fbfdfe;border-left-color:#9eb9c8}.current-empty{min-height:62px;color:var(--muted);text-align:center;border-style:dashed;place-items:center;padding:12px;display:grid}.current-empty p{margin:0;font-size:.88rem;font-weight:850;line-height:1.25}.state-message{min-height:120px;color:var(--blue-dark);border-style:dashed;align-items:flex-start;gap:13px;padding:18px;display:flex}.state-message svg{flex:none}.state-title{color:var(--ink);margin:0 0 5px;font-size:1.05rem;font-weight:950}.state-detail{color:var(--muted);margin:0;line-height:1.45}.private-access-shell{place-items:center;min-height:100vh;padding:20px 14px;display:grid}.private-access-panel{border:1px solid var(--line);background:var(--surface);width:min(100%,390px);box-shadow:var(--shadow);border-radius:8px;gap:16px;padding:22px 18px 20px;display:grid}.private-access-logo{object-fit:contain;width:96px;height:96px;margin:0 auto;display:block}.private-access-copy{text-align:center}.private-access-eyebrow{color:var(--blue-dark);text-transform:uppercase;margin-bottom:5px;font-size:.74rem;font-weight:950}.private-access-copy h1{margin-bottom:5px;font-size:1.9rem;line-height:1}.private-access-copy p:not(.private-access-eyebrow){color:var(--muted);margin-bottom:0;font-size:.95rem;line-height:1.35}.private-access-form{gap:9px;display:grid}.private-access-form label{color:var(--ink);font-size:.82rem;font-weight:900}.private-access-form input{width:100%;min-height:46px;color:var(--ink);background:var(--surface);border:1px solid #bfd0dc;border-radius:8px;padding:0 12px}.private-access-submit{color:#fff;background:var(--blue);min-height:46px;margin-top:5px}.private-access-submit:disabled{cursor:wait;opacity:.72}.private-access-message{color:var(--red);background:var(--red-soft);border:1px solid #ffd0ca;border-radius:8px;margin:2px 0 0;padding:8px 10px;font-size:.82rem;font-weight:850}.private-access-status{min-height:56px;color:var(--muted);justify-content:center;align-items:center;gap:8px;font-size:.92rem;font-weight:850;display:flex}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=619px){.picker-backdrop{inset:var(--picker-viewport-top) 0 auto 0;height:var(--picker-viewport-height);justify-content:stretch;align-items:stretch;padding:0;overflow:hidden}.picker-sheet{width:100%;height:100%;max-height:none;padding:calc(12px + env(safe-area-inset-top)) 14px calc(10px + env(safe-area-inset-bottom));box-shadow:none;border:0;border-radius:0;gap:10px}.picker-header{align-items:center}.picker-results{overscroll-behavior:contain;min-height:0;padding-bottom:12px;overflow-y:auto}.picker-results button{min-height:64px}}@media (width>=760px){.app-shell{gap:12px;padding:22px 18px 36px}.app-header{padding-bottom:10px}.brand-lockup{grid-template-columns:78px minmax(0,1fr);gap:10px}.brand-logo{width:78px;height:78px}.brand-copy h1{font-size:2rem}.tagline{font-size:1rem}.flight-card{grid-template-columns:96px minmax(0,1fr) 76px;min-height:76px;padding:11px 12px}.flight-time{font-size:1.14rem}.flight-aircraft{font-size:1.28rem}.route-line{font-size:.9rem}}@media (width>=980px){.app-shell{grid-template-columns:minmax(360px,430px) minmax(0,1fr);align-items:start;column-gap:18px;width:min(100%,1180px)}.app-header,.airport-context-strip,.filter-panel{grid-column:1}.results-shell{grid-area:1/2/span 5;margin-top:0}.show-more-button,.current-empty,.state-message{grid-column:1/-1}}@media (width<=420px){.app-shell{padding-left:10px;padding-right:10px}.brand-lockup{grid-template-columns:62px minmax(0,1fr);gap:6px}.brand-logo{width:62px;height:62px}.brand-copy h1{font-size:clamp(1.18rem,5.25vw,1.35rem)}.tagline{font-size:clamp(.66rem,2.95vw,.78rem)}.header-actions{gap:5px}.private-sign-out{min-height:32px;padding:0 8px;font-size:.72rem}.header-time-toggle{width:56px;min-height:30px}.airport-context-strip{min-height:60px;padding:10px}.sync-line{font-size:.72rem}.carrier-mark{width:32px;min-width:32px;height:32px;padding:0;font-size:.6rem}.tab-symbol{width:20px;height:20px}.tabs button{grid-template-columns:auto minmax(0,1fr) auto;gap:4px;padding-left:6px;padding-right:6px;font-size:.92rem}.tabs .count-bubble{min-width:26px;padding-left:4px;padding-right:4px}.flight-card{grid-template-columns:83px minmax(0,1fr) 69px;gap:6px;min-height:68px;padding:7px 8px}.flight-card-aircraft-mark{width:29px;height:23px}.flight-carrier-name{font-size:.45rem}.flight-time-meta{font-size:.58rem}}@media (width<=360px){.app-shell{padding-left:8px;padding-right:8px}.brand-lockup{grid-template-columns:52px minmax(0,1fr);gap:5px}.brand-logo{width:52px;height:52px}.brand-copy h1{font-size:1.06rem}.tagline{font-size:.6rem}.private-sign-out{min-height:30px;padding:0 6px;font-size:.64rem}.header-time-control>span{font-size:.46rem}.header-time-toggle{width:50px;min-height:28px}.header-time-toggle button{font-size:.64rem}.time-format-unit{font-size:.48rem}.date-stack strong{font-size:.78rem}.sync-line{font-size:.66rem}.tabs button{grid-template-columns:auto minmax(0,1fr) auto;gap:6px;padding:0 10px;font-size:.9rem}.flight-card{grid-template-columns:78px minmax(0,1fr) 65px;gap:6px;padding-left:7px;padding-right:7px}.flight-time{font-size:.86rem}.flight-aircraft{font-size:.94rem}.flight-card-aircraft-mark{width:26px;height:21px}.flight-carrier-name{font-size:.42rem}.route-line{font-size:.68rem}.status-pill{min-height:19px;padding:3px 6px;font-size:.52rem}.flight-time-meta{font-size:.54rem}}
