/* ================================================================
   base.css — Reset, typography, scrollbars, ambient background.
   ================================================================ */

*, *::before, *::after { box-sizing: border-box; }

html, body {
  height: 100%;
  margin: 0;
  padding: 0;
}

body {
  font-family: var(--font);
  font-size: var(--fz-md);
  background: var(--pageBg);
  color: var(--text);
  overflow: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  cursor: none; /* custom cursor takes over */
}

button { font: inherit; color: inherit; }
input, textarea, select { font: inherit; color: inherit; }

a { color: inherit; text-decoration: none; }

::selection {
  background: var(--brand-blue-soft);
  color: var(--text);
}

/* ---- Ambient aurora background ---- */
body::before {
  content: "";
  position: fixed;
  inset: -10vh -10vw;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(900px 600px at 15% 5%,  rgba(78, 161, 255, .18), transparent 60%),
    radial-gradient(800px 500px at 85% 0%,  rgba(255, 138, 42, .14), transparent 55%),
    radial-gradient(700px 500px at 50% 100%, rgba(78, 161, 255, .10), transparent 55%),
    radial-gradient(500px 400px at 75% 85%, rgba(255, 138, 42, .08), transparent 50%);
  filter: blur(2px);
  animation: auroraDrift 22s var(--ease-in-out) infinite alternate;
}

@keyframes auroraDrift {
  0%   { transform: translate(0, 0) scale(1); }
  50%  { transform: translate(-14px, 10px) scale(1.03); }
  100% { transform: translate(6px, -8px) scale(.97); }
}

/* ---- Minimal premium scrollbars ---- */
::-webkit-scrollbar        { width: 8px; height: 8px; }
::-webkit-scrollbar-track  { background: transparent; }
::-webkit-scrollbar-thumb  {
  background: rgba(255, 255, 255, .08);
  border-radius: var(--r-pill);
  transition: background var(--transition);
}
::-webkit-scrollbar-thumb:hover { background: rgba(255, 255, 255, .18); }

* { scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.10) transparent; }

/* ---- Utility ---- */
.sr-only {
  position: absolute; width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

[hidden] { display: none !important; }
