/*
 * MedellinModeling.com — Design System Tokens
 * Extends the design language established in Modeling Map.html exactly.
 * All components reference these variables — never hardcode colors.
 */

:root {
  /* ── Color palette — Light theme (warm bone) ─────────────────────────────── */
  --bone:        oklch(0.975 0.006 75);
  --bone-2:      oklch(0.955 0.008 75);
  --bone-3:      oklch(0.92  0.010 75);
  --ink:         oklch(0.18  0.012 60);
  --ink-2:       oklch(0.32  0.012 60);
  --muted:       oklch(0.55  0.010 60);
  --line:        oklch(0.88  0.010 70);
  --line-2:      oklch(0.82  0.012 70);
  --accent:      oklch(0.62  0.13  40);   /* terracotta */
  --accent-ink:  oklch(0.99  0.005 75);
  --accent-soft: oklch(0.92  0.04  40);

  /* ── Semantic status colors ──────────────────────────────────────────────── */
  --success:      oklch(0.55 0.15 145);
  --success-soft: oklch(0.94 0.04 145);
  --warning:      oklch(0.68 0.18  75);
  --warning-soft: oklch(0.96 0.05  75);
  --danger:       oklch(0.52 0.19  25);
  --danger-soft:  oklch(0.95 0.04  25);
  --info:         oklch(0.55 0.13 240);
  --info-soft:    oklch(0.94 0.04 240);

  /* ── Shadows ─────────────────────────────────────────────────────────────── */
  --shadow-1: 0 1px 2px rgba(40,30,15,.04), 0 1px 0 rgba(255,255,255,.6) inset;
  --shadow-2: 0 1px 2px rgba(40,30,15,.05), 0 12px 32px -16px rgba(40,30,15,.18);
  --shadow-3: 0 2px 4px rgba(40,30,15,.06), 0 24px 48px -24px rgba(40,30,15,.25);

  /* ── Spacing scale ───────────────────────────────────────────────────────── */
  --sp-1:  4px;
  --sp-2:  8px;
  --sp-3:  12px;
  --sp-4:  16px;
  --sp-5:  24px;
  --sp-6:  32px;
  --sp-7:  48px;
  --sp-8:  64px;
  --sp-9:  96px;
  --sp-10: 128px;

  /* ── Border radius ───────────────────────────────────────────────────────── */
  --rad-xs:   4px;
  --rad-sm:   6px;
  --rad-md:   10px;
  --rad-lg:   18px;
  --rad-xl:   24px;
  --rad-full: 999px;

  /* ── Typography ──────────────────────────────────────────────────────────── */
  --font-sans:  "DM Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --font-serif: "Instrument Serif", ui-serif, Georgia, "Times New Roman", serif;
  --font-mono:  "JetBrains Mono", ui-monospace, Menlo, Consolas, "Courier New", monospace;

  --text-xs:   11px;
  --text-sm:   12px;
  --text-base: 14px;
  --text-md:   15px;
  --text-lg:   17px;
  --text-xl:   20px;
  --text-2xl:  24px;
  --text-3xl:  32px;

  /* ── Transitions ─────────────────────────────────────────────────────────── */
  --ease-out:    cubic-bezier(0.4, 0, 0.2, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --transition:  150ms var(--ease-out);

  /* ── Layout ──────────────────────────────────────────────────────────────── */
  --max-width:    1280px;
  --nav-height:   64px;
  --sidebar-width: 300px;
}

/* ── Dark theme overrides ──────────────────────────────────────────────────── */
html[data-theme="dark"] {
  --bone:        oklch(0.16  0.010 60);
  --bone-2:      oklch(0.20  0.010 60);
  --bone-3:      oklch(0.24  0.012 60);
  --ink:         oklch(0.97  0.005 75);
  --ink-2:       oklch(0.86  0.005 75);
  --muted:       oklch(0.66  0.012 70);
  --line:        oklch(0.30  0.012 60);
  --line-2:      oklch(0.36  0.012 60);
  --accent-soft: oklch(0.30  0.06  40);
  --shadow-1:    0 1px 2px rgba(0,0,0,.4), 0 1px 0 rgba(255,255,255,.04) inset;
  --shadow-2:    0 1px 2px rgba(0,0,0,.5), 0 12px 32px -16px rgba(0,0,0,.6);
  --shadow-3:    0 2px 4px rgba(0,0,0,.6), 0 24px 48px -24px rgba(0,0,0,.75);
  --success-soft: oklch(0.22 0.05 145);
  --warning-soft: oklch(0.25 0.06  75);
  --danger-soft:  oklch(0.22 0.06  25);
  --info-soft:    oklch(0.22 0.05 240);
}
