:root{--panel: rgba(12, 18, 26, .88);--panel-soft: rgba(12, 18, 26, .72);--ink: #e9eef4;--muted: #93a1b0;--accent: #ffb454;--sky: #6fb7ff;--line: rgba(255, 255, 255, .09);--radius: 14px;--font-ui: "Space Grotesk", system-ui, sans-serif;--font-data: "IBM Plex Mono", ui-monospace, monospace;--track-low: #2dd4ff;--track-high: #ff3d9a;--marker: #ffb454;--marker-ink: #14100a;--card-back: #141b25;--compass-n: #ff3d6b;--compass-s: #5b6b7a}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#05080c}body{font-family:var(--font-ui);color:var(--ink)}#cesiumContainer{position:absolute;inset:0}.cesium-viewer-bottom{left:8px!important}.flight-card{position:absolute;top:16px;left:16px;z-index:5;width:min(320px,calc(100vw - 32px));background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px 14px;backdrop-filter:blur(10px)}.eyebrow{font-family:var(--font-data);font-size:10.5px;letter-spacing:.22em;color:var(--accent);text-transform:uppercase;margin:0 0 6px}.eyebrow a{color:inherit;text-decoration:none}.eyebrow a:hover{text-decoration:underline}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.card-toggle{display:none;background:none;border:0;cursor:pointer;color:var(--muted);font-size:17px;line-height:1;padding:2px 4px;transition:transform .15s}.flight-card.collapsed .card-toggle{transform:rotate(-90deg)}.flight-card h1{font-size:19px;font-weight:700;margin:0 0 4px;letter-spacing:.01em}.flight-meta{font-size:12.5px;color:var(--muted);margin:0 0 12px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px 14px;border-top:1px solid var(--line);padding-top:12px}.stat b{display:block;font-family:var(--font-data);font-size:15px;font-weight:600;color:var(--ink)}.stat span{font-size:10.5px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}.desc{margin:12px 0 0;border-top:1px solid var(--line);padding-top:10px}.desc-text{margin:0;font-size:12px;line-height:1.5;color:var(--muted);white-space:pre-wrap}.desc-text.clamp{display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.desc-toggle{margin-top:4px;padding:2px 0;background:none;border:0;cursor:pointer;color:var(--accent);font-family:var(--font-ui);font-size:11.5px}.strip{position:absolute;left:16px;right:16px;bottom:14px;z-index:5;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);backdrop-filter:blur(10px);display:grid;grid-template-columns:auto auto 1fr auto;gap:14px;align-items:center;padding:10px 14px}.controls{display:flex;align-items:center;gap:10px}button{font-family:inherit}.btn-play{width:44px;height:44px;border-radius:50%;border:1px solid var(--accent);background:#ffb4541f;color:var(--accent);cursor:pointer;display:grid;place-items:center;transition:background .15s}.btn-play:hover{background:#ffb45440}.btn-play svg{width:18px;height:18px;fill:currentColor}.seg{display:flex;border:1px solid var(--line);border-radius:9px;overflow:hidden}.seg button{background:transparent;border:0;color:var(--muted);cursor:pointer;font-family:var(--font-data);font-size:11.5px;padding:7px 10px}.seg button+button{border-left:1px solid var(--line)}.seg button[aria-pressed=true]{background:#ffb45429;color:var(--accent)}.seg-label{font-size:10px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;display:block;margin-bottom:3px}.telemetry{display:flex;gap:16px;font-family:var(--font-data)}.telemetry .cell b{display:block;font-size:16px;font-weight:600;min-width:74px}.telemetry .cell span{font-size:10px;color:var(--muted);letter-spacing:.1em}#vario.up{color:var(--accent)}#vario.down{color:var(--sky)}.profile-wrap{position:relative;height:72px;min-width:140px}#profile{position:absolute;inset:0;width:100%;height:100%;cursor:crosshair;border-radius:8px;touch-action:none}.right-cluster{display:flex;align-items:center;gap:14px}.clock{font-family:var(--font-data);font-size:12.5px;text-align:right;color:var(--ink)}.clock small{display:block;color:var(--muted);font-size:10.5px}button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.toast{position:absolute;left:50%;transform:translate(-50%);bottom:112px;z-index:15;max-width:min(560px,calc(100vw - 40px));background:var(--panel);border:1px solid rgba(255,125,107,.55);border-radius:10px;padding:10px 38px 10px 14px;font-size:12.5px;line-height:1.5;color:var(--ink);display:none;backdrop-filter:blur(10px)}.toast.show{display:block}.toast button{position:absolute;top:6px;right:6px;background:none;border:0;color:var(--muted);cursor:pointer;font-size:14px}.lightbox{position:fixed;top:16px;right:16px;bottom:108px;z-index:18;width:min(46vw,640px);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);backdrop-filter:blur(10px);padding:14px;display:none;flex-direction:column}.lightbox.open{display:flex}.lb-frame{flex:1;min-height:0;display:flex;flex-direction:column}.lb-frame img{flex:1;min-height:0;width:100%;object-fit:cover;border-radius:var(--radius);border:1px solid var(--line);display:block;box-shadow:0 24px 80px #0009;touch-action:pan-y pinch-zoom}.lb-dots{display:flex;justify-content:center;gap:7px;margin-top:10px;flex:0 0 auto;flex-wrap:wrap}.lb-dots button{width:8px;height:8px;padding:0;border-radius:50%;cursor:pointer;border:0;background:var(--line);transition:background .15s,transform .15s}.lb-dots button:hover{background:var(--muted)}.lb-dots button[aria-current=true]{background:var(--accent);transform:scale(1.35)}.lb-strip{display:none;gap:8px;margin-top:10px;overflow-x:auto;padding-bottom:2px;flex:0 0 auto}.lb-thumb{flex:0 0 auto;width:42px;height:42px;border-radius:50%;padding:0;border:2px solid var(--line);background-size:cover;background-position:center;cursor:pointer;opacity:.65;transition:opacity .12s,border-color .12s,transform .12s}.lb-thumb:hover{opacity:1;transform:translateY(-1px)}.lb-thumb.active{border-color:var(--accent);opacity:1}.lb-bar{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:12px;flex-wrap:wrap}.lb-caption{font-size:15px;font-weight:500}#lbSpot{color:var(--accent);border-color:#ffb45480}.lb-chips{display:flex;gap:8px;margin-top:5px;flex-wrap:wrap}.chip{font-family:var(--font-data);font-size:11px;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:3px 9px;background:var(--panel-soft)}.lb-close{background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:9px;padding:8px 14px;cursor:pointer;font-size:13px}.lb-close:hover{border-color:var(--accent);color:var(--accent)}.lb-close{position:absolute;top:10px;right:10px;padding:5px 11px;z-index:1}.compass{position:fixed;top:16px;right:16px;z-index:6;width:46px;height:46px;border-radius:50%;backdrop-filter:blur(8px);pointer-events:none}.compass svg{width:100%;height:100%;display:block}.compass-ring{fill:var(--panel);stroke:var(--line);stroke-width:1}.compass-view{fill:var(--accent)}.compass-north{fill:var(--compass-n)}.compass-south{fill:var(--compass-s)}#compassRose{transform-box:fill-box;transform-origin:center}@media (max-width: 880px){.lightbox{display:flex;inset:0 0 auto;width:auto;height:58vh;border-radius:0 0 var(--radius) var(--radius);padding:max(12px,env(safe-area-inset-top)) 12px 12px;transform:scaleY(0);transform-origin:top;opacity:0;pointer-events:none;transition:transform .26s ease,opacity .2s ease;box-shadow:0 20px 60px #00000080}.lightbox.open{transform:scaleY(1);opacity:1;pointer-events:auto}.lb-close{top:max(8px,env(safe-area-inset-top));right:8px}.lb-dots button{width:9px;height:9px}}@media (max-width: 880px) and (prefers-reduced-motion: reduce){.lightbox{transition:none}}.gate{position:fixed;inset:0;z-index:30;background:#070b10;display:flex;align-items:center;justify-content:center;padding:20px}.gate-card{width:min(360px,100%);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:26px;text-align:center}.gate-err{color:#ff7d6b;font-size:12.5px;line-height:1.5;margin:14px 0 0;display:none}.gate-err.show{display:block}.loading{text-align:center}.loading .ring{width:42px;height:42px;margin:0 auto 14px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--accent);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.loading .ring{animation:none}}@media (max-width: 880px){.flight-card{top:0;left:0;right:0;width:auto;z-index:7;border-radius:0 0 var(--radius) var(--radius);padding:max(8px,env(safe-area-inset-top)) 14px 10px}.card-toggle{display:block}.flight-card.collapsed .card-body{display:none}.card-body{margin-top:8px}.card-head-text .eyebrow{margin:0 0 3px}.flight-card h1{font-size:16px}.flight-meta{font-size:11.5px;margin:0 0 10px}.stats{grid-template-columns:repeat(3,auto);justify-content:start;gap:4px 26px;padding-top:10px}.stat b{font-size:13px}.stat span{font-size:9.5px}.desc-text{font-size:11.5px}.strip{left:0;right:0;bottom:0;width:auto;border-radius:var(--radius) var(--radius) 0 0;padding:9px 12px max(9px,env(safe-area-inset-bottom));gap:10px 12px;align-items:center;grid-template-columns:auto 1fr auto;grid-template-areas:"profile   profile   profile" "controls  .         camera" "telemetry telemetry telemetry"}.profile-wrap{grid-area:profile;height:54px}.controls{grid-area:controls}.right-cluster{grid-area:camera;gap:8px}.telemetry{grid-area:telemetry;justify-content:space-between;gap:6px;min-width:0}.compass{position:absolute;top:auto;bottom:100%;right:12px;margin-bottom:8px;width:38px;height:38px}.seg-label,.clock{display:none}.seg button{padding:7px 9px}.telemetry .cell b{font-size:14px;min-width:0}.telemetry .cell span{font-size:9px}.toast{bottom:168px}}@media (max-width: 880px) and (max-height: 460px){.profile-wrap{height:44px}.lightbox{height:78vh}}
