/* Сгенерировано build_tokens.py из tokens.json. Руками не править. */
:root {
  --c-bg: #ffffff;
  --c-surface: #f6f1ee;
  --c-surface-2: #ece4df;
  --c-ink: #231c19;
  --c-border: #e6dfdb;
  --c-border-input: #8a817c;
  --c-text: #0a0a0a;
  --c-text-muted: #5c5652;
  --c-on-ink: #ffffff;
  --c-accent: #9e1931;
  --c-accent-hover: #7f1427;
  --c-on-accent: #ffffff;
  --c-link: #0a0a0a;
  --c-focus: #0a0a0a;
  --c-savings-bg: #e4f1e8;
  --c-savings-text: #1d5a32;
  --c-selected: #9e1931;
  --c-promo-bg: #f6ebe6;
  --c-promo-text: #74402d;
  --c-progress: #9e1931;
  --c-progress-track: #e6dfdb;
  --c-disabled-bg: #ece8e6;
  --c-disabled-text: #625c58;
  --c-danger: #b42318;
  --c-danger-bg: #fdecea;
  --c-success: #1d6b3a;
  --c-warning: #8a5a00;
  --overlay: rgba(18,18,18,.55);
  --font-sans: Onest, Inter, system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, 'Cascadia Mono', Consolas, monospace;
  --fs-label: 0.8125rem;
  --lh-label: 1.385;
  --fw-label: 400;
  --ls-label: 0.02em;
  --fs-xs: 0.75rem;
  --lh-xs: 1.333;
  --fw-xs: 400;
  --ls-xs: normal;
  --fs-sm: 0.875rem;
  --lh-sm: 1.429;
  --fw-sm: 400;
  --ls-sm: normal;
  --fs-ui: 0.9375rem;
  --lh-ui: 1.333;
  --fw-ui: 500;
  --ls-ui: 0.01em;
  --fs-base: 1rem;
  --lh-base: 1.5;
  --fw-base: 400;
  --ls-base: normal;
  --fs-lg: 1.25rem;
  --lh-lg: 1.4;
  --fw-lg: 500;
  --ls-lg: normal;
  --fs-xl: 1.75rem;
  --lh-xl: 1.214;
  --fw-xl: 400;
  --ls-xl: -0.02em;
  --fs-2xl: 2.625rem;
  --lh-2xl: 1.119;
  --fw-2xl: 400;
  --ls-2xl: -0.035em;
  --fs-display: 3.375rem;
  --lh-display: 1.111;
  --fw-display: 400;
  --ls-display: -0.04em;
  --s-0: 0rem;
  --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: 2rem;
  --s-8: 2.5rem;
  --s-9: 3rem;
  --s-10: 4rem;
  --s-11: 5rem;
  --r-xs: 4px;
  --r-sm: 8px;
  --r-md: 12px;
  --r-lg: 16px;
  --r-pill: 9999px;
  --size-control-sm: 36px;
  --size-control-md: 44px;
  --size-control-lg: 56px;
  --size-header: 56px;
  --size-announcement: 44px;
  --size-drawer: 440px;
  --size-modal: 560px;
  --size-content-max: 1360px;
  --size-text-max: 680px;
  --size-gutter-mobile: 16px;
  --size-gutter-desktop: 32px;
  --sh-card: 0 1px 2px rgba(18,18,18,.06), 0 1px 3px rgba(18,18,18,.08);
  --sh-pop: 0 16px 40px rgba(18,18,18,.18);
  --sh-drawer: -8px 0 32px rgba(18,18,18,.16);
  --m-fast: 120ms;
  --m-base: 200ms;
  --m-slow: 320ms;
  --m-ease: cubic-bezier(.2,.8,.2,1);
  --m-ease-in: cubic-bezier(.4,0,1,1);
}
@media (max-width: 767px) {
  :root {
    --fs-2xl: 2rem;
    --lh-2xl: 1.125;
    --fs-display: 2.375rem;
    --lh-display: 1.105;
  }
}
@media (prefers-reduced-motion: reduce) {
  :root { --m-fast: 0ms; --m-base: 0ms; --m-slow: 0ms; }
}
.t-label { font-family: var(--font-mono); font-size: var(--fs-label); line-height: var(--lh-label); font-weight: var(--fw-label); letter-spacing: var(--ls-label); text-transform: uppercase; }
.t-xs { font-family: var(--font-sans); font-size: var(--fs-xs); line-height: var(--lh-xs); font-weight: var(--fw-xs); letter-spacing: var(--ls-xs); }
.t-sm { font-family: var(--font-sans); font-size: var(--fs-sm); line-height: var(--lh-sm); font-weight: var(--fw-sm); letter-spacing: var(--ls-sm); }
.t-ui { font-family: var(--font-sans); font-size: var(--fs-ui); line-height: var(--lh-ui); font-weight: var(--fw-ui); letter-spacing: var(--ls-ui); }
.t-base { font-family: var(--font-sans); font-size: var(--fs-base); line-height: var(--lh-base); font-weight: var(--fw-base); letter-spacing: var(--ls-base); }
.t-lg { font-family: var(--font-sans); font-size: var(--fs-lg); line-height: var(--lh-lg); font-weight: var(--fw-lg); letter-spacing: var(--ls-lg); }
.t-xl { font-family: var(--font-sans); font-size: var(--fs-xl); line-height: var(--lh-xl); font-weight: var(--fw-xl); letter-spacing: var(--ls-xl); }
.t-2xl { font-family: var(--font-sans); font-size: var(--fs-2xl); line-height: var(--lh-2xl); font-weight: var(--fw-2xl); letter-spacing: var(--ls-2xl); }
.t-display { font-family: var(--font-sans); font-size: var(--fs-display); line-height: var(--lh-display); font-weight: var(--fw-display); letter-spacing: var(--ls-display); }
.bg-bg { background-color: var(--c-bg); }
.fg-bg { color: var(--c-bg); }
.bg-surface { background-color: var(--c-surface); }
.fg-surface { color: var(--c-surface); }
.bg-surface-2 { background-color: var(--c-surface-2); }
.fg-surface-2 { color: var(--c-surface-2); }
.bg-ink { background-color: var(--c-ink); }
.fg-ink { color: var(--c-ink); }
.bg-border { background-color: var(--c-border); }
.fg-border { color: var(--c-border); }
.bg-border-input { background-color: var(--c-border-input); }
.fg-border-input { color: var(--c-border-input); }
.bg-text { background-color: var(--c-text); }
.fg-text { color: var(--c-text); }
.bg-text-muted { background-color: var(--c-text-muted); }
.fg-text-muted { color: var(--c-text-muted); }
.bg-on-ink { background-color: var(--c-on-ink); }
.fg-on-ink { color: var(--c-on-ink); }
.bg-accent { background-color: var(--c-accent); }
.fg-accent { color: var(--c-accent); }
.bg-accent-hover { background-color: var(--c-accent-hover); }
.fg-accent-hover { color: var(--c-accent-hover); }
.bg-on-accent { background-color: var(--c-on-accent); }
.fg-on-accent { color: var(--c-on-accent); }
.bg-link { background-color: var(--c-link); }
.fg-link { color: var(--c-link); }
.bg-focus { background-color: var(--c-focus); }
.fg-focus { color: var(--c-focus); }
.bg-savings-bg { background-color: var(--c-savings-bg); }
.fg-savings-bg { color: var(--c-savings-bg); }
.bg-savings-text { background-color: var(--c-savings-text); }
.fg-savings-text { color: var(--c-savings-text); }
.bg-selected { background-color: var(--c-selected); }
.fg-selected { color: var(--c-selected); }
.bg-promo-bg { background-color: var(--c-promo-bg); }
.fg-promo-bg { color: var(--c-promo-bg); }
.bg-promo-text { background-color: var(--c-promo-text); }
.fg-promo-text { color: var(--c-promo-text); }
.bg-progress { background-color: var(--c-progress); }
.fg-progress { color: var(--c-progress); }
.bg-progress-track { background-color: var(--c-progress-track); }
.fg-progress-track { color: var(--c-progress-track); }
.bg-disabled-bg { background-color: var(--c-disabled-bg); }
.fg-disabled-bg { color: var(--c-disabled-bg); }
.bg-disabled-text { background-color: var(--c-disabled-text); }
.fg-disabled-text { color: var(--c-disabled-text); }
.bg-danger { background-color: var(--c-danger); }
.fg-danger { color: var(--c-danger); }
.bg-danger-bg { background-color: var(--c-danger-bg); }
.fg-danger-bg { color: var(--c-danger-bg); }
.bg-success { background-color: var(--c-success); }
.fg-success { color: var(--c-success); }
.bg-warning { background-color: var(--c-warning); }
.fg-warning { color: var(--c-warning); }
