body[data-design="command-core"]{
  /* Палитра Neon (задача 1711, ТЗ 01 §3). ЕДИНСТВЕННОЕ место hex во фронте: остальные файлы
     берут var(--ds-*) или алиасы. Селекторы и порядок правил — контракт сторожей
     tests/_core/test_design_shell_static.py и test_design_theme_coverage_static.py.
     Комментарий — ВНУТРИ правила, а не перед селектором: _exact_rules() в
     test_design_shell_static.py разбирает CSS наивным regex без вырезания комментариев —
     текст перед первой открывающей фигурной скобкой файла слипается с селектором и ломает
     точное совпадение (и внутри этого же комментария нельзя писать фигурные скобки). */
  --ds-canvas:#07081B;--ds-canvas-2:#0B0D25;--ds-sidebar:#080A20;
  --ds-surface:#10132E;--ds-surface-raised:#181D3E;--ds-surface-soft:#171B3A;
  --ds-text:#F0F2FF;--ds-muted:#A9B2D6;--ds-faint:#8994BE;
  --ds-line:#353D73;--ds-line-strong:#7782B5;
  --ds-indigo:#7254E8;--ds-violet:#B58AFF;--ds-blue:#87ACFF;--ds-cyan:#35D7F5;
  --ds-green:#48DCAA;--ds-amber:#FFC16A;--ds-coral:#FF8198;
  --ds-on-accent:#FFFFFF;--ds-action-start:#3B55D9;--ds-action-end:#7934DB;--ds-focus:#35D7F5;
  --ds-overlay:rgba(3,5,18,.68);--ds-shadow:rgba(0,0,0,.36);
  --ds-brand-wb-start:#CB11AB;--ds-brand-wb-end:#481173;--ds-brand-ozon:#005BFF;
  --ds-hover:rgba(130,107,255,.10);--ds-selected:rgba(130,107,255,.18);--ds-glow:rgba(132,75,255,.28);
  /* декоративные грани свечения (01 §3.3) — не для мелкого текста */
  --ds-edge-violet:#A855FF;--ds-edge-cyan:#22C8FF;
  /* лучи фона (01 §4.3) */
  --ds-ray-opacity:.16;
  /* графика Flow Atlas (программа 2164, 01 §2): поверхность графического блока, дорожка связи,
     блик прохода M02, мягкое свечение, подпись на графике — производные действующих токенов */
  --ds-viz-surface:color-mix(in srgb,var(--ds-indigo) 6%,var(--ds-surface));
  --ds-viz-track:color-mix(in srgb,var(--ds-cyan) 26%,var(--ds-line));
  --ds-viz-edge:var(--ds-edge-cyan);--ds-viz-glow:var(--ds-glow);--ds-viz-label:var(--ds-muted);
  /* геометрия (01 §4.2, §5.2) */
  --ds-radius-sm:10px;--ds-radius:14px;--ds-radius-lg:18px;--ds-radius-pill:999px;
  --ds-header-h:64px;--ds-domainbar-h:48px;--ds-sidebar-w:224px;--ds-sidebar-w-collapsed:64px;
  --ds-content-gap:20px;--ds-content-inset:24px;
  --ds-control-h:36px;--ds-control-h-touch:44px;--ds-control-h-dense:28px;
  --ds-field-h:40px;--ds-field-h-dense:32px;
  --ds-table-head-h:36px;--ds-row-h:40px;--ds-row-h-media:56px;
  --ds-font:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  /* шкала слоёв (01 §6.8): 9999 запрещено */
  --ds-z-base:0;--ds-z-sticky-1:10;--ds-z-sticky-2:20;--ds-z-sticky-3:30;--ds-z-header:100;
  --ds-z-mobile-scrim:200;--ds-z-mobile-menu:210;--ds-z-drawer:300;
  --ds-z-modal-scrim:400;--ds-z-modal:410;--ds-z-modal-popover:420;
  --ds-z-modal2-scrim:430;--ds-z-modal2:440;--ds-z-tooltip:500;--ds-z-toast:600;
  /* внутренние отступы оболочки — контракт test_design_shell_static (не менять значения) */
  --ds-shell-content-inset:12px;--ds-shell-topbar-block-inset:8px;
  --ds-shell-topbar-inline-inset:10px;--ds-shell-side-inset:7px;
  /* алиасы legacy-имён (01 §3.2) */
  --bg:var(--ds-canvas);--card:var(--ds-surface);--card2:var(--ds-surface-raised);
  --border:var(--ds-line);--text:var(--ds-text);--muted:var(--ds-muted);
  --accent:var(--ds-indigo);--accent2:var(--ds-cyan);--green:var(--ds-green);--red:var(--ds-coral);--amber:var(--ds-amber);
  --hover:var(--ds-hover);--grid:var(--ds-line);--overlay:var(--ds-overlay);--shadow:var(--ds-shadow);
  --accent-ink:var(--ds-violet);--green-ink:var(--ds-green);--red-ink:var(--ds-coral);--amber-ink:var(--ds-amber);
  --nav-accent:var(--ds-indigo);--nav-accent2:var(--ds-cyan);--nav-glow:var(--ds-glow);
  --panel:var(--ds-surface);--panel-2:var(--ds-surface-soft);--line:var(--ds-line);--mp:var(--ds-muted);--fg:var(--ds-text);
  /* семантические плашки (переехали из design-system.css: там hex быть не должно) */
  --ds-semantic-green-text:#8FF0C8;--ds-semantic-green-bg:#123629;--ds-semantic-green-line:#397F66;
  --ds-semantic-cyan-text:#8DEBF4;--ds-semantic-cyan-bg:#12343A;--ds-semantic-cyan-line:#347F89;
  --ds-semantic-amber-text:#FFD095;--ds-semantic-amber-bg:#3A2B17;--ds-semantic-amber-line:#8F6A34;
  --ds-semantic-orange-text:#FFBD8A;--ds-semantic-orange-bg:#3D2418;--ds-semantic-orange-line:#A65B2C;
  --ds-semantic-red-text:#FFABB8;--ds-semantic-red-bg:#3C1F2A;--ds-semantic-red-line:#984B5A;
  --ds-semantic-muted-text:#BDC9DD;--ds-semantic-muted-bg:#1A243F;--ds-semantic-muted-line:#53627E;
  --ds-semantic-active-text:#C7C4FF;--ds-semantic-active-bg:#27234F;--ds-semantic-active-line:#6D67A8;
  /* Идентичность кабинета — не пересекается с --accent (см. applyProjectTint) */
  --proj-tint:var(--ds-indigo);
  --proj-tint-ink:color-mix(in srgb, var(--proj-tint) 58%, #fff);
  --proj-tint-soft:color-mix(in srgb, var(--proj-tint) 14%, var(--card));
  --proj-tint-line:color-mix(in srgb, var(--proj-tint) 34%, var(--border));
}

html[data-theme="light"] body[data-design="command-core"]{
  /* фон — почти белый молочный, текст — тёмно-серый, а не чёрный (владелец 02.10.2026) */
  --ds-canvas:#FAFAF7;--ds-canvas-2:#F4F4F0;--ds-sidebar:#FDFDFB;
  --ds-surface:#FFFFFF;--ds-surface-raised:#FAFAF8;--ds-surface-soft:#F2F2EE;
  --ds-text:#33363F;--ds-muted:#666971;--ds-faint:#6A6D75;
  --ds-line:#E6E5E0;--ds-line-strong:#7B84AD;
  --ds-indigo:#6240CD;--ds-violet:#7430CB;--ds-blue:#2457C5;--ds-cyan:#00748F;
  --ds-green:#087555;--ds-amber:#875000;--ds-coral:#B52647;
  --ds-on-accent:#FFFFFF;--ds-action-start:#3B55D9;--ds-action-end:#7934DB;--ds-focus:#2457C5;
  --ds-overlay:rgba(20,25,60,.36);--ds-shadow:rgba(40,40,50,.10);
  --ds-brand-wb-start:#CB11AB;--ds-brand-wb-end:#481173;--ds-brand-ozon:#005BFF;
  --ds-hover:rgba(100,70,225,.06);--ds-selected:rgba(100,70,225,.11);--ds-glow:rgba(122,72,230,.16);
  --ds-ray-opacity:.10;
  --ds-viz-surface:color-mix(in srgb,var(--ds-indigo) 3%,var(--ds-surface));
  --ds-viz-track:color-mix(in srgb,var(--ds-cyan) 34%,var(--ds-line));
  --ds-viz-edge:var(--ds-cyan);--ds-viz-glow:var(--ds-glow);--ds-viz-label:var(--ds-muted);
  --ds-shell-content-inset:12px;--ds-shell-topbar-block-inset:8px;
  --ds-shell-topbar-inline-inset:10px;--ds-shell-side-inset:7px;
  --ds-semantic-green-text:#08664B;--ds-semantic-green-bg:#E4F4ED;--ds-semantic-green-line:#83B9A5;
  --ds-semantic-cyan-text:#075F73;--ds-semantic-cyan-bg:#E5F5F7;--ds-semantic-cyan-line:#80B5BD;
  --ds-semantic-amber-text:#704000;--ds-semantic-amber-bg:#FFF0D8;--ds-semantic-amber-line:#C19A61;
  --ds-semantic-orange-text:#7D2F00;--ds-semantic-orange-bg:#FDE8D6;--ds-semantic-orange-line:#D4905D;
  --ds-semantic-red-text:#98203A;--ds-semantic-red-bg:#FDE8ED;--ds-semantic-red-line:#D79AAA;
  --ds-semantic-muted-text:#52677A;--ds-semantic-muted-bg:#EDF4FA;--ds-semantic-muted-line:#A6B8C9;
  --ds-semantic-active-text:#3047B8;--ds-semantic-active-bg:#E8ECFF;--ds-semantic-active-line:#A6AFE6;
  /* 70%, а не 58%: --proj-tint принимает любой из 12 тонов палитры кабинетов */
  --proj-tint-ink:color-mix(in srgb, var(--proj-tint) 70%, #000);
  /* декоративные грани свечения и геометрия/шкала слоёв не зависят от темы, но обе темы
     обязаны декларировать одинаковый набор --ds-* имён на корневом правиле (сторож
     test_design_theme_coverage_static::test_dark_and_light_define_identical_design_token_sets_across_assets) */
  --ds-edge-violet:#A855FF;--ds-edge-cyan:#22C8FF;
  --ds-radius-sm:10px;--ds-radius:14px;--ds-radius-lg:18px;--ds-radius-pill:999px;
  --ds-header-h:64px;--ds-domainbar-h:48px;--ds-sidebar-w:224px;--ds-sidebar-w-collapsed:64px;
  --ds-content-gap:20px;--ds-content-inset:24px;
  --ds-control-h:36px;--ds-control-h-touch:44px;--ds-control-h-dense:28px;
  --ds-field-h:40px;--ds-field-h-dense:32px;
  --ds-table-head-h:36px;--ds-row-h:40px;--ds-row-h-media:56px;
  --ds-font:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  --ds-z-base:0;--ds-z-sticky-1:10;--ds-z-sticky-2:20;--ds-z-sticky-3:30;--ds-z-header:100;
  --ds-z-mobile-scrim:200;--ds-z-mobile-menu:210;--ds-z-drawer:300;
  --ds-z-modal-scrim:400;--ds-z-modal:410;--ds-z-modal-popover:420;
  --ds-z-modal2-scrim:430;--ds-z-modal2:440;--ds-z-tooltip:500;--ds-z-toast:600;
  /* алиасы legacy-имён повторены на этом же уровне: контракт test_neon_tokens.py требует
     var(--ds-*) буквально в правиле обеих тем, а не только унаследованно через каскад */
  --bg:var(--ds-canvas);--card:var(--ds-surface);--card2:var(--ds-surface-raised);
  --border:var(--ds-line);--text:var(--ds-text);--muted:var(--ds-muted);
  --accent:var(--ds-indigo);--accent2:var(--ds-cyan);--green:var(--ds-green);--red:var(--ds-coral);--amber:var(--ds-amber);
  --hover:var(--ds-hover);--grid:var(--ds-line);--overlay:var(--ds-overlay);--shadow:var(--ds-shadow);
  --nav-accent:var(--ds-indigo);--nav-accent2:var(--ds-cyan);--nav-glow:var(--ds-glow);
}

@media(max-width:759px){
  body[data-design="command-core"]{--ds-shell-content-inset:10px;}
  html[data-theme="light"] body[data-design="command-core"]{--ds-shell-content-inset:10px;}
}
