/* ============================================================================
   code6 · ТОКЕНЫ ДИЗАЙН-СИСТЕМЫ
   https://code6.ru/docs/page/design-system

   Единственный источник значений. Подключается ссылкой, не копируется:
   скопированные токены расходятся между продуктами в течение месяца.

   Единый namespace c6, два уровня:
     --c6Color*, --c6Department*, --c6Role*, --c6Tier*, --c6Space*, --c6Radius*, --c6FontSize*
       базовые значения — отвечают на вопрос «какое это значение»
     --c6Surface*, --c6Text*, --c6Border*, --c6Action*, --c6Status*, --c6Logo*
       семантические роли — отвечают на вопрос «для чего это используется»

   Компонент читает только семантику. Семантика ссылается на базовые
   значения. Обратное направление не допускается: иначе смена акцента
   потребует правки каждого файла.
   ============================================================================ */

/* ----------------------------------------------------------------------------
   1. БРЕНД
   Не зависит от схемы.
   -------------------------------------------------------------------------- */
:root {
  --c6ColorBlack: #0F0F0F;
  --c6ColorWhite: #FFFFFF;
  --c6ColorBlue: #1B6FE0;
  --c6ColorRed: #C8102E;

  /* --- департаменты и роли ----------------------------------------------
     Три ступени на каждый набор: Dark · Main · Light. У каждой ступени
     собственный токен текста: DarkInk · Ink · LightInk.
     Значения не переопределяются в тёмной схеме. */
  --c6DepartmentCivDark: #006E1F;
  --c6DepartmentCivDarkInk: var(--c6ColorWhite);
  --c6DepartmentCiv: #29A63E;
  --c6DepartmentCivInk: var(--c6ColorBlack);
  --c6DepartmentCivLight: #7BD57C;
  --c6DepartmentCivLightInk: var(--c6ColorBlack);

  --c6DepartmentLspdDark: #023790;
  --c6DepartmentLspdDarkInk: var(--c6ColorWhite);
  --c6DepartmentLspd: #4464D9;
  --c6DepartmentLspdInk: var(--c6ColorWhite);
  --c6DepartmentLspdLight: #8993F8;
  --c6DepartmentLspdLightInk: var(--c6ColorBlack);

  --c6DepartmentSahpDark: #AA4D00;
  --c6DepartmentSahpDarkInk: var(--c6ColorWhite);
  --c6DepartmentSahp: #EE7C2B;
  --c6DepartmentSahpInk: var(--c6ColorBlack);
  --c6DepartmentSahpLight: #FEBE98;
  --c6DepartmentSahpLightInk: var(--c6ColorBlack);

  --c6DepartmentFdDark: #8D0329;
  --c6DepartmentFdDarkInk: var(--c6ColorWhite);
  --c6DepartmentFd: #E4164A;
  --c6DepartmentFdInk: var(--c6ColorWhite);
  --c6DepartmentFdLight: #FE7A83;
  --c6DepartmentFdLightInk: var(--c6ColorBlack);

  --c6DepartmentFibDark: #525252;
  --c6DepartmentFibDarkInk: var(--c6ColorWhite);
  --c6DepartmentFib: #848484;
  --c6DepartmentFibInk: var(--c6ColorBlack);
  --c6DepartmentFibLight: #B3B3B3;
  --c6DepartmentFibLightInk: var(--c6ColorBlack);

  --c6DepartmentDotDark: #8D7C00;
  --c6DepartmentDotDarkInk: var(--c6ColorBlack);
  --c6DepartmentDot: #C9B107;
  --c6DepartmentDotInk: var(--c6ColorBlack);
  --c6DepartmentDotLight: #FFE252;
  --c6DepartmentDotLightInk: var(--c6ColorBlack);

  --c6DepartmentDispDark: #0C778C;
  --c6DepartmentDispDarkInk: var(--c6ColorWhite);
  --c6DepartmentDisp: #0CAFCD;
  --c6DepartmentDispInk: var(--c6ColorBlack);
  --c6DepartmentDispLight: #79E0FA;
  --c6DepartmentDispLightInk: var(--c6ColorBlack);

  /* Коммуникации — отдельная роль, ответственная за приём и исполнение правил. */
  --c6RoleCommsDark: #960090;
  --c6RoleCommsDarkInk: var(--c6ColorWhite);
  --c6RoleComms: #D546CC;
  --c6RoleCommsInk: var(--c6ColorBlack);
  --c6RoleCommsLight: #FD89F2;
  --c6RoleCommsLightInk: var(--c6ColorBlack);

  /* В американском сеттинге LSPD и LSSD — один департамент. */
  --c6DepartmentLssdDark: var(--c6DepartmentLspdDark);
  --c6DepartmentLssdDarkInk: var(--c6DepartmentLspdDarkInk);
  --c6DepartmentLssd: var(--c6DepartmentLspd);
  --c6DepartmentLssdInk: var(--c6DepartmentLspdInk);
  --c6DepartmentLssdLight: var(--c6DepartmentLspdLight);
  --c6DepartmentLssdLightInk: var(--c6DepartmentLspdLightInk);

  /* Функция внутри разных служб — отдельная ролевая ось. */
  --c6RoleFtoDark: #3C3B00;
  --c6RoleFtoDarkInk: var(--c6ColorWhite);
  --c6RoleFto: #6C6C01;
  --c6RoleFtoInk: var(--c6ColorWhite);
  --c6RoleFtoLight: #9D9940;
  --c6RoleFtoLightInk: var(--c6ColorBlack);

  /* --- tiers ---------------------------------------------------------------
     Ordered rank axis. One ramp from neutral to gold: lightness and chroma grow
     monotonically, so rank reads as position on a scale. Ranks do not get their
     own hue family because the hue circle is reserved for departments and roles. */
  --c6TierCrookDark: #403D3B;
  --c6TierCrookDarkInk: var(--c6ColorWhite);
  --c6TierCrook: #666360;
  --c6TierCrookInk: var(--c6ColorWhite);
  --c6TierCrookLight: #92908E;
  --c6TierCrookLightInk: var(--c6ColorBlack);

  --c6TierRunnerDark: #4F453B;
  --c6TierRunnerDarkInk: var(--c6ColorWhite);
  --c6TierRunner: #776B5F;
  --c6TierRunnerInk: var(--c6ColorWhite);
  --c6TierRunnerLight: #A39A91;
  --c6TierRunnerLightInk: var(--c6ColorBlack);

  --c6TierPlayerDark: #5F4D37;
  --c6TierPlayerDarkInk: var(--c6ColorWhite);
  --c6TierPlayer: #8A735A;
  --c6TierPlayerInk: var(--c6ColorWhite);
  --c6TierPlayerLight: #B4A391;
  --c6TierPlayerLightInk: var(--c6ColorBlack);

  --c6TierHustlerDark: #725731;
  --c6TierHustlerDarkInk: var(--c6ColorWhite);
  --c6TierHustler: #9F7E51;
  --c6TierHustlerInk: var(--c6ColorBlack);
  --c6TierHustlerLight: #C9AF8F;
  --c6TierHustlerLightInk: var(--c6ColorBlack);

  --c6TierOgDark: #836326;
  --c6TierOgDarkInk: var(--c6ColorWhite);
  --c6TierOg: #B28A45;
  --c6TierOgInk: var(--c6ColorBlack);
  --c6TierOgLight: #DDBC8C;
  --c6TierOgLightInk: var(--c6ColorBlack);

  --c6TierKingpinDark: #926F13;
  --c6TierKingpinDarkInk: var(--c6ColorWhite);
  --c6TierKingpin: #C29832;
  --c6TierKingpinInk: var(--c6ColorBlack);
  --c6TierKingpinLight: #EECA86;
  --c6TierKingpinLightInk: var(--c6ColorBlack);

  --c6TierBossDark: #A08003;
  --c6TierBossDarkInk: var(--c6ColorWhite);
  --c6TierBoss: #D2A910;
  --c6TierBossInk: var(--c6ColorBlack);
  --c6TierBossLight: #FFDC89;
  --c6TierBossLightInk: var(--c6ColorBlack);

  /* --- логотип -----------------------------------------------------------
     Знак встраивается в разметку как SVG и красится этими токенами.
     Значения fill в файле знака не правятся. */
  --c6LogoInk: #0F0F0F;
  --c6LogoLead: #1B6FE0;
  --c6LogoTrail: #C8102E;
}

/* ----------------------------------------------------------------------------
   2. СВЕТЛАЯ СХЕМА
   -------------------------------------------------------------------------- */
:root {
  /* --- поверхности ------------------------------------------------------- */
  --c6SurfaceCanvas: #F1F3F7;
  --c6SurfaceRaised: #FFFFFF;
  --c6SurfaceSunken: #F7F8FC;
  --c6SurfaceInverse: #212936;
  --c6Backdrop: #E9ECF2;

  /* --- текст -------------------------------------------------------------
     TextOnDark и TextOnLight не меняются вместе со схемой: они про цвет
     подложки, а не про схему страницы. */
  --c6TextPrimary: #212936;
  --c6TextSecondary: #5C6377;
  --c6TextFaint: #667085;
  --c6TextDisabled: #8A91A3;
  --c6TextOnFill: #FFFFFF;
  --c6TextOnDark: var(--c6ColorWhite);
  --c6TextOnLight: var(--c6ColorBlack);
  --c6TextOnInverse: #FFFFFF;
  --c6TextOnInverseDim: #9AA2B4;

  /* --- линии ------------------------------------------------------------- */
  --c6BorderDefault: #E1E5EE;
  --c6BorderSubtle: #EEF1F6;
  --c6BorderField: #D6DCE8;
  --c6BorderStrong: #C9D0DE;

  /* --- действие ----------------------------------------------------------
     Fill для заливок, Ink для текста и ссылок: разница в один шаг яркости
     поднимает контраст ссылки с 4.30 до 5.93. */
  --c6ActionFill: var(--c6ColorBlue);
  --c6ActionInk: #1560C8;
  --c6ActionTint: #E8F0FD;
  --c6ActionSoft: #E2E6EF;

  /* --- статусы ----------------------------------------------------------- */
  --c6StatusWaiting: #B8791A;
  --c6StatusWaitingInk: #8A5A0B;
  --c6StatusWaitingTint: #FBF0DC;
  --c6StatusSuccess: #037A58;
  --c6StatusSuccessTint: #E9F4EE;
  --c6StatusDanger: var(--c6ColorRed);
  --c6StatusDangerTint: #FBE9EC;
  --c6StatusPro: #7A3EA1;
  --c6StatusProInk: #4E2A68;
  --c6StatusProMid: #6B4088;
  --c6StatusProTint: #F5EDFB;
  --c6StatusNeutralTint: #F1F3F7;

  --c6TrackEmpty: #E7EAF1;

  /* --- шрифт ------------------------------------------------------------- */
  --c6FontSans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  --c6FontMono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --c6FontLogo: "Atlantis International", var(--c6FontSans);

  /* --- шкала кегля -------------------------------------------------------
     Крупные ступени адаптивны через clamp и не требуют брейкпоинтов.
     Мелкие фиксированы: уменьшать их на мобильном нельзя.
     Micro совпадает по размеру с Caption и отличается весом и разрядкой. */
  --c6FontSizeDisplay: clamp(30px, 5.2vw, 40px);
  --c6FontSizeH1: clamp(26px, 4.2vw, 32px);
  --c6FontSizeH2: clamp(21px, 3.0vw, 24px);
  --c6FontSizeH3: clamp(17px, 2.2vw, 19px);
  --c6FontSizeLead: 17px;
  --c6FontSizeBody: 15px;
  --c6FontSizeSmall: 13px;
  --c6FontSizeCaption: 12px;
  --c6FontSizeMicro: 12px;

  /* --- радиусы ----------------------------------------------------------- */
  --c6RadiusSm: 8px;
  --c6RadiusMd: 10px;
  --c6RadiusLg: 12px;
  --c6RadiusPill: 20px;

  /* --- шаг сетки: совпадает со шкалой Bootstrap -------------------------- */
  --c6Space1: 4px;
  --c6Space2: 8px;
  --c6Space3: 16px;
  --c6Space4: 24px;
  --c6Space5: 48px;

  /* --- движение ---------------------------------------------------------- */
  --c6MotionFast: 160ms;
  --c6MotionMedium: 320ms;

  /* Overlay shadow is reserved for transient floating layers. */
  --c6ShadowOverlay: 0 8px 24px rgba(15, 23, 42, .10), 0 2px 6px rgba(15, 23, 42, .06);

  --c6AlertWidth: 380px;
  --c6AlertOffset: var(--c6Space4);
  --c6AlertGap: var(--c6Space2);
  --c6AlertVisibleLimit: 3;
  --c6AlertLifetime: 5000ms;
  --c6AlertLifetimeLong: 7000ms;

  /* --- проблесковые огни -------------------------------------------------
     Отдельные токены, а не ссылки на бренд: на тёмном фоне огни обязаны
     быть ярче, а брендовые константы менять нельзя.
     Цикл 1600 мс даёт 2.5 вспышки в секунду — ниже порога WCAG 2.3.1. */
  --c6LightLead: #1B6FE0;
  --c6LightTrail: #C8102E;
  --c6LightCycle: 1600ms;
  --c6LightDimmed: .12;
  --c6LightGlow: 22px;
  --c6LightAmbientOpacity: .42;

  /* --- знак в движении ---------------------------------------------------
     Меняется только непрозрачность половин: такой эффект читается
     на любом размере вплоть до 16 px и не искажает логотип. */
  --c6MarkSignalCycle: 1400ms;
  --c6MarkSignalDimmed: .16;
  --c6MarkBreatheCycle: 2600ms;

  /* --- сгенерированное содержимое ---------------------------------------- */
  --c6GeneratedTint: #F4F6FB;
  --c6GeneratedEdge: #C9D0DE;
  --c6GeneratedSkeleton: #E7EAF1;

  /* --- загрузка ----------------------------------------------------------
     LoaderDelay и LoaderMinVisible читаются из JS: до порога индикатор
     не показывается, показанный живёт не меньше минимума. */
  --c6SkeletonBase: #E7EAF1;
  --c6SkeletonSheen: rgba(255, 255, 255, .55);
  --c6SkeletonCycle: 1500ms;
  --c6SpinnerCycle: 800ms;
  --c6LoaderDelay: 200ms;
  --c6LoaderMinVisible: 400ms;

  /* --- код ---------------------------------------------------------------
     Отдельные токены, а не поверхности: подложка кода обязана отличаться
     и от полотна, и от карточки. Граница держится в обеих схемах. */
  --c6CodeInlineTint: #E7EBF2;
  --c6CodeInlineBorder: #D3DAE6;
  --c6CodeBlockSurface: #212936;
  --c6CodeBlockBorder: #212936;
  --c6CodeBlockText: #C9D2E1;

  /* --- затемнение под логотипом на изображении --------------------------- */
  --c6ImageScrimFlat: rgba(15, 15, 15, .55);
  --c6ImageScrimGradient: linear-gradient(180deg, rgba(15, 15, 15, .05) 0%, rgba(15, 15, 15, .38) 45%, rgba(15, 15, 15, .88) 100%);
}

/* ----------------------------------------------------------------------------
   3. ТЁМНАЯ СХЕМА
   Имена те же. Компонент не знает, в какой он схеме.

   Подложки статусов светлее карточки, а не темнее: тёмная подложка на
   тёмной карточке даёт разницу около 1.03, и чип исчезает — на экране
   остаётся висеть цветной текст без формы.
   -------------------------------------------------------------------------- */
[data-theme="dark"] {
  --c6SurfaceCanvas: #131A24;
  --c6SurfaceRaised: #1A2130;
  --c6SurfaceSunken: #141B25;
  --c6SurfaceInverse: #0C1119;
  --c6Backdrop: #0C1119;

  --c6TextPrimary: #E8ECF3;
  --c6TextSecondary: #A2ACBD;
  --c6TextFaint: #8A94A6;
  --c6TextDisabled: #6E7A8C;
  --c6TextOnFill: #0B1017;
  --c6TextOnDark: var(--c6ColorWhite);
  --c6TextOnLight: var(--c6ColorBlack);
  --c6TextOnInverse: #FFFFFF;
  --c6TextOnInverseDim: #8B96A8;

  --c6BorderDefault: #28313F;
  --c6BorderSubtle: #222A36;
  --c6BorderField: #303A4A;
  --c6BorderStrong: #3A4557;

  --c6ActionFill: #4A93FF;
  --c6ActionInk: #6BA7FF;
  --c6ActionTint: #22375C;
  --c6ActionSoft: #233042;

  --c6StatusWaiting: #E0A33C;
  --c6StatusWaitingInk: #E9BC6B;
  --c6StatusWaitingTint: #443619;
  --c6StatusSuccess: #1FC08E;
  --c6StatusSuccessTint: #1C4030;
  --c6StatusDanger: #FF6B75;
  --c6StatusDangerTint: #4E242C;
  --c6StatusPro: #B98AE0;
  --c6StatusProInk: #D8C4EE;
  --c6StatusProMid: #C0A6DC;
  --c6StatusProTint: #372850;
  --c6StatusNeutralTint: #28313F;

  --c6TrackEmpty: #232C3A;

  /* на тёмном огни ярче, свечение шире, погашенное состояние темнее */
  --c6LightLead: #4A93FF;
  --c6LightTrail: #FF4D5E;
  --c6LightDimmed: .08;
  --c6LightGlow: 30px;
  --c6LightAmbientOpacity: .56;

  --c6GeneratedTint: #171E2A;
  --c6GeneratedEdge: #3A4557;
  --c6GeneratedSkeleton: #232C3A;

  --c6SkeletonBase: #232C3A;
  --c6SkeletonSheen: rgba(255, 255, 255, .06);

  --c6CodeInlineTint: #2C3644;
  --c6CodeInlineBorder: #3D4859;
  --c6CodeBlockSurface: #28364A;
  --c6CodeBlockBorder: #303A4A;
  --c6CodeBlockText: #A2ACBD;

  --c6LogoInk: #FFFFFF;
  --c6LogoLead: #4A93FF;
  --c6LogoTrail: #FF4D5E;

  --c6ShadowOverlay: 0 10px 28px rgba(0, 0, 0, .45), 0 2px 8px rgba(0, 0, 0, .35);
}

/* ----------------------------------------------------------------------------
   4. СИСТЕМНАЯ СХЕМА
   Поверхности с переключателем ставят data-theme сами и этот блок
   не затрагивает. Поверхности без переключателя следуют настройке
   операционной системы.
   -------------------------------------------------------------------------- */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) {
    --c6SurfaceCanvas: #131A24;
    --c6SurfaceRaised: #1A2130;
    --c6SurfaceSunken: #141B25;
    --c6SurfaceInverse: #0C1119;
    --c6Backdrop: #0C1119;

    --c6TextPrimary: #E8ECF3;
    --c6TextSecondary: #A2ACBD;
    --c6TextFaint: #8A94A6;
    --c6TextDisabled: #6E7A8C;
    --c6TextOnFill: #0B1017;
    --c6TextOnInverseDim: #8B96A8;

    --c6BorderDefault: #28313F;
    --c6BorderSubtle: #222A36;
    --c6BorderField: #303A4A;
    --c6BorderStrong: #3A4557;

    --c6ActionFill: #4A93FF;
    --c6ActionInk: #6BA7FF;
    --c6ActionTint: #22375C;
    --c6ActionSoft: #233042;

    --c6StatusWaiting: #E0A33C;
    --c6StatusWaitingInk: #E9BC6B;
    --c6StatusWaitingTint: #443619;
    --c6StatusSuccess: #1FC08E;
    --c6StatusSuccessTint: #1C4030;
    --c6StatusDanger: #FF6B75;
    --c6StatusDangerTint: #4E242C;
    --c6StatusPro: #B98AE0;
    --c6StatusProInk: #D8C4EE;
    --c6StatusProMid: #C0A6DC;
    --c6StatusProTint: #372850;
    --c6StatusNeutralTint: #28313F;

    --c6TrackEmpty: #232C3A;

    --c6LightLead: #4A93FF;
    --c6LightTrail: #FF4D5E;
    --c6LightDimmed: .08;
    --c6LightGlow: 30px;
    --c6LightAmbientOpacity: .56;

    --c6GeneratedTint: #171E2A;
    --c6GeneratedEdge: #3A4557;
    --c6GeneratedSkeleton: #232C3A;

    --c6SkeletonBase: #232C3A;
    --c6SkeletonSheen: rgba(255, 255, 255, .06);

    --c6CodeInlineTint: #2C3644;
    --c6CodeInlineBorder: #3D4859;
    --c6CodeBlockSurface: #28364A;
    --c6CodeBlockBorder: #303A4A;
    --c6CodeBlockText: #A2ACBD;

    --c6LogoInk: #FFFFFF;
    --c6LogoLead: #4A93FF;
    --c6LogoTrail: #FF4D5E;

    --c6ShadowOverlay: 0 10px 28px rgba(0, 0, 0, .45), 0 2px 8px rgba(0, 0, 0, .35);
  }
}
