/* ==========================================================================
   SoftIP Design Tokens
   ========================================================================== */

:root {
  /* ---- Бренд ---- */
  --c-white: #FFFFFF;
  --c-ink: #0A0A0A;

  /* ---- Графит / нейтрали ---- */
  --c-graphite-900: #141416;
  --c-graphite-800: #1F2024;
  --c-graphite-700: #2C2D33;
  --c-graphite-600: #44464D;
  --c-graphite-500: #5C5E66;
  --c-graphite-400: #82858E;

  --c-stone-300: #D4D5DA;
  --c-stone-200: #E6E7EB;
  --c-stone-100: #F2F3F6;
  --c-stone-50:  #F8F9FB;

  /* ---- Amber акцент ---- */
  --c-amber-700: #B88B00;
  --c-amber-600: #D9A300;
  --c-amber-500: #FFC400;
  --c-amber-400: #FFD23F;
  --c-amber-300: #FFE07A;
  --c-amber-100: #FFF4CC;
  --c-amber-50:  #FFFBE8;

  /* ---- Семантика ---- */
  --c-success: #10B981;
  --c-success-bg: #ECFDF5;
  --c-warning: #F59E0B;
  --c-warning-bg: #FEF3C7;
  --c-danger: #EF4444;
  --c-danger-bg: #FEF2F2;
  --c-info: #3B82F6;
  --c-info-bg: #EFF6FF;

  /* ---- Семантические алиасы ---- */
  --c-bg: var(--c-white);
  --c-bg-elev: var(--c-stone-50);
  --c-bg-mute: var(--c-stone-100);
  --c-text: var(--c-ink);
  --c-text-muted: var(--c-graphite-500);
  --c-text-subtle: var(--c-graphite-400);
  --c-border: var(--c-stone-200);
  --c-border-strong: var(--c-stone-300);
  --c-accent: var(--c-amber-500);
  --c-accent-on: var(--c-ink);

  /* ---- Шрифт ---- */
  --ff-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, system-ui, sans-serif;
  --ff-mono: 'JetBrains Mono', 'SF Mono', Consolas, Monaco, monospace;

  /* ---- Type scale (clamp) ---- */
  --fs-display-1: clamp(2.5rem, 4.2vw + 0.8rem, 4.5rem);
  --fs-display-2: clamp(2rem, 3vw + 0.8rem, 3.5rem);
  --fs-h1: clamp(1.75rem, 2.4vw + 0.4rem, 2.5rem);
  --fs-h2: clamp(1.5rem, 1.6vw + 0.5rem, 2rem);
  --fs-h3: clamp(1.25rem, 0.8vw + 1rem, 1.625rem);
  --fs-h4: 1.125rem;
  --fs-body-lg: 1.0625rem;
  --fs-body: 1rem;
  --fs-body-sm: 0.9375rem;
  --fs-caption: 0.8125rem;
  --fs-label: 0.75rem;

  /* ---- Веса ---- */
  --fw-light: 300;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  --fw-extrabold: 800;

  /* ---- Line-height ---- */
  --lh-tight: 1.0;
  --lh-snug: 1.2;
  --lh-normal: 1.5;
  --lh-relaxed: 1.6;
  --lh-loose: 1.75;

  /* ---- Spacing 4pt ---- */
  --s-1: 0.25rem;
  --s-2: 0.5rem;
  --s-3: 0.75rem;
  --s-4: 1rem;
  --s-5: 1.25rem;
  --s-6: 1.5rem;
  --s-7: 1.75rem;
  --s-8: 2rem;
  --s-10: 2.5rem;
  --s-12: 3rem;
  --s-14: 3.5rem;
  --s-16: 4rem;
  --s-20: 5rem;
  --s-24: 6rem;
  --s-32: 8rem;
  --s-40: 10rem;

  /* ---- Layout ---- */
  --container-max: 1280px;
  --container-wide: 1440px;
  --container-narrow: 880px;
  --container-pad: clamp(1rem, 4vw, 2.5rem);

  /* ---- Радиусы ---- */
  --r-xs: 4px;
  --r-sm: 8px;
  --r-md: 12px;
  --r-lg: 16px;
  --r-xl: 20px;
  --r-2xl: 28px;
  --r-full: 9999px;

  /* ---- Тени ---- */
  --shadow-xs: 0 1px 2px hsl(0 0% 6% / 0.06);
  --shadow-sm: 0 2px 8px -2px hsl(0 0% 6% / 0.08);
  --shadow-md: 0 6px 16px -4px hsl(0 0% 6% / 0.10);
  --shadow-lg: 0 16px 40px -8px hsl(0 0% 6% / 0.14);
  --shadow-xl: 0 32px 64px -16px hsl(0 0% 6% / 0.18);
  --shadow-glow-amber: 0 0 80px -10px hsl(48 100% 50% / 0.4);
  --shadow-glow-amber-sm: 0 0 24px -4px hsl(48 100% 50% / 0.35);

  /* ---- Длительности ---- */
  --dur-instant: 100ms;
  --dur-fast: 180ms;
  --dur-base: 260ms;
  --dur-slow: 420ms;
  --dur-slower: 680ms;

  /* ---- Easing ---- */
  --ease-out-quart: cubic-bezier(0.25, 1, 0.5, 1);
  --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);

  /* ---- Z-index scale ---- */
  --z-base: 1;
  --z-rise: 10;
  --z-sticky: 100;
  --z-overlay: 500;
  --z-modal: 1000;
  --z-toast: 2000;
  --z-tooltip: 3000;

  /* ---- Header высота ---- */
  --header-h: 72px;
  --header-h-scrolled: 64px;
}

/* ==========================================================================
   Reduced motion: универсальный fallback
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ==========================================================================
   Dark mode (заготовка, по дефолту off)
   ========================================================================== */
[data-theme="dark"] {
  --c-bg: var(--c-graphite-900);
  --c-bg-elev: var(--c-graphite-800);
  --c-bg-mute: var(--c-graphite-700);
  --c-text: var(--c-white);
  --c-text-muted: var(--c-graphite-400);
  --c-text-subtle: var(--c-graphite-500);
  --c-border: var(--c-graphite-700);
  --c-border-strong: var(--c-graphite-600);
}
