/* ============================================================
   Atlantist Brand Tokens
   Single source of truth for all color, type, and spacing.
   Every surface imports this file — do not hardcode values.
   ============================================================ */

:root {
  /* ── Core Identity ─────────────────────────────────────── */
  /* Ink: primary text / strokes on light surfaces            */
  --brand-ink: #0f1923;
  /* Paper: primary background / canvas white                 */
  --brand-paper: #f7f6f3;
  /* Accent: brand blue — the Atlantis deep-ocean tone        */
  --brand-accent: #1d5fa6;
  /* Accent light variant (hover / tint)                      */
  --brand-accent-light: #3479c4;
  /* Accent dark variant (active / pressed)                   */
  --brand-accent-dark: #134a84;
  /* Warn: amber for notices, degraded states                 */
  --brand-warn: #d97706;
  /* Success: green for model save / compliance pass          */
  --brand-success: #16a34a;
  /* Error: red for validation / constraint fail              */
  --brand-error: #dc2626;

  /* ── Neutral Ramp (3-step) ─────────────────────────────── */
  /* n100: lightest — dividers, subtle backgrounds            */
  --brand-n100: #e8e6e1;
  /* n400: mid — secondary text, disabled states              */
  --brand-n400: #8a8680;
  /* n700: dark — body text on light, secondary icons         */
  --brand-n700: #3d3a35;

  /* ── Extended Palette ──────────────────────────────────── */
  /* Concentric ring tones — used in illustrations + charts   */
  --brand-ring1: #cfe3f5;  /* outermost ring, pale */
  --brand-ring2: #7fb3de;
  --brand-ring3: #1d5fa6;  /* core — matches --brand-accent */

  /* ── Typography ────────────────────────────────────────── */
  /* Display: large hero + section headers                    */
  --font-display: 'DM Serif Display', 'Georgia', serif;
  /* Sans: UI labels, body, navigation                        */
  --font-sans: 'DM Sans', 'Inter', system-ui, -apple-system, sans-serif;
  /* Mono: code, coordinates, IDs                             */
  --font-mono: 'DM Mono', 'Fira Code', 'SF Mono', monospace;

  /* ── Type Scale ─────────────────────────────────────────── */
  /* display: hero + masthead                                 */
  --text-display: clamp(2.5rem, 5vw, 4rem);
  --text-display-lh: 1.08;
  --text-display-weight: 400; /* serif at normal weight reads bolder */

  /* h1: page title                                           */
  --text-h1: clamp(2rem, 3.5vw, 3rem);
  --text-h1-lh: 1.12;
  --text-h1-weight: 600;

  /* h2: section heading                                      */
  --text-h2: clamp(1.5rem, 2.5vw, 2rem);
  --text-h2-lh: 1.2;
  --text-h2-weight: 600;

  /* h3: subsection / card heading                            */
  --text-h3: 1.25rem;
  --text-h3-lh: 1.3;
  --text-h3-weight: 600;

  /* h4: label-level heading                                  */
  --text-h4: 1rem;
  --text-h4-lh: 1.4;
  --text-h4-weight: 700;

  /* body: default reading text                               */
  --text-body: 1rem;
  --text-body-lh: 1.6;
  --text-body-weight: 400;

  /* caption: metadata, timestamps, annotations               */
  --text-caption: 0.75rem;
  --text-caption-lh: 1.5;
  --text-caption-weight: 400;

  /* mono: code blocks, coordinate readouts                   */
  --text-mono: 0.875rem;
  --text-mono-lh: 1.6;
  --text-mono-weight: 400;

  /* ── Spacing ───────────────────────────────────────────── */
  --space-xs:  4px;
  --space-sm:  8px;
  --space-md:  16px;
  --space-lg:  32px;
  --space-xl:  64px;
  --space-2xl: 128px;

  /* ── Radius ────────────────────────────────────────────── */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 16px;
  --radius-full: 9999px;

  /* ── Shadows ───────────────────────────────────────────── */
  --shadow-card: 0 2px 8px rgba(15,25,35,0.10), 0 1px 2px rgba(15,25,35,0.06);
  --shadow-panel: 0 8px 32px rgba(15,25,35,0.14);
  --shadow-modal: 0 24px 64px rgba(15,25,35,0.22);

  /* ── Motion ────────────────────────────────────────────── */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --duration-fast: 120ms;
  --duration-base: 220ms;
}

/* ── Dark surface overrides ─────────────────────────────── */
/* Applied when .theme-dark is set on <html> or a container  */
.theme-dark {
  --brand-ink: #f7f6f3;
  --brand-paper: #0f1923;
  --brand-n100: #1e2835;
  --brand-n400: #6b7a8d;
  --brand-n700: #c8d3e0;
}
