:root {
    /* ---- Layout widths ---- */
    --layout-narrow:    800px;
    --layout-content:  1000px;
    --layout-wide:     1200px;
    --layout-reader:     75ch;

    /* ---- Spacing scale ---- */
    --space-hero:        80px;
    --space-section:     64px;
    --space-block:       48px;
    --space-group:       32px;
    --space-element:     24px;
    --space-compact:     16px;
    --space-tight:        8px;
    --space-page-gutter: 24px;
    --space-grid-gap:    24px;

    /* ---- Radius scale ---- */
    --radius-sm: 8px;
    --radius-md: 12px;
    --radius-lg: 16px;
    --radius-pill: 999px;
    --radius-round: 50%;

    /* ---- Backward-compat aliases (remove after full migration) ---- */
    --section-gap: var(--space-section);
    --section-padding: var(--space-page-gutter);
    --hero-padding-v: var(--space-hero);
    --grid-gap-row: var(--space-group);
    --grid-gap-col: var(--space-grid-gap);

    /* ---- Site colors ---- */
    --kuehn-site-bg: var(--wp--preset--color--base, #ffffff);
    --kuehn-site-bg-alt: #fafafa;
    --kuehn-site-text: var(--wp--preset--color--contrast, #1c2024);
    --kuehn-site-muted: #6c7075;
    --kuehn-site-surface: #ffffff;
    --kuehn-site-border: #e9e9ec;
    --kuehn-site-border-subtle: #f0f0f3;
    --kuehn-hover-bg: #f5f6f8;
    --kuehn-accent: #8b6f5a;
    --kuehn-focus-ring: #8b6f5a;
    --kuehn-action-accent-continue: #5a67d8;
    --kuehn-action-accent-latest: #0ea5e9;
    --kuehn-action-accent-start: #d97706;
    --profile-sidebar-width: 300px;
    --profile-nav-active: #667eea;
    --profile-nav-active-bg: rgba(102, 126, 234, 0.1);
    --profile-xp-gradient-start: #667eea;
    --profile-xp-gradient-end: #764ba2;
    --profile-streak-color: #f59e0b;
    --profile-focus-ring: #667eea;
    --profile-motion-duration-fast: 0.15s;

    /* ---- Font stacks ---- */
    --kuehn-font-mono: 'SF Mono', 'Cascadia Code', 'Fira Code', monospace;
}

@media (max-width: 768px) {
    :root {
        --space-hero:        48px;
        --space-section:     40px;
        --space-block:       32px;
        --space-group:       20px;
        --space-element:     16px;
        --space-page-gutter: 16px;
        --space-grid-gap:    16px;
    }
}

/* --------------------------------------------------------------------------
   Global focus-visible baseline — covers all interactive elements
   More specific rules below will override as needed.
   -------------------------------------------------------------------------- */
:focus-visible {
    outline: 2px solid var(--kuehn-focus-ring, #8b6f5a);
    outline-offset: 2px;
    border-radius: 3px;
}

html,
body,
.wp-site-blocks {
    background-color: var(--kuehn-site-bg);
    color: var(--kuehn-site-text);
}

/* --------------------------------------------------------------------------
   Global page shell and intro
   -------------------------------------------------------------------------- */

.kuehn-page-shell__content {
    padding: 0 var(--space-page-gutter);
}

.kuehn-page-shell__content > .wp-block-post-content {
    margin-top: 0;
}

body.kuehn-layout-wide-page .kuehn-page-intro--content .kuehn-page-intro__inner {
    width: min(var(--layout-wide), calc(100% - var(--space-page-gutter) * 2));
    margin-block-start: var(--wp--custom--spacing--gap, 30px);
}

body.kuehn-layout-wide-page .kuehn-page-intro--content {
    padding: 0 0 var(--space-group);
}

body.kuehn-layout-wide-page .kuehn-page-shell__content > .wp-block-post-content,
body.kuehn-layout-wide-page .entry-content {
    max-width: var(--layout-wide);
}

body.kuehn-layout-wide-page .kuehn-page-shell__content {
    padding: 0;
}

body.kuehn-layout-wide-page .kuehn-page-shell__content > .wp-block-post-content,
body.kuehn-layout-wide-page .entry-content {
    width: min(var(--layout-wide), calc(100% - var(--space-page-gutter) * 2));
    margin-inline: auto;
    padding-inline: 0;
}

.kuehn-page-intro {
    padding: var(--space-hero) var(--space-page-gutter) var(--space-group);
}

.kuehn-page-intro__inner {
    width: min(var(--layout-wide), calc(100% - var(--space-page-gutter) * 2));
    margin-inline: auto;
}

.kuehn-page-intro--content .kuehn-page-intro__inner {
    width: min(var(--layout-content), calc(100% - var(--space-page-gutter) * 2));
}

.kuehn-page-intro--embedded {
    padding: 0 0 var(--space-group);
}

.kuehn-page-intro--embedded .kuehn-page-intro__inner {
    width: 100%;
}

/* Ensure archive intros have a consistent top offset regardless of Gutenberg
   layout helper classes (is-layout-flow vs raw shortcode markup). */
.kuehn-page-intro--embedded.is-layout-flow > * {
    margin-block-start: 0;
    margin-block-end: 0;
}

.kuehn-page-intro--embedded > .kuehn-page-intro__inner {
    margin-block-start: var(--wp--custom--spacing--gap, 30px);
}

.kuehn-page-intro__title {
    margin: 0;
    font-size: clamp(2rem, 3.5vw, 3rem);
    line-height: 1.1;
    letter-spacing: -0.01em;
}

.kuehn-page-intro__subtitle {
    margin: 12px 0 0;
    max-width: 68ch;
    color: var(--kuehn-site-muted);
}

/* Gutenberg constrained layout centers block children via margin-left: auto !important.
   Override for standalone subtitle usage (e.g. Community page shortcode). */
.is-layout-constrained > .kuehn-page-intro__subtitle,
.wp-block-post-content > .kuehn-page-intro__subtitle {
    margin-left: 0 !important;
    margin-right: auto !important;
}

.kuehn-page-intro--emphasis {
    background: linear-gradient(135deg, #1c2024 0%, #2d3238 100%);
    color: #fff;
}

.kuehn-page-intro--emphasis .kuehn-page-intro__subtitle,
.kuehn-page-intro--emphasis .kuehn-page-intro__title,
.kuehn-page-intro--emphasis a {
    color: #fff;
}

@media (max-width: 480px) {
    .kuehn-page-intro__title {
        font-size: 1.625rem;
    }
}

/* --------------------------------------------------------------------------
   Shared shortcode blocks (Patron Wall, Q&A)
   -------------------------------------------------------------------------- */

.kuehn-patron-wall,
.kuehn-qa-overview {
    border: 1px solid var(--kuehn-site-border);
    border-radius: var(--radius-md);
    padding: var(--space-group);
    background: var(--kuehn-site-surface);
}

.kuehn-patron-wall__header {
    margin-bottom: var(--space-element);
}

.kuehn-patron-wall__header h2 {
    margin: 0;
    font-size: 1.2rem;
}

.kuehn-patron-wall__header p {
    margin: 8px 0 0;
    color: var(--kuehn-site-muted);
    font-size: 0.9rem;
}

.kuehn-patron-wall__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 12px;
}

.kuehn-patron-wall__item {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 12px;
    align-items: center;
    border: 1px solid var(--kuehn-site-border);
    border-radius: var(--radius-md);
    padding: 10px 12px;
}

.kuehn-patron-wall__item img {
    width: 48px;
    height: 48px;
    border-radius: var(--radius-round);
    object-fit: cover;
}

.kuehn-patron-wall__item strong {
    display: block;
    line-height: 1.2;
}

.kuehn-patron-wall__item div {
    color: var(--kuehn-site-muted);
    font-size: 0.88rem;
}

.kuehn-qa-overview h2 {
    margin: 0;
}

.kuehn-qa-overview__filters button,
.kuehn-qa-overview__filters select {
    min-height: 40px;
}

/* --------------------------------------------------------------------------
   Header icon bar – uniform spacing and alignment
   -------------------------------------------------------------------------- */

/* The flex group that wraps nav + icons + language switcher */
.site-header .wp-block-group.is-layout-flex {
    gap: 12px;
    align-items: center;
}

.kuehn-header-shell {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.kuehn-header-shell > * {
    min-width: 0;
}

.kuehn-header-controls {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    flex-wrap: wrap;
    min-width: 0;
}

.kuehn-header-logo-wrap {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    line-height: 0;
}

.kuehn-header-logo {
    display: inline-flex;
    align-items: center;
    margin: 0;
}

.kuehn-header-logo img {
    width: clamp(180px, 22vw, 292px);
    height: auto;
    display: block;
}

.kuehn-header-logo--light {
    display: block;
}

.kuehn-header-logo--dark {
    display: none;
}

/* Ensure all header icon containers align vertically */
.kuehn-live-search,
.kuehn-notification-bell,
.patreon-user-profile-widget,
.kuehn-lang-switcher,
.kuehn-header-account-link {
    display: inline-flex;
    align-items: center;
}

.wp-block-template-part .wp-block-navigation,
header .wp-block-navigation {
    order: 1;
    min-width: 0;
}

.site-header .wp-block-navigation__container {
    flex-wrap: wrap;
    row-gap: 8px;
}

.kuehn-live-search {
    order: 2;
}

.kuehn-site-theme-toggle {
    order: 3;
}

.kuehn-notification-bell {
    order: 4;
}

.patreon-user-profile-widget,
.kuehn-header-account-link {
    order: 5;
}

.kuehn-lang-switcher {
    order: 6;
}

.patreon-user-profile-widget {
    margin-left: 0;
}

.kuehn-site-theme-toggle,
.kuehn-header-account-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 2px solid transparent;
    background: transparent;
    color: var(--wp--preset--color--contrast, #1a1a1a);
    cursor: pointer;
    padding: 0;
    text-decoration: none;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.kuehn-header-account-link {
    border-color: #e3e3e7;
}

.kuehn-site-theme-toggle:hover,
.kuehn-header-account-link:hover {
    background-color: #f5f6f8;
}

.kuehn-site-theme-toggle:focus-visible,
.kuehn-header-account-link:focus-visible {
    outline: 2px solid var(--kuehn-focus-ring, #8b6f5a);
    outline-offset: 2px;
}

.site-header .wp-block-navigation-item__content,
.site-header .wp-block-navigation-submenu__toggle,
.site-header .wp-block-navigation__responsive-container-open,
.site-header .wp-block-navigation__responsive-container-close,
.kuehn-lang-switcher__link,
.patreon-profile-trigger,
.patreon-profile-dropdown__login-btn {
    border-radius: 999px;
}

.site-header .wp-block-navigation-item__content:focus-visible,
.site-header .wp-block-navigation-submenu__toggle:focus-visible,
.site-header .wp-block-navigation__responsive-container-open:focus-visible,
.site-header .wp-block-navigation__responsive-container-close:focus-visible,
.kuehn-lang-switcher__link:focus-visible,
.patreon-profile-trigger:focus-visible,
.patreon-profile-dropdown__login-btn:focus-visible {
    outline: 2px solid var(--kuehn-focus-ring, #8b6f5a) !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--kuehn-focus-ring, #8b6f5a) 22%, transparent) !important;
}

.site-header .wp-block-navigation-item__content:focus-visible,
.site-header .wp-block-navigation-submenu__toggle:focus-visible,
.site-header .wp-block-navigation__responsive-container-open:focus-visible,
.site-header .wp-block-navigation__responsive-container-close:focus-visible,
.kuehn-lang-switcher__link:focus-visible {
    background: color-mix(in srgb, var(--kuehn-focus-ring, #8b6f5a) 10%, transparent) !important;
}

.kuehn-site-theme-toggle__icon,
.kuehn-header-account-link__icon {
    width: 22px;
    height: 22px;
    flex-shrink: 0;
}

.kuehn-site-theme-toggle__icon--sun {
    display: none;
}

.kuehn-site-theme-toggle[aria-pressed="true"] .kuehn-site-theme-toggle__icon--moon {
    display: none;
}

.kuehn-site-theme-toggle[aria-pressed="true"] .kuehn-site-theme-toggle__icon--sun {
    display: block;
}

[data-site-theme-resolved="dark"] {
    --kuehn-site-bg: #111317;
    --kuehn-site-bg-alt: #171c25;
    --kuehn-site-text: #e7eaf0;
    --kuehn-site-muted: #a1a8b5;
    --kuehn-site-surface: #1a1f28;
    --kuehn-site-border: #2b3340;
    --kuehn-site-border-subtle: #232c38;
    --kuehn-hover-bg: #232c38;
    --profile-nav-active-bg: rgba(102, 126, 234, 0.15);
}

[data-site-theme-resolved="dark"] .kuehn-header-logo--light {
    display: none;
}

[data-site-theme-resolved="dark"] .kuehn-header-logo--dark {
    display: block;
}

[data-site-theme-resolved="dark"] .kuehn-page-intro--default {
    background: transparent;
}

[data-site-theme-resolved="dark"] .kuehn-page-intro--emphasis {
    background: linear-gradient(135deg, #111723 0%, #1b2332 100%);
}

/* WP global styles set heading color via --wp--preset--color--contrast which does not
   adapt to dark mode. Explicitly restore correct text color for page-intro titles. */
[data-site-theme-resolved="dark"] .kuehn-page-intro__title {
    color: var(--kuehn-site-text);
}

/* Emphasis variant keeps pure white (designed for dark gradient in both modes). */
[data-site-theme-resolved="dark"] .kuehn-page-intro--emphasis .kuehn-page-intro__title {
    color: #fff;
}

[data-site-theme-resolved="dark"] body,
[data-site-theme-resolved="dark"] .wp-site-blocks,
[data-site-theme-resolved="dark"] main,
[data-site-theme-resolved="dark"] header,
[data-site-theme-resolved="dark"] footer,
[data-site-theme-resolved="dark"] .patreon-profile-dropdown,
[data-site-theme-resolved="dark"] .patreon-profile-page-wrapper,
[data-site-theme-resolved="dark"] .patreon-content-page__section,
[data-site-theme-resolved="dark"] .patreon-profile-stat-card,
[data-site-theme-resolved="dark"] .patreon-book-progress,
[data-site-theme-resolved="dark"] .patreon-bookmark-item,
[data-site-theme-resolved="dark"] .reader-settings__panel {
    background-color: var(--kuehn-site-bg);
    color: var(--kuehn-site-text);
}

[data-site-theme-resolved="dark"] .patreon-profile-dropdown,
[data-site-theme-resolved="dark"] .patreon-content-page__section,
[data-site-theme-resolved="dark"] .patreon-profile-stat-card,
[data-site-theme-resolved="dark"] .patreon-book-progress,
[data-site-theme-resolved="dark"] .patreon-bookmark-item,
[data-site-theme-resolved="dark"] .patreon-settings-radio,
[data-site-theme-resolved="dark"] .reader-settings__panel {
    border-color: var(--kuehn-site-border);
}

/* Header icon buttons: transparent border, subtle hover in dark mode */
[data-site-theme-resolved="dark"] .patreon-profile-trigger {
    border-color: var(--kuehn-site-border);
    background: transparent;
}

[data-site-theme-resolved="dark"] .kuehn-site-theme-toggle {
    color: var(--kuehn-site-text);
}

[data-site-theme-resolved="dark"] .kuehn-notification-bell__trigger,
[data-site-theme-resolved="dark"] .kuehn-header-account-link,
[data-site-theme-resolved="dark"] .kuehn-live-search__trigger,
[data-site-theme-resolved="dark"] .kuehn-site-theme-toggle {
    color: var(--kuehn-site-text);
}

[data-site-theme-resolved="dark"] .kuehn-header-account-link {
    border-color: var(--kuehn-site-border);
    background: transparent;
}

[data-site-theme-resolved="dark"] .kuehn-notification-bell__trigger:hover,
[data-site-theme-resolved="dark"] .kuehn-header-account-link:hover,
[data-site-theme-resolved="dark"] .kuehn-live-search__trigger:hover,
[data-site-theme-resolved="dark"] .kuehn-site-theme-toggle:hover {
    background: rgba(255, 255, 255, 0.08);
}

[data-site-theme-resolved="dark"] .site-header .wp-block-navigation-item__content:focus-visible,
[data-site-theme-resolved="dark"] .site-header .wp-block-navigation-submenu__toggle:focus-visible,
[data-site-theme-resolved="dark"] .site-header .wp-block-navigation__responsive-container-open:focus-visible,
[data-site-theme-resolved="dark"] .site-header .wp-block-navigation__responsive-container-close:focus-visible,
[data-site-theme-resolved="dark"] .kuehn-lang-switcher__link:focus-visible,
[data-site-theme-resolved="dark"] .patreon-profile-trigger:focus-visible,
[data-site-theme-resolved="dark"] .patreon-profile-dropdown__login-btn:focus-visible {
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--kuehn-focus-ring, #8b6f5a) 32%, transparent);
}

@media (max-width: 960px) {
    .site-header .wp-block-group.alignfull {
        padding-right: 20px !important;
        padding-left: 20px !important;
    }

    .kuehn-header-logo img {
        width: clamp(160px, 34vw, 240px);
    }

    .kuehn-header-shell {
        flex-wrap: wrap;
        row-gap: 10px;
    }

    .kuehn-header-controls {
        width: 100%;
        justify-content: flex-end;
    }
}

@media (max-width: 782px) {
    .site-header .wp-block-group.alignfull {
        padding-top: 16px !important;
        padding-right: 16px !important;
        padding-bottom: 16px !important;
        padding-left: 16px !important;
    }

    .kuehn-header-controls {
        gap: 10px;
    }

    .site-header .wp-block-navigation__container {
        column-gap: 10px;
    }

    .kuehn-lang-switcher {
        margin-left: auto;
    }
}

[data-site-theme-resolved="dark"] a,
[data-site-theme-resolved="dark"] .wp-block-navigation a,
[data-site-theme-resolved="dark"] .patreon-profile-dropdown__item,
[data-site-theme-resolved="dark"] .patreon-profile-tab {
    color: var(--kuehn-site-text);
}

[data-site-theme-resolved="dark"] p,
[data-site-theme-resolved="dark"] small,
[data-site-theme-resolved="dark"] .patreon-profile-settings-message,
[data-site-theme-resolved="dark"] .patreon-book-progress__stats,
[data-site-theme-resolved="dark"] .patreon-book-progress__last-read,
[data-site-theme-resolved="dark"] .patreon-settings-badge {
    color: var(--kuehn-site-muted);
}

[data-site-theme-resolved="dark"] input,
[data-site-theme-resolved="dark"] textarea,
[data-site-theme-resolved="dark"] select,
[data-site-theme-resolved="dark"] button:not(.reader-settings__option--theme) {
    background-color: var(--kuehn-site-surface);
    color: var(--kuehn-site-text);
    border-color: var(--kuehn-site-border);
}

[data-site-theme-resolved="dark"] .home-page {
    --home-bg: #111317;
    --home-bg-alt: #171b23;
    --home-text: #e7eaf0;
    --home-muted: #a1a8b5;
    --home-border: #2b3340;
    --status-ongoing-bg: #153424;
    --status-ongoing-text: #7fe0ab;
    --status-ongoing-dot: #7fe0ab;
    --status-hiatus-bg: #3f2f12;
    --status-hiatus-text: #f4d38b;
    --status-hiatus-dot: #f4d38b;
    --status-completed-bg: #1e3257;
    --status-completed-text: #95beff;
    --status-completed-dot: #95beff;
}

[data-site-theme-resolved="dark"] .home-page__hero {
    background: linear-gradient(160deg, #161b24 0%, #121722 55%, #0f141c 100%);
}

[data-site-theme-resolved="dark"] .home-page__hero-bg-shape--1 {
    background: radial-gradient(circle, color-mix(in srgb, var(--home-accent) 22%, #161b24) 0%, transparent 68%);
}

[data-site-theme-resolved="dark"] .home-page__hero-bg-shape--2 {
    background: radial-gradient(circle, rgba(139, 111, 90, 0.18) 0%, transparent 70%);
}

[data-site-theme-resolved="dark"] .home-pill,
[data-site-theme-resolved="dark"] .home-btn--secondary,
[data-site-theme-resolved="dark"] .home-action-card,
[data-site-theme-resolved="dark"] .home-last-read,
[data-site-theme-resolved="dark"] .home-chapter-list,
[data-site-theme-resolved="dark"] .home-genre-chip,
[data-site-theme-resolved="dark"] .home-path-card,
[data-site-theme-resolved="dark"] .home-page__cta-inner,
[data-site-theme-resolved="dark"] .home-empty-state,
[data-site-theme-resolved="dark"] .home-action-card__media {
    background: var(--kuehn-site-surface);
    color: var(--kuehn-site-text);
    border-color: var(--kuehn-site-border);
}

[data-site-theme-resolved="dark"] .home-genre-chip__cover {
    border-color: var(--kuehn-site-surface);
}


[data-site-theme-resolved="dark"] .home-tab:hover {
    background: var(--kuehn-hover-bg, #232c38);
    color: var(--kuehn-site-text);
}

[data-site-theme-resolved="dark"] .home-featured-chapter {
    background: var(--kuehn-site-surface);
    border-color: var(--kuehn-site-border);
    color: var(--kuehn-site-text);
}

[data-site-theme-resolved="dark"] .kuehn-patron-wall,
[data-site-theme-resolved="dark"] .kuehn-qa-overview,
[data-site-theme-resolved="dark"] .kuehn-patron-wall__item {
    border-color: var(--kuehn-site-border);
    background: var(--kuehn-site-surface);
}

[data-site-theme-resolved="dark"] .home-action-card::before {
    background: linear-gradient(180deg, rgba(35, 43, 56, 0.75) 0%, rgba(26, 33, 45, 0.95) 100%);
}

[data-site-theme-resolved="dark"] .home-action-card__icon {
    background: color-mix(in srgb, var(--action-accent, var(--home-accent)) 20%, #1f2633);
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--action-accent, var(--home-accent)) 35%, #1f2633);
}

[data-site-theme-resolved="dark"] .home-action-card__title {
    color: color-mix(in srgb, var(--action-accent, var(--home-accent)) 70%, #ffffff);
}

[data-site-theme-resolved="dark"] .home-action-card__empty-state {
    background: color-mix(in srgb, var(--action-accent, var(--home-accent)) 12%, #1a212d);
    border-color: color-mix(in srgb, var(--action-accent, var(--home-accent)) 22%, var(--kuehn-site-border));
}

[data-site-theme-resolved="dark"] .home-action-card__empty-cta {
    color: color-mix(in srgb, var(--action-accent, var(--home-accent)) 80%, #ffffff);
    background: color-mix(in srgb, var(--action-accent, var(--home-accent)) 16%, #1a212d);
    border-color: color-mix(in srgb, var(--action-accent, var(--home-accent)) 35%, var(--kuehn-site-border));
}

[data-site-theme-resolved="dark"] .home-chapter-list__item + .home-chapter-list__item,
[data-site-theme-resolved="dark"] .patreon-profile-dropdown__header,
[data-site-theme-resolved="dark"] .patreon-profile-dropdown__footer {
    border-color: var(--kuehn-site-border);
}

[data-site-theme-resolved="dark"] .home-chapter-list__link:hover,
[data-site-theme-resolved="dark"] .patreon-profile-dropdown__item:hover {
    background: var(--kuehn-hover-bg, #232c38);
}

[data-site-theme-resolved="dark"] .home-book-card__cover {
    background: var(--kuehn-hover-bg, #232c38);
}

[data-site-theme-resolved="dark"] .home-book-card__cover--placeholder {
    background: linear-gradient(135deg, #2a3340 0%, #202734 100%);
}

[data-site-theme-resolved="dark"] .home-access-badge--free {
    background: #1c3d2a;
    color: #93dfb3;
}

[data-site-theme-resolved="dark"] .home-access-badge--preview,
[data-site-theme-resolved="dark"] .home-access-badge--supporter {
    background: #3e3219;
    color: #f1d79a;
}

[data-site-theme-resolved="dark"] .home-access-badge--premium {
    background: #3a2c5c;
    color: #d5c0ff;
}

[data-site-theme-resolved="dark"] .book-archive,
[data-site-theme-resolved="dark"] .book-detail,
[data-site-theme-resolved="dark"] .book-nav,
[data-site-theme-resolved="dark"] .genre-chip,
[data-site-theme-resolved="dark"] .book-archive__select,
[data-site-theme-resolved="dark"] .book-archive__view-btn,
[data-site-theme-resolved="dark"] .book-archive__filter-toggle,
[data-site-theme-resolved="dark"] .book-author-note__inner,
[data-site-theme-resolved="dark"] .book-chapters__sort,
[data-site-theme-resolved="dark"] .book-chapters__toggle-btn,
[data-site-theme-resolved="dark"] .book-bonus-card,
[data-site-theme-resolved="dark"] .book-detail__sticky-cta,
[data-site-theme-resolved="dark"] .book-share__dropdown,
[data-site-theme-resolved="dark"] .bookshelf-dropdown__menu {
    background-color: var(--kuehn-site-surface);
    color: var(--kuehn-site-text);
    border-color: var(--kuehn-site-border);
}

[data-site-theme-resolved="dark"] .book-share__link:hover,
[data-site-theme-resolved="dark"] .bookshelf-dropdown__item:hover,
[data-site-theme-resolved="dark"] .book-chapter-row:hover {
    background: var(--kuehn-hover-bg, #232c38);
}

[data-site-theme-resolved="dark"] .patreon-profile-dropdown__name,
[data-site-theme-resolved="dark"] .patreon-profile-sidebar__name,
[data-site-theme-resolved="dark"] .patreon-profile-stat-value,
[data-site-theme-resolved="dark"] .patreon-profile-stat-card__value,
[data-site-theme-resolved="dark"] .patreon-settings-radio span,
[data-site-theme-resolved="dark"] .patreon-settings-checkbox span {
    color: var(--kuehn-site-text);
}

[data-site-theme-resolved="dark"] .patreon-settings-radio {
    background: var(--kuehn-site-surface);
    border-color: var(--kuehn-site-border);
}

[data-site-theme-resolved="dark"] .patreon-settings-radio:focus-within {
    border-color: #9fc2ff;
    box-shadow: 0 0 0 2px rgba(159, 194, 255, 0.2);
}

[data-site-theme-resolved="dark"] .patreon-settings-radio:has(input[type="radio"]:checked) {
    background: #22395b;
    border-color: #4b79b9;
}

[data-site-theme-resolved="dark"] .patreon-settings-radio input[type="radio"] {
    accent-color: #9fc2ff;
}

[data-site-theme-resolved="dark"] .patreon-related__card,
[data-site-theme-resolved="dark"] .patreon-spoiler-major-gate,
[data-site-theme-resolved="dark"] .character-favorite-btn,
[data-site-theme-resolved="dark"] .patreon-profile-sidebar,
[data-site-theme-resolved="dark"] .patreon-profile-stat-card,
[data-site-theme-resolved="dark"] .patreon-progress-bar {
    background: var(--kuehn-site-surface);
    color: var(--kuehn-site-text);
    border-color: var(--kuehn-site-border);
}

.archive-glossary .kuehn-page-intro,
.glossary-page {
    margin-bottom: var(--space-group, 2rem);
}

.glossar-archive.patreon-content-page,
.glossary-page .patreon-glossar {
    gap: clamp(1rem, 2vw, 1.5rem);
    max-width: 1200px;
}

.glossar-archive .glossar-toolbar,
.glossar-archive .glossar-alphabet,
.glossar-archive .glossar-section,
.glossary-page .patreon-glossar__hero-enhanced,
.glossary-page .patreon-content-page__section,
.glossary-page .glossar-prevnext__link {
    background: linear-gradient(180deg, color-mix(in srgb, var(--kuehn-site-surface, #ffffff) 94%, white 6%) 0%, var(--kuehn-site-surface, #ffffff) 100%);
    border: 1px solid var(--kuehn-site-border, #e9e9ec);
    border-radius: var(--radius-lg, 18px);
    box-shadow: 0 10px 30px rgba(23, 18, 12, 0.06);
}

.glossar-archive .glossar-toolbar,
.glossar-archive .glossar-alphabet,
.glossar-archive .glossar-section,
.glossary-page .patreon-glossar__hero-enhanced,
.glossary-page .patreon-content-page__section {
    padding: clamp(1rem, 2vw, 1.4rem);
}

.glossar-archive .glossar-toolbar {
    gap: 1rem;
    align-items: stretch;
}

.glossar-archive .glossar-search {
    min-height: 3.25rem;
    border-color: var(--kuehn-site-border, #e9e9ec);
    background: color-mix(in srgb, var(--kuehn-site-surface, #ffffff) 96%, white 4%);
}

.glossar-archive .glossar-sort__btn,
.glossar-archive .glossar-pill,
.glossar-archive .glossar-empty__reset {
    transition: background 160ms ease, border-color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}

.glossar-archive .glossar-sort__btn:hover,
.glossar-archive .glossar-pill:hover,
.glossar-archive .glossar-empty__reset:hover,
.glossar-archive .glossar-card__link:hover,
.glossary-page .glossar-prevnext__link:hover,
.glossary-page .patreon-related__link:hover {
    transform: translateY(-1px);
}

.glossar-archive .glossar-search:focus-within,
.glossar-archive .glossar-sort__btn:focus,
.glossar-archive .glossar-pill:focus,
.glossar-archive .glossar-empty__reset:focus,
.glossar-archive .glossar-card__link:focus,
.glossar-archive .glossar-alphabet__letter:focus,
.glossary-page .glossar-prevnext__link:focus,
.glossary-page .patreon-related__link:focus {
    outline: none;
    box-shadow: var(--kuehn-focus-ring);
}

.glossar-archive .glossar-alphabet {
    top: calc(var(--wp-admin--admin-bar--height, 0px) + 0.5rem);
    justify-content: flex-start;
    gap: 0.35rem;
    border-bottom: 0;
}

.glossar-archive .glossar-alphabet__letter {
    border: 1px solid transparent;
}

.glossar-archive .glossar-alphabet__letter:hover,
.glossar-archive .glossar-alphabet__letter:focus,
.glossar-archive .glossar-alphabet__letter.is-active {
    background: var(--accent);
    color: #fff;
}

.glossar-archive .glossar-section__letter {
    padding: 0 0 0.85rem;
    margin-bottom: 1rem;
}

.glossar-archive .glossar-card,
.glossary-page .patreon-related__card {
    border-radius: var(--radius-md, 14px);
    overflow: hidden;
}

.glossar-archive .glossar-card__link,
.glossary-page .patreon-related__link {
    transition: background 160ms ease, transform 160ms ease;
}

.glossar-archive .glossar-card__link {
    display: block;
}

.glossar-archive .glossar-card__link:hover,
.glossar-archive .glossar-card__link:focus,
.glossary-page .patreon-related__link:hover,
.glossary-page .patreon-related__link:focus {
    background: color-mix(in srgb, var(--accent) 5%, white 95%);
}

.glossar-archive {
    display: grid;
    gap: clamp(1.1rem, 2vw, 1.6rem);
}

.glossar-archive .glossar-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.95fr);
    gap: clamp(1rem, 2vw, 1.4rem);
    align-items: start;
}

.glossar-archive .glossar-hero__copy,
.glossar-archive .glossar-spotlight,
.glossar-archive .glossar-results-intro,
.glossar-archive .glossar-toolbar,
.glossar-archive .glossar-pills,
.glossar-archive .glossar-alphabet,
.glossar-archive .glossar-section,
.glossar-archive .glossar-empty {
    background: linear-gradient(180deg, color-mix(in srgb, var(--kuehn-site-surface, #ffffff) 92%, #fff8ef 8%) 0%, var(--kuehn-site-surface, #ffffff) 100%);
    border: 1px solid var(--kuehn-site-border, #e9e9ec);
    border-radius: 22px;
    box-shadow: 0 18px 50px rgba(29, 21, 14, 0.08);
}

.glossar-archive .glossar-hero__copy {
    padding: clamp(1.3rem, 3vw, 2rem);
    background: radial-gradient(circle at top left, rgba(201, 146, 70, 0.18), transparent 40%), linear-gradient(135deg, rgba(250, 244, 233, 0.96), rgba(255, 255, 255, 0.98));
}

/* Suppress empty paragraphs injected by wpautop inside the copy panel */
.glossar-archive .glossar-hero__copy > p:empty,
.glossar-archive .glossar-hero__stats > p:empty {
    display: none;
    margin: 0;
}

/* wpautop wraps the spotlight <a> in a <p> — remove its default margin so both
   hero grid columns start at the same top edge */
.glossar-archive .glossar-hero > p {
    margin: 0;
}

.glossar-archive .glossar-hero__eyebrow,
.glossar-archive .glossar-toolbar__eyebrow,
.glossar-archive .glossar-results-intro__eyebrow {
    margin: 0 0 0.5rem;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--accent, #8b6f5a);
}

.glossar-archive .glossar-hero__lede,
.glossar-archive .glossar-toolbar__hint,
.glossar-archive .glossar-results-intro__text {
    margin: 0;
    font-size: 1rem;
    line-height: 1.7;
    color: var(--kuehn-site-text-muted, rgba(24, 17, 14, 0.72));
}

.glossar-archive .glossar-hero__stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.85rem;
    margin-top: 1.2rem;
}

.glossar-archive .glossar-stat {
    display: grid;
    gap: 0.2rem;
    padding: 1rem 1.05rem;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.75);
    border: 1px solid rgba(201, 146, 70, 0.16);
}

.glossar-archive .glossar-stat__value {
    font-size: clamp(1.2rem, 2.6vw, 1.8rem);
    line-height: 1;
}

.glossar-archive .glossar-stat__label {
    font-size: 0.84rem;
    color: var(--kuehn-site-text-muted, rgba(24, 17, 14, 0.68));
}

.glossar-archive .glossar-spotlight {
    display: grid;
    gap: 0.7rem;
    padding: clamp(1.2rem, 2.3vw, 1.6rem);
    color: inherit;
    text-decoration: none;
    align-content: start;
    align-self: start;
    background: radial-gradient(circle at top right, rgba(201, 146, 70, 0.22), transparent 38%), linear-gradient(155deg, rgba(255, 255, 255, 0.96), rgba(250, 244, 233, 0.92));
}

.glossar-archive .glossar-spotlight__label,
.glossar-archive .glossar-spotlight__category,
.glossar-archive .glossar-spotlight__cta {
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.glossar-archive .glossar-spotlight__title {
    font-size: clamp(1.35rem, 2.8vw, 2rem);
    line-height: 1.1;
}

.glossar-archive .glossar-spotlight__excerpt {
    color: var(--kuehn-site-text-muted, rgba(24, 17, 14, 0.72));
    line-height: 1.65;
}

.glossar-archive .glossar-spotlight__cta {
    margin-top: auto;
    color: var(--accent, #8b6f5a);
}

.glossar-archive .glossar-explorer {
    display: grid;
    grid-template-columns: minmax(240px, 320px) minmax(0, 1fr);
    gap: clamp(1rem, 2vw, 1.4rem);
    align-items: start;
}

.glossar-archive .glossar-explorer__sidebar {
    position: sticky;
    top: calc(var(--wp-admin--admin-bar--height, 0px) + 1rem);
    display: grid;
    gap: 1rem;
}

.glossar-archive .glossar-explorer__content {
    display: grid;
    gap: 1rem;
}

.glossar-archive .glossar-toolbar,
.glossar-archive .glossar-pills,
.glossar-archive .glossar-alphabet,
.glossar-archive .glossar-results-intro,
.glossar-archive .glossar-section,
.glossar-archive .glossar-empty {
    padding: clamp(1rem, 2vw, 1.35rem);
}

.glossar-archive .glossar-toolbar {
    display: grid;
    gap: 1rem;
}

.glossar-archive .glossar-toolbar__controls {
    display: grid;
    gap: 0.8rem;
}

.glossar-archive .glossar-toolbar__count {
    display: block;
    margin: 0 0 0.55rem;
    font-size: 1.05rem;
}

.glossar-archive .glossar-sort {
    width: 100%;
}

.glossar-archive .glossar-sort__btn {
    flex: 1 1 0;
    justify-content: center;
}

.glossar-archive .glossar-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.glossar-archive .glossar-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
}

.glossar-archive .glossar-pill__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.65rem;
    padding: 0.1rem 0.38rem;
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.06);
    font-size: 0.72rem;
}

.glossar-archive .glossar-pill.is-active .glossar-pill__count {
    background: rgba(255, 255, 255, 0.18);
}

.glossar-archive .glossar-alphabet {
    position: static;
    justify-content: flex-start;
    gap: 0.35rem;
    border-bottom: 0;
}

.glossar-archive .glossar-results-intro {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 1rem;
    align-items: end;
}

.glossar-archive .glossar-results-intro__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    color: var(--kuehn-site-text-muted, rgba(24, 17, 14, 0.72));
    font-size: 0.9rem;
}

.glossar-archive .glossar-results-intro__meta span {
    display: inline-flex;
    align-items: center;
    padding: 0.45rem 0.7rem;
    border-radius: 999px;
    background: rgba(139, 111, 90, 0.08);
}

.glossar-archive .glossar-sections {
    display: grid;
    gap: 1rem;
}

.glossar-archive .glossar-section__header {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: end;
    margin-bottom: 1rem;
}

.glossar-archive .glossar-section__letter {
    margin: 0;
    padding: 0;
    border: 0;
    opacity: 1;
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1;
}

.glossar-archive .glossar-section__count {
    margin: 0;
    color: var(--kuehn-site-text-muted, rgba(24, 17, 14, 0.68));
    font-size: 0.9rem;
}

.glossar-archive .glossar-grid {
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 0.95rem;
}

.glossar-archive .glossar-card {
    border-radius: 18px;
    border-color: color-mix(in srgb, var(--kuehn-site-border, #e9e9ec) 86%, #c99246 14%);
    background: rgba(255, 255, 255, 0.86);
}

.glossar-archive .glossar-card__body {
    gap: 0.85rem;
    padding: 1.05rem 1rem 1rem;
}

.glossar-archive .glossar-card__title {
    margin: 0;
    font-size: clamp(1.3rem, 2.2vw, 1.7rem);
    font-weight: 750;
    line-height: 1.08;
    letter-spacing: -0.03em;
    color: var(--kuehn-site-text, #1c2024);
}

.glossar-archive .glossar-card__excerpt {
    margin: 0;
    font-size: 0.98rem;
    line-height: 1.5;
    color: var(--kuehn-site-text-muted, rgba(24, 17, 14, 0.68));
}

.glossar-archive .glossar-card__meta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.glossar-archive .glossar-card__context,
.glossar-archive .glossar-card__badge {
    display: inline-flex;
    align-items: center;
    min-height: 1.7rem;
    padding: 0.15rem 0.55rem;
    border-radius: 999px;
    font-size: 0.74rem;
    font-weight: 700;
}

.glossar-archive .glossar-card__context {
    background: rgba(139, 111, 90, 0.08);
    color: var(--kuehn-site-text-muted, rgba(24, 17, 14, 0.72));
}

.glossar-archive .glossar-card__footer {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    align-items: center;
}

.glossar-archive .glossar-card__cta {
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--accent, #8b6f5a);
}

.glossar-archive .glossar-empty {
    text-align: center;
}

.glossary-page .patreon-glossar {
    max-width: 100%;
}

.glossary-page .glossar-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    align-items: center;
    font-size: 0.92rem;
    color: var(--kuehn-site-text-muted, rgba(24, 17, 14, 0.68));
}

.glossary-page .glossar-breadcrumb a {
    color: inherit;
    text-decoration: none;
}

.glossary-page .patreon-glossar__hero-enhanced {
    grid-template-columns: minmax(140px, 220px) 1fr;
    gap: clamp(1rem, 2vw, 1.5rem);
    align-items: start;
}

.glossary-page .patreon-glossar__hero-letter {
    width: 100%;
    border-radius: var(--radius-md, 14px);
}

.glossary-page .patreon-glossar__hero-letter {
    aspect-ratio: 4 / 5;
    display: grid;
    place-items: center;
    font-size: clamp(3rem, 6vw, 4.5rem);
    font-weight: 800;
    background: linear-gradient(145deg, color-mix(in srgb, var(--accent) 22%, white 78%) 0%, color-mix(in srgb, var(--accent) 72%, #8b6f5a 28%) 100%);
    color: #fff;
}

.glossary-page .patreon-related__thumb--glossary {
    display: grid;
    place-items: center;
    font-size: clamp(1.6rem, 3.5vw, 2.4rem);
    font-weight: 800;
    letter-spacing: -0.03em;
    color: #fff;
    background: linear-gradient(145deg, color-mix(in srgb, var(--accent) 22%, white 78%) 0%, color-mix(in srgb, var(--accent) 72%, #8b6f5a 28%) 100%);
}

.glossary-page .patreon-glossar__hero-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-top: 0.8rem;
}

.glossary-page .patreon-glossar__excerpt {
    margin: 0.9rem 0 0;
    font-size: 1rem;
    line-height: 1.65;
    color: var(--kuehn-site-text-muted, rgba(24, 17, 14, 0.68));
}

.glossary-page .glossar-quick-facts {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 0.85rem;
}

.glossary-page .glossar-quick-fact {
    display: grid;
    gap: 0.2rem;
    padding: 0.9rem 1rem;
    border-radius: var(--radius-md, 14px);
    background: color-mix(in srgb, var(--kuehn-site-surface, #ffffff) 85%, #f6efe6 15%);
}

.glossary-page .glossar-quick-fact__label {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--kuehn-site-text-muted, rgba(24, 17, 14, 0.68));
}

.glossary-page .glossar-prevnext {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.glossary-page .glossar-prevnext__link {
    display: grid;
    gap: 0.3rem;
    padding: 1rem 1.1rem;
    color: inherit;
    text-decoration: none;
    transition: background 160ms ease, transform 160ms ease;
}

.glossary-page .glossar-prevnext__dir {
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--kuehn-site-text-muted, rgba(24, 17, 14, 0.68));
}

@media (max-width: 900px) {
    .glossar-archive .glossar-hero,
    .glossar-archive .glossar-explorer,
    .glossary-page .patreon-glossar__hero-enhanced,
    .glossary-page .glossar-prevnext {
        grid-template-columns: 1fr;
    }

    .glossar-archive .glossar-explorer__sidebar {
        position: static;
    }
}

@media (max-width: 700px) {
    .glossar-archive .glossar-hero__stats {
        grid-template-columns: 1fr;
    }

    .glossar-archive .glossar-results-intro,
    .glossar-archive .glossar-section__header,
    .glossar-archive .glossar-card__footer {
        flex-direction: column;
        align-items: flex-start;
    }
}

[data-site-theme-resolved="dark"] .glossar-archive.patreon-content-page,
[data-site-theme-resolved="dark"] .glossar-archive .patreon-content-page__section,
[data-site-theme-resolved="dark"] .glossar-archive .glossar-section {
    background: var(--kuehn-site-bg) !important;
    box-shadow: none;
}

[data-site-theme-resolved="dark"] .glossar-archive .glossar-hero__copy,
[data-site-theme-resolved="dark"] .glossar-archive .glossar-spotlight,
[data-site-theme-resolved="dark"] .glossar-archive .glossar-results-intro,
[data-site-theme-resolved="dark"] .glossar-archive .glossar-toolbar,
[data-site-theme-resolved="dark"] .glossar-archive .glossar-pills,
[data-site-theme-resolved="dark"] .glossar-archive .glossar-alphabet,
[data-site-theme-resolved="dark"] .glossar-archive .glossar-empty,
[data-site-theme-resolved="dark"] .glossar-archive .glossar-card {
    background: linear-gradient(180deg, rgba(29, 36, 46, 0.96) 0%, rgba(20, 24, 32, 0.98) 100%);
    border-color: rgba(111, 132, 161, 0.24);
    box-shadow: none;
}

[data-site-theme-resolved="dark"] .glossar-archive .glossar-stat,
[data-site-theme-resolved="dark"] .glossar-archive .glossar-results-intro__meta span,
[data-site-theme-resolved="dark"] .glossar-archive .glossar-card__context,
[data-site-theme-resolved="dark"] .glossar-archive .glossar-pill__count {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(224, 185, 104, 0.18);
}

[data-site-theme-resolved="dark"] .glossar-archive .glossar-hero__copy,
[data-site-theme-resolved="dark"] .glossar-archive .glossar-spotlight,
[data-site-theme-resolved="dark"] .glossar-archive .glossar-toolbar,
[data-site-theme-resolved="dark"] .glossar-archive .glossar-pills,
[data-site-theme-resolved="dark"] .glossar-archive .glossar-alphabet,
[data-site-theme-resolved="dark"] .glossar-archive .glossar-results-intro,
[data-site-theme-resolved="dark"] .glossar-archive .glossar-section,
[data-site-theme-resolved="dark"] .glossar-archive .glossar-card,
[data-site-theme-resolved="dark"] .glossar-archive .glossar-empty,
[data-site-theme-resolved="dark"] .glossary-page .patreon-glossar__hero-enhanced,
[data-site-theme-resolved="dark"] .glossary-page .patreon-content-page__section,
[data-site-theme-resolved="dark"] .glossary-page .glossar-prevnext__link,
[data-site-theme-resolved="dark"] .glossary-page .patreon-related__card {
    color: var(--kuehn-site-text);
}

[data-site-theme-resolved="dark"] .glossar-archive .glossar-hero__lede,
[data-site-theme-resolved="dark"] .glossar-archive .glossar-toolbar__hint,
[data-site-theme-resolved="dark"] .glossar-archive .glossar-results-intro__text,
[data-site-theme-resolved="dark"] .glossar-archive .glossar-stat__label,
[data-site-theme-resolved="dark"] .glossar-archive .glossar-spotlight__excerpt,
[data-site-theme-resolved="dark"] .glossar-archive .glossar-results-intro__meta,
[data-site-theme-resolved="dark"] .glossar-archive .glossar-section__count,
[data-site-theme-resolved="dark"] .glossar-archive .glossar-card__context,
[data-site-theme-resolved="dark"] .glossar-archive .glossar-card__excerpt,
[data-site-theme-resolved="dark"] .glossar-archive .glossar-empty__text,
[data-site-theme-resolved="dark"] .glossar-archive .glossar-empty__hint,
[data-site-theme-resolved="dark"] .glossary-page .glossar-breadcrumb,
[data-site-theme-resolved="dark"] .glossary-page .patreon-glossar__excerpt,
[data-site-theme-resolved="dark"] .glossary-page .glossar-quick-fact__label,
[data-site-theme-resolved="dark"] .glossary-page .glossar-prevnext__dir {
    color: var(--kuehn-site-muted);
}

[data-site-theme-resolved="dark"] .glossar-archive .glossar-toolbar__count,
[data-site-theme-resolved="dark"] .glossar-archive .glossar-stat__value,
[data-site-theme-resolved="dark"] .glossar-archive .glossar-spotlight__title,
[data-site-theme-resolved="dark"] .glossar-archive .glossar-alphabet__letter,
[data-site-theme-resolved="dark"] .glossar-archive .glossar-card__title,
[data-site-theme-resolved="dark"] .glossary-page .glossar-quick-fact,
[data-site-theme-resolved="dark"] .glossary-page .patreon-glossar__title,
[data-site-theme-resolved="dark"] .glossary-page .glossar-prevnext__link strong,
[data-site-theme-resolved="dark"] .glossary-page .patreon-related__title {
    color: var(--kuehn-site-text);
}

[data-site-theme-resolved="dark"] .glossar-archive .glossar-card__context,
[data-site-theme-resolved="dark"] .glossar-archive .glossar-results-intro__meta span,
[data-site-theme-resolved="dark"] .glossary-page .glossar-quick-fact {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(111, 132, 161, 0.24);
}

[data-site-theme-resolved="dark"] .glossar-archive .glossar-search__icon,
[data-site-theme-resolved="dark"] .glossar-archive .glossar-empty__icon {
    color: var(--kuehn-site-muted);
}

[data-site-theme-resolved="dark"] .glossar-archive .glossar-card__link:hover,
[data-site-theme-resolved="dark"] .glossar-archive .glossar-card__link:focus,
[data-site-theme-resolved="dark"] .glossary-page .patreon-related__link:hover,
[data-site-theme-resolved="dark"] .glossary-page .patreon-related__link:focus,
[data-site-theme-resolved="dark"] .glossary-page .glossar-prevnext__link:hover,
[data-site-theme-resolved="dark"] .glossary-page .glossar-prevnext__link:focus {
    background: var(--kuehn-hover-bg, #232c38);
}

[data-site-theme-resolved="dark"] .glossar-archive .glossar-spotlight__label,
[data-site-theme-resolved="dark"] .glossar-archive .glossar-spotlight__category,
[data-site-theme-resolved="dark"] .glossar-archive .glossar-spotlight__cta,
[data-site-theme-resolved="dark"] .glossar-archive .glossar-hero__eyebrow,
[data-site-theme-resolved="dark"] .glossar-archive .glossar-toolbar__eyebrow,
[data-site-theme-resolved="dark"] .glossar-archive .glossar-results-intro__eyebrow,
[data-site-theme-resolved="dark"] .glossary-page .glossar-breadcrumb a {
    color: #f1d79a;
}

[data-site-theme-resolved="dark"] .glossar-archive .patreon-content-page__section {
    border-color: transparent;
}

[data-site-theme-resolved="dark"] .patreon-related__thumb,
[data-site-theme-resolved="dark"] .patreon-related__placeholder {
    background: var(--kuehn-hover-bg, #232c38);
}

[data-site-theme-resolved="dark"] .character-favorite-btn:hover {
    background: var(--kuehn-hover-bg, #232c38);
    border-color: #455063;
}

[data-site-theme-resolved="dark"] .character-favorite-btn.is-favorited {
    background: #3a2430;
    border-color: #8f415d;
    color: #f1bacd;
}

[data-site-theme-resolved="dark"] .book-detail-page,
[data-site-theme-resolved="dark"] .book-archive,
[data-site-theme-resolved="dark"] .book-detail {
    --book-bg: #111317;
    --book-bg-alt: #171c25;
    --book-text-primary: #e7eaf0;
    --book-text-secondary: #a1a8b5;
    --book-border: #2b3340;
    --book-border-light: #2b3340;
    --status-ongoing-bg: #153424;
    --status-ongoing-text: #7fe0ab;
    --status-ongoing-dot: #7fe0ab;
    --status-hiatus-bg: #3f2f12;
    --status-hiatus-text: #f4d38b;
    --status-hiatus-dot: #f4d38b;
    --status-completed-bg: #1e3257;
    --status-completed-text: #95beff;
    --status-completed-dot: #95beff;
    --badge-genre-bg: #263244;
    --badge-genre-text: #c8d6ec;
    --badge-free-bg: #1c3d2a;
    --badge-free-text: #93dfb3;
    --badge-supporter-bg: #3e3219;
    --badge-supporter-text: #f1d79a;
    --badge-premium-bg: #3a2c5c;
    --badge-premium-text: #d5c0ff;
}

[data-site-theme-resolved="dark"] .book-archive__filters.is-sticky,
[data-site-theme-resolved="dark"] .book-detail__sticky-cta {
    box-shadow: 0 2px 14px rgba(0, 0, 0, 0.28);
}

/* Books archive: keep page background in dark mode, only controls stay surfaced */
[data-site-theme-resolved="dark"] .archive-book .book-archive {
    background-color: var(--book-bg);
}

[data-site-theme-resolved="dark"] .archive-book .book-archive__title {
    color: var(--book-text-primary);
}

/* Continue Reading button in dark mode */
[data-site-theme-resolved="dark"] .book-hero__btn--primary {
    color: #1c2024 !important;
}

[data-site-theme-resolved="dark"] .book-card__hover-btn--secondary,
[data-site-theme-resolved="dark"] .book-card__hover-btn--primary {
    background: var(--kuehn-site-surface);
    color: var(--book-text-primary);
    border: 1px solid var(--book-border);
}

[data-site-theme-resolved="dark"] .book-card__hover-btn--secondary:hover,
[data-site-theme-resolved="dark"] .book-card__hover-btn--primary:hover {
    background: var(--kuehn-hover-bg, #232c38);
}

[data-site-theme-resolved="dark"] .book-card__hover-btn--primary {
    color: var(--book-text-primary);
}

[data-site-theme-resolved="dark"] .book-detail__sticky-cta .book-hero__btn {
    background: var(--kuehn-site-text) !important;
    color: var(--kuehn-site-bg) !important;
}

[data-site-theme-resolved="dark"] .book-author-note__inner,
[data-site-theme-resolved="dark"] .book-recommendations,
[data-site-theme-resolved="dark"] .book-recommendations__grid,
[data-site-theme-resolved="dark"] .book-chapters__list {
    background: var(--book-bg-alt);
    border-color: var(--book-border);
}

[data-site-theme-resolved="dark"] .kuehn-bookmark-widget__toggle {
    background: #1a1f28;
    border-color: #334054;
    color: #e7eaf0;
}

[data-site-theme-resolved="dark"] .kuehn-bookmark-widget[data-state="open"] .kuehn-bookmark-widget__toggle {
    background: #1f3f39;
    color: #e7eaf0;
}

[data-site-theme-resolved="dark"] .kuehn-bookmark-panel,
[data-site-theme-resolved="dark"] .kuehn-reader-settings__panel,
[data-site-theme-resolved="dark"] .kuehn-quote-share-modal__inner {
    background: #171c25;
    border-color: #2b3340;
    color: #e7eaf0;
}

[data-site-theme-resolved="dark"] .kuehn-bookmark-panel__actions,
[data-site-theme-resolved="dark"] .kuehn-bookmark-item {
    border-color: #2b3340;
}

[data-site-theme-resolved="dark"] .kuehn-bookmark-panel__close,
[data-site-theme-resolved="dark"] .kuehn-bookmark-panel__empty,
[data-site-theme-resolved="dark"] .kuehn-bookmark-item__note,
[data-site-theme-resolved="dark"] .kuehn-bookmark-item__meta {
    color: #a1a8b5;
}

[data-site-theme-resolved="dark"] .kuehn-bookmark-item__jump {
    color: #9fc2ff;
}

[data-site-theme-resolved="dark"] .kuehn-bookmark-panel__note {
    background: #1f2633;
    border: 1px solid #334054;
    color: #e7eaf0;
}

[data-site-theme-resolved="dark"] .book-card__title,
[data-site-theme-resolved="dark"] .book-card__series,
[data-site-theme-resolved="dark"] .book-author-note__heading,
[data-site-theme-resolved="dark"] .book-author-note__text,
[data-site-theme-resolved="dark"] .book-chapter-row__title,
[data-site-theme-resolved="dark"] .book-chapter-row__meta,
[data-site-theme-resolved="dark"] .book-chapter-row__early-access,
[data-site-theme-resolved="dark"] .book-chapter-row__number {
    color: var(--book-text-primary);
}

[data-site-theme-resolved="dark"] .book-card__series,
[data-site-theme-resolved="dark"] .book-chapter-row__meta,
[data-site-theme-resolved="dark"] .book-chapter-row__early-access,
[data-site-theme-resolved="dark"] .book-chapter-row__number {
    color: var(--book-text-secondary);
}

[data-site-theme-resolved="dark"] .kuehn-notification-bell__trigger,
[data-site-theme-resolved="dark"] .kuehn-live-search__trigger {
    color: var(--kuehn-site-text);
}

[data-site-theme-resolved="dark"] .kuehn-notification-bell__trigger:hover,
[data-site-theme-resolved="dark"] .kuehn-live-search__trigger:hover {
    background: var(--kuehn-hover-bg, #232c38);
}

[data-site-theme-resolved="dark"] .kuehn-notification-dropdown,
[data-site-theme-resolved="dark"] .kuehn-notification-page-item,
[data-site-theme-resolved="dark"] .kuehn-notifications-page__mark-all,
[data-site-theme-resolved="dark"] .kuehn-notifications-page .kuehn-filter-chip,
[data-site-theme-resolved="dark"] .kuehn-notification-dropdown .kuehn-filter-chip,
[data-site-theme-resolved="dark"] .kuehn-notifications-page__load-more,
[data-site-theme-resolved="dark"] .kuehn-live-search__panel,
[data-site-theme-resolved="dark"] .kuehn-live-search__item--active,
[data-site-theme-resolved="dark"] .kuehn-live-search__item:hover {
    background: var(--kuehn-site-surface);
    color: var(--kuehn-site-text);
    border-color: var(--kuehn-site-border);
}

[data-site-theme-resolved="dark"] .kuehn-notification-dropdown__header,
[data-site-theme-resolved="dark"] .kuehn-notification-dropdown__list,
[data-site-theme-resolved="dark"] .kuehn-notification-dropdown__footer,
[data-site-theme-resolved="dark"] .kuehn-notification-item,
[data-site-theme-resolved="dark"] .kuehn-live-search__input-wrap,
[data-site-theme-resolved="dark"] .kuehn-live-search__group + .kuehn-live-search__group,
[data-site-theme-resolved="dark"] .kuehn-live-search__all-results {
    border-color: var(--kuehn-site-border);
}

[data-site-theme-resolved="dark"] .kuehn-notification-dropdown__title,
[data-site-theme-resolved="dark"] .kuehn-notification-item__title,
[data-site-theme-resolved="dark"] .kuehn-notification-page-item,
[data-site-theme-resolved="dark"] .kuehn-notification-page-item__title,
[data-site-theme-resolved="dark"] .kuehn-notifications-page__title,
[data-site-theme-resolved="dark"] .kuehn-live-search__link,
[data-site-theme-resolved="dark"] .kuehn-live-search__title,
[data-site-theme-resolved="dark"] .kuehn-live-search__input,
[data-site-theme-resolved="dark"] .kuehn-live-search__close {
    color: var(--kuehn-site-text);
}

[data-site-theme-resolved="dark"] .kuehn-live-search__input::placeholder,
[data-site-theme-resolved="dark"] .kuehn-live-search__icon {
    color: var(--kuehn-site-muted);
}

[data-site-theme-resolved="dark"] .kuehn-notification-dropdown__empty p,
[data-site-theme-resolved="dark"] .kuehn-notification-item__time,
[data-site-theme-resolved="dark"] .kuehn-notification-page-item__message,
[data-site-theme-resolved="dark"] .kuehn-notification-page-item__time,
[data-site-theme-resolved="dark"] .kuehn-notifications-page__date-label,
[data-site-theme-resolved="dark"] .kuehn-live-search__meta,
[data-site-theme-resolved="dark"] .kuehn-live-search__loading,
[data-site-theme-resolved="dark"] .kuehn-live-search__empty,
[data-site-theme-resolved="dark"] .kuehn-live-search__group-label {
    color: var(--kuehn-site-muted);
}

[data-site-theme-resolved="dark"] .kuehn-notification-item:hover,
[data-site-theme-resolved="dark"] .kuehn-notification-page-item:hover,
[data-site-theme-resolved="dark"] .kuehn-notification-dropdown__mark-all:hover,
[data-site-theme-resolved="dark"] .kuehn-notification-item__dismiss:hover,
[data-site-theme-resolved="dark"] .kuehn-notifications-page .kuehn-filter-chip:hover,
[data-site-theme-resolved="dark"] .kuehn-notification-dropdown .kuehn-filter-chip:hover,
[data-site-theme-resolved="dark"] .kuehn-notifications-page__mark-all:hover,
[data-site-theme-resolved="dark"] .kuehn-notifications-page__load-more:hover,
[data-site-theme-resolved="dark"] .kuehn-live-search__all-results:hover {
    background: var(--kuehn-hover-bg, #232c38);
    color: var(--kuehn-site-text);
}

[data-site-theme-resolved="dark"] .kuehn-updates-rework__toolbar,
[data-site-theme-resolved="dark"] .kuehn-updates-card,
[data-site-theme-resolved="dark"] .kuehn-updates-rework__empty,
[data-site-theme-resolved="dark"] .kuehn-updates-rework__error {
    background: var(--kuehn-site-surface) !important;
    border-color: var(--kuehn-site-border) !important;
    color: var(--kuehn-site-text) !important;
}

[data-site-theme-resolved="dark"] .kuehn-updates-card__actions {
    border-top-color: var(--kuehn-site-border) !important;
}

[data-site-theme-resolved="dark"] .kuehn-updates-card__meta,
[data-site-theme-resolved="dark"] .kuehn-updates-card__comments,
[data-site-theme-resolved="dark"] .kuehn-updates-rework__intro,
[data-site-theme-resolved="dark"] .kuehn-updates-rework__empty-hint {
    color: var(--kuehn-site-muted) !important;
    opacity: 1;
}

[data-site-theme-resolved="dark"] .kuehn-filter-chip--active {
    background: #dbe7ff;
    border-color: #dbe7ff;
    color: #111317;
}

[data-site-theme-resolved="dark"] .kuehn-notification-item--unread,
[data-site-theme-resolved="dark"] .kuehn-notification-page-item--unread {
    background: #1c2c46;
    border-color: #264267;
}

[data-site-theme-resolved="dark"] .kuehn-notification-item--unread:hover,
[data-site-theme-resolved="dark"] .kuehn-notification-page-item--unread:hover {
    background: #22395b;
}

[data-site-theme-resolved="dark"] .kuehn-notification-dropdown__all-link,
[data-site-theme-resolved="dark"] .kuehn-live-search__all-results {
    color: #9fc2ff;
}

[data-site-theme-resolved="dark"] .kuehn-notification-dropdown__all-link:hover {
    background: #22395b;
}

[data-site-theme-resolved="dark"] .kuehn-notification-dropdown__list::-webkit-scrollbar-thumb {
    background: #465267;
}

[data-site-theme-resolved="dark"] .kuehn-spinner {
    border-color: #364052;
    border-top-color: #dbe7ff;
}

[data-site-theme-resolved="dark"] .kuehn-login-content,
[data-site-theme-resolved="dark"] .patreon-status-widget,
[data-site-theme-resolved="dark"] .patreon-cta,
[data-site-theme-resolved="dark"] .btn-social,
[data-site-theme-resolved="dark"] .login-divider span {
    background: var(--kuehn-site-surface);
    color: var(--kuehn-site-text);
    border-color: var(--kuehn-site-border);
}

[data-site-theme-resolved="dark"] .benefit-hint,
[data-site-theme-resolved="dark"] .login-links,
[data-site-theme-resolved="dark"] .patreon-cta .cta-secondary,
[data-site-theme-resolved="dark"] .login-divider span {
    color: var(--kuehn-site-muted);
}

[data-site-theme-resolved="dark"] .login-divider::before {
    background: var(--kuehn-site-border);
}

[data-site-theme-resolved="dark"] .kuehn-modal-close {
    color: var(--kuehn-site-text);
}

[data-site-theme-resolved="dark"] .patreon-content-page__meta-item dt,
[data-site-theme-resolved="dark"] .patreon-content-page__meta-item dd,
[data-site-theme-resolved="dark"] .patreon-related__name,
[data-site-theme-resolved="dark"] .patreon-content-page__title,
[data-site-theme-resolved="dark"] .patreon-related__title,
[data-site-theme-resolved="dark"] .patreon-status-widget h3,
[data-site-theme-resolved="dark"] .patreon-cta h3 {
    color: var(--kuehn-site-text);
}

[data-site-theme-resolved="dark"] .patreon-cta--content-lock {
    background:
        radial-gradient(circle at top right, rgba(139, 111, 90, 0.22), transparent 34%),
        linear-gradient(145deg, #17181b 0%, #1e2024 100%);
    border-color: #3b322c;
    box-shadow: 0 18px 38px rgba(0, 0, 0, 0.28);
}

[data-site-theme-resolved="dark"] .patreon-cta__benefit-card {
    background: rgba(24, 26, 30, 0.82);
    border-color: rgba(139, 111, 90, 0.28);
}

[data-site-theme-resolved="dark"] .patreon-cta__lead,
[data-site-theme-resolved="dark"] .patreon-cta--content-lock .cta-benefits li {
    color: #ddd5cd;
}

[data-site-theme-resolved="dark"] .patreon-cta__eyebrow,
[data-site-theme-resolved="dark"] .patreon-cta__tier-label {
    color: #d4b8a2;
}

[data-site-theme-resolved="dark"] .patreon-cta__tier-name {
    color: #f3ece5;
}

/* --------------------------------------------------------------------------
   Premium Gate — visual locked-content wall (character, glossary, bonus)
   -------------------------------------------------------------------------- */

.patreon-gate {
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: 0 24px 48px rgba(28, 20, 14, 0.12);
    margin: var(--space-block) 0;
    border: 1px solid color-mix(in srgb, var(--kuehn-accent) 18%, var(--kuehn-site-border));
    background: var(--kuehn-site-surface);
}

/* ---- Hero ---- */
.patreon-gate__hero {
    position: relative;
    min-height: 220px;
    overflow: hidden;
    display: flex;
    align-items: stretch;
}

.patreon-gate__hero-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: blur(22px) saturate(0.7);
    transform: scale(1.12);
    pointer-events: none;
    user-select: none;
}

.patreon-gate__hero-placeholder {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    font-size: clamp(3.5rem, 8vw, 6rem);
    font-weight: 800;
    letter-spacing: -0.03em;
    color: rgba(139, 111, 90, 0.25);
    background: linear-gradient(135deg, #f7f3ed 0%, #ede5d8 100%);
    pointer-events: none;
    user-select: none;
}

.patreon-gate__hero-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(to bottom, rgba(28, 18, 10, 0.52) 0%, rgba(28, 18, 10, 0.72) 100%),
        radial-gradient(ellipse at 60% 40%, rgba(139, 111, 90, 0.28) 0%, transparent 65%);
    pointer-events: none;
}

.patreon-gate__hero-inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 40px 32px 36px;
    text-align: center;
    width: 100%;
}

.patreon-gate__lock-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 13px 5px 10px;
    border-radius: var(--radius-pill);
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.28);
    backdrop-filter: blur(8px);
    color: #f5ede4;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.patreon-gate__hero-title {
    margin: 0;
    color: #ffffff;
    font-size: clamp(1.5rem, 3.5vw, 2.1rem);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.02em;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.5);
}

.patreon-gate__hero-line {
    margin: 0;
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.95rem;
    line-height: 1.5;
}

/* ---- Body ---- */
.patreon-gate__body {
    padding: var(--space-group) var(--space-group) var(--space-element);
    background: linear-gradient(160deg, #fffdf9 0%, #f8f5ef 100%);
}

.patreon-gate__section-heading {
    margin: 0 0 var(--space-compact);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: color-mix(in srgb, var(--kuehn-accent) 80%, var(--kuehn-site-muted));
}

/* ---- Benefits grid ---- */
.patreon-gate__benefits {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-compact);
    margin-bottom: var(--space-group);
}

.patreon-gate__benefit {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: var(--space-compact);
    border-radius: var(--radius-md);
    border: 1px solid color-mix(in srgb, var(--kuehn-accent) 14%, var(--kuehn-site-border));
    background: rgba(255, 255, 255, 0.72);
    backdrop-filter: blur(4px);
}

.patreon-gate__benefit-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: var(--radius-sm);
    background: color-mix(in srgb, var(--kuehn-accent) 10%, var(--kuehn-site-bg-alt));
    color: var(--kuehn-accent);
    flex-shrink: 0;
    margin-bottom: 2px;
}

.patreon-gate__benefit-icon svg {
    width: 18px;
    height: 18px;
}

.patreon-gate__benefit-title {
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--kuehn-site-text);
    line-height: 1.2;
}

.patreon-gate__benefit-desc {
    font-size: 0.8rem;
    color: var(--kuehn-site-muted);
    line-height: 1.55;
}

/* ---- Actions ---- */
.patreon-gate__actions {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    padding-top: var(--space-compact);
    border-top: 1px solid color-mix(in srgb, var(--kuehn-accent) 10%, var(--kuehn-site-border));
}

.patreon-gate__cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    padding: 11px 22px;
    font-size: 0.95rem;
    background: var(--kuehn-accent);
    color: #fff !important;
    border: none;
    border-radius: 9999px;
    text-decoration: none !important;
    cursor: pointer;
    line-height: 1.3;
    letter-spacing: 0.01em;
    transition: background 0.15s ease, opacity 0.15s ease, box-shadow 0.15s ease;
    box-shadow: 0 2px 8px rgba(139, 111, 90, 0.28);
}

.patreon-gate__cta:hover {
    background: color-mix(in srgb, var(--kuehn-accent) 82%, #000);
    box-shadow: 0 4px 14px rgba(139, 111, 90, 0.38);
    text-decoration: none !important;
    color: #fff !important;
}

.patreon-gate__cta:focus-visible {
    outline: 2px solid var(--kuehn-accent);
    outline-offset: 3px;
    text-decoration: none !important;
}

.patreon-gate__secondary {
    margin: 0;
    font-size: 0.82rem;
    color: var(--kuehn-site-muted);
    line-height: 1.55;
}

.patreon-gate__secondary a {
    color: var(--kuehn-accent);
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* ---- Responsive ---- */
@media (max-width: 700px) {
    .patreon-gate__benefits {
        grid-template-columns: 1fr;
    }

    .patreon-gate__hero-inner {
        padding: 28px 20px 24px;
    }

    .patreon-gate__body {
        padding: var(--space-element) var(--space-compact);
    }

    .patreon-gate__cta {
        width: 100%;
        justify-content: center;
    }
}

@media (min-width: 701px) and (max-width: 900px) {
    .patreon-gate__benefits {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* ---- Dark mode ---- */
[data-site-theme-resolved="dark"] .patreon-gate {
    border-color: color-mix(in srgb, var(--kuehn-accent) 24%, #2a2420);
    box-shadow: 0 24px 48px rgba(0, 0, 0, 0.4);
    background: #1a1714;
}

[data-site-theme-resolved="dark"] .patreon-gate__hero-placeholder {
    background: linear-gradient(135deg, #1e1a16 0%, #261f18 100%);
    color: rgba(139, 111, 90, 0.22);
}

[data-site-theme-resolved="dark"] .patreon-gate__hero-overlay {
    background:
        linear-gradient(to bottom, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.78) 100%),
        radial-gradient(ellipse at 60% 40%, rgba(139, 111, 90, 0.22) 0%, transparent 65%);
}

[data-site-theme-resolved="dark"] .patreon-gate__body {
    background: linear-gradient(160deg, #1c1814 0%, #1f1b16 100%);
}

[data-site-theme-resolved="dark"] .patreon-gate__benefit {
    background: rgba(30, 24, 18, 0.82);
    border-color: color-mix(in srgb, var(--kuehn-accent) 20%, #2a2420);
}

[data-site-theme-resolved="dark"] .patreon-gate__benefit-title {
    color: #f0e8e0;
}

[data-site-theme-resolved="dark"] .patreon-gate__benefit-desc {
    color: #9a8e85;
}

[data-site-theme-resolved="dark"] .patreon-gate__benefit-icon {
    background: rgba(139, 111, 90, 0.16);
}

[data-site-theme-resolved="dark"] .patreon-gate__section-heading {
    color: color-mix(in srgb, var(--kuehn-accent) 70%, #9a8e85);
}

[data-site-theme-resolved="dark"] .patreon-gate__actions {
    border-top-color: rgba(139, 111, 90, 0.2);
}

[data-site-theme-resolved="dark"] .patreon-gate__secondary {
    color: #7a7069;
}

[data-site-theme-resolved="dark"] .patreon-gate__cta {
    box-shadow: 0 2px 12px rgba(139, 111, 90, 0.22);
}

[data-site-theme-resolved="dark"] .patreon-gate__cta:hover {
    box-shadow: 0 4px 18px rgba(139, 111, 90, 0.34);
}

[data-site-theme-resolved="dark"] .patreon-gate__secondary a {
    color: #c4a080;
}

/* ---- Chapter gate variants ---- */

/* Chapter placeholder uses a cooler/neutral tone (book-cover feel) */
.patreon-gate__hero-placeholder--chapter {
    background: linear-gradient(135deg, #eef0f4 0%, #dde0e8 100%);
    color: rgba(90, 103, 150, 0.22);
}

/* Early Access: clock-accent badge in profile-blue instead of warm */
.patreon-gate__lock-badge--early-access {
    background: rgba(102, 126, 234, 0.18);
    border-color: rgba(102, 126, 234, 0.38);
    color: #dde4ff;
}

/* Early Access hero overlay — blue-violet tint to distinguish from "locked" */
.patreon-gate__hero-overlay--early-access {
    background:
        linear-gradient(to bottom, rgba(20, 24, 52, 0.58) 0%, rgba(20, 24, 52, 0.78) 100%),
        radial-gradient(ellipse at 60% 40%, rgba(102, 126, 234, 0.32) 0%, transparent 65%);
}

/* Premium icon accent in early-access benefits */
.patreon-gate__benefit-icon--premium {
    background: color-mix(in srgb, var(--profile-xp-gradient-start) 12%, var(--kuehn-site-bg-alt));
    color: var(--profile-xp-gradient-start);
}

/* Early Access CTA button — blue-violet accent */
.patreon-gate__cta--early-access {
    background: linear-gradient(135deg, var(--profile-xp-gradient-start) 0%, var(--profile-xp-gradient-end) 100%);
    box-shadow: 0 2px 10px rgba(102, 126, 234, 0.32);
}

.patreon-gate__cta--early-access:hover {
    background: linear-gradient(135deg, #7b93f0 0%, #8a5bba 100%);
    box-shadow: 0 4px 16px rgba(102, 126, 234, 0.44);
}

/* Early Access release date styling */
.patreon-gate__release-date {
    font-weight: 600;
    color: rgba(255, 255, 255, 0.88);
    letter-spacing: 0.01em;
}

/* ---- Dark mode: chapter variants ---- */
[data-site-theme-resolved="dark"] .patreon-gate__hero-placeholder--chapter {
    background: linear-gradient(135deg, #17191f 0%, #1c1f2c 100%);
    color: rgba(90, 103, 150, 0.2);
}

[data-site-theme-resolved="dark"] .patreon-gate__benefit-icon--premium {
    background: rgba(102, 126, 234, 0.16);
    color: #7b93f0;
}

/* --- Footer (shortcode-rendered) --- */
.kuehn-footer {
    max-width: var(--wp--style--global--wide-size, 1200px);
    margin: 0 auto;
}
.kuehn-footer__columns {
    display: flex;
    flex-wrap: wrap;
    gap: 32px 40px;
    justify-content: space-between;
}
.kuehn-footer__col--brand {
    flex: 1 1 100%;
}
.kuehn-footer__col {
    flex: 1 1 160px;
    min-width: 140px;
}
.kuehn-footer__site-title {
    font-weight: 700;
    font-size: 1.1rem;
    margin: 0 0 4px;
}
.kuehn-footer__tagline {
    font-size: var(--wp--preset--font-size--small, 0.875rem);
    margin: 0;
    opacity: 0.7;
}
.kuehn-footer__heading {
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin: 0 0 10px;
    opacity: 0.6;
}
.kuehn-footer__list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.kuehn-footer__list li {
    margin: 0 0 6px;
}
.kuehn-footer__list a {
    font-size: var(--wp--preset--font-size--small, 0.875rem);
    text-decoration: none;
    opacity: 0.8;
    transition: opacity 0.15s;
}
.kuehn-footer__list a:hover {
    opacity: 1;
    text-decoration: underline;
}
.kuehn-footer__separator {
    border: none;
    border-top: 1px solid currentColor;
    opacity: 0.15;
    margin: 28px 0 16px;
}
.kuehn-footer__bottom {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 8px;
    font-size: var(--wp--preset--font-size--small, 0.875rem);
}
.kuehn-footer__bottom p {
    margin: 0;
}
.kuehn-footer__bottom a {
    text-decoration: none;
    opacity: 0.8;
    transition: opacity 0.15s;
}
.kuehn-footer__bottom a:hover {
    opacity: 1;
}
@media (min-width: 600px) {
    .kuehn-footer__col--brand {
        flex: 1 1 100%;
    }
}

/* --- Contact form --- */
.kuehn-contact-form {
    display: grid;
    gap: 18px;
    margin: 0 auto;
    max-width: 760px;
}

.kuehn-contact-form__intro {
    margin: 0;
    color: var(--kuehn-site-text-muted, rgba(34, 30, 26, 0.72));
}

.kuehn-contact-form__form {
    display: grid;
    gap: 16px;
    padding: clamp(20px, 3vw, 30px);
    border: 1px solid var(--kuehn-site-border);
    border-radius: var(--radius-lg, 20px);
    background:
        linear-gradient(180deg, rgba(139, 111, 90, 0.08), rgba(139, 111, 90, 0)),
        var(--kuehn-site-surface);
    box-shadow: 0 20px 44px rgba(18, 24, 33, 0.08);
}

.kuehn-contact-form__grid {
    display: grid;
    gap: 16px;
}

.kuehn-contact-form__field {
    display: grid;
    gap: 8px;
}

.kuehn-contact-form__field label,
.kuehn-contact-form__privacy {
    font-size: 0.95rem;
    font-weight: 600;
}

.kuehn-contact-form__field input,
.kuehn-contact-form__field textarea {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid var(--kuehn-site-border);
    border-radius: var(--radius-md, 14px);
    background: var(--kuehn-site-surface-elevated, #fffdf9);
    color: inherit;
    font: inherit;
}

.kuehn-contact-form__field input::placeholder,
.kuehn-contact-form__field textarea::placeholder {
    color: rgba(71, 63, 56, 0.6);
    opacity: 1;
}

.kuehn-contact-form__field input:focus,
.kuehn-contact-form__field textarea:focus {
    outline: 2px solid rgba(139, 111, 90, 0.32);
    outline-offset: 1px;
    border-color: rgba(139, 111, 90, 0.7);
}

.kuehn-contact-form__field textarea {
    min-height: 180px;
    resize: vertical;
}

.kuehn-contact-form__field--hidden {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.kuehn-contact-form__privacy {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-weight: 500;
}

.kuehn-contact-form__privacy input {
    margin-top: 0.3em;
}

.kuehn-contact-form__privacy span {
    line-height: 1.5;
}

.kuehn-contact-form__submit {
    justify-self: start;
}

.kuehn-contact-form__notice {
    padding: 12px 14px;
    border-radius: var(--radius-md, 14px);
    font-weight: 600;
}

.kuehn-contact-form__notice--success {
    background: rgba(88, 142, 103, 0.12);
    border: 1px solid rgba(88, 142, 103, 0.28);
    color: #2e5f3b;
}

.kuehn-contact-form__notice--error {
    background: rgba(165, 74, 74, 0.1);
    border: 1px solid rgba(165, 74, 74, 0.22);
    color: #7b2f2f;
}

@media (min-width: 720px) {
    .kuehn-contact-form__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

[data-site-theme-resolved="dark"] .kuehn-contact-form__intro {
    color: rgba(240, 235, 227, 0.72);
}

[data-site-theme-resolved="dark"] .kuehn-contact-form__form {
    background:
        linear-gradient(180deg, rgba(163, 130, 105, 0.12), rgba(163, 130, 105, 0)),
        rgba(21, 25, 32, 0.92);
    box-shadow: 0 24px 52px rgba(0, 0, 0, 0.34);
}

[data-site-theme-resolved="dark"] .kuehn-contact-form__field input,
[data-site-theme-resolved="dark"] .kuehn-contact-form__field textarea {
    background: rgba(12, 15, 20, 0.88);
    color: rgba(245, 242, 237, 0.96);
}

[data-site-theme-resolved="dark"] .kuehn-contact-form__field input::placeholder,
[data-site-theme-resolved="dark"] .kuehn-contact-form__field textarea::placeholder {
    color: rgba(214, 206, 196, 0.58);
}

[data-site-theme-resolved="dark"] .kuehn-contact-form__notice--success {
    color: #9dd0aa;
}

[data-site-theme-resolved="dark"] .kuehn-contact-form__notice--error {
    color: #f2b3b3;
}

/* --------------------------------------------------------------------------
   Characters archive (editorial card overview)
   -------------------------------------------------------------------------- */

.kuehn-character-archive {
    display: grid;
    gap: var(--space-group);
    margin-bottom: var(--space-section);
}

.kuehn-character-archive__toolbar {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border: 1px solid var(--kuehn-site-border);
    border-radius: var(--radius-md);
    background:
        linear-gradient(180deg, rgba(139, 111, 90, 0.04), rgba(139, 111, 90, 0)),
        var(--kuehn-site-surface);
    box-shadow: 0 10px 28px rgba(18, 24, 33, 0.04);
    flex-wrap: wrap;
}

.kuehn-character-archive__count {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--kuehn-site-muted);
    white-space: nowrap;
    padding-right: 8px;
    border-right: 1px solid var(--kuehn-site-border);
    margin-right: 4px;
}

.kuehn-character-archive__search {
    flex: 1 1 140px;
    min-width: 0;
    width: auto;
    min-height: 34px;
    padding: 0 10px;
    border-radius: var(--radius-sm);
    border: 1px solid var(--kuehn-site-border);
    background: color-mix(in srgb, var(--kuehn-site-bg) 70%, var(--kuehn-site-surface));
    color: var(--kuehn-site-text);
    font-size: 0.88rem;
    transition: border-color 120ms ease, box-shadow 120ms ease;
}

.kuehn-character-archive__search::placeholder {
    color: color-mix(in srgb, var(--kuehn-site-muted) 80%, transparent);
}

.kuehn-character-archive__search:focus-visible {
    outline: 2px solid var(--kuehn-focus-ring);
    outline-offset: 2px;
    border-color: var(--kuehn-accent);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--kuehn-accent) 14%, transparent);
}

.kuehn-character-archive__select {
    flex: 0 1 auto;
    width: auto;
    min-height: 34px;
    padding: 0 8px;
    border-radius: var(--radius-sm);
    border: 1px solid var(--kuehn-site-border);
    background: color-mix(in srgb, var(--kuehn-site-bg) 70%, var(--kuehn-site-surface));
    color: var(--kuehn-site-text);
    font-size: 0.85rem;
    transition: border-color 120ms ease;
}

.kuehn-character-archive__select:focus-visible {
    outline: 2px solid var(--kuehn-focus-ring);
    outline-offset: 2px;
    border-color: var(--kuehn-accent);
}

.kuehn-character-archive__submit {
    flex-shrink: 0;
    width: auto;
    min-height: 34px;
    border-radius: var(--radius-pill);
    border: none;
    padding: 0 14px;
    background: var(--kuehn-accent);
    color: #fff;
    font-weight: 600;
    font-size: 0.84rem;
    cursor: pointer;
    transition: filter 120ms ease, transform 120ms ease;
}

.kuehn-character-archive__submit:hover {
    filter: brightness(1.06);
    transform: translateY(-1px);
}

.kuehn-character-archive__submit:focus-visible {
    outline: 2px solid var(--kuehn-focus-ring);
    outline-offset: 2px;
}

.kuehn-character-archive__reset {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: var(--radius-round);
    border: 1px solid var(--kuehn-site-border);
    background: transparent;
    color: var(--kuehn-site-muted);
    font-size: 1rem;
    line-height: 1;
    text-decoration: none;
    transition: background-color 120ms ease, color 120ms ease, border-color 120ms ease;
}

.kuehn-character-archive__reset:hover {
    background: var(--kuehn-hover-bg);
    color: var(--kuehn-site-text);
    border-color: color-mix(in srgb, var(--kuehn-accent) 24%, var(--kuehn-site-border));
}

.kuehn-character-archive__reset:focus-visible {
    outline: 2px solid var(--kuehn-focus-ring);
    outline-offset: 2px;
}

.kuehn-character-archive__grid {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: var(--space-grid-gap);
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: start;
}

.kuehn-character-card {
    min-width: 0;
}

/* wpautop (Gutenberg shortcode block) injects a phantom sibling <p> and an
   empty <p></p> inside the <a> element. Hide both without removing them from
   the DOM so as not to break any potential event delegation. */
.kuehn-character-card > p {
    display: none;
}

.kuehn-character-card__link > p:empty {
    display: none;
}

/* wpautop also injects <br> between inline <span> siblings in the meta lines */
.kuehn-character-card__meta br {
    display: none;
}

.kuehn-character-card__link {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    height: 100%;
    border: 1px solid var(--kuehn-site-border);
    border-radius: var(--radius-md);
    overflow: hidden;
    background: var(--kuehn-site-surface);
    color: inherit;
    text-decoration: none;
    box-shadow: 0 12px 28px rgba(18, 24, 33, 0.05);
    transition: border-color 150ms ease, box-shadow 150ms ease, transform 150ms ease;
    padding: 0 0 16px;
    cursor: pointer;
}

.kuehn-character-card__link::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 2px;
    background: linear-gradient(90deg, var(--kuehn-accent), transparent 70%);
    opacity: 0.35;
    pointer-events: none;
}

.kuehn-character-card__link:hover {
    border-color: color-mix(in srgb, var(--kuehn-accent) 35%, var(--kuehn-site-border));
    box-shadow: 0 18px 34px rgba(18, 24, 33, 0.1);
    transform: translateY(-2px);
}

.kuehn-character-card__link:focus-within {
    outline: 2px solid var(--kuehn-focus-ring);
    outline-offset: 3px;
}

.kuehn-character-card__name-link {
    color: inherit;
    text-decoration: none;
    display: block;
}

/* Expand the name link to cover the whole card as a click target */
.kuehn-character-card__name-link::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    border-radius: var(--radius-md);
}

/* Suppress individual focus ring – card handles it via focus-within */
.kuehn-character-card__name-link:focus-visible {
    outline: none;
}

.kuehn-character-card__media {
    position: relative;
    width: 100%;
    height: 240px;
    border-radius: var(--radius-md) var(--radius-md) 0 0;
    overflow: hidden;
    border: none;
    background: var(--kuehn-site-bg-alt);
    flex-shrink: 0;
    margin-bottom: 0;
}

.kuehn-character-card__media::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background: linear-gradient(to top, rgba(10, 12, 18, 0.28) 0%, transparent 55%);
    pointer-events: none;
}

.kuehn-character-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 220ms ease;
}

.kuehn-character-card__link:hover .kuehn-character-card__img {
    transform: scale(1.05);
}

.kuehn-character-card__placeholder {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    font-size: 3rem;
    font-weight: 700;
    color: var(--kuehn-accent);
    background: linear-gradient(135deg, rgba(139, 111, 90, 0.1), rgba(139, 111, 90, 0.2));
}

.kuehn-character-card__body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    padding: 14px 16px 0;
    width: 100%;
    text-align: left;
}

.kuehn-character-card__name-row {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    width: 100%;
}

.kuehn-character-card__meta-pills {
    display: flex;
    align-items: center;
    gap: 5px;
    flex-shrink: 0;
    position: relative;
    z-index: 1;
}

.kuehn-character-card__age-pill {
    display: inline-flex;
    align-items: center;
    border-radius: var(--radius-pill);
    border: 1px solid var(--kuehn-site-border);
    background: var(--kuehn-site-bg-alt);
    color: var(--kuehn-site-muted);
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1.2;
    padding: 3px 8px;
    white-space: nowrap;
}

.kuehn-character-card__sexuality-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-pill);
    border: 1px solid var(--kuehn-site-border);
    background: var(--kuehn-site-bg-alt);
    padding: 3px 5px;
    line-height: 1;
}

.kuehn-character-card__sexuality-pill .cp-pride-flag {
    display: block;
    border-radius: 2px;
}

.kuehn-character-card__name {
    margin: 0;
    font-size: 1.15rem;
    line-height: 1.22;
    letter-spacing: -0.01em;
    color: var(--kuehn-site-text);
    font-weight: 600;
}

.kuehn-character-card__epithet {
    margin: 0;
    color: var(--kuehn-site-muted);
    font-size: 0.88rem;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.kuehn-character-card__meta {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0 5px;
    align-items: baseline;
    color: var(--kuehn-site-muted);
    font-size: 0.82rem;
    line-height: 1.5;
    justify-content: flex-start;
}

.kuehn-character-card__meta-label {
    font-size: 0.68rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--kuehn-site-muted);
    font-weight: 600;
    flex-shrink: 0;
}

.kuehn-character-card__meta > span:last-child {
    color: var(--kuehn-site-text);
}

.kuehn-character-card__traits {
    list-style: none;
    margin: 2px 0 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    justify-content: flex-start;
}

.kuehn-character-card__traits li {
    border-radius: var(--radius-pill);
    border: 1px solid color-mix(in srgb, var(--kuehn-accent) 16%, var(--kuehn-site-border));
    background: color-mix(in srgb, var(--kuehn-accent) 7%, var(--kuehn-site-surface));
    color: var(--kuehn-site-text);
    font-size: 0.74rem;
    line-height: 1.2;
    padding: 5px 9px;
    max-width: 100%;
}

.kuehn-character-card__books {
    list-style: none;
    margin: 4px 0 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    position: relative;
    z-index: 1;
}

.kuehn-character-card__book-pill {
    display: inline-flex;
    align-items: center;
    border-radius: var(--radius-pill);
    border: 1px solid color-mix(in srgb, var(--kuehn-accent) 24%, var(--kuehn-site-border));
    background: color-mix(in srgb, var(--kuehn-accent) 10%, var(--kuehn-site-surface));
    color: var(--kuehn-accent);
    font-size: 0.78rem;
    font-weight: 500;
    line-height: 1.2;
    padding: 4px 11px;
    text-decoration: none;
    transition: background-color 120ms ease, border-color 120ms ease;
    position: relative;
    z-index: 1;
}

.kuehn-character-card__book-pill:hover {
    background: color-mix(in srgb, var(--kuehn-accent) 18%, var(--kuehn-site-surface));
    border-color: color-mix(in srgb, var(--kuehn-accent) 44%, var(--kuehn-site-border));
}

.kuehn-character-card__book-pill:focus-visible {
    outline: 2px solid var(--kuehn-focus-ring);
    outline-offset: 2px;
}

.kuehn-character-card__book-pill--more {
    cursor: default;
    color: var(--kuehn-site-muted);
    border-color: var(--kuehn-site-border);
    background: transparent;
}

.kuehn-character-card__footer {
    display: none;
}

.kuehn-character-card__spoiler {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border-radius: var(--radius-pill);
    border: 1px solid var(--kuehn-site-border);
    background: var(--kuehn-site-bg-alt);
    padding: 4px 10px 4px 8px;
    font-size: 0.74rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    line-height: 1.2;
    color: var(--kuehn-site-muted);
}

.kuehn-character-card__spoiler::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: var(--radius-round);
    background: currentColor;
    opacity: 0.9;
}

.kuehn-character-card__spoiler--none {
    border-color: color-mix(in srgb, var(--kuehn-success) 20%, var(--kuehn-site-border));
    color: var(--kuehn-success);
    background: color-mix(in srgb, var(--kuehn-success) 9%, var(--kuehn-site-surface));
}

.kuehn-character-card__spoiler--minor {
    border-color: color-mix(in srgb, var(--kuehn-warning) 20%, var(--kuehn-site-border));
    color: var(--kuehn-warning);
    background: color-mix(in srgb, var(--kuehn-warning) 10%, var(--kuehn-site-surface));
}

.kuehn-character-card__spoiler--major {
    border-color: color-mix(in srgb, var(--kuehn-error) 20%, var(--kuehn-site-border));
    color: var(--kuehn-error);
    background: color-mix(in srgb, var(--kuehn-error) 8%, var(--kuehn-site-surface));
}

/* Spoiler badge overlaid on portrait image */
.kuehn-character-card__media .kuehn-character-card__spoiler {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 1;
    background: rgba(10, 12, 18, 0.56);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border-color: rgba(255, 255, 255, 0.14);
    color: rgba(255, 255, 255, 0.92);
}

.kuehn-character-card__media .kuehn-character-card__spoiler--none::before { background: var(--kuehn-success); opacity: 1; }
.kuehn-character-card__media .kuehn-character-card__spoiler--minor::before { background: var(--kuehn-warning); opacity: 1; }
.kuehn-character-card__media .kuehn-character-card__spoiler--major::before { background: var(--kuehn-error); opacity: 1; }

.kuehn-character-archive__empty {
    border: 1px solid var(--kuehn-site-border);
    border-radius: var(--radius-md);
    padding: var(--space-group);
    background:
        linear-gradient(180deg, rgba(139, 111, 90, 0.04), rgba(139, 111, 90, 0)),
        var(--kuehn-site-surface);
    color: var(--kuehn-site-muted);
}

.kuehn-character-archive__empty p {
    margin: 0 0 10px;
}

.kuehn-character-archive__empty a {
    color: var(--kuehn-accent);
    font-weight: 600;
}

.kuehn-character-archive__pagination ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.kuehn-character-archive__pagination a,
.kuehn-character-archive__pagination span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    min-height: 40px;
    padding: 0 12px;
    border-radius: var(--radius-pill);
    border: 1px solid var(--kuehn-site-border);
    background: var(--kuehn-site-surface);
    color: var(--kuehn-site-text);
    text-decoration: none;
    transition: border-color 120ms ease, background-color 120ms ease, color 120ms ease;
}

.kuehn-character-archive__pagination a:hover {
    background: var(--kuehn-hover-bg);
    border-color: color-mix(in srgb, var(--kuehn-accent) 16%, var(--kuehn-site-border));
}

.kuehn-character-archive__pagination a:focus-visible {
    outline: 2px solid var(--kuehn-focus-ring);
    outline-offset: 2px;
}

.kuehn-character-archive__pagination .current {
    border-color: var(--kuehn-accent);
    color: #fff;
    background: var(--kuehn-accent);
}

[data-site-theme-resolved="dark"] .kuehn-character-archive__toolbar {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.025), rgba(255, 255, 255, 0)),
        color-mix(in srgb, var(--kuehn-site-surface) 95%, #0a0d12);
    border-color: color-mix(in srgb, var(--kuehn-site-border) 92%, #3b4657);
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.24);
}

[data-site-theme-resolved="dark"] .kuehn-character-archive__toolbar::after {
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

[data-site-theme-resolved="dark"] .kuehn-character-archive__field input,
[data-site-theme-resolved="dark"] .kuehn-character-archive__field select {
    background: color-mix(in srgb, var(--kuehn-site-bg) 84%, #000);
    border-color: color-mix(in srgb, var(--kuehn-site-border) 90%, #394454);
}

[data-site-theme-resolved="dark"] .kuehn-character-archive__field input::placeholder {
    color: color-mix(in srgb, var(--kuehn-site-muted) 80%, #d8deea);
}

[data-site-theme-resolved="dark"] .kuehn-character-archive__reset:hover {
    background: color-mix(in srgb, var(--kuehn-hover-bg) 80%, transparent);
}

[data-site-theme-resolved="dark"] .kuehn-character-card__link {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.015), rgba(255, 255, 255, 0)),
        color-mix(in srgb, var(--kuehn-site-surface) 95%, #090b10);
    border-color: color-mix(in srgb, var(--kuehn-site-border) 92%, #394454);
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.24);
}

[data-site-theme-resolved="dark"] .kuehn-character-card__link:hover {
    box-shadow: 0 20px 34px rgba(0, 0, 0, 0.32);
}

[data-site-theme-resolved="dark"] .kuehn-character-card__media::after {
    background: linear-gradient(to top, rgba(0, 0, 0, 0.42) 0%, transparent 55%);
}

[data-site-theme-resolved="dark"] .kuehn-character-card__placeholder {
    background:
        linear-gradient(135deg, rgba(139, 111, 90, 0.1), rgba(139, 111, 90, 0.18)),
        color-mix(in srgb, var(--kuehn-site-bg-alt) 88%, #0d1118);
}

[data-site-theme-resolved="dark"] .kuehn-character-archive__empty {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.02), rgba(255, 255, 255, 0)),
        color-mix(in srgb, var(--kuehn-site-surface) 95%, #090b10);
}

@media (max-width: 1023px) {
    .kuehn-character-archive__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .kuehn-character-archive__toolbar {
        gap: 6px;
        padding: 8px 12px;
    }

    .kuehn-character-archive__search {
        flex-basis: 100%;
    }

    .kuehn-character-archive__select {
        flex: 1 1 calc(50% - 3px);
    }

    .kuehn-character-archive__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* ==========================================================================
   Early Access Banner
   ========================================================================== */

.kuehn-early-access-banner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 100%;
    padding: 8px 48px 8px 16px;
    background: color-mix(in srgb, var(--kuehn-accent, #8b6f5a) 12%, #f9f5f1);
    border-bottom: 1px solid color-mix(in srgb, var(--kuehn-accent, #8b6f5a) 20%, transparent);
    font-size: 0.8rem;
    line-height: 1.4;
    text-align: center;
    position: relative;
    box-sizing: border-box;
}

.kuehn-early-access-banner__text {
    color: color-mix(in srgb, var(--kuehn-accent, #8b6f5a) 80%, #333);
}

.kuehn-early-access-banner__link {
    color: var(--kuehn-accent, #8b6f5a);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.kuehn-early-access-banner__link:hover {
    opacity: 0.8;
}

.kuehn-early-access-banner__close {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    cursor: pointer;
    font-size: 1.1rem;
    line-height: 1;
    color: color-mix(in srgb, var(--kuehn-accent, #8b6f5a) 60%, #333);
    padding: 4px 6px;
    border-radius: var(--radius-sm, 8px);
    opacity: 0.7;
    transition: opacity 0.15s ease;
}

.kuehn-early-access-banner__close:hover {
    opacity: 1;
}

[data-site-theme-resolved="dark"] .kuehn-early-access-banner {
    background: color-mix(in srgb, var(--kuehn-accent, #8b6f5a) 10%, var(--kuehn-site-bg-alt, #171c25));
    border-bottom-color: color-mix(in srgb, var(--kuehn-accent, #8b6f5a) 18%, var(--kuehn-site-border, #2b3340));
}

[data-site-theme-resolved="dark"] .kuehn-early-access-banner__text {
    color: color-mix(in srgb, var(--kuehn-accent, #8b6f5a) 60%, var(--kuehn-site-text, #e7eaf0));
}

[data-site-theme-resolved="dark"] .kuehn-early-access-banner__close {
    color: color-mix(in srgb, var(--kuehn-accent, #8b6f5a) 50%, var(--kuehn-site-muted, #a1a8b5));
}

/* --------------------------------------------------------------------------
   WP block button override – replace Gutenberg's default blue with site accent
   Only used in 404 page; scoped to keep specificity low.
   -------------------------------------------------------------------------- */
.wp-block-buttons .wp-block-button__link.wp-element-button,
button.wp-block-search__button.wp-element-button {
    background-color: var(--kuehn-accent);
    border-color: var(--kuehn-accent);
    color: #fff;
    border-radius: var(--radius-sm, 6px);
    font-weight: 600;
    text-decoration: none;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}
.wp-block-buttons .wp-block-button.is-style-outline .wp-block-button__link.wp-element-button {
    background-color: transparent;
    color: var(--kuehn-accent);
    border: 2px solid var(--kuehn-accent);
}
.wp-block-buttons .wp-block-button__link.wp-element-button:hover,
.wp-block-buttons .wp-block-button__link.wp-element-button:focus,
button.wp-block-search__button.wp-element-button:hover,
button.wp-block-search__button.wp-element-button:focus {
    background-color: color-mix(in srgb, var(--kuehn-accent) 82%, #000);
    border-color: color-mix(in srgb, var(--kuehn-accent) 82%, #000);
    color: #fff;
}
.wp-block-buttons .wp-block-button.is-style-outline .wp-block-button__link.wp-element-button:hover,
.wp-block-buttons .wp-block-button.is-style-outline .wp-block-button__link.wp-element-button:focus {
    background-color: color-mix(in srgb, var(--kuehn-accent) 10%, transparent);
    color: var(--kuehn-accent);
}
[data-site-theme-resolved="dark"] .wp-block-buttons .wp-block-button__link.wp-element-button,
[data-site-theme-resolved="dark"] button.wp-block-search__button.wp-element-button {
    background-color: color-mix(in srgb, var(--kuehn-accent) 90%, #fff);
    border-color: color-mix(in srgb, var(--kuehn-accent) 90%, #fff);
}

/* ==========================================================================
   Chapter Comment Section
   ========================================================================== */

.comments-area {
    margin-top: var(--space-block);
    border-top: 1px solid var(--kuehn-site-border);
    padding-top: var(--space-group);
}

.comments-title {
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: var(--kuehn-site-muted);
    margin: 0 0 var(--space-group);
}

/* ---------- Comment list items ---------- */

.comment-list,
.comment-list .children {
    list-style: none;
    margin: 0;
    padding: 0;
}

.comment-list .comment-body {
    position: relative;
    padding: var(--space-element) 0 var(--space-element) 66px;
    border-bottom: 1px solid var(--kuehn-site-border-subtle);
}

.comment-list > li:last-child > .comment-body {
    border-bottom: none;
}

.comment-list .comment-author .avatar {
    position: absolute;
    left: 14px;
    top: var(--space-element);
    width: 40px;
    height: 40px;
    border-radius: var(--radius-round);
    border: 2px solid var(--kuehn-site-border);
    display: block;
    object-fit: cover;
}

.comment-list .comment-author {
    margin-bottom: 3px;
    border: none;
    padding: 0;
}

.comment-list .comment-author .fn {
    font-weight: 700;
    font-style: normal;
    font-size: 0.9375rem;
    line-height: 1.2;
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 5px;
}

.comment-list .comment-author .fn a {
    color: var(--kuehn-site-text);
    text-decoration: none;
}

.comment-list .comment-author .fn a:hover {
    color: var(--kuehn-accent);
}

.comment-list .comment-author .says {
    display: none;
}

.comment-list .comment-metadata {
    font-size: 0.8rem;
    color: var(--kuehn-site-muted);
    margin: 0 0 var(--space-tight);
}

.comment-list .comment-metadata a {
    color: var(--kuehn-site-muted);
    text-decoration: none;
}

.comment-list .comment-metadata a:hover {
    color: var(--kuehn-accent);
}

.comment-list .comment-content {
    font-size: 0.9375rem;
    line-height: 1.65;
    color: var(--kuehn-site-text);
}

.comment-list .comment-content p {
    margin: 0 0 0.7em;
}

.comment-list .comment-content p:last-child {
    margin-bottom: 0;
}

.comment-list .reply {
    margin-top: var(--space-tight);
}

.comment-list .comment-reply-link {
    font-size: 0.8125rem;
    color: var(--kuehn-site-muted);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 0;
    transition: color 0.15s ease;
}

.comment-list .comment-reply-link::before {
    content: '\21A9';
    font-size: 0.875em;
}

.comment-list .comment-reply-link:hover {
    color: var(--kuehn-accent);
}

/* "Log in to Reply" link — same feel as the reply button */
.comment-reply-login {
    font-size: 0.8125rem;
    color: var(--kuehn-site-muted);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 0;
    transition: color 0.15s ease;
}

.comment-reply-login::before {
    content: '\21A9';
    font-size: 0.875em;
}

.comment-reply-login:hover {
    color: var(--kuehn-accent);
}

.comment-list .children {
    padding-left: 66px;
}

.comment-list .children .comment-body {
    border-top: 1px solid var(--kuehn-site-border-subtle);
    border-bottom: none;
    padding-top: var(--space-compact);
    padding-bottom: var(--space-compact);
}

/* ---------- Comment badge chips ---------- */

.comment-badge {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    padding: 2px 7px;
    border-radius: var(--radius-pill);
    vertical-align: middle;
    line-height: 1.4;
    white-space: nowrap;
}

.comment-badge--supporter {
    background: rgba(139, 111, 90, 0.1);
    color: var(--kuehn-accent, #8b6f5a);
    border: 1px solid rgba(139, 111, 90, 0.22);
}

.comment-badge--premium {
    background: rgba(245, 158, 11, 0.1);
    color: #b45309;
    border: 1px solid rgba(245, 158, 11, 0.28);
}

.comment-badge--achievement {
    font-size: 0.9375rem;
    font-weight: normal;
    text-transform: none;
    letter-spacing: 0;
    padding: 1px 5px;
    border-radius: var(--radius-sm);
    background: transparent;
    border: 1px solid var(--kuehn-site-border);
    cursor: default;
    line-height: 1.3;
}

.comment-badge--achievement-common {
    border-color: rgba(102, 126, 234, 0.28);
    background: rgba(102, 126, 234, 0.07);
}

.comment-badge--achievement-rare {
    border-color: rgba(16, 185, 129, 0.32);
    background: rgba(16, 185, 129, 0.07);
}

.comment-badge--achievement-special {
    border-color: rgba(245, 158, 11, 0.32);
    background: rgba(245, 158, 11, 0.09);
}

/* ---------- Comment form ---------- */

.comment-reply-title {
    font-size: 1.0625rem;
    font-weight: 700;
    margin: var(--space-group) 0 var(--space-compact);
    color: var(--kuehn-site-text);
}

.comment-notes,
.logged-in-as {
    font-size: 0.875rem;
    color: var(--kuehn-site-muted);
    margin-bottom: var(--space-compact);
}

.logged-in-as a {
    color: var(--kuehn-site-muted);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.logged-in-as a:hover {
    color: var(--kuehn-accent);
}

.comment-form-comment label {
    display: block;
    font-size: 0.875rem;
    font-weight: 600;
    margin-bottom: var(--space-tight);
    color: var(--kuehn-site-text);
}

.comment-form-comment textarea,
#comment {
    width: 100%;
    min-height: 110px;
    padding: var(--space-compact);
    background: var(--kuehn-site-surface);
    color: var(--kuehn-site-text);
    border: 1px solid var(--kuehn-site-border);
    border-radius: var(--radius-md);
    font-family: inherit;
    font-size: 0.9375rem;
    line-height: 1.55;
    resize: vertical;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
    box-sizing: border-box;
    color-scheme: light dark;
}

.comment-form-comment textarea::placeholder,
#comment::placeholder {
    color: var(--kuehn-site-muted);
    opacity: 1;
}

.comment-form-comment textarea:focus,
#comment:focus {
    outline: none;
    border-color: var(--kuehn-accent);
    box-shadow: 0 0 0 3px rgba(139, 111, 90, 0.1);
}

#commentform .form-submit {
    margin-top: var(--space-compact);
}

#commentform #submit,
.comment-form .submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--kuehn-accent, #8b6f5a);
    color: #fff;
    border: none;
    border-radius: var(--radius-sm);
    padding: 10px 22px;
    font-size: 0.9375rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s ease, transform 0.1s ease;
}

#commentform #submit:hover,
.comment-form .submit:hover {
    background: color-mix(in srgb, var(--kuehn-accent, #8b6f5a) 83%, #000);
    transform: translateY(-1px);
}

#commentform #submit:active,
.comment-form .submit:active {
    transform: translateY(0);
}

.chapter-comments__hint {
    font-size: 0.8125rem;
    color: var(--kuehn-site-muted);
    margin: var(--space-tight) 0 var(--space-compact);
}

.chapter-comments__hint code {
    font-family: var(--kuehn-font-mono);
    font-size: 0.85em;
    background: var(--kuehn-site-border-subtle);
    padding: 1px 5px;
    border-radius: 4px;
    border: 1px solid var(--kuehn-site-border);
}

/* ---------- Dark mode: comment section ---------- */

[data-site-theme-resolved="dark"] .comment-form-comment textarea,
[data-site-theme-resolved="dark"] #comment {
    background: var(--kuehn-site-bg-alt);
    border-color: var(--kuehn-site-border);
    color: var(--kuehn-site-text);
}

[data-site-theme-resolved="dark"] .comment-form-comment textarea:focus,
[data-site-theme-resolved="dark"] #comment:focus {
    border-color: var(--kuehn-accent);
    box-shadow: 0 0 0 3px rgba(139, 111, 90, 0.14);
}

/* comment-meta is a <footer> element: override the global dark-footer background */
[data-site-theme-resolved="dark"] footer.comment-meta {
    background-color: transparent;
}

/* reader-ui.css sets rgba(255,255,255,0.7) on .chapter-comments .comment-body;
   override that for site dark mode so the card matches the dark surface */
[data-site-theme-resolved="dark"] .chapter-comments .comment-body {
    background-color: var(--kuehn-site-surface) !important;
}

[data-site-theme-resolved="dark"] .comment-list .comment-author .fn a {
    color: var(--kuehn-site-text);
}

[data-site-theme-resolved="dark"] .comment-badge--supporter {
    background: rgba(139, 111, 90, 0.16);
    border-color: rgba(139, 111, 90, 0.28);
    color: #c9a882;
}

[data-site-theme-resolved="dark"] .comment-badge--premium {
    background: rgba(245, 158, 11, 0.14);
    border-color: rgba(245, 158, 11, 0.3);
    color: #fbbf24;
}

[data-site-theme-resolved="dark"] .comment-badge--achievement-common {
    border-color: rgba(102, 126, 234, 0.35);
    background: rgba(102, 126, 234, 0.1);
}

[data-site-theme-resolved="dark"] .comment-badge--achievement-rare {
    border-color: rgba(16, 185, 129, 0.38);
    background: rgba(16, 185, 129, 0.09);
}

[data-site-theme-resolved="dark"] .comment-badge--achievement-special {
    border-color: rgba(245, 158, 11, 0.38);
    background: rgba(245, 158, 11, 0.1);
}

[data-site-theme-resolved="dark"] .chapter-comments__hint code {
    background: var(--kuehn-site-border-subtle);
    border-color: var(--kuehn-site-border);
}

@media (max-width: 480px) {
    .comment-list .comment-body {
        padding-left: 52px;
    }

    .comment-list .comment-author .avatar {
        left: 8px;
        width: 32px;
        height: 32px;
        top: calc(var(--space-element) + 2px);
    }

    .comment-list .children {
        padding-left: 52px;
    }
}

/* ── Reader dark theme: comment text colours ────────────────────────────── */
/* The reader has its own independent theme system ([data-theme="dark"]      */
/* on .chapter-reader); the site dark-mode overrides above don't apply here. */

.chapter-reader[data-theme="dark"] .comment-list .comment-author .fn,
.chapter-reader[data-theme="dark"] .comment-list .comment-author .fn a {
    color: var(--reader-text);
}

.chapter-reader[data-theme="dark"] .comment-list .comment-author .fn a:hover {
    color: var(--reader-text);
    opacity: 0.8;
}

.chapter-reader[data-theme="dark"] .comment-list .comment-metadata,
.chapter-reader[data-theme="dark"] .comment-list .comment-metadata a,
.chapter-reader[data-theme="dark"] .comment-list .comment-reply-link {
    color: var(--reader-text-muted, rgba(255, 255, 255, 0.55));
}

.chapter-reader[data-theme="dark"] .comment-list .comment-content,
.chapter-reader[data-theme="dark"] .comment-list .comment-content p {
    color: var(--reader-text);
}

.chapter-reader[data-theme="dark"] .comment-list .comment-body {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.1);
}

.chapter-reader[data-theme="dark"] footer.comment-meta {
    background: transparent;
}
