:root { color-scheme: dark; font-family: Inter, ui-sans-serif, system-ui, sans-serif; background: #07111f; color: #eef6ff; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; background: radial-gradient(circle at 50% 0%, #17365e 0, #07111f 54%, #040912 100%); }
.demo-shell { min-height: 100vh; padding: clamp(18px, 3vw, 36px); display: grid; grid-template-rows: auto 1fr auto; gap: 18px; }
header { max-width: 680px; }
.eyebrow { margin: 0 0 6px; color: #82d5ff; font-size: .72rem; font-weight: 800; letter-spacing: .16em; }
h1 { margin: 0; font-size: clamp(2rem, 5vw, 3.6rem); letter-spacing: -.05em; }
.intro { margin: 8px 0 0; color: #b7c9dc; line-height: 1.5; }
.globe-panel { position: relative; min-height: 360px; overflow: hidden; border: 1px solid rgba(151, 207, 255, .25); border-radius: 24px; background: radial-gradient(circle at 50% 42%, #173f65, #081a2e 57%, #06101d); box-shadow: inset 0 0 80px #0008; }
canvas { display: block; width: 100%; height: 100%; min-height: 360px; cursor: grab; touch-action: none; }
canvas:active { cursor: grabbing; }
.status { position: absolute; top: 16px; left: 18px; margin: 0; padding: 6px 10px; border-radius: 999px; background: #06111dcc; color: #a9d7ef; font-size: .76rem; }
.legend { position: absolute; right: 18px; bottom: 16px; display: flex; flex-wrap: wrap; gap: 10px; padding: 8px 11px; border-radius: 999px; background: #06111dcc; color: #d2e7f8; font-size: .75rem; }
.legend span { display: inline-flex; align-items: center; gap: 5px; }.legend i { width: 8px; height: 8px; border-radius: 50%; display: inline-block; }.satellite { background: #f7d66c; }.aircraft { background: #69d6ff; }.vessel { background: #ff8a79; }
footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; color: #aabfd2; font-size: .86rem; }.explore { color: #07111f; background: #f7d66c; border-radius: 999px; padding: 11px 16px; font-weight: 800; text-decoration: none; white-space: nowrap; }
@media (max-width: 560px) { .demo-shell { padding: 16px; }.globe-panel, canvas { min-height: 390px; }.legend { left: 12px; right: auto; bottom: 12px; }.status { top: 12px; left: 12px; } footer { align-items: flex-start; flex-direction: column; gap: 8px; } footer p { margin: 0; } }
