/* ===================================================================
   Toutmark — Design Tokens
   Single source of truth for colors, typography, spacing, motion.
   Mirrors the Live Phase visual language so cutover feels seamless.
   =================================================================== */

:root {
  /* === Brand colors === */
  --c-ink: #0f172a;          /* primary text, dark UI */
  --c-ink-soft: #1e293b;     /* hover dark */
  --c-text: #0f172a;
  --c-text-soft: #374151;
  --c-text-mute: #6b7280;
  --c-text-faint: #94a3b8;

  --c-bg: #ffffff;
  --c-bg-soft: #f9fafb;
  --c-bg-hi: #f0f9ff;        /* subtle cyan tint */

  --c-border: #e5e7eb;
  --c-border-strong: #cbd5e1;

  /* Brand accents (gradient endpoints) */
  --c-cyan: #22d3ee;
  --c-cyan-soft: #06b6d4;
  --c-violet: #a78bfa;
  --c-violet-soft: #8b5cf6;

  /* Status */
  --c-ok: #10b981;
  --c-warn: #f59e0b;
  --c-danger: #ef4444;
  --c-info: #3b82f6;

  /* Surface elevations */
  --c-card: #ffffff;
  --c-card-hi: #f9fafb;

  /* === Gradients === */
  --grad-brand: linear-gradient(90deg, #22d3ee, #a78bfa);
  --grad-brand-vert: linear-gradient(180deg, #22d3ee, #a78bfa);
  --grad-hero-bg: linear-gradient(180deg, #f0f9ff 0%, #ffffff 70%);
  --grad-card-soft: linear-gradient(135deg, #ecfdf5, #f0f9ff);

  /* === Typography === */
  --ff-sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --ff-mono: ui-monospace, SFMono-Regular, 'SF Mono', Menlo, monospace;
  --ff-display: var(--ff-sans);

  --fs-xs: 0.75rem;
  --fs-sm: 0.85rem;
  --fs-base: 0.95rem;
  --fs-md: 1rem;
  --fs-lg: 1.125rem;
  --fs-xl: 1.25rem;
  --fs-2xl: 1.5rem;
  --fs-3xl: 2rem;
  --fs-4xl: 2.5rem;
  --fs-5xl: clamp(2.25rem, 5vw, 3.5rem);

  --lh-tight: 1.1;
  --lh-snug: 1.3;
  --lh-base: 1.6;
  --lh-relaxed: 1.75;

  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  --fw-extrabold: 800;

  /* === Spacing === */
  --sp-1: 0.25rem;
  --sp-2: 0.5rem;
  --sp-3: 0.75rem;
  --sp-4: 1rem;
  --sp-5: 1.25rem;
  --sp-6: 1.5rem;
  --sp-8: 2rem;
  --sp-10: 2.5rem;
  --sp-12: 3rem;
  --sp-16: 4rem;
  --sp-20: 5rem;

  /* === Radii === */
  --r-xs: 4px;
  --r-sm: 6px;
  --r-md: 8px;
  --r-lg: 10px;
  --r-xl: 12px;
  --r-2xl: 14px;
  --r-3xl: 16px;
  --r-pill: 999px;

  /* === Shadows === */
  --sh-sm: 0 1px 2px rgba(15, 23, 42, 0.04);
  --sh-md: 0 4px 12px rgba(15, 23, 42, 0.06);
  --sh-lg: 0 8px 24px rgba(15, 23, 42, 0.08);
  --sh-xl: 0 20px 40px rgba(15, 23, 42, 0.10);
  --sh-focus: 0 0 0 3px rgba(34, 211, 238, 0.18);

  /* === Motion === */
  --motion-fast: 150ms;
  --motion-base: 220ms;
  --motion-slow: 320ms;
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);

  /* === Layout === */
  --container-w: 1200px;
  --container-narrow-w: 880px;
  --header-h: 64px;
  --sidebar-w: 248px;

  /* === Z-index === */
  --z-header: 100;
  --z-modal: 1000;
  --z-toast: 2000;
}

/* Optional dark mode tokens reserved for future use (not enabled now) */
[data-theme="dark"] {
  --c-bg: #0a0a0f;
  --c-bg-soft: #13131c;
  --c-text: #e7e7ef;
  --c-border: #23232f;
}
