/* Path: Loader/styles.css */ :root { color-scheme: dark; --loader-bg: #07111f; --loader-panel: rgba(15, 23, 42, 0.92); --loader-panel-border: rgba(148, 163, 184, 0.18); --loader-panel-highlight: rgba(255, 255, 255, 0.04); --loader-text: #f8fafc; --loader-text-muted: #94a3b8; --loader-accent: #60a5fa; --loader-accent-soft: rgba(96, 165, 250, 0.16); --loader-shadow: 0 24px 64px rgba(2, 6, 23, 0.42); --loader-radius: 1.25rem; } * { box-sizing: border-box; } html, body { margin: 0; min-height: 100%; } body { min-height: 100dvh; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background: radial-gradient(circle at top, rgba(37, 99, 235, 0.18), transparent 36%), linear-gradient(180deg, #091528 0%, var(--loader-bg) 100%); color: var(--loader-text); } .loader-shell { min-height: 100dvh; display: grid; place-items: center; padding: 1.5rem; } .loader-panel { width: min(100%, 30rem); padding: 1.5rem; border: 1px solid var(--loader-panel-border); border-radius: var(--loader-radius); background: linear-gradient(180deg, var(--loader-panel-highlight), transparent 16%), var(--loader-panel); box-shadow: var(--loader-shadow); backdrop-filter: blur(18px); } .loader-eyebrow { margin: 0 0 0.625rem; color: var(--loader-text-muted); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; } .loader-title { margin: 0; font-size: clamp(1.75rem, 5vw, 2.25rem); line-height: 1.05; } .loader-copy { margin: 0.875rem 0 0; max-width: 30ch; color: var(--loader-text-muted); font-size: 0.975rem; line-height: 1.55; } .loader-indicators { margin-top: 1.25rem; display: inline-flex; gap: 0.5rem; } .loader-dot { width: 0.625rem; height: 0.625rem; border-radius: 999px; background: var(--loader-accent-soft); animation: loader-pulse 1.4s ease-in-out infinite; } .loader-dot:nth-child(2) { animation-delay: 0.18s; } .loader-dot:nth-child(3) { animation-delay: 0.36s; } .loader-meta { margin: 1.5rem 0 0; padding-top: 1rem; border-top: 1px solid rgba(148, 163, 184, 0.12); } .loader-meta-row { display: grid; grid-template-columns: 4.5rem minmax(0, 1fr); gap: 0.75rem; align-items: start; } .loader-meta-row + .loader-meta-row { margin-top: 0.625rem; } .loader-meta dt { color: var(--loader-text-muted); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; } .loader-meta dd { margin: 0; min-width: 0; color: var(--loader-text); font-size: 0.925rem; line-height: 1.45; overflow-wrap: anywhere; } .loader-noscript { position: fixed; right: 1rem; bottom: 1rem; left: 1rem; display: grid; gap: 0.375rem; padding: 0.875rem 1rem; border: 1px solid rgba(248, 113, 113, 0.28); border-radius: 0.875rem; background: rgba(69, 10, 10, 0.92); color: #fecaca; } @keyframes loader-pulse { 0%, 100% { transform: translateY(0); background: var(--loader-accent-soft); } 50% { transform: translateY(-0.125rem); background: var(--loader-accent); } } @media (max-width: 47.99rem) { .loader-shell { padding: 1rem; } .loader-panel { padding: 1.25rem; } .loader-meta-row { grid-template-columns: 1fr; gap: 0.25rem; } }