/* nocturne : les mêmes formes en sombre et en clair. */

/* dark */
/* Palette dark : formes et détails hérités du thème d’origine. */
/* Nocturne — nuits bleues, acier lunaire et lueurs d'or. */
body.vk-theme-nocturne.vk-mode-dark {
    --v3-night: #252628;
    --v3-coal: #303234;
    --v3-crimson: var(--vk-theme-accent);
    --v3-gold: #aeb7c1;
    --v3-parchment: #dfe0e1;
    --v3-muted: #a8abae;
    --v3-border: color-mix(in srgb,var(--vk-theme-accent) 38%,transparent);
    --v3-panel: linear-gradient(155deg,rgba(52,54,56,.96),rgba(35,37,38,.97));
    --theme-surface: linear-gradient(145deg,#3d3f42,#2e3031);
    --theme-outline: color-mix(in srgb,var(--vk-theme-accent) 63%,transparent);
    --theme-radius: 20px;
    --theme-button: linear-gradient(135deg,var(--vk-theme-accent),var(--vk-theme-accent));
    --theme-link: #bdc4cb;
    color: var(--v3-parchment);
    background:
        radial-gradient(circle at 72% 4%,color-mix(in srgb,var(--vk-theme-accent) 19%,transparent),transparent 34%),
        linear-gradient(160deg,rgba(33,34,35,.28),rgba(32,33,34,.51)),
        var(--vk-global-background-image) center / cover no-repeat fixed;
}

body.vk-theme-nocturne.vk-mode-dark::before { background: radial-gradient(circle at 80% 15%,color-mix(in srgb,var(--vk-theme-accent) 3.5%,transparent),transparent 35%); }

body.vk-theme-nocturne.vk-mode-dark #topbar {
    border-bottom: 1px solid color-mix(in srgb,var(--vk-theme-accent) 50%,transparent);
    background: rgba(37,38,39,.91);
    box-shadow: 0 11px 35px rgba(17,18,18,.6);
}

body.vk-theme-nocturne.vk-mode-dark #topbar::after { background: linear-gradient(90deg,transparent,var(--vk-theme-accent),var(--vk-theme-accent),transparent); }

body.vk-theme-nocturne.vk-mode-dark #topbar .logo img { filter: drop-shadow(0 0 9px color-mix(in srgb,var(--vk-theme-accent) 45%,transparent)); }

body.vk-theme-nocturne.vk-mode-dark #menu {
    gap: 5px 10px;
    border-bottom-color: color-mix(in srgb,var(--vk-theme-accent) 38%,transparent);
    background: rgba(44,45,47,.94);
}

body.vk-theme-nocturne.vk-mode-dark #menu a {
    border-radius: 18px;
    color: #c9cacc;
    font-size: .82rem;
    letter-spacing: .04em;
    text-transform: none;
}

body.vk-theme-nocturne.vk-mode-dark #menu a:hover,
body.vk-theme-nocturne.vk-mode-dark #menu a:focus-visible { background: color-mix(in srgb,var(--vk-theme-accent) 20%,transparent); color: #e3e4e5; }

body.vk-theme-nocturne.vk-mode-dark #menu .vk-menu-enquetes {
    border-color: color-mix(in srgb,var(--vk-theme-accent) 65%,transparent);
    color: #bdc4cc;
}

body.vk-theme-nocturne.vk-mode-dark h1,
body.vk-theme-nocturne.vk-mode-dark h2,
body.vk-theme-nocturne.vk-mode-dark h3,
body.vk-theme-nocturne.vk-mode-dark .h3 { font-family: Georgia,"Times New Roman",serif; letter-spacing: .01em; }

body.vk-theme-nocturne.vk-mode-dark h3,
body.vk-theme-nocturne.vk-mode-dark .h3 { color: #bdc4cc; }

body.vk-theme-nocturne.vk-mode-dark :is(.form,.login-box,.admin-content,.admin-sidebar,.vip-panel,.vip-sidebar,.folder-block,.roman-card) {
    border: 1px solid color-mix(in srgb,var(--vk-theme-accent) 48%,transparent);
    border-radius: 24px;
    background: var(--v3-panel);
    box-shadow: 0 20px 48px rgba(17,18,18,.5),inset 0 1px 0 rgba(17,18,18,.09);
}

body.vk-theme-nocturne.vk-mode-dark :is(.admin-link,.vip-link) {
    border-color: color-mix(in srgb,var(--vk-theme-accent) 40%,transparent);
    border-radius: 16px;
    background: color-mix(in srgb,var(--vk-theme-accent) 7%,transparent);
    color: #bdc4cc;
}

body.vk-theme-nocturne.vk-mode-dark :is(.admin-link:hover,.vip-link:hover,.admin-link.active) {
    border-color: var(--vk-theme-accent);
    background: color-mix(in srgb,var(--vk-theme-accent) 29%,transparent);
    color: #e3e4e5;
}

body.vk-theme-nocturne.vk-mode-dark :is(.btn,.button,.bt,.admin-save) {
    border: 1px solid var(--vk-theme-accent);
    border-radius: 20px;
    background: linear-gradient(125deg,var(--vk-theme-accent),var(--vk-theme-accent));
    box-shadow: 0 9px 25px rgba(17,18,18,.38);
}

body.vk-theme-nocturne.vk-mode-dark :is(.btn:hover,.button:hover,.bt:hover,.admin-save:hover) {
    background: linear-gradient(125deg,var(--vk-theme-accent),var(--vk-theme-accent));
}

body.vk-theme-nocturne.vk-mode-dark .vk-home {
    --vk-border: color-mix(in srgb,var(--vk-theme-accent) 52%,transparent);
    --vk-red: var(--vk-theme-accent);
    --vk-red-light: #bdc4cb;
    --vk-muted: #a8abae;
    --vk-panel: rgba(44,45,47,.95);
    max-width: 1280px;
}

body.vk-theme-nocturne.vk-mode-dark .vk-home-hero {
    grid-template-columns: minmax(0,1.1fr) minmax(220px,.9fr);
    border-radius: 34px;
    border-color: color-mix(in srgb,var(--vk-theme-accent) 52%,transparent);
    background:
        radial-gradient(circle at 76% 17%,color-mix(in srgb,var(--vk-theme-accent) 23%,transparent),transparent 38%),
        linear-gradient(125deg,#313234,#2f3032 61%,#3c3e40);
    box-shadow: 0 25px 65px rgba(17,18,18,.55),inset 0 0 35px rgba(17,18,18,.07);
}

body.vk-theme-nocturne.vk-mode-dark .vk-home-hero::before {
    background: radial-gradient(circle at 77% 21%,color-mix(in srgb,var(--vk-theme-accent) 17%,transparent),transparent 28%);
    mask-image: none;
}

body.vk-theme-nocturne.vk-mode-dark .vk-home h1 {
    font-size: clamp(3.6rem,9vw,7.6rem);
    font-weight: 400;
    color: #bdc4cc;
    text-shadow: 0 0 28px rgba(17,18,18,.18);
}

body.vk-theme-nocturne.vk-mode-dark .vk-home-subtitle { color: #d2d3d5; }

body.vk-theme-nocturne.vk-mode-dark .vk-home-btn {
    border: 1px solid color-mix(in srgb,var(--vk-theme-accent) 67%,transparent);
    border-radius: 24px;
    background: linear-gradient(120deg,var(--vk-theme-accent),var(--vk-theme-accent));
    box-shadow: 0 10px 24px rgba(17,18,18,.36);
}

body.vk-theme-nocturne.vk-mode-dark .vk-home-btn-secondary { border-color: color-mix(in srgb,var(--vk-theme-accent) 63%,transparent); background: color-mix(in srgb,var(--vk-theme-accent) 9%,transparent); }

body.vk-theme-nocturne.vk-mode-dark :is(.vk-home-fact,.vk-home-book,.vk-home-feature,.vk-home-prose,.vk-home-start,.vk-home-community,.vk-home-badge-card,.vk-home-enquetes) {
    border-radius: 22px;
    border-color: color-mix(in srgb,var(--vk-theme-accent) 46%,transparent);
    background: linear-gradient(140deg,#3a3c3f,#2c2d2f);
    box-shadow: 0 14px 35px rgba(17,18,18,.29);
}

body.vk-theme-nocturne.vk-mode-dark .vk-home-enquetes::after { width: 3px; background: linear-gradient(180deg,var(--vk-theme-accent),var(--vk-theme-accent)); }

body.vk-theme-nocturne.vk-mode-dark .vk-home-enquetes-mark { border-color: var(--vk-theme-accent); color: #bdc4cc; }

body.vk-theme-nocturne.vk-mode-dark .vk-home-enquetes-mark span { color: #bdc4cc; }

body.vk-theme-nocturne.vk-mode-dark .vk-home-enquetes-copy > a { border-color: var(--vk-theme-accent); border-radius: 20px; color: #bdc4cc; }

body.vk-theme-nocturne.vk-mode-dark .vk-home-enquetes-index { color: #aaadb0; }

body.vk-theme-nocturne.vk-mode-dark footer { background: linear-gradient(#2b2c2e,#212324); border-top-color: #7a7e83; }

/* light */
/* Palette light : formes et détails hérités du thème d’origine. */
/* Nocturne — nuits bleues, acier lunaire et lueurs d'or. */
body.vk-theme-nocturne.vk-mode-light {
    --v3-night: #e1e2e3;
    --v3-coal: #d8d9db;
    --v3-crimson: var(--vk-theme-accent);
    --v3-gold: #47515c;
    --v3-parchment: #2f3032;
    --v3-muted: #595c5f;
    --v3-border: color-mix(in srgb,var(--vk-theme-accent) 38%,transparent);
    --v3-panel: linear-gradient(155deg,rgba(213,214,216,.96),rgba(226,227,228,.97));
    --theme-surface: linear-gradient(145deg,#ced0d1,#dadbdc);
    --theme-outline: color-mix(in srgb,var(--vk-theme-accent) 63%,transparent);
    --theme-radius: 20px;
    --theme-button: linear-gradient(135deg,var(--vk-theme-accent),var(--vk-theme-accent));
    --theme-link: var(--vk-theme-accent);
    color: var(--v3-parchment);
    background:
        radial-gradient(circle at 72% 4%,color-mix(in srgb,var(--vk-theme-accent) 19%,transparent),transparent 34%),
        linear-gradient(160deg,rgba(228,229,230,.28),rgba(229,230,231,.51)),
        var(--vk-global-background-image) center / cover no-repeat fixed;
}

body.vk-theme-nocturne.vk-mode-light::before { background: radial-gradient(circle at 80% 15%,color-mix(in srgb,var(--vk-theme-accent) 3.5%,transparent),transparent 35%); }

body.vk-theme-nocturne.vk-mode-light #topbar {
    border-bottom: 1px solid color-mix(in srgb,var(--vk-theme-accent) 50%,transparent);
    background: rgba(225,226,227,.91);
    box-shadow: 0 11px 35px rgba(59,61,63,0.36);
}

body.vk-theme-nocturne.vk-mode-light #topbar::after { background: linear-gradient(90deg,transparent,var(--vk-theme-accent),var(--vk-theme-accent),transparent); }

body.vk-theme-nocturne.vk-mode-light #topbar .logo img { filter: drop-shadow(0 0 9px color-mix(in srgb,var(--vk-theme-accent) 45%,transparent)); }

body.vk-theme-nocturne.vk-mode-light #menu {
    gap: 5px 10px;
    border-bottom-color: color-mix(in srgb,var(--vk-theme-accent) 38%,transparent);
    background: rgba(220,221,222,.94);
}

body.vk-theme-nocturne.vk-mode-light #menu a {
    border-radius: 18px;
    color: #434548;
    font-size: .82rem;
    letter-spacing: .04em;
    text-transform: none;
}

body.vk-theme-nocturne.vk-mode-light #menu a:hover,
body.vk-theme-nocturne.vk-mode-light #menu a:focus-visible { background: color-mix(in srgb,var(--vk-theme-accent) 20%,transparent); color: #2c2e30; }

body.vk-theme-nocturne.vk-mode-light #menu .vk-menu-enquetes {
    border-color: color-mix(in srgb,var(--vk-theme-accent) 65%,transparent);
    color: var(--vk-theme-accent);
}

body.vk-theme-nocturne.vk-mode-light h1,
body.vk-theme-nocturne.vk-mode-light h2,
body.vk-theme-nocturne.vk-mode-light h3,
body.vk-theme-nocturne.vk-mode-light .h3 { font-family: Georgia,"Times New Roman",serif; letter-spacing: .01em; }

body.vk-theme-nocturne.vk-mode-light h3,
body.vk-theme-nocturne.vk-mode-light .h3 { color: var(--vk-theme-accent); }

body.vk-theme-nocturne.vk-mode-light :is(.form,.login-box,.admin-content,.admin-sidebar,.vip-panel,.vip-sidebar,.folder-block,.roman-card) {
    border: 1px solid color-mix(in srgb,var(--vk-theme-accent) 48%,transparent);
    border-radius: 24px;
    background: var(--v3-panel);
    box-shadow: 0 20px 48px rgba(59,61,63,0.3),inset 0 1px 0 rgba(59,61,63,0.054);
}

body.vk-theme-nocturne.vk-mode-light :is(.admin-link,.vip-link) {
    border-color: color-mix(in srgb,var(--vk-theme-accent) 40%,transparent);
    border-radius: 16px;
    background: color-mix(in srgb,var(--vk-theme-accent) 7%,transparent);
    color: var(--vk-theme-accent);
}

body.vk-theme-nocturne.vk-mode-light :is(.admin-link:hover,.vip-link:hover,.admin-link.active) {
    border-color: var(--vk-theme-accent);
    background: color-mix(in srgb,var(--vk-theme-accent) 29%,transparent);
    color: #2c2e30;
}

body.vk-theme-nocturne.vk-mode-light :is(.btn,.button,.bt,.admin-save) {
    border: 1px solid var(--vk-theme-accent);
    border-radius: 20px;
    background: linear-gradient(125deg,var(--vk-theme-accent),var(--vk-theme-accent));
    box-shadow: 0 9px 25px rgba(59,61,63,0.228);
}

body.vk-theme-nocturne.vk-mode-light :is(.btn:hover,.button:hover,.bt:hover,.admin-save:hover) {
    background: linear-gradient(125deg,var(--vk-theme-accent),var(--vk-theme-accent));
}

body.vk-theme-nocturne.vk-mode-light .vk-home {
    --vk-border: color-mix(in srgb,var(--vk-theme-accent) 52%,transparent);
    --vk-red: var(--vk-theme-accent);
    --vk-red-light: var(--vk-theme-accent);
    --vk-muted: #595c5f;
    --vk-panel: rgba(220,221,222,.95);
    max-width: 1280px;
}

body.vk-theme-nocturne.vk-mode-light .vk-home-hero {
    grid-template-columns: minmax(0,1.1fr) minmax(220px,.9fr);
    border-radius: 34px;
    border-color: color-mix(in srgb,var(--vk-theme-accent) 52%,transparent);
    background:
        radial-gradient(circle at 76% 17%,color-mix(in srgb,var(--vk-theme-accent) 23%,transparent),transparent 38%),
        linear-gradient(125deg,#d8d9db,#d9dbdc 61%,#cfd0d2);
    box-shadow: 0 25px 65px rgba(59,61,63,0.33),inset 0 0 35px rgba(59,61,63,0.042);
}

body.vk-theme-nocturne.vk-mode-light .vk-home-hero::before {
    background: radial-gradient(circle at 77% 21%,color-mix(in srgb,var(--vk-theme-accent) 17%,transparent),transparent 28%);
    mask-image: none;
}

body.vk-theme-nocturne.vk-mode-light .vk-home h1 {
    font-size: clamp(3.6rem,9vw,7.6rem);
    font-weight: 400;
    color: var(--vk-theme-accent);
    text-shadow: 0 0 28px rgba(59,61,63,0.108);
}

body.vk-theme-nocturne.vk-mode-light .vk-home-subtitle { color: #3b3d3f; }

body.vk-theme-nocturne.vk-mode-light .vk-home-btn {
    border: 1px solid color-mix(in srgb,var(--vk-theme-accent) 67%,transparent);
    border-radius: 24px;
    background: linear-gradient(120deg,var(--vk-theme-accent),var(--vk-theme-accent));
    box-shadow: 0 10px 24px rgba(59,61,63,0.216);
}

body.vk-theme-nocturne.vk-mode-light .vk-home-btn-secondary { border-color: color-mix(in srgb,var(--vk-theme-accent) 63%,transparent); background: color-mix(in srgb,var(--vk-theme-accent) 9%,transparent); }

body.vk-theme-nocturne.vk-mode-light :is(.vk-home-fact,.vk-home-book,.vk-home-feature,.vk-home-prose,.vk-home-start,.vk-home-community,.vk-home-badge-card,.vk-home-enquetes) {
    border-radius: 22px;
    border-color: color-mix(in srgb,var(--vk-theme-accent) 46%,transparent);
    background: linear-gradient(140deg,#d0d2d3,#dcddde);
    box-shadow: 0 14px 35px rgba(59,61,63,0.174);
}

body.vk-theme-nocturne.vk-mode-light .vk-home-enquetes::after { width: 3px; background: linear-gradient(180deg,var(--vk-theme-accent),var(--vk-theme-accent)); }

body.vk-theme-nocturne.vk-mode-light .vk-home-enquetes-mark { border-color: var(--vk-theme-accent); color: var(--vk-theme-accent); }

body.vk-theme-nocturne.vk-mode-light .vk-home-enquetes-mark span { color: var(--vk-theme-accent); }

body.vk-theme-nocturne.vk-mode-light .vk-home-enquetes-copy > a { border-color: var(--vk-theme-accent); border-radius: 20px; color: var(--vk-theme-accent); }

body.vk-theme-nocturne.vk-mode-light .vk-home-enquetes-index { color: #5c5f63; }

body.vk-theme-nocturne.vk-mode-light footer { background: linear-gradient(#dcdddf,#e4e4e5); border-top-color: #86898e; }


/* ============================================================
   V3.1 — IDENTITÉ RENFORCÉE : NOCTURNE
   Couleurs + géométrie propres au thème.
   Les dimensions responsive restent pilotées par pages-mobile.css.
   ============================================================ */
body.vk-theme-nocturne {
  --theme-accent:#31b7d8; --theme-outline:#31b7d8; --theme-radius:18px;
  --theme-button:linear-gradient(135deg,#0e6880,#1596ad); --theme-link:#9ee8f5;
}
body.vk-theme-nocturne.vk-mode-dark {
  --v3-night:#071426; --v3-coal:#0b2740; --v3-crimson:#31b7d8; --v3-gold:#9ee8f5;
  --v3-parchment:#9ee8f5; --v3-border:color-mix(in srgb,#31b7d8 55%,transparent);
  --v3-panel:linear-gradient(135deg,#071426,#0d2038 55%,#103b4c); --theme-surface:linear-gradient(135deg,#071426,#0d2038 55%,#103b4c);
  color:#9ee8f5; background:radial-gradient(circle at 82% 12%,color-mix(in srgb,#31b7d8 16%,transparent),transparent 31%),linear-gradient(150deg,#071426,color-mix(in srgb,#0b2740 82%,#000));
}
body.vk-theme-nocturne #topbar {border-bottom:3px solid #31b7d8; background:color-mix(in srgb,#071426 90%,#000); box-shadow:0 10px 32px color-mix(in srgb,#31b7d8 12%,transparent);}
body.vk-theme-nocturne #menu {border-bottom:1px solid color-mix(in srgb,#31b7d8 65%,transparent); background:color-mix(in srgb,#0b2740 91%,#000);}
body.vk-theme-nocturne #menu a {border:1px solid transparent; border-radius:18px; color:#9ee8f5;}
body.vk-theme-nocturne #menu a:hover,body.vk-theme-nocturne #menu a:focus-visible {border-color:#31b7d8; background:color-mix(in srgb,#31b7d8 16%,transparent); color:#9ee8f5;}
body.vk-theme-nocturne :is(.form,.login-box,.admin-content,.admin-sidebar,.vip-panel,.vip-sidebar,.folder-block,.roman-card,.vk-home-fact,.vk-home-book,.vk-home-feature,.vk-home-enquetes) {border-color:color-mix(in srgb,#31b7d8 58%,transparent); border-radius:18px; background:linear-gradient(135deg,#071426,#0d2038 55%,#103b4c); box-shadow:0 14px 36px color-mix(in srgb,#071426 72%,transparent);}
body.vk-theme-nocturne :is(.btn,.button,.bt,.admin-save,.vk-home-btn) {border:1px solid #31b7d8; border-radius:18px; background:linear-gradient(135deg,#0e6880,#1596ad); color:#fff; box-shadow:none;}
body.vk-theme-nocturne :is(input:not([type=checkbox]):not([type=radio]),select,textarea) {border-color:color-mix(in srgb,#31b7d8 42%,transparent); border-radius:18px; background:color-mix(in srgb,#071426 86%,#000); color:#9ee8f5;}
body.vk-theme-nocturne :is(h1,h2,h3,.h3) {color:#9ee8f5; text-decoration-color:#31b7d8;}
body.vk-theme-nocturne a {color:#31b7d8;}

body.vk-theme-nocturne #menu a,body.vk-theme-nocturne :is(.btn,.button,.bt,.admin-save){border-radius:999px} body.vk-theme-nocturne :is(.vk-home-fact,.vk-home-book,.vk-home-feature){border-radius:28px}
body.vk-theme-nocturne.vk-mode-light {--v3-crimson:#31b7d8;--v3-gold:color-mix(in srgb,#31b7d8 72%,#222);--theme-outline:#31b7d8;--theme-link:color-mix(in srgb,#31b7d8 82%,#111);--theme-radius:18px;}

/* === V3.2 TOKENS UNIQUES : SITE + APERCU + HEADER/FOOTER === */
:is(body.vk-theme-nocturne.vk-mode-dark, .vk-theme-form:has(input[name="mode"][value="dark"]:checked) .vk-theme-choice-nocturne) {
    --vk-theme-bg:#07111d;
    --vk-theme-panel:#0d2234;
    --vk-theme-text:#e7f7fb;
    --vk-theme-accent:#19c7e8;
    --vk-theme-metal:#7ed9ea;
    --vk-theme-border:#17647a;
    --vk-theme-radius:16px;
    --vk-theme-header:#081827;
    --vk-theme-footer:#06111b;
    --theme-surface:#0d2234;
    --theme-outline:#17647a;
    --theme-radius:16px;
    --theme-link:#19c7e8;
    --extreme-accent:#19c7e8;
    --extreme-link:#19c7e8;
    --extreme-border:#17647a;
    --extreme-ink:#e7f7fb;
    --extreme-footer:#06111b;
}
:is(body.vk-theme-nocturne.vk-mode-light, .vk-theme-form:has(input[name="mode"][value="light"]:checked) .vk-theme-choice-nocturne) {
    --vk-theme-bg:#e7f3f7;
    --vk-theme-panel:#f5fbfd;
    --vk-theme-text:#10242b;
    --vk-theme-accent:#078eaa;
    --vk-theme-metal:#377f8d;
    --vk-theme-border:#79b8c5;
    --vk-theme-radius:16px;
    --vk-theme-header:#d8edf2;
    --vk-theme-footer:#e7f3f7;
    --theme-surface:#f5fbfd;
    --theme-outline:#79b8c5;
    --theme-radius:16px;
    --theme-link:#078eaa;
    --extreme-accent:#078eaa;
    --extreme-link:#078eaa;
    --extreme-border:#79b8c5;
    --extreme-ink:#10242b;
    --extreme-footer:#e7f3f7;
}

body.vk-theme-nocturne #topbar {
    background:var(--vk-theme-header) !important;
    border-bottom:3px solid var(--vk-theme-accent) !important;
    box-shadow:0 8px 28px color-mix(in srgb,var(--vk-theme-accent) 16%,transparent) !important;
    color:var(--vk-theme-text) !important;
}
body.vk-theme-nocturne #topbar::after { background:linear-gradient(90deg,transparent,var(--vk-theme-accent),transparent) !important; }
body.vk-theme-nocturne #topbar :is(.right a,.bonjour-varkal,.vk-current-theme,.topbar-role) { color:var(--vk-theme-text) !important; }
body.vk-theme-nocturne #topbar .right a:hover { color:var(--vk-theme-accent) !important; }
body.vk-theme-nocturne #topbar .vk-current-theme { border-left-color:var(--vk-theme-accent) !important; }
body.vk-theme-nocturne #topbar .logo img { filter:drop-shadow(0 0 9px color-mix(in srgb,var(--vk-theme-accent) 48%,transparent)) !important; }
body.vk-theme-nocturne footer {
    background:var(--vk-theme-footer) !important;
    border-top:3px solid var(--vk-theme-accent) !important;
    color:var(--vk-theme-text) !important;
    box-shadow:0 -8px 28px color-mix(in srgb,var(--vk-theme-accent) 10%,transparent) !important;
}
body.vk-theme-nocturne footer a { color:var(--vk-theme-accent) !important; }

.vk-theme-choice-nocturne { --vk-preview-shape:round; }

/* === V3.3 PALETTE LOCK — palette autonome, sans héritage rouge générique === */
body.vk-theme-nocturne.vk-mode-dark {
 --vk-theme-bg:#07111d; --vk-theme-panel:#0d1b2a; --vk-theme-text:#d8f6fb;
 --vk-theme-accent:#19c7e8; --vk-theme-metal:#7ed9ea; --vk-theme-border:#16394b;
 --vk-theme-header:#091521; --vk-theme-footer:#050c13;
 --v3-night:#07111d; --v3-coal:#0d1b2a; --v3-crimson:#19c7e8; --v3-gold:#7ed9ea;
 --v3-parchment:#d8f6fb; --v3-muted:color-mix(in srgb,#d8f6fb 68%,transparent); --v3-border:#16394b;
 --v3-panel:linear-gradient(145deg,#0d1b2a,color-mix(in srgb,#0d1b2a 82%,#000));
 --theme-surface:var(--v3-panel); --theme-outline:#16394b; --theme-link:#19c7e8;
 --extreme-ink:#d8f6fb; --extreme-heading:#d8f6fb; --extreme-muted:color-mix(in srgb,#d8f6fb 68%,transparent);
 --extreme-accent:#19c7e8; --extreme-link:#19c7e8; --extreme-border:#16394b;
 --extreme-header:#091521; --extreme-nav:#091521; --extreme-panel:var(--v3-panel);
 --extreme-panel-soft:color-mix(in srgb,#19c7e8 10%,#0d1b2a); --extreme-hover:color-mix(in srgb,#19c7e8 15%,#0d1b2a);
 --extreme-button:linear-gradient(135deg,color-mix(in srgb,#19c7e8 76%,#000),#19c7e8); --extreme-button-ink:#d8f6fb;
 --extreme-input:color-mix(in srgb,#0d1b2a 88%,#000); --extreme-footer:#050c13;
 color:#d8f6fb; background-color:#07111d;
}
body.vk-theme-nocturne.vk-mode-dark #topbar {background:#091521!important;border-color:#19c7e8!important;color:#d8f6fb!important}
body.vk-theme-nocturne.vk-mode-dark #menu {background:color-mix(in srgb,#091521 92%,#000)!important;border-color:#16394b!important}
body.vk-theme-nocturne.vk-mode-dark #menu a {color:#d8f6fb!important}
body.vk-theme-nocturne.vk-mode-dark #menu a:hover,body.vk-theme-nocturne.vk-mode-dark #menu a:focus-visible {color:#d8f6fb!important;border-color:#19c7e8!important;background:color-mix(in srgb,#19c7e8 18%,transparent)!important}
body.vk-theme-nocturne.vk-mode-dark :is(.form,.login-box,.admin-content,.admin-sidebar,.vip-panel,.vip-sidebar,.folder-block,.roman-card,.vk-home-fact,.vk-home-book,.vk-home-feature,.vk-home-prose,.vk-home-start,.vk-home-community,.vk-home-badge-card,.vk-home-enquetes) {background:var(--v3-panel)!important;border-color:#16394b!important;color:#d8f6fb!important}
body.vk-theme-nocturne.vk-mode-dark :is(.btn,.button,.bt,.admin-save,.vk-home-btn) {background:var(--extreme-button)!important;border-color:#19c7e8!important;color:#d8f6fb!important}
body.vk-theme-nocturne.vk-mode-dark :is(.btn,.button,.bt,.admin-save,.vk-home-btn):hover {background:linear-gradient(135deg,#19c7e8,color-mix(in srgb,#19c7e8 72%,#fff))!important;border-color:#7ed9ea!important;color:#d8f6fb!important}
body.vk-theme-nocturne.vk-mode-dark :is(input:not([type=checkbox]):not([type=radio]),select,textarea) {background:var(--extreme-input)!important;border-color:#16394b!important;color:#d8f6fb!important}
body.vk-theme-nocturne.vk-mode-dark :is(h1,h2,h3,.h3) {color:#d8f6fb!important}
body.vk-theme-nocturne.vk-mode-dark a {color:#19c7e8}
body.vk-theme-nocturne.vk-mode-dark footer {background:#050c13!important;border-color:#19c7e8!important;color:#d8f6fb!important}
body.vk-theme-nocturne.vk-mode-dark footer a {color:#7ed9ea!important}

/* V3.3 LIGHT LOCK */
body.vk-theme-nocturne.vk-mode-light {
 --vk-theme-bg:#e7f3f7;--vk-theme-panel:#f6fbfd;--vk-theme-text:#102d3a;--vk-theme-accent:#087f99;--vk-theme-metal:#397f91;--vk-theme-border:#9bc9d5;--vk-theme-header:#dbeef3;--vk-theme-footer:#eaf5f8;
 --v3-night:#e7f3f7;--v3-coal:#f6fbfd;--v3-crimson:#087f99;--v3-gold:#397f91;--v3-parchment:#102d3a;--v3-border:#9bc9d5;--v3-panel:linear-gradient(145deg,#f6fbfd,color-mix(in srgb,#f6fbfd 90%,#e7f3f7));
 --theme-surface:var(--v3-panel);--theme-outline:#9bc9d5;--theme-link:#087f99;--extreme-ink:#102d3a;--extreme-heading:#102d3a;--extreme-accent:#087f99;--extreme-link:#087f99;--extreme-border:#9bc9d5;--extreme-header:#dbeef3;--extreme-nav:#dbeef3;--extreme-panel:var(--v3-panel);--extreme-button:linear-gradient(135deg,color-mix(in srgb,#087f99 82%,#000),#087f99);--extreme-button-ink:#fff;--extreme-input:#f6fbfd;--extreme-footer:#eaf5f8;color:#102d3a;background-color:#e7f3f7;
}
body.vk-theme-nocturne.vk-mode-light #topbar {background:#dbeef3!important;border-color:#087f99!important;color:#102d3a!important}
body.vk-theme-nocturne.vk-mode-light #menu {background:color-mix(in srgb,#dbeef3 94%,#fff)!important;border-color:#9bc9d5!important}
body.vk-theme-nocturne.vk-mode-light #menu a {color:#102d3a!important}
body.vk-theme-nocturne.vk-mode-light #menu a:hover,body.vk-theme-nocturne.vk-mode-light #menu a:focus-visible {color:#102d3a!important;border-color:#087f99!important;background:color-mix(in srgb,#087f99 13%,transparent)!important}
body.vk-theme-nocturne.vk-mode-light :is(.form,.login-box,.admin-content,.admin-sidebar,.vip-panel,.vip-sidebar,.folder-block,.roman-card,.vk-home-fact,.vk-home-book,.vk-home-feature,.vk-home-prose,.vk-home-start,.vk-home-community,.vk-home-badge-card,.vk-home-enquetes) {background:var(--v3-panel)!important;border-color:#9bc9d5!important;color:#102d3a!important}
body.vk-theme-nocturne.vk-mode-light :is(.btn,.button,.bt,.admin-save,.vk-home-btn) {background:var(--extreme-button)!important;border-color:#087f99!important;color:#fff!important}
body.vk-theme-nocturne.vk-mode-light :is(input:not([type=checkbox]):not([type=radio]),select,textarea) {background:#f6fbfd!important;border-color:#9bc9d5!important;color:#102d3a!important}
body.vk-theme-nocturne.vk-mode-light :is(h1,h2,h3,.h3) {color:#102d3a!important}
body.vk-theme-nocturne.vk-mode-light footer {background:#eaf5f8!important;border-color:#087f99!important;color:#102d3a!important}
body.vk-theme-nocturne.vk-mode-light footer a {color:#087f99!important}

/* Aperçu = mêmes tokens que le thème réel */
.vk-theme-form:has(input[name="mode"][value="dark"]:checked) .vk-theme-choice-nocturne {--vk-preview-bg:var(--vk-theme-bg);--vk-preview-panel:var(--vk-theme-panel);--vk-preview-text:var(--vk-theme-text);--vk-preview-accent:var(--vk-theme-accent);--vk-preview-metal:var(--vk-theme-metal);--vk-preview-border:var(--vk-theme-border)}

/* V3.3 PREVIEW TOKENS */
.vk-theme-form:has(input[name="mode"][value="dark"]:checked) .vk-theme-choice-nocturne{--vk-theme-bg:#07111d;--vk-theme-panel:#0d1b2a;--vk-theme-text:#d8f6fb;--vk-theme-accent:#19c7e8;--vk-theme-metal:#7ed9ea;--vk-theme-border:#16394b;}
.vk-theme-form:has(input[name="mode"][value="light"]:checked) .vk-theme-choice-nocturne{--vk-theme-bg:#e7f3f7;--vk-theme-panel:#f6fbfd;--vk-theme-text:#102d3a;--vk-theme-accent:#087f99;--vk-theme-metal:#397f91;--vk-theme-border:#9bc9d5;}

/* === V3.4 BACKGROUND SAFEGUARD === */
body.vk-theme-nocturne {
    background-image:
        radial-gradient(circle at 82% 12%, color-mix(in srgb, var(--vk-theme-accent) 10%, transparent), transparent 34%),
        linear-gradient(145deg, color-mix(in srgb, var(--vk-theme-bg) 82%, transparent), color-mix(in srgb, var(--vk-theme-bg) 90%, #000)),
        var(--vk-global-background-image) !important;
    background-position:center, center, center !important;
    background-size:auto, auto, cover !important;
    background-repeat:no-repeat, no-repeat, no-repeat !important;
    background-attachment:fixed, fixed, fixed !important;
}


/* V3.6 — fond global Var'Kal : ne jamais perdre bckgnd.png */
body.vk-theme-nocturne {
    background-image: var(--vk-global-background-image) !important;
    background-repeat: repeat !important;
    background-position: top left !important;
    background-attachment: fixed !important;
}


/* ==========================================================
   HOME — raccord final à la palette réelle du thème
   Neutralise les anciennes couleurs historiques codées en dur
   tout en conservant la géométrie propre à nocturne.
   ========================================================== */
body.vk-theme-nocturne .vk-home {
    --vk-bg: var(--vk-theme-bg) !important;
    --vk-panel: var(--vk-theme-panel) !important;
    --vk-border: color-mix(in srgb,var(--vk-theme-border) 72%,transparent) !important;
    --vk-accent: var(--vk-theme-accent) !important;
    --vk-accent-soft: var(--vk-theme-metal) !important;
    --vk-text: var(--vk-theme-text) !important;
    --vk-muted: color-mix(in srgb,var(--vk-theme-text) 70%,var(--vk-theme-bg)) !important;
    --vk-dark: var(--vk-theme-bg) !important;
}
body.vk-theme-nocturne .vk-home-hero {
    border-color: var(--vk-theme-border) !important;
    background:
        radial-gradient(circle at 78% 28%,color-mix(in srgb,var(--vk-theme-accent) 22%,transparent),transparent 34%),
        linear-gradient(135deg,color-mix(in srgb,var(--vk-theme-panel) 94%,var(--vk-theme-bg)),var(--vk-theme-bg)) !important;
}
body.vk-theme-nocturne .vk-home-hero::before {
    background:
        linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),
        linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px) !important;
    background-size:45px 45px !important;
}
body.vk-theme-nocturne :is(.vk-home-fact,.vk-home-book,.vk-home-feature,.vk-home-prose,.vk-home-start,.vk-home-community,.vk-home-badge-card,.vk-home-enquetes,.vk-home-faq details,.vk-home-step) {
    border-color: color-mix(in srgb,var(--vk-theme-border) 72%,transparent) !important;
    background: linear-gradient(145deg,color-mix(in srgb,var(--vk-theme-panel) 96%,var(--vk-theme-bg)),var(--vk-theme-panel)) !important;
}
body.vk-theme-nocturne .vk-home-btn {
    border-color: var(--vk-theme-border) !important;
    background: linear-gradient(135deg,color-mix(in srgb,var(--vk-theme-accent) 78%,#000),var(--vk-theme-accent)) !important;
    color: var(--vk-theme-text) !important;
    box-shadow:0 10px 24px color-mix(in srgb,var(--vk-theme-accent) 25%,transparent) !important;
}
body.vk-theme-nocturne .vk-home-btn-secondary {
    border-color:color-mix(in srgb,var(--vk-theme-metal) 55%,transparent) !important;
    background:color-mix(in srgb,var(--vk-theme-panel) 88%,transparent) !important;
    color:var(--vk-theme-metal) !important;
}
body.vk-theme-nocturne :is(.vk-home-kicker,.vk-home-badge-icon,.vk-home-badge-link,.vk-home-book-number,.vk-home-book-links a,.vk-home-pill strong,.vk-home-feature a,.vk-home-step h3) {
    color:var(--vk-theme-metal) !important;
}
body.vk-theme-nocturne .vk-home-badge-progress span {
    background:linear-gradient(90deg,var(--vk-theme-accent),var(--vk-theme-metal)) !important;
}


/* HOME — indicateurs strictement alignés sur la palette du thème */
body.vk-theme-nocturne .vk-home-badge-progress {
    background: color-mix(in srgb,var(--vk-theme-border) 35%,transparent) !important;
    accent-color: var(--vk-theme-accent) !important;
}
body.vk-theme-nocturne .vk-home-badge-progress::-webkit-progress-bar {
    background: color-mix(in srgb,var(--vk-theme-border) 35%,transparent) !important;
    border-radius: 999px;
}
body.vk-theme-nocturne .vk-home-badge-progress::-webkit-progress-value {
    background: linear-gradient(90deg,var(--vk-theme-accent),var(--vk-theme-metal)) !important;
    border-radius: 999px;
}
body.vk-theme-nocturne .vk-home-badge-progress::-moz-progress-bar {
    background: linear-gradient(90deg,var(--vk-theme-accent),var(--vk-theme-metal)) !important;
    border-radius: 999px;
}
body.vk-theme-nocturne .vk-home-enquetes::after {
    background: linear-gradient(180deg,transparent,var(--vk-theme-accent),var(--vk-theme-metal),transparent) !important;
}

/* === PODIUM VIP : PALETTE CLASSEMENT GENERAL === */
body.vk-theme-nocturne.vk-mode-dark{
  --vk-ranking-bg:#226b80;
  --vk-ranking-bg-2:#184d5f;
  --vk-ranking-row:#235061;
  --vk-ranking-text:#d8f6fb;
  --vk-ranking-muted:#9ae7f3;
  --vk-ranking-border:#16394b;
}
body.vk-theme-nocturne.vk-mode-light{
  --vk-ranking-bg:#cfe5ea;
  --vk-ranking-bg-2:#e0eff3;
  --vk-ranking-row:#dbecf1;
  --vk-ranking-text:#102d3a;
  --vk-ranking-muted:#346f7e;
  --vk-ranking-border:#9bc9d5;
}
