:root[data-theme=system]{color-scheme:light dark}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}.shell{--ui-font:"Manrope Variable", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--ui-mono:"IBM Plex Mono", "SF Mono", ui-monospace, Menlo, monospace;--ui-bg:light-dark(#eef2f3,#04080e);--ui-text:light-dark(#0e1a20,#dae9ee);--ui-text-strong:light-dark(#030507,#f2f5f5);--ui-muted:light-dark(#51626a,#91a8b5);--ui-faint:light-dark(#7c8b91,#6f8996);--ui-glass:light-dark(#ffffff9e,#0a121a8f);--ui-glass-strong:light-dark(#ffffffd1,#0a121ac7);--ui-line:light-dark(#0e1a201f,#d5dcdf24);--ui-line-strong:light-dark(#0e1a203d,#d5dcdf47);--ui-accent:light-dark(#0d8f7a,#90e5d4);--ui-accent-ink:light-dark(#fff,#10282b);--ui-signal:light-dark(#0a7fa0,#83e8fa);--ui-ok:light-dark(#0f8a5f,#70e5bc);--ui-warn:light-dark(#b0620e,#efbc8c);--ui-danger:light-dark(#c2303f,#ff6b7a);--ui-shadow:light-dark(0 10px 30px #0a1e2824,0 12px 36px #00000073);--ui-radius:14px;font-family:var(--ui-font);color:var(--ui-text);background:var(--ui-bg);-webkit-font-smoothing:antialiased}.shell :focus-visible{outline:2px solid var(--ui-accent);outline-offset:2px}.shell .glass{background:var(--ui-glass);border:1px solid var(--ui-line);border-radius:var(--ui-radius);box-shadow:var(--ui-shadow);-webkit-backdrop-filter:blur(18px)saturate(1.4)}.shell .num{font-family:var(--ui-mono);font-variant-numeric:tabular-nums}.ui-segment{background:var(--ui-glass);border:1px solid var(--ui-line);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.ui-segment button{color:var(--ui-muted);background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:12px;line-height:1;display:inline-flex}.ui-segment button[aria-pressed=true]{background:var(--ui-glass-strong);color:var(--ui-text-strong);box-shadow:0 1px 3px #0000002e}.ui-segment button:hover{color:var(--ui-text-strong)}.ui-swatches{grid-template-columns:repeat(7,22px);gap:6px;display:grid}.ui-swatches button{border:1px solid var(--ui-line-strong);border-radius:50%;width:22px;height:22px;padding:0}.ui-swatches button[aria-pressed=true]{outline:2px solid var(--ui-accent);outline-offset:2px}.ui-button{border:1px solid var(--ui-line-strong);background:var(--ui-glass-strong);color:var(--ui-text-strong);border-radius:10px;padding:8px 12px;font-size:13px;font-weight:600}.ui-button:hover:not(:disabled){border-color:var(--ui-accent)}.ui-button:disabled{opacity:.45;cursor:default}.ui-button.primary{background:var(--ui-accent);color:var(--ui-accent-ink);border-color:#0000}.ui-button.danger{color:var(--ui-danger)}.ui-kbd{font-family:var(--ui-mono);border:1px solid var(--ui-line-strong);color:var(--ui-muted);background:var(--ui-glass-strong);border-radius:5px;padding:1px 5px;font-size:10px}.fly-root{position:fixed;inset:0;overflow:hidden}.fly{position:absolute;inset:0}.fly-canvas{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.fly-top{pointer-events:none;justify-content:space-between;align-items:flex-start;gap:10px;display:flex;position:absolute;top:14px;left:14px;right:14px}.fly-top>*{pointer-events:auto}.fly-brand{letter-spacing:.08em;align-items:center;gap:10px;padding:8px 14px;font-size:12px;display:flex}.fly-brand img{height:16px;filter:light-dark(invert(1),none)}.fly-brand span{color:var(--ui-text-strong);font-weight:700}.fly-brand em{color:var(--ui-accent);letter-spacing:.02em;font-style:normal;font-weight:600}.fly-status{align-items:center;gap:8px;padding:6px 8px 6px 14px;display:flex}.fly-mode{letter-spacing:-.01em;color:var(--ui-text-strong);min-width:110px;font-size:18px;font-weight:700}.fly-mode.vtol:before,.fly-mode.wing:before{content:"";vertical-align:2px;border-radius:50%;width:8px;height:8px;margin-right:8px;display:inline-block}.fly-mode.vtol:before{background:var(--ui-signal);box-shadow:0 0 10px var(--ui-signal)}.fly-mode.wing:before{background:var(--ui-accent);box-shadow:0 0 10px var(--ui-accent)}.fly-chip{border:1px solid var(--ui-line);color:var(--ui-muted);white-space:nowrap;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:600}.fly-chip.armed{color:var(--ui-danger);border-color:color-mix(in srgb, var(--ui-danger) 55%, transparent);background:color-mix(in srgb, var(--ui-danger) 12%, transparent)}.fly-chip.ok{color:var(--ui-ok);border-color:color-mix(in srgb, var(--ui-ok) 45%, transparent)}.fly-chip.wait{color:var(--ui-warn)}.fly-tools{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.appearance{align-items:center;gap:12px;padding:6px 10px;display:flex}.fly-events{pointer-events:none;flex-direction:column;gap:6px;max-width:380px;display:flex;position:absolute;top:72px;left:14px}.fly-event{border-radius:10px;padding:7px 12px;font-size:12px;animation:.25s ease-out fly-in}.fly-event.warning{color:var(--ui-warn)}.fly-event.error{color:var(--ui-danger)}@keyframes fly-in{0%{opacity:0;transform:translateY(-6px)}}.fly-aero{width:250px;padding:12px 14px;position:absolute;bottom:14px;left:14px}.fly-aero-head{color:var(--ui-muted);text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:11px;display:flex}.fly-env{text-transform:none;letter-spacing:0;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:600}.fly-env.cfd{color:var(--ui-ok);background:color-mix(in srgb, var(--ui-ok) 14%, transparent)}.fly-env.averaged{color:var(--ui-signal);background:color-mix(in srgb, var(--ui-signal) 14%, transparent)}.fly-env.extrapolated{color:var(--ui-danger);background:color-mix(in srgb, var(--ui-danger) 14%, transparent)}.fly-env.inactive{color:var(--ui-faint);background:color-mix(in srgb, var(--ui-faint) 12%, transparent)}.fly-aero dl{grid-template-columns:repeat(3,1fr);gap:8px 10px;margin:0;display:grid}.fly-aero dl div{flex-direction:column;gap:2px;display:flex}.fly-aero dt{color:var(--ui-muted);font-size:11px}.fly-aero dd{color:var(--ui-text-strong);margin:0;font-size:14px}.fly-sticks{border-top:1px solid var(--ui-line);align-items:center;gap:12px;margin-top:12px;padding-top:12px;display:flex}.fly-stick{border:1px solid var(--ui-line-strong);background:linear-gradient(var(--ui-line), var(--ui-line)) center / 1px 100% no-repeat, linear-gradient(var(--ui-line), var(--ui-line)) center / 100% 1px no-repeat;border-radius:12px;width:56px;height:56px;position:relative}.fly-stick i{background:var(--ui-accent);width:10px;height:10px;box-shadow:0 0 8px var(--ui-accent);border-radius:50%;margin:-5px 0 0 -5px;position:absolute}.fly-stick small{text-align:center;color:var(--ui-faint);white-space:nowrap;margin-top:3px;font-size:9px;position:absolute;top:100%;left:0;right:0}.fly-source{color:var(--ui-muted);font-size:11px;line-height:1.6}.fly-pfd{pointer-events:none;width:min(560px,46vw);height:270px;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.fly-controls{flex-direction:column;gap:10px;width:330px;padding:12px;display:flex;position:absolute;bottom:14px;right:14px}.fly-modes{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.fly-modes button{color:var(--ui-text);border:1px solid var(--ui-line);background:0 0;border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;font-size:11px;font-weight:600;display:flex}.fly-modes button:hover{border-color:var(--ui-line-strong)}.fly-modes button[aria-pressed=true].vtol{border-color:var(--ui-signal);background:color-mix(in srgb, var(--ui-signal) 16%, transparent);color:var(--ui-text-strong)}.fly-modes button[aria-pressed=true].wing{border-color:var(--ui-accent);background:color-mix(in srgb, var(--ui-accent) 16%, transparent);color:var(--ui-text-strong)}.fly-actions{grid-template-columns:1fr 1fr;gap:6px;display:grid}.fly-actions .ui-button{justify-content:space-between;align-items:center;gap:6px;font-size:12px;display:flex}.fly-arm{grid-column:1/-1;position:relative;overflow:hidden}.fly-arm:after{content:"";transform-origin:0;transform:scaleX(var(--hold,0));pointer-events:none;background:#ffffff40;position:absolute;inset:0}.fly-loading{padding:14px 20px;font-size:14px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.fly-help{z-index:5;width:min(620px,100vw - 32px);height:fit-content;margin:auto;padding:22px 26px;position:absolute;inset:0}.fly-help h2{color:var(--ui-text-strong);margin:0 0 14px;font-size:18px}.fly-help-grid{grid-template-columns:auto 1fr;align-items:center;gap:10px 16px;font-size:13px;display:grid}.fly-help-grid>span:nth-child(odd){white-space:nowrap;align-items:center;gap:4px;display:flex}.fly-help p{color:var(--ui-muted);margin:16px 0 0;font-size:12px;line-height:1.6}.fly-connect{background:radial-gradient(ellipse at 70% 20%, light-dark(#d9eef0,#0e383c), transparent 60%), radial-gradient(ellipse at 20% 90%, light-dark(#e8dfd6,#2a1d2e), transparent 55%), var(--ui-bg);place-items:center;padding:16px;display:grid;position:absolute;inset:0}.fly-connect-card{width:min(520px,100%);padding:28px}.fly-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--ui-accent);margin:0;font-size:11px;font-weight:700}.fly-connect-card h1{letter-spacing:-.03em;color:var(--ui-text-strong);margin:10px 0;font-size:clamp(26px,4vw,34px);line-height:1.1}.fly-lede{color:var(--ui-muted);font-size:14px;line-height:1.6}.fly-lede code{font-family:var(--ui-mono);font-size:12px}.fly-connect-card form{gap:12px;margin-top:18px;display:grid}.fly-connect-card label{color:var(--ui-muted);gap:6px;font-size:12px;font-weight:600;display:grid}.fly-connect-card input{font:inherit;border:1px solid var(--ui-line-strong);background:var(--ui-glass-strong);color:var(--ui-text-strong);border-radius:10px;padding:10px 12px;font-size:14px}.fly-connect-foot{justify-content:flex-start;margin-top:18px;display:flex}.fly-connect-foot .appearance{box-shadow:none}@media (height<=820px){.fly-pfd{width:min(480px,44vw);height:210px}}@media (height<=640px){.fly-pfd{width:min(420px,42vw);height:170px}}@media (width<=1100px){.fly-pfd{width:min(460px,70vw);height:190px;top:64px;bottom:auto}.fly-events{max-width:260px;top:272px}.fly-cameras{display:none!important}}@media (width<=720px){.fly-top{flex-wrap:wrap}.fly-status{order:3;width:100%}.fly-aero,.fly-controls{width:calc(50% - 20px)}.fly-modes{grid-template-columns:repeat(2,1fr)}.fly-pfd{width:calc(100vw - 28px);height:200px;top:130px;bottom:auto}.fly-events{display:none}}@media (prefers-reduced-motion:reduce){.fly-event{animation:none}}.fly-hangar{gap:20px;width:min(760px,100%);max-height:calc(100vh - 32px);padding:28px;display:grid;overflow:auto}.fly-hangar-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.fly-hangar-head h1{letter-spacing:-.03em;color:var(--ui-text-strong);margin:10px 0;font-size:clamp(26px,4vw,34px);line-height:1.1}.fly-hangar-head .fly-lede{max-width:460px;margin:0}.fly-hangar h2{color:var(--ui-text-strong);margin:0;font-size:15px}.fly-note{color:var(--ui-muted);margin:0;font-size:13px;line-height:1.55}.fly-warning{color:var(--ui-warn);background:color-mix(in srgb, var(--ui-warn) 10%, transparent);border:1px solid color-mix(in srgb, var(--ui-warn) 35%, transparent);overflow-wrap:anywhere;border-radius:12px;margin:0;padding:12px 14px;font-size:13px;line-height:1.5}.fly-logs{max-height:160px;font-family:var(--ui-mono);color:var(--ui-muted);background:var(--ui-glass-strong);white-space:pre-wrap;border-radius:8px;margin:10px 0 0;padding:10px;font-size:11px;overflow:auto}.fly-pair,.fly-fleet{gap:12px;display:grid}.fly-pair form,.fly-advanced form{grid-template-columns:1fr 1fr auto;align-items:end;gap:10px;display:grid}.fly-pair label,.fly-advanced label{color:var(--ui-muted);gap:6px;font-size:12px;font-weight:600;display:grid}.fly-pair input,.fly-advanced input{font:inherit;border:1px solid var(--ui-line-strong);background:var(--ui-glass-strong);color:var(--ui-text-strong);border-radius:10px;min-width:0;padding:9px 11px;font-size:14px}.fly-session{border:1px solid color-mix(in srgb, var(--ui-accent) 40%, transparent);background:color-mix(in srgb, var(--ui-accent) 10%, transparent);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.fly-session-status{color:var(--ui-text);align-items:center;gap:12px;font-size:14px;display:flex}.fly-session-status strong{color:var(--ui-text-strong);letter-spacing:.04em}.fly-session-actions{gap:8px;display:flex}.fly-pulse{background:var(--ui-accent);width:10px;height:10px;box-shadow:0 0 0 0 color-mix(in srgb, var(--ui-accent) 60%, transparent);border-radius:50%;flex:none;animation:1.4s ease-out infinite fly-pulse}.fly-session.ready .fly-pulse{background:var(--ui-ok);animation-duration:2.4s}@keyframes fly-pulse{to{box-shadow:0 0 0 12px #0000}}.fly-fleet-head{align-items:center;gap:12px;display:flex}.fly-spacer{flex:1}.fly-cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.fly-card{border:1px solid var(--ui-line-strong);background:var(--ui-glass-strong);border-radius:14px;align-content:start;gap:10px;padding:16px;display:grid}.fly-card-top{align-items:center;gap:8px;display:flex}.fly-card.older{opacity:.72}.fly-card-meta{color:var(--ui-muted);font-variant-numeric:tabular-nums;margin:0;font-size:12px}.fly-card h3{letter-spacing:.04em;color:var(--ui-text-strong);margin:0;font-size:20px}.fly-card details{color:var(--ui-muted);font-size:12px}.fly-card summary{cursor:pointer;color:var(--ui-text)}.fly-card ul{margin:8px 0 0;padding-left:18px;line-height:1.5}.fly-advanced{color:var(--ui-muted);font-size:13px}.fly-advanced summary{cursor:pointer}.fly-advanced form{margin-top:12px}@media (width<=640px){.fly-pair form,.fly-advanced form{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.fly-pulse{animation:none}}.fly-back{color:var(--ui-muted);margin-bottom:12px;font-size:13px;text-decoration:none;display:inline-block}.fly-back:hover{color:var(--ui-text-strong)}
