/* base.css - app shell, tokens, and global primitives */ @property --float-offset { syntax: ""; inherits: false; initial-value: 0px; } :root { --hud-scale: 1; --hud-offset: calc(20px * var(--hud-scale)); --hud-radius: calc(22px * var(--hud-scale)); --hud-panel-padding: calc(18px * var(--hud-scale)); --hud-panel-padding-sm: calc(13px * var(--hud-scale)); --hud-gap-xs: calc(7px * var(--hud-scale)); --hud-gap-sm: calc(11px * var(--hud-scale)); --hud-gap-md: calc(16px * var(--hud-scale)); --hud-gap-lg: calc(22px * var(--hud-scale)); --hud-font-size: calc(0.88rem * var(--hud-scale)); --hud-font-size-sm: calc(0.75rem * var(--hud-scale)); --hud-title-size: calc(1.02rem * var(--hud-scale)); --hud-panel-header-title-size: calc(0.82rem * var(--hud-scale)); --hud-kicker-size: calc(0.68rem * var(--hud-scale)); --hud-surface-top: rgba(17, 31, 53, 0.84); --hud-surface-bottom: rgba(7, 17, 31, 0.76); --hud-surface-overlay: rgba(157, 204, 255, 0.07); --hud-border: rgba(201, 225, 247, 0.14); --hud-border-hover: rgba(226, 238, 250, 0.24); --hud-border-active: rgba(235, 244, 255, 0.32); --hud-shadow: 0 18px 46px rgba(1, 7, 16, 0.34); --hud-shadow-soft: 0 10px 28px rgba(3, 10, 22, 0.22); --hud-highlight: rgba(248, 252, 255, 0.14); --hud-line: rgba(197, 220, 242, 0.1); --hud-title: #dbe8f5; --hud-text: #eef4fb; --hud-text-muted: #8ea3ba; --hud-text-soft: #6f849b; --hud-accent: #91baff; --hud-accent-strong: #d7e8ff; --glass-fill-top: rgba(255, 255, 255, 0.08); --glass-fill-bottom: rgba(109, 157, 214, 0.04); --glass-shadow: 0 16px 36px rgba(0, 0, 0, 0.2); --glass-glow: 0 0 18px rgba(123, 176, 236, 0.08); } * { margin: 0; padding: 0; box-sizing: border-box; } html, body, .earth-page { width: 100%; height: 100%; } /* Ensure [hidden] always wins over component display rules */ [hidden] { display: none !important; } body.earth-page { font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; background-color: #0a0a1a; color: #fff; overflow: hidden; } .earth-app { position: relative; width: 100vw; height: 100vh; } .earth-app.dragging { cursor: grabbing; } .earth-filters { position: absolute; width: 0; height: 0; pointer-events: none; } @keyframes earthLoadingPulse { 0%, 80%, 100% { opacity: 0.28; transform: scale(0.78); } 40% { opacity: 1; transform: scale(1); } } @keyframes floatDock { 0%, 100% { --float-offset: 0px; } 50% { --float-offset: -2px; } }