/* «Тёмная магия»: глубокий индиго-фон, фиолетовый акцент и мягкое свечение только у активного и главного.
   Подключается последним. Имена токенов --brass* сохранены (исторически), значения теперь фиолетовые.
   Свечение — статичное (box-shadow); пульсации нет. Стекло (blur) — только у плавающих окон, меню и диалогов. */
:root {
  --glow: 157, 123, 255;                      /* RGB акцента для свечения */
  --glow-soft: 0 0 0 1px rgba(var(--glow), .35), 0 6px 22px -8px rgba(var(--glow), .55);
  --glow-strong: 0 0 0 1px rgba(var(--glow), .6), 0 8px 28px -6px rgba(var(--glow), .7);
  --glass: rgba(21, 20, 42, .78);
  --lift: inset 0 1px 0 rgba(255, 255, 255, .045);   /* тонкая верхняя кромка панелей */
}
body {
  background:
    radial-gradient(900px 520px at 12% -10%, rgba(var(--glow), .16), transparent 62%),
    radial-gradient(800px 480px at 100% 105%, rgba(56, 189, 248, .08), transparent 60%),
    var(--bg) fixed;
}
/* панели: мягкая кромка вместо тяжёлых рамок */
.panel, .camp-card, .cb-side, .cb-log, .chapter, .roster-row, .cr-row, .scene-row, .pc-card, .bst-row { box-shadow: var(--lift); }
/* главное действие */
.btn.primary { background: linear-gradient(180deg, #ad90ff, #8a66f2); border-color: #a58aff; color: #0d0a24; box-shadow: var(--glow-soft); }
.btn.primary:hover:not(:disabled) { background: linear-gradient(180deg, #bda6ff, #9876f7); border-color: #bda6ff; box-shadow: var(--glow-strong); }
.btn.primary:disabled { box-shadow: none; filter: saturate(.5); }
/* активное: раздел меню, текущая сцена, выбранный чип, ход в бою, звучащий пэд */
.nav-link.current, .p-nav a.nav-link.current { box-shadow: inset 0 -2px 0 var(--brass), 0 8px 22px -12px rgba(var(--glow), .8); }
.scene-nav-item.current, .fp-row.on { box-shadow: inset 3px 0 0 var(--brass), 0 0 22px -10px rgba(var(--glow), .7); }
.chip.on, .seg button.on, .seg button[aria-pressed=true] { box-shadow: 0 0 14px -4px rgba(var(--glow), .6); }
.cb-chip.cur { box-shadow: 0 0 0 1px rgba(var(--glow), .7), 0 0 20px -4px rgba(var(--glow), .75); }
.pad.on, .pad.playing, .pad[aria-pressed=true] { box-shadow: 0 0 0 1px rgba(var(--glow), .6), 0 0 24px -6px rgba(var(--glow), .7); }
.badge.live, .dock-atm .now { box-shadow: 0 0 12px -4px rgba(111, 214, 160, .6); }
/* стекло: плавающие окна, меню, подсказки, диалоги */
.fpanel.float, .ctx-menu, .menu-pop, dialog.modal { background: var(--glass); -webkit-backdrop-filter: blur(16px) saturate(1.2); backdrop-filter: blur(16px) saturate(1.2); border-color: rgba(var(--glow), .28); box-shadow: 0 18px 60px rgba(2, 1, 12, .7), 0 0 0 1px rgba(255, 255, 255, .03), var(--lift); }
dialog.modal::backdrop { background: rgba(5, 4, 14, .62); backdrop-filter: blur(3px); }
.fp-head { background: transparent; }
.ctx-item:hover:not([disabled]), .ctx-item:focus-visible { background: rgba(var(--glow), .18); }
/* фокус: холодный голубой контур, не сливается с фиолетовым акцентом */
:focus-visible { outline-color: var(--focus); }
/* поля ввода: свечение при фокусе */
input:focus-visible, textarea:focus-visible, select:focus-visible { box-shadow: 0 0 0 3px rgba(127, 227, 255, .2); }
/* без анимаций/эффектов — без размытия и свечения (экономия ресурсов, режим «Выключены») */
body[data-fx="off"] :is(.fpanel.float, .ctx-menu, .menu-pop, dialog.modal) { backdrop-filter: none; -webkit-backdrop-filter: none; background: var(--panel); }
@media (prefers-reduced-transparency: reduce) { :is(.fpanel.float, .ctx-menu, .menu-pop, dialog.modal) { backdrop-filter: none; -webkit-backdrop-filter: none; background: var(--panel); } }
