/**
 * Changelog Digest — design tokens
 * Prefix: --cd-
 * Defaults: paper digest baseline. Dark via data-theme="dark".
 * Stack target: Cloudflare Pages
 */

:root {
  /* ——— Raw palette ——— */
  --cd-ink-raw: #0b0b0a;
  --cd-charcoal: #171716;
  --cd-paper: #f0ede5;
  --cd-paper-deep: #e3dfd5;
  --cd-white: #fffdf7;
  --cd-muted-on-paper: #625f58;
  --cd-muted-on-dark: #bdb9b0;
  --cd-muted-on-dark-soft: #c8c4bc;
  --cd-muted-on-dark-quiet: #a9a49b;
  --cd-signal: #c71920;
  --cd-signal-hot: #ff3b3f; /* hover on dark */
  --cd-cobalt: #143a70;     /* focus ring */
  --cd-rule-on-paper: rgba(11, 11, 10, 0.24);
  --cd-rule-on-dark: rgba(255, 255, 255, 0.2);

  /* ——— Paper digest defaults (LOCKED BASELINE) ——— */
  --cd-bg: var(--cd-paper);
  --cd-surface: var(--cd-white);
  --cd-surface-raised: var(--cd-paper-deep);
  --cd-surface-subtle: var(--cd-paper-deep);

  --cd-ink: var(--cd-ink-raw);
  --cd-ink-soft: #2a2926;
  --cd-muted: var(--cd-muted-on-paper);
  --cd-muted-quiet: #7a766c;
  --cd-ink-on-accent: var(--cd-white);

  --cd-accent: var(--cd-signal);
  --cd-accent-hover: #a01419;
  --cd-focus: var(--cd-cobalt);

  --cd-line: var(--cd-rule-on-paper);
  --cd-line-strong: rgba(11, 11, 10, 0.4);

  /* Status: mono labels — no rainbow chips */
  --cd-status: var(--cd-muted-on-paper);
  --cd-status-quiet: #7a766c;

  /* ——— Typography ——— */
  --cd-font-display: "League Gothic", "Oswald", "Arial Narrow", sans-serif;
  --cd-font-ui: "Instrument Sans", ui-sans-serif, system-ui, sans-serif;
  --cd-font-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;

  --cd-lh-body: 1.55;
  --cd-lh-tight: 1.2;
  --cd-lh-display: 0.95;

  --cd-text-xs: 11px;
  --cd-text-sm: 12px;
  --cd-text-meta: 0.8125rem; /* 13px */
  --cd-text-body: 0.9375rem; /* 15px */
  --cd-text-h2: 1rem;
  --cd-text-h1: clamp(1.75rem, 4.5vw, 2.25rem);
  --cd-text-masthead: clamp(1.35rem, 3.5vw, 1.75rem);

  --cd-tracking-display: 0.04em;
  --cd-tracking-wide: 0.08em;
  --cd-tracking-label: 0.06em;

  /* ——— Space ——— */
  --cd-s-1: 0.5rem;  /* 8px */
  --cd-s-2: 1rem;    /* 16px */
  --cd-s-3: 1.5rem;  /* 24px */
  --cd-s-4: 2rem;    /* 32px */
  --cd-s-5: 2.5rem;  /* 40px */
  --cd-s-6: 3rem;    /* 48px */
  --cd-s-7: 4rem;    /* 64px */
  --cd-s-8: 5rem;    /* 80px */
  /* aliases kept for prior CD spacing names */
  --cd-space-1: 0.25rem;
  --cd-space-2: 0.5rem;
  --cd-space-3: 0.75rem;
  --cd-space-4: 1rem;
  --cd-space-5: 1.25rem;
  --cd-space-6: 1.5rem;
  --cd-space-7: 2rem;
  --cd-space-8: 2.5rem;
  --cd-space-9: 3rem;
  --cd-space-10: 4rem;

  /* ——— Layout ——— */
  --cd-content-max: 760px;
  --cd-wrap-pad-x: 1.25rem;
  --cd-wrap-pad-y-top: 2.5rem;
  --cd-wrap-pad-y-bottom: 4rem;
  --cd-bp-row-ctas: 560px;

  /* ——— Radius (square-first) ——— */
  --cd-radius-none: 0;
  --cd-radius-shell: 22px; /* optional outer frame only */
  --cd-radius-pill: 999px; /* tiny chips only if needed */
  --cd-radius-sm: 0;
  --cd-radius-md: 0;
  --cd-radius-lg: 0;
  --cd-radius-xl: 0;

  /* ——— Buttons ——— */
  --cd-btn-min-h: 46px;
  --cd-btn-border: 1px;

  /* ——— Elevation ——— */
  --cd-elev-0: none;
  --cd-elev-1: 0 0 0 1px var(--cd-line);
  --cd-shadow: none;

  /* ——— Motion ——— */
  --cd-ease: ease;
  --cd-dur: 150ms;
}

/* Dark theme — opt-in (ink canvas) */
[data-theme="dark"],
.cd-theme-dark {
  --cd-bg: var(--cd-ink-raw);
  --cd-surface: var(--cd-charcoal);
  --cd-surface-raised: #1c1c1a;
  --cd-surface-subtle: #222220;

  --cd-ink: var(--cd-white);
  --cd-ink-soft: var(--cd-muted-on-dark-soft);
  --cd-muted: var(--cd-muted-on-dark);
  --cd-muted-quiet: var(--cd-muted-on-dark-quiet);
  --cd-ink-on-accent: var(--cd-white);

  --cd-accent: var(--cd-signal);
  --cd-accent-hover: var(--cd-signal-hot);
  --cd-focus: var(--cd-cobalt);

  --cd-line: var(--cd-rule-on-dark);
  --cd-line-strong: rgba(255, 255, 255, 0.32);

  --cd-status: var(--cd-muted-on-dark);
  --cd-status-quiet: var(--cd-muted-on-dark-quiet);
}

/* Explicit paper alias (same as :root defaults) */
[data-theme="paper"],
.cd-theme-paper {
  /* inherits paper defaults from :root — kept for markup clarity */
}
