/**
 * Cycle jour / nuit (classes body dsc-time-day | dsc-time-night).
 * Mode clair : kraft / papier journal (calques riches, lisible).
 * Mode sombre : fond d’origine du theme (style.css : motif SVG + halos violet/rose/teal).
 */

@supports selector(:has(*)) {
  html:has(body.dsc-site.dsc-time-day) {
    --dsc-bg: #c9c0b5;
    background-color: var(--dsc-bg);
  }

  html:has(body.dsc-site.dsc-time-night) {
    --dsc-bg: #0c0815;
    background-color: var(--dsc-bg);
  }
}

/* ——— NUIT : identique a style.css (body.dsc-site d’origine), priorite sur global-pages ——— */
body.dsc-site.dsc-time-night {
  background:
    var(--dsc-bg-pattern) 0 0 / 56px 56px repeat,
    radial-gradient(900px 480px at 12% 10%, rgba(168, 85, 247, 0.16), transparent 55%),
    radial-gradient(820px 440px at 92% 18%, rgba(244, 63, 94, 0.12), transparent 50%),
    radial-gradient(640px 380px at 50% 100%, rgba(34, 211, 238, 0.06), transparent 50%),
    var(--dsc-bg);
  background-attachment: fixed, fixed, fixed, fixed, scroll;
}

@media (max-width: 1024px) {
  body.dsc-site.dsc-time-night {
    background-attachment: scroll, scroll, scroll, scroll, scroll;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.dsc-site.dsc-time-night {
    background-attachment: scroll, scroll, scroll, scroll, scroll;
  }
}

@supports selector(:has(*)) {
  body.dsc-site.dsc-time-night:has(main.dsc-statut-page) {
    min-height: 100vh;
    background:
      radial-gradient(1000px 520px at 12% 12%, rgba(99, 102, 241, 0.22), transparent 58%),
      radial-gradient(840px 460px at 92% 18%, rgba(244, 63, 94, 0.14), transparent 55%),
      radial-gradient(760px 520px at 42% 92%, rgba(16, 185, 129, 0.08), transparent 55%),
      #050508;
    background-attachment: fixed;
  }
}

@media (max-width: 1024px) {
  @supports selector(:has(*)) {
    body.dsc-site.dsc-time-night:has(main.dsc-statut-page) {
      background-attachment: scroll, scroll, scroll, scroll;
    }
  }
}

@media (prefers-reduced-motion: reduce) {
  @supports selector(:has(*)) {
    body.dsc-site.dsc-time-night:has(main.dsc-statut-page) {
      background-attachment: scroll, scroll, scroll, scroll;
    }
  }
}

body.dsc-site.dsc-time-day {
  /* Fond jour : kraft / papier journal + colonnes + SVG. */
  --dsc-bg: #c9c0b5;
  --dsc-bg-pattern: url("../images/bg-pattern.svg");
  --dsc-bg-motif-day: url("../images/bg-motif-day.svg");
  --dsc-ring: rgba(120, 90, 60, 0.45);
  --dsc-glow-warm: 0 20px 70px rgba(62, 55, 48, 0.1);
  --dsc-edge: rgba(62, 55, 48, 0.12);
  --dsc-text: #3a3531;
  --dsc-muted: rgba(95, 87, 79, 0.82);
  --dsc-link: #5c4838;

  /* home.css :root twins */
  --bg: #c9c0b5;
  --bg-pattern: url("../images/bg-pattern.svg");
  --panel: #e4ddd4;
  --line: rgba(58, 50, 44, 0.14);
  --text: #3a3531;
  --muted: #5f5850;
  --red: #b91c1c;
  --red-2: #991b1b;

  /* manga-page.css */
  --surface: #e4ddd4;
  --surface-2: #cfc6ba;
  --stroke: rgba(58, 50, 44, 0.14);
  --accent: #b91c1c;
  --accent-soft: rgba(185, 28, 28, 0.12);
  --accent-glow: rgb(185 28 28 / 22%);
  --reader-text: #3f3a36;
  --reader-bg: rgba(242, 238, 232, 0.96);
  --reader-stroke: rgba(58, 50, 44, 0.09);

  color: var(--dsc-text);
  background-color: var(--dsc-bg);
  background-image:
    radial-gradient(rgba(58, 50, 44, 0.075) 1px, transparent 1.35px),
    repeating-linear-gradient(90deg, transparent 0 99px, rgba(61, 54, 46, 0.055) 99px 100px),
    repeating-linear-gradient(0deg, transparent 0, transparent 5px, rgba(68, 60, 52, 0.028) 5px, rgba(68, 60, 52, 0.028) 6px),
    repeating-linear-gradient(
      118deg,
      transparent 0,
      transparent 15px,
      rgba(78, 70, 62, 0.032) 15px,
      rgba(78, 70, 62, 0.032) 16px
    ),
    var(--dsc-bg-motif-day),
    radial-gradient(900px 520px at 12% 6%, rgba(110, 100, 90, 0.09), transparent 56%),
    radial-gradient(840px 480px at 96% 10%, rgba(95, 88, 78, 0.07), transparent 52%),
    radial-gradient(720px 420px at 50% 100%, rgba(72, 64, 56, 0.1), transparent 52%),
    var(--dsc-bg-pattern),
    radial-gradient(ellipse 130% 55% at 50% -5%, rgba(255, 252, 246, 0.32), transparent 58%);
  background-size:
    20px 20px,
    auto,
    auto,
    auto,
    64px 64px,
    auto,
    auto,
    auto,
    56px 56px,
    auto;
  background-position:
    0 0,
    center,
    center,
    0 0,
    center,
    0 0,
    100% 0,
    50% 100%,
    0 0,
    center top;
  background-repeat:
    repeat,
    repeat,
    repeat,
    repeat,
    repeat,
    no-repeat,
    no-repeat,
    no-repeat,
    repeat,
    no-repeat;
  background-attachment: fixed;
}

@media (max-width: 1024px) {
  body.dsc-site.dsc-time-day {
    background-attachment: scroll, scroll, scroll, scroll, scroll, scroll, scroll, scroll, scroll, scroll;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.dsc-site.dsc-time-day {
    background-attachment: scroll, scroll, scroll, scroll, scroll, scroll, scroll, scroll, scroll, scroll;
  }
}

@supports selector(:has(*)) {
  body.dsc-site.dsc-time-day:has(main.dsc-statut-page) {
    background-color: var(--dsc-bg);
    background-image:
      radial-gradient(rgba(58, 50, 44, 0.08) 1px, transparent 1.35px),
      repeating-linear-gradient(90deg, transparent 0 99px, rgba(61, 54, 46, 0.06) 99px 100px),
      repeating-linear-gradient(0deg, transparent 0, transparent 5px, rgba(68, 60, 52, 0.03) 5px, rgba(68, 60, 52, 0.03) 6px),
      repeating-linear-gradient(
        118deg,
        transparent 0,
        transparent 15px,
        rgba(78, 70, 62, 0.038) 15px,
        rgba(78, 70, 62, 0.038) 16px
      ),
      var(--dsc-bg-motif-day),
      radial-gradient(1000px 520px at 10% 12%, rgba(110, 100, 90, 0.1), transparent 58%),
      radial-gradient(900px 480px at 96% 14%, rgba(95, 88, 78, 0.08), transparent 54%),
      radial-gradient(780px 440px at 50% 98%, rgba(72, 64, 56, 0.11), transparent 54%),
      var(--dsc-bg-pattern),
      radial-gradient(ellipse 120% 52% at 48% -4%, rgba(255, 252, 246, 0.34), transparent 58%);
    background-size:
      20px 20px,
      auto,
      auto,
      auto,
      64px 64px,
      auto,
      auto,
      auto,
      56px 56px,
      auto;
    background-position:
      0 0,
      center,
      center,
      0 0,
      center,
      0 0,
      100% 0,
      50% 100%,
      0 0,
      center top;
    background-repeat:
      repeat,
      repeat,
      repeat,
      repeat,
      repeat,
      no-repeat,
      no-repeat,
      no-repeat,
      repeat,
      no-repeat;
    background-attachment: fixed;
  }
}

@media (max-width: 1024px) {
  @supports selector(:has(*)) {
    body.dsc-site.dsc-time-day:has(main.dsc-statut-page) {
      background-attachment: scroll, scroll, scroll, scroll, scroll, scroll, scroll, scroll, scroll, scroll;
    }
  }
}

@media (prefers-reduced-motion: reduce) {
  @supports selector(:has(*)) {
    body.dsc-site.dsc-time-day:has(main.dsc-statut-page) {
      background-attachment: scroll, scroll, scroll, scroll, scroll, scroll, scroll, scroll, scroll, scroll;
    }
  }
}

body.dsc-site.dsc-time-day ::selection {
  background: rgba(120, 100, 80, 0.2);
  color: #2f2b28;
}

body.dsc-site.dsc-time-day :where(.section-title, .featured-title, .chapter-label, .name, h1, h2, h3) {
  color: var(--dsc-text);
  text-shadow: 0 1px 0 rgba(255, 252, 248, 0.28);
}

body.dsc-site.dsc-time-day a:hover {
  color: #4a3b2e;
}

/* Ascenseurs lisibles sur fond kraft (menu / téléphone : styles d’origine). */
body.dsc-site.dsc-time-day * {
  scrollbar-color: #6b6359 #dad2c8;
}

/* Pied de page */
body.dsc-site.dsc-time-day .dsc-site-footer {
  background: rgba(198, 190, 180, 0.94);
  border-top-color: rgba(58, 50, 44, 0.1);
  color: rgba(41, 36, 32, 0.9);
}

body.dsc-site.dsc-time-day .dsc-site-footer__brand-text {
  color: #3a3531;
}

body.dsc-site.dsc-time-day .dsc-site-footer__tagline {
  color: rgba(87, 78, 68, 0.9);
}

body.dsc-site.dsc-time-day .dsc-site-footer__col-title {
  color: #3a3531;
}

body.dsc-site.dsc-time-day .dsc-site-footer__list a {
  color: rgba(55, 48, 42, 0.92);
}

body.dsc-site.dsc-time-day .dsc-site-footer__list a:hover,
body.dsc-site.dsc-time-day .dsc-site-footer__list a:focus-visible {
  color: #8f3944;
}

body.dsc-site.dsc-time-day .dsc-site-footer__bottom {
  border-top-color: rgba(62, 47, 32, 0.12);
}

body.dsc-site.dsc-time-day .dsc-site-footer__copy {
  color: rgba(87, 78, 68, 0.78);
}

/* ——— Boutons & actions : contraste confortable (pas de couleurs criardes) ——— */

/* Jour : primaire terre / rose adouci, fantôme sur fond clair */
body.dsc-site.dsc-time-day .btn-primary,
body.dsc-site.dsc-time-day .btn.btn-primary {
  background: linear-gradient(125deg, #8f4a52, #a05a62);
  color: #fff9f8;
  box-shadow: 0 10px 28px rgba(110, 55, 62, 0.18);
}

body.dsc-site.dsc-time-day .btn-primary:hover,
body.dsc-site.dsc-time-day .btn.btn-primary:hover {
  filter: brightness(1.04);
}

body.dsc-site.dsc-time-day .btn-ghost {
  background: rgba(255, 255, 255, 0.48);
  border-color: rgba(58, 50, 44, 0.16);
  color: #3a3531;
}

body.dsc-site.dsc-time-day .btn-ghost:hover {
  border-color: rgba(120, 85, 78, 0.32);
  color: #2e2a27;
  background: rgba(255, 255, 255, 0.66);
}

body.dsc-site.dsc-time-day .dsc-manga-single .hero-actions .btn.btn-ghost {
  background: rgba(255, 255, 255, 0.52);
  border-color: rgba(58, 50, 44, 0.18);
  color: #3a3531;
  box-shadow: 0 4px 16px rgba(58, 50, 44, 0.06);
}

body.dsc-site.dsc-time-day .dsc-manga-single .hero-actions .btn.btn-ghost:hover,
body.dsc-site.dsc-time-day .dsc-manga-single .hero-actions .btn.btn-ghost:focus {
  border-color: rgba(143, 57, 68, 0.38);
  color: #2a2522;
  background: rgba(255, 255, 255, 0.78);
  box-shadow: 0 8px 22px rgba(110, 55, 62, 0.1);
}

body.dsc-site.dsc-time-day .btn-icon {
  background: rgba(255, 255, 255, 0.5);
  border-color: rgba(58, 50, 44, 0.16);
  color: #4d4540;
}

body.dsc-site.dsc-time-day .btn-icon:hover {
  border-color: rgba(120, 85, 78, 0.35);
  color: #2e2a27;
}

body.dsc-site.dsc-time-day .dsc-formulaire-root .btn-register {
  background: linear-gradient(125deg, #9a5a28, #b06932);
  color: #fffaf6;
  box-shadow: 0 12px 32px rgba(120, 70, 30, 0.16);
}

body.dsc-site.dsc-time-day .dsc-formulaire-root .btn-register:hover {
  background: linear-gradient(125deg, #a86432, #b8743c);
  filter: none;
}

body.dsc-site.dsc-time-day .dsc-profile-root .btn-save {
  background: linear-gradient(125deg, #9a5a28, #b06932);
  box-shadow: 0 12px 32px rgba(120, 70, 30, 0.16);
  color: #fffaf6;
}

body.dsc-site.dsc-time-day .dsc-profile-root .btn-save:hover {
  filter: brightness(1.04);
}

body.dsc-site.dsc-time-day .dsc-info__btn,
body.dsc-site.dsc-time-day .dsc-about__btn {
  filter: saturate(0.92) contrast(0.98);
}

body.dsc-site.dsc-time-day .dsc-ab-plan--featured .dsc-ab-plan__cta {
  background: linear-gradient(118deg, #8a4a54, #986240, #92702a);
  color: #fffaf7;
  box-shadow: 0 8px 26px rgba(100, 62, 52, 0.18);
}

body.dsc-site.dsc-time-day .dsc-ab-plan--featured .dsc-ab-plan__cta:hover {
  filter: brightness(1.04);
  box-shadow: 0 10px 30px rgba(100, 62, 52, 0.22);
}

/* =====================================================================
 * Maquettes aux panneaux sombres : en mode jour, body impose un texte
 * brun (#3a3531) alors que fonds locales restent violets — illisible.
 * Ici on réaligne texte et surfaces par page (+ un peu plus vif la nuit).
 * ===================================================================== */

/* --- Liste / détail manga, lecture chapitre, historique, bibliothèque… --- */
body.dsc-site.dsc-time-day main.page.dsc-manga-single,
body.dsc-site.dsc-time-day article.dsc-chapter-reader.dsc-manga-single {
  --muted: rgba(58, 52, 46, 0.8);
  --text: var(--reader-text, #2b2622);
  color: var(--text);
}

body.dsc-site.dsc-time-night main.page.dsc-manga-single,
body.dsc-site.dsc-time-night article.dsc-chapter-reader.dsc-manga-single {
  --muted: rgb(205 212 232 / 0.88);
  --text: rgb(253 251 254 / 0.97);
  color: var(--text);
}

/* --- Connexion / inscription --- */
body.dsc-site.dsc-time-day .dsc-formulaire-root {
  --text: #1f1b17;
  --muted: rgba(54, 48, 41, 0.86);
  --surface: #fcf9f5;
  --surface-2: #ede7df;
  --border: rgba(58, 50, 44, 0.18);
  --border-focus: rgba(154, 90, 50, 0.42);
  color: var(--text);
}

body.dsc-site.dsc-time-day .dsc-formulaire-root .screen {
  border-color: rgba(58, 50, 44, 0.14);
  background: linear-gradient(160deg, rgba(255, 252, 246, 0.99), rgba(242, 235, 225, 0.96));
  box-shadow:
    0 24px 64px rgba(58, 50, 44, 0.09),
    0 0 0 1px rgba(255, 252, 246, 0.65) inset;
}

body.dsc-site.dsc-time-day .dsc-formulaire-root .logo {
  color: var(--text);
  text-shadow: none;
}

body.dsc-site.dsc-time-day .dsc-formulaire-root .logo .accent {
  text-shadow: none;
}

body.dsc-site.dsc-time-day .dsc-formulaire-root .logo-splinter {
  background: linear-gradient(135deg, rgba(255, 252, 246, 0.45) 0%, transparent 50%, rgba(240, 230, 218, 0.3) 100%);
}

body.dsc-site.dsc-time-day .dsc-formulaire-root .field input::placeholder {
  color: rgba(92, 84, 74, 0.52);
}

body.dsc-site.dsc-time-night .dsc-formulaire-root {
  --text: rgb(253 251 254 / 0.98);
  --muted: rgb(207 212 228 / 0.9);
  color: var(--text);
}

/* --- Abonnement --- */
body.dsc-site.dsc-time-day .dsc-abonnement-root {
  --ab-text: #1f1b17;
  --ab-muted: rgba(54, 48, 41, 0.86);
  --ab-panel: rgba(255, 252, 246, 0.96);
  --ab-panel-2: rgba(248, 242, 234, 0.98);
  --ab-stroke: rgba(58, 50, 44, 0.13);
  --ab-stroke-strong: rgba(58, 50, 44, 0.22);
}

body.dsc-site.dsc-time-day .dsc-ab-page {
  color: #1f1b17;
}

body.dsc-site.dsc-time-day .dsc-ab-page__base {
  background: radial-gradient(120% 92% at 50% 0%, #ece6de 0%, #ddd6cc 42%, #d2cbbf 100%);
}

body.dsc-site.dsc-time-day .dsc-ab-page__blob--1,
body.dsc-site.dsc-time-day .dsc-ab-page__blob--2,
body.dsc-site.dsc-time-day .dsc-ab-page__blob--3 {
  opacity: 0.22;
  mix-blend-mode: multiply;
}

body.dsc-site.dsc-time-day .dsc-ab-page__grain {
  opacity: 0.035;
}

body.dsc-site.dsc-time-day .dsc-abonnement-header {
  border-color: var(--ab-stroke, rgba(58, 50, 44, 0.13));
  background: linear-gradient(165deg, rgba(255, 252, 246, 0.96) 0%, rgba(236, 229, 218, 0.9) 100%);
}

body.dsc-site.dsc-time-day .dsc-abonnement-header h1 {
  background: none;
  -webkit-background-clip: unset;
  background-clip: unset;
  color: var(--ab-text, #1f1b17);
}

body.dsc-site.dsc-time-day .dsc-abonnement-header .logo .accent {
  background: none;
  -webkit-background-clip: unset;
  background-clip: unset;
  color: #c2410c;
}

body.dsc-site.dsc-time-day .dsc-ab-intro--blocks a,
body.dsc-site.dsc-time-day .dsc-ab-intro--simple a {
  color: #b45309;
}

body.dsc-site.dsc-time-day .dsc-ab-intro--blocks a:hover,
body.dsc-site.dsc-time-day .dsc-ab-intro--simple a:hover {
  color: #7c2d12;
}

body.dsc-site.dsc-time-day .dsc-abonnement-header--hero::after {
  background: linear-gradient(180deg, rgba(255, 252, 246, 0.12) 0%, rgba(236, 228, 216, 0.93) 100%);
}

body.dsc-site.dsc-time-day .dsc-ab-plan {
  background: linear-gradient(165deg, rgba(255, 252, 246, 0.98) 0%, rgba(238, 230, 218, 0.94) 100%);
  border-color: var(--ab-stroke, rgba(58, 50, 44, 0.13));
  box-shadow:
    0 10px 36px rgba(58, 50, 44, 0.08),
    inset 0 1px 0 rgba(255, 252, 246, 0.85);
}

body.dsc-site.dsc-time-day .dsc-ab-plan:hover {
  border-color: rgba(120, 90, 60, 0.22);
}

body.dsc-site.dsc-time-day .dsc-ab-plan__name {
  color: var(--ab-text, #1f1b17);
}

body.dsc-site.dsc-time-day .dsc-ab-plan__price {
  background: linear-gradient(135deg, #2f2a26 12%, #9a3412 88%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

body.dsc-site.dsc-time-day .dsc-ab-plan__list li {
  color: rgba(42, 38, 34, 0.9);
  border-top-color: rgba(58, 50, 44, 0.08);
}

body.dsc-site.dsc-time-day .dsc-ab-plan__cta {
  background: rgba(255, 252, 246, 0.92);
  color: var(--ab-text, #1f1b17);
}

body.dsc-site.dsc-time-day .dsc-abonnement-actions a {
  background: rgba(255, 252, 246, 0.88);
  color: var(--ab-text, #1f1b17);
}

body.dsc-site.dsc-time-day .dsc-abonnement-footnote {
  border-color: var(--ab-stroke, rgba(58, 50, 44, 0.13));
  background: linear-gradient(165deg, rgba(255, 252, 246, 0.94) 0%, rgba(236, 229, 218, 0.88) 100%);
}

body.dsc-site.dsc-time-day .dsc-abonnement-footnote code {
  color: rgba(42, 38, 34, 0.88);
}

body.dsc-site.dsc-time-night .dsc-abonnement-root {
  --ab-text: rgb(253 251 254 / 0.98);
  --ab-muted: rgb(207 212 226 / 0.88);
}

/* --- Pages statut (carte glass sombre : garder le texte clair même en jour) --- */
body.dsc-site.dsc-time-day .dsc-statut-page {
  color: rgb(252 249 246 / 0.99);
}

body.dsc-site.dsc-time-day .dsc-statut-page h1 {
  color: #fff;
}

body.dsc-site.dsc-time-day .dsc-statut-page__badge {
  color: rgb(220 226 238 / 0.95);
}

body.dsc-site.dsc-time-day .dsc-statut-page__lead {
  color: rgb(226 231 243 / 0.93);
}

body.dsc-site.dsc-time-day .dsc-statut-page__actions a {
  color: rgb(251 247 243 / 0.98);
}

body.dsc-site.dsc-time-night .dsc-statut-page__lead {
  color: rgb(210 217 237 / 0.92);
}

/* --- FAQ, contact, légal, annonces… --- */
body.dsc-site.dsc-time-day .dsc-info {
  background: transparent;
  color: var(--dsc-text);
}

body.dsc-site.dsc-time-day .dsc-info__bg {
  opacity: 0.08;
}

body.dsc-site.dsc-time-day .dsc-info__grain {
  opacity: 0.12;
}

body.dsc-site.dsc-time-day .dsc-info__hero {
  border-color: rgba(58, 50, 44, 0.14);
  background: rgba(255, 252, 246, 0.94);
}

body.dsc-site.dsc-time-day .dsc-info__brand-text,
body.dsc-site.dsc-time-day .dsc-info__title {
  color: var(--dsc-text);
}

body.dsc-site.dsc-time-day .dsc-info__subtitle {
  color: rgba(58, 50, 44, 0.78);
}

body.dsc-site.dsc-time-day .dsc-info__content {
  border-color: rgba(58, 50, 44, 0.12);
  background: rgba(255, 252, 246, 0.92);
}

body.dsc-site.dsc-time-day .dsc-info__content h2,
body.dsc-site.dsc-time-day .dsc-info__content h3 {
  color: var(--dsc-text);
}

body.dsc-site.dsc-time-day .dsc-info__content p,
body.dsc-site.dsc-time-day .dsc-info__content li {
  color: rgba(45, 40, 36, 0.88);
}

body.dsc-site.dsc-time-day .dsc-info__content a {
  color: #b45309;
}

body.dsc-site.dsc-time-day .dsc-info__btn--ghost {
  border-color: rgba(58, 50, 44, 0.16);
  color: var(--dsc-text);
  background: rgba(255, 252, 246, 0.55);
}

body.dsc-site.dsc-time-day .dsc-contact-card {
  border-color: rgba(58, 50, 44, 0.12);
  background: rgba(255, 252, 246, 0.92);
}

body.dsc-site.dsc-time-day .dsc-contact-card h2,
body.dsc-site.dsc-time-day .dsc-contact-card h3 {
  color: var(--dsc-text);
}

body.dsc-site.dsc-time-day .dsc-contact-meta__label {
  color: rgba(58, 50, 44, 0.62);
}

body.dsc-site.dsc-time-day .dsc-contact-meta__value {
  color: rgba(42, 38, 34, 0.9);
}

body.dsc-site.dsc-time-day .dsc-contact-social {
  border-color: rgba(58, 50, 44, 0.14);
  background: rgba(255, 252, 246, 0.75);
  color: rgba(42, 38, 34, 0.9);
}

body.dsc-site.dsc-time-day .dsc-contact-form label {
  color: var(--dsc-text);
}

body.dsc-site.dsc-time-day .dsc-contact-form input[type="text"],
body.dsc-site.dsc-time-day .dsc-contact-form input[type="email"],
body.dsc-site.dsc-time-day .dsc-contact-form textarea {
  border-color: rgba(58, 50, 44, 0.14);
  background: #fffefb;
  color: var(--dsc-text);
}

body.dsc-site.dsc-time-night .dsc-info__subtitle {
  color: rgba(229, 231, 235, 0.92);
}

body.dsc-site.dsc-time-night .dsc-info__content p,
body.dsc-site.dsc-time-night .dsc-info__content li {
  color: rgba(232, 235, 244, 0.9);
}

/* --- À propos --- */
body.dsc-site.dsc-time-day .dsc-about {
  background: transparent;
  color: var(--dsc-text);
}

body.dsc-site.dsc-time-day .dsc-about__bg {
  opacity: 0.08;
}

body.dsc-site.dsc-time-day .dsc-about__grain {
  opacity: 0.12;
}

body.dsc-site.dsc-time-day .dsc-about__hero {
  border-color: rgba(58, 50, 44, 0.14);
  background: rgba(255, 252, 246, 0.94);
}

body.dsc-site.dsc-time-day .dsc-about__brand-text,
body.dsc-site.dsc-time-day .dsc-about__title {
  color: var(--dsc-text);
}

body.dsc-site.dsc-time-day .dsc-about__subtitle {
  color: rgba(58, 50, 44, 0.78);
}

body.dsc-site.dsc-time-day .dsc-about__card {
  border-color: rgba(58, 50, 44, 0.12);
  background: rgba(255, 252, 246, 0.92);
}

body.dsc-site.dsc-time-day .dsc-about__card--muted {
  background: rgba(245, 238, 228, 0.78);
}

body.dsc-site.dsc-time-day .dsc-about__card h2,
body.dsc-site.dsc-time-day .dsc-about__card h3 {
  color: var(--dsc-text);
}

body.dsc-site.dsc-time-day .dsc-about__card p {
  color: rgba(45, 40, 36, 0.88);
}

body.dsc-site.dsc-time-day .dsc-about__btn--ghost {
  border-color: rgba(58, 50, 44, 0.16);
  color: var(--dsc-text);
  background: rgba(255, 252, 246, 0.55);
}

body.dsc-site.dsc-time-night .dsc-about__subtitle {
  color: rgba(229, 231, 235, 0.92);
}

body.dsc-site.dsc-time-night .dsc-about__card p {
  color: rgba(232, 235, 244, 0.9);
}

/* --- Calendrier --- */
body.dsc-site.dsc-time-day .dsc-cal__hero {
  border-color: rgba(58, 50, 44, 0.14);
  background:
    radial-gradient(820px 220px at 15% 0%, rgba(180, 160, 130, 0.22), transparent 60%),
    linear-gradient(180deg, rgba(255, 252, 246, 0.97), rgba(236, 228, 218, 0.94));
  box-shadow: 0 16px 48px rgba(58, 50, 44, 0.09);
}

body.dsc-site.dsc-time-day .dsc-cal__title {
  color: var(--dsc-text);
  text-shadow: none;
}

body.dsc-site.dsc-time-day .dsc-cal__subtitle,
body.dsc-site.dsc-time-day .dsc-cal__label {
  color: rgba(58, 50, 44, 0.78);
}

body.dsc-site.dsc-time-day .dsc-cal__input {
  border-color: rgba(58, 50, 44, 0.16);
  background: #fffefb;
  color: var(--dsc-text);
}

body.dsc-site.dsc-time-day .dsc-cal__tz {
  border-color: rgba(58, 50, 44, 0.14);
  background: rgba(255, 252, 246, 0.9);
  color: var(--dsc-text);
}

body.dsc-site.dsc-time-day .dsc-cal__table-card {
  border-color: rgba(58, 50, 44, 0.12);
  background: linear-gradient(180deg, rgba(255, 252, 246, 0.98), rgba(240, 232, 222, 0.95));
  box-shadow: 0 14px 44px rgba(58, 50, 44, 0.08);
}

body.dsc-site.dsc-time-day .dsc-cal__table-wrap {
  border-color: rgba(58, 50, 44, 0.1);
}

body.dsc-site.dsc-time-day .dsc-cal__table thead th {
  color: rgba(58, 50, 44, 0.76);
  background: rgba(245, 238, 228, 0.98);
  border-bottom-color: rgba(58, 50, 44, 0.1);
}

body.dsc-site.dsc-time-day .dsc-cal__table tbody td {
  color: rgba(38, 34, 30, 0.92);
  border-bottom-color: rgba(58, 50, 44, 0.08);
}

body.dsc-site.dsc-time-day .dsc-cal__table tbody tr:nth-child(2n) td {
  background: rgba(58, 50, 44, 0.04);
}

body.dsc-site.dsc-time-day .dsc-cal__manga a {
  color: #222;
}

body.dsc-site.dsc-time-day .dsc-cal__date {
  color: rgba(58, 50, 44, 0.78);
}

body.dsc-site.dsc-time-day .dsc-cal__time {
  color: #b45309;
}

body.dsc-site.dsc-time-day .dsc-cal__empty {
  color: rgba(58, 50, 44, 0.72);
}

body.dsc-site.dsc-time-night .dsc-cal__subtitle,
body.dsc-site.dsc-time-night .dsc-cal__label,
body.dsc-site.dsc-time-night .dsc-cal__empty {
  color: rgba(220 226 240 / 0.9);
}

/* Bouton flottant : cycle auto ↔ clair ↔ sombre (theme-mode-toggle.js) */
.dsc-theme-fab {
  position: fixed;
  z-index: 100050;
  right: max(14px, env(safe-area-inset-right));
  bottom: max(18px, env(safe-area-inset-bottom));
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 47px;
  height: 47px;
  padding: 0;
  margin: 0;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.13);
  background: rgba(18, 16, 28, 0.82);
  color: rgba(248, 250, 252, 0.94);
  font-size: 19px;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: transform 0.15s ease, box-shadow 0.2s ease, border-color 0.18s ease;
}

.dsc-theme-fab:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 44px rgba(0, 0, 0, 0.45);
}

.dsc-theme-fab:focus-visible {
  outline: 2px solid rgba(251, 113, 133, 0.55);
  outline-offset: 3px;
}

.dsc-theme-fab__icon {
  display: inline-block;
  transform: translateY(-0.06em);
  pointer-events: none;
}

body.dsc-site.dsc-time-day .dsc-theme-fab {
  border-color: rgba(58, 53, 46, 0.16);
  background: rgba(255, 252, 246, 0.9);
  color: #3f3a34;
  box-shadow: 0 12px 32px rgba(58, 50, 44, 0.14);
}

body.dsc-site.dsc-time-day .dsc-theme-fab:focus-visible {
  outline-color: rgba(120, 85, 70, 0.55);
}
