:root {
  /* MNNR canonical visual tokens. Source mapping: current inline tokens in index.html. */
  --mnnr-color-bg: #F4EFE6;
  --mnnr-color-bg-subtle: #EDE7DA;
  --mnnr-color-surface: #FBF8F1;
  --mnnr-color-surface-raised: #F1EBDE;
  --mnnr-color-surface-muted: #E7E0D0;
  --mnnr-color-ink: #1A1712;
  --mnnr-color-muted: #57534A;
  --mnnr-color-line: rgba(26, 23, 18, 0.12);
  --mnnr-color-brand: #A3402F;
  --mnnr-color-brand-strong: #8E3527;
  --mnnr-color-support: #1F4D3E;
  --mnnr-color-highlight: #C4922F;
  --mnnr-color-warning: #8A5A00;
  --mnnr-color-danger: #96323F;
  --mnnr-color-focus: #A3402F;

  --mnnr-font-sans: 'IBM Plex Sans', 'Helvetica Neue', system-ui, sans-serif;
  --mnnr-font-serif: 'Newsreader', Georgia, serif;
  --mnnr-font-mono: 'JetBrains Mono', 'Fira Code', ui-monospace, monospace;

  --mnnr-space-1: 4px;
  --mnnr-space-2: 8px;
  --mnnr-space-3: 12px;
  --mnnr-space-4: 16px;
  --mnnr-space-5: 24px;
  --mnnr-space-6: 32px;
  --mnnr-space-7: 48px;
  --mnnr-space-8: 64px;
  --mnnr-space-9: 96px;

  --mnnr-radius-sm: 4px;
  --mnnr-radius-md: 6px;
  --mnnr-radius-lg: 10px;
  --mnnr-radius-xl: 14px;
  --mnnr-radius-pill: 999px;
  --mnnr-border-thin: 1px;
  --mnnr-border-strong: 1.5px;

  --mnnr-shadow-soft: 0 14px 36px rgba(26, 23, 18, 0.10);
  --mnnr-shadow-lg: 0 24px 60px rgba(26, 23, 18, 0.16);
  --mnnr-motion-fast: 180ms;
  --mnnr-motion-normal: 240ms;
  --mnnr-ease: cubic-bezier(0.2, 0.8, 0.2, 1);
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: 1ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 1ms !important;
  }
}
