*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{-webkit-font-smoothing:antialiased;background:#0b0d10;margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow:hidden}code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.app{color:#e6e9ef;background:#0b0d10;flex-direction:column;height:100dvh;display:flex}.bar{border-bottom:1px solid #1c2128;flex:none;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1.25rem;display:flex}.title{letter-spacing:.02em;font-size:.9rem;font-weight:600}.status{font-variant-numeric:tabular-nums;border:1px solid #0000;border-radius:999px;align-items:center;gap:.5rem;padding:.3rem .7rem;font-size:.75rem;display:inline-flex}.dot{background:currentColor;border-radius:50%;width:7px;height:7px}.status--live{color:#3ddc84;background:#3ddc841a;border-color:#3ddc8440}.status--live .dot{animation:1.6s ease-in-out infinite pulse}.status--connecting{color:#f0b429;background:#f0b4291a;border-color:#f0b42940}.status--waiting{color:#8b95a5;background:#8b95a51a;border-color:#8b95a533}.status--error{color:#f2545b;background:#f2545b1a;border-color:#f2545b40}@keyframes pulse{50%{opacity:.35}}.body{flex:auto;min-height:0;display:flex}.stage{background:#000;flex:auto;place-items:center;min-width:0;min-height:0;display:grid;position:relative}.video{object-fit:contain;opacity:0;width:100%;height:100%;transition:opacity .22s}.video--live{opacity:1}.overlay{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:2rem;display:flex;position:absolute;inset:0}.overlay__headline{font-size:1.05rem;font-weight:600}.overlay__detail{color:#8b95a5;max-width:34rem;font-size:.85rem;line-height:1.5}.overlay__url{color:#6b7686;background:#12161c;border:1px solid #1c2128;border-radius:6px;margin-top:.75rem;padding:.35rem .6rem;font-size:.75rem}@media (prefers-reduced-motion:reduce){.status--live .dot{animation:none}.video{transition:none}}.side{background:#0b0d10;border-left:1px solid #1c2128;flex-direction:column;flex:0 0 17rem;display:flex;overflow-y:auto}.flight,.controls{flex-direction:column;gap:.75rem;padding:1rem;display:flex}.flight{border-bottom:1px solid #1c2128}.controls__head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.controls__title{letter-spacing:.04em;text-transform:uppercase;color:#8b95a5;font-size:.8rem;font-weight:600}.pill{white-space:nowrap;border:1px solid #0000;border-radius:999px;padding:.2rem .5rem;font-size:.65rem}.pill--ok{color:#3ddc84;background:#3ddc841a;border-color:#3ddc8440}.pill--off{color:#8b95a5;background:#8b95a51a;border-color:#8b95a533}.tilt{flex-direction:column;align-items:center;gap:.6rem;display:flex}.btn{font:inherit;color:#e6e9ef;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;background:#161b22;border:1px solid #262d36;border-radius:8px;transition:background .12s,border-color .12s}.btn:hover:not(:disabled){background:#1d232c;border-color:#333c48}.btn:active:not(:disabled){background:#253040;border-color:#3d84f7}.btn:disabled{opacity:.35;cursor:not-allowed}.btn:focus-visible{outline-offset:2px;outline:2px solid #3d84f7}.btn--tilt{width:100%;padding:.7rem 0;font-size:1rem}.btn--wide{padding:.55rem 0;font-size:.8rem}.tilt__readout{align-items:center;gap:.7rem;width:100%;padding:.2rem 0;display:flex}.tilt__value{text-align:right;font-variant-numeric:tabular-nums;flex:1;font-size:1.35rem;font-weight:600}.tilt__track{background:#1c2128;border-radius:2px;flex:none;width:3px;height:4.5rem;position:relative}.tilt__marker{background:#3d84f7;border-radius:2px;width:11px;height:3px;transition:top .14s;position:absolute;left:50%;transform:translate(-50%,-50%)}.tilt__limits{color:#6b7686;font-variant-numeric:tabular-nums;flex:1;font-size:.65rem}.controls__error{color:#f2545b;margin:0;font-size:.72rem;line-height:1.45}.controls__note{color:#6b7686;margin:auto 0 0;font-size:.68rem;line-height:1.5}@media (prefers-reduced-motion:reduce){.btn,.tilt__marker{transition:none}}.pill--sim{color:#f0b429;background:#f0b4291f;border-color:#f0b4294d}.stats{grid-template-columns:1fr 1fr;gap:.4rem .75rem;margin:0;display:grid}.stats>div{flex-direction:column;gap:.1rem;min-width:0;display:flex}.stats dt{text-transform:uppercase;letter-spacing:.05em;color:#6b7686;font-size:.6rem}.stats dd{font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.85rem;overflow:hidden}.stats__hot{color:#f0b429;font-weight:600}.coords{color:#8b95a5;text-align:center;background:#12161c;border:1px solid #1c2128;border-radius:6px;padding:.35rem .5rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.7rem}.row{gap:.5rem;display:flex}.row>.btn{flex:1;min-width:0}.field{flex-direction:column;gap:.3rem;display:flex}.field__label{text-transform:uppercase;letter-spacing:.05em;color:#6b7686;font-size:.6rem}.field__input{font:inherit;color:#e6e9ef;background:#12161c;border:1px solid #262d36;border-radius:6px;width:100%;padding:.45rem .5rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8rem}.field__input:focus{border-color:#3d84f7;outline:none}.field__input:disabled{opacity:.4}.btn--go{color:#3ddc84;border-color:#3ddc8459}.btn--go:hover:not(:disabled){background:#3ddc841f;border-color:#3ddc8499}.btn--abort{letter-spacing:.08em;color:#ff6b70;background:#f2545b1f;border-color:#f2545b73;padding:.65rem 0;font-weight:700}.btn--abort:hover:not(:disabled){background:#f2545b40;border-color:#f2545b}
