/* Noble Vision Design System — primitive tokens (accent-free).
   Theme values (--bg, --surface, --accent, --up, --down, ...) come from each app's theme.css */
:root {
  /* spacing — 8px grid */
  --sp-1: 4px;  --sp-2: 8px;  --sp-3: 12px; --sp-4: 16px;
  --sp-5: 24px; --sp-6: 32px; --sp-7: 48px; --sp-8: 64px;
  /* radius */
  --radius-sm: 8px; --radius-md: 12px; --radius-lg: 16px; --radius-pill: 999px;
  /* fluid type scale */
  --fs-xs: 0.75rem; --fs-sm: 0.85rem; --fs-base: 1rem;
  --fs-lg: clamp(1.05rem, 1rem + 0.4vw, 1.25rem);
  --fs-xl: clamp(1.3rem, 1.2rem + 0.8vw, 1.7rem);
  --fs-2xl: clamp(1.7rem, 1.4rem + 1.6vw, 2.6rem);
  --fs-3xl: clamp(2.4rem, 1.8rem + 3vw, 4rem);
  /* fonts */
  --font-sans: 'Inter', system-ui, -apple-system, sans-serif;
  --font-serif: 'Playfair Display', Georgia, serif;
  /* elevation */
  --elev-1: 0 1px 2px rgba(0,0,0,.06);
  --elev-2: 0 4px 14px rgba(0,0,0,.10);
  --elev-3: 0 10px 30px rgba(0,0,0,.16);
  --elev-4: 0 20px 50px rgba(0,0,0,.22);
  /* motion */
  --dur-fast: 120ms; --dur-base: 220ms; --dur-slow: 420ms;
  --ease-standard: cubic-bezier(.4,0,.2,1);
  --ease-emphasized: cubic-bezier(.2,0,0,1);
  /* z-index */
  --z-header: 100; --z-toast: 900; --z-modal: 1000;
}
@media (prefers-reduced-motion: reduce) {
  :root { --dur-fast: 0ms; --dur-base: 0ms; --dur-slow: 0ms; }
}
