/* BDK Reading 0.3.0: Who's who, arc guide, reading guide, homepage, Patreon box.
   Uses the bdk.css tokens (Additional CSS) with fallbacks to the approved palette.
   Mobile-first; no JS. */
.bdk-wiki, .bdk-home, .bdk-arc-guide, .bdk-patreon {
	--bdkw-surface: var(--bdk-surface, #17121D);
	--bdkw-raised: var(--bdk-raised, #211A29);
	--bdkw-line: var(--bdk-line, #3A2F45);
	--bdkw-head: var(--bdk-head, #EFE8F2);
	--bdkw-text: var(--bdk-text, #D9CFDE);
	--bdkw-sec: var(--bdk-sec, #ADA1B6);
	--bdkw-plum: var(--bdk-plum, #2E1F47);
	--bdkw-v200: var(--bdk-v200, #D7BEF6);
	--bdkw-v300: var(--bdk-v300, #C09AEE);
	--bdkw-v400: var(--bdk-v400, #A274DE);
	--bdkw-v500: var(--bdk-v500, #7A4BC0);
	--bdkw-lamp: var(--bdk-lamp, #F2D49B);
	--bdkw-ui: var(--bdk-ui, 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif);
	--bdkw-display: var(--bdk-display, 'Cormorant Garamond', Garamond, Georgia, serif);
}
.bdk-wiki :is(a), .bdk-home :is(a), .bdk-arc-guide a, .bdk-patreon a { text-decoration: none; }

/* Shared small-caps label */
.bdk-card__facts dt, .bdk-arc-guide__facts dt, .bdk-card__label, .bdk-arc-card__label,
.bdk-wiki__nav a, .bdk-patreon__ahead, .bdk-guide__pov, .bdk-card__aka {
	font-family: var(--bdkw-ui);
	font-size: 12px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--bdkw-sec);
}

/* ---------- Who's who ---------- */
.bdk-wiki, .bdk-home { container-type: inline-size; }
.bdk-wiki { font-size: 17px; line-height: 1.6; color: var(--bdkw-text); }
.bdk-wiki h2 { margin: 1.6em 0 .6em; font-variant-numeric: lining-nums; }
.bdk-wiki__notice {
	margin: 0 0 1.2em;
	padding: 14px 18px;
	border: 1px solid var(--bdkw-line);
	border-left: 3px solid var(--bdkw-lamp);
	border-radius: 12px;
	background: var(--bdkw-surface);
	font-family: var(--bdkw-ui);
	font-size: 14px;
	line-height: 1.5;
	color: var(--bdkw-sec);
}
.bdk-wiki__notice strong { color: var(--bdkw-head); font-weight: 500; }
.bdk-wiki__nav ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 1em; padding: 0; list-style: none; }
.bdk-wiki__nav li { margin: 0; }
.bdk-wiki__nav a {
	display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px;
	border: 1px solid var(--bdkw-v500); border-radius: 999px; color: var(--bdkw-head); letter-spacing: .08em;
}
.bdk-wiki__nav a:hover { border-color: var(--bdkw-v300); color: var(--bdkw-v200); }
.bdk-wiki__section { scroll-margin-top: 24px; }
.bdk-wiki__index { display: flex; flex-wrap: wrap; gap: 4px 14px; margin: 0 0 1.2em; padding: 0; list-style: none; font-family: var(--bdkw-ui); font-size: 14px; }
.bdk-wiki__index li { margin: 0; }
.bdk-wiki__index a { color: var(--bdkw-v300); }
.bdk-wiki__index a:hover { color: var(--bdkw-v200); }

.bdk-cards { display: grid; gap: 16px; }
.bdk-card {
	scroll-margin-top: 24px;
	padding: 18px 18px 16px;
	border: 1px solid var(--bdkw-line);
	border-radius: 14px;
	background: var(--bdkw-surface);
}
.bdk-card:target { border-color: var(--bdkw-v400); }
.bdk-card > :last-child { margin-bottom: 0; }
.bdk-card__head { margin-bottom: .4em; }
.bdk-card__name { margin: 0; font-family: var(--bdkw-display); font-weight: 600; font-size: 26px; line-height: 1.15; color: var(--bdkw-head); font-variant-numeric: lining-nums; }
.bdk-card__aka { margin: 4px 0 0; letter-spacing: .06em; text-transform: none; font-size: 13px; }
.bdk-card__role { margin: 0 0 .8em; font-style: italic; color: var(--bdkw-head); }
.bdk-card__facts { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 0 0 .9em; }
.bdk-card__facts > div { margin: 0; }
.bdk-card__facts dd { margin: 0; font-family: var(--bdkw-ui); font-size: 14px; color: var(--bdkw-text); }
.bdk-card__intro { margin: 0 0 .9em; }
/* 0.3.27: place links */
.bdk-card__links { list-style: none; margin: -.3em 0 .9em; padding: 0; display: flex; flex-wrap: wrap; gap: .35em 1em; font-size: .9em; }
.bdk-card__links li { margin: 0; }
.bdk-card__links a { text-decoration: underline; text-underline-offset: .15em; }
.bdk-card__links a::after { content: " \2197"; font-size: .85em; }
.bdk-card__label { margin: 0 0 .3em; }
.bdk-card__rels { margin: 0 0 .9em; padding: 0; list-style: none; font-size: 15px; }
.bdk-card__rels li { margin: 0; padding: 3px 0; }
.bdk-card__rels strong { color: var(--bdkw-head); font-weight: 600; }
.bdk-card__rels span { color: var(--bdkw-sec); }
.bdk-card__cn { margin: 0 0 .8em; font-family: var(--bdkw-ui); font-size: 13px; color: var(--bdkw-lamp); }

/* Tap-to-open spoilers (native <details>) */
.bdk-spoilers { display: grid; gap: 8px; }
.bdk-spoiler { border: 1px solid var(--bdkw-line); border-radius: 10px; background: var(--bdkw-raised); }
.bdk-spoiler > summary {
	display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 14px;
	cursor: pointer; list-style: none;
	font-family: var(--bdkw-ui); font-size: 14px; font-weight: 500; color: var(--bdkw-v300);
}
.bdk-spoiler > summary::-webkit-details-marker { display: none; }
.bdk-spoiler > summary::before { content: "+"; width: 1em; text-align: center; font-size: 18px; line-height: 1; color: var(--bdkw-v400); }
.bdk-spoiler[open] > summary::before { content: "\2212"; }
.bdk-spoiler > summary:hover { color: var(--bdkw-v200); }
.bdk-spoiler > ul { margin: 0; padding: 0 16px 12px 40px; font-size: 15px; }
.bdk-spoiler > ul li { margin: 0 0 .4em; }

/* Two columns only when the page column is wide enough (Normal width), not in the 720px Narrow column */
@container (min-width: 640px) {
	.bdk-cards--places { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@container (min-width: 900px) {
	.bdk-cards:not(.bdk-cards--places) { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
}

/* ---------- Arc guide (arc pages) ---------- */
.bdk-arc-guide {
	margin: 0 0 2em;
	padding: 18px;
	border: 1px solid var(--bdkw-line);
	border-radius: 14px;
	background: var(--bdkw-surface);
	color: var(--bdkw-text);
}
.bdk-arc-guide__title { margin: 0 0 .5em; font-variant-numeric: lining-nums; }
.bdk-arc-guide__facts { display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 0 0 1em; }
.bdk-arc-guide__facts > div { margin: 0; }
.bdk-arc-guide__facts dd { margin: 0; font-family: var(--bdkw-ui); font-size: 14px; color: var(--bdkw-head); }
.bdk-arc-guide__premise { margin: 0; font-size: 1em; line-height: 1.65; }
.bdk-arc-guide__note { margin: 1em 0 0; font-family: var(--bdkw-ui); font-size: 13px; line-height: 1.5; color: var(--bdkw-sec); }

/* ---------- Reading guide ---------- */
.bdk-guide__intro { color: var(--bdkw-sec); font-size: 15px; }
.bdk-guide__arc {
	margin: 0 0 16px;
	padding: 16px 18px;
	border: 1px solid var(--bdkw-line);
	border-radius: 14px;
	background: var(--bdkw-surface);
	scroll-margin-top: 24px;
}
.bdk-wiki .bdk-guide__arc-title { margin: 0 0 2px; font-size: 26px; line-height: 1.2; font-variant-numeric: lining-nums; }
.bdk-guide__arc-title a { color: var(--bdkw-head); }
.bdk-guide__arc-title a:hover { color: var(--bdkw-v200); }
.bdk-guide__pov { margin: 0 0 8px; letter-spacing: .06em; text-transform: none; font-size: 13px; }
.bdk-guide__arc--interleaved { border-color: var(--bdkw-v500); background: var(--bdkw-plum); }
.bdk-guide__arc--interleaved .bdk-guide__pov { color: var(--bdkw-text); font-size: 14px; letter-spacing: 0; }
.bdk-guide__list { margin: 0; padding-inline-start: 2.2em; }
.bdk-guide__item { margin: 0; padding: 9px 0; border-bottom: 1px solid var(--bdkw-line); }
.bdk-guide__item:last-child { border-bottom: 0; }
.bdk-guide__item::marker { font-family: var(--bdkw-ui); font-size: 13px; font-variant-numeric: tabular-nums; color: var(--bdk-muted, #8F8399); }
.bdk-guide__item > a, .bdk-guide__title { font-family: var(--bdkw-display); font-weight: 600; font-size: 20px; line-height: 1.25; font-variant-numeric: lining-nums; }
.bdk-guide__item > a { color: var(--bdkw-v300); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em; }
.bdk-guide__item > a:hover { color: var(--bdkw-v200); }
.bdk-guide__title { color: var(--bdkw-head); }
.bdk-guide__tag { margin-left: .5em; font-family: var(--bdkw-ui); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--bdkw-sec); }
.bdk-guide__format { margin-left: .4em; font-family: var(--bdkw-ui); font-size: 12px; color: var(--bdkw-lamp); }
.bdk-guide__alt { margin-top: 14px; background: var(--bdkw-surface); }
.bdk-guide__alt > .bdk-guide__arc { margin: 0 12px 12px; }
.bdk-wiki .bdk-guide__alt .bdk-guide__arc-title { font-size: 22px; }

/* ---------- Patreon box ---------- */
.bdk-patreon {
	margin: 2em 0 1em;
	padding: 20px 18px;
	border: 1px solid var(--bdkw-v500);
	border-radius: 14px;
	background: var(--bdkw-plum);
	text-align: center;
}
.bdk-patreon--chapter { margin-top: 16px; }
.bdk-patreon__ahead { margin: 0 0 12px; color: var(--bdkw-lamp); }
.bdk-patreon__text { margin: 0 0 16px; font-family: var(--bdkw-ui); font-size: 15px; line-height: 1.5; color: var(--bdkw-text); }
.bdk-patreon__actions { display: flex; justify-content: center; margin: 0; }
.bdk-patreon__primary { width: 100%; margin: 0; }
.bdk-patreon__primary > .wp-block-button__link {
	display: flex; align-items: center; justify-content: center; width: 100%; min-height: 52px; padding: 12px 28px;
	border-radius: 999px; background: var(--theme-palette-color-1, #7A4BC0); color: #fff;
	font-family: var(--bdkw-ui); font-size: 16px; font-weight: 500;
}
.bdk-patreon__primary > .wp-block-button__link:hover { background: var(--theme-palette-color-2, #6A3DAD); color: #fff; }
.bdk-patreon__secondary { margin: 12px 0 0; font-family: var(--bdkw-ui); font-size: 14px; }
.bdk-patreon__secondary a { color: var(--bdkw-v300); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em; }
.bdk-patreon__secondary a:hover { color: var(--bdkw-v200); }
@media (min-width: 690px) {
	.bdk-patreon__primary { width: auto; }
}

/* ---------- Patreon teaser chapters (0.3.15) ---------- */
.bdk-guide__tag--patreon {
	display: inline-block; margin-left: .5em; padding: 1px 8px; vertical-align: .15em;
	border: 1px solid var(--bdk-v500, #7A4BC0); border-radius: 999px; background: var(--bdk-plum, #2E1F47);
	font-family: var(--bdk-ui, 'Inter', system-ui, sans-serif); font-size: 11px; line-height: 1.6; letter-spacing: .1em; text-transform: uppercase;
	color: var(--bdk-v200, #D7BEF6); white-space: nowrap;
}
.bdk-teaser__badge { margin: 0 0 1.4em; font-family: var(--bdk-ui, 'Inter', system-ui, sans-serif); font-size: 13px; color: var(--bdk-sec, #ADA1B6); }
.bdk-teaser__badge .bdk-guide__tag--patreon { margin: 0 .4em 0 0; }
.bdk-patreon--teaser { margin-top: 2.2em; padding: 26px 20px 22px; border-color: var(--bdkw-v400); }
.bdk-patreon__lock { margin: 0 0 6px; font-family: var(--bdkw-display); font-weight: 600; font-size: 28px; line-height: 1.15; color: var(--bdkw-head); font-variant-numeric: lining-nums; }
.bdk-patreon__teaser-text { margin: 0 0 16px; font-family: var(--bdkw-ui); font-size: 15px; color: var(--bdkw-text); }

/* ---------- Homepage ---------- */
.bdk-home { color: var(--bdkw-text); }
.bdk-home__hero { position: relative; margin: 0 0 2.5em; }
.bdk-home__picture { display: block; overflow: hidden; border-radius: 16px; aspect-ratio: 4 / 5; max-height: 78vh; background: var(--bdkw-surface); }
.bdk-home__picture img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: var(--bdk-focal, 50% 40%); }
.bdk-home__picture::after { content: ""; position: absolute; inset: 0; border-radius: 16px; pointer-events: none;
	background: linear-gradient(180deg, rgb(14 11 18 / 0) 40%, rgb(14 11 18 / .75) 75%, var(--bdk-ink, #0E0B12) 100%); }
.bdk-home__hero--art .bdk-home__intro { position: relative; z-index: 1; margin-top: calc(-1 * clamp(6rem, 28vw, 12rem)); padding: 0 clamp(4px, 3vw, 40px); }
.bdk-home__title { margin: 0 0 .25em; font-size: clamp(40px, 9vw, 64px); line-height: 1.05; color: var(--bdkw-head); text-shadow: 0 1px 14px rgb(14 11 18 / .65); }
.bdk-home__tagline { max-width: 38ch; margin: 0 0 1.2em; font-size: 1.05em; line-height: 1.55; color: var(--bdkw-text); text-wrap: pretty; }
.bdk-home .bdk-journeys { max-width: 760px; }
.bdk-home__h { margin: 0 0 .6em; }
.bdk-home__arcs { margin: 0 0 2em; }
.bdk-arc-cards { display: grid; grid-auto-flow: column; grid-auto-columns: 78%; gap: 14px; margin: 0; padding: 0 0 8px; list-style: none; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; }
.bdk-arc-card { margin: 0; scroll-snap-align: start; }
.bdk-arc-card > a { display: flex; flex-direction: column; height: 100%; overflow: hidden; border: 1px solid var(--bdkw-line); border-radius: 14px; background: var(--bdkw-surface); color: var(--bdkw-head); transition: border-color .15s ease; }
.bdk-arc-card > a:hover { border-color: var(--bdkw-v400); }
.bdk-arc-card__art { display: block; aspect-ratio: 4 / 3; background: var(--bdkw-raised); }
.bdk-arc-card__art--empty { background: linear-gradient(135deg, var(--bdkw-plum), var(--bdkw-raised)); }
.bdk-arc-card__img { display: block; width: 100%; height: 100%; object-fit: cover; }
.bdk-arc-card__body { display: flex; flex-direction: column; gap: 4px; padding: 12px 14px 14px; }
.bdk-arc-card__name { font-family: var(--bdkw-display); font-weight: 600; font-size: 22px; line-height: 1.2; font-variant-numeric: lining-nums; }
.bdk-arc-card__meta { font-family: var(--bdkw-ui); font-size: 13px; color: var(--bdkw-sec); }
@media (min-width: 690px) {
	.bdk-home__picture { aspect-ratio: 16 / 9; }
	.bdk-arc-cards { grid-auto-columns: 42%; }
}
@media (min-width: 1000px) {
	.bdk-home__hero--art .bdk-home__intro { margin-top: -11rem; }
}
@container (min-width: 900px) {
	.bdk-arc-cards { grid-auto-flow: row; grid-auto-columns: auto; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); overflow: visible; }
}
@media (prefers-reduced-motion: reduce) { .bdk-arc-card > a { transition: none; } }

/* 0.3.3: story coverage marker */
.bdk-wiki__coverage { margin: 0 0 .5rem; font-size: .9em; font-style: italic; color: var(--bdkw-text); }

/* 0.3.6: image-only chapters (text-message screenshots) and gaps in the chapter nav */
.bdk-image-chapter__img { margin-left: auto; margin-right: auto; max-width: min(100%, 820px); }
.bdk-image-chapter__img img { display: block; width: auto; max-width: 100%; height: auto; margin: 0 auto; border-radius: 6px; }
.bdk-chapter-nav__gap { display: block; margin-top: .25em; font-size: .8em; font-style: italic; color: var(--bdkw-sec, #ADA1B6); }

/* 0.3.18: arc headings, original publish dates, Continue arc name */
.tax-arc .ct-title-label { display: none; }
.entry-card .meta-date:has(time:empty), .entry-meta .meta-date:has(time:empty) { display: none; }
.tax-arc .entry-card .meta-date time:not(:empty)::before { content: "Original publish date: "; }
.bdk-chapter-date { font-family: var(--bdkw-ui, inherit); font-size: .85em; color: var(--bdkw-sec, #ADA1B6); margin: 0 0 1.5em; }
.bdk-journey__arc { display: block; font-size: .75em; font-weight: 400; opacity: .8; }
.bdk-journey__arc:empty { display: none; }
.bdk-patreon__ahead { font-size: .9em; }
.single-chapter .hero-section .meta-date, .single-chapter .entry-header .meta-date { display: none; } /* the chapter shows its own "Original publish date" line */

/* 0.3.19: chapter meta bubble (date + reading time), teaser box line, reading lists */
.bdk-chapter-meta {
	margin: 0 0 1.75em; padding: 10px 14px;
	border: 1px solid var(--bdk-line, #3A2F45); border-radius: 14px; background: var(--bdk-raised, #211A29);
	font-family: var(--bdk-ui, 'Inter', system-ui, sans-serif); font-size: 13px; line-height: 1.5; color: var(--bdk-sec, #ADA1B6);
}
.bdk-chapter-meta--teaser { border-color: var(--bdk-v500, #7A4BC0); background: var(--bdk-plum, #2E1F47); color: var(--bdk-v200, #D7BEF6); }
.bdk-chapter-meta .bdk-teaser__badge { margin: 0; color: inherit; font-size: inherit; }
.bdk-chapter-meta .bdk-teaser__badge + .bdk-chapter-meta__list { margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--bdk-v500, #7A4BC0); }
.bdk-chapter-meta__list { display: flex; flex-wrap: wrap; gap: 2px 18px; margin: 0; padding: 0; list-style: none; }
.bdk-chapter-meta__item { margin: 0; padding: 0; }
.bdk-chapter-meta__item::before { content: none; }
.bdk-chapter-meta__item time { color: var(--bdk-text, #D9CFDE); }
.bdk-chapter-meta--teaser .bdk-chapter-meta__item time { color: inherit; }
.bdk-patreon__length { font-size: .9em; }
.bdk-length { margin-left: .5em; font-family: var(--bdk-ui, inherit); font-size: .8em; color: var(--bdk-sec, #ADA1B6); white-space: nowrap; }

/* 0.3.20: public Love bar (after the chapter text / early-access box, before the chapter nav) */
.bdk-love {
	display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px;
	margin: 2em 0 1.5em; padding: 10px 14px;
	border: 1px solid var(--bdk-line, #3A2F45); border-radius: 14px; background: var(--bdk-raised, #211A29);
	font-family: var(--bdk-ui, 'Inter', system-ui, sans-serif); font-size: 13px; line-height: 1.5; color: var(--bdk-sec, #ADA1B6);
}
.bdk-love__btn {
	display: inline-flex; align-items: center; gap: 7px; min-height: 40px; margin: 0; padding: 7px 16px 7px 12px;
	border: 1px solid var(--bdk-v500, #7A4BC0); border-radius: 999px; background: transparent; box-shadow: none;
	font: 600 14px/1.2 var(--bdk-ui, 'Inter', system-ui, sans-serif); letter-spacing: .01em; text-transform: none;
	color: var(--bdk-v200, #D7BEF6); cursor: pointer; transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
.bdk-love__btn:hover { background: var(--bdk-plum, #2E1F47); border-color: var(--bdk-v400, #A274DE); color: var(--bdk-v200, #D7BEF6); }
.bdk-love__btn:focus-visible { outline: 2px solid var(--bdk-v300, #C09AEE); outline-offset: 2px; }
.bdk-love__icon { flex: none; width: 20px; height: 20px; fill: transparent; stroke: currentColor; stroke-width: 1.8; stroke-linejoin: round; transition: fill .15s ease, transform .2s ease; }
.bdk-love.is-loved .bdk-love__btn { background: var(--bdk-plum, #2E1F47); border-color: var(--bdk-v400, #A274DE); }
.bdk-love.is-loved .bdk-love__icon { fill: var(--bdk-v300, #C09AEE); stroke: var(--bdk-v300, #C09AEE); transform: scale(1.06); }
.bdk-love.is-busy .bdk-love__btn { cursor: progress; }
.bdk-love.is-error .bdk-love__btn { border-color: var(--bdk-lamp, #F2D49B); }
.bdk-love__count { font-variant-numeric: tabular-nums; }
.bdk-love:not(.is-ready) .bdk-love__btn { opacity: .75; }
@media (prefers-reduced-motion: reduce) { .bdk-love__btn, .bdk-love__icon { transition: none; } .bdk-love.is-loved .bdk-love__icon { transform: none; } }

/* 0.3.21: reading settings ("Aa" on the meta bubble). Only .bdk-read (meta bubble + chapter text) changes;
   <html data-bdk-theme|size|font> is set from localStorage 'bdk_read_prefs'. Default = no attribute = unchanged. */
.bdk-chapter-meta--tools { display: flex; align-items: center; gap: 10px; }
.bdk-chapter-meta__main { flex: 1 1 auto; min-width: 0; }
.bdk-chapter-meta--teaser.bdk-chapter-meta--tools { align-items: flex-start; }
.bdk-chapter-meta__tools { position: relative; flex: none; margin-left: auto; }
.bdk-prefs-btn {
	display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 32px; margin: -4px -4px -4px 0; padding: 0 10px;
	border: 1px solid var(--bdk-line, #3A2F45); border-radius: 999px; background: transparent; box-shadow: none;
	font: 600 14px/1 var(--bdk-ui, 'Inter', system-ui, sans-serif); letter-spacing: .01em; text-transform: none;
	color: var(--bdk-v200, #D7BEF6); cursor: pointer; transition: background-color .15s ease, border-color .15s ease;
}
.bdk-prefs-btn[hidden] { display: none; }
.bdk-prefs-btn:hover, .bdk-prefs-btn[aria-expanded="true"] { background: var(--bdk-plum, #2E1F47); border-color: var(--bdk-v400, #A274DE); color: var(--bdk-v200, #D7BEF6); }
.bdk-prefs-btn:focus-visible { outline: 2px solid var(--bdk-v300, #C09AEE); outline-offset: 2px; }
.bdk-prefs-btn__aa { font-family: var(--bdk-display, 'Cormorant Garamond', Georgia, serif); font-size: 17px; font-weight: 600; line-height: 1; }

.bdk-prefs {
	position: absolute; z-index: 50; top: calc(100% + 10px); right: -6px;
	width: min(330px, calc(100vw - 32px)); box-sizing: border-box; padding: 14px 16px 12px;
	border: 1px solid var(--bdk-line, #3A2F45); border-radius: 14px; background: var(--bdk-raised, #211A29);
	box-shadow: 0 14px 40px rgb(0 0 0 / .45);
	font-family: var(--bdk-ui, 'Inter', system-ui, sans-serif); font-size: 13px; line-height: 1.45; color: var(--bdk-sec, #ADA1B6);
	text-align: left;
}
.bdk-prefs[hidden] { display: none; }
.bdk-prefs__head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 0 0 10px; }
.bdk-prefs__title { margin: 0; font-size: 14px; font-weight: 600; color: var(--bdk-head, #EFE8F2); }
.bdk-prefs__close {
	display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; margin: -6px -8px -6px 0; padding: 0;
	border: 0; border-radius: 999px; background: transparent; box-shadow: none; color: var(--bdk-sec, #ADA1B6); cursor: pointer;
}
.bdk-prefs__close svg { fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.bdk-prefs__close:hover { background: var(--bdk-plum, #2E1F47); color: var(--bdk-head, #EFE8F2); }
.bdk-prefs__close:focus-visible, .bdk-prefs__reset:focus-visible { outline: 2px solid var(--bdk-v300, #C09AEE); outline-offset: 2px; }
.bdk-prefs__group { margin: 0 0 12px; padding: 0; border: 0; min-width: 0; }
.bdk-prefs__legend { margin: 0 0 6px; padding: 0; font-size: 11px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; color: var(--bdk-sec, #ADA1B6); }
.bdk-prefs__opts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.bdk-prefs__opt { position: relative; display: block; margin: 0; cursor: pointer; font-family: var(--bdk-ui, 'Inter', system-ui, sans-serif); font-size: 13px; line-height: 1.2; letter-spacing: 0; text-transform: none; }
.bdk-prefs__label { font-family: var(--bdk-ui, 'Inter', system-ui, sans-serif); }
.bdk-prefs__radio { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.bdk-prefs__label {
	display: flex; align-items: center; justify-content: center; min-height: 40px; padding: 6px 4px; box-sizing: border-box;
	border: 1px solid var(--bdk-line, #3A2F45); border-radius: 10px; background: transparent;
	font-size: 13px; font-weight: 500; line-height: 1.2; text-align: center; color: var(--bdk-text, #D9CFDE);
	overflow-wrap: anywhere; transition: background-color .15s ease, border-color .15s ease;
}
.bdk-prefs__opt:hover .bdk-prefs__label { border-color: var(--bdk-v400, #A274DE); }
.bdk-prefs__radio:checked + .bdk-prefs__label { border-color: var(--bdk-v400, #A274DE); background: var(--bdk-plum, #2E1F47); color: var(--bdk-v200, #D7BEF6); box-shadow: inset 0 0 0 1px var(--bdk-v400, #A274DE); }
.bdk-prefs__radio:focus-visible + .bdk-prefs__label { outline: 2px solid var(--bdk-v300, #C09AEE); outline-offset: 2px; }
/* little previews in the options */
.bdk-prefs__opt--default .bdk-prefs__label::before, .bdk-prefs__opt--light .bdk-prefs__label::before, .bdk-prefs__opt--sepia .bdk-prefs__label::before {
	content: ""; flex: none; width: 12px; height: 12px; margin-right: 6px; border-radius: 50%; border: 1px solid rgb(127 127 127 / .6);
}
.bdk-prefs__opt--default .bdk-prefs__label::before { background: #17121D; }
.bdk-prefs__opt--light .bdk-prefs__label::before { background: #F7F3EA; }
.bdk-prefs__opt--sepia .bdk-prefs__label::before { background: #F0E6D2; }
.bdk-prefs__opt--comfortable .bdk-prefs__label { font-size: 13px; }
.bdk-prefs__opt--larger .bdk-prefs__label { font-size: 14.5px; }
.bdk-prefs__opt--largest .bdk-prefs__label { font-size: 16px; }
.bdk-prefs__opt--serif .bdk-prefs__label { font-family: 'Literata', Georgia, serif; }
.bdk-prefs__opt--sans .bdk-prefs__label { font-family: var(--bdk-ui, 'Inter', system-ui, sans-serif); }
.bdk-prefs__opt--atkinson .bdk-prefs__label { font-family: 'Atkinson Hyperlegible', var(--bdk-ui, system-ui), sans-serif; }
.bdk-prefs__hint { margin: 6px 0 0; font-size: 12px; color: var(--bdk-sec, #ADA1B6); }
.bdk-prefs__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 10px; margin: 2px 0 0; padding-top: 10px; border-top: 1px solid var(--bdk-line, #3A2F45); }
.bdk-prefs__reset {
	margin: 0; padding: 6px 12px; min-height: 32px; border: 1px solid var(--bdk-line, #3A2F45); border-radius: 999px; background: transparent; box-shadow: none;
	font: 500 13px/1.2 var(--bdk-ui, 'Inter', system-ui, sans-serif); text-transform: none; color: var(--bdk-text, #D9CFDE); cursor: pointer;
}
.bdk-prefs__reset:hover { border-color: var(--bdk-v400, #A274DE); color: var(--bdk-head, #EFE8F2); background: transparent; }
.bdk-prefs__note { margin: 0; font-size: 11.5px; color: var(--bdk-sec, #ADA1B6); }

/* Themes: re-point the site tokens inside the reading column only. */
html[data-bdk-theme="light"] .bdk-read {
	--bdk-surface: #F7F3EA; --bdk-raised: #EDE7DB; --bdk-line: #D3C9B8; --bdk-head: #120E16; --bdk-text: #1A1520;
	--bdk-sec: #574C5F; --bdk-muted: #6B6073; --bdk-plum: #EAE0F7; --bdk-v200: #45237C; --bdk-v300: #5A3399; --bdk-v400: #6A3DAD; --bdk-v500: #7A4BC0;
}
html[data-bdk-theme="sepia"] .bdk-read {
	--bdk-surface: #F0E6D2; --bdk-raised: #E6D8BE; --bdk-line: #CBB892; --bdk-head: #2A2014; --bdk-text: #3B2F1E;
	--bdk-sec: #5E4E36; --bdk-muted: #6E5D43; --bdk-plum: #E6D6E2; --bdk-v200: #4D2A63; --bdk-v300: #5E3577; --bdk-v400: #77498F; --bdk-v500: #8A5AA3;
}
html:is([data-bdk-theme="light"], [data-bdk-theme="sepia"]) .bdk-read {
	--theme-text-color: var(--bdk-text); --theme-heading-color: var(--bdk-head); --theme-headings-color: var(--bdk-head);
	--theme-link-initial-color: var(--bdk-v300); --theme-link-hover-color: var(--bdk-v200); --theme-border-color: var(--bdk-line);
	--bdk-read-pad: clamp(12px, 3vw, 32px);
	margin-inline: calc(-1 * var(--bdk-read-pad)); padding: var(--bdk-read-pad);
	border-radius: 16px; background: var(--bdk-surface); color: var(--bdk-text);
	color-scheme: light;
}
html:is([data-bdk-theme="light"], [data-bdk-theme="sepia"]) .bdk-read :is(h1, h2, h3, h4, h5, h6) { color: var(--bdk-head); }
html:is([data-bdk-theme="light"], [data-bdk-theme="sepia"]) .bdk-read ::selection { background: var(--bdk-plum); color: var(--bdk-head); }
html:is([data-bdk-theme="light"], [data-bdk-theme="sepia"]) .bdk-read .bdk-prefs { box-shadow: 0 14px 36px rgb(40 25 10 / .22); }

/* Text size (the meta bubble and panel keep their own fixed sizes). */
html[data-bdk-size="larger"] .bdk-read { font-size: 1.125em; }
html[data-bdk-size="largest"] .bdk-read { font-size: 1.25em; }
/* Font (prose only; headings and the UI keep theirs). */
html[data-bdk-font="sans"] .bdk-read { font-family: var(--bdk-ui, 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif); }
html[data-bdk-font="atkinson"] .bdk-read { font-family: 'Atkinson Hyperlegible', var(--bdk-ui, system-ui), sans-serif; }
html[data-bdk-font="sans"] .bdk-read, html[data-bdk-font="atkinson"] .bdk-read { font-variant-numeric: lining-nums proportional-nums; }

@media (prefers-reduced-motion: reduce) { .bdk-prefs-btn, .bdk-prefs__label { transition: none; } }

/* 0.3.22: built-in WordPress comments on chapters (Blocksy .ct-comments-container, outside .bdk-read,
   so it stays site-dark whatever the reader picked in "Aa"). Raised bubble like the meta/Love bars. */
.single-chapter .ct-comments-container { background: transparent; border: 0; padding-block: 0 clamp(40px, 6vw, 72px); }
.single-chapter .ct-comments {
	--theme-form-field-border-initial-color: var(--bdk-line, #3A2F45);
	--theme-form-field-border-focus-color: var(--bdk-v400, #A274DE);
	--theme-form-field-background-initial-color: var(--bdk-surface, #17121D);
	--theme-form-field-background-focus-color: var(--bdk-surface, #17121D);
	--theme-form-text-initial-color: var(--bdk-text, #D9CFDE);
	--theme-form-text-focus-color: var(--bdk-head, #EFE8F2);
	--theme-form-field-border-radius: 10px;
	--theme-button-background-initial-color: var(--theme-palette-color-1, #7A4BC0);
	--theme-button-background-hover-color: var(--theme-palette-color-2, #6A3DAD);
	--theme-button-text-initial-color: #fff;
	--theme-button-text-hover-color: #fff;
	--theme-link-initial-color: var(--bdk-v300, #C09AEE);
	--theme-link-hover-color: var(--bdk-v200, #D7BEF6);
	--theme-border-color: var(--bdk-line, #3A2F45);
	margin: 0; padding: clamp(18px, 4vw, 28px);
	border: 1px solid var(--bdk-line, #3A2F45); border-radius: 16px; background: var(--bdk-raised, #211A29);
	font-family: var(--bdk-ui, 'Inter', system-ui, sans-serif); font-size: 15px; line-height: 1.55; color: var(--bdk-sec, #ADA1B6);
}
.single-chapter .ct-comments :is(.ct-comments-title, .comment-reply-title) {
	margin: 0 0 14px; font-family: var(--bdk-display, 'Cormorant Garamond', Georgia, serif); font-size: clamp(24px, 4vw, 28px);
	font-weight: 600; line-height: 1.2; letter-spacing: 0; text-transform: none; color: var(--bdk-head, #EFE8F2);
}
.single-chapter .ct-comments #reply-title { margin-bottom: 10px; font-size: clamp(22px, 3.6vw, 26px); }
.single-chapter .ct-comments .comment-respond:not(:only-child) .comment-reply-title { padding-top: 24px; }
.single-chapter .ct-comment-list .comment-respond { padding-bottom: 24px; }
.single-chapter .ct-comments :is(#cancel-comment-reply-link, .comment-reply-link) {
	border: 1px solid var(--bdk-line, #3A2F45); border-radius: 999px; background: transparent;
	font-family: var(--bdk-ui, 'Inter', system-ui, sans-serif); font-size: 11px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: var(--bdk-v300, #C09AEE);
}
.single-chapter .ct-comments #cancel-comment-reply-link { padding: 4px 12px; }
.single-chapter .ct-comments .ct-comment-inner:not(.ct-has-reply-form):hover .comment-reply-link,
.single-chapter .ct-comments :is(#cancel-comment-reply-link, .comment-reply-link):hover { background: var(--bdk-plum, #2E1F47); border-color: var(--bdk-v400, #A274DE); color: var(--bdk-v200, #D7BEF6); }

/* list */
.single-chapter .ct-comment-list, .single-chapter .ct-comment-list .children { margin: 0; padding: 0; list-style: none; }
.single-chapter .ct-comment-list > li + li { margin-top: 0; border-top: 1px solid var(--bdk-line, #3A2F45); }
.single-chapter .ct-comment-inner { padding: 16px 0; border: 0; }
.single-chapter .ct-comment-list .children { margin-left: clamp(14px, 4vw, 28px); padding-left: clamp(12px, 3vw, 18px); border-left: 2px solid var(--bdk-plum, #2E1F47); }
.single-chapter .ct-comment-list .children .ct-comment-inner { padding-top: 6px; }
.single-chapter .ct-comment-meta { align-items: center; }
.single-chapter .ct-comment-meta .ct-media-container { width: 36px; height: 36px; border-radius: 999px; overflow: hidden; }
.single-chapter .ct-comment-author { margin: 0; font-family: var(--bdk-ui, 'Inter', system-ui, sans-serif); font-size: 15px; font-weight: 600; color: var(--bdk-head, #EFE8F2); }
.single-chapter .ct-comment-author cite { font-style: normal; }
.single-chapter .ct-comment-list .bypostauthor > .ct-comment-inner .ct-comment-author cite::after {
	content: "Author"; margin-left: 8px; padding: 1px 8px; border: 1px solid var(--bdk-v500, #7A4BC0); border-radius: 999px;
	background: var(--bdk-plum, #2E1F47); font-size: 11px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: var(--bdk-v200, #D7BEF6); vertical-align: 2px;
}
.single-chapter .ct-comment-meta-data { font-size: 12px; color: var(--bdk-sec, #ADA1B6); }
.single-chapter .ct-comment-meta-data a { color: var(--bdk-sec, #ADA1B6); text-decoration: none; }
.single-chapter .ct-comment-meta-data a:hover { color: var(--bdk-v200, #D7BEF6); }
.single-chapter .ct-comment-content { margin-top: 8px; font-family: var(--theme-font-family, 'Literata', Georgia, serif); font-size: 16px; line-height: 1.65; color: var(--bdk-text, #D9CFDE); }
.single-chapter .ct-comment-content > :last-child { margin-bottom: 0; }
.single-chapter .ct-comment-content a { color: var(--bdk-v300, #C09AEE); }
.single-chapter .ct-comments :is(.comment-awaiting-moderation, .ct-awaiting-moderation) { font-size: 13px; font-style: normal; color: var(--bdk-lamp, #F2D49B); }

/* form */
.single-chapter .ct-comments .comment-notes, .single-chapter .ct-comments .logged-in-as { margin: 0 0 16px; font-size: 13px; color: var(--bdk-sec, #ADA1B6); }
.single-chapter .ct-comments .comment-form label {
	font-family: var(--bdk-ui, 'Inter', system-ui, sans-serif); font-size: 12px; font-weight: 500; line-height: 1.4;
	letter-spacing: .1em; text-transform: uppercase; color: var(--bdk-sec, #ADA1B6);
}
.single-chapter .ct-comments :is(.required, b.required) { color: var(--bdk-v300, #C09AEE); }
.single-chapter .ct-comments .comment-form :is(input[type="text"], input[type="email"], input[type="url"], textarea) {
	font-family: var(--bdk-ui, 'Inter', system-ui, sans-serif); font-size: 16px; color: var(--bdk-text, #D9CFDE);
}
.single-chapter .ct-comments .comment-form textarea { min-height: 140px; font-family: var(--theme-font-family, 'Literata', Georgia, serif); line-height: 1.6; }
.single-chapter .ct-comments .comment-form ::placeholder { color: var(--bdk-sec, #ADA1B6); opacity: .8; }
.single-chapter .ct-comments .comment-form-cookies-consent { display: flex; align-items: flex-start; gap: 10px; }
.single-chapter .ct-comments .comment-form-cookies-consent label { font-size: 13px; letter-spacing: 0; text-transform: none; }
.single-chapter .ct-comments .comment-form-cookies-consent input { flex: none; margin-top: 3px; accent-color: var(--bdk-v500, #7A4BC0); }
.single-chapter .ct-comments .form-submit { margin-bottom: 0; }
.single-chapter .ct-comments .form-submit .submit {
	min-height: 48px; padding: 10px 28px; border: 0; border-radius: 999px;
	background: var(--theme-palette-color-1, #7A4BC0); color: #fff; font-family: var(--bdk-ui, 'Inter', system-ui, sans-serif); font-size: 15px; font-weight: 500; text-transform: none; letter-spacing: 0;
}
.single-chapter .ct-comments .form-submit .submit:hover { background: var(--theme-palette-color-2, #6A3DAD); }
.single-chapter .ct-comments :is(input, textarea, .submit):focus-visible { outline: 2px solid var(--bdk-v300, #C09AEE); outline-offset: 2px; }
@media (max-width: 689px) { .single-chapter .ct-comments .form-submit .submit { width: 100%; } }
.single-chapter .ct-comments .no-comments { margin: 16px 0 0; font-size: 13px; color: var(--bdk-sec, #ADA1B6); }

/* 0.3.29: love counts on archive chapter cards + homepage arc totals (display only, not a button) */
.meta-loves { display: inline-flex; align-items: center; gap: .3em; color: var(--bdkw-sec, #ADA1B6); font-variant-numeric: tabular-nums; white-space: nowrap; }
.meta-loves .bdk-love__icon { width: 1em; height: 1em; fill: transparent; stroke: currentColor; stroke-width: 2; opacity: .85; }
.entry-card .meta-loves { font-size: inherit; }
