@layer tokens {
  /* ===================================================
     The Keymaker’s Dream (Pillar: dream)
     Light: Petal Mist Memory | Dark: Rose Quartz Reverie
     Version: 2.3  Dream Luxe Refresh (2026)
     Notes:
     - Richer luminous rose-quartz tones, smoother ethereal gradients
     - Enhanced depth, glow & readability while keeping the soft dreamlike soul
     - Full token parity with all other pillars
     - Painter-safe & fully tokenised
     =================================================== */

  /* =========================
     LIGHT MODE (Petal Mist Memory)
     ========================= */
  html[data-theme="light"] body.dream {
    /* Core */
    --bg-opacity: 0.33 !important;

    --bg-primary: #fdf3f7 !important;
    --bg-gradient: var(--bg-primary) !important;
    background: var(--bg-primary) !important;
    --bg-secondary: #f8e6f0 !important;
    --bg-wash: rgba(255, 255, 255, 0.93) !important;

    --text-primary: #1f1a1e !important;
    --text-secondary: #4f3e46 !important;
    --text-muted: #6d5a64 !important;
    --text-base: var(--text-primary) !important;

    /* Accents – richer luminous rose */
    --text-accent: #c06b9b !important;
    --accent: var(--text-accent) !important;
    --accent-page: #d07fa8 !important;

    --highlight: #f9e3ef !important;
    --shadow-glow: rgba(192, 107, 155, 0.26) !important;

    --glyph-color: #e89ac0 !important;
    --strong-text: #a04a7c !important;
    --cite-color: #c06b9b !important;

    /* Surfaces */
    --bg-alt: #f9ecf3 !important;
    --bg-surface: var(--bg-primary) !important;

    --card-gradient: linear-gradient(
      152deg,
      #fdf3f7 0%,
      #f8e6f0 28%,
      #f0d4e6 55%,
      #e0b0d0 80%,
      #c06b9b 100%
    ) !important;

    /* Section defaults */
    --section-bg-top: #f8e6f0 !important;
    --section-bg-bottom: #f0d4e6 !important;
    --section-border: rgba(192, 107, 155, 0.42) !important;
    --section-subtitle-color: var(--text-secondary) !important;

    /* Links */
    --link-color: var(--text-accent) !important;
    --link-hover: var(--highlight) !important;

    /* Borders & tones */
    --border-accent: rgba(192, 107, 155, 0.32) !important;
    --gold-border: rgba(192, 107, 155, 0.38) !important;
    --gold-tone: #e89ac0 !important;

    --soft-gold: #f9e3ef !important;
    --golden-blaze: #ffe8f4 !important;

    --accent-soft: rgba(192, 107, 155, 0.26) !important;
    --accent-soft-glow: rgba(192, 107, 155, 0.36) !important;
    --accent-glow: rgba(249, 227, 239, 0.72) !important;

    /* Shadows – softer & premium */
    --page-box-shadow: 0 0 20px rgba(192, 107, 155, 0.20) !important;
    --page-shadow-soft: 0 12px 28px rgba(0,0,0,0.09) !important;
    --glow-soft: 0 10px 22px rgba(192, 107, 155, 0.18) !important;
    --glow-strong: 0 18px 32px rgba(192, 107, 155, 0.26) !important;

    --accent-gradient: linear-gradient(145deg, #f9e3ef, #c06b9b) !important;
    --bg: var(--bg-primary) !important;

    /* Inputs */
    --input-bg: #f8e6f0 !important;
    --input-bg-focus: #fdf3f7 !important;
    --input-border: rgba(31, 26, 30, 0.26) !important;
    --input-text: #1f1a1e !important;
    --input-placeholder: rgba(31, 26, 30, 0.52) !important;

    /* Badge tokens */
    --badge-bg: rgba(249, 227, 239, 0.82) !important;
    --badge-text: #6c2e52 !important;
    --badge-border: rgba(192, 107, 155, 0.48) !important;
    --badge-shadow: 0 2px 8px rgba(192, 107, 155, 0.20) !important;

    /* Footer */
    --footer-opacity: 0.95 !important;

    /* Painter overlay */
    --overlay-bg-gradient: linear-gradient(
      to right,
      rgba(253, 243, 247, 0.38),
      rgba(232, 172, 200, 0.32)
    ) !important;

    --bg-gradient: var(--overlay-bg-gradient) !important;
  }

  /* Component overrides – light */
  html[data-theme="light"] body.dream .site-header,
  html[data-theme="light"] body.dream .site-footer {
    background: linear-gradient(to bottom, #fffafd, #f8e6f0) !important;
    color: var(--text-accent) !important;
    border-bottom: 1px solid var(--highlight) !important;
  }

  html[data-theme="light"] body.dream .section-block {
    background: linear-gradient(
      148deg,
      #f8e6f0 0%,
      #f0d4e6 52%,
      rgba(192, 107, 155, 0.42) 100%
    ) !important;
    border-color: var(--section-border) !important;
    box-shadow: var(--page-box-shadow) !important;
  }

  html[data-theme="light"] body.dream .section-block p,
  html[data-theme="light"] body.dream .section-block li {
    text-shadow: 0 1px 3px rgba(0,0,0,0.10) !important;
  }

  html[data-theme="light"] body.dream .image-block {
    border: 1px solid var(--section-border) !important;
    box-shadow: 0 0 18px rgba(249, 227, 239, 0.14) !important;
  }

  html[data-theme="light"] body.dream .quiz-question,
  html[data-theme="light"] body.dream .quiz-prompt {
    background: linear-gradient(to right, #fdf3f7, #f8e6f0) !important;
    color: var(--text-accent) !important;
    border-left: 4px solid var(--glyph-color) !important;
    box-shadow: 0 0 14px rgba(249, 227, 239, 0.14) !important;
  }

  html[data-theme="light"] body.dream .quiz-options {
    background: #f0d4e6 !important;
    border: 1px solid var(--section-border) !important;
  }

  html[data-theme="light"] body.dream .quiz-options button,
  html[data-theme="light"] body.dream .quiz-button {
    background: #d07fa8 !important;
    color: #fdf3f7 !important;
    border: 2px solid var(--glyph-color) !important;
    box-shadow: 0 0 8px rgba(249, 227, 239, 0.18) inset !important;
  }

  html[data-theme="light"] body.dream .quiz-options button:hover,
  html[data-theme="light"] body.dream .quiz-button:hover {
    background: var(--highlight) !important;
    color: #1f1a1e !important;
    border-color: #f0d4e6 !important;
    box-shadow: 0 0 14px var(--shadow-glow) !important;
  }

  /* =========================
     DARK MODE (Rose Quartz Reverie)
     ========================= */
  html[data-theme="dark"] body.dream {
    /* Core */
    --bg-opacity: 0.17 !important;

    --bg-primary: #1c111e !important;
    --bg-gradient: var(--bg-primary) !important;
    background: var(--bg-primary) !important;
    --bg-secondary: #2a1a2c !important;
    --bg-wash: rgba(18, 11, 20, 0.94) !important;

    --text-primary: #f4e9f0 !important;
    --text-secondary: #d4b0c4 !important;
    --text-muted: #b08a9f !important;
    --text-base: var(--text-primary) !important;

    /* Accents – richer glowing rose quartz */
    --text-accent: #d08fb3 !important;
    --accent: var(--text-accent) !important;
    --accent-page: #e0a0c2 !important;

    --highlight: #f1c6dd !important;
    --shadow-glow: rgba(208, 143, 179, 0.32) !important;

    --glyph-color: #f8d0e8 !important;
    --strong-text: #e0a0c2 !important;
    --cite-color: #d08fb3 !important;

    /* Surfaces */
    --bg-alt: rgba(28, 18, 30, 0.96) !important;
    --bg-surface: rgba(20, 13, 22, 0.90) !important;

    --card-gradient: linear-gradient(
      152deg,
      #1c111e 0%,
      #2a1a2c 26%,
      #3a2340 52%,
      #5a3a6f 76%,
      #d08fb3 100%
    ) !important;

    /* Section defaults */
    --section-bg-top: #2a1a2c !important;
    --section-bg-bottom: #3a2340 !important;
    --section-border: rgba(208, 143, 179, 0.52) !important;
    --section-subtitle-color: var(--text-secondary) !important;

    /* Links */
    --link-color: var(--text-accent) !important;
    --link-hover: var(--highlight) !important;

    /* Borders & tones */
    --border-accent: rgba(208, 143, 179, 0.42) !important;
    --gold-border: rgba(208, 143, 179, 0.42) !important;
    --gold-tone: #f8d0e8 !important;

    --soft-gold: #f1c6dd !important;
    --golden-blaze: #f8d8e8 !important;

    --accent-soft: rgba(208, 143, 179, 0.24) !important;
    --accent-soft-glow: rgba(208, 143, 179, 0.34) !important;
    --accent-glow: rgba(241, 198, 221, 0.52) !important;

    /* Shadows – deeper & dramatic */
    --page-box-shadow: 0 0 24px rgba(208, 143, 179, 0.24) !important;
    --page-shadow-soft: 0 12px 30px rgba(0,0,0,0.35) !important;
    --glow-soft: 0 12px 26px rgba(208, 143, 179, 0.20) !important;
    --glow-strong: 0 20px 36px rgba(208, 143, 179, 0.30) !important;

    --accent-gradient: linear-gradient(145deg, #f1c6dd, #d08fb3) !important;
    --bg: var(--bg-primary) !important;

    /* Inputs */
    --input-bg: #2a1a2c !important;
    --input-bg-focus: #3a2340 !important;
    --input-border: rgba(255, 255, 255, 0.18) !important;
    --input-text: #f4e9f0 !important;
    --input-placeholder: rgba(244, 233, 240, 0.58) !important;

    /* Badge tokens */
    --badge-bg: rgba(208, 143, 179, 0.42) !important;
    --badge-text: #f8d0e8 !important;
    --badge-border: rgba(208, 143, 179, 0.48) !important;
    --badge-shadow: 0 2px 8px rgba(208, 143, 179, 0.24) !important;

    /* Footer */
    --footer-opacity: 0.84 !important;

    /* Painter overlay */
    --overlay-bg-gradient: linear-gradient(
      to right,
      rgba(34, 22, 38, 0.38),
      rgba(106, 58, 94, 0.34)
    ) !important;

    --bg-gradient: var(--overlay-bg-gradient) !important;
  }

  /* Component overrides – dark */
  html[data-theme="dark"] body.dream .site-header,
  html[data-theme="dark"] body.dream .site-footer {
    background: linear-gradient(to bottom, #1c111e, #2a1a2c) !important;
    color: var(--text-accent) !important;
    border-bottom: 1px solid var(--highlight) !important;
  }

  html[data-theme="dark"] body.dream .section-block {
    background: linear-gradient(148deg, #2a1a2c 0%, #3a2340 52%, #5a3a6f 100%) !important;
    border-color: var(--section-border) !important;
    box-shadow: var(--page-box-shadow) !important;
  }

  html[data-theme="dark"] body.dream .section-block p,
  html[data-theme="dark"] body.dream .section-block li {
    text-shadow: 0 1px 3px rgba(0,0,0,0.40) !important;
  }

  html[data-theme="dark"] body.dream .image-block {
    border: 1px solid var(--section-border) !important;
    box-shadow: 0 0 20px rgba(241, 198, 221, 0.14) !important;
  }

  html[data-theme="dark"] body.dream .quiz-question,
  html[data-theme="dark"] body.dream .quiz-prompt {
    background: linear-gradient(to right, #3a2340, #5a3a6f) !important;
    color: var(--strong-text) !important;
    border-left: 4px solid var(--glyph-color) !important;
    box-shadow: 0 0 16px rgba(241, 198, 221, 0.16) !important;
  }

  html[data-theme="dark"] body.dream .quiz-options {
    background: #1c111e !important;
    border: 1px solid var(--section-border) !important;
  }

  html[data-theme="dark"] body.dream .quiz-options button,
  html[data-theme="dark"] body.dream .quiz-button {
    background: #2a1a2c !important;
    color: var(--strong-text) !important;
    border: 2px solid var(--glyph-color) !important;
    box-shadow: 0 0 8px rgba(241, 198, 221, 0.14) inset !important;
  }

  html[data-theme="dark"] body.dream .quiz-options button:hover,
  html[data-theme="dark"] body.dream .quiz-button:hover {
    background: #3a2340 !important;
    color: #fff0f7 !important;
    border-color: #f1c6dd !important;
    box-shadow: 0 0 16px var(--shadow-glow) !important;
  }

  /* Verify banner (both modes – uses updated tokens) */
  html[data-theme="light"] body.dream #verify-banner,
  html[data-theme="dark"] body.dream #verify-banner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--verify-banner-gap, 0.6rem);
    padding: var(--verify-banner-padding, 0.75rem 1rem);
    margin: var(--verify-banner-margin, 0 0 1rem 0);
    border-radius: var(--verify-banner-radius, 0.75rem);
    border: var(--verify-banner-border, 1px solid var(--section-border));
    background: var(--verify-banner-bg, var(--badge-bg));
    color: var(--verify-banner-text, var(--badge-text));
    box-shadow: var(--verify-banner-shadow, var(--badge-shadow));
    font-size: var(--verify-banner-font-size, 0.9rem);
    text-align: center;
    animation: fadeIn 0.4s ease-out forwards;
  }

  html[data-theme="light"] body.dream #verify-banner button,
  html[data-theme="dark"] body.dream #verify-banner button {
    background: var(--verify-btn-bg, var(--text-accent));
    color: var(--verify-btn-text, var(--bg-primary));
    border: var(--verify-btn-border, 1px solid var(--accent-page));
    border-radius: var(--verify-btn-radius, 0.5rem);
    padding: var(--verify-btn-padding, 0.35rem 0.75rem);
    cursor: pointer;
    font-weight: var(--verify-btn-weight, 500);
    transition: var(--verify-btn-transition, all 0.2s ease-in-out);
  }

  html[data-theme="light"] body.dream #verify-banner button:hover,
  html[data-theme="dark"] body.dream #verify-banner button:hover {
    background: var(--highlight);
    color: var(--text-primary);
    border-top-color: var(--strong-text);
    box-shadow: 0 0 12px var(--shadow-glow);
  }

  @keyframes fadeIn {
    from { opacity: 0; transform: translateY(-6px); }
    to   { opacity: 1; transform: translateY(0); }
  }
}