:root{color-scheme:dark}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}:root{--font-display: "Orbitron", "Exo 2", system-ui, sans-serif;--font-ui: "Exo 2", "Segoe UI", system-ui, sans-serif;--c-bg: light-dark(#e8eef4, #03070c);--c-grid: light-dark(rgb(0 105 140 / .06), rgb(34 227 255 / .045));--c-surface: light-dark(rgb(255 255 255 / .84), rgb(7 18 28 / .8));--c-surface-solid: light-dark(#ffffff, #07131d);--c-surface-2: light-dark(#f2f6f9, #0b1b28);--c-line: light-dark(rgb(0 105 140 / .2), rgb(34 227 255 / .16));--c-line-strong: light-dark(rgb(0 105 140 / .45), rgb(34 227 255 / .45));--c-text: light-dark(#0b1a26, #d8f4ff);--c-text-2: light-dark(#435b6d, #86a9bb);--c-accent: light-dark(#00789a, #22e3ff);--c-accent-soft: light-dark(rgb(0 120 154 / .09), rgb(34 227 255 / .09));--c-accent-contrast: light-dark(#ffffff, #021017);--c-amber: light-dark(#9a5a00, #ffb020);--c-green: light-dark(#0d7640, #3dff8a);--c-danger: light-dark(#b8233a, #ff5470);--gps-moving: var(--c-green);--gps-idle: var(--c-amber);--gps-alert: var(--c-danger);--gps-off: var(--c-text-2);--gps-route: var(--c-accent);--glow: 0 0 .55rem light-dark(rgb(0 120 154 / .22), rgb(34 227 255 / .45));--glow-strong: 0 0 .2rem light-dark(rgb(0 120 154 / .35), rgb(34 227 255 / .7)), 0 0 1.2rem light-dark(rgb(0 120 154 / .2), rgb(34 227 255 / .35));--shadow: 0 1.25rem 3rem light-dark(rgb(10 40 60 / .18), rgb(0 0 0 / .55));--scrollbar-thumb: light-dark(rgb(0 120 154 / .45), rgb(34 227 255 / .4));--scrollbar-track: transparent;--radius: .375rem;--gap: .75rem;--ease: cubic-bezier(.2, .8, .2, 1);--topbar-h: 3.25rem}*,*:before,*:after{box-sizing:border-box}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}html{font-size:clamp(14px,.25vw + 11px,17px);accent-color:var(--c-accent);scroll-behavior:smooth;scroll-padding-top:calc(var(--topbar-h) + 1rem)}body{margin:0;min-height:100dvh;font-family:var(--font-ui);line-height:1.45;color:var(--c-text);background:var(--c-bg);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{margin:0;font-family:var(--font-display);font-weight:600;letter-spacing:.06em}p{margin:0}ul{margin:0;padding:0;list-style:none}a{color:var(--c-accent)}::selection{background:var(--c-accent);color:var(--c-accent-contrast)}:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px}.eyebrow{font-family:var(--font-display);font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--c-accent)}.display{font-family:var(--font-display);letter-spacing:.08em}.muted{color:var(--c-text-2)}.mono{font-variant-numeric:tabular-nums}.title-glow{text-transform:uppercase;text-shadow:0 0 1.2rem color-mix(in srgb,var(--c-accent) 35%,transparent)}.title-glow em{font-style:normal;color:var(--c-accent)}.section{display:grid;gap:1.25rem}.section__head{display:grid;gap:.5rem}.section__head h2{display:flex;align-items:center;gap:.6rem;font-size:clamp(1.1rem,.8rem + 1vw,1.6rem);text-transform:uppercase}.section__head h2 app-icon{--icon: 1.4rem;color:var(--c-accent)}.section__head p{max-width:42rem;color:var(--c-text-2)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.spacer{flex:1}.cards{display:grid;gap:var(--gap);grid-template-columns:repeat(auto-fill,minmax(min(100%,20rem),1fr))}.tiles{display:grid;gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr))}.reveal{animation:pop-in linear both;animation-timeline:view();animation-range:entry 0% cover 25%}.bg-fx{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}.bg-fx:before{content:"";position:absolute;inset:-2.5rem;background:linear-gradient(var(--c-grid) 1px,transparent 1px) 0 0/2.5rem 2.5rem,linear-gradient(90deg,var(--c-grid) 1px,transparent 1px) 0 0/2.5rem 2.5rem;animation:grid-drift 18s linear infinite;-webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 40%,#000 40%,transparent 100%);mask-image:radial-gradient(ellipse 80% 70% at 50% 40%,#000 40%,transparent 100%)}.bg-fx:after{content:"";position:absolute;inset:0 0 auto;height:30vh;background:linear-gradient(transparent,color-mix(in srgb,var(--c-accent) 6%,transparent),transparent);animation:scan 9s var(--ease) infinite}@media(width<48rem){.bg-fx:after{display:none}}.bg-fx__halo{position:absolute;width:60vmax;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,var(--c-accent-soft),transparent 65%);animation:breathe 12s ease-in-out infinite}.bg-fx__halo:nth-child(1){top:-25vmax;left:-15vmax}.bg-fx__halo:nth-child(2){bottom:-30vmax;right:-20vmax;animation-delay:-6s}@keyframes spin{to{rotate:360deg}}@keyframes pulse{50%{opacity:.35}}@keyframes pop-in{0%{opacity:0;transform:translateY(.5rem) scale(.98)}}@keyframes slide-in{0%{opacity:0;transform:translate(2rem)}}@keyframes sweep{0%{background-position:-60% 0}to{background-position:160% 0}}@keyframes grid-drift{to{transform:translate(2.5rem,2.5rem)}}@keyframes scan{0%{transform:translateY(-30vh)}to{transform:translateY(100vh)}}@keyframes breathe{50%{opacity:.45;transform:scale(1.12)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}@media print{:root{color-scheme:light}body{background:#fff;color:#000}.bg-fx,app-topbar,app-footer,.no-print{display:none!important}.panel{background:#fff;border-color:#999;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}.panel:before{display:none}*{animation:none!important;text-shadow:none!important}}.btn{--btn-c: var(--c-accent);display:inline-flex;align-items:center;justify-content:center;gap:.45rem;height:2.25rem;padding:0 1rem;font:600 .78rem/1 var(--font-ui);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;color:var(--btn-c);background:linear-gradient(180deg,color-mix(in srgb,var(--btn-c) 10%,transparent),transparent);border:1px solid color-mix(in srgb,var(--btn-c) 55%,transparent);border-radius:var(--radius);box-shadow:inset 0 0 .6rem color-mix(in srgb,var(--btn-c) 12%,transparent);cursor:pointer;text-decoration:none;transition:box-shadow .2s var(--ease),border-color .2s,background-color .2s,transform .1s;--icon: 1.05rem}.btn:hover:not(:disabled){border-color:var(--btn-c);box-shadow:inset 0 0 .8rem color-mix(in srgb,var(--btn-c) 20%,transparent),0 0 .7rem color-mix(in srgb,var(--btn-c) 45%,transparent)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{color:var(--c-accent-contrast);background:linear-gradient(180deg,color-mix(in srgb,var(--btn-c) 88%,white),var(--btn-c));border-color:var(--btn-c);box-shadow:0 0 .6rem color-mix(in srgb,var(--btn-c) 40%,transparent)}.btn--amber{--btn-c: var(--c-amber)}.btn--danger{--btn-c: var(--c-danger)}.btn--ghost{background:transparent;border-color:transparent;box-shadow:none;color:var(--c-text-2)}.btn--ghost:hover:not(:disabled){color:var(--btn-c)}.btn--icon{width:2.25rem;padding:0}.btn--sm{height:1.85rem;padding:0 .7rem;font-size:.72rem}.btn--block{width:100%}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.form-grid .span-2{grid-column:1/-1}@media(width<34rem){.form-grid{grid-template-columns:1fr}}.field{display:grid;gap:.35rem}.field>label{font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--c-text-2)}.field .req{color:var(--c-amber)}.input{width:100%;min-height:2.35rem;padding:.45rem .7rem;font:400 .92rem var(--font-ui);color:var(--c-text);background:var(--c-surface-2);border:1px solid var(--c-line);border-radius:var(--radius);transition:border-color .2s,box-shadow .2s}.input:hover{border-color:var(--c-line-strong)}.input:focus{outline:none;border-color:var(--c-accent);box-shadow:var(--glow)}.input.is-invalid{border-color:var(--c-danger)}textarea.input{min-height:6rem;resize:vertical}.form-note{padding:.6rem .8rem;font-size:.88rem;border-radius:var(--radius);color:var(--c-green);background:color-mix(in srgb,var(--c-green) 8%,transparent);border:1px solid color-mix(in srgb,var(--c-green) 40%,transparent)}.field-error{font-size:.78rem;color:var(--c-danger)}.field-hint{font-size:.78rem;color:var(--c-text-2)}.check{display:flex;align-items:start;gap:.6rem;font-size:.9rem;color:var(--c-text-2);cursor:pointer}.check input{flex:none;width:1.05rem;height:1.05rem;margin:.15rem 0 0}.choice{position:relative;display:grid;gap:.3rem;padding:.8rem .9rem .8rem 2.6rem;background:var(--c-surface-2);border:1px solid var(--c-line);border-radius:var(--radius);cursor:pointer;transition:border-color .2s,box-shadow .2s,background-color .2s}.choice input{position:absolute;opacity:0;pointer-events:none}.choice:before{content:"";position:absolute;top:.95rem;left:.9rem;width:1rem;height:1rem;border:1px solid var(--c-line-strong);border-radius:50%;transition:box-shadow .2s,background-color .2s}.choice strong{font-size:.9rem;color:var(--c-text)}.choice span{font-size:.84rem;color:var(--c-text-2)}.choice:hover{border-color:var(--c-line-strong)}.choice:has(input:focus-visible){outline:2px solid var(--c-accent);outline-offset:2px}.choice:has(input:checked){border-color:var(--c-accent);background:var(--c-accent-soft);box-shadow:var(--glow)}.choice:has(input:checked):before{background:var(--c-accent);box-shadow:inset 0 0 0 3px var(--c-surface-2),0 0 .4rem var(--c-accent)}.choice.is-invalid{border-color:var(--c-danger)}.panel{--corner: .8rem;--corner-c: var(--c-accent);position:relative;background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--radius);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.panel:before{content:"";position:absolute;inset:-1px;pointer-events:none;border-radius:inherit;background:linear-gradient(var(--corner-c),var(--corner-c)) top left/var(--corner) 2px,linear-gradient(var(--corner-c),var(--corner-c)) top left/2px var(--corner),linear-gradient(var(--corner-c),var(--corner-c)) top right/var(--corner) 2px,linear-gradient(var(--corner-c),var(--corner-c)) top right/2px var(--corner),linear-gradient(var(--corner-c),var(--corner-c)) bottom left/var(--corner) 2px,linear-gradient(var(--corner-c),var(--corner-c)) bottom left/2px var(--corner),linear-gradient(var(--corner-c),var(--corner-c)) bottom right/var(--corner) 2px,linear-gradient(var(--corner-c),var(--corner-c)) bottom right/2px var(--corner);background-repeat:no-repeat;opacity:.85}.panel--amber{--corner-c: var(--c-amber)}.panel--green{--corner-c: var(--c-green)}.panel--danger{--corner-c: var(--c-danger)}.panel__head{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;padding:.65rem .85rem;border-bottom:1px solid var(--c-line)}.panel__head h2,.panel__head h3{font-size:.82rem;text-transform:uppercase}.card{display:grid;gap:.6rem;align-content:start;padding:1rem;transition:box-shadow .2s,border-color .2s,translate .2s var(--ease)}.card:hover{border-color:var(--c-line-strong);box-shadow:var(--glow);translate:0 -2px}.tile{display:flex;gap:.9rem;padding:1rem;color:var(--c-amber);--icon: 1.6rem}.tile h3{margin-bottom:.35rem;font-size:.8rem;text-transform:uppercase;color:var(--c-text)}.tile p{font-size:.9rem;color:var(--c-text-2)}.badge{--badge-c: var(--c-text-2);display:inline-flex;align-items:center;gap:.35rem;padding:.12rem .55rem;font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--badge-c);border:1px solid color-mix(in srgb,var(--badge-c) 45%,transparent);background:color-mix(in srgb,var(--badge-c) 10%,transparent);border-radius:1rem;white-space:nowrap}.badge:before{content:"";width:.4rem;height:.4rem;border-radius:50%;background:currentColor;box-shadow:0 0 .35rem currentColor}.badge--on{--badge-c: var(--c-green)}.badge--off{--badge-c: var(--c-text-2)}.badge--warn{--badge-c: var(--c-amber)}.badge--info{--badge-c: var(--c-accent)}.badge--alert{--badge-c: var(--c-danger)}.badge--live:before{animation:pulse 1.6s infinite}.grid-scroll{overflow-x:auto}table.grid{width:100%;border-collapse:collapse;font-size:.9rem}table.grid th{position:sticky;top:0;padding:.6rem .85rem;text-align:left;font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--c-text-2);background:var(--c-surface-solid);border-bottom:1px solid var(--c-line)}table.grid td{padding:.65rem .85rem;border-bottom:1px solid var(--c-line)}table.grid tbody tr{transition:background-color .15s}table.grid tbody tr:hover{background:var(--c-accent-soft);box-shadow:inset 2px 0 0 var(--c-accent)}table.grid tbody tr:last-child td{border-bottom:0}table.grid .code{font:500 .74rem var(--font-display);letter-spacing:.08em;color:var(--c-accent)}.checklist{display:grid;gap:.5rem}.checklist li{display:flex;gap:.6rem;align-items:start}.checklist li:before{content:"";flex:none;width:.4rem;height:.4rem;margin-top:.5em;rotate:45deg;background:var(--c-accent);box-shadow:0 0 .35rem var(--c-accent)}.checklist--amber li:before{background:var(--c-amber);box-shadow:0 0 .35rem var(--c-amber)}.progress-sweep{height:2px;background:linear-gradient(90deg,transparent,var(--c-accent),transparent) 0 0/40% 100% no-repeat;animation:sweep 1s linear infinite;box-shadow:var(--glow)}.radar{position:relative;aspect-ratio:1;width:100%;max-width:22rem;justify-self:center;border-radius:50%;background:radial-gradient(circle,var(--c-accent-soft),transparent 70%)}@media(width<48rem){.radar{max-width:14rem}}.ring{position:absolute;border:1px solid var(--c-line-strong);border-radius:50%}.r1{inset:0;box-shadow:var(--glow),inset 0 0 2rem var(--c-accent-soft)}.r2{inset:18%;border-style:dashed;animation:spin 30s linear infinite}.r3{inset:36%;border-color:var(--c-amber)}.cross{position:absolute;inset:0;background:linear-gradient(var(--c-line),var(--c-line)) center/1px 100% no-repeat,linear-gradient(var(--c-line),var(--c-line)) center/100% 1px no-repeat}.sweep{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,transparent 0 300deg,color-mix(in srgb,var(--c-accent) 45%,transparent));animation:spin 4s linear infinite}.blip{--c: var(--gps-moving);position:absolute;top:var(--y);left:var(--x);width:.5rem;height:.5rem;translate:-50% -50%;border-radius:50%;background:var(--c);box-shadow:0 0 .3rem var(--c),0 0 1rem var(--c);animation:pulse 2s var(--d, 0s) infinite}.blip--idle{--c: var(--gps-idle)}.blip--alert{--c: var(--gps-alert);animation-duration:.8s}.ping{position:absolute;inset:50%;border:1px solid var(--c-accent);border-radius:50%;animation:ping 3s var(--d, 0s) var(--ease) infinite}@keyframes ping{0%{inset:50%;opacity:.9}to{inset:0;opacity:0}}.gps-marker{--c: var(--gps-moving);position:relative;width:.75rem;height:.75rem;border-radius:50%;background:var(--c);box-shadow:0 0 .5rem var(--c)}.gps-marker:after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--c);animation:marker-ping 1.8s var(--ease) infinite}.gps-marker--idle{--c: var(--gps-idle)}.gps-marker--alert{--c: var(--gps-alert)}.gps-marker--off{--c: var(--gps-off)}.gps-marker--off:after{display:none}@keyframes marker-ping{to{transform:scale(3.2);opacity:0}}.route path{fill:none;stroke:var(--gps-route);stroke-width:2;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;filter:drop-shadow(0 0 .35rem var(--c-accent));animation:draw-route 3.5s var(--ease) forwards}@keyframes draw-route{to{stroke-dashoffset:0}}.signal{display:inline-flex;align-items:end;gap:2px;height:1rem}.signal span{width:3px;background:var(--c-accent);border-radius:1px;animation:pulse 1.2s infinite}.signal span:nth-child(1){height:30%}.signal span:nth-child(2){height:55%;animation-delay:.15s}.signal span:nth-child(3){height:80%;animation-delay:.3s}.signal span:nth-child(4){height:100%;animation-delay:.45s}.mark{width:2rem;height:2rem;color:var(--c-accent);filter:drop-shadow(0 0 .3rem color-mix(in srgb,var(--c-accent) 50%,transparent))}.mark .orbit{transform-origin:center;animation:spin 12s linear infinite}.brand-name{font:700 1.05rem var(--font-display);letter-spacing:.24em;color:var(--c-text)}
