/* ============================================================
   AI History Museum — Design Tokens
   Kilde: DESIGN.md (Google design.md-spec, version alpha)
   Til vanilla CSS-projektet. Importér øverst i styles.css.
   ============================================================ */

:root {
  /* ---------- Farver ---------- */
  --color-primary:        #1D4ED8;
  --color-primary-hover:  #1E40AF;
  --color-primary-soft:   #DBEAFE;
  --color-turquoise:      #0F766E;
  --color-turquoise-soft: #CCFBF1;
  --color-purple:         #6D28D9;
  --color-purple-soft:    #EDE9FE;
  --color-ink:            #0F172A;
  --color-body:           #334155;
  --color-muted:          #64748B;
  --color-white:          #FFFFFF;
  --color-bg:             #FFFFFF;
  --color-bg-alt:         #F5F7FB;
  --color-bg-tint:        #EFF4FF;
  --color-hairline:       rgba(15, 23, 42, 0.08);
  --color-glass:          rgba(255, 255, 255, 0.65);
  --color-glass-border:   rgba(255, 255, 255, 0.70);

  /* ---------- Gradienter (kun accenter) ---------- */
  --gradient-hero: linear-gradient(135deg, #3B82F6 0%, #8B5CF6 55%, #14B8A6 100%);
  --gradient-cta:  linear-gradient(135deg, #2563EB 0%, #14B8A6 100%);

  /* ---------- Typografi (flydende skala) ---------- */
  --font-display: "Space Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-body:    "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono:    "JetBrains Mono", ui-monospace, SFMono-Regular, monospace;

  --text-display:  clamp(2.75rem, 7vw, 5rem);
  --text-h2:       clamp(2rem, 4vw, 3rem);
  --text-h3:       1.375rem;
  --text-card:     1.125rem;
  --text-eyebrow:  0.75rem;
  --text-body-lg:  clamp(1.0625rem, 1.4vw, 1.1875rem);
  --text-body:     1rem;
  --text-body-sm:  0.875rem;
  --text-mono:     1.125rem;
  --text-quote:    1.375rem;

  --lh-display: 1.02; --lh-h2: 1.08; --lh-h3: 1.25; --lh-card: 1.35;
  --lh-body: 1.65;   --lh-body-lg: 1.7; --lh-mono: 1.3;
  --ls-display: -0.03em; --ls-h2: -0.02em; --ls-eyebrow: 0.18em;

  /* ---------- Mellemrum (8-punkts system) ---------- */
  --space-xs: 4px;   --space-sm: 8px;  --space-md: 16px;
  --space-lg: 24px;  --space-xl: 32px; --space-2xl: 48px; --space-3xl: 80px;
  --section-pad: clamp(4rem, 10vw, 8rem);
  --gutter: clamp(1.5rem, 4vw, 3rem);
  --container: 1200px; --container-wide: 1320px;

  /* ---------- Former ---------- */
  --radius-sm: 8px;  --radius-md: 12px; --radius-lg: 16px;
  --radius-xl: 24px; --radius-pill: 999px;

  /* ---------- Elevation ---------- */
  --shadow-sm:  0 1px 2px rgba(15, 23, 42, 0.05), 0 1px 3px rgba(15, 23, 42, 0.10);
  --shadow-md:  0 4px 16px rgba(15, 23, 42, 0.08);
  --shadow-lg:  0 16px 40px rgba(15, 23, 42, 0.10), 0 2px 8px rgba(15, 23, 42, 0.06);
  --shadow-glow: 0 0 48px rgba(37, 99, 235, 0.18);

  /* ---------- Motion ---------- */
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --dur-fast: 200ms; --dur-med: 400ms; --dur-slow: 600ms;

  /* ---------- Layout ---------- */
  --nav-height: 72px;
  --focus-ring: 3px solid #93C5FD;
}

/* ---------- Accessibility ---------- */
:focus-visible { outline: var(--focus-ring); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
