/* Тема «Неон»: чистый чёрный (на OLED-экране бережёт батарею), градиент фиолетовый → розовый.
   Включается атрибутом <html data-theme="neon">. Шрифты лежат в fonts/ (SIL OFL 1.1) и
   скачиваются только при этой теме. */

@font-face { font-family: 'Onest'; font-weight: 100 900; font-display: swap; src: url(../fonts/onest-cyrillic.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Onest'; font-weight: 100 900; font-display: swap; src: url(../fonts/onest-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Unbounded'; font-weight: 600; font-display: swap; src: url(../fonts/unbounded-cyrillic-600.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Unbounded'; font-weight: 600; font-display: swap; src: url(../fonts/unbounded-latin-600.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

:root[data-theme="neon"] {
  --bg: #000; --surface: #0d0d13; --surface2: #15151e; --surface3: #20202b; --line: #262633;
  --text: #f5f5fa; --muted: #8c8ca0;
  --accent: #a78bfa; --on-accent: #14082e; --accent-soft: #241a40;
  --ok: #34d399; --on-ok: #032016; --warn: #fbbf24; --stop: #f43f5e; --listen: #d946ef;
  --grad: linear-gradient(135deg, #8b5cf6, #ec4899);
  --ripple-ring: #c4b5fd; --ripple-ring2: #f9a8d4;
}
[data-theme="neon"] body { font-family: 'Onest', Roboto, system-ui, sans-serif; }
[data-theme="neon"] .appbar h1 { font-family: 'Unbounded', 'Onest', sans-serif; font-weight: 600; font-size: 20px; }
[data-theme="neon"] .topic h2,
[data-theme="neon"] .plan-sum .big,
[data-theme="neon"] .ob-step h2 { font-family: 'Unbounded', 'Onest', sans-serif; font-weight: 600; font-size: 18px; line-height: 1.35; }
[data-theme="neon"] .ob-step h2 { font-size: 22px; }

[data-theme="neon"] .chunk {
  border: 1.5px solid transparent; border-radius: 28px;
  background: linear-gradient(#0b0b11, #0b0b11) padding-box, var(--grad) border-box;
}
[data-theme="neon"] .chunk p { font-weight: 500; }

[data-theme="neon"] .icon-btn.play { border-radius: 50%; background: var(--grad); color: #fff; box-shadow: 0 0 34px rgba(168, 85, 247, .55); }
[data-theme="neon"] .icon-btn.play:disabled { box-shadow: none; }
[data-theme="neon"] .stop { border-radius: 28px; background: linear-gradient(90deg, #f43f5e, #ec4899); box-shadow: 0 0 30px rgba(244, 63, 94, .45); --ripple-ring: #fda4af; --ripple-ring2: #f9a8d4; }
/* микрофон слушает — другой цвет, чтобы не спутать со «СТОП» */
[data-theme="neon"] .stop.listening { background: linear-gradient(90deg, #7c3aed, #c026d3); box-shadow: 0 0 30px rgba(168, 85, 247, .5); --ripple-ring: #d8b4fe; --ripple-ring2: #f5d0fe; }

[data-theme="neon"] .seg input:checked + span,
[data-theme="neon"] .btn.filled,
[data-theme="neon"] .icon-btn.filled { background: var(--grad); color: #fff; }
[data-theme="neon"] .progress > div,
[data-theme="neon"] .chunk .gap div { background: linear-gradient(90deg, #8b5cf6, #ec4899); }

[data-theme="neon"] .navbar { background: #07070b; border-top: 1px solid #191922; }
[data-theme="neon"] .navbar button.active .pill { background: linear-gradient(135deg, rgba(139, 92, 246, .35), rgba(236, 72, 153, .35)); color: #fff; }

[data-theme="neon"] .plan li { border: 1px solid #1c1c27; }
[data-theme="neon"] .dot.s-speaking { box-shadow: 0 0 0 4px rgba(167, 139, 250, .25); }
[data-theme="neon"] .switch input:checked + i { background: #8b5cf6; border-color: #8b5cf6; }
