/* ==========================================================================
   The Fame Index — Design Tokens, Reset & Base Typography
   ========================================================================== */

/* --- Custom Properties (Design Tokens) --- */
:root {
  /* Colors */
  --color-primary: #0A2472;
  --color-accent: #D4A843;
  --color-accent-hover: color-mix(in srgb, #D4A843 85%, #000);
  --color-bg: #F8F7F4;
  --color-surface-dark: #1A1A2E;
  --color-success: #2D6A4F;
  --color-danger: #9B2226;
  --color-text: #1A1A2E;
  --color-text-inverse: #F8F7F4;
  --color-text-muted: color-mix(in srgb, #1A1A2E 60%, transparent);
  --color-border: color-mix(in srgb, #1A1A2E 12%, transparent);

  /* Typography */
  --font-display: "Wittgenstein", Georgia, "Times New Roman", serif;
  --font-body: "Inter", system-ui, -apple-system, sans-serif;
  --font-size-body: clamp(1rem, 0.5rem + 1vw, 1.25rem);
  --font-size-sm: clamp(0.8rem, 0.6rem + 0.5vw, 0.9rem);
  --font-size-xs: clamp(0.7rem, 0.55rem + 0.4vw, 0.8rem);
  --font-size-lg: clamp(1.25rem, 0.75rem + 1.25vw, 1.75rem);
  --font-size-xl: clamp(1.5rem, 1rem + 1.5vw, 2.5rem);
  --font-size-2xl: clamp(2rem, 1rem + 2.5vw, 3.5rem);

  /* Spacing */
  --space-xs: 0.25rem;
  --space-sm: 0.5rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 2rem;
  --space-2xl: 3rem;
  --space-3xl: 4rem;

  /* Layout */
  --content-max-width: 1000px;
  --content-padding: clamp(1rem, 3vw, 2rem);

  /* Tracking */
  --tracking-tight: -0.02em;
  --tracking-wide: 0.04em;

  /* Radii */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-full: 9999px;

  /* Shadows */
  --shadow-sm: 0 1px 3px color-mix(in srgb, #1A1A2E 8%, transparent);
  --shadow-md: 0 4px 12px color-mix(in srgb, #1A1A2E 10%, transparent);
  --shadow-lg: 0 8px 24px color-mix(in srgb, #1A1A2E 12%, transparent);

  /* Transitions */
  --transition-fast: 150ms ease;
  --transition-base: 250ms ease;
}

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

* {
  margin: 0;
}

img,
picture,
video,
svg {
  display: block;
  max-width: 100%;
}

/* --- Base Typography & Body --- */
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-behavior: smooth;
}

body {
  font-family: var(--font-body);
  font-size: var(--font-size-body);
  line-height: 1.6;
  color: var(--color-text);
  background: var(--color-bg);
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display);
  font-weight: 600;
  line-height: 1.2;
  text-wrap: balance;
}

h1 { font-size: var(--font-size-xl); }
h2 { font-size: var(--font-size-lg); }
h3 { font-size: var(--font-size-body); }

a {
  color: var(--color-primary);
  font-weight: 500;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  text-decoration-color: color-mix(in srgb, var(--color-primary) 40%, transparent);
  transition: color var(--transition-fast), text-decoration-color var(--transition-fast);

  &:hover {
    color: color-mix(in srgb, var(--color-primary) 70%, #000);
    text-decoration-color: var(--color-primary);
  }

  &:visited {
    color: var(--color-primary);
  }
}

p {
  margin-block: var(--space-sm);
  text-wrap: pretty;
}

ol, ul {
  padding-inline-start: var(--space-lg);
}

table {
  border-collapse: collapse;
  width: 100%;
}

button {
  font-family: inherit;
  font-size: inherit;
  cursor: pointer;
}
