/* ═══════════════════════════════════════════════════════════════════
   EAT — base reset, typography, shared layout & atmosphere
   ═══════════════════════════════════════════════════════════════════ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { -webkit-text-size-adjust: 100%; }

body {
  min-height: 100dvh;
  background: var(--surface);
  color: var(--on-surface);
  font: var(--text-body-md);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

img { display: block; max-width: 100%; }
button { font: inherit; color: inherit; background: none; border: none; cursor: pointer; }
input, textarea, select { font: inherit; color: inherit; }
a { color: inherit; text-decoration: none; }
ul, ol { list-style: none; }

::selection { background: var(--primary); color: var(--on-primary); }

/* ── Type helpers ─────────────────────────────────────────────── */
.display-lg        { font: var(--text-display-lg); letter-spacing: -0.02em; }
.display-lg-mobile { font: var(--text-display-lg-mobile); }
.headline-sm       { font: var(--text-headline-sm); }
.label-caps {
  font: var(--text-label-caps);
  text-transform: uppercase;
  letter-spacing: 0.15em;
}
.stats-number { font: var(--text-stats); }
.text-gold      { color: var(--primary); }
.text-secondary { color: var(--on-surface-variant); }

/* ── Ambient light-leak background ────────────────────────────── */
.ambient-bg::before,
.ambient-bg::after {
  content: '';
  position: fixed;
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
}
.ambient-bg::before {
  top: -10%; left: -10%;
  width: 55vw; height: 55vw;
  background: radial-gradient(circle, var(--light-leak) 0%, transparent 60%);
  filter: blur(80px);
}
.ambient-bg::after {
  bottom: -12%; right: -10%;
  width: 60vw; height: 60vw;
  background: radial-gradient(circle, rgba(212,175,55,0.05) 0%, transparent 60%);
  filter: blur(100px);
}

/* ── Scrollbars ───────────────────────────────────────────────── */
.hide-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }
.hide-scrollbar::-webkit-scrollbar { display: none; }

/* ── Utilities ────────────────────────────────────────────────── */
.hidden { display: none !important; }

/* Material Symbols sizing */
.material-symbols-outlined {
  font-variation-settings: 'FILL' 0, 'wght' 300;
  user-select: none;
}
.material-symbols-outlined.filled { font-variation-settings: 'FILL' 1; }
