/* ============================================================================
   MPK — colour gallery: twenty complete looks plus the shared glow engine.

   CASCADE CONTRACT — read before editing. Each tier is strictly stronger
   than the one above it, so document order never decides anything:

     1. Glow engine             :root                                 (0,1,0)
     2. Shared palette defaults [data-qai-palette]:not(…obsidian)     (0,2,0)
     3. Shared component skin   [data-qai-palette]:not(…) .thing      (0,3,0)
     4. Tone groups             :root:root[data-qai-palette="x"], …   (0,3,0)
     5. Palette blocks          :root:root[data-qai-palette="x"]      (0,3,0)
     6. Palette component fixes :root:root:is(…) .thing               (0,4,0)

   The doubled :root is deliberate: it buys one class-level of specificity
   so a palette can never lose to the shared defaults. Do NOT add :root to
   tiers 2 and 3 — that lifted them to (0,3,0) and silently swallowed every
   per-palette override, which is how the light palettes ended up painting
   white text on white paper and eight palettes ended up sharing one
   background texture.

   Every palette declares the same contract:
     bg / bg-2 / surface-rgb   the three surfaces
     a / b / c -rgb            the accent triad, as raw channels
     title / body / muted      the ink, tinted to the palette
     pattern / grid            its own background texture
     speeds + glow + pulse     its own rhythm and burn
   ============================================================================ */


/* 1 — GLOW ENGINE ==========================================================
   Everything that burns on the page is derived from the accent triad and one
   intensity dial (--qai-glow), so a palette only has to turn the dial. The
   engine covers Obsidian too: its colours are untouched, it just lights up. */

:root {
  --qai-a-rgb: 34, 197, 139;
  --qai-b-rgb: 109, 123, 255;
  --qai-c-rgb: 232, 189, 90;
  --qai-glow: 1;
  --qai-glow-pulse: 7s;
  --qai-shine-speed: 5.5s;

  --qai-glow-text-lo:
    0 0 12px rgba(var(--qai-a-rgb), calc(.30 * var(--qai-glow))),
    0 0 34px rgba(var(--qai-b-rgb), calc(.15 * var(--qai-glow)));
  --qai-glow-text-hi:
    0 0 22px rgba(var(--qai-a-rgb), calc(.52 * var(--qai-glow))),
    0 0 62px rgba(var(--qai-b-rgb), calc(.30 * var(--qai-glow))),
    0 0 96px rgba(var(--qai-c-rgb), calc(.16 * var(--qai-glow)));
  --qai-halo-lo:
    0 0 0 1px rgba(var(--qai-a-rgb), calc(.18 * var(--qai-glow))),
    0 14px 34px -14px rgba(var(--qai-a-rgb), calc(.55 * var(--qai-glow)));
  --qai-halo-hi:
    0 0 0 1px rgba(var(--qai-a-rgb), calc(.30 * var(--qai-glow))),
    0 18px 46px -12px rgba(var(--qai-a-rgb), calc(.80 * var(--qai-glow))),
    0 0 26px rgba(var(--qai-c-rgb), calc(.32 * var(--qai-glow)));
  --qai-edge-glow:
    0 0 0 1px rgba(var(--qai-a-rgb), calc(.26 * var(--qai-glow))),
    0 0 30px -6px rgba(var(--qai-a-rgb), calc(.42 * var(--qai-glow))),
    0 0 60px -18px rgba(var(--qai-b-rgb), calc(.38 * var(--qai-glow)));
  --qai-dot-glow: 0 0 10px rgba(var(--qai-c-rgb), calc(.85 * var(--qai-glow))),
                  0 0 22px rgba(var(--qai-c-rgb), calc(.45 * var(--qai-glow)));
  --qai-shine-ink: rgba(255, 255, 255, calc(.42 * var(--qai-glow)));
}

@keyframes qaiGlowPulse {
  0%, 100% { text-shadow: var(--qai-glow-text-lo); }
  50%      { text-shadow: var(--qai-glow-text-hi); }
}
@keyframes qaiHalo {
  0%, 100% { box-shadow: var(--qai-halo-lo); }
  50%      { box-shadow: var(--qai-halo-hi); }
}
@keyframes qaiShine {
  0%        { transform: translateX(-160%) skewX(-18deg); }
  58%, 100% { transform: translateX(200%) skewX(-18deg); }
}
@keyframes qaiDotGlow {
  0%, 100% { box-shadow: var(--qai-dot-glow); opacity: .85; }
  50%      { box-shadow: none; opacity: .45; }
}

/* Hero headline: the main "burning" surface of the page. */
[data-qai-palette] .qai-hero__title {
  text-shadow: var(--qai-glow-text-lo);
  animation: qaiGlowPulse var(--qai-glow-pulse) ease-in-out infinite;
}
[data-qai-palette] .qai-stat__value {
  text-shadow: 0 0 18px rgba(var(--qai-a-rgb), calc(.28 * var(--qai-glow)));
}
[data-qai-palette] .qai-section-head__eyebrow,
[data-qai-palette] .qai-card__eyebrow {
  text-shadow: 0 0 14px rgba(var(--qai-a-rgb), calc(.35 * var(--qai-glow)));
}
[data-qai-palette] .qai-feature__icon {
  filter: drop-shadow(0 0 12px rgba(var(--qai-a-rgb), calc(.55 * var(--qai-glow))));
}

/* The pill above the headline: a pulsing dot plus a sweep of light. */
[data-qai-palette] .qai-kicker {
  position: relative;
  overflow: hidden;
  box-shadow: 0 0 0 1px rgba(var(--qai-a-rgb), calc(.22 * var(--qai-glow))),
              0 0 24px -8px rgba(var(--qai-a-rgb), calc(.6 * var(--qai-glow)));
}
[data-qai-palette] .qai-kicker::before {
  box-shadow: var(--qai-dot-glow);
  animation: qaiPulse 2.1s infinite, qaiDotGlow calc(var(--qai-glow-pulse) * .42) ease-in-out infinite;
}
[data-qai-palette] .qai-kicker::after,
[data-qai-palette] .qai-btn--primary::after,
[data-qai-palette] .block_make_submission_link::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 42%;
  background: linear-gradient(100deg, transparent, var(--qai-shine-ink), transparent);
  animation: qaiShine var(--qai-shine-speed) cubic-bezier(.4, 0, .2, 1) infinite;
  pointer-events: none;
}

/* Primary actions: a living halo, and the same sweep of light. */
[data-qai-palette] .qai-btn--primary,
[data-qai-palette] .block_make_submission_link {
  position: relative;
  overflow: hidden;
  box-shadow: var(--qai-halo-lo);
  animation: qaiHalo calc(var(--qai-glow-pulse) * 1.15) ease-in-out infinite;
}
[data-qai-palette] .qai-btn--primary:hover,
[data-qai-palette] .block_make_submission_link:hover {
  box-shadow: var(--qai-halo-hi);
  animation: none;
}
[data-qai-palette] .qai-btn:hover {
  box-shadow: 0 0 0 1px rgba(var(--qai-a-rgb), calc(.34 * var(--qai-glow))),
              0 12px 30px -14px rgba(var(--qai-a-rgb), calc(.7 * var(--qai-glow)));
}

/* Surfaces light up under the cursor instead of only lifting. */
[data-qai-palette] .qai-card,
[data-qai-palette] .qai-feature,
[data-qai-palette] .qai-step,
[data-qai-palette] .qai-hub-card,
[data-qai-palette] .qai-about-card,
[data-qai-palette] .obj_article_summary,
[data-qai-palette] .qai-stat {
  transition: transform .24s ease, border-color .24s ease, box-shadow .34s ease;
}
[data-qai-palette] .qai-card:hover,
[data-qai-palette] .qai-feature:hover,
[data-qai-palette] .qai-step:hover,
[data-qai-palette] .qai-hub-card:hover,
[data-qai-palette] .obj_article_summary:hover,
[data-qai-palette] .qai-stat:hover {
  border-color: rgba(var(--qai-a-rgb), calc(.45 * var(--qai-glow)));
  box-shadow: var(--qai-edge-glow);
}
[data-qai-palette] .qai-step__num,
[data-qai-palette] .qai-index-icon,
[data-qai-palette] .qai-index-list li::before {
  box-shadow: 0 0 18px -4px rgba(var(--qai-a-rgb), calc(.75 * var(--qai-glow)));
}
[data-qai-palette] .qai-orb {
  filter: blur(var(--qai-orb-blur, 100px)) saturate(calc(1 + .35 * var(--qai-glow)));
}
[data-qai-palette] .pkp_structure_footer_wrapper::before {
  box-shadow: 0 0 22px rgba(var(--qai-a-rgb), calc(.5 * var(--qai-glow)));
}


/* 2 — SHARED PALETTE DEFAULTS =============================================
   Bridges the palette contract onto the variables the rest of the theme
   already uses. Dark ink is the default here; the light tone group below
   replaces it. Obsidian is excluded so the original look stays byte-exact. */

[data-qai-palette]:not([data-qai-palette="obsidian"]) {
  --qai-bg: var(--qai-theme-bg);
  --qai-bg-2: var(--qai-theme-bg-2);
  --qai-panel: rgba(var(--qai-surface-rgb), .72);
  --qai-panel-strong: rgba(var(--qai-surface-rgb), .94);
  --qai-panel-soft: rgba(var(--qai-ink-rgb), .045);
  --qai-border: rgba(var(--qai-ink-rgb), .12);
  --qai-border-bright: rgba(var(--qai-a-rgb), .38);
  --qai-economy: rgb(var(--qai-a-rgb));
  --qai-knowledge: rgb(var(--qai-b-rgb));
  --qai-wealth: rgb(var(--qai-c-rgb));
  --qai-primary: var(--qai-economy);
  --qai-primary-dark: var(--qai-theme-bg-2);
  --qai-primary-light: var(--qai-economy);
  --qai-accent: var(--qai-wealth);
  --qai-accent-light: var(--qai-wealth);
  --qai-cyan: var(--qai-knowledge);
  --qai-blue: var(--qai-knowledge);
  --qai-purple: var(--qai-knowledge);
  --qai-pink: var(--qai-wealth);
  --qai-green: var(--qai-economy);
  --qai-text: var(--qai-theme-title);
  --qai-text-2: var(--qai-theme-body);
  --qai-muted: var(--qai-theme-muted);
  --qai-dim: var(--qai-theme-muted);
  --qai-warning: var(--qai-wealth);
  --qai-gradient: linear-gradient(105deg, var(--qai-economy), var(--qai-knowledge) 55%, var(--qai-wealth));
  --qai-gradient-soft: linear-gradient(135deg, rgba(var(--qai-a-rgb), .17), rgba(var(--qai-b-rgb), .14) 55%, rgba(var(--qai-c-rgb), .14));
  --qai-shadow: 0 30px 90px rgba(0, 0, 0, .34);
  --qai-shadow-soft: 0 18px 48px rgba(0, 0, 0, .30);
  --qai-theme-title: #f7f8fd;
  --qai-theme-body: #cad2e2;
  --qai-theme-muted: #a2aec5;
  --qai-ink-rgb: 247, 248, 253;
  --qai-theme-button-bg: var(--qai-gradient);
  --qai-theme-button-ink: #10151e;
  --qai-theme-pattern: radial-gradient(rgba(var(--qai-ink-rgb), .065) 1px, transparent 1px);
  --qai-theme-pattern-size: 32px 32px;
  --qai-theme-grid-size: 64px 64px;
  --qai-theme-aurora-opacity: .6;
  --qai-theme-blend: screen;
  --qai-theme-ambient-speed: 34s;
  --qai-theme-orb-speed: 13s;
  --qai-theme-a-speed: 28s;
  --qai-theme-b-speed: 34s;
  --qai-theme-c-speed: 40s;
  --qai-theme-direction: alternate;
  --qai-particle-a: rgba(var(--qai-a-rgb), .62);
  --qai-particle-b: rgba(var(--qai-b-rgb), .60);
  --qai-particle-c: rgba(var(--qai-c-rgb), .55);
  --qai-particle-speed: .34;
  --qai-particle-link: 150;
}
/* One coordinated treatment for all non-default selections. */
[data-qai-palette]:not([data-qai-palette="obsidian"]) .pkp_structure_page::before {
  background:
    radial-gradient(circle at 6% 10%, rgba(var(--qai-a-rgb), .16), transparent 29%),
    radial-gradient(circle at 94% 18%, rgba(var(--qai-b-rgb), .15), transparent 30%),
    radial-gradient(circle at 14% 66%, rgba(var(--qai-c-rgb), .12), transparent 31%),
    radial-gradient(circle at 90% 78%, rgba(var(--qai-a-rgb), .12), transparent 31%),
    radial-gradient(circle at 46% 96%, rgba(var(--qai-b-rgb), .12), transparent 35%);
  animation-duration: var(--qai-theme-ambient-speed);
  animation-direction: var(--qai-theme-direction);
}
[data-qai-palette]:not([data-qai-palette="obsidian"]) .pkp_structure_page::after {
  background-image: var(--qai-theme-pattern);
  background-size: var(--qai-theme-pattern-size);
}
[data-qai-palette]:not([data-qai-palette="obsidian"]) .qai-hero {
  background:
    radial-gradient(circle at 12% 15%, rgba(var(--qai-a-rgb), .23), transparent 32%),
    radial-gradient(circle at 88% 28%, rgba(var(--qai-b-rgb), .22), transparent 32%),
    radial-gradient(circle at 50% 92%, rgba(var(--qai-c-rgb), .17), transparent 34%),
    linear-gradient(180deg, var(--qai-bg-2), var(--qai-bg) 70%);
}
[data-qai-palette]:not([data-qai-palette="obsidian"]) .qai-hero__grid {
  background-image: linear-gradient(rgba(var(--qai-b-rgb), .075) 1px, transparent 1px), linear-gradient(90deg, rgba(var(--qai-b-rgb), .075) 1px, transparent 1px);
  background-size: var(--qai-theme-grid-size);
}
[data-qai-palette]:not([data-qai-palette="obsidian"]) .qai-aurora {
  opacity: var(--qai-theme-aurora-opacity);
}
[data-qai-palette]:not([data-qai-palette="obsidian"]) .qai-aurora__blob {
  mix-blend-mode: var(--qai-theme-blend);
}
[data-qai-palette]:not([data-qai-palette="obsidian"]) .qai-aurora__blob--a {
  background: radial-gradient(circle, rgba(var(--qai-a-rgb), .57), transparent 66%);
  animation-duration: var(--qai-theme-a-speed);
  animation-direction: var(--qai-theme-direction);
}
[data-qai-palette]:not([data-qai-palette="obsidian"]) .qai-aurora__blob--b {
  background: radial-gradient(circle, rgba(var(--qai-b-rgb), .54), transparent 66%);
  animation-duration: var(--qai-theme-b-speed);
  animation-direction: var(--qai-theme-direction);
}
[data-qai-palette]:not([data-qai-palette="obsidian"]) .qai-aurora__blob--c {
  background: radial-gradient(circle, rgba(var(--qai-c-rgb), .45), transparent 66%);
  animation-duration: var(--qai-theme-c-speed);
  animation-direction: var(--qai-theme-direction);
}
[data-qai-palette]:not([data-qai-palette="obsidian"]) .qai-orb { animation-duration: var(--qai-theme-orb-speed); }
[data-qai-palette]:not([data-qai-palette="obsidian"]) .qai-hero__subtitle { animation-duration: calc(var(--qai-theme-orb-speed) * .65); }
[data-qai-palette]:not([data-qai-palette="obsidian"]) .qai-kicker::before { animation-duration: calc(var(--qai-theme-orb-speed) * .18); }
[data-qai-palette]:not([data-qai-palette="obsidian"]) .qai-particle-canvas { opacity: .7; }

/* Replace fixed dark surfaces and fixed green/indigo/gold highlights. */
[data-qai-palette]:not([data-qai-palette="obsidian"]) .qai-header-scrolled .pkp_head_wrapper,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .pkp_head_wrapper,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .pkp_navigation_primary ul,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .pkp_navigation_user ul,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .dropdown-menu {
  background: var(--qai-panel-strong);
  border-color: var(--qai-border);
}
[data-qai-palette]:not([data-qai-palette="obsidian"]) .page:not(.page_index_journal),
[data-qai-palette]:not([data-qai-palette="obsidian"]) .pkp_page_issue .page_issue,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .pkp_page_article .page_article,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .qai-card,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .qai-about-card,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .qai-step,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .qai-feature,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .qai-hub-card,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .page_index_journal > .cmp_announcements,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .page_index_journal > .current_issue,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .page_index_journal > .additional_content,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .obj_article_summary,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .pkp_block {
  background: linear-gradient(160deg, var(--qai-panel-strong), var(--qai-bg-2));
  border-color: var(--qai-border);
}
[data-qai-palette]:not([data-qai-palette="obsidian"]) .obj_article_details ul.authors > li,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .cmp_form input[type="text"],
[data-qai-palette]:not([data-qai-palette="obsidian"]) .cmp_form input[type="email"],
[data-qai-palette]:not([data-qai-palette="obsidian"]) .cmp_form input[type="password"],
[data-qai-palette]:not([data-qai-palette="obsidian"]) .cmp_form input[type="url"],
[data-qai-palette]:not([data-qai-palette="obsidian"]) .cmp_form input[type="number"],
[data-qai-palette]:not([data-qai-palette="obsidian"]) .cmp_form input[type="search"],
[data-qai-palette]:not([data-qai-palette="obsidian"]) .cmp_form select,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .cmp_form textarea,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .pkp_block input[type="text"],
[data-qai-palette]:not([data-qai-palette="obsidian"]) .pkp_block input[type="search"],
[data-qai-palette]:not([data-qai-palette="obsidian"]) .pkp_block select {
  background: var(--qai-panel-strong);
  color: var(--qai-text);
}
[data-qai-palette]:not([data-qai-palette="obsidian"]) .pkp_structure_footer_wrapper {
  background: linear-gradient(180deg, var(--qai-bg-2), var(--qai-bg));
}
[data-qai-palette]:not([data-qai-palette="obsidian"]) .obj_article_details .item.doi {
  background: linear-gradient(105deg, rgba(var(--qai-a-rgb), .1), rgba(var(--qai-b-rgb), .08));
}
[data-qai-palette]:not([data-qai-palette="obsidian"]) .pkp_navigation_primary > li > a:hover,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .pkp_navigation_primary > li > a:focus,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .pkp_navigation_user > li > a:hover,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .pkp_navigation_user > li > a:focus,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .pkp_search_desktop:hover,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .pkp_search_desktop:focus,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .pkp_navigation_primary ul a:hover,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .pkp_navigation_user ul a:hover {
  background: rgba(var(--qai-b-rgb), .12);
  border-color: rgba(var(--qai-b-rgb), .25);
  color: var(--qai-text) !important;
}
[data-qai-palette]:not([data-qai-palette="obsidian"]) .qai-kicker,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .read_more,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .cmp_galley_link {
  background: rgba(var(--qai-a-rgb), .11);
  color: var(--qai-economy) !important;
}
[data-qai-palette]:not([data-qai-palette="obsidian"]) .qai-btn--primary,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .pkp_navigation_user > li:last-child > a,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .cmp_form button,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .cmp_form input[type="submit"],
[data-qai-palette]:not([data-qai-palette="obsidian"]) .cmp_button,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .cmp_button_link,
[data-qai-palette]:not([data-qai-palette="obsidian"]) button.submit,
[data-qai-palette]:not([data-qai-palette="obsidian"]) input.submit,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .block_make_submission_link,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .qai-step__num,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .qai-index-list li::before,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .qai-index-icon,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .cmp_galley_link:hover {
  background: var(--qai-theme-button-bg);
  color: var(--qai-theme-button-ink) !important;
}
[data-qai-palette]:not([data-qai-palette="obsidian"]) .qai-btn--primary:hover { color: var(--qai-theme-button-ink) !important; }

/* Fixed light-on-dark text in the base styles must follow the chosen ink. */
[data-qai-palette]:not([data-qai-palette="obsidian"]) .pkp_site_name .is_text,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .page_title,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .page h2,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .page h3,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .qai-hero__title,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .qai-stat__value,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .qai-section-head h2,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .qai-card__title,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .qai-step h3,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .qai-feature h3,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .qai-hub-card strong,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .page_index_journal .current_issue > h2,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .page_index_journal .cmp_announcements > h2,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .obj_issue_toc .heading,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .obj_article_summary .title a,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .obj_issue_summary .title,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .obj_article_details .authors .name,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .obj_article_details .item.abstract > .label,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .obj_article_details .item.references > .label,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .obj_announcement_full h1,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .obj_announcement_summary h3,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .obj_announcement_summary a,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .pkp_block .title,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .pkp_block > h2,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .pkp_block > h3,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .cmp_form legend,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .cmp_form .label,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .cmp_form label,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .cmp_table th {
  color: var(--qai-text) !important;
}
[data-qai-palette]:not([data-qai-palette="obsidian"]) .qai-hero__desc,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .qai-about-card,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .obj_article_details,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .obj_article_details .item.abstract,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .cmp_table td,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .pkp_footer_content,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .pkp_block p {
  color: var(--qai-text-2);
}
[data-qai-palette]:not([data-qai-palette="obsidian"]) .qai-meta-grid dd,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .qai-index-list li,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .obj_article_details > .subtitle,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .obj_article_summary .meta,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .obj_article_details .authors .affiliation,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .obj_article_details .authors .userGroup,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .obj_article_details .authors .orcid,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .pkp_block,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .cmp_pagination,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .qai-tools button,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .pkp_navigation_primary > li > a,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .pkp_navigation_user > li > a,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .pkp_navigation_primary ul a,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .pkp_navigation_user ul a,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .qai-btn,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .cmp_pagination a,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .pkp_block a,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .cmp_breadcrumbs a,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .pkp_footer_content a {
  color: var(--qai-theme-muted) !important;
}
[data-qai-palette]:not([data-qai-palette="obsidian"]) .qai-btn--primary,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .pkp_navigation_user > li:last-child > a,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .block_make_submission_link { color: var(--qai-theme-button-ink) !important; }
[data-qai-palette]:not([data-qai-palette="obsidian"]) .obj_issue_toc .section > h3,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .pkp_search_desktop,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .qai-feature__icon { color: var(--qai-economy) !important; }
[data-qai-palette]:not([data-qai-palette="obsidian"]) .cmp_form input::placeholder { color: var(--qai-muted); }
[data-qai-palette]:not([data-qai-palette="obsidian"]) ::selection { background: rgba(var(--qai-b-rgb), .28); color: var(--qai-text); }
[data-qai-palette]:not([data-qai-palette="obsidian"]) .cmp_notification {
  border-color: rgba(var(--qai-c-rgb), .32);
  background: rgba(var(--qai-c-rgb), .11);
  color: var(--qai-wealth);
}
[data-qai-palette]:not([data-qai-palette="obsidian"]) .cmp_notification.error {
  border-color: rgba(168, 35, 62, .3);
  background: rgba(168, 35, 62, .08);
  color: var(--qai-danger);
}
[data-qai-palette]:not([data-qai-palette="obsidian"]) .cmp_pagination a:hover,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .qai-tools button:hover {
  color: var(--qai-text) !important;
}


/* Base styles hard-code dark-only shadows and a white wash; both have to
   follow the palette, otherwise light presets get black smudges. */
[data-qai-palette]:not([data-qai-palette="obsidian"]) .pkp_head_wrapper,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .dropdown-menu,
[data-qai-palette]:not([data-qai-palette="obsidian"]) .qai-stat {
  box-shadow: var(--qai-shadow-soft);
}
[data-qai-palette]:not([data-qai-palette="obsidian"]) .qai-header-scrolled .pkp_head_wrapper {
  box-shadow: var(--qai-shadow);
}
[data-qai-palette]:not([data-qai-palette="obsidian"]) .qai-btn:not(.qai-btn--primary) {
  background: rgba(var(--qai-ink-rgb), .045);
}
[data-qai-palette]:not([data-qai-palette="obsidian"]) .cmp_breadcrumbs li + li::before {
  color: var(--qai-theme-muted);
}


/* 4 — TONE GROUP: light surfaces ==========================================
   Eight presets paint on paper instead of glass: dark ink, opaque panels,
   a multiplied aurora and a restrained glow dial. */

:root:root[data-qai-palette="paper"],
:root:root[data-qai-palette="sky"],
:root:root[data-qai-palette="lavender"],
:root:root[data-qai-palette="sand"],
:root:root[data-qai-palette="prism"],
:root:root[data-qai-palette="coral"],
:root:root[data-qai-palette="electric"],
:root:root[data-qai-palette="tropical"] {
  --qai-theme-title: #243143;
  --qai-theme-body: #344358;
  --qai-theme-muted: #4d5c72;
  --qai-ink-rgb: 36, 49, 67;
  --qai-panel: rgba(var(--qai-surface-rgb), .86);
  --qai-panel-strong: rgba(var(--qai-surface-rgb), .97);
  --qai-panel-soft: rgba(var(--qai-ink-rgb), .045);
  --qai-border: rgba(var(--qai-ink-rgb), .15);
  --qai-border-bright: rgba(var(--qai-a-rgb), .44);
  --qai-theme-button-bg: var(--qai-economy);
  --qai-theme-button-ink: #fff;
  --qai-danger: #a8233e;
  --qai-theme-blend: multiply;
  --qai-shadow: 0 22px 65px rgba(var(--qai-ink-rgb), .14);
  --qai-shadow-soft: 0 14px 38px rgba(var(--qai-ink-rgb), .11);
  --qai-shine-ink: rgba(255, 255, 255, calc(.75 * var(--qai-glow)));
  --qai-glow: .55;
}


/* 5 — THE TWENTY PALETTES =================================================
   Each block is self-contained: surfaces, triad, ink, texture, rhythm, burn.
   No two share a background texture, an ink tint or a pulse speed. */

/* --- Tungi / Night ------------------------------------------------------ */
:root:root[data-qai-palette="obsidian"] {
  --qai-a-rgb: 34, 197, 139; --qai-b-rgb: 109, 123, 255; --qai-c-rgb: 232, 189, 90;
  --qai-particle-a: rgba(34, 197, 139, .62);
  --qai-particle-b: rgba(109, 123, 255, .60);
  --qai-particle-c: rgba(232, 189, 90, .55);
  --qai-particle-speed: .34; --qai-particle-link: 150;
  --qai-glow: 1; --qai-glow-pulse: 7s; --qai-shine-speed: 5.5s;
}
:root:root[data-qai-palette="arctic"] {
  --qai-theme-bg: #051620; --qai-theme-bg-2: #0a2634; --qai-surface-rgb: 13, 46, 61;
  --qai-a-rgb: 86, 216, 235; --qai-b-rgb: 132, 164, 255; --qai-c-rgb: 186, 236, 244;
  --qai-theme-title: #f0fbff; --qai-theme-body: #c6dde8; --qai-theme-muted: #9ab6c6;
  --qai-ink-rgb: 240, 251, 255;
  --qai-theme-pattern: radial-gradient(rgba(var(--qai-a-rgb), .11) 1px, transparent 1px);
  --qai-theme-pattern-size: 38px 38px; --qai-theme-grid-size: 64px 64px;
  --qai-theme-aurora-opacity: .62;
  --qai-theme-ambient-speed: 42s; --qai-theme-orb-speed: 17s;
  --qai-theme-a-speed: 35s; --qai-theme-b-speed: 43s; --qai-theme-c-speed: 51s;
  --qai-glow: 1.05; --qai-glow-pulse: 7.6s; --qai-shine-speed: 6s;
  --qai-particle-speed: .29; --qai-particle-link: 160;
}
:root:root[data-qai-palette="amethyst"] {
  --qai-theme-bg: #150b23; --qai-theme-bg-2: #271434; --qai-surface-rgb: 44, 27, 62;
  --qai-a-rgb: 193, 148, 250; --qai-b-rgb: 244, 158, 203; --qai-c-rgb: 127, 224, 207;
  --qai-theme-title: #f8f2ff; --qai-theme-body: #d9ccea; --qai-theme-muted: #b1a2c6;
  --qai-ink-rgb: 248, 242, 255;
  --qai-theme-pattern: repeating-linear-gradient(135deg, rgba(var(--qai-a-rgb), .07) 0 1px, transparent 1px 14px);
  --qai-theme-pattern-size: 34px 34px; --qai-theme-grid-size: 68px 68px;
  --qai-theme-aurora-opacity: .66;
  --qai-theme-ambient-speed: 39s; --qai-theme-orb-speed: 14s;
  --qai-theme-a-speed: 31s; --qai-theme-b-speed: 39s; --qai-theme-c-speed: 47s;
  --qai-theme-direction: alternate-reverse;
  --qai-glow: 1.1; --qai-glow-pulse: 6.4s; --qai-shine-speed: 5.2s;
  --qai-particle-speed: .32; --qai-particle-link: 155;
}
:root:root[data-qai-palette="copper"] {
  --qai-theme-bg: #1a100f; --qai-theme-bg-2: #2a1815; --qai-surface-rgb: 56, 34, 29;
  --qai-a-rgb: 236, 163, 105; --qai-b-rgb: 235, 140, 144; --qai-c-rgb: 238, 206, 157;
  --qai-theme-title: #fdf2ea; --qai-theme-body: #e3cebe; --qai-theme-muted: #bda694;
  --qai-ink-rgb: 253, 242, 234;
  --qai-theme-pattern: repeating-linear-gradient(0deg, rgba(var(--qai-a-rgb), .075) 0 1px, transparent 1px 13px);
  --qai-theme-pattern-size: 26px 26px; --qai-theme-grid-size: 78px 78px;
  --qai-theme-aurora-opacity: .55;
  --qai-theme-ambient-speed: 48s; --qai-theme-orb-speed: 20s;
  --qai-theme-a-speed: 40s; --qai-theme-b-speed: 47s; --qai-theme-c-speed: 56s;
  --qai-glow: 1; --qai-glow-pulse: 8.2s; --qai-shine-speed: 6.6s;
  --qai-particle-speed: .25; --qai-particle-link: 145;
}

/* --- Tabiat / Nature ---------------------------------------------------- */
:root:root[data-qai-palette="forest"] {
  --qai-theme-bg: #061710; --qai-theme-bg-2: #0f2619; --qai-surface-rgb: 24, 49, 32;
  --qai-a-rgb: 130, 214, 134; --qai-b-rgb: 199, 204, 119; --qai-c-rgb: 140, 199, 191;
  --qai-theme-title: #f0faf1; --qai-theme-body: #cfe2d1; --qai-theme-muted: #a3bca6;
  --qai-ink-rgb: 240, 250, 241;
  --qai-theme-pattern: linear-gradient(rgba(var(--qai-ink-rgb), .04) 1px, transparent 1px), linear-gradient(90deg, rgba(var(--qai-ink-rgb), .04) 1px, transparent 1px);
  --qai-theme-pattern-size: 72px 72px; --qai-theme-grid-size: 90px 90px;
  --qai-theme-aurora-opacity: .5;
  --qai-theme-ambient-speed: 55s; --qai-theme-orb-speed: 24s;
  --qai-theme-a-speed: 46s; --qai-theme-b-speed: 53s; --qai-theme-c-speed: 62s;
  --qai-glow: .95; --qai-glow-pulse: 9s; --qai-shine-speed: 7.4s;
  --qai-particle-speed: .21; --qai-particle-link: 135;
}
:root:root[data-qai-palette="ocean"] {
  --qai-theme-bg: #051823; --qai-theme-bg-2: #0b2a36; --qai-surface-rgb: 17, 50, 63;
  --qai-a-rgb: 96, 203, 200; --qai-b-rgb: 108, 169, 226; --qai-c-rgb: 245, 171, 152;
  --qai-theme-title: #eef8fb; --qai-theme-body: #c8dde5; --qai-theme-muted: #9ab5c1;
  --qai-ink-rgb: 238, 248, 251;
  --qai-theme-pattern: repeating-linear-gradient(45deg, rgba(var(--qai-a-rgb), .055) 0 1px, transparent 1px 22px), repeating-linear-gradient(-45deg, rgba(var(--qai-b-rgb), .055) 0 1px, transparent 1px 22px);
  --qai-theme-pattern-size: 44px 44px; --qai-theme-grid-size: 96px 96px;
  --qai-theme-aurora-opacity: .58;
  --qai-theme-ambient-speed: 52s; --qai-theme-orb-speed: 22s;
  --qai-theme-a-speed: 43s; --qai-theme-b-speed: 50s; --qai-theme-c-speed: 60s;
  --qai-theme-direction: alternate-reverse;
  --qai-glow: 1; --qai-glow-pulse: 8.6s; --qai-shine-speed: 7s;
  --qai-particle-speed: .24; --qai-particle-link: 170;
}
:root:root[data-qai-palette="desert"] {
  --qai-theme-bg: #21170d; --qai-theme-bg-2: #332313; --qai-surface-rgb: 62, 42, 24;
  --qai-a-rgb: 231, 184, 102; --qai-b-rgb: 226, 146, 111; --qai-c-rgb: 180, 201, 150;
  --qai-theme-title: #fdf5e8; --qai-theme-body: #e4d3ba; --qai-theme-muted: #bdac91;
  --qai-ink-rgb: 253, 245, 232;
  --qai-theme-pattern: radial-gradient(rgba(var(--qai-a-rgb), .10) 2px, transparent 2px);
  --qai-theme-pattern-size: 80px 80px; --qai-theme-grid-size: 110px 110px;
  --qai-theme-aurora-opacity: .48;
  --qai-theme-ambient-speed: 61s; --qai-theme-orb-speed: 27s;
  --qai-theme-a-speed: 51s; --qai-theme-b-speed: 59s; --qai-theme-c-speed: 68s;
  --qai-glow: .9; --qai-glow-pulse: 9.6s; --qai-shine-speed: 8s;
  --qai-particle-speed: .18; --qai-particle-link: 125;
}
:root:root[data-qai-palette="sakura"] {
  --qai-theme-bg: #20121a; --qai-theme-bg-2: #321c2b; --qai-surface-rgb: 62, 35, 52;
  --qai-a-rgb: 243, 172, 198; --qai-b-rgb: 200, 158, 225; --qai-c-rgb: 246, 211, 165;
  --qai-theme-title: #fdeff5; --qai-theme-body: #e7d0dc; --qai-theme-muted: #bfa4b3;
  --qai-ink-rgb: 253, 239, 245;
  --qai-theme-pattern: radial-gradient(rgba(var(--qai-a-rgb), .10) 1.5px, transparent 1.5px), radial-gradient(rgba(var(--qai-b-rgb), .08) 1.5px, transparent 1.5px);
  --qai-theme-pattern-size: 30px 30px; --qai-theme-grid-size: 84px 84px;
  --qai-theme-aurora-opacity: .6;
  --qai-theme-ambient-speed: 57s; --qai-theme-orb-speed: 23s;
  --qai-theme-a-speed: 48s; --qai-theme-b-speed: 56s; --qai-theme-c-speed: 64s;
  --qai-theme-direction: alternate-reverse;
  --qai-glow: 1; --qai-glow-pulse: 7.2s; --qai-shine-speed: 6.2s;
  --qai-particle-speed: .22; --qai-particle-link: 145;
}

/* --- Yorqin / Vivid ----------------------------------------------------- */
:root:root[data-qai-palette="neon"] {
  --qai-theme-bg: #080a17; --qai-theme-bg-2: #121231; --qai-surface-rgb: 26, 25, 56;
  --qai-a-rgb: 66, 230, 199; --qai-b-rgb: 232, 126, 207; --qai-c-rgb: 246, 221, 100;
  --qai-theme-title: #f3f5ff; --qai-theme-body: #ccd2f0; --qai-theme-muted: #a2aad4;
  --qai-ink-rgb: 243, 245, 255;
  --qai-theme-pattern: repeating-linear-gradient(45deg, rgba(var(--qai-a-rgb), .08) 0 1px, transparent 1px 11px);
  --qai-theme-pattern-size: 22px 22px; --qai-theme-grid-size: 48px 48px;
  --qai-theme-aurora-opacity: .78;
  --qai-theme-ambient-speed: 22s; --qai-theme-orb-speed: 8s;
  --qai-theme-a-speed: 18s; --qai-theme-b-speed: 24s; --qai-theme-c-speed: 29s;
  --qai-glow: 1.45; --qai-glow-pulse: 4.2s; --qai-shine-speed: 3.4s;
  --qai-particle-speed: .50; --qai-particle-link: 175;
}
:root:root[data-qai-palette="sunset"] {
  --qai-theme-bg: #201021; --qai-theme-bg-2: #371931; --qai-surface-rgb: 60, 32, 57;
  --qai-a-rgb: 249, 144, 122; --qai-b-rgb: 178, 137, 237; --qai-c-rgb: 255, 211, 114;
  --qai-theme-title: #fdeff3; --qai-theme-body: #e8ccd8; --qai-theme-muted: #c0a2b2;
  --qai-ink-rgb: 253, 239, 243;
  --qai-theme-pattern: repeating-linear-gradient(90deg, rgba(var(--qai-c-rgb), .07) 0 1px, transparent 1px 14px);
  --qai-theme-pattern-size: 28px 28px; --qai-theme-grid-size: 52px 52px;
  --qai-theme-aurora-opacity: .72;
  --qai-theme-ambient-speed: 26s; --qai-theme-orb-speed: 10s;
  --qai-theme-a-speed: 21s; --qai-theme-b-speed: 27s; --qai-theme-c-speed: 33s;
  --qai-theme-direction: alternate-reverse;
  --qai-glow: 1.25; --qai-glow-pulse: 5.2s; --qai-shine-speed: 4.2s;
  --qai-particle-speed: .43; --qai-particle-link: 160;
}
:root:root[data-qai-palette="cobalt"] {
  --qai-theme-bg: #070e2a; --qai-theme-bg-2: #0f1f4a; --qai-surface-rgb: 23, 40, 79;
  --qai-a-rgb: 126, 159, 247; --qai-b-rgb: 105, 212, 240; --qai-c-rgb: 255, 188, 120;
  --qai-theme-title: #eff4ff; --qai-theme-body: #c9d6f2; --qai-theme-muted: #9cafd6;
  --qai-ink-rgb: 239, 244, 255;
  --qai-theme-pattern: linear-gradient(rgba(var(--qai-b-rgb), .06) 1px, transparent 1px), linear-gradient(90deg, rgba(var(--qai-b-rgb), .06) 1px, transparent 1px);
  --qai-theme-pattern-size: 44px 44px; --qai-theme-grid-size: 44px 44px;
  --qai-theme-aurora-opacity: .74;
  --qai-theme-ambient-speed: 24s; --qai-theme-orb-speed: 9s;
  --qai-theme-a-speed: 20s; --qai-theme-b-speed: 26s; --qai-theme-c-speed: 31s;
  --qai-glow: 1.3; --qai-glow-pulse: 4.8s; --qai-shine-speed: 3.8s;
  --qai-particle-speed: .46; --qai-particle-link: 170;
}
:root:root[data-qai-palette="citrus"] {
  --qai-theme-bg: #141f0c; --qai-theme-bg-2: #233015; --qai-surface-rgb: 43, 56, 25;
  --qai-a-rgb: 182, 228, 110; --qai-b-rgb: 240, 172, 102; --qai-c-rgb: 126, 217, 202;
  --qai-theme-title: #f5fbea; --qai-theme-body: #d9e6c5; --qai-theme-muted: #adbd99;
  --qai-ink-rgb: 245, 251, 234;
  --qai-theme-pattern: repeating-linear-gradient(135deg, rgba(var(--qai-a-rgb), .075) 0 2px, transparent 2px 18px);
  --qai-theme-pattern-size: 36px 36px; --qai-theme-grid-size: 56px 56px;
  --qai-theme-aurora-opacity: .7;
  --qai-theme-ambient-speed: 28s; --qai-theme-orb-speed: 11s;
  --qai-theme-a-speed: 23s; --qai-theme-b-speed: 29s; --qai-theme-c-speed: 35s;
  --qai-theme-direction: alternate-reverse;
  --qai-glow: 1.2; --qai-glow-pulse: 5.6s; --qai-shine-speed: 4.6s;
  --qai-particle-speed: .41; --qai-particle-link: 150;
}

/* --- Yengil / Light. Accents stay dark enough to be read as text. ------- */
:root:root[data-qai-palette="paper"] {
  --qai-theme-bg: #f8f5ee; --qai-theme-bg-2: #ede7dc; --qai-surface-rgb: 255, 253, 248;
  --qai-a-rgb: 0, 110, 100; --qai-b-rgb: 51, 85, 168; --qai-c-rgb: 134, 92, 18;
  --qai-theme-title: #243229; --qai-theme-body: #3c4b42; --qai-theme-muted: #4d6055;
  --qai-ink-rgb: 36, 50, 41;
  --qai-theme-pattern: radial-gradient(rgba(var(--qai-ink-rgb), .07) 1px, transparent 1px);
  --qai-theme-pattern-size: 28px 28px; --qai-theme-grid-size: 66px 66px;
  --qai-theme-aurora-opacity: .3;
  --qai-hero-wash: radial-gradient(circle at 12% 16%, rgba(var(--qai-a-rgb), .11), transparent 34%), radial-gradient(circle at 88% 24%, rgba(var(--qai-b-rgb), .09), transparent 33%), linear-gradient(170deg, #fffdf8, #ede7dc);
  --qai-theme-ambient-speed: 70s; --qai-theme-orb-speed: 28s;
  --qai-theme-a-speed: 55s; --qai-theme-b-speed: 66s; --qai-theme-c-speed: 77s;
  --qai-glow: .5; --qai-glow-pulse: 10s; --qai-shine-speed: 8.4s;
  --qai-particle-speed: .16; --qai-particle-link: 115;
}
:root:root[data-qai-palette="sky"] {
  --qai-theme-bg: #f2f8fc; --qai-theme-bg-2: #e1edf5; --qai-surface-rgb: 255, 255, 255;
  --qai-a-rgb: 17, 107, 134; --qai-b-rgb: 48, 92, 190; --qai-c-rgb: 144, 76, 64;
  --qai-theme-title: #1f2b38; --qai-theme-body: #33414f; --qai-theme-muted: #485767;
  --qai-ink-rgb: 31, 43, 56;
  --qai-theme-pattern: repeating-linear-gradient(0deg, rgba(var(--qai-ink-rgb), .06) 0 1px, transparent 1px 15px);
  --qai-theme-pattern-size: 30px 30px; --qai-theme-grid-size: 72px 72px;
  --qai-theme-aurora-opacity: .32;
  --qai-hero-wash: radial-gradient(circle at 16% 12%, rgba(var(--qai-a-rgb), .13), transparent 35%), radial-gradient(circle at 84% 30%, rgba(var(--qai-b-rgb), .10), transparent 32%), linear-gradient(175deg, #ffffff, #e1edf5);
  --qai-theme-ambient-speed: 74s; --qai-theme-orb-speed: 30s;
  --qai-theme-a-speed: 58s; --qai-theme-b-speed: 70s; --qai-theme-c-speed: 82s;
  --qai-theme-direction: alternate-reverse;
  --qai-glow: .55; --qai-glow-pulse: 9.4s; --qai-shine-speed: 7.8s;
  --qai-particle-speed: .17; --qai-particle-link: 125;
}
:root:root[data-qai-palette="lavender"] {
  --qai-theme-bg: #f8f5fc; --qai-theme-bg-2: #ece4f4; --qai-surface-rgb: 255, 254, 255;
  --qai-a-rgb: 106, 76, 163; --qai-b-rgb: 168, 74, 119; --qai-c-rgb: 44, 112, 106;
  --qai-theme-title: #302b48; --qai-theme-body: #403d58; --qai-theme-muted: #534f6b;
  --qai-ink-rgb: 48, 43, 72;
  --qai-theme-pattern: radial-gradient(rgba(var(--qai-a-rgb), .11) 1px, transparent 1px), radial-gradient(rgba(var(--qai-b-rgb), .09) 1px, transparent 1px);
  --qai-theme-pattern-size: 26px 26px; --qai-theme-grid-size: 60px 60px;
  --qai-theme-aurora-opacity: .3;
  --qai-hero-wash: radial-gradient(circle at 20% 14%, rgba(var(--qai-a-rgb), .13), transparent 36%), radial-gradient(circle at 80% 26%, rgba(var(--qai-b-rgb), .10), transparent 33%), linear-gradient(165deg, #fffdff, #ece4f4);
  --qai-theme-ambient-speed: 77s; --qai-theme-orb-speed: 32s;
  --qai-theme-a-speed: 61s; --qai-theme-b-speed: 73s; --qai-theme-c-speed: 85s;
  --qai-glow: .55; --qai-glow-pulse: 10.4s; --qai-shine-speed: 8.8s;
  --qai-particle-speed: .15; --qai-particle-link: 120;
}
:root:root[data-qai-palette="sand"] {
  --qai-theme-bg: #faf4e9; --qai-theme-bg-2: #eee2cf; --qai-surface-rgb: 255, 252, 245;
  --qai-a-rgb: 150, 72, 47; --qai-b-rgb: 70, 111, 91; --qai-c-rgb: 126, 92, 20;
  --qai-theme-title: #3b3026; --qai-theme-body: #4a3c31; --qai-theme-muted: #5f5044;
  --qai-ink-rgb: 59, 48, 38;
  --qai-theme-pattern: repeating-linear-gradient(45deg, rgba(var(--qai-ink-rgb), .05) 0 1px, transparent 1px 17px), repeating-linear-gradient(-45deg, rgba(var(--qai-ink-rgb), .05) 0 1px, transparent 1px 17px);
  --qai-theme-pattern-size: 34px 34px; --qai-theme-grid-size: 80px 80px;
  --qai-theme-aurora-opacity: .28;
  --qai-hero-wash: radial-gradient(circle at 14% 18%, rgba(var(--qai-a-rgb), .12), transparent 34%), radial-gradient(circle at 86% 22%, rgba(var(--qai-c-rgb), .10), transparent 32%), linear-gradient(168deg, #fffcf5, #eee2cf);
  --qai-theme-ambient-speed: 81s; --qai-theme-orb-speed: 34s;
  --qai-theme-a-speed: 64s; --qai-theme-b-speed: 76s; --qai-theme-c-speed: 89s;
  --qai-theme-direction: alternate-reverse;
  --qai-glow: .5; --qai-glow-pulse: 11s; --qai-shine-speed: 9.2s;
  --qai-particle-speed: .14; --qai-particle-link: 110;
}

/* --- Oq va yorqin / Vivid on white ------------------------------------- */
:root:root[data-qai-palette="prism"] {
  --qai-theme-bg: #ffffff; --qai-theme-bg-2: #f4f1ff; --qai-surface-rgb: 255, 255, 255;
  --qai-a-rgb: 98, 70, 234; --qai-b-rgb: 0, 94, 154; --qai-c-rgb: 179, 48, 131;
  --qai-theme-title: #1d2635; --qai-theme-body: #303d50; --qai-theme-muted: #45536a;
  --qai-ink-rgb: 29, 38, 53;
  --qai-theme-pattern: repeating-linear-gradient(135deg, rgba(var(--qai-a-rgb), .09) 0 1px, transparent 1px 21px);
  --qai-theme-pattern-size: 42px 42px; --qai-theme-grid-size: 42px 42px;
  --qai-theme-aurora-opacity: .4;
  --qai-hero-wash: radial-gradient(circle at 10% 18%, rgba(var(--qai-a-rgb), .18), transparent 36%), radial-gradient(circle at 89% 17%, rgba(var(--qai-b-rgb), .13), transparent 33%), radial-gradient(circle at 55% 92%, rgba(var(--qai-c-rgb), .12), transparent 37%), linear-gradient(145deg, #ffffff, #f4f1ff);
  --qai-theme-ambient-speed: 29s; --qai-theme-orb-speed: 10s;
  --qai-theme-a-speed: 20s; --qai-theme-b-speed: 26s; --qai-theme-c-speed: 33s;
  --qai-glow: .8; --qai-glow-pulse: 6.2s; --qai-shine-speed: 5s;
  --qai-particle-speed: .39; --qai-particle-link: 165;
}
:root:root[data-qai-palette="coral"] {
  --qai-theme-bg: #ffffff; --qai-theme-bg-2: #fff2f2; --qai-surface-rgb: 255, 255, 255;
  --qai-a-rgb: 186, 50, 76; --qai-b-rgb: 116, 59, 199; --qai-c-rgb: 154, 77, 0;
  --qai-theme-title: #2a1f24; --qai-theme-body: #3c2f35; --qai-theme-muted: #54444b;
  --qai-ink-rgb: 42, 31, 36;
  --qai-theme-pattern: radial-gradient(rgba(var(--qai-a-rgb), .14) 1.2px, transparent 1.2px);
  --qai-theme-pattern-size: 30px 30px; --qai-theme-grid-size: 50px 50px;
  --qai-theme-aurora-opacity: .38;
  --qai-hero-wash: radial-gradient(ellipse at 94% 12%, rgba(var(--qai-a-rgb), .21), transparent 40%), radial-gradient(ellipse at 12% 82%, rgba(var(--qai-c-rgb), .13), transparent 35%), radial-gradient(circle at 48% 12%, rgba(var(--qai-b-rgb), .09), transparent 33%), linear-gradient(115deg, #fffdfd, #fff2f2);
  --qai-theme-ambient-speed: 38s; --qai-theme-orb-speed: 14s;
  --qai-theme-a-speed: 27s; --qai-theme-b-speed: 34s; --qai-theme-c-speed: 41s;
  --qai-theme-direction: alternate-reverse;
  --qai-glow: .75; --qai-glow-pulse: 6.8s; --qai-shine-speed: 5.6s;
  --qai-particle-speed: .32; --qai-particle-link: 150;
}
:root:root[data-qai-palette="electric"] {
  --qai-theme-bg: #ffffff; --qai-theme-bg-2: #eff6ff; --qai-surface-rgb: 255, 255, 255;
  --qai-a-rgb: 7, 93, 194; --qai-b-rgb: 118, 62, 213; --qai-c-rgb: 8, 116, 96;
  --qai-theme-title: #17243a; --qai-theme-body: #2b3a52; --qai-theme-muted: #3f5068;
  --qai-ink-rgb: 23, 36, 58;
  --qai-theme-pattern: linear-gradient(rgba(var(--qai-a-rgb), .08) 1px, transparent 1px), linear-gradient(90deg, rgba(var(--qai-a-rgb), .08) 1px, transparent 1px);
  --qai-theme-pattern-size: 36px 36px; --qai-theme-grid-size: 36px 36px;
  --qai-theme-aurora-opacity: .42;
  --qai-hero-wash: radial-gradient(circle at 15% 10%, rgba(var(--qai-a-rgb), .2), transparent 34%), radial-gradient(circle at 93% 77%, rgba(var(--qai-b-rgb), .14), transparent 32%), linear-gradient(150deg, #ffffff 20%, #eff6ff 95%);
  --qai-theme-ambient-speed: 23s; --qai-theme-orb-speed: 8s;
  --qai-theme-a-speed: 16s; --qai-theme-b-speed: 21s; --qai-theme-c-speed: 27s;
  --qai-glow: .9; --qai-glow-pulse: 5s; --qai-shine-speed: 4s;
  --qai-particle-speed: .48; --qai-particle-link: 180;
}
:root:root[data-qai-palette="tropical"] {
  --qai-theme-bg: #ffffff; --qai-theme-bg-2: #effbf5; --qai-surface-rgb: 255, 255, 255;
  --qai-a-rgb: 8, 112, 75; --qai-b-rgb: 7, 93, 194; --qai-c-rgb: 172, 66, 90;
  --qai-theme-title: #172b25; --qai-theme-body: #2b3d36; --qai-theme-muted: #3f5249;
  --qai-ink-rgb: 23, 43, 37;
  --qai-theme-pattern: repeating-linear-gradient(45deg, rgba(var(--qai-a-rgb), .09) 0 2px, transparent 2px 29px);
  --qai-theme-pattern-size: 58px 58px; --qai-theme-grid-size: 58px 58px;
  --qai-theme-aurora-opacity: .36;
  --qai-hero-wash: radial-gradient(ellipse at 82% 8%, rgba(var(--qai-a-rgb), .19), transparent 37%), radial-gradient(ellipse at 5% 75%, rgba(var(--qai-b-rgb), .12), transparent 35%), radial-gradient(circle at 75% 98%, rgba(var(--qai-c-rgb), .1), transparent 30%), linear-gradient(135deg, #ffffff, #effbf5);
  --qai-theme-ambient-speed: 47s; --qai-theme-orb-speed: 18s;
  --qai-theme-a-speed: 33s; --qai-theme-b-speed: 42s; --qai-theme-c-speed: 51s;
  --qai-theme-direction: alternate-reverse;
  --qai-glow: .7; --qai-glow-pulse: 7.4s; --qai-shine-speed: 6.4s;
  --qai-particle-speed: .27; --qai-particle-link: 140;
}


/* 6 — PALETTE COMPONENT FIXES =============================================
   Same specificity as the shared skin above (0,3,0), placed after it. */

/* Light presets: the hero is washed paper, not a glowing slab, the aurora is
   pulled back, and the gradient-clipped subtitle becomes solid ink. */
:root:root:is([data-qai-palette="paper"], [data-qai-palette="sky"], [data-qai-palette="lavender"], [data-qai-palette="sand"], [data-qai-palette="prism"], [data-qai-palette="coral"], [data-qai-palette="electric"], [data-qai-palette="tropical"]) .qai-hero {
  background: var(--qai-hero-wash);
}
:root:root:is([data-qai-palette="paper"], [data-qai-palette="sky"], [data-qai-palette="lavender"], [data-qai-palette="sand"]) .qai-aurora__blob { opacity: .34; }
:root:root:is([data-qai-palette="prism"], [data-qai-palette="coral"], [data-qai-palette="electric"], [data-qai-palette="tropical"]) .qai-aurora__blob { opacity: .42; }
:root:root:is([data-qai-palette="paper"], [data-qai-palette="sky"], [data-qai-palette="lavender"], [data-qai-palette="sand"]) .qai-particle-canvas { opacity: .45; }
:root:root:is([data-qai-palette="prism"], [data-qai-palette="coral"], [data-qai-palette="electric"], [data-qai-palette="tropical"]) .qai-particle-canvas { opacity: .55; }
:root:root:is([data-qai-palette="paper"], [data-qai-palette="sky"], [data-qai-palette="lavender"], [data-qai-palette="sand"]) .pkp_structure_page::after { opacity: .4; }
:root:root:is([data-qai-palette="prism"], [data-qai-palette="coral"], [data-qai-palette="electric"], [data-qai-palette="tropical"]) .pkp_structure_page::after { opacity: .55; }
:root:root:is([data-qai-palette="paper"], [data-qai-palette="sky"], [data-qai-palette="lavender"], [data-qai-palette="sand"], [data-qai-palette="prism"], [data-qai-palette="coral"], [data-qai-palette="electric"], [data-qai-palette="tropical"]) .qai-hero__subtitle {
  color: var(--qai-economy);
  background: none;
  -webkit-background-clip: border-box;
  background-clip: border-box;
  animation: none;
}
/* On paper a white sweep is invisible, so the pills sweep in their own ink. */
:root:root:is([data-qai-palette="paper"], [data-qai-palette="sky"], [data-qai-palette="lavender"], [data-qai-palette="sand"], [data-qai-palette="prism"], [data-qai-palette="coral"], [data-qai-palette="electric"], [data-qai-palette="tropical"]) .qai-kicker::after {
  background: linear-gradient(100deg, transparent, rgba(var(--qai-a-rgb), .18), transparent);
}


/* 7 — MOTION PREFERENCES ================================================== */
@media (prefers-reduced-motion: reduce) {
  [data-qai-palette] .pkp_structure_page::before,
  [data-qai-palette] .qai-orb,
  [data-qai-palette] .qai-aurora__blob,
  [data-qai-palette] .qai-hero__title,
  [data-qai-palette] .qai-hero__subtitle,
  [data-qai-palette] .qai-kicker::before,
  [data-qai-palette] .qai-kicker::after,
  [data-qai-palette] .qai-btn--primary,
  [data-qai-palette] .qai-btn--primary::after,
  [data-qai-palette] .block_make_submission_link,
  [data-qai-palette] .block_make_submission_link::after {
    animation: none !important;
  }
  [data-qai-palette] .qai-kicker::after,
  [data-qai-palette] .qai-btn--primary::after,
  [data-qai-palette] .block_make_submission_link::after { display: none; }
  [data-qai-palette] .qai-hero__title { text-shadow: var(--qai-glow-text-lo); }
  [data-qai-palette] .qai-btn--primary,
  [data-qai-palette] .block_make_submission_link { box-shadow: var(--qai-halo-lo); }
}
