/* Тёмная неоновая тема (data-theme="neon"): цвета — в variables.css, здесь
   свечение и детали, которых нет у остальных тем. Только статичные эффекты —
   ничего не мигает, кроме уже анимированных элементов (сложные задачи, медали). */

html[data-theme="neon"] body {
    background:
        radial-gradient(1200px 600px at 0% -10%, rgba(255, 43, 214, 0.10), transparent 60%),
        radial-gradient(1000px 600px at 110% 110%, rgba(0, 240, 255, 0.08), transparent 60%),
        var(--color-bg);
    background-attachment: fixed;
}

html[data-theme="neon"] ::selection {
    background: rgba(255, 43, 214, 0.45);
    color: #fff;
}

/* Шапка: неоновая линия снизу */
html[data-theme="neon"] .main-header {
    border-bottom: 1px solid rgba(0, 240, 255, 0.55);
    box-shadow: 0 0 14px rgba(0, 240, 255, 0.35), 0 0 2px rgba(0, 240, 255, 0.8);
}
html[data-theme="neon"] .main-header ul li a:hover {
    background-color: rgba(0, 240, 255, 0.08);
    color: var(--neon-cyan);
    text-shadow: 0 0 8px rgba(0, 240, 255, 0.8);
}
html[data-theme="neon"] .main-header ul li a.active {
    background-color: rgba(255, 43, 214, 0.12);
    color: #fff;
    box-shadow: inset 0 0 0 1px rgba(255, 43, 214, 0.6), 0 0 12px rgba(255, 43, 214, 0.35);
    text-shadow: 0 0 8px rgba(255, 43, 214, 0.9);
}

/* Логотип — неоново-розовый со свечением */
html[data-theme="neon"] .logo-dark-desktop,
html[data-theme="neon"] .logo-dark-mobile {
    filter: invert(35%) sepia(90%) saturate(3500%) hue-rotate(290deg) brightness(110%) drop-shadow(0 0 6px rgba(255, 43, 214, 0.7));
}

/* Карточки */
html[data-theme="neon"] .card {
    border-color: rgba(157, 77, 255, 0.35);
    box-shadow: 0 0 0 1px rgba(255, 43, 214, 0.06), 0 0 22px rgba(157, 77, 255, 0.10);
}

/* Заголовки */
html[data-theme="neon"] h1,
html[data-theme="neon"] h2 {
    text-shadow: 0 0 10px rgba(255, 43, 214, 0.45);
}

/* Ссылки */
html[data-theme="neon"] main a:not(.btn):hover {
    text-shadow: 0 0 8px currentColor;
}

/* Кнопки */
html[data-theme="neon"] .btn {
    transition: box-shadow 0.2s, opacity 0.2s, background-color 0.2s;
}
html[data-theme="neon"] .btn-primary {
    background-color: var(--neon-pink);
    color: #12001a;
    box-shadow: 0 0 10px rgba(255, 43, 214, 0.55);
}
html[data-theme="neon"] .btn-primary:hover {
    opacity: 1;
    box-shadow: 0 0 18px rgba(255, 43, 214, 0.85);
}
html[data-theme="neon"] .btn-secondary {
    background-color: transparent;
    color: var(--neon-cyan);
    box-shadow: inset 0 0 0 1px rgba(0, 240, 255, 0.7), 0 0 8px rgba(0, 240, 255, 0.25);
}
html[data-theme="neon"] .btn-secondary:hover {
    opacity: 1;
    background-color: rgba(0, 240, 255, 0.10);
    box-shadow: inset 0 0 0 1px var(--neon-cyan), 0 0 16px rgba(0, 240, 255, 0.55);
}
html[data-theme="neon"] .btn-danger {
    box-shadow: 0 0 10px rgba(229, 62, 62, 0.5);
}
html[data-theme="neon"] .btn-warning {
    box-shadow: 0 0 10px rgba(253, 123, 44, 0.5);
}

/* Поля ввода */
html[data-theme="neon"] .form-control,
html[data-theme="neon"] input[type="text"],
html[data-theme="neon"] input[type="number"],
html[data-theme="neon"] input[type="password"],
html[data-theme="neon"] select,
html[data-theme="neon"] textarea {
    background-color: #0b0a19;
    color: var(--color-text);
    border-color: var(--color-border);
}
html[data-theme="neon"] .form-control:focus,
html[data-theme="neon"] input:focus,
html[data-theme="neon"] select:focus,
html[data-theme="neon"] textarea:focus {
    outline: none;
    border-color: var(--neon-cyan);
    box-shadow: 0 0 0 1px var(--neon-cyan), 0 0 12px rgba(0, 240, 255, 0.45);
}
html[data-theme="neon"] input[type="checkbox"],
html[data-theme="neon"] input[type="radio"] {
    accent-color: var(--neon-pink);
}

/* Таблицы */
html[data-theme="neon"] table thead tr,
html[data-theme="neon"] table th {
    background-color: #0d0b1f !important;
    color: #f3eaff;
}
html[data-theme="neon"] table th {
    border-bottom-color: rgba(255, 43, 214, 0.45) !important;
}
html[data-theme="neon"] tbody tr:hover {
    background-color: rgba(157, 77, 255, 0.07);
}

/* Полосы прокрутки */
html[data-theme="neon"] {
    scrollbar-color: #4a3a8f #0b0a19;
}
html[data-theme="neon"] ::-webkit-scrollbar { width: 10px; height: 10px; }
html[data-theme="neon"] ::-webkit-scrollbar-track { background: #0b0a19; }
html[data-theme="neon"] ::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, #ff2bd6, #9d4dff);
    border-radius: 6px;
}

/* Код (CodeMirror Monokai и подсвеченные блоки): чуть фиолетовее фон, неоновая рамка */
html[data-theme="neon"] .CodeMirror {
    border-color: rgba(157, 77, 255, 0.45) !important;
    box-shadow: 0 0 14px rgba(157, 77, 255, 0.15);
}
html[data-theme="neon"] .cm-s-monokai.CodeMirror,
html[data-theme="neon"] .cm-s-monokai .CodeMirror-gutters {
    background: #120f26 !important;
}


/* ===== Светлая неоновая тема (data-theme="neon_light") ===== */

html[data-theme="neon_light"] body {
    background:
        radial-gradient(1100px 560px at 0% -10%, rgba(255, 43, 214, 0.10), transparent 60%),
        radial-gradient(1000px 600px at 110% 110%, rgba(0, 216, 240, 0.10), transparent 60%),
        var(--color-bg);
    background-attachment: fixed;
}

html[data-theme="neon_light"] ::selection {
    background: rgba(255, 43, 214, 0.25);
}

/* Шапка: белая, снизу неоновая полоса розовый → фиолетовый → бирюзовый */
html[data-theme="neon_light"] .main-header {
    position: relative;
    border-bottom: none;
    box-shadow: 0 6px 18px rgba(139, 61, 255, 0.10);
}
html[data-theme="neon_light"] .main-header::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--neon-pink), var(--neon-violet), var(--neon-cyan));
    box-shadow: 0 0 10px rgba(255, 43, 214, 0.55), 0 0 14px rgba(0, 216, 240, 0.45);
}
html[data-theme="neon_light"] .main-header ul li a:hover {
    background-color: rgba(139, 61, 255, 0.08);
    color: var(--neon-violet);
}
html[data-theme="neon_light"] .main-header ul li a.active {
    background-color: #fff;
    color: var(--color-primary);
    box-shadow: inset 0 0 0 1px rgba(230, 0, 184, 0.55), 0 0 12px rgba(255, 43, 214, 0.35);
}

/* Логотип — светлая версия с розовым свечением */
html[data-theme="neon_light"] .logo-light-desktop,
html[data-theme="neon_light"] .logo-light-mobile {
    filter: drop-shadow(0 0 6px rgba(255, 43, 214, 0.45));
}

/* Карточки */
html[data-theme="neon_light"] .card {
    border-color: rgba(139, 61, 255, 0.22);
    box-shadow: 0 0 0 1px rgba(255, 43, 214, 0.05), 0 8px 26px rgba(139, 61, 255, 0.10);
}

/* Заголовки — с лёгким розовым ореолом */
html[data-theme="neon_light"] h1,
html[data-theme="neon_light"] h2 {
    text-shadow: 0 0 12px rgba(255, 43, 214, 0.25);
}

html[data-theme="neon_light"] main a:not(.btn):hover {
    text-shadow: 0 0 8px rgba(255, 43, 214, 0.45);
}

/* Кнопки */
html[data-theme="neon_light"] .btn {
    transition: box-shadow 0.2s, opacity 0.2s, background-color 0.2s;
}
html[data-theme="neon_light"] .btn-primary {
    background: linear-gradient(135deg, #ff2bd6, #8b3dff);
    color: #fff;
    box-shadow: 0 0 12px rgba(255, 43, 214, 0.45);
}
html[data-theme="neon_light"] .btn-primary:hover {
    opacity: 1;
    box-shadow: 0 0 20px rgba(255, 43, 214, 0.7);
}
html[data-theme="neon_light"] .btn-secondary {
    background-color: #fff;
    color: #0089a3;
    box-shadow: inset 0 0 0 1.5px var(--neon-cyan), 0 0 10px rgba(0, 216, 240, 0.35);
}
html[data-theme="neon_light"] .btn-secondary:hover {
    opacity: 1;
    background-color: rgba(0, 216, 240, 0.08);
    box-shadow: inset 0 0 0 1.5px var(--neon-cyan), 0 0 18px rgba(0, 216, 240, 0.6);
}

/* Поля ввода */
html[data-theme="neon_light"] .form-control,
html[data-theme="neon_light"] select,
html[data-theme="neon_light"] textarea {
    background-color: #fff;
}
html[data-theme="neon_light"] .form-control:focus,
html[data-theme="neon_light"] input:focus,
html[data-theme="neon_light"] select:focus,
html[data-theme="neon_light"] textarea:focus {
    outline: none;
    border-color: var(--neon-violet);
    box-shadow: 0 0 0 1px var(--neon-violet), 0 0 12px rgba(139, 61, 255, 0.35);
}
html[data-theme="neon_light"] input[type="checkbox"],
html[data-theme="neon_light"] input[type="radio"] {
    accent-color: var(--neon-pink);
}

/* Таблицы */
html[data-theme="neon_light"] table thead tr,
html[data-theme="neon_light"] table th {
    background-color: #f1eaff !important;
}
html[data-theme="neon_light"] table th {
    border-bottom-color: rgba(230, 0, 184, 0.35) !important;
}
html[data-theme="neon_light"] tbody tr:hover {
    background-color: rgba(139, 61, 255, 0.05);
}

/* Полосы прокрутки */
html[data-theme="neon_light"] {
    scrollbar-color: #c9a8ff #f1eaff;
}
html[data-theme="neon_light"] ::-webkit-scrollbar { width: 10px; height: 10px; }
html[data-theme="neon_light"] ::-webkit-scrollbar-track { background: #f1eaff; }
html[data-theme="neon_light"] ::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, #ff2bd6, #8b3dff);
    border-radius: 6px;
}

/* Редактор кода (светлая тема CodeMirror) — неоновая рамка */
html[data-theme="neon_light"] .CodeMirror {
    border-color: rgba(139, 61, 255, 0.35) !important;
    box-shadow: 0 0 14px rgba(139, 61, 255, 0.12);
}
