/* Dark — фиолетово-синяя ночь. Ex-"night". */
[data-theme="dark"] {
  --bg: #1a1530;
  --bg-elev: #221c3a;
  --bg-sunken: #14102a;
  --ink: #f0e4c8;
  --ink-soft: #c8b896;
  --ink-mute: #8a7d68;
  --line: #3a2f56;
  --line-soft: #2c2444;
  --accent: #d4a574;
  --accent-2: #b89dd4;
  --good: #8ab87a;
  --bad: #d97570;
  --warn: #e0b870;
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3), 0 1px 0 rgba(255,255,255,0.04) inset;
  --shadow-md: 0 2px 8px rgba(0, 0, 0, 0.4), 0 1px 0 rgba(255,255,255,0.05) inset;
  --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.5);
  /* Производные — тёмная тема */
  --surface-hi: rgba(212, 165, 116, 0.15);   /* подготовленное заклинание в тёмной теме */
  --accent-soft: rgba(212, 165, 116, 0.12);  /* мягкий акцент (Cast-кнопка) */
  --accent-warm: var(--amber);               /* тёплый акцент = amber в ночи */
  --tooltip-bg: var(--bg-elev);              /* тултип на тёмном фоне */
  --tooltip-color: var(--ink);               /* текст тултипа */
  --overlay-burgundy-xs: rgba(212, 165, 116, 0.05);  /* body radial dark */
  --overlay-lilac-xs: rgba(184, 157, 212, 0.05);      /* body radial dark */
  --overlay-black-xs: rgba(0, 0, 0, 0.10);            /* dark tooltip border */
  --on-accent: #f0e4c8;
  --overlay-soft: rgba(0, 0, 0, 0.15);
  --overlay-md:   rgba(0, 0, 0, 0.25);
  --overlay-strong: rgba(0, 0, 0, 0.40);
  --focus-ring: var(--accent);
}

[data-theme="dark"] body {
  background-image:
    radial-gradient(ellipse at 20% 10%, var(--overlay-burgundy-xs) 0%, transparent 50%),
    radial-gradient(ellipse at 80% 90%, var(--overlay-lilac-xs) 0%, transparent 50%),
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240' viewBox='0 0 240 240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 0.95 0 0 0 0 0.85 0 0 0 0.04 0'/></filter><rect width='240' height='240' filter='url(%23n)'/></svg>");
}

[data-theme="dark"] .topbar__sub strong { color: var(--gold); }

[data-theme="dark"] .section__title { color: var(--gold); }

[data-theme="dark"] .stat__mod { border-color: var(--gold); color: var(--gold); }

[data-theme="dark"] .prof.half { background: linear-gradient(90deg, var(--gold) 50%, transparent 50%); border-color: var(--gold); }
[data-theme="dark"] .prof.full { background: var(--gold); border-color: var(--gold); }
[data-theme="dark"] .prof.expert { background: var(--gold); border-color: var(--gold); box-shadow: 0 0 0 2px var(--bg-elev), 0 0 0 3.5px var(--gold); }

[data-theme="dark"] .chip--accent { background: var(--gold); color: var(--on-gold); border-color: var(--gold); }

[data-theme="dark"] .dot { border-color: var(--gold); }
[data-theme="dark"] .dot.on { background: var(--gold); }

[data-theme="dark"] .subblock__action { color: var(--lilac-soft); }

[data-theme="dark"] .cond.active { background: var(--gold); color: var(--on-gold); border-color: var(--amber); }

[data-theme="dark"] .kenku-tooltip,
[data-theme="dark"] .js-tooltip {
  border-color: var(--overlay-black-xs);
}
[data-theme="dark"] .kenku-tooltip--warn {
  background: var(--burgundy);
  color: var(--tooltip-color);
  border-color: var(--burgundy-deep);
}

[data-theme="dark"] .btn--end-turn { background: var(--gold); color: var(--on-gold); border-color: var(--amber); }

[data-theme="dark"] .attacks-table .atk-bonus { color: var(--gold); }

[data-theme="dark"] .pers-field__label { color: var(--gold); }

[data-theme="dark"] .tab.active { color: var(--gold); border-bottom-color: var(--gold); }

[data-theme="dark"] .modal__title { color: var(--gold); }

[data-theme="dark"] .btn--primary { background: var(--gold); color: var(--on-gold); border-color: var(--amber); }

[data-theme="dark"] .md-field__view h2 { color: var(--gold); }

[data-theme="dark"] .md-field__edit:focus { border-color: var(--gold); box-shadow: 0 0 0 2px var(--overlay-gold-focus); }

[data-theme="dark"] .levelup-modal__step h4 { color: var(--gold); }

[data-theme="dark"] .ip-card {
  background: var(--bg-elev);
}
[data-theme="dark"] .ip-search {
  background: var(--bg-elev);
}

[data-theme="dark"] .feature__uses { color: var(--gold); border-color: var(--gold); }

[data-theme="dark"] .dice-tgl[aria-pressed="true"] {
  background: var(--gold);
  color: var(--on-gold);
  border-color: var(--amber);
}

[data-theme="dark"] .dice-picker__btn:hover {
  border-color: var(--gold);
  color: var(--gold);
}

[data-theme="dark"] .dice-pool__label { color: var(--gold); }
[data-theme="dark"] .dice-pool__formula {
  color: var(--gold);
  background: var(--overlay-gold-lg);
  border-color: var(--overlay-gold-border-md);
}

[data-theme="dark"] .spell-row__cast {
  background: var(--bg-elev);
  color: var(--ink);
  border-color: var(--accent);
}
[data-theme="dark"] .spell-row__cast:hover {
  background: var(--accent);
  color: var(--on-gold);
}
[data-theme="dark"] .spell-row__roll {
  background: var(--bg-elev);
  color: var(--ink);
}

[data-theme="dark"] .conc-active {
  background: var(--overlay-gold-sm);
}

/* spellbook.css — чипы выбранных заклинаний */
[data-theme="dark"] .chip[aria-pressed="true"],
[data-theme="dark"] .chip.is-active {
  background: var(--gold);
  color: #1a1530;
  border-color: var(--amber);
}

/* wizard.css — ячейка мировоззрения */
[data-theme="dark"] .alignment-cell--selected {
  background: var(--accent, var(--gold));
  color: var(--bg);
}

/* wizard.css — заголовок выбора заклинания */
[data-theme="dark"] .wizard-step--spells .spell-pick__title { color: var(--gold); }

/* wizard.css — кнопка режима ASI */
[data-theme="dark"] .asi-mode__btn[aria-pressed="true"] {
  background: var(--gold);
  color: #1a1530;
}

/* wizard.css — карточка ASI (активная) */
[data-theme="dark"] .asi-card.is-on { border-color: var(--gold); }

/* wizard.css — стрелка карточки ASI */
[data-theme="dark"] .asi-card__arrow { color: var(--gold); }
