/*! tailwindcss v4.3.4 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:block))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:"DM Sans", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.static{position:static}.block{display:block}.contents{display:contents}.hidden{display:none}.transform{transform:var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, )}.resize{resize:both}.italic{font-style:italic}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.filter{filter:var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, )}}:root{color:#273c34;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f8f9f6;font-family:DM Sans,sans-serif;font-size:13px;font-weight:400}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;transition:background .18s,color .18s,box-shadow .18s}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline-offset:3px;outline:2px solid #4a8968}button{background:0 0;border:0}a{color:inherit;text-decoration:none}svg{flex-shrink:0}button svg{pointer-events:none}input[type=checkbox]{accent-color:#4b7c62;cursor:pointer;width:17px;height:17px}select{cursor:pointer}p,h1,h2,h3{margin:0}button:hover{color:#38694e}::selection{background:#cfdfc8}.app-shell{height:100dvh;min-height:560px;display:flex;overflow:hidden}.nav-rail{z-index:20;background:#f5f7f2;border-right:1px solid #e5e8e1;flex-direction:column;flex-shrink:0;align-items:center;width:78px;padding:24px 0 18px;display:flex}.brand-mark{color:#fff;background:#315c47;border-radius:13px;place-items:center;width:40px;height:40px;display:grid;box-shadow:0 3px 8px #315c4712}.brand-mark svg{transform:rotate(-30deg)}.brand-mark:hover{color:#fff;background:#244b37}.rail-links{flex-direction:column;align-items:center;gap:14px;width:100%;margin-top:42px;display:flex}.rail-button{color:#899387;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:7px;width:59px;height:59px;display:flex;position:relative}.rail-button span{letter-spacing:.1px;font-size:9px;font-weight:500}.rail-button:hover{background:#e9eee5}.rail-button.active{color:#3d6d52;background:#e7ede0}.rail-badge{background:#8b9d70;border:1px solid #f5f7f2;border-radius:50%;width:5px;height:5px;position:absolute;top:11px;right:15px}.rail-bottom{flex-direction:column;align-items:center;gap:5px;margin-top:auto;display:flex}.rail-bottom .rail-button{height:40px}.avatar{color:#657057;background:#dfdfcf;border-radius:50%;place-items:center;width:30px;height:30px;margin-top:16px;font-size:11px;font-weight:600;display:grid}.app-body{flex-direction:column;flex:1;min-width:0;display:flex}.app-header{z-index:15;background:#fcfcf9;border-bottom:1px solid #e4e8df;flex-shrink:0;align-items:center;gap:25px;height:76px;padding:0 30px;display:flex}.wordmark{letter-spacing:-1.3px;align-items:baseline;font-family:Space Grotesk,sans-serif;font-size:27px;font-weight:600;display:flex}.brand-dot{background:#76966b;border-radius:50%;width:6px;height:6px;margin-left:3px}.header-divider{background:#e2e6dc;width:1px;height:20px}.header-description{color:#93998f;letter-spacing:.1px;font-size:12px}.header-right{align-items:center;gap:17px;margin-left:auto;display:flex}.connection-state{color:#51755d;align-items:center;gap:7px;font-size:11px;display:flex}.green-dot{background:#6e9768;border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block;box-shadow:0 0 0 3px #6e976811}.connection-state.stale{color:#a8833b}.connection-state.stale .green-dot,.is-stale .green-dot{background:#b99450;box-shadow:0 0 0 3px #b9945015}.icon-button{color:#7c897b;border-radius:7px;justify-content:center;align-items:center;width:31px;height:31px;display:inline-flex}.icon-button:hover{color:#315e44;background:#edf0e8}.icon-button.small{width:23px;height:23px}.live-tag{letter-spacing:1.1px;color:#819075;border:1px solid #dce3d4;border-radius:4px;padding:4px 6px;font-size:8px}.workspace{flex:1;min-height:0;display:flex}.flights-sidebar{z-index:12;background:#fcfcf9;border-right:1px solid #e1e6db;flex-direction:column;flex-shrink:0;width:335px;min-height:0;display:flex}.sidebar-heading{padding:29px 23px 24px}.eyebrow{letter-spacing:1.65px;color:#8b9682;font-size:8px;font-weight:600}.sidebar-title-row{justify-content:space-between;align-items:center;display:flex}.sidebar-heading h1{letter-spacing:-.7px;white-space:nowrap;margin-top:9px;font-family:Space Grotesk,sans-serif;font-size:21px;font-weight:500;line-height:1.3}.sidebar-heading p{color:#92998d;margin-top:7px;font-size:11px}.airport-selector{text-align:left;background:#f6f8f2;border:1px solid #e0e6d9;border-radius:9px;align-items:center;gap:11px;margin:0 23px;padding:12px;display:flex}.airport-selector:hover{background:#edf1e6;border-color:#c6d2ba}.airport-code{color:#48694f;background:#e7eddf;border:1px solid #dce4d3;border-radius:6px;padding:10px 7px;font-family:Space Grotesk,sans-serif;font-size:18px;font-weight:600}.airport-selector>span:nth-child(2){flex-direction:column;gap:4px;min-width:0;display:flex}.airport-selector strong{font-size:12px;font-weight:550}.airport-selector small{color:#8e9787;white-space:nowrap;text-overflow:ellipsis;max-width:180px;font-size:9px;overflow:hidden}.airport-selector>svg{color:#8c9885;margin-left:auto}.search-field{color:#9ba393;border:1px solid #e4e7df;border-radius:7px;align-items:center;gap:7px;margin:19px 23px 16px;padding:10px 9px;display:flex}.search-field:focus-within{border-color:#91ae83;box-shadow:0 0 0 2px #91ae8310}.search-field input{color:#40523d;background:0 0;border:0;outline:none;flex:1;min-width:0;font-size:10px}.search-field input::placeholder{color:#a3aa9e}.search-field kbd{color:#9ba78f;border:1px solid #e2e7da;border-radius:3px;padding:0 4px;font-family:inherit;font-size:9px;line-height:15px}.search-field button{padding:0;display:flex}.flight-filter-tabs{background:#f0f3eb;border:1px solid #e9ece3;border-radius:7px;gap:2px;margin:0 23px;padding:4px;display:flex}.flight-filter-tabs button{color:#8b9682;white-space:nowrap;border-radius:4px;flex:1;justify-content:center;align-items:center;gap:4px;padding:7px 2px;font-size:10px;display:flex}.flight-filter-tabs button.active{color:#49634b;background:#fff;font-weight:550;box-shadow:0 1px 4px #21321d0b}.flight-list-heading{justify-content:space-between;align-items:center;gap:3px;padding:22px 23px 12px;display:flex}.flight-list-heading>span{letter-spacing:1px;color:#89937f;font-size:8px;font-weight:500}.ground-filter{color:#9ba28f;border-radius:3px;align-items:center;gap:4px;padding:3px 4px;font-size:8px;display:flex}.ground-filter:hover,.ground-filter.active{color:#5d7652;background:#e8eddf}.ground-dot{background:#a5ad97;border-radius:50%;width:4px;height:4px;display:inline-block}.flight-list{scrollbar-width:thin;scrollbar-color:#dde4d6 transparent;flex:1;padding:0 12px 14px;overflow-y:auto}.flight-item{border:1px solid #0000;border-radius:8px;margin-bottom:4px;position:relative}.flight-item:hover{background:#f2f5ed}.flight-item.is-selected{background:#eef3e7;border-color:#c3d2b3;box-shadow:0 2px 3px #3d522310}.flight-item.is-selected:before{content:"";background:#6f8e55;border-radius:0 3px 3px 0;width:3px;position:absolute;top:19px;bottom:19px;left:-1px}.flight-select{text-align:left;width:100%;padding:14px 11px}.flight-item-top{align-items:center;gap:9px;display:flex}.airline-logo{color:#fff;letter-spacing:-1px;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-family:Space Grotesk,sans-serif;font-size:15px;font-weight:500;line-height:1;display:flex;box-shadow:inset 0 0 0 1px #ffffff15}.airline-logo.large{border-radius:9px;width:40px;height:40px;font-size:21px}.flight-name{flex-direction:column;gap:3px;min-width:0;display:flex}.flight-name strong{letter-spacing:.1px;font-size:11px;font-weight:600}.flight-name>span{color:#929c87;white-space:nowrap;text-overflow:ellipsis;max-width:105px;font-size:8px;overflow:hidden}.status-pill{color:#8a947b;white-space:nowrap;background:#f0f1e8;border-radius:4px;justify-content:center;align-items:center;gap:3px;margin-left:auto;padding:4px 5px;font-size:8px;display:inline-flex}.status-pill.approach{color:#608450;background:#e0ead5}.flight-item-bottom{color:#86917d;white-space:nowrap;justify-content:space-between;gap:4px;margin-top:12px;font-size:8px;line-height:1.4;display:flex}.flight-item-bottom>span{align-items:center;gap:4px;display:flex}.flight-item-bottom i{background:#a0a58f;border-radius:50%;width:2px;height:2px}.data-divider{color:#c4cbb8;margin:0 1px}.favorite-flight{opacity:0;color:#9aa68c;border-radius:2px;padding:2px;display:flex;position:absolute;bottom:4px;right:4px}.flight-item:hover .favorite-flight,.favorite-flight.active,.favorite-flight:focus-visible{opacity:1}.flight-item:hover .flight-item-bottom{padding-right:9px}.favorite-flight.active{color:#8e9c62}.sidebar-footer{color:#a0a795;border-top:1px solid #e6eadf;justify-content:space-between;align-items:center;padding:15px 22px;font-size:8px;display:flex}.sidebar-footer>span:first-child{align-items:center;gap:5px;display:flex}.sidebar-footer a:hover{text-decoration:underline}.empty-state{text-align:center;color:#96a08b;flex-direction:column;justify-content:center;align-items:center;gap:11px;min-height:200px;padding:30px 20px;display:flex}.empty-state>svg{color:#a0af91;stroke-width:1px}.empty-state h3{color:#617255;font-size:13px;font-weight:500}.empty-state p{max-width:220px;font-size:11px;line-height:1.8}.empty-state button{border:1px solid #dce4d1;border-radius:6px;align-items:center;gap:8px;margin-top:8px;padding:8px 14px;font-size:10px;display:flex}.main-view{background:#fafbf7;flex-direction:column;flex:1;min-width:0;display:flex;position:relative}.airport-toolbar{z-index:5;background:#fbfcf8;border-bottom:1px solid #e0e6da;flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;min-height:84px;padding:18px 25px;display:flex}.airport-toolbar-title{align-items:center;gap:11px;min-width:0;display:flex}.airport-pin{color:#789066;background:#f0f4e9;border:1px solid #e7ecdf;border-radius:9px;place-items:center;width:35px;height:35px;display:grid}.airport-toolbar h2{letter-spacing:-.1px;align-items:center;gap:8px;font-size:13px;font-weight:550;display:flex}.airport-toolbar h2>span{letter-spacing:.5px;color:#8c9a7e;border:1px solid #dfe5d6;border-radius:3px;padding:2px 4px;font-size:8px;font-weight:400}.airport-toolbar p{color:#929e87;margin-top:5px;font-size:9px}.toolbar-dot{color:#b7bfad;margin:0 7px}.airport-toolbar time{font-variant-numeric:tabular-nums}.toolbar-actions{flex-shrink:0;align-items:center;gap:11px;display:flex}.terminal-control{color:#849277;background:#fff;border:1px solid #dde5d4;border-radius:6px;align-items:center;gap:7px;padding:8px 10px;display:flex}.terminal-control select{-webkit-appearance:none;-moz-appearance:none;appearance:none;color:#697b59;background:0 0;border:0;outline:none;max-width:120px;padding-right:3px;font-size:10px}.terminal-control>svg:last-child{pointer-events:none}.view-switch{background:#edf2e7;border:1px solid #e0e7d7;border-radius:6px;align-items:center;gap:2px;padding:3px;display:flex}.view-switch button{color:#95a087;border-radius:4px;padding:5px 9px;font-size:9px;font-weight:600}.view-switch button.active{color:#fff;background:#55784c;box-shadow:0 1px 3px #4253331c}.scene-container{background:#dce6d8;flex:1;min-height:250px;position:relative;overflow:hidden}.airport-canvas{isolation:isolate;position:absolute;top:0;right:0;bottom:0;left:0}.airport-canvas>canvas{cursor:grab;outline:none;width:100%;height:100%;display:block}.airport-canvas>canvas:active{cursor:grabbing}.scene-top-left{pointer-events:none;position:absolute;top:23px;left:25px}.scene-live-badge{letter-spacing:.9px;color:#6d825f;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fafff3d9;border:1px solid #fff8;border-radius:5px;align-items:center;gap:8px;padding:7px 10px;font-size:8px;font-weight:550;display:inline-flex;box-shadow:0 2px 10px #40593b07}.scene-live-badge .green-dot{width:5px;height:5px}.badge-separator{background:#cfdcc3;width:1px;height:10px;margin:0 2px}.scene-caption{letter-spacing:-.7px;color:#496344;text-shadow:0 1px 8px #dce6d8;margin-top:15px;font-family:Space Grotesk,sans-serif;font-size:19px;font-weight:400}.scene-caption>span{letter-spacing:0;color:#819075;margin-top:5px;font-family:DM Sans,sans-serif;font-size:9px;display:block}.weather-card{color:#849374;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fafdf3de;border:1px solid #f8fff2bd;border-radius:7px;align-items:center;gap:10px;padding:11px 14px;display:flex;position:absolute;top:24px;right:25px;box-shadow:0 2px 8px #58704a04}.temperature{letter-spacing:-1px;color:#526d47;font-family:Space Grotesk,sans-serif;font-size:24px;line-height:1.2}.temperature small{letter-spacing:0;color:#9aaa88;margin-left:2px;font-family:DM Sans,sans-serif;font-size:9px}.weather-divider{background:#dae3ce;width:1px;height:25px;margin:0 1px}.wind-info{color:#6c815b;grid-template-columns:14px 1fr;align-items:center;gap:4px;font-size:10px;display:grid}.wind-info small{color:#9ba88e;grid-column:1/-1;font-size:8px}.map-tools{flex-direction:column;align-items:center;gap:12px;display:flex;position:absolute;top:136px;right:25px}.compass{color:#59704e;flex-direction:column;justify-content:center;align-items:center;gap:3px;width:35px;height:48px;display:flex}.compass>span{font-size:9px}.compass>svg{transform:rotate(-25deg)}.tool-group{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fcfff6e8;border:1px solid #fff9;border-radius:7px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 2px 8px #4c614610}.tool-group button{color:#778c66;place-items:center;width:35px;height:36px;display:grid}.tool-group button:hover,.tool-group button.tool-active{color:#4c7040;background:#e8efdc}.tool-group>span{background:#e4ebda;height:1px;margin:0 7px}.layers-panel{z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fcfff8f5;border:1px solid #e4ebda;border-radius:9px;width:245px;padding:15px;position:absolute;top:235px;right:73px;box-shadow:0 5px 30px #344e3a19}.layers-panel>div{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.layers-panel strong{font-size:12px;font-weight:550}.layers-panel label{color:#748568;justify-content:space-between;align-items:center;padding:9px 0;font-size:11px;display:flex}.layers-panel label span{align-items:center;gap:7px;display:flex}.layers-panel p{color:#97a38c;border-top:1px solid #e8ecdf;padding-top:10px;font-size:9px;line-height:1.7}.scene-label-layer{pointer-events:none;z-index:2;position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.aircraft-label{pointer-events:auto;white-space:nowrap;color:#6a805b;letter-spacing:.3px;will-change:transform;background:#fcfff7ec;border:1px solid #f6faee;border-radius:4px;padding:6px 7px;font-size:8px;line-height:1;display:none;position:absolute;top:0;left:0;box-shadow:0 2px 6px #364e2a0d}.aircraft-label.selected{color:#f1f7e7;z-index:3;background:#456b43;border:1px solid #577d4f;box-shadow:0 3px 10px #304f2d19}.label-dot{vertical-align:middle;background:#91a17a;border-radius:50%;width:4px;height:4px;margin-right:5px;display:inline-block}.aircraft-label.selected .label-dot{background:#c2d4a3}.label-alt{color:#a2ad94;border-left:1px solid #c7d1bc;margin-left:7px;padding-left:7px;font-size:7px}.aircraft-label.selected .label-alt{color:#c0d0ad;border-color:#769569}.aircraft-label:after{content:"";background:#92a484;width:1px;height:6px;position:absolute;bottom:-6px;left:50%}.selected-flight-card{z-index:4;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fefff9f5;border:1px solid #fff9;border-radius:11px;width:340px;padding:15px 17px 0;position:absolute;bottom:39px;left:25px;box-shadow:0 5px 25px #3a53281a}.selected-card-eyebrow{color:#90a180;letter-spacing:1.15px;justify-content:space-between;align-items:center;margin-bottom:9px;font-size:7px;display:flex}.selected-card-eyebrow>span{align-items:center;gap:6px;display:flex}.selected-card-eyebrow .green-dot{width:4px;height:4px}.selected-flight-title{align-items:center;gap:10px;display:flex}.selected-flight-title h2{letter-spacing:-.5px;font-family:Space Grotesk,sans-serif;font-size:20px;font-weight:500;line-height:1.1}.selected-flight-title p{color:#91a180;margin-top:5px;font-size:9px}.selected-flight-title .status-pill{padding:5px 7px;font-size:8px}.route-display{justify-content:space-between;align-items:center;gap:14px;margin:19px 0 16px;display:flex}.route-display>div:not(.route-line){flex-direction:column;gap:4px;min-width:0;max-width:110px;display:flex}.route-display>div:last-child{text-align:right}.route-display strong{letter-spacing:-1px;color:#4b6743;font-family:Space Grotesk,sans-serif;font-size:26px;font-weight:500;line-height:1.1}.route-display span{color:#98a388;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.route-line{color:#839b6d;flex:1;justify-content:center;align-items:center;gap:8px;padding-bottom:12px;display:flex}.route-line svg{transform:rotate(45deg)}.route-line>span{background:#d3ddc4;flex:1;height:1px;position:relative}.route-line>span:first-child:before{content:"";border:1px solid #c2cdb0;border-radius:50%;width:4px;height:4px;position:absolute;top:-1.5px;left:0}.route-line>span:last-child:after{content:"";background:#a2b58e;border-radius:50%;width:4px;height:4px;position:absolute;top:-1.5px;right:0}.location-display{color:#83966f;align-items:center;gap:9px;margin:20px 0 16px;display:flex}.location-display>div{flex-direction:column;gap:5px;display:flex}.location-display strong{color:#5d7751;font-size:12px;font-weight:500}.location-display>div span{color:#9da88d;font-size:8px}.route-unavailable{color:#a4ae97;max-width:45px;margin-left:auto;font-size:7px;line-height:1.5}.aircraft-model-row{color:#9ba88b;border-top:1px solid #e9eede;align-items:center;gap:7px;padding:12px 0;font-size:9px;display:flex}.aircraft-model-row>span:first-of-type{color:#7e906e}.aircraft-model-row>span:last-child{margin-left:auto;font-size:8px}.card-actions{border-top:1px solid #e9eede;justify-content:space-between;align-items:center;gap:11px;padding:11px 0 14px;display:flex}.card-actions>button{color:#8e9e7d;justify-content:center;align-items:center;gap:6px;font-size:9px;display:flex}.card-actions .follow-button{color:#688254;background:#e8eedc;border:1px solid #e1e8d3;border-radius:5px;min-width:159px;padding:8px 13px}.card-actions .follow-button:hover{background:#dfe9ce}.card-actions .follow-button.is-following{color:#f8ffee;background:#567847;border-color:#567847}.scene-bottom-right{pointer-events:none;flex-direction:column;align-items:flex-end;gap:18px;display:flex;position:absolute;bottom:47px;right:25px}.view-hint{color:#7e9370;text-shadow:0 1px 4px #e1e8d5;align-items:center;gap:7px;font-size:9px;display:flex}.view-hint .green-dot{width:4px;height:4px}.scale-legend{color:#8c9b7c;flex-direction:column;align-items:center;gap:4px;display:flex}.scale-legend>span{border:1px solid #94a680;border-top:0;width:62px;height:5px}.scale-legend small{font-size:8px}.scene-attribution{color:#91a182;z-index:4;justify-content:space-between;align-items:center;gap:10px;font-size:7px;display:flex;position:absolute;bottom:11px;left:25px;right:25px}.scene-attribution button{align-items:center;gap:5px;font-size:8px;display:flex}.telemetry-bar{background:#fcfdf8;border-bottom:1px solid #e7ecdf;flex-shrink:0;justify-content:space-between;align-items:center;gap:15px;min-height:89px;padding:15px 25px;display:flex}.telemetry-heading{align-items:center;gap:10px;margin-right:auto;display:flex}.telemetry-icon{color:#8ca177;background:#f1f5e9;border:1px solid #e1e8d6;border-radius:8px;place-items:center;width:34px;height:34px;display:grid}.telemetry-heading>div{flex-direction:column;gap:5px;display:flex}.telemetry-heading strong{color:#647b54;white-space:nowrap;font-size:10px;font-weight:500}.telemetry-heading>div>span{color:#a0ad91;letter-spacing:.3px;font-size:8px}.telemetry-cell{border-left:1px solid #e7ecdf;min-width:90px;padding-left:24px}.telemetry-cell>span{color:#99a68b;letter-spacing:.9px;white-space:nowrap;align-items:center;gap:5px;font-size:7px;display:flex}.telemetry-cell>strong{letter-spacing:-.6px;color:#577447;white-space:nowrap;margin-top:7px;font-family:Space Grotesk,sans-serif;font-size:21px;font-weight:400;line-height:1.1;display:block}.telemetry-cell small{letter-spacing:0;color:#a2ad94;margin-left:5px;font-family:DM Sans,sans-serif;font-size:9px}.telemetry-detail{color:#92a480;border:1px solid #e3ead8;border-radius:6px;place-items:center;width:28px;height:28px;display:grid}.status-bar{color:#9eac8e;background:#f9fbf4;flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;min-height:35px;padding:0 25px;font-size:8px;display:flex}.status-bar>div{align-items:center;gap:8px;display:flex}.status-bar .green-dot{width:4px;height:4px}.status-bar i{background:#bcc7b0;border-radius:50%;width:2px;height:2px;margin:0 2px}.status-bar>button{color:#95a387;white-space:nowrap;align-items:center;gap:5px;font-size:8px;display:flex}.refresh-interval{color:#b2bda5}.feed-notice{color:#9b8959;z-index:5;background:#fff9e5ef;border:1px solid #dccda2;border-radius:6px;align-items:center;gap:8px;max-width:calc(100% - 110px);padding:10px 12px;font-size:9px;display:flex;position:absolute;top:111px;left:25px;box-shadow:0 3px 10px #59673b08}.feed-notice button{place-items:center;margin-left:8px;display:grid}.webgl-error{text-align:center;color:#6a7d5e;z-index:3;background:#f8fbedee;border:1px solid #e5eed9;border-radius:12px;width:290px;padding:23px;font-size:12px;line-height:1.8;position:absolute;top:44%;left:50%;transform:translate(-50%,-50%)}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#243d335c;justify-content:center;align-items:center;padding:25px;animation:.15s fade-in;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.modal{background:#fcfdf8;border:1px solid #ffffff75;border-radius:15px;width:520px;max-width:100%;max-height:90dvh;padding:25px 30px 27px;animation:.2s slide-up;overflow:auto;box-shadow:0 20px 70px #142e2a25}.modal-top{justify-content:space-between;align-items:center;margin-bottom:15px;display:flex}.modal h2{letter-spacing:-.8px;color:#405f3e;font-family:Space Grotesk,sans-serif;font-size:26px;font-weight:500}.modal>p{color:#929f87;margin-top:9px;font-size:11px;line-height:1.7}.airport-options{flex-direction:column;gap:9px;margin-top:25px;display:flex}.airport-options>button{text-align:left;border:1px solid #e2e8d9;border-radius:8px;align-items:center;gap:14px;padding:15px;display:flex}.airport-options>button.selected{background:#edf3e4;border-color:#adbf97}.airport-options>button:hover{background:#f0f5e8}.airport-option-code{letter-spacing:-.8px;color:#668256;min-width:45px;font-family:Space Grotesk,sans-serif;font-size:23px}.airport-options>button>span:nth-child(2){flex-direction:column;gap:5px;display:flex}.airport-options strong{font-size:12px;font-weight:500}.airport-options small{color:#9aa78d;font-size:9px}.airport-options>button>svg{color:#95a783;margin-left:auto}.modal-footnote{color:#a2ad95;border-top:1px solid #e5eadc;align-items:center;gap:9px;margin-top:24px;padding-top:17px;font-size:9px;line-height:1.7;display:flex}.setting-row{border-bottom:1px solid #e8eddf;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;display:flex}.setting-row>div{flex-direction:column;gap:6px;display:flex}.setting-row strong{color:#627b53;font-size:12px;font-weight:500}.setting-row span{color:#a0ac94;font-size:10px}.setting-row select{color:#788d66;background:#f7faef;border:1px solid #dce5d0;border-radius:5px;padding:7px;font-size:11px}.about-block{color:#88a073;gap:13px;margin-top:24px;display:flex}.about-block>svg{stroke-width:1.4px;margin-top:2px}.about-block strong{color:#5e7b50;font-size:12px;font-weight:500}.about-block p{color:#94a387;margin-top:5px;font-size:11px;line-height:1.9}.about-block a{text-underline-offset:3px;text-decoration:underline}.credits-links{flex-wrap:wrap;gap:12px;margin-top:25px;display:flex}.credits-links a{color:#8ca079;align-items:center;gap:4px;font-size:9px;display:flex}.credits-links a:hover{text-decoration:underline}.detail-tail{letter-spacing:0;color:#9eae8c;margin-left:10px;font-family:DM Sans,sans-serif;font-size:12px}.details-grid{grid-template-columns:1fr 1fr;gap:0 30px;margin-top:20px;display:grid}.details-grid>div{border-bottom:1px solid #e8eddf;flex-direction:column;gap:5px;padding:12px 0;display:flex}.details-grid span{color:#a1ae94;font-size:9px}.details-grid strong{color:#688657;font-size:12px;font-weight:500}.modal .detail-explanation{margin:18px 0;font-size:9px;line-height:1.9}.primary-button{color:#f6fbed;background:#537647;border-radius:6px;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px 16px;font-size:11px;display:flex}.primary-button:hover{color:#fff;background:#426538}.mobile-flights-button,.mobile-close{display:none}.spin{animation:1s linear infinite spin}.pulse-icon{animation:2s ease-in-out infinite pulse}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1600px){.flights-sidebar{width:365px}.sidebar-heading{padding-top:35px;padding-bottom:30px}.sidebar-heading h1{font-size:23px}.sidebar-heading p{font-size:12px}.airport-selector small{font-size:10px}.flight-name strong{font-size:12px}.flight-name>span{max-width:135px;font-size:9px}.status-pill,.flight-item-bottom{font-size:9px}.flight-select{padding:17px 13px}.search-field input,.flight-filter-tabs button{font-size:11px}.selected-flight-card{width:360px;padding-top:17px}.selected-card-eyebrow{margin-bottom:13px}.selected-flight-title h2{font-size:23px}.route-display{margin:23px 0 20px}.route-display strong{font-size:30px}.card-actions{padding:14px 0 16px}.airport-toolbar{min-height:90px}.airport-toolbar h2{font-size:15px}.airport-toolbar p{font-size:10px}.telemetry-bar{gap:25px;min-height:98px}.telemetry-cell{min-width:130px;padding-left:30px}.telemetry-cell>strong{font-size:25px}.telemetry-cell>span{font-size:8px}.telemetry-heading strong{font-size:11px}.scene-caption{font-size:23px}.scene-caption>span{font-size:10px}}@media(max-width:1250px){.nav-rail{width:66px}.flights-sidebar{width:302px}.app-header{height:66px;padding:0 24px}.sidebar-heading{padding:24px 19px 20px}.sidebar-heading h1{font-size:19px}.airport-selector{margin:0 19px;padding:10px}.airport-code{font-size:16px}.airport-selector small{max-width:150px;font-size:8px}.search-field{margin:17px 19px 14px}.search-field input{font-size:9px}.flight-filter-tabs{margin:0 19px}.flight-list-heading{padding:20px 19px 10px}.flight-name>span{max-width:90px}.flight-name strong{font-size:10px}.status-pill{padding:3px 4px;font-size:7px}.flight-item-top{gap:7px}.flight-select{padding:13px 9px}.flight-item-bottom{gap:2px;font-size:7px}.flight-item-bottom>span{gap:3px}.airline-logo{width:27px;height:27px;font-size:13px}.airport-toolbar{min-height:80px;padding:16px 20px}.airport-toolbar h2{font-size:11px}.airport-toolbar h2>span{display:none}.airport-toolbar p{font-size:8px}.airport-pin{width:30px;height:30px}.airport-toolbar-title{gap:8px}.terminal-control{gap:5px;padding:8px}.terminal-control select{max-width:95px;font-size:9px}.toolbar-actions{gap:7px}.view-switch button{padding:5px 7px}.telemetry-bar{gap:12px;min-height:82px;padding:14px 20px}.telemetry-cell{min-width:75px;padding-left:16px}.telemetry-cell>span{letter-spacing:.5px;font-size:6px}.telemetry-cell>strong{font-size:19px}.telemetry-cell small{font-size:8px}.telemetry-heading{gap:7px}.telemetry-icon{display:none}.telemetry-heading strong{font-size:9px}.telemetry-detail{display:none}.status-bar{padding:0 20px;font-size:7px}.status-bar>button{font-size:7px}.selected-flight-card{width:310px;padding:12px 14px 0;bottom:35px;left:20px}.selected-flight-title h2{font-size:19px}.selected-flight-title p{font-size:8px}.selected-flight-title .airline-logo{width:35px;height:35px;font-size:18px}.selected-flight-title .status-pill{padding:4px 5px;font-size:7px}.route-display{margin:16px 0 12px}.route-display strong{font-size:24px}.route-display span{font-size:8px}.aircraft-model-row{padding:10px 0;font-size:8px}.card-actions{padding:9px 0 12px}.card-actions .follow-button{min-width:145px;padding:7px 10px}.scene-caption{font-size:17px}.scene-top-left{top:20px;left:20px}.scene-bottom-right{bottom:40px;right:20px}.view-hint{display:none}.scene-attribution{font-size:6px;bottom:10px;left:20px;right:20px}.weather-card{gap:8px;padding:9px 11px;top:20px;right:20px}.temperature{font-size:21px}.map-tools{top:119px;right:20px}.tool-group button{width:32px;height:33px}}@media(max-width:1050px){.header-description{display:none}.app-header{gap:18px}.app-header>.header-divider{display:none}.flights-sidebar{width:280px}.sidebar-heading h1{font-size:18px}.sidebar-heading p{font-size:10px}.flight-filter-tabs{margin-left:14px;margin-right:14px}.flight-list{padding-left:8px;padding-right:8px}.flight-list-heading{padding-left:17px;padding-right:17px}.flight-list-heading>span{letter-spacing:.6px;font-size:7px}.ground-filter{font-size:7px}.status-pill,.flight-item-bottom{font-size:6.5px}.airport-toolbar{flex-wrap:wrap;gap:12px;padding:14px 18px}.airport-toolbar-title{width:100%}.toolbar-actions{justify-content:space-between;width:100%}.airport-toolbar{min-height:113px}.terminal-control{padding:7px 9px}.terminal-control select{max-width:150px;font-size:10px}.weather-card{padding:9px}.weather-divider,.wind-info{display:none}.scene-caption>span{max-width:145px;font-size:8px;line-height:1.6}.selected-flight-card{width:280px}.selected-flight-title{gap:8px}.selected-flight-title .status-pill svg,.telemetry-heading{display:none}.telemetry-cell{flex:1;min-width:60px;padding-left:15px}.telemetry-cell:first-of-type{border:0;padding-left:0}.telemetry-cell>span{letter-spacing:.3px;font-size:5.5px}.telemetry-cell>strong{font-size:18px}.telemetry-cell small{font-size:7px}.telemetry-bar{gap:7px;padding:14px 18px}.refresh-interval{display:none}.status-bar{gap:5px;padding:0 18px;font-size:6px}.status-bar>div{gap:5px}.status-bar>button{font-size:6px}.status-bar i{margin:0}.scene-attribution>span{max-width:180px;line-height:1.6}.layers-panel{right:60px}.location-display strong{font-size:11px}.location-display>div span{font-size:7px}}@media(max-width:760px){.app-shell{min-height:520px}.nav-rail{width:54px;padding:18px 0 14px}.brand-mark{border-radius:10px;width:33px;height:33px}.brand-mark>svg{width:23px}.rail-button{gap:5px;width:44px;height:52px}.rail-button span{font-size:7px}.rail-button>svg{width:19px}.rail-links{gap:8px;margin-top:27px}.rail-bottom{gap:0}.avatar{width:25px;height:25px;margin-top:10px;font-size:9px}.app-header{height:61px;padding:0 18px}.wordmark{font-size:23px}.header-right{gap:12px}.header-right .header-divider,.header-right .icon-button,.live-tag{display:none}.connection-state{font-size:9px}.app-body{width:calc(100% - 54px)}.flights-sidebar{width:310px;max-width:calc(100% - 54px);display:none;position:fixed;top:61px;bottom:0;left:54px;box-shadow:15px 0 35px #233d2d25}.flights-sidebar.mobile-open,.mobile-close{display:flex}.sidebar-heading h1{font-size:20px}.sidebar-heading p{font-size:11px}.airport-selector small{font-size:9px}.search-field input{font-size:10px}.flight-name strong{font-size:11px}.flight-name>span{max-width:115px;font-size:8px}.flight-item-bottom,.status-pill,.flight-list-heading>span,.ground-filter{font-size:8px}.airport-toolbar{gap:11px;min-height:110px;padding:13px 17px 12px}.airport-toolbar-title{gap:9px}.airport-toolbar h2{font-size:12px}.airport-toolbar p{font-size:8px}.airport-toolbar-title>div{min-width:0}.airport-toolbar h2{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.airport-pin{flex-shrink:0;width:30px;height:30px}.toolbar-actions{gap:9px}.mobile-flights-button{color:#72855e;align-items:center;gap:5px;font-size:10px;display:flex}.terminal-control{margin-left:auto;padding:6px 8px}.terminal-control>svg:first-child{display:none}.terminal-control select{max-width:105px;font-size:9px}.view-switch{padding:2px}.view-switch button{padding:4px 6px;font-size:8px}.scene-top-left{top:18px;left:17px}.scene-caption{margin-top:11px;font-size:16px}.scene-caption>span{max-width:170px;font-size:8px}.scene-live-badge{padding:6px 8px;font-size:7px}.weather-card{gap:5px;padding:7px 8px;top:18px;right:16px}.weather-card>svg{width:17px}.temperature{font-size:19px}.temperature small{font-size:7px}.map-tools{gap:8px;top:112px;right:16px}.tool-group button{width:30px;height:31px}.tool-group button>svg{width:15px}.compass{height:40px}.compass>span{font-size:8px}.compass>svg{width:20px}.selected-flight-card{border-radius:8px;width:calc(100% - 78px);max-width:330px;padding:10px 12px 0;bottom:32px;left:16px}.selected-card-eyebrow{margin-bottom:6px;font-size:6px}.selected-card-eyebrow .icon-button{width:20px;height:20px}.selected-flight-title .airline-logo{border-radius:6px;width:30px;height:30px;font-size:16px}.selected-flight-title h2{font-size:18px}.selected-flight-title p{margin-top:4px;font-size:7px}.selected-flight-title .status-pill{padding:4px;font-size:6px}.route-display{gap:10px;margin:13px 0 10px}.route-display strong{font-size:23px}.route-display span{font-size:7px}.route-line{gap:5px;padding-bottom:8px}.route-line svg{width:14px}.aircraft-model-row{gap:5px;padding:9px 0;font-size:7px}.aircraft-model-row svg{width:12px}.aircraft-model-row>span:last-child{font-size:7px}.card-actions{padding:8px 0 10px}.card-actions>button{gap:4px;font-size:8px}.card-actions .follow-button{min-width:130px;padding:6px 8px}.card-actions svg{width:13px}.scene-bottom-right{display:none}.scene-attribution{align-items:flex-end;gap:8px;bottom:9px;left:16px;right:16px}.scene-attribution>span{max-width:155px;font-size:5.5px}.scene-attribution button{gap:3px;font-size:6px}.scene-attribution button svg{width:8px}.telemetry-bar{gap:9px;min-height:75px;padding:13px 16px}.telemetry-cell{padding-left:12px}.telemetry-cell>span{letter-spacing:.1px;gap:3px;font-size:5.5px}.telemetry-cell>span>svg{width:9px;height:9px}.telemetry-cell>strong{margin-top:7px;font-size:17px}.telemetry-cell small{margin-left:3px;font-size:7px}.vertical-speed{display:none}.status-bar{min-height:31px;padding:0 16px;font-size:6px}.status-bar>div{gap:4px}.status-bar>button{font-size:6px}.status-bar>button>svg{width:9px;height:9px}.status-bar>div>span:last-child,.status-bar>div>i:last-of-type{display:none}.feed-notice{align-items:flex-start;max-width:calc(100% - 76px);padding:9px;font-size:8px;top:103px;left:17px}.feed-notice>svg{width:12px;height:12px;margin-top:1px}.layers-panel{width:210px;padding:12px;top:225px;right:53px}.layers-panel strong,.layers-panel label{font-size:10px}.modal-backdrop{padding:15px}.modal{border-radius:12px;max-height:88dvh;padding:20px 23px}.modal h2{font-size:23px}.modal>p{font-size:10px}.airport-options>button{gap:10px;padding:13px 10px}.airport-option-code{min-width:40px;font-size:20px}.airport-options strong{font-size:10px}.airport-options small{font-size:8px}.setting-row{gap:13px}.setting-row strong{font-size:11px}.setting-row span{font-size:9px}.setting-row select{padding:6px;font-size:9px}.about-block p{font-size:10px}.about-block strong{font-size:11px}.details-grid{gap:0 15px}.details-grid strong{font-size:11px}.location-display{margin:15px 0 11px}.location-display strong{font-size:10px}.location-display>div span{font-size:6px}.route-unavailable{max-width:38px;font-size:6px}.location-display>svg{width:15px}.location-display{gap:7px}}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}@media(min-width:761px){.scene-bottom-right{right:75px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}:root{font-size:14px;color:#213743}.app-header{height:72px}.header-description{font-size:13px;color:#6c7c80}.connection-state{font-size:13px;color:#3a785b}.live-tag{font-size:10px}.eyebrow{font-size:10px;color:#687e70}.sidebar-heading h1{font-size:24px}.sidebar-heading p{font-size:13px;color:#718276;line-height:1.6}.flights-sidebar{width:375px}.airport-selector strong{font-size:15px}.airport-selector small{font-size:12px;max-width:238px;color:#718276}.airport-code{font-size:21px}.search-field{padding:12px 10px}.search-field input,.search-field kbd{font-size:12px}.flight-filter-tabs button{font-size:12px;padding:9px 3px}.flight-list-heading>span{font-size:10px;letter-spacing:.7px}.ground-filter{font-size:11px}.flight-select{padding:15px 13px}.flight-item-top{gap:11px}.airline-logo{width:34px;height:34px;font-size:17px}.flight-name strong{font-size:15px}.flight-name>span{font-size:11px;max-width:157px;color:#718473}.flight-item-bottom{font-size:10px;color:#6e8273;gap:8px}.status-pill{font-size:10px;padding:5px 6px;color:#55725f;background:#e8eee8}.status-pill.approach{color:#276b53;background:#d8eddd}.favorite-flight{padding:4px;right:4px;bottom:5px}.sidebar-footer{font-size:10px}.empty-state p{font-size:13px}.empty-state h3{font-size:16px}.empty-state button{font-size:12px}.airport-toolbar{padding:18px 24px;min-height:89px;flex-wrap:wrap}.airport-toolbar h2{font-size:17px}.airport-toolbar h2>span{font-size:10px}.airport-toolbar p{font-size:12px;color:#6e8181}.terminal-control{padding:10px 11px}.terminal-control select{font-size:13px;max-width:150px;color:#466c5b}.view-switch button{font-size:12px;padding:7px 10px}.scene-caption{font-size:23px;color:#fff;text-shadow:0 1px 5px #102732c9}.scene-caption>span{font-size:12px;color:#f1f6f8;text-shadow:0 1px 4px #102732d9;max-width:300px;line-height:1.6}.scene-live-badge{font-size:10px;letter-spacing:.7px;background:#fffffff0;color:#386d5f;padding:8px 10px}.weather-card{color:#4e7788;background:#fffffff0}.temperature{font-size:29px;color:#35556b}.temperature small{font-size:11px}.wind-info{font-size:13px;color:#3f6878}.wind-info small{font-size:10px;color:#758b96}.aircraft-label{font-size:11px;font-weight:550;padding:7px 9px;color:#244c6a;background:#fffffff2;border-color:#d6e5f0;box-shadow:0 2px 8px #0b213c33}.aircraft-label.selected{background:#165a99;border-color:#4e9cdf;color:#fff}.label-alt{font-size:10px;color:#748f9f}.aircraft-label.selected .label-alt{color:#d4ecff;border-color:#6b9dc5}.aircraft-label.selected .label-dot{background:#bde1ff}.selected-flight-card{width:360px;max-width:calc(100% - 95px);padding:14px 17px 0;background:#ffffffef;border:1px solid #ffffffa3;box-shadow:0 6px 30px #13304924;-webkit-backdrop-filter:none;backdrop-filter:none}.selected-card-eyebrow{font-size:9px;color:#607e70;letter-spacing:1px}.selected-flight-title h2{font-size:25px;color:#223e54}.selected-flight-title p{font-size:12px;color:#6d7f85}.selected-flight-title .airline-logo{width:43px;height:43px;font-size:23px}.selected-flight-title .status-pill{font-size:10px;padding:5px 7px}.route-display{margin:18px 0 15px}.route-display strong{font-size:30px;color:#2b4e64}.route-display span{font-size:11px;color:#6c828b}.aircraft-model-row{font-size:12px;padding:12px 0;color:#687d83}.aircraft-model-row>span:first-of-type{color:#506c79}.aircraft-model-row>span:last-child{font-size:11px}.location-display strong{font-size:14px;color:#385f72}.location-display>div span{font-size:11px}.route-unavailable{font-size:9px;max-width:56px}.card-actions{padding:12px 0 14px}.card-actions>button{font-size:12px}.card-actions .follow-button{font-size:12px;padding:9px 12px;min-width:175px;background:#e3eee7;color:#3e7156}.card-actions .follow-button.is-following{background:#285c7c;color:#fff;border-color:#285c7c}.card-expand{display:none}.flight-journey{border-top:1px solid #dce6e7;padding:12px 0 7px}.flight-journey>div{display:flex;align-items:center;justify-content:space-between;gap:7px}.journey-step{display:flex;align-items:center;gap:5px;color:#8a9ba2;font-size:11px;position:relative}.journey-step i{font-style:normal;border:1px solid #d4dfe4;border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:10px;flex-shrink:0;background:#f5f8fa}.journey-step.current{color:#2373ac;font-weight:600}.journey-step.current i{background:#2c83ba;border-color:#2c83ba;color:#fff}.journey-step.observed{color:#427e60}.journey-step.observed i{background:#e3f0e8;border-color:#c4dcca;color:#41795c}.journey-arrow{color:#c1cdd4;margin-left:5px}.flight-journey p{font-size:10px;display:flex;gap:5px;align-items:center;color:#7c919c;line-height:1.6;margin-top:8px}.telemetry-bar{min-height:92px;gap:18px}.telemetry-heading strong{font-size:12px;color:#496574}.telemetry-heading>div>span{font-size:11px}.telemetry-cell{padding-left:20px;min-width:100px}.telemetry-cell>span{font-size:9px;letter-spacing:.6px;color:#6e8792}.telemetry-cell>strong{font-size:25px;color:#294d67}.telemetry-cell small{font-size:12px;color:#8297a0}.telemetry-detail{color:#627c8c}.status-bar{min-height:35px;font-size:10px;color:#6f8792}.status-bar>button{font-size:10px;color:#6f8792}.refresh-interval{color:#8ba0a9}.scene-attribution{font-size:9px;color:#eff6fa;text-shadow:0 1px 4px #102632}.scene-attribution>span{max-width:none;font-size:9px}.scene-attribution button{font-size:10px}.scale-legend{color:#fff;text-shadow:0 1px 4px #102632}.scale-legend>span{border-color:#fff}.scale-legend small{font-size:11px}.view-hint{font-size:11px;color:#f8fcff;text-shadow:0 1px 4px #102632}.tool-group{background:#ffffffed}.tool-group button{width:38px;height:38px;color:#4b6c82}.compass{color:#fff;text-shadow:0 1px 4px #102632}.compass>span{font-size:11px}.feed-notice{font-size:12px;line-height:1.5;background:#fffae9f5}.layers-panel{width:280px}.layers-panel strong{font-size:15px}.layers-panel label{font-size:13px}.layers-panel p{font-size:11px}.layers-panel select{border:1px solid #d8e3dd;border-radius:5px;padding:6px;background:#fff;font-size:12px}.tracking-notice{position:absolute;left:25px;top:117px;max-width:calc(100% - 110px);display:flex;gap:8px;align-items:center;background:#fff4d8f5;border:1px solid #e5c889;color:#825b21;border-radius:7px;padding:10px 12px;font-size:12px;z-index:5;box-shadow:0 2px 10px #152a3c20}.modal{width:590px}.modal h2{font-size:28px}.modal>p{font-size:14px}.modal .eyebrow{font-size:11px}.airport-options strong{font-size:15px}.airport-options small{font-size:12px}.airport-option-code{font-size:26px}.modal-footnote{font-size:11px}.setting-row{padding:19px 0}.setting-row strong{font-size:14px;color:#456775}.setting-row span{font-size:12px;line-height:1.5;color:#7d919a}.setting-row select{font-size:12px;min-width:143px}.details-grid span{font-size:12px}.details-grid strong{font-size:15px;color:#385d74}.detail-tail{font-size:14px}.modal .detail-explanation{font-size:12px}.primary-button{font-size:14px}.about-block strong{font-size:15px}.about-block p{font-size:13px;line-height:1.8}.credits-links a{font-size:11px}.performance-summary{display:flex;flex-direction:column;gap:7px;padding:15px 17px;margin-top:20px;background:#eaf2f7;border:1px solid #d6e4ed;border-radius:8px;color:#4b6d82;font-size:12px;line-height:1.5}.performance-summary strong{font-size:13px}.performance-summary small{font-size:11px;color:#7c939f;margin-top:3px}.modal-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:#16304480}.rail-button span{font-size:10px}.webgl-error{font-size:14px}.tracking-notice+.map-tools{z-index:4}@media(max-width:1250px)and (min-width:761px){.flights-sidebar{width:340px}.sidebar-heading h1{font-size:22px}.airport-selector small{font-size:11px;max-width:210px}.flight-name>span{max-width:130px}.flight-name strong{font-size:14px}.flight-item-top{gap:8px}.status-pill,.flight-item-bottom{font-size:9px}.airport-toolbar-title{width:100%}.toolbar-actions{width:100%;justify-content:space-between}.airport-toolbar h2{font-size:16px}.airport-toolbar p{font-size:12px}.airport-toolbar{min-height:125px}.telemetry-heading{display:none}.telemetry-cell{padding-left:14px;min-width:80px}.telemetry-cell>span{font-size:8px}.telemetry-cell>strong{font-size:22px}.telemetry-cell small{font-size:11px}.status-bar{font-size:9px;padding:0 18px}.status-bar>button{font-size:9px}.refresh-interval{display:none}.selected-flight-card{width:330px}.selected-flight-title .status-pill{font-size:9px}.selected-flight-title p{font-size:11px}.selected-flight-title h2{font-size:23px}.aircraft-model-row{font-size:11px}.card-actions .follow-button{min-width:160px}.scene-bottom-right .view-hint{display:none}}@media(max-width:760px){.app-header{height:62px}.flights-sidebar{top:62px;width:335px}.sidebar-heading h1{font-size:23px}.sidebar-heading p{font-size:12px}.flight-name strong{font-size:15px}.flight-name>span{font-size:11px}.status-pill,.flight-item-bottom{font-size:10px}.airport-selector small{font-size:11px;max-width:190px}.search-field input,.flight-filter-tabs button{font-size:12px}.airport-toolbar{min-height:113px;padding:12px 16px;gap:11px}.airport-toolbar h2{font-size:15px}.airport-toolbar p{font-size:11px}.mobile-flights-button{font-size:12px;gap:5px}.terminal-control{padding:7px 8px;gap:4px}.terminal-control select{font-size:11px;max-width:110px}.view-switch button{font-size:10px;padding:5px 6px}.scene-caption{font-size:20px}.scene-caption>span{font-size:11px;max-width:200px}.scene-live-badge{font-size:9px;padding:7px 8px}.weather-card{gap:6px}.temperature{font-size:25px}.temperature small{font-size:10px}.weather-card>svg{width:20px}.map-tools{right:14px;top:126px}.tool-group button{width:33px;height:34px}.aircraft-label{font-size:11px;padding:7px}.label-alt{font-size:9px}.selected-flight-card{width:340px;max-width:calc(100% - 78px);left:16px;bottom:34px;padding:12px 14px 0;max-height:calc(100% - 125px);overflow:auto}.selected-card-eyebrow{font-size:8px;margin-bottom:8px}.selected-flight-title{gap:8px}.selected-flight-title h2{font-size:22px}.selected-flight-title p{font-size:11px}.selected-flight-title .airline-logo{width:35px;height:35px;font-size:20px}.selected-flight-title .status-pill{font-size:9px;padding:4px 5px}.card-optional{display:none}.card-expanded .card-optional{display:block}.card-expand{display:flex;align-items:center;gap:4px;font-size:10px;margin-left:auto;padding:5px 0;color:#738c99}.card-expand svg{width:12px}.card-expanded .card-expand svg{transform:rotate(180deg)}.flight-journey{padding:8px 0 4px}.journey-step{font-size:10px;gap:4px}.journey-step i{width:16px;height:16px;font-size:9px}.journey-arrow{margin-left:0;width:9px}.flight-journey p{font-size:9px;margin-top:6px;gap:4px}.card-actions{padding:8px 0 11px;gap:8px}.card-actions>button{font-size:11px}.card-actions .follow-button{min-width:0;padding:7px 9px;font-size:11px}.card-actions svg{width:14px}.route-display strong{font-size:28px}.route-display span{font-size:10px}.aircraft-model-row{font-size:11px}.aircraft-model-row>span:last-child{font-size:10px}.location-display strong{font-size:12px}.location-display>div span{font-size:9px}.route-unavailable{font-size:8px}.telemetry-bar{min-height:84px;padding:13px 16px;gap:12px}.telemetry-cell{padding-left:10px;min-width:0}.telemetry-cell>span{font-size:8px;letter-spacing:0;gap:3px}.telemetry-cell>strong{font-size:22px}.telemetry-cell small{font-size:10px;margin-left:3px}.status-bar{font-size:8px;padding:0 14px;min-height:33px;gap:5px}.status-bar>button{font-size:8px;gap:4px}.status-bar>div{gap:5px}.scene-attribution{left:16px;right:14px;bottom:10px;gap:7px}.scene-attribution>span{font-size:7px;max-width:190px}.scene-attribution button{font-size:8px}.tracking-notice{top:111px;left:16px;max-width:calc(100% - 72px);font-size:10px;padding:8px;align-items:flex-start}.tracking-notice svg{width:12px;height:12px}.feed-notice{font-size:11px;top:110px}.layers-panel{width:230px;right:54px;top:227px}.layers-panel strong{font-size:13px}.layers-panel label{font-size:12px}.layers-panel p{font-size:10px}.modal{padding:20px}.modal h2{font-size:25px}.modal>p{font-size:13px}.setting-row strong{font-size:13px}.setting-row span{font-size:11px}.setting-row select{font-size:11px;min-width:125px}.about-block strong{font-size:14px}.about-block p{font-size:12px}.details-grid span{font-size:11px}.details-grid strong,.airport-options strong{font-size:13px}.airport-options small,.credits-links a{font-size:11px}.modal-footnote{font-size:10px}.rail-button span{font-size:8px}.sidebar-footer{font-size:10px}}@media(max-width:430px){.airport-toolbar h2{font-size:14px}.airport-toolbar p{font-size:10px}.selected-flight-title h2{font-size:20px}.selected-flight-title p{font-size:10px}.selected-flight-title .status-pill{font-size:8px}.selected-flight-card{padding:10px 11px 0}.journey-step{font-size:9px}.flight-journey p{font-size:8px}.card-actions>button,.card-actions .follow-button{font-size:10px}.card-actions .follow-button{padding:7px 8px}.telemetry-cell>span{font-size:7px}.telemetry-cell>strong{font-size:20px}.telemetry-cell small{font-size:9px}.status-bar{font-size:7px}.status-bar>button{font-size:7px}.scene-attribution>span{font-size:6px;max-width:160px}.scene-attribution button{font-size:7px}.terminal-control select{font-size:10px;max-width:92px}.mobile-flights-button{font-size:11px}.scene-caption{font-size:18px}.scene-caption>span{font-size:10px;max-width:170px}}@media(min-width:761px)and (max-height:820px){.selected-flight-card .card-optional{display:none}.selected-flight-card.card-expanded .card-optional{display:block}.selected-flight-card{max-height:calc(100% - 145px);overflow:auto}.card-expand{display:flex;align-items:center;gap:4px;font-size:11px;margin-left:auto;padding:5px 0;color:#738c99}.card-expanded .card-expand svg{transform:rotate(180deg)}}.terminal-cutaway{position:absolute;right:75px;bottom:42px;z-index:3;background:#ffffffed;color:#426577;border:1px solid #d8e6ed;border-radius:5px;padding:6px 9px;font-size:10px;pointer-events:none}.terminal-cutaway[hidden]{display:none}@media(max-width:760px){.terminal-cutaway{right:16px;top:112px;bottom:auto;font-size:8px;max-width:calc(100% - 32px);padding:5px 7px}}.destination-distance{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:13px;padding:10px 11px;border:1px solid #dce8ee;border-radius:6px;background:#f1f7fb;color:#54798e}.destination-distance>span{display:flex;align-items:center;gap:6px;font-size:12px}.destination-distance strong{font-family:Space Grotesk,sans-serif;font-size:21px;font-weight:500;color:#254e6b;white-space:nowrap}.destination-distance small{font-family:DM Sans,sans-serif;font-size:12px;font-weight:400;color:#7290a0;margin-left:5px}@media(max-width:760px){.destination-distance{margin-top:10px;padding:8px 9px;gap:7px}.destination-distance>span{font-size:10px;gap:5px}.destination-distance strong{font-size:19px}.destination-distance small{font-size:10px}.destination-distance svg{width:12px}}@media(max-width:430px){.destination-distance>span{font-size:9px}.destination-distance strong{font-size:17px}}.destination-arrival{margin-top:6px;background:#f3f7ef;border-color:#e0e8d8;color:#627b53}.destination-arrival strong{font-size:19px;color:#3d6036}.arrival-estimate-note{margin:5px 0 0;font-size:10px;color:#72806f;line-height:1.4}@media(max-width:760px){.destination-arrival{margin-top:5px}.destination-arrival strong{font-size:17px}.arrival-estimate-note{font-size:10px}}.flight-route{display:flex;align-items:center;gap:7px;margin-top:9px;font-size:11px;font-weight:500;color:#52724e}.direction-filter-note{margin:10px 19px 0;font-size:11px;line-height:1.5;color:#52724e}.direction-filter-note span{display:block;font-size:10px;color:#7a8275}.mobile-flight-summary{display:none}@media(max-width:900px),(max-width:1100px)and (max-height:600px){.selected-flight-card{left:10px;right:10px;bottom:28px;width:auto;max-width:none;padding:0;overflow:hidden;max-height:none;border-radius:12px;background:#fffffff7;box-shadow:0 4px 20px #1531492b;display:flex;flex-direction:column}.mobile-flight-summary{display:flex;align-items:center;gap:2px;padding:6px;flex-shrink:0}.mobile-flight-toggle{display:flex;align-items:center;gap:9px;flex:1;min-width:0;min-height:56px;padding:4px 5px;text-align:left;color:#294b61;touch-action:manipulation}.mobile-flight-toggle>.airline-logo{width:30px;height:30px;flex-shrink:0;font-size:16px}.mobile-flight-copy{display:flex;flex-direction:column;min-width:0;gap:4px;flex:1}.mobile-flight-identity{display:flex;align-items:center;gap:8px;min-width:0}.mobile-flight-identity strong{font-size:15px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-flight-identity>span{font-size:10px;line-height:1.2;color:#52765e;white-space:nowrap}.mobile-flight-metrics{font-size:11px;line-height:1.3;color:#657d89;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-flight-toggle>svg{flex-shrink:0;color:#688495}.mobile-follow-control{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;border-radius:9px;color:#547662;background:#eaf1e9;touch-action:manipulation}.mobile-follow-control.is-following{background:#285c7c;color:#fff}.selected-flight-card .flight-card-body{display:none}.selected-flight-card.card-expanded{max-height:min(56%,400px)}.selected-flight-card.card-expanded .flight-card-body{display:block;overflow-y:auto;overscroll-behavior:contain;min-height:0;padding:8px 12px 0;border-top:1px solid #e2e9e7}.selected-flight-card.card-expanded .mobile-flight-toggle>svg{transform:rotate(180deg)}.selected-flight-card .card-expand{display:none}.selected-flight-card .card-optional{display:block}.selected-flight-card .selected-card-eyebrow,.selected-flight-card .selected-flight-title{display:none}.selected-flight-card .destination-distance{margin-top:0}.selected-flight-card .destination-arrival{margin-top:6px}.selected-flight-card .destination-distance>span{font-size:11px}.selected-flight-card .destination-distance strong{font-size:19px}.selected-flight-card .card-actions>button{min-height:44px;font-size:12px}.selected-flight-card .route-display{margin:12px 0}}.flight-list-backdrop{display:none}@media(max-width:760px){.mobile-flights-button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:8px 10px;border-radius:8px;background:#285c7c;color:#fff;font-size:12px;font-weight:500;white-space:nowrap;touch-action:manipulation}.mobile-flights-button small{display:flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 4px;border-radius:5px;background:#ffffff26;font-size:10px}.toolbar-actions{flex-wrap:wrap;gap:7px}.terminal-control{margin-left:auto}.terminal-control select{max-width:85px}.flight-list-backdrop{display:block;position:fixed;top:62px;right:0;bottom:0;left:54px;background:#18344766;z-index:23}.flights-sidebar{position:fixed;top:62px;bottom:0;left:54px;right:0;width:auto;max-width:390px;z-index:24;border-right:1px solid #dbe4df;box-shadow:10px 0 30px #18344733}.flights-sidebar .sidebar-heading{padding:12px 14px 10px;flex-shrink:0}.flights-sidebar .sidebar-heading>.eyebrow,.flights-sidebar .sidebar-heading>p{display:none}.flights-sidebar .sidebar-heading h1{font-size:21px}.mobile-close{display:flex;width:44px;height:44px;flex-shrink:0;background:#e9efea;border-radius:8px;color:#385c4b}.flights-sidebar .airport-selector{margin:0 14px;padding:9px;flex-shrink:0}.flights-sidebar .search-field{margin:12px 14px;flex-shrink:0;min-height:44px}.flights-sidebar .flight-filter-tabs{margin:0 14px;flex-shrink:0}.flights-sidebar .flight-filter-tabs button{min-height:44px}.flights-sidebar .flight-list-heading{padding:12px 14px 8px;flex-shrink:0}.flights-sidebar .flight-list{min-height:0;overscroll-behavior:contain;padding:0 8px 10px}.flights-sidebar .flight-select{min-height:80px;padding:12px 9px}.flights-sidebar .flight-name>span{max-width:140px}.flights-sidebar .sidebar-footer{padding:10px 14px;flex-shrink:0}.direction-filter-note{margin:8px 14px 0;flex-shrink:0}}@media(max-width:360px){.toolbar-actions .terminal-control{order:3;width:100%;justify-content:space-between;margin-left:0}.toolbar-actions .terminal-control select{max-width:none;flex:1}.toolbar-actions .view-switch{margin-left:auto}.mobile-flights-button{flex:1}}
