/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::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%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, 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;-webkit-text-decoration:inherit;-webkit-text-decoration: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{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;appearance:button}::file-selector-button{-webkit-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{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--ink:#e9f0e6;--muted:#87968b;--line:#26342d;--panel:#111814;--green:#93ee76;--amber:#ffb044;--red:#ff524d;--dark:#080d0a}*{box-sizing:border-box}html{background:var(--dark)}body{background:var(--dark);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}button,a{font:inherit}main{background:radial-gradient(circle at 30% 20%, #25443029, transparent 32%), var(--dark);min-height:100vh}.topbar{border-bottom:1px solid var(--line);grid-template-columns:1fr auto auto;align-items:center;gap:44px;height:86px;padding:0 34px;display:grid}.brand-mark{letter-spacing:-1px;font-size:25px;font-weight:900}.brand-mark span{color:var(--green)}.brand-subtitle,.eyebrow{letter-spacing:2.4px;color:var(--muted);font-size:9px;font-weight:700}.location-block{border-left:1px solid var(--line);gap:3px;padding-left:28px;display:grid}.location-block strong{letter-spacing:1px;font-size:13px}.coordinates{color:var(--muted);font:10px var(--font-geist-mono), monospace}.status-block{align-items:center;gap:12px;min-width:150px;display:flex}.status-block div{gap:3px;display:grid}.status-block strong{letter-spacing:1.5px;color:var(--green);font-size:10px}.status-block span:last-child{color:var(--muted);font:9px var(--font-geist-mono), monospace}.live-dot{background:var(--green);width:9px;height:9px;box-shadow:0 0 0 5px #93ee761a,0 0 15px var(--green);border-radius:50%}.live-dot.warning{background:var(--amber)}.alert-strip{background:linear-gradient(90deg,#ffb0441c,#ffb04405);border-bottom:1px solid #44341f;align-items:center;gap:16px;min-height:70px;padding:12px 34px;display:flex}.alert-strip>div{flex:1;gap:3px;display:grid}.alert-strip strong{letter-spacing:1px;font-size:12px}.alert-icon{border:1px solid var(--amber);width:26px;height:26px;color:var(--amber);place-items:center;font-weight:900;display:grid;transform:rotate(45deg)}.alert-icon:first-letter{transform:rotate(-45deg)}.notification-button{letter-spacing:1.3px;cursor:pointer;border:1px solid #0000;padding:12px 16px;font-size:9px;font-weight:900;transition:background .15s,color .15s,border-color .15s}.notification-button.alerts-enabled{background:var(--green);color:#0c160e;border-color:var(--green);box-shadow:0 0 14px #93ee7629}.notification-button.alerts-disabled{color:#9aa89e;background:#273129;border-color:#3b4940}.notification-button span{margin-right:8px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 360px;gap:14px;padding:14px 14px 0;display:grid}.panel{border:1px solid var(--line);background:linear-gradient(145deg,#121b15fa,#0b110dfa)}.panel-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:70px;padding:16px 20px;display:flex}.panel-header h1,.panel-header h2{letter-spacing:.8px;margin:4px 0 0;font-size:16px}.legend{color:var(--muted);letter-spacing:1px;gap:18px;font-size:8px;display:flex}.legend span{align-items:center;gap:7px;display:flex}.legend i{border-radius:50%;width:7px;height:7px}.legend-mil{background:var(--amber);box-shadow:0 0 8px var(--amber)}.legend-civil{background:var(--green)}.radar{background-color:#0b130e;background-image:linear-gradient(#5b89670e 1px,#0000 1px),linear-gradient(90deg,#5b89670e 1px,#0000 1px),radial-gradient(circle,#50825b14,#0000 58%);background-size:32px 32px,32px 32px,100% 100%;height:570px;position:relative;overflow:hidden}.map-tiles{z-index:0;opacity:.5;filter:grayscale()sepia(.25)hue-rotate(75deg)saturate(.75)brightness(.7);mix-blend-mode:screen;position:absolute;inset:0;overflow:hidden}.map-tiles:after{content:"";z-index:2;background:radial-gradient(circle,#0000 24%,#080d0a26 62%,#080d0ab8 100%);position:absolute;inset:0}.map-tiles img{object-fit:fill;display:block;position:absolute}.radar-ring{border:1px solid #93ee761a;border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.ring-one{aspect-ratio:1;width:31%}.ring-two{aspect-ratio:1;width:62%}.home-point{z-index:6;letter-spacing:1.5px;color:var(--green);white-space:nowrap;font-size:8px;position:absolute;transform:translate(-50%,15px)}.home-point span{border:2px solid var(--green);width:8px;height:8px;box-shadow:0 0 12px var(--green);border-radius:50%;position:absolute;top:-18px;left:50%;transform:translate(-50%)}.airport-label{z-index:5;color:#a6b7ab;font:8px var(--font-geist-mono),monospace;letter-spacing:1.3px;white-space:nowrap;position:absolute;transform:translate(-3px,-50%)}.airport-label i{border:1px solid var(--green);width:6px;height:6px;margin-right:6px;display:inline-block;transform:rotate(45deg)}.scale{z-index:5;color:#75877a;font:9px var(--font-geist-mono),monospace;letter-spacing:1px;position:absolute}.north{color:var(--green);font-weight:700;top:18px;right:18px}.range{bottom:18px;right:18px}.map-credit{z-index:5;color:#4f5c53;font-size:7px;position:absolute;bottom:8px;left:10px}.air-route{z-index:3;pointer-events:none;position:absolute;inset:0}.air-route i{transform-origin:0;background:#93ee762e;height:1px;display:block;position:absolute;box-shadow:0 0 3px #93ee7614}.airport-label-left{transform:translate(calc(3px - 100%),-50%)}.airport-label-left i{float:right;margin:0 0 0 6px}.map-annotation{z-index:4;color:#93ee7661;font:8px var(--font-geist-mono),monospace;letter-spacing:1.3px;white-space:nowrap;pointer-events:none;position:absolute}.ring-label{padding:0 4px;transform:translate(-50%,-50%)}.route-label{left:9px;transform:translateY(-50%)}.aircraft-dot{z-index:8;width:0;height:0;color:var(--green);cursor:pointer;background:0 0;border:0;padding:0;position:absolute;overflow:visible;transform:translate(-50%,-50%)}.aircraft-dot.military{color:var(--amber)}.plot-symbol{z-index:3;width:9px;height:9px;font:6px var(--font-geist-mono),monospace;background:#08100b;border:1px solid;place-items:center;display:grid;position:absolute;top:-4px;left:-4px;box-shadow:0 0 7px #93ee7666}.aircraft-dot.helicopter .plot-symbol{border-radius:50%}.track-vector{z-index:2;transform-origin:bottom;opacity:.82;background:currentColor;width:1px;height:27px;position:absolute;bottom:4px;left:0}.track-vector:after{content:"";border-top:1px solid;border-left:1px solid;width:5px;height:5px;position:absolute;top:0;left:-2px;transform:rotate(45deg)}.tag-leader{z-index:2;transform-origin:0;opacity:.75;background:currentColor;width:20px;height:1px;position:absolute;top:-4px;left:5px;transform:rotate(-32deg)}.aircraft-label{z-index:4;white-space:nowrap;text-align:left;color:currentColor;min-width:73px;font:8px/1.15 var(--font-geist-mono),monospace;letter-spacing:.35px;background:#040a06b8;padding:2px 3px;position:absolute;top:-24px;left:21px}.aircraft-label strong{font-size:9px;display:block}.aircraft-label span{display:block}.aircraft-label small{color:#8ba093;margin-top:1px;font-size:7px;display:block}.label-left .tag-leader{left:-5px;transform:rotate(212deg)}.label-left .aircraft-label{text-align:right;left:auto;right:21px}.aircraft-dot.inbound .plot-symbol{animation:1.6s ease-in-out infinite pulse}.aircraft-dot.selected .plot-symbol{outline-offset:4px;outline:1px solid}.radar-footer{border-top:1px solid var(--line);height:38px;color:var(--muted);letter-spacing:1px;align-items:center;gap:28px;padding:0 18px;font-size:8px;display:flex}.radar-footer strong{color:var(--ink);margin-left:5px}.side-column{flex-direction:column;gap:14px;display:flex}.metric-panel{grid-template-columns:repeat(3,1fr);min-height:116px;display:grid}.metric{border-right:1px solid var(--line);align-content:center;gap:5px;padding:18px 13px;display:grid}.metric:last-child{border:0}.metric strong{font:31px var(--font-geist-mono),monospace}.metric small{letter-spacing:.7px;color:var(--muted);font-size:7px}.metric.urgent strong{color:var(--amber)}.compact{min-height:62px}.watch-panel{min-height:296px}.watch-list{padding:14px}.all-clear{text-align:center;color:var(--muted);padding:34px 20px}.all-clear span{width:36px;height:36px;color:var(--green);border:1px solid #45634d;border-radius:50%;place-items:center;margin:0 auto 13px;display:grid}.all-clear strong{color:var(--ink);letter-spacing:1.6px;font-size:11px;display:block}.all-clear p{font-size:10px;line-height:1.5}.watch-card{text-align:left;width:100%;color:var(--ink);cursor:pointer;background:#151b16;border:1px solid #3f3526;margin-bottom:8px;padding:13px;display:block}.watch-badge{float:right;color:var(--amber);letter-spacing:1px;font-size:7px}.watch-card strong{font:14px var(--font-geist-mono),monospace}.watch-card small{color:var(--muted);margin:5px 0;font-size:8px;display:block}.progress{background:#30291f;height:2px}.progress span{background:var(--amber);height:100%;display:block}.detail-panel{padding:17px;position:relative}.detail-panel h2{font:20px var(--font-geist-mono),monospace;margin:5px 0 13px}.detail-panel dl{grid-template-columns:1fr 1fr;gap:10px;margin:0;display:grid}.detail-panel dl div{border-top:1px solid var(--line);padding-top:8px}.detail-panel dt{color:var(--muted);letter-spacing:1px;font-size:7px}.detail-panel dd{font:10px var(--font-geist-mono),monospace;margin:4px 0}.close{color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:20px;position:absolute;top:10px;right:12px}.schedule-section{margin:14px}.schedule-heading{padding:19px 22px}.schedule-heading p{color:var(--muted);margin:6px 0 0;font-size:10px}.schedule-heading a{color:var(--green);letter-spacing:1.2px;border:1px solid #385141;padding:10px;font-size:8px;text-decoration:none}.schedule-row{border-top:1px solid var(--line);grid-template-columns:.55fr 1.25fr 1.7fr 1fr .7fr;align-items:center;min-height:64px;padding:0 22px;font-size:10px;display:grid}.schedule-labels{min-height:30px;color:var(--muted);letter-spacing:1.2px;background:#0c120e;font-size:7px}.schedule-row strong{font:13px var(--font-geist-mono),monospace;color:var(--green)}.schedule-row small{color:var(--muted)}.status-pill{background:var(--green);border-radius:50%;width:6px;height:6px;margin-right:7px;display:inline-block}.status-pill.active{background:var(--amber);box-shadow:0 0 7px var(--amber)}.no-schedule{color:var(--muted);padding:32px 22px;font-size:10px}footer{border-top:1px solid var(--line);color:#64736a;letter-spacing:.8px;grid-template-columns:auto 1fr auto;align-items:center;gap:40px;min-height:70px;padding:0 34px;font-size:8px;display:grid}footer>span:first-child{color:var(--ink);font-weight:900}footer p{text-align:center;max-width:680px;margin:auto;line-height:1.5}@keyframes pulse{50%{opacity:.5}}@media (max-width:900px){.topbar{grid-template-columns:1fr auto;height:76px;padding:0 18px}.location-block{display:none}.dashboard-grid{grid-template-columns:1fr}.side-column{grid-template-columns:1fr 1fr;display:grid}.metric-panel{grid-column:1/-1}.radar{height:500px}.schedule-row{grid-template-columns:.7fr 1.2fr 1.6fr .8fr}.schedule-row span:nth-child(4),.schedule-labels span:nth-child(4){display:none}footer{text-align:center;grid-template-columns:1fr;gap:8px;padding:18px}}@media (max-width:600px){.topbar{gap:10px}.status-block{min-width:0}.status-block span:last-child,.brand-subtitle{display:none}.alert-strip{flex-wrap:wrap;padding:12px 16px}.alert-strip>div{min-width:220px}.notification-button{width:100%}.dashboard-grid{gap:8px;padding:8px 8px 0}.radar{height:420px}.panel-header{align-items:flex-start;gap:10px}.legend{flex-direction:column;gap:5px}.side-column{display:flex}.schedule-section{margin:8px}.schedule-heading{align-items:flex-start;gap:14px}.schedule-row{grid-template-columns:.8fr 1.4fr 1fr;padding:10px 14px}.schedule-row span:nth-child(2),.schedule-labels span:nth-child(2){display:none}.schedule-row span:nth-child(5){text-align:right}footer{margin-top:8px}.aircraft-label{transform-origin:0;transform:scale(.9)}.label-left .aircraft-label{transform-origin:100%}}.aircraft-label{text-shadow:0 1px 2px #020503,0 0 4px #020503,1px 0 2px #020503;background:0 0;padding:0}.aircraft-dot.immediate{color:var(--red)}.alert-strip.clear,.alert-strip.helicopter-alert{background:linear-gradient(90deg,#93ee761a,#93ee7604);border-bottom-color:#29462e}.alert-strip.clear .alert-icon,.alert-strip.helicopter-alert .alert-icon{border-color:var(--green);color:var(--green)}.alert-strip.danger{background:linear-gradient(90deg,#ff524d2e,#ff524d06);border-bottom-color:#5b2522}.alert-strip.danger .alert-icon{border-color:var(--red);color:var(--red);box-shadow:0 0 14px #ff524d40}.metric.urgent.helicopter-alert strong,.metric.urgent.clear strong{color:var(--green)}.metric.urgent.danger strong{color:var(--red)}.watch-card.helicopter-alert{border-color:#314b36}.watch-card.helicopter-alert .watch-badge{color:var(--green)}.watch-card.helicopter-alert .progress span{background:var(--green)}.watch-card.danger{border-color:#632d29}.watch-card.danger .watch-badge{color:var(--red)}.watch-card.danger .progress span{background:var(--red)}.track-vector:after{display:none}.aircraft-dot{transition:none}@media (prefers-reduced-motion:reduce){.aircraft-dot{transition:none}.aircraft-dot.inbound .plot-symbol{animation:none}}@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}
