/* NomisFile Design Tokens — forest+cream+gold palette */
:root {
  /* Backgrounds */
  --color-bg-marketing: #FAF7F2;
  --color-bg-app: #FFFFFF;
  --color-bg-card: #FFFFFF;
  --color-bg-subtle: #F5F1E8;

  /* Ink (text) */
  --color-ink: #0F1419;
  --color-ink-2: #3A4148;
  --color-ink-3: #6B7280;

  /* Brand */
  --color-brand: #1F3A2E;
  --color-brand-hover: #2A4D3E;
  --color-brand-soft: #DCE5DF;

  /* Accent — gold */
  --color-accent: #C99A2E;
  --color-accent-hover: #B0851F;
  --color-accent-soft: #F4E9C9;

  /* Semantic status */
  --color-success: #1F3A2E;
  --color-success-soft: #DCE5DF;
  --color-success-text: #1F3A2E;
  --color-warning: #C99A2E;
  --color-warning-soft: #F4E9C9;
  --color-warning-text: #B0851F;
  --color-danger: #8B2D2D;
  --color-danger-soft: #FEF2F2;
  --color-danger-text: #8B2D2D;
  --color-info: #3A4D6B;
  --color-info-soft: #E8EDF4;
  --color-info-text: #3A4D6B;
  --color-caution: #A16207;
  --color-caution-soft: #FEFCE8;
  --color-caution-text: #A16207;

  /* Borders */
  --color-border: #E5E1D8;
  --color-border-strong: #9A9285;

  /* Typography */
  --font-display: "Tiempos Headline", "GT Sectra", "Charter", Georgia, serif;
  --font-body: "Inter", "IBM Plex Sans", -apple-system, BlinkMacSystemFont, sans-serif;
  --font-mono: "JetBrains Mono", "IBM Plex Mono", Menlo, monospace;
  --font-sans: var(--font-body);

  /* Type scale */
  --text-display-1: 4.5rem;
  --text-display-2: 3.5rem;
  --text-h1: 2.5rem;
  --text-h2: 2rem;
  --text-h3: 1.5rem;
  --text-h4: 1.25rem;
  --text-body: 1.0625rem;
  --text-small: 0.9375rem;
  --text-caption: 0.8125rem;

  /* Legacy type scale aliases (app uses these) */
  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.25rem;
  --text-2xl: 1.5rem;
  --text-3xl: 1.875rem;

  --weight-normal: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;

  --leading-tight: 1.25;
  --leading-normal: 1.5;
  --leading-relaxed: 1.625;

  /* Spacing scale */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-24: 6rem;

  /* Radii */
  --radius-sm: 0.25rem;
  --radius-md: 0.375rem;
  --radius-lg: 0.5rem;
  --radius-xl: 0.75rem;
  --radius-2xl: 1rem;
  --radius-full: 9999px;

  /* Shadows */
  --shadow-xs: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --shadow-focus: 0 0 0 3px rgb(31 58 46 / 0.3);

  /* Transitions */
  --transition-fast: 100ms ease-out;
  --transition-base: 150ms ease-out;
  --transition-slow: 250ms ease-out;

  /* Backward-compat aliases — app routes reference these */
  --color-bg: var(--color-bg-app);
  --color-surface: #FFFFFF;
  --color-surface-hover: #F5F1E8;
  --color-surface-active: #E5E1D8;
  --color-text-primary: var(--color-ink);
  --color-text-secondary: var(--color-ink-2);
  --color-text-muted: var(--color-ink-3);
  --color-text-inverse: #FAFAFA;
  --color-primary: var(--color-brand);
  --color-primary-hover: var(--color-brand-hover);
  --color-primary-soft: var(--color-brand-soft);
  --color-primary-text: var(--color-brand);

  /* Breakpoints (documentation only) */
  --breakpoint-sm: 640px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 1024px;
  --breakpoint-xl: 1280px;
}

[data-theme="dark"] {
  --color-bg: #09090B;
  --color-surface: #18181B;
  --color-surface-hover: #27272A;
  --color-surface-active: #3F3F46;
  --color-border: #27272A;
  --color-border-strong: #3F3F46;
  --color-text-primary: #FAFAFA;
  --color-text-secondary: #A1A1AA;
  --color-text-muted: #71717A;
  --color-text-inverse: #18181B;
  --color-primary-soft: #1E1B4B;
  --color-primary-text: #A5B4FC;
  --color-success-soft: #052E16;
  --color-success-text: #4ADE80;
  --color-warning-soft: #451A03;
  --color-warning-text: #FCD34D;
  --color-danger-soft: #450A0A;
  --color-danger-text: #FCA5A5;
  --color-info-soft: #0C4A6E;
  --color-info-text: #7DD3FC;
  --color-caution-soft: #422006;
  --color-caution-text: #FDE68A;
  --shadow-focus: 0 0 0 3px rgb(129 140 248 / 0.4);
}
