/**
 * Токены темы из config/site-config.json (секция design).
 * Генерируется generate.js или platform-theme для кабинета.
 */
:root {
  --bg: #0c0c0e;
  --bg-elevated: #111114;
  --surface: #16161a;
  --surface-2: #1c1c21;
  --accent: #1e8cc2;
  --accent-hover: #2874d7;
  --accent-muted: rgba(196, 30, 58, 0.35);
  --text: #eceae7;
  --text-muted: #9c9893;
  --on-accent: #ffffff;
  --border: #2a2a30;
  --torn-bottom: polygon(0% 0%, 100% 0%, 100% 100%, 94.44% calc(100% - 11px), 88.89% calc(100% - 12px), 83.33% calc(100% - 14px), 77.78% calc(100% - 16px), 72.22% calc(100% - 17px), 66.67% calc(100% - 16px), 61.11% calc(100% - 11px), 55.56% calc(100% - 12px), 50.00% calc(100% - 11px), 44.44% calc(100% - 12px), 38.89% calc(100% - 14px), 33.33% calc(100% - 14px), 27.78% calc(100% - 13px), 22.22% calc(100% - 15px), 16.67% calc(100% - 12px), 11.11% calc(100% - 16px), 5.56% calc(100% - 12px), 0.00% calc(100% - 11px), 0% calc(100% - 13px), 0% 0%);
  --torn-small: polygon(0% 0%, 100% 0%, 100% 100%, 91.67% calc(100% - 7px), 83.33% calc(100% - 9px), 75.00% calc(100% - 7px), 66.67% calc(100% - 7px), 58.33% calc(100% - 7px), 50.00% calc(100% - 8px), 41.67% calc(100% - 8px), 33.33% calc(100% - 8px), 25.00% calc(100% - 8px), 16.67% calc(100% - 8px), 8.33% calc(100% - 7px), 0.00% calc(100% - 9px), 0% calc(100% - 8px), 0% 0%);
  --torn-top: polygon(0.00% 12px, 5.56% 12px, 11.11% 10px, 16.67% 14px, 22.22% 17px, 27.78% 16px, 33.33% 16px, 38.89% 11px, 44.44% 11px, 50.00% 12px, 55.56% 12px, 61.11% 12px, 66.67% 15px, 72.22% 13px, 77.78% 14px, 83.33% 13px, 88.89% 15px, 94.44% 11px, 100.00% 12px, 100% 100%, 0% 100%, 0% 0%);
  --torn-top-bottom: polygon(0.00% 12px, 5.56% 12px, 11.11% 10px, 16.67% 14px, 22.22% 17px, 27.78% 16px, 33.33% 16px, 38.89% 11px, 44.44% 11px, 50.00% 12px, 55.56% 12px, 61.11% 12px, 66.67% 15px, 72.22% 13px, 77.78% 14px, 83.33% 13px, 88.89% 15px, 94.44% 11px, 100.00% 12px, 100% 100%, 94.44% calc(100% - 13px), 88.89% calc(100% - 13px), 83.33% calc(100% - 12px), 77.78% calc(100% - 15px), 72.22% calc(100% - 16px), 66.67% calc(100% - 13px), 61.11% calc(100% - 12px), 55.56% calc(100% - 12px), 50.00% calc(100% - 15px), 44.44% calc(100% - 12px), 38.89% calc(100% - 14px), 33.33% calc(100% - 15px), 27.78% calc(100% - 15px), 22.22% calc(100% - 12px), 16.67% calc(100% - 14px), 11.11% calc(100% - 16px), 5.56% calc(100% - 13px), 0.00% calc(100% - 11px), 0% calc(100% - 14px), 0% 0%);
  --torn-sides: polygon(0% 0%, 100% 0%, calc(100% - 12px) 5.56%, calc(100% - 10px) 11.11%, calc(100% - 14px) 16.67%, calc(100% - 17px) 22.22%, calc(100% - 16px) 27.78%, calc(100% - 16px) 33.33%, calc(100% - 11px) 38.89%, calc(100% - 11px) 44.44%, calc(100% - 12px) 50.00%, calc(100% - 12px) 55.56%, calc(100% - 12px) 61.11%, calc(100% - 15px) 66.67%, calc(100% - 13px) 72.22%, calc(100% - 14px) 77.78%, calc(100% - 13px) 83.33%, calc(100% - 15px) 88.89%, calc(100% - 11px) 94.44%, calc(100% - 12px) 100.00%, 13px 94.44%, 13px 88.89%, 12px 83.33%, 15px 77.78%, 16px 72.22%, 13px 66.67%, 12px 61.11%, 12px 55.56%, 15px 50.00%, 12px 44.44%, 14px 38.89%, 15px 33.33%, 15px 27.78%, 12px 22.22%, 14px 16.67%, 16px 11.11%, 13px 5.56%, 0% 0%);
  --torn-all: polygon(0.00% 12px, 5.56% 12px, 11.11% 10px, 16.67% 14px, 22.22% 17px, 27.78% 16px, 33.33% 16px, 38.89% 11px, 44.44% 11px, 50.00% 12px, 55.56% 12px, 61.11% 12px, 66.67% 15px, 72.22% 13px, 77.78% 14px, 83.33% 13px, 88.89% 15px, 94.44% 11px, 100.00% 12px, calc(100% - 14px) 5.56%, calc(100% - 11px) 11.11%, calc(100% - 13px) 16.67%, calc(100% - 16px) 22.22%, calc(100% - 15px) 27.78%, calc(100% - 13px) 33.33%, calc(100% - 12px) 38.89%, calc(100% - 11px) 44.44%, calc(100% - 17px) 50.00%, calc(100% - 12px) 55.56%, calc(100% - 13px) 61.11%, calc(100% - 15px) 66.67%, calc(100% - 16px) 72.22%, calc(100% - 11px) 77.78%, calc(100% - 15px) 83.33%, calc(100% - 15px) 88.89%, calc(100% - 12px) 94.44%, calc(100% - 13px) 100.00%, 94.44% calc(100% - 12px), 88.89% calc(100% - 15px), 83.33% calc(100% - 12px), 77.78% calc(100% - 11px), 72.22% calc(100% - 14px), 66.67% calc(100% - 14px), 61.11% calc(100% - 15px), 55.56% calc(100% - 12px), 50.00% calc(100% - 13px), 44.44% calc(100% - 15px), 38.89% calc(100% - 15px), 33.33% calc(100% - 10px), 27.78% calc(100% - 15px), 22.22% calc(100% - 12px), 16.67% calc(100% - 13px), 11.11% calc(100% - 14px), 5.56% calc(100% - 14px), 0.00% calc(100% - 12px), 12px 94.44%, 15px 88.89%, 15px 83.33%, 12px 77.78%, 14px 72.22%, 13px 66.67%, 13px 61.11%, 13px 55.56%, 15px 50.00%, 16px 44.44%, 15px 38.89%, 11px 33.33%, 12px 27.78%, 13px 22.22%, 16px 16.67%, 13px 11.11%, 12px 5.56%, 0% 0%);
  --torn-none: none;
  --torn-pad-extra: 18px;
  --torn-pad-extra-small: 14px;
  --radius-nav-toggle: 0;
  --radius-card-media: 12px;
  --radius-code-block: 10px;
  --shadow-mobile-menu: 0 18px 40px rgba(0, 0, 0, 0.35);
  --nav-toggle-duration: 0.25s;
  --overlay-animation-duration: 0.25s;
  --header-overlay-bg: rgba(12, 12, 14, 0.78);
  --brand-word-transition: 200ms;
  --space-section-gap: clamp(2rem, 4vw, 3rem);
  --space-section-tight: clamp(1.25rem, 3vw, 2rem);
  --space-section-compact: clamp(1rem, 2.5vw, 1.75rem);
  --space-section-roomy: clamp(3rem, 7vw, 4.5rem);
  --space-hero-y: clamp(3rem, 7vw, 5rem);
  --space-block: clamp(1.75rem, 4vw, 2.75rem);
  --space-stack-gap: 1.25rem;
  --space-actions-gap: 0.75rem;
  --space-actions-margin-top: 1.5rem;
  --space-grid-gap: 1.25rem;
  --space-grid-gap-compact: 0.75rem;
  --space-grid-gap-roomy: 2rem;
  --space-stack-gap-compact: 0.85rem;
  --space-stack-gap-roomy: 1.75rem;
  --space-actions-gap-compact: 0.5rem;
  --space-actions-gap-roomy: 1rem;
  --space-actions-margin-compact: 1rem;
  --space-actions-margin-roomy: 2rem;
  --space-section: clamp(2rem, 4vw, 3rem);
  --font-display: 'Oswald', system-ui, sans-serif;
  --font-body: 'Source Sans 3', system-ui, sans-serif;
}
