/* UGC Пульс — дизайн-токены (16.10.2026). Единственное место, где задаются цвета, шрифт, радиусы, тени и движение.
   Остальные слои (style.css → apple.css → analytics.css → help.css → polish.css → design.css) берут значения отсюда через var(--…).
   Старые имена (--ink, --muted, --purple, --lav …) оставлены как псевдонимы новых, чтобы ранние слои продолжали работать.
   Описание системы: docs/design-system.md. */

/* Onest (OFL 1.1, web/assets/fonts/OFL-Onest.txt): переменный 100–900, подмножество латиница + кириллица + ₽ № стрелки, 39 КБ. */
@font-face {
  font-family: "Onest";
  src: url("/assets/assets/fonts/onest-var.woff2") format("woff2-variations"), url("/assets/assets/fonts/onest-var.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

:root {
  color-scheme: light;

  /* ---- бренд: графит Apple (имена --ink-* и --signal сохранены для слоёв, которые на них ссылаются) ---- */
  --ink-950: #1d1d1f;
  --ink-900: #1d1d1f;
  --ink-800: #2c2c2e;
  --ink-700: #3a3a3c;
  --ink-600: #48484a;
  --signal: #1d1d1f;            /* фирменный акцент: кнопки, активное, ссылки */
  --signal-strong: #000000;
  --signal-deep: #000000;
  --pulse: #34c759;             /* «живой» цвет: линия пульса, точка обновления, графики на тёмном */
  --pulse-2: #86868b;
  --brand-gradient: linear-gradient(90deg, #1d1d1f, #1d1d1f);

  /* ---- нейтральные (холодные, с лёгкой синевой) ---- */
  --bg: #f5f5f7;
  --bg-elevated: #fbfbfd;
  --surface: #ffffff;
  --surface-2: #fafafc;
  --surface-3: #f0f0f2;
  --surface-hover: #f5f5f7;
  --surface-sunken: #e8e8ed;
  --border: rgba(0, 0, 0, .08);
  --border-strong: rgba(0, 0, 0, .12);
  --border-field: rgba(0, 0, 0, .15);
  --text: #1d1d1f;
  --text-2: #424245;
  --text-3: #6e6e73;
  --select-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%235e677a' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6.5l4 4 4-4'/%3E%3C/svg%3E");
  --text-4: #86868b;            /* только подсказки внутри полей и декоративное */
  --on-signal: #ffffff;
  --on-ink: #1d1d1f;
  --on-ink-2: #6e6e73;

  /* ---- акцент: мягкие поверхности ---- */
  --accent: #1d1d1f;
  --accent-hover: #000000;
  --accent-text: #0066cc;
  --accent-soft: #f0f0f2;
  --accent-soft-2: #e8e8ed;
  --accent-border: rgba(0, 0, 0, .14);
  --focus-ring: 0 0 0 4px rgba(0, 113, 227, .28);

  /* ---- состояния ---- */
  --success: #248a3d;
  --success-text: #1f7a35;
  --success-soft: #eaf5ec;
  --success-border: rgba(36, 138, 61, .2);
  --warning: #b25000;
  --warning-text: #a34900;
  --warning-soft: #fff3e6;
  --warning-border: rgba(178, 80, 0, .2);
  --danger: #d70015;
  --danger-strong: #d70015;
  --danger-text: #c00013;
  --danger-soft: #fff0f1;
  --danger-border: rgba(215, 0, 21, .18);
  --neutral-soft: #f0f0f2;
  --neutral-text: #424245;

  /* ---- данные (графики) ---- */
  --chart-1: #1d1d1f;
  --chart-1-fill: rgba(29, 29, 31, .06);
  --chart-2: #c7c7cc;
  --chart-grid: rgba(0, 0, 0, .06);

  /* ---- типографика ---- */
  --font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", "Onest", "Segoe UI", Roboto, Arial, sans-serif;
  --font-num: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Helvetica Neue", "Onest", "Segoe UI", sans-serif;
  --fs-12: 12px; --fs-13: 13px; --fs-14: 14px; --fs-15: 15px; --fs-17: 17px; --fs-20: 20px; --fs-24: 24px; --fs-30: 30px; --fs-40: 40px;
  --lh-tight: 1.15; --lh-snug: 1.35; --lh-body: 1.55;
  --tracking-display: -.03em;
  --tracking-title: -.015em;

  /* ---- форма ---- */
  --r-xs: 6px; --r-sm: 8px; --r-md: 10px; --r-lg: 14px; --r-xl: 18px; --r-2xl: 20px; --r-pill: 999px;
  --space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px; --space-5: 20px; --space-6: 24px; --space-8: 32px; --space-10: 40px;
  --control-h: 40px;
  --control-h-lg: 46px;

  /* ---- глубина: многослойные мягкие тени ---- */
  --shadow-xs: 0 1px 1px rgba(0, 0, 0, .03);
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);
  --shadow-card: 0 1px 2px rgba(0, 0, 0, .03), 0 4px 14px rgba(0, 0, 0, .03);
  --shadow-raise: 0 2px 6px rgba(0, 0, 0, .04), 0 10px 28px rgba(0, 0, 0, .07);
  --shadow-pop: 0 4px 12px rgba(0, 0, 0, .08), 0 18px 44px rgba(0, 0, 0, .12);
  --shadow-dialog: 0 10px 30px rgba(0, 0, 0, .10), 0 30px 80px rgba(0, 0, 0, .16);
  --shadow-signal: none;
  --hairline-light: inset 0 1px 0 rgba(255, 255, 255, .7);
  --backdrop: rgba(0, 0, 0, .28);
  --glass: rgba(251, 251, 253, .8);
  --glass-border: rgba(0, 0, 0, .08);

  /* ---- движение ---- */
  /* Движение (16.10.2026, «премиальные переходы»): всё — transform и opacity; появление — ease-out, перемещение — ease-in-out,
     окна и шторки — пружина (linear() с запасным cubic-bezier ниже), уход всегда быстрее прихода. Описание: docs/design-system.md. */
  --ease-out: cubic-bezier(.23, 1, .32, 1);          /* сильный ease-out: мгновенный отклик, мягкая посадка */
  --ease-in-out: cubic-bezier(.77, 0, .175, 1);      /* перемещение по экрану */
  --ease-drawer: cubic-bezier(.32, .72, 0, 1);       /* шторка iOS */
  --ease-exit: cubic-bezier(.4, 0, 1, 1);            /* уход: быстро и без «хвоста» */
  --ease-spring: cubic-bezier(.34, 1.26, .64, 1);    /* запасная «пружина» для браузеров без linear() */
  --spring: var(--ease-spring);                      /* пружина: затухание .78, перелёт ~2 % (Apple: damping .8, response .3–.4) */
  --dur-1: 120ms;    /* нажатие, наведение */
  --dur-2: 180ms;    /* мелкие состояния, уход окна */
  --dur-3: 240ms;    /* появление блоков, переход раздела */
  --dur-4: 320ms;    /* окна, раскрытие разделов */
  --dur-5: 420ms;    /* шторки и тост на пружине */
  --stagger: 25ms;   /* шаг каскада, не больше 8 элементов */
  --rise: 8px;       /* подъём при появлении */
  /* первое впечатление (16.10.2026, приём kukuruza.io): кривая с длинным мягким хвостом — вход, его карточка, /privacy, /offer, 404,
     «Заявка принята», первый показ кабинета после входа и появление блоков при прокрутке. Частые переходы разделов — по-прежнему --dur-2/3. */
  --ease-glide: cubic-bezier(.2, .7, .2, 1);
  --dur-glide: 720ms;
  --rise-glide: 14px;

  /* ---- псевдонимы ранних слоёв ---- */
  --ink: var(--text);
  --muted: var(--text-3);
  --soft: var(--text-3);
  --line: var(--border);
  --paper: var(--bg);
  --purple: var(--accent-text);
  --purple-dark: var(--signal-deep);
  --lav: var(--accent-soft);
  --green: var(--success-text);
  --amber: var(--warning-text);
  --red: var(--danger-text);
  --radius: var(--r-xl);

  font-family: var(--font);
  font-size: 15px;
  line-height: var(--lh-body);
  font-feature-settings: "calt" 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  color: var(--text);
  background: var(--bg);
}

/* Тёмная тема ВЫКЛЮЧЕНА (16.10.2026, решение владельца: сайт всегда светлый, «как у Apple»). Значения оставлены на будущее и
   включаются только явным <html data-theme="dark">, которого в приложении нет; системная настройка ничего не меняет. */
:root[data-theme="dark"] {
    color-scheme: dark;
    --bg: #080c17;
    --bg-elevated: #0c1120;
    --surface: #0f1524;
    --surface-2: #131a2c;
    --surface-3: #1a2236;
    --surface-hover: #161e31;
    --surface-sunken: #0b101d;
    --border: rgba(226, 232, 255, .08);
    --border-strong: rgba(226, 232, 255, .14);
    --border-field: rgba(226, 232, 255, .16);
    --text: #e8ecf5;
    --text-2: #c0c7d6;
    --text-3: #949db0;
    --select-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23949db0' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6.5l4 4 4-4'/%3E%3C/svg%3E");
    --text-4: #6d7689;
    --on-ink-2: #a7b1c8;

    --accent: #3d63ff;
    --accent-hover: #567aff;
    --accent-text: #9db4ff;
    --accent-soft: rgba(77, 112, 255, .14);
    --accent-soft-2: rgba(77, 112, 255, .22);
    --accent-border: rgba(125, 155, 255, .32);
    --focus-ring: 0 0 0 3px rgba(110, 145, 255, .42);

    --success-text: #5fd4a6;
    --success-soft: rgba(14, 159, 110, .16);
    --success-border: rgba(95, 212, 166, .28);
    --warning-text: #f1b75c;
    --warning-soft: rgba(212, 138, 18, .16);
    --warning-border: rgba(241, 183, 92, .28);
    --danger-text: #ff8e84;
    --danger-soft: rgba(224, 71, 60, .16);
    --danger-border: rgba(255, 142, 132, .3);
    --neutral-soft: rgba(226, 232, 255, .07);
    --neutral-text: #b4bccc;

    --chart-1: #6d8dff;
    --chart-1-fill: rgba(109, 141, 255, .2);
    --chart-2: #5b6478;
    --chart-grid: rgba(226, 232, 255, .07);

    --shadow-xs: 0 1px 2px rgba(0, 0, 0, .3);
    --shadow-sm: 0 1px 2px rgba(0, 0, 0, .3), 0 2px 6px -2px rgba(0, 0, 0, .35);
    --shadow-card: 0 1px 1px rgba(0, 0, 0, .25), 0 8px 24px -12px rgba(0, 0, 0, .5), inset 0 1px 0 rgba(255, 255, 255, .03);
    --shadow-raise: 0 2px 4px rgba(0, 0, 0, .3), 0 14px 32px -10px rgba(0, 0, 0, .6), inset 0 1px 0 rgba(255, 255, 255, .04);
    --shadow-pop: 0 4px 8px -2px rgba(0, 0, 0, .4), 0 20px 44px -12px rgba(0, 0, 0, .7), inset 0 1px 0 rgba(255, 255, 255, .05);
    --shadow-dialog: 0 8px 16px -6px rgba(0, 0, 0, .5), 0 36px 80px -20px rgba(0, 0, 0, .8), inset 0 1px 0 rgba(255, 255, 255, .05);
    --hairline-light: inset 0 1px 0 rgba(255, 255, 255, .04);
    --backdrop: rgba(2, 4, 10, .62);
    --glass: rgba(12, 17, 32, .78);
    --glass-border: rgba(226, 232, 255, .08);
}

@supports (transition-timing-function: linear(0, 1)) {
  :root { --spring: linear(0, 0.0398, 0.1352, 0.2582, 0.3892, 0.5156, 0.6297, 0.7279, 0.8089, 0.8732, 0.9225, 0.9589, 0.9844, 1.0015, 1.0119, 1.0175, 1.0197, 1.0196, 1.0181, 1.0159, 1.0133, 1.0107, 1.0083, 1.0062, 1.0045, 1.003, 1.0019, 1.0011, 1.0005, 1.0001, 0.9998, 0.9997, 1); }
}

*, *::before, *::after { box-sizing: border-box; }
html { background: var(--bg); -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { margin: 0; font-family: var(--font); color: var(--text); background: var(--bg); }
button, input, select, textarea { font: inherit; color: inherit; }
::selection { background: rgba(0, 113, 227, .18); }
