/* ROBIUS IT — theme.css v7 «Ink & Signal». Автогенерируется из tokens/*.json. Не редактируйте вручную.
   Светлая премиальная editorial-концепция: бумага #F4F1EA, чернила #101014, SIGNAL COBALT #2E4BFF
   (deep #1E30B8 на светлом, soft #7C8CFF на тёмном), микро-акценты tangerine #FF5C1F.
   Дефолтная тема — светлая (:root = light). Тёмная — [data-theme="dark"].
   Все имена переменных v6 сохранены (значения обновлены); новые переменные — только --v7-* (список в конце файла). */
:root {
  color-scheme: light;

  /* ---------- color.primitive (v7: имена v6 сохранены, значения указывают на палитру Ink & Signal) ---------- */
  --color-primitive-void: #101014;
  --color-primitive-space: #17171D;
  --color-primitive-surface: #17171D;
  --color-primitive-raised: #1F1F27;
  --color-primitive-gold: #2E4BFF;
  --color-primitive-goldHi: #F4F1EA;
  --color-primitive-sapphire: #7C8CFF;
  --color-primitive-ink: #101014;
  --color-primitive-paper: #F4F1EA;
  --color-primitive-chalk: #FFFFFF;

  /* ---------- color.semantic (light = default) ---------- */
  --color-semantic-text-primary: #101014;
  --color-semantic-text-secondary: #3E4048;
  --color-semantic-text-muted: #6E6E78;
  --color-semantic-text-faint: #9A968A;
  --color-semantic-text-onAccent: #FFFFFF;
  --color-semantic-surface-page: #F4F1EA;
  --color-semantic-surface-card: #FFFFFF;
  --color-semantic-surface-raised: #FFFFFF;
  --color-semantic-surface-recess: #ECE8DB;
  --color-semantic-surface-inverse: #101014;
  --color-semantic-surface-glass: rgba(16,16,20,.04);
  --color-semantic-surface-glassStrong: rgba(16,16,20,.07);
  --color-semantic-border-subtle: #E3DED2;
  --color-semantic-border-strong: #C9C2B2;
  --color-semantic-border-onDark: #2A2A33;
  --color-semantic-border-glow: rgba(46,75,255,.35);
  --color-semantic-accent-primary: #1E30B8;
  --color-semantic-accent-primaryDim: rgba(46,75,255,.12);
  --color-semantic-accent-primaryGlow: rgba(46,75,255,.35);
  --color-semantic-accent-cool: #2E4BFF;
  --color-semantic-accent-coolDim: rgba(46,75,255,.12);
  --color-semantic-accent-onDark: #7C8CFF;
  --color-semantic-accent-onDarkLow: rgba(124,140,255,.16);
  --color-semantic-grad-hero: radial-gradient(120% 100% at 50% 0%, rgba(46,75,255,.16) 0%, rgba(46,75,255,.05) 42%, #F4F1EA 78%);
  --color-semantic-grad-cta: radial-gradient(130% 130% at 50% 130%, rgba(46,75,255,.38) 0%, rgba(46,75,255,.10) 45%, #101014 78%);
  --color-semantic-grad-text: linear-gradient(100deg,#1E30B8,#2E4BFF 55%,#7C8CFF);
  --color-semantic-grad-line: linear-gradient(90deg, transparent, rgba(46,75,255,.45), transparent);
  --color-semantic-state-live: #FF5C1F;
  --color-semantic-state-ok: #1F9D66;
  --color-semantic-state-success: #1F9D66;
  --color-semantic-state-warning: #FF5C1F;
  --color-semantic-state-danger: #D33A2C;

  /* ---------- typography ---------- */
  --typography-fontFamily-display: Unbounded;
  --typography-fontFamily-body: Manrope;
  --typography-fontFamily-mono: ui-monospace, "SF Mono", Menlo, monospace;
  --typography-fontWeight-regular: 400;
  --typography-fontWeight-medium: 500;
  --typography-fontWeight-semibold: 600;
  --typography-fontWeight-bold: 700;
  --typography-fontWeight-black: 800;
  --typography-fontSize-xs: 0.75rem;
  --typography-fontSize-sm: 0.875rem;
  --typography-fontSize-base: 1rem;
  --typography-fontSize-lg: 1.125rem;
  --typography-fontSize-xl: 1.375rem;
  --typography-fontSize-2xl: 1.75rem;
  --typography-fontSize-3xl: 2.25rem;
  --typography-fontSize-4xl: 3rem;
  --typography-fontSize-5xl: 3.75rem;
  --typography-fontSize-6xl: 4.5rem;
  --typography-lineHeight-tight: 1.08;
  --typography-lineHeight-snug: 1.22;
  --typography-lineHeight-normal: 1.55;
  --typography-lineHeight-relaxed: 1.7;
  --typography-letterSpacing-tight: -0.02em;
  --typography-letterSpacing-normal: 0;
  --typography-letterSpacing-wide: 0.08em;
  --typography-letterSpacing-wider: 0.14em;
  --typography-measure-prose: 65ch;
  --typography-measure-display: 20ch;

  /* ---------- spacing / radius / borders ---------- */
  --spacing-scale-1: 4px;
  --spacing-scale-2: 8px;
  --spacing-scale-3: 12px;
  --spacing-scale-4: 16px;
  --spacing-scale-5: 24px;
  --spacing-scale-6: 32px;
  --spacing-scale-7: 48px;
  --spacing-scale-8: 64px;
  --spacing-scale-9: 96px;
  --spacing-scale-10: 128px;
  --spacing-scale-11: 160px;
  --spacing-semantic-inline: 12px;
  --spacing-semantic-stack: 32px;
  --spacing-semantic-inset: 24px;
  --spacing-semantic-section: 160px;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 18px;
  --radius-xl: 24px;
  --radius-pill: 999px;
  --borders-hairline: 1px;
  --borders-rule: 1px;

  /* ---------- shadow (v7: мягкие editorial, низкая плотность) ---------- */
  --shadow-sm: 0 1px 2px rgba(16,16,20,.05), 0 2px 8px -2px rgba(16,16,20,.08);
  --shadow-md: 0 2px 6px -2px rgba(16,16,20,.06), 0 16px 40px -16px rgba(16,16,20,.14);
  --shadow-lg: 0 4px 12px -4px rgba(16,16,20,.07), 0 32px 64px -24px rgba(16,16,20,.18);
  --shadow-xl: 0 8px 24px -8px rgba(16,16,20,.08), 0 48px 96px -32px rgba(16,16,20,.22);
  --shadow-glowGold: 0 0 0 1px rgba(46,75,255,.18), 0 16px 48px -16px rgba(46,75,255,.35);
  --shadow-glowDeep: 0 0 80px -24px rgba(46,75,255,.35);
  --shadow-focusRing: 0 0 0 2px #FFFFFF, 0 0 0 4px #1E30B8;
  --shadow-cardRest: 0 1px 2px rgba(16,16,20,.04), 0 12px 32px -16px rgba(16,16,20,.12);
  --shadow-cardHover: 0 2px 6px rgba(16,16,20,.05), 0 28px 56px -24px rgba(16,16,20,.18), 0 0 0 1px rgba(46,75,255,.14);

  /* ---------- motion (v7: expo + 200/450/800ms) ---------- */
  --motion-duration-instant: 100ms;
  --motion-duration-fast: 200ms;
  --motion-duration-base: 450ms;
  --motion-duration-slow: 800ms;
  --motion-duration-cinematic: 900ms;
  --motion-duration-reveal: 800ms;
  --motion-duration-marquee: 40s;
  --motion-easing-out: cubic-bezier(.16,.84,.44,1);
  --motion-easing-in: cubic-bezier(.6,0,.84,.44);
  --motion-easing-spring: cubic-bezier(.2,.9,.3,1);
  --motion-easing-lux: cubic-bezier(.25,1,.3,1);
  --motion-easing-marquee: linear;

  /* ---------- blur ---------- */
  --blur-sm: 8px;
  --blur-md: 16px;
  --blur-lg: 28px;
  --blur-xl: 60px;

  /* ---------- zIndex ---------- */
  --zIndex-base: 0;
  --zIndex-content: 5;
  --zIndex-raised: 10;
  --zIndex-overlay: 80;
  --zIndex-header: 50;
  --zIndex-progress: 100;
  --zIndex-cursor: 9999;

  /* ---------- v7 constants (theme-independent) ---------- */
  --v7-paper: #F4F1EA;
  --v7-chalk: #FFFFFF;
  --v7-ink: #101014;
  --v7-cobalt: #2E4BFF;
  --v7-cobalt-deep: #1E30B8;
  --v7-cobalt-soft: #7C8CFF;
  --v7-cobalt-dim: rgba(46,75,255,.12);
  --v7-cobalt-glow: rgba(46,75,255,.35);
  --v7-tangerine: #FF5C1F;
  --v7-card-dark: #17171D;
  --v7-border-dark: #2A2A33;
  --v7-grad-text: linear-gradient(100deg,#1E30B8,#2E4BFF 55%,#7C8CFF);
  --v7-ease-out-expo: cubic-bezier(.16,1,.3,1);
  --v7-duration-fast: 200ms;
  --v7-duration-base: 450ms;
  --v7-duration-reveal: 800ms;
  --v7-delay-d1: 90ms;
  --v7-delay-d2: 180ms;
  --v7-delay-d3: 270ms;
  --v7-delay-d4: 360ms;

  /* ---------- короткие бренд-алиасы (значения = tokens/color.json, ЕДИНСТВЕННОЕ место определения;
     фиксированные якоря neo-brutalism, НЕ флипаются с темой; тёмные адаптации — явными правилами в style.css) ---------- */
  --paper: #F4F1EA;
  --ink: #101014;
  --cobalt: #2E4BFF;
  --cobalt-deep: #1E30B8;
  --tangerine: #FF5C1F;
  --paper-line: rgba(16,16,20,.14);
  --ink-line: rgba(244,241,234,.16);
}

/* ---------- LIGHT THEME (дефолт, явный селектор повторяет :root) ---------- */
:root[data-theme="light"],
body[data-theme="light"] {
  color-scheme: light;
  --color-semantic-text-primary: #101014;
  --color-semantic-text-secondary: #3E4048;
  --color-semantic-text-muted: #6E6E78;
  --color-semantic-text-faint: #9A968A;
  --color-semantic-text-onAccent: #FFFFFF;
  --color-semantic-surface-page: #F4F1EA;
  --color-semantic-surface-card: #FFFFFF;
  --color-semantic-surface-raised: #FFFFFF;
  --color-semantic-surface-recess: #ECE8DB;
  --color-semantic-surface-inverse: #101014;
  --color-semantic-surface-glass: rgba(16,16,20,.04);
  --color-semantic-surface-glassStrong: rgba(16,16,20,.07);
  --color-semantic-border-subtle: #E3DED2;
  --color-semantic-border-strong: #C9C2B2;
  --color-semantic-border-onDark: #2A2A33;
  --color-semantic-border-glow: rgba(46,75,255,.35);
  --color-semantic-accent-primary: #1E30B8;
  --color-semantic-accent-primaryDim: rgba(46,75,255,.12);
  --color-semantic-accent-primaryGlow: rgba(46,75,255,.35);
  --color-semantic-accent-cool: #2E4BFF;
  --color-semantic-accent-coolDim: rgba(46,75,255,.12);
  --color-semantic-accent-onDark: #7C8CFF;
  --color-semantic-accent-onDarkLow: rgba(124,140,255,.16);
  --color-semantic-grad-hero: radial-gradient(120% 100% at 50% 0%, rgba(46,75,255,.16) 0%, rgba(46,75,255,.05) 42%, #F4F1EA 78%);
  --color-semantic-grad-cta: radial-gradient(130% 130% at 50% 130%, rgba(46,75,255,.38) 0%, rgba(46,75,255,.10) 45%, #101014 78%);
  --color-semantic-grad-text: linear-gradient(100deg,#1E30B8,#2E4BFF 55%,#7C8CFF);
  --color-semantic-grad-line: linear-gradient(90deg, transparent, rgba(46,75,255,.45), transparent);
  --color-semantic-state-live: #FF5C1F;
  --color-semantic-state-ok: #1F9D66;
  --color-semantic-state-success: #1F9D66;
  --color-semantic-state-warning: #FF5C1F;
  --color-semantic-state-danger: #D33A2C;
  --shadow-cardRest: 0 1px 2px rgba(16,16,20,.04), 0 12px 32px -16px rgba(16,16,20,.12);
  --shadow-cardHover: 0 2px 6px rgba(16,16,20,.05), 0 28px 56px -24px rgba(16,16,20,.18), 0 0 0 1px rgba(46,75,255,.14);
  --shadow-focusRing: 0 0 0 2px #FFFFFF, 0 0 0 4px #1E30B8;
}

/* ---------- DARK THEME (ink-фон, paper-текст, кобальт soft) ---------- */
:root[data-theme="dark"],
body[data-theme="dark"] {
  color-scheme: dark;
  --color-semantic-text-primary: #F4F1EA;
  --color-semantic-text-secondary: #C6C3B8;
  --color-semantic-text-muted: #9B988D;
  --color-semantic-text-faint: #6F6D65;
  --color-semantic-text-onAccent: #FFFFFF;
  --color-semantic-surface-page: #101014;
  --color-semantic-surface-card: #17171D;
  --color-semantic-surface-raised: #1F1F27;
  --color-semantic-surface-recess: #0B0B0F;
  --color-semantic-surface-inverse: #F4F1EA;
  --color-semantic-surface-glass: rgba(244,241,234,.06);
  --color-semantic-surface-glassStrong: rgba(244,241,234,.09);
  --color-semantic-border-subtle: #2A2A33;
  --color-semantic-border-strong: #3B3B46;
  --color-semantic-border-onDark: #2A2A33;
  --color-semantic-border-glow: rgba(124,140,255,.35);
  --color-semantic-accent-primary: #7C8CFF;
  --color-semantic-accent-primaryDim: rgba(124,140,255,.16);
  --color-semantic-accent-primaryGlow: rgba(124,140,255,.35);
  --color-semantic-accent-cool: #7C8CFF;
  --color-semantic-accent-coolDim: rgba(124,140,255,.16);
  --color-semantic-accent-onDark: #7C8CFF;
  --color-semantic-accent-onDarkLow: rgba(124,140,255,.16);
  --color-semantic-grad-hero: radial-gradient(120% 100% at 50% 0%, rgba(46,75,255,.30) 0%, rgba(46,75,255,.08) 46%, #101014 80%);
  --color-semantic-grad-cta: radial-gradient(130% 130% at 50% 130%, rgba(46,75,255,.38) 0%, rgba(46,75,255,.10) 45%, #101014 78%);
  --color-semantic-grad-text: linear-gradient(100deg,#B9C2FF,#7C8CFF 55%,#E4E8FF);
  --color-semantic-grad-line: linear-gradient(90deg, transparent, rgba(124,140,255,.50), transparent);
  --color-semantic-state-live: #FF5C1F;
  --color-semantic-state-ok: #1F9D66;
  --color-semantic-state-success: #1F9D66;
  --color-semantic-state-warning: #FF5C1F;
  --color-semantic-state-danger: #D33A2C;
  --shadow-cardRest: 0 1px 0 rgba(244,241,234,.05) inset, 0 16px 40px -16px rgba(0,0,0,.60);
  --shadow-cardHover: 0 1px 0 rgba(244,241,234,.08) inset, 0 28px 64px -24px rgba(0,0,0,.70), 0 0 0 1px rgba(124,140,255,.22);
  --shadow-focusRing: 0 0 0 2px #101014, 0 0 0 4px #7C8CFF;

  /* ---------- короткие бренд-алиасы (те же значения, что в :root — фиксированные якоря, попиксельно идентично) ---------- */
  --paper: #F4F1EA;
  --ink: #101014;
  --cobalt: #2E4BFF;
  --cobalt-deep: #1E30B8;
  --tangerine: #FF5C1F;
  --paper-line: rgba(16,16,20,.14);
  --ink-line: rgba(244,241,234,.16);
}

/* ---------- v7: новые переменные (только с префиксом --v7-) ----------
   --v7-paper, --v7-chalk, --v7-ink,
   --v7-cobalt, --v7-cobalt-deep, --v7-cobalt-soft, --v7-cobalt-dim, --v7-cobalt-glow,
   --v7-tangerine, --v7-card-dark, --v7-border-dark, --v7-grad-text,
   --v7-ease-out-expo, --v7-duration-fast, --v7-duration-base, --v7-duration-reveal,
   --v7-delay-d1, --v7-delay-d2, --v7-delay-d3, --v7-delay-d4 */
