@layer tokens {
  /* ===================================================
     Archive Emerald Accent Theme  The Gnostic Key
     Light: Verdant Parchment | Dark: Forest Depths
     Version: 2.3  Emerald Luxe Refresh (2026)
     Notes:
     - Richer luminous emeralds, smoother illuminated gradients
     - Enhanced depth, glow & readability while keeping the ancient archive soul
     - Full token parity with all other pillars
     - Painter-safe & fully tokenised
     =================================================== */

  /* =========================
     LIGHT MODE (Verdant Parchment)
     ========================= */
  html[data-theme="light"] body.emerald {
    /* Core */
    --bg-opacity: 0.33 !important;

    --bg-primary: #f2f8f5 !important;
    --bg-gradient: var(--bg-primary) !important;
    background: var(--bg-primary) !important;
    --bg-secondary: #d5e6de !important;
    --bg-wash: rgba(255, 255, 255, 0.93) !important;

    --text-primary: #142720 !important;
    --text-secondary: #35584a !important;
    --text-muted: #557466 !important;
    --text-base: var(--text-primary) !important;

    /* Accents – richer luminous emerald */
    --text-accent: #2f7f66 !important;
    --accent: var(--text-accent) !important;
    --accent-page: #37936f !important;

    --highlight: #d7efe5 !important;
    --shadow-glow: rgba(62, 165, 130, 0.18) !important;

    --glyph-color: #4ebda0 !important;
    --strong-text: #24785d !important;
    --cite-color: #24785d !important;

    /* Surfaces */
    --bg-alt: #deebe5 !important;
    --bg-surface: var(--bg-primary) !important;

    --card-gradient: color-mix(in srgb, var(--bg-secondary) 97%, var(--bg-primary) 3%) !important;

    /* Section defaults */
    --section-bg-top: #dbe8e1 !important;
    --section-bg-bottom: #cddcd4 !important;
    --section-border: rgba(62, 165, 130, 0.30) !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(62, 165, 130, 0.24) !important;
    --gold-border: rgba(62, 165, 130, 0.28) !important;
    --gold-tone: #5eb89c !important;

    --soft-gold: #d7efe5 !important;
    --golden-blaze: #e6fff8 !important;

    --accent-soft: rgba(62, 165, 130, 0.18) !important;
    --accent-soft-glow: rgba(62, 165, 130, 0.24) !important;
    --accent-glow: rgba(215, 239, 229, 0.56) !important;

    /* Shadows – softer & premium */
    --page-box-shadow: 0 0 18px rgba(62, 165, 130, 0.16) !important;
    --page-shadow-soft: 0 12px 28px rgba(0,0,0,0.09) !important;
    --glow-soft: 0 10px 22px rgba(62, 165, 130, 0.14) !important;
    --glow-strong: 0 18px 32px rgba(62, 165, 130, 0.20) !important;

    --accent-gradient: linear-gradient(145deg, #d7efe5, #2f7f66) !important;
    --bg: var(--bg-primary) !important;

    /* Inputs */
    --input-bg: #ddeae4 !important;
    --input-bg-focus: #f4f8f6 !important;
    --input-border: rgba(20, 39, 32, 0.24) !important;
    --input-text: #142720 !important;
    --input-placeholder: rgba(20, 39, 32, 0.48) !important;

    /* Badge tokens */
    --badge-bg: rgba(215, 239, 229, 0.86) !important;
    --badge-text: #2b6955 !important;
    --badge-border: rgba(62, 165, 130, 0.30) !important;
    --badge-shadow: 0 2px 8px rgba(62, 165, 130, 0.14) !important;

    /* Footer */
    --footer-opacity: 0.94 !important;

    /* Painter overlay */
    --overlay-bg-gradient: linear-gradient(
      to right,
      rgba(220, 231, 226, 0.34),
      rgba(145, 188, 174, 0.26)
    ) !important;

    --bg-gradient: var(--overlay-bg-gradient) !important;
  }

  /* Component overrides – light */
  html[data-theme="light"] body.emerald .site-header,
  html[data-theme="light"] body.emerald .site-footer {
    background: linear-gradient(to bottom, #f7fbf9, #e0f0e9) !important;
    color: var(--text-accent) !important;
    border-bottom: 1px solid var(--highlight) !important;
  }

  html[data-theme="light"] body.emerald .section-block {
    background: var(--section-bg-top) !important;
    border-color: var(--section-border) !important;
    box-shadow: var(--page-box-shadow) !important;
  }

  html[data-theme="light"] body.emerald .section-block p,
  html[data-theme="light"] body.emerald .section-block li {
    text-shadow: 0 1px 3px rgba(0,0,0,0.10) !important;
  }

  html[data-theme="light"] body.emerald .image-block {
    border: 1px solid var(--section-border) !important;
    box-shadow: 0 0 18px rgba(200, 247, 232, 0.14) !important;
  }

  html[data-theme="light"] body.emerald .quiz-question,
  html[data-theme="light"] body.emerald .quiz-prompt {
    background: linear-gradient(to right, #f4fbf8, #e0f0e9) !important;
    color: var(--text-accent) !important;
    border-left: 4px solid var(--glyph-color) !important;
    box-shadow: 0 0 14px rgba(200, 247, 232, 0.14) !important;
  }

  html[data-theme="light"] body.emerald .quiz-options {
    background: #d0e6dc !important;
    border: 1px solid var(--section-border) !important;
  }

  html[data-theme="light"] body.emerald .quiz-options button,
  html[data-theme="light"] body.emerald .quiz-button {
    background: #3aa97f !important;
    color: #f7fbf9 !important;
    border: 2px solid var(--glyph-color) !important;
    box-shadow: 0 0 8px rgba(200, 247, 232, 0.18) inset !important;
  }

  html[data-theme="light"] body.emerald .quiz-options button:hover,
  html[data-theme="light"] body.emerald .quiz-button:hover {
    background: var(--highlight) !important;
    color: #0f221b !important;
    border-color: #d0e6dc !important;
    box-shadow: 0 0 14px var(--shadow-glow) !important;
  }

  /* =========================
     DARK MODE (Forest Depths)
     ========================= */
  html[data-theme="dark"] body.emerald {
    /* Core */
    --bg-opacity: 0.17 !important;

    --bg-primary: #06120e !important;
    --bg-gradient: var(--bg-primary) !important;
    background: var(--bg-primary) !important;
    --bg-secondary: #0a1814 !important;
    --bg-wash: rgba(6, 15, 12, 0.95) !important;

    --text-primary: #e4f3ed !important;
    --text-secondary: #b8d8cd !important;
    --text-muted: #87b5a4 !important;
    --text-base: var(--text-primary) !important;

    /* Accents – richer glowing emerald */
    --text-accent: #4ea88c !important;
    --accent: var(--text-accent) !important;
    --accent-page: #57b393 !important;

    --highlight: #d7efe5 !important;
    --shadow-glow: rgba(90, 210, 178, 0.22) !important;

    --glyph-color: #b9ffef !important;
    --strong-text: #8bead3 !important;
    --cite-color: #8bead3 !important;

    /* Surfaces */
    --bg-alt: rgba(9, 20, 16, 0.98) !important;
    --bg-surface: rgba(5, 12, 10, 0.94) !important;

    --card-gradient: color-mix(in srgb, var(--bg-secondary) 97%, var(--bg-primary) 3%) !important;

    /* Section defaults */
    --section-bg-top: #0b1b16 !important;
    --section-bg-bottom: #10261f !important;
    --section-border: rgba(90, 210, 178, 0.34) !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(90, 210, 178, 0.30) !important;
    --gold-border: rgba(90, 210, 178, 0.30) !important;
    --gold-tone: #d9fff3 !important;

    --soft-gold: #d7efe5 !important;
    --golden-blaze: #e6fff8 !important;

    --accent-soft: rgba(90, 210, 178, 0.16) !important;
    --accent-soft-glow: rgba(90, 210, 178, 0.22) !important;
    --accent-glow: rgba(215, 239, 229, 0.38) !important;

    /* Shadows – deeper & dramatic */
    --page-box-shadow: 0 0 22px rgba(90, 210, 178, 0.16) !important;
    --page-shadow-soft: 0 12px 30px rgba(0,0,0,0.35) !important;
    --glow-soft: 0 12px 26px rgba(90, 210, 178, 0.16) !important;
    --glow-strong: 0 20px 36px rgba(90, 210, 178, 0.22) !important;

    --accent-gradient: linear-gradient(145deg, #d7efe5, #4ea88c) !important;
    --bg: var(--bg-primary) !important;

    /* Inputs */
    --input-bg: #0a1814 !important;
    --input-bg-focus: #10261f !important;
    --input-border: rgba(255, 255, 255, 0.18) !important;
    --input-text: #e4f3ed !important;
    --input-placeholder: rgba(228, 243, 237, 0.54) !important;

    /* Badge tokens */
    --badge-bg: rgba(90, 210, 178, 0.28) !important;
    --badge-text: #e4f3ed !important;
    --badge-border: rgba(90, 210, 178, 0.32) !important;
    --badge-shadow: 0 2px 8px rgba(90, 210, 178, 0.16) !important;

    /* Footer */
    --footer-opacity: 0.82 !important;

    /* Painter overlay */
    --overlay-bg-gradient: linear-gradient(
      to right,
      rgba(10, 24, 19, 0.38),
      rgba(18, 47, 37, 0.28)
    ) !important;

    --bg-gradient: var(--overlay-bg-gradient) !important;
  }

  /* Component overrides – dark */
  html[data-theme="dark"] body.emerald .site-header,
  html[data-theme="dark"] body.emerald .site-footer {
    background: linear-gradient(to bottom, #06120e, #0c1f19) !important;
    color: var(--text-accent) !important;
    border-bottom: 1px solid var(--highlight) !important;
  }

  html[data-theme="dark"] body.emerald .section-block {
    background: var(--section-bg-top) !important;
    border-color: var(--section-border) !important;
    box-shadow: var(--page-box-shadow) !important;
  }

  html[data-theme="dark"] body.emerald .section-block p,
  html[data-theme="dark"] body.emerald .section-block li {
    text-shadow: 0 1px 3px rgba(0,0,0,0.40) !important;
  }

  html[data-theme="dark"] body.emerald .image-block {
    border: 1px solid var(--section-border) !important;
    box-shadow: 0 0 20px rgba(200, 247, 232, 0.14) !important;
  }

  html[data-theme="dark"] body.emerald .quiz-question,
  html[data-theme="dark"] body.emerald .quiz-prompt {
    background: linear-gradient(to right, #122c23, #1a3b2f) !important;
    color: var(--strong-text) !important;
    border-left: 4px solid var(--glyph-color) !important;
    box-shadow: 0 0 16px rgba(200, 247, 232, 0.16) !important;
  }

  html[data-theme="dark"] body.emerald .quiz-options {
    background: #06120e !important;
    border: 1px solid var(--section-border) !important;
  }

  html[data-theme="dark"] body.emerald .quiz-options button,
  html[data-theme="dark"] body.emerald .quiz-button {
    background: #0c1f19 !important;
    color: var(--strong-text) !important;
    border: 2px solid var(--glyph-color) !important;
    box-shadow: 0 0 8px rgba(200, 247, 232, 0.14) inset !important;
  }

  html[data-theme="dark"] body.emerald .quiz-options button:hover,
  html[data-theme="dark"] body.emerald .quiz-button:hover {
    background: #122c23 !important;
    color: #f1fff9 !important;
    border-color: #c8f7e8 !important;
    box-shadow: 0 0 16px var(--shadow-glow) !important;
  }

  /* Verify banner (both modes – uses updated tokens) */
  html[data-theme="light"] body.emerald #verify-banner,
  html[data-theme="dark"] body.emerald #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.emerald #verify-banner button,
  html[data-theme="dark"] body.emerald #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.emerald #verify-banner button:hover,
  html[data-theme="dark"] body.emerald #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);
  }

  html[data-theme="light"] body.emerald,
  html[data-theme="dark"] body.emerald {
    --hero-overlay-text: #e3efe8;
    --hero-overlay-subtext: color-mix(in srgb, #e3efe8 94%, transparent);
    --hero-overlay-rule: color-mix(in srgb, #d7efe5 76%, transparent);
    --hero-overlay-cta-text: #dfece5;
    --hero-overlay-cta-border: color-mix(in srgb, #d7efe5 72%, transparent);
    --hero-overlay-cta-border-strong: color-mix(in srgb, #d7efe5 92%, transparent);
    --hero-overlay-cta-inner-border: color-mix(in srgb, #d7efe5 38%, transparent);
    --hero-overlay-cta-inner-shadow: inset 0 0 8px color-mix(in srgb, #d7efe5 10%, transparent);
    --hero-overlay-shadow-title: 0 2px 8px rgba(4, 12, 9, 0.42);
    --hero-overlay-shadow-copy: 0 2px 8px rgba(4, 12, 9, 0.34);
  }

  @keyframes fadeIn {
    from { opacity: 0; transform: translateY(-6px); }
    to   { opacity: 1; transform: translateY(0); }
  }
}

