/* ════════════════════════════════════════════════════════════════════
   Dracula Bastion — канонічні токени кольору
   Згенеровано. Правити tools/palette.py, не цей файл.

   16 примітивів, 18 семантичних. Це стеля, не етап.
   Один режим освітлення — реєстр, п.22.

   Колір несе сторону:
     червоний — Дракула, кров
     золото   — інквізиція, хрести, тепле контрове
     ціан     — нічий: туман, холодне заповнення
     попіл    — нічий: тьмяні нейтралі
     чорний   — база
   ════════════════════════════════════════════════════════════════════ */

:root{
  /* ── ПРИМІТИВИ. OKLCH: щаблі перцептивно рівні, не рівні за числом. ── */

  /* black — Чорний. void — леттербокс відео; base — робоче тло. */
  --black-void: #000000;  /* oklch(0.030 0.002 265) — леттербокс відео, чиста порожнеча */
  --black-base: #050709;  /* oklch(0.125 0.007 258) — тло сторінки й екрана */

  /* ash — Попіл. Холодний зсув h=258: нейтралі, зсунуті в синє, змушують золото й кров читатися теплими без підвищення їхньої насиченості. */
  --ash-900: #101419;  /* oklch(0.190 0.012 258) — усі підняті поверхні: картка, панель, модалка */
  --ash-700: #31363D;  /* oklch(0.330 0.015 258) — межа, розділювач, недоступний текст */
  --ash-500: #646972;  /* oklch(0.520 0.015 258) — межа поля введення — несе стан */
  --ash-300: #9A9FA5;  /* oklch(0.700 0.011 258) — другорядний текст, описи, мітки */
  --ash-100: #D5D8DB;  /* oklch(0.880 0.006 258) — основний текст */

  /* blood — Кров, h=27. Хрома на межі гамута — саме тому червоний лишається червоним, а не йде в лососевий. */
  --blood-deep: #540004;  /* oklch(0.280 0.114 27) — тло акценту, тінь, глибина */
  --blood-main: #9E020F;  /* oklch(0.440 0.178 27) — кров'яний основний — і плашка під світлим текстом */
  --blood-accent: #EF021B;  /* oklch(0.600 0.244 27) — індикатор на темному: шкала, обвід, тривога */

  /* gold — Золото хрестів, h=85. Хрома навмисно низька: у контровому світлі насичене золото читається пластиком, приглушене — металом. */
  --gold-deep: #6B5110;  /* oklch(0.450 0.085 85) — патина, тінь золота, тиха межа */
  --gold-main: #B7933F;  /* oklch(0.680 0.110 85) — хрест, рамка, контрове освітлення */
  --gold-lit: #E1C078;  /* oklch(0.820 0.098 85) — блик rim-light, золотий текст, обвід фокуса */

  /* cyan — Ціан, h=228, приглушений. Туман і холодне контрове. */
  --cyan-fill: #012837;  /* oklch(0.260 0.050 228) — туман, атмосферне заповнення, глибина */
  --cyan-main: #397189;  /* oklch(0.520 0.070 228) — холодне контрове по краю силуету */
  --cyan-text: #84ABBE;  /* oklch(0.720 0.050 228) — цифри й технічні дані */


  /* ── СЕМАНТИКА. Компоненти беруть тільки ці. ── */

  /* Поверхні */
  --c-surface-void: var(--black-void);  /* #000000 — леттербокс відео */
  --c-surface-base: var(--black-base);  /* #050709 — тло сторінки й екрана */
  --c-surface-raised: var(--ash-900);  /* #101419 — картка, панель HUD, модалка */

  /* Межі. Розділювач декоративний — під гейт 3:1 (WCAG 1.4.11) не підпадає. */
  --c-border: var(--ash-700);  /* #31363D — межа й розділювач */
  --c-border-interactive: var(--ash-500);  /* #646972 — межа поля введення — несе стан */
  --c-focus-ring: var(--gold-lit);  /* #E1C078 — обвід фокуса */

  /* Текст. Окремого кольору для міток немає: вони відрізняються капітеллю
     й трекінгом, а не кольором. Недоступний текст WCAG 1.4.3 виключає з гейта. */
  --c-text-primary: var(--ash-100);  /* #D5D8DB — основний текст */
  --c-text-secondary: var(--ash-300);  /* #9A9FA5 — другорядний, описи, мітки, метадані */
  --c-text-disabled: var(--ash-700);  /* #31363D — недоступне — WCAG 1.4.3 це виключає з гейта */

  /* Дракула — кров */
  --c-blood: var(--blood-main);  /* #9E020F — кров'яний основний; плашка під світлим текстом */
  --c-blood-accent: var(--blood-accent);  /* #EF021B — індикатор: шкала, обвід, тривога. Текст на ньому — ніколи */
  --c-blood-deep: var(--blood-deep);  /* #540004 — тло акценту, тінь, глибина */

  /* Інквізиція — золото хрестів */
  --c-gold: var(--gold-main);  /* #B7933F — хрест, рамка, контрове */
  --c-gold-lit: var(--gold-lit);  /* #E1C078 — блик rim-light, золотий текст */
  --c-gold-deep: var(--gold-deep);  /* #6B5110 — патина, тиха межа */

  /* Атмосфера — ціан */
  --c-cyan: var(--cyan-main);  /* #397189 — холодне контрове */
  --c-cyan-fill: var(--cyan-fill);  /* #012837 — туман, атмосферне заповнення */
  --c-cyan-text: var(--cyan-text);  /* #84ABBE — цифри, технічні дані */

  /* ── СКРИМИ ігрового UI. Текст HUD лежить поверх рухомого відео;
        без підкладки жоден контраст не гарантований. ── */
  --game-scrim-panel: linear-gradient(90deg,
      color-mix(in srgb, var(--black-base) 88%, transparent),
      color-mix(in srgb, var(--black-base) 52%, transparent));
  --game-scrim-bottom: linear-gradient(180deg,
      transparent, color-mix(in srgb, var(--black-void) 82%, transparent));
  --game-rim-warm: radial-gradient(85% 120% at 78% 118%,
      color-mix(in srgb, var(--blood-main) 32%, transparent), transparent 58%);
  --game-rim-cold: radial-gradient(70% 100% at 8% -12%,
      color-mix(in srgb, var(--cyan-main) 26%, transparent), transparent 60%);
}

/* ── ЗАКОНИ ──
   1. Компонент бере тільки --c-* і --game-*. Примітиви — не для компонентів.
   2. Золото не позначає дію Дракули, червоний не позначає інквізицію.
   3. --c-blood-accent ніколи не несе тексту: 3.87:1 — рівень індикатора.
      Плашка під світлий текст — --c-blood (5.94:1). Один червоний обидві
      роботи не бере, тому вони розділені між щаблями.
   4. Текст HUD завжди на скримі --game-scrim-*.
   5. Нових відтінків не додавати. 16 примітивів — стеля.
   6. Пар day/night немає. Реєстр, п.22.                                 */
