/* Shared base for the static pages (about, privacy, contact, terms, admin) -
   the per-page <style> blocks only hold what's actually unique to that page. */
*, *::before, *::after { box-sizing: border-box; }
:root {
  --bg: #0e1420; --panel: #172033; --panel-soft: #202b40;
  --sidebar: #121a29; --ink: #f2f5f8; --muted: #9ba8bb;
  --line: rgba(255,255,255,.13); --accent: #78a6ff; --accent-2: #42c99b; --danger: #ff6b6b;
}
body { margin: 0; min-height: 100vh; font-family: "Nunito", sans-serif; color: var(--ink); background: linear-gradient(135deg, var(--bg), #101c2e); }
a { color: var(--accent); text-decoration: none; }
a:hover { text-decoration: underline; }
h1, h2, h3, p { margin: 0; }
.brand { display: flex; align-items: center; gap: 12px; margin-bottom: 48px; }
.brand-mark { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 12px; color: #fff; background: linear-gradient(135deg, var(--accent), var(--accent-2)); font-weight: 850; font-size: 1.1rem; }
.brand strong { font-size: 1.05rem; font-weight: 820; }
.brand span { display: block; font-size: .75rem; color: var(--muted); text-transform: uppercase; font-weight: 720; }
.eyebrow { font-size: .75rem; font-weight: 720; text-transform: uppercase; color: var(--muted); letter-spacing: .06em; margin-bottom: 10px; }
.nav-links { display: flex; gap: 20px; flex-wrap: wrap; margin-top: 40px; padding-top: 28px; border-top: 1px solid var(--line); font-size: .88rem; color: var(--muted); }
a:focus-visible, button:focus-visible { outline: 3px solid color-mix(in srgb, var(--accent) 34%, transparent); outline-offset: 2px; border-radius: 4px; }
