/* 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(20px * var(--hud-scale)); --hud-panel-padding: calc(16px * var(--hud-scale)); --hud-panel-padding-sm: calc(12px * var(--hud-scale)); --hud-gap-xs: calc(6px * var(--hud-scale)); --hud-gap-sm: calc(10px * var(--hud-scale)); --hud-gap-md: calc(14px * var(--hud-scale)); --hud-gap-lg: calc(18px * var(--hud-scale)); --hud-font-size: calc(0.88rem * var(--hud-scale)); --hud-font-size-sm: calc(0.76rem * var(--hud-scale)); --hud-title-size: calc(1.05rem * var(--hud-scale)); --hud-border: rgba(225, 242, 255, 0.2); --hud-border-hover: rgba(236, 248, 255, 0.34); --hud-border-active: rgba(240, 249, 255, 0.5); --glass-fill-top: rgba(255, 255, 255, 0.14); --glass-fill-bottom: rgba(118, 200, 255, 0.08); --glass-shadow: 0 18px 34px rgba(0, 0, 0, 0.22); --glass-glow: 0 0 26px rgba(145, 214, 255, 0.18); } * { margin: 0; padding: 0; box-sizing: border-box; } html, body, .earth-page { width: 100%; height: 100%; } 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; } .earth-loading { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 240; min-width: min(calc(320px * var(--hud-scale)), 78vw); padding: calc(26px * var(--hud-scale)); border-radius: calc(18px * var(--hud-scale)); border: 1px solid rgba(77, 184, 255, 0.34); background: radial-gradient(circle at 50% 18%, rgba(255, 255, 255, 0.12), transparent 35%), linear-gradient(180deg, rgba(13, 24, 46, 0.95), rgba(7, 14, 28, 0.94)); box-shadow: 0 0 30px rgba(77, 184, 255, 0.22), 0 16px 40px rgba(0, 0, 0, 0.28); text-align: center; color: #4db8ff; } .earth-loading-text { color: #4db8ff; } .earth-loading-title { font-size: calc(1.15rem * var(--hud-scale)); font-weight: 600; } .earth-loading-subtitle { margin-top: calc(10px * var(--hud-scale)); color: #9ab7d4; font-size: calc(0.84rem * var(--hud-scale)); line-height: 1.45; } .earth-loading-spinner { width: calc(40px * var(--hud-scale)); height: calc(40px * var(--hud-scale)); margin: 0 auto calc(15px * var(--hud-scale)); border: 4px solid rgba(77, 184, 255, 0.28); border-top: 4px solid #4db8ff; border-radius: 50%; animation: spin 1s linear infinite; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } @keyframes floatDock { 0%, 100% { --float-offset: 0px; } 50% { --float-offset: -2px; } }