/* =========================================================================
   Дизайн-токены «Родовое дерево»
   Светлая, чистая, минималистичная палитра: много «воздуха»,
   природный зелёный акцент, тёмный читаемый текст.
   ========================================================================= */

:root {
  /* ---- Палитра: нейтральные (тёплый off-white с зелёным подтоном) ---- */
  --c-bg:            #f6f8f3;
  --c-bg-deep:       #eef2e9;
  --c-surface:       #ffffff;
  --c-surface-2:     #f3f6ef;
  --c-surface-3:     #eaf0e4;
  --c-overlay:       rgba(26, 38, 30, 0.46);

  /* ---- Текст ---- */
  --c-text:          #1b2a22;
  --c-text-soft:     #3c4d44;
  --c-text-muted:    #586a60; /* WCAG AA: 5.7:1 на белом, 5.3:1 на фоне страницы */
  --c-text-faint:    #5f7068; /* WCAG AA: 4.9:1 на белом (раньше #93a298 — не проходил) */
  --c-text-on-accent:#ffffff;

  /* ---- Природный зелёный акцент ---- */
  --c-primary:       #2e7d4f;
  --c-primary-600:   #266b43;
  --c-primary-700:   #1d5435;
  --c-primary-800:   #133b25;
  --c-primary-300:   #74b78e;
  --c-primary-200:   #a7d4ba;
  --c-primary-soft:  #e4f1e8;
  --c-primary-tint:  #f0f7f1;

  /* ---- Тёплый «архивный» золотой — для источников/подтверждений (скупо) ---- */
  --c-gold:          #b8893b;
  --c-gold-deep:     #855f15; /* для текста на светло-золотом фоне: WCAG AA 4.6:1 */
  --c-gold-soft:     #f6ecd8;

  /* ---- Семантика ---- */
  --c-info:          #2f6fb0;
  --c-info-soft:     #e4eef8;
  --c-success:       #2e7d4f;
  --c-success-soft:  #e4f1e8;
  --c-warning:       #b87613;
  --c-warning-soft:  #fbeed2;
  --c-danger:        #c0473d;
  --c-danger-soft:   #fae5e2;

  /* ---- Пол / статус персон ---- */
  --c-male:          #3d77b3;
  --c-male-soft:     #e6eff7;
  --c-female:        #bd5d8e;
  --c-female-soft:   #f9e7f0;
  --c-unknown:       #7d8c83;
  --c-unknown-soft:  #eceeec;
  --c-deceased:      #8a786a; /* умершие — приглушённый сепия-тон */

  /* ---- Границы и разделители ---- */
  --c-border:        #e0e7da;
  --c-border-strong: #cdd8c4;
  --c-border-focus:  #2e7d4f;
  --c-ring:          rgba(46, 125, 79, 0.32);

  /* ---- Скругления ---- */
  --r-xs: 6px;
  --r-sm: 9px;
  --r-md: 13px;
  --r-lg: 18px;
  --r-xl: 26px;
  --r-2xl: 36px;
  --r-full: 999px;

  /* ---- Отступы (шаг 4px) ---- */
  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 20px;
  --sp-6: 24px;
  --sp-7: 32px;
  --sp-8: 40px;
  --sp-9: 56px;
  --sp-10: 72px;
  --sp-11: 96px;
  --sp-12: 128px;

  /* ---- Типографика ---- */
  --font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-display: "Fraunces", "Georgia", "Times New Roman", serif;
  --font-mono: "SFMono-Regular", ui-monospace, "Cascadia Code", Consolas, monospace;

  --fs-xs:  0.75rem;   /* 12 */
  --fs-sm:  0.8125rem; /* 13 */
  --fs-base:0.9375rem; /* 15 */
  --fs-md:  1rem;      /* 16 */
  --fs-lg:  1.125rem;  /* 18 */
  --fs-xl:  1.375rem;  /* 22 */
  --fs-2xl: 1.75rem;   /* 28 */
  --fs-3xl: 2.25rem;   /* 36 */
  --fs-4xl: 3rem;      /* 48 */
  --fs-5xl: clamp(2.6rem, 1.6rem + 4vw, 4.6rem);

  --lh-tight: 1.12;
  --lh-snug: 1.3;
  --lh-normal: 1.55;
  --lh-relaxed: 1.7;

  --tracking-tight: -0.02em;
  --tracking-normal: 0;
  --tracking-wide: 0.04em;
  --tracking-wider: 0.12em;

  /* ---- Тени (мягкие, многослойные — «дорогая» глубина) ---- */
  --shadow-xs:  0 1px 2px rgba(27, 42, 34, 0.06);
  --shadow-sm:  0 2px 6px rgba(27, 42, 34, 0.06), 0 1px 2px rgba(27, 42, 34, 0.05);
  --shadow-md:  0 6px 18px rgba(27, 42, 34, 0.08), 0 2px 6px rgba(27, 42, 34, 0.05);
  --shadow-lg:  0 18px 44px rgba(27, 42, 34, 0.12), 0 6px 14px rgba(27, 42, 34, 0.07);
  --shadow-xl:  0 34px 80px rgba(20, 45, 30, 0.18), 0 12px 28px rgba(27, 42, 34, 0.10);
  --shadow-glow: 0 0 0 4px var(--c-ring);
  --shadow-inset: inset 0 1px 0 rgba(255, 255, 255, 0.7);

  /* ---- Движение (премиальные кривые) ---- */
  --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-out-quint: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --ease-soft: cubic-bezier(0.4, 0, 0.2, 1);

  --dur-1: 120ms;
  --dur-2: 200ms;
  --dur-3: 320ms;
  --dur-4: 480ms;
  --dur-5: 680ms;
  --dur-6: 920ms;

  /* ---- Слои (z-index) ---- */
  --z-base: 1;
  --z-tree-controls: 20;
  --z-header: 100;
  --z-drawer: 200;
  --z-modal: 300;
  --z-toast: 400;
  --z-tooltip: 500;

  /* ---- Геометрия макета ---- */
  --layout-max: 1240px;
  --layout-wide: 1480px;
  --header-h: 68px;
  --content-pad: clamp(16px, 4vw, 40px);

  /* ---- Стекло (frosted glass) ---- */
  --glass-bg: rgba(255, 255, 255, 0.72);
  --glass-border: rgba(255, 255, 255, 0.6);
  --glass-blur: saturate(180%) blur(16px);
}

/* Уважение к настройке «уменьшить движение» */
@media (prefers-reduced-motion: reduce) {
  :root {
    --dur-1: 0ms;
    --dur-2: 0ms;
    --dur-3: 0ms;
    --dur-4: 0ms;
    --dur-5: 0ms;
    --dur-6: 0ms;
  }
}
