:root {
  --bg: #0a0805;
  --bg-soft: #120d09;
  --cream: #f4ead5;
  --cream-dim: rgba(244, 234, 213, 0.72);
  --cream-faint: rgba(244, 234, 213, 0.5);
  --gold: #c9a961;
  --gold-light: #e8d098;
  --gold-line: rgba(201, 169, 97, 0.22);
  --gold-glow: rgba(201, 169, 97, 0.35);
  --violet: #5a3f86;
  --violet-soft: rgba(90, 63, 134, 0.28);
  --red: #6e2530;
  --red-soft: rgba(110, 37, 48, 0.3);
  --surface: rgba(20, 15, 10, 0.62);
  --surface-strong: rgba(20, 15, 10, 0.86);
  --font-display: 'Playfair Display', Georgia, 'Times New Roman', serif;
  --font-body: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --ease: cubic-bezier(0.2, 0.9, 0.3, 1);
  --radius: 3px;
  --shadow-card: 0 18px 50px rgba(0, 0, 0, 0.55);
  --shadow-glow: 0 0 40px var(--gold-glow);
}

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

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

body {
  background: var(--bg);
  color: var(--cream);
  font-family: var(--font-body);
  font-size: 1.0625rem;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

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

::selection { background: var(--gold); color: var(--bg); }

:focus-visible { outline: 1px solid var(--gold-light); outline-offset: 3px; }
