/* ============================================================
   DSG E-reader — reader.css
   E-reader chrome and chapter content styling. Palette,
   typography families, and content widths come from theme.json.
   ============================================================ */

/* ---------- dark theme: rebind preset color CSS vars ---------- */
html {
	--dsg-reader-font: Literata, 'Iowan Old Style', Georgia, serif;
	--dsg-reader-scale: 1;
	--dsg-copy-size: 18px;
	--dsg-small-copy-size: 16px;
	--dsg-list-title-size: 22px;
	--dsg-section-title-size: 24px;
	--dsg-chapter-title-size: 42px;
	--dsg-archive-title-size: 42px;
	--dsg-toc-heading-size: 28px;
	--dsg-toc-subtitle-size: 13px;
	--dsg-coda-note-size: 20px;
	--dsg-label-size: 14px;
	--dsg-small-label-size: 11px;
	--dsg-cover-title-size: 72px;
	--dsg-cover-subtitle-size: 24px;
	--dsg-cover-author-size: 14px;
	--dsg-cover-author-name-size: 18px;
	--dsg-cover-meta-size: 10px;
	--dsg-page-width: 760px;
	--dsg-reading-width: 680px;
	--dsg-wide-width: 920px;
	--dsg-full-width: 1120px;
	--dsg-reader-line-height: 1.68;
	--dsg-reader-small-line-height: 1.55;
}

html[data-theme="dark"] {
	--wp--preset--color--paper: #18171a;
	--wp--preset--color--paper-edge: #1f1e22;
	--wp--preset--color--ink: #d4cdb9;
	--wp--preset--color--ink-soft: #9c9684;
	--wp--preset--color--ink-faint: #645f55;
	--wp--preset--color--rule: #2c2a2e;
	--wp--preset--color--highlight: #4a3d12;
	--dsg-accent: #9fc8d6;
	--dsg-accent-soft: #748d95;
	color-scheme: dark;
}
html[data-theme="dark"] body {
	--dsg-accent: #9fc8d6;
	--dsg-accent-soft: #748d95;
}

/* ---------- base body: status-bar offsets, paper grain ---------- */
body {
	--dsg-top-bar-h: 48px;
	--dsg-bottom-bar-h: 44px;
	--dsg-admin-bar-h: 0px;
	--dsg-accent: #24505f;
	--dsg-accent-soft: #6e7f84;
	padding-top: var(--dsg-top-bar-h);
	padding-bottom: var(--dsg-bottom-bar-h);
	min-height: 100vh;
	-webkit-font-smoothing: antialiased;
	background-color: var(--wp--preset--color--paper);
	background-image:
		radial-gradient(circle at 12% 18%, rgba(0,0,0,0.018) 0, transparent 40%),
		radial-gradient(circle at 88% 72%, rgba(0,0,0,0.018) 0, transparent 40%);
	transition: background-color 0.25s, color 0.25s;
}
body.admin-bar { --dsg-admin-bar-h: 32px; }
@media screen and (max-width: 782px) {
	body.admin-bar { --dsg-admin-bar-h: 46px; }
}
::selection { background: var(--wp--preset--color--highlight); color: var(--wp--preset--color--ink); }

/* ---------- top + bottom status bars ---------- */
.dsg-bar {
	position: fixed; left: 0; right: 0;
	background: var(--wp--preset--color--paper-edge);
	box-sizing: border-box;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 11px;
	line-height: 1;
	color: var(--wp--preset--color--ink-soft);
	display: flex;
	align-items: center;
	z-index: 50;
	transition: background 0.25s;
}
.dsg-bar.dsg-top {
	top: var(--dsg-admin-bar-h);
	height: var(--dsg-top-bar-h);
	border-bottom: 1px solid var(--wp--preset--color--rule);
	padding: 0 22px;
}
.dsg-bar.dsg-bottom {
	bottom: 0;
	height: var(--dsg-bottom-bar-h);
	border-top: 1px solid var(--wp--preset--color--rule);
	justify-content: center;
	padding: 0 22px;
}
.dsg-top-inner {
	display: grid;
	grid-template-columns: minmax(180px, 1fr) auto minmax(72px, 1fr);
	align-items: center;
	gap: 24px;
	width: 100%;
}
.dsg-site-mark {
	display: inline-flex;
	align-items: center;
	min-height: 24px;
	max-width: 100%;
	padding: 2px 0 3px;
	color: var(--wp--preset--color--ink);
	font-family: var(--wp--preset--font-family--serif);
	font-size: 14px;
	font-style: italic;
	line-height: 1.25;
	text-decoration: none;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.dsg-section-nav {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
}
.dsg-section-nav a {
	color: var(--wp--preset--color--ink-soft);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 10px;
	letter-spacing: 0.08em;
	text-decoration: none;
	text-transform: uppercase;
}
.dsg-site-mark:hover,
.dsg-section-nav a:hover { color: var(--dsg-accent); }
.dsg-top-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	position: relative;
}
.dsg-reader-trigger {
	appearance: none;
	display: inline-flex;
	align-items: baseline;
	gap: 1px;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	color: var(--wp--preset--color--ink-soft);
	cursor: pointer;
	font-family: var(--wp--preset--font-family--serif);
	font-size: 16px;
	line-height: 1;
}
.dsg-reader-trigger span {
	font-size: 0.68em;
	line-height: 1;
}
.dsg-reader-trigger:hover,
.dsg-reader-trigger[aria-expanded="true"] {
	color: var(--wp--preset--color--ink);
}
.dsg-reader-trigger:focus { outline: none; }
.dsg-reader-trigger:focus-visible {
	text-decoration: underline;
	text-decoration-color: var(--dsg-accent);
	text-decoration-thickness: 1px;
	text-underline-offset: 5px;
}
.dsg-reader-panel {
	position: absolute;
	top: calc(100% + 10px);
	right: 0;
	display: none;
	width: 304px;
	box-sizing: border-box;
	padding: 14px;
	border: 1px solid var(--wp--preset--color--rule);
	border-radius: 8px;
	background: var(--wp--preset--color--paper);
	box-shadow: 0 18px 42px rgba(0,0,0,0.16);
	color: var(--wp--preset--color--ink);
	z-index: 90;
}
.dsg-reader-panel.is-open { display: block; }
.dsg-reader-row + .dsg-reader-row {
	margin-top: 14px;
	padding-top: 12px;
	border-top: 1px solid var(--wp--preset--color--rule);
}
.dsg-reader-label {
	margin: 0 0 8px;
	color: var(--wp--preset--color--ink-faint);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 10px;
	letter-spacing: 0.12em;
	line-height: 1;
	text-transform: uppercase;
}
.dsg-reader-stepper,
.dsg-reader-choices {
	display: grid;
	border: 1px solid var(--wp--preset--color--rule);
	border-radius: 6px;
	overflow: hidden;
	background: var(--wp--preset--color--paper);
}
.dsg-reader-stepper { grid-template-columns: 36px 1fr 36px; }
.dsg-reader-choices { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dsg-reader-themes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dsg-reader-btn,
.dsg-reader-choice {
	display: grid;
	place-items: center;
	min-width: 0;
	height: 32px;
	padding: 0 10px;
	border: 0;
	border-left: 1px solid var(--wp--preset--color--rule);
	background: transparent;
	color: var(--wp--preset--color--ink-soft);
	cursor: pointer;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 11px;
	line-height: 1;
}
.dsg-reader-btn:first-child,
.dsg-reader-choice:first-child { border-left: 0; }
.dsg-reader-btn:hover,
.dsg-reader-choice:hover,
.dsg-reader-choice[aria-pressed="true"] {
	background: var(--wp--preset--color--paper-edge);
	color: var(--wp--preset--color--ink);
}
.dsg-reader-btn:focus,
.dsg-reader-choice:focus { outline: none; }
.dsg-reader-btn:focus-visible,
.dsg-reader-choice:focus-visible {
	outline: 1px solid var(--dsg-accent);
	outline-offset: -2px;
}
.dsg-reader-btn:disabled {
	color: var(--wp--preset--color--ink-faint);
	cursor: default;
	opacity: 0.48;
}
.dsg-type-smaller {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 12px;
}
.dsg-type-larger {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 17px;
}
.dsg-type-status {
	display: grid;
	place-items: center;
	border-left: 1px solid var(--wp--preset--color--rule);
	color: var(--wp--preset--color--ink);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 10px;
	font-variant-numeric: tabular-nums;
	line-height: 1;
}
.dsg-font-serif { font-family: var(--wp--preset--font-family--serif); }
.dsg-font-sans { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; }
.dsg-font-mono { font-family: var(--wp--preset--font-family--mono); }
.dsg-footer-inner {
	display: grid;
	grid-template-columns: 4ch minmax(120px, 1fr) max-content;
	align-items: center;
	column-gap: 14px;
	width: min(100%, 560px);
}
.dsg-footer-inner > * { min-width: 0; }
.dsg-bar-cell { display: flex; align-items: center; gap: 8px; min-width: 0; }
.dsg-bar-cell > * { margin: 0; }
.dsg-bar-left { justify-self: start; }
.dsg-bar-center { justify-self: center; }
.dsg-bar-right { justify-self: end; }
.dsg-bar.dsg-bottom .dsg-bar-center {
	justify-content: center;
	width: min(42vw, 420px);
}

.dsg-bar-center .wp-block-site-title {
	font-family: var(--wp--preset--font-family--serif);
	font-style: italic;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0;
	color: var(--wp--preset--color--ink);
	line-height: 1;
	margin: 0;
	max-width: 36ch;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.dsg-bar-center .wp-block-site-title a { color: inherit; text-decoration: none; }

.dsg-chrome-link {
	color: var(--wp--preset--color--ink-soft);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 11px;
	letter-spacing: 0.04em;
	text-decoration: none;
	text-transform: uppercase;
}
.dsg-chrome-link:hover { color: var(--dsg-accent); }

.dsg-progress {
	height: 2px;
	background: var(--wp--preset--color--rule);
	position: relative;
	min-width: 0;
	width: 100%;
}
.dsg-progress-fill {
	position: absolute; left: 0; top: 0; bottom: 0;
	background: var(--dsg-accent);
	width: 0;
	transition: width 0.15s linear;
}
.dsg-progress-pct {
	color: var(--wp--preset--color--ink);
	font-weight: 500;
	min-width: 0;
	text-align: left;
	font-variant-numeric: tabular-nums;
}
.dsg-time-left {
	color: var(--wp--preset--color--ink-soft);
	font-variant-numeric: tabular-nums;
	justify-self: end;
	text-align: right;
	white-space: nowrap;
}

/* ---------- page-turn arrows (desktop only) ---------- */
.dsg-pageturn {
	position: fixed; top: 50%;
	transform: translateY(-50%);
	background: transparent;
	border: none;
	cursor: pointer;
	color: var(--wp--preset--color--ink-faint);
	font-family: var(--wp--preset--font-family--serif);
	font-size: 28px;
	padding: 24px 14px;
	z-index: 40;
	opacity: 0.16;
	transition: opacity 0.2s, color 0.2s;
}
.dsg-pageturn:hover { opacity: 1; color: var(--wp--preset--color--ink); }
.dsg-pageturn.dsg-pt-left { left: 8px; }
.dsg-pageturn.dsg-pt-right { right: 8px; }
.dsg-pageturn.is-disabled {
	cursor: default;
	opacity: 0.05;
	pointer-events: none;
}

/* ---------- popover (footnote / dictionary) ---------- */
.dsg-popover {
	position: fixed; left: 50%; bottom: 80px;
	transform: translateX(-50%);
	width: min(540px, calc(100% - 40px));
	background: var(--wp--preset--color--paper);
	color: var(--wp--preset--color--ink);
	border: 1px solid var(--wp--preset--color--ink);
	border-radius: 4px;
	padding: 18px 20px 16px;
	box-shadow: 0 24px 48px rgba(0,0,0,0.18);
	z-index: 100;
	display: none;
}
.dsg-popover.is-open { display: block; }
.dsg-pop-label {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 10px;
	color: var(--wp--preset--color--ink-faint);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	margin-bottom: 8px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.dsg-pop-close {
	background: none; border: none; cursor: pointer;
	color: var(--wp--preset--color--ink-faint);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 11px;
	padding: 0;
}
.dsg-pop-close:hover { color: var(--wp--preset--color--ink); }
.dsg-pop-word {
	font-family: var(--dsg-reader-font);
	font-style: italic;
	font-size: 22px;
	margin-bottom: 4px;
}
.dsg-pop-pron {
	font-family: var(--dsg-reader-font);
	font-size: 13px;
	font-style: italic;
	color: var(--wp--preset--color--ink-soft);
	margin-bottom: 10px;
}
.dsg-pop-body {
	font-family: var(--dsg-reader-font);
	font-size: 15px;
	line-height: 1.5;
	color: var(--wp--preset--color--ink-soft);
}

/* ---------- cover (front page hero) ---------- */
.dsg-cover {
	min-height: calc(100vh - var(--dsg-top-bar-h) - var(--dsg-bottom-bar-h) - var(--dsg-admin-bar-h));
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 54px 32px 46px;
	text-align: center;
	border-bottom: 1px solid var(--wp--preset--color--rule);
}
.dsg-cover-pub {
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--dsg-small-label-size) !important;
	color: var(--wp--preset--color--ink-faint);
	letter-spacing: 0.16em;
	text-transform: uppercase;
	margin: 0 0 34px !important;
}
.dsg-cover-title {
	font-family: var(--dsg-reader-font) !important;
	font-style: italic !important;
	font-weight: 400 !important;
	font-size: var(--dsg-cover-title-size) !important;
	line-height: 1 !important;
	letter-spacing: 0 !important;
	color: var(--wp--preset--color--ink) !important;
	margin: 0 !important;
}
.dsg-cover-title a { color: inherit !important; text-decoration: none !important; }
.dsg-cover-subtitle {
	font-family: var(--dsg-reader-font) !important;
	font-style: italic !important;
	font-size: var(--dsg-cover-subtitle-size) !important;
	color: var(--wp--preset--color--ink-soft) !important;
	line-height: 1.3 !important;
	max-width: 24ch !important;
	margin: 28px auto 0 !important;
}
.dsg-cover-author {
	margin-top: 52px !important;
	font-family: var(--dsg-reader-font);
	font-size: var(--dsg-cover-author-size) !important;
	color: var(--wp--preset--color--ink-soft);
	letter-spacing: 0.18em;
	text-transform: uppercase;
	line-height: 1.4 !important;
}
.dsg-cover-author strong {
	display: block;
	font-weight: 500;
	color: var(--wp--preset--color--ink);
	font-size: var(--dsg-cover-author-name-size);
	margin-top: 6px;
	letter-spacing: 0.06em;
}
.dsg-cover-meta {
	margin-top: 50px;
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--dsg-cover-meta-size);
	color: var(--wp--preset--color--ink-faint);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	display: flex;
	justify-content: center;
	gap: 22px;
	flex-wrap: wrap;
}
.dsg-cover-meta span:not(:first-child)::before {
	content: '·';
	margin-right: 22px;
	color: var(--wp--preset--color--rule);
}

/* ---------- table of contents ---------- */
.dsg-toc {
	box-sizing: border-box;
	max-width: var(--dsg-page-width);
	margin: 0 auto;
	padding: 96px 32px 64px;
	scroll-margin-top: calc(var(--dsg-top-bar-h) + 28px);
}
.dsg-toc-heading {
	font-family: var(--dsg-reader-font) !important;
	font-style: italic !important;
	font-weight: 400 !important;
	font-size: var(--dsg-toc-heading-size) !important;
	color: var(--wp--preset--color--ink-soft) !important;
	letter-spacing: 0.06em;
	margin: 0 auto 56px !important;
}
.dsg-toc-list {
	list-style: none;
	padding: 0;
	margin: 0;
	max-width: var(--dsg-reading-width);
	margin: 0 auto;
}
.dsg-toc-list li {
	display: grid;
	grid-template-columns: 60px 1fr auto;
	gap: 18px;
	align-items: baseline;
	padding: 14px 0;
	border-bottom: 1px dotted var(--wp--preset--color--rule);
	transition: background 0.15s;
}
.dsg-toc-list li:hover {
	background: var(--wp--preset--color--paper-edge);
}
.dsg-toc-roman {
	font-family: var(--dsg-reader-font);
	font-style: italic;
	color: var(--wp--preset--color--ink-faint);
	font-size: 18px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}
.dsg-toc-name {
	font-family: var(--dsg-reader-font);
	font-size: var(--dsg-list-title-size);
	color: var(--wp--preset--color--ink);
	text-decoration: none;
	border-bottom: none;
}
.dsg-toc-name:hover { color: var(--dsg-accent); }
.dsg-toc-name small {
	display: block;
	font-size: var(--dsg-toc-subtitle-size);
	color: var(--wp--preset--color--ink-soft);
	font-style: italic;
	margin-top: 2px;
	font-family: var(--dsg-reader-font);
}
.dsg-toc-pct {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 11px;
	color: var(--wp--preset--color--ink-faint);
	text-align: right;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

/* ---------- chapter (single posts and pages) ---------- */
.dsg-main { padding: 0; }
body.single-post .dsg-main {
	touch-action: pan-y;
	transform: translate3d(0, 0, 0);
	transform-origin: center center;
}
body.single-post.dsg-is-swiping {
	overflow-x: hidden;
}
body.single-post.dsg-is-swiping .dsg-main {
	opacity: var(--dsg-swipe-opacity, 1);
	transform: translate3d(var(--dsg-swipe-x, 0), 0, 0);
	transition: none;
	will-change: transform, opacity;
}
body.single-post.dsg-swipe-cancel .dsg-main,
body.single-post.dsg-swipe-commit .dsg-main {
	opacity: var(--dsg-swipe-opacity, 1);
	transform: translate3d(var(--dsg-swipe-x, 0), 0, 0);
	transition: transform 180ms ease-out, opacity 180ms ease-out;
	will-change: transform, opacity;
}
.dsg-page-fold {
	position: fixed;
	top: calc(var(--dsg-admin-bar-h) + var(--dsg-top-bar-h));
	width: var(--dsg-fold-size, 0px);
	height: var(--dsg-fold-size, 0px);
	z-index: 49;
	opacity: 0;
	overflow: visible;
	pointer-events: none;
	transition: opacity 160ms ease-out, width 180ms ease-out, height 180ms ease-out;
	filter: drop-shadow(0 10px 16px rgba(45,36,18,0.2));
}
body.dsg-is-swiping .dsg-page-fold {
	opacity: 1;
	transition: none;
}
body.dsg-swipe-cancel .dsg-page-fold,
body.dsg-swipe-commit .dsg-page-fold {
	opacity: 1;
}
.dsg-page-fold::before,
.dsg-page-fold::after,
.dsg-page-fold-under {
	content: '';
	position: absolute;
	inset: 0;
}
.dsg-page-fold-under {
	z-index: 0;
	background:
		linear-gradient(135deg, rgba(255,255,255,0.18), rgba(255,255,255,0) 54%),
		var(--wp--preset--color--paper);
	box-shadow: inset 0 0 0 1px rgba(96,78,43,0.08);
}
.dsg-page-fold::before {
	z-index: 2;
	background:
		radial-gradient(circle at var(--dsg-fold-tip-x) var(--dsg-fold-tip-y), rgba(255,255,255,0.62), rgba(255,255,255,0) 28%),
		linear-gradient(var(--dsg-fold-light-angle), rgba(255,255,255,0.44), rgba(255,255,255,0) 44%),
		linear-gradient(var(--dsg-fold-paper-angle), var(--wp--preset--color--paper) 0%, var(--wp--preset--color--paper-edge) 52%, var(--wp--preset--color--paper-edge) 100%);
	background-color: var(--wp--preset--color--paper-edge);
}
.dsg-page-fold::after {
	z-index: 3;
	height: 2px;
	inset: auto;
	background: linear-gradient(90deg, transparent 0%, rgba(64,50,25,0.38) 48%, transparent 100%);
	mix-blend-mode: multiply;
	opacity: calc(0.32 + (var(--dsg-fold-progress, 0) * 0.34));
	transform-origin: center;
}
body.dsg-fold-next .dsg-page-fold {
	right: 0;
	left: auto;
	transform-origin: 100% 0;
	--dsg-fold-light-angle: 135deg;
	--dsg-fold-paper-angle: 315deg;
	--dsg-fold-tip-x: 22%;
	--dsg-fold-tip-y: 82%;
}
body.dsg-fold-next .dsg-page-fold-under {
	clip-path: polygon(100% 0, 100% 100%, 22% 82%, 0 0);
}
body.dsg-fold-next .dsg-page-fold::before {
	clip-path: polygon(0 0, 100% 100%, 22% 82%);
}
body.dsg-fold-next .dsg-page-fold::after {
	top: 50%;
	right: -21%;
	width: 142%;
	transform: rotate(45deg);
}
body.dsg-fold-previous .dsg-page-fold {
	left: 0;
	right: auto;
	transform-origin: 0 0;
	--dsg-fold-light-angle: 45deg;
	--dsg-fold-paper-angle: 225deg;
	--dsg-fold-tip-x: 78%;
	--dsg-fold-tip-y: 82%;
}
body.dsg-fold-previous .dsg-page-fold-under {
	clip-path: polygon(0 0, 100% 0, 78% 82%, 0 100%);
}
body.dsg-fold-previous .dsg-page-fold::before {
	clip-path: polygon(100% 0, 0 100%, 78% 82%);
}
body.dsg-fold-previous .dsg-page-fold::after {
	top: 50%;
	left: -21%;
	width: 142%;
	transform: rotate(-45deg);
}
html[data-theme="dark"] .dsg-page-fold {
	filter: drop-shadow(0 14px 18px rgba(0,0,0,0.34));
}
html[data-theme="dark"] .dsg-page-fold-under {
	background:
		linear-gradient(135deg, rgba(255,255,255,0.04), rgba(255,255,255,0) 54%),
		var(--wp--preset--color--paper);
	box-shadow: inset 0 0 0 1px rgba(255,255,255,0.04);
}
html[data-theme="dark"] .dsg-page-fold::before {
	background:
		radial-gradient(circle at var(--dsg-fold-tip-x) var(--dsg-fold-tip-y), rgba(255,255,255,0.12), rgba(255,255,255,0) 28%),
		linear-gradient(var(--dsg-fold-light-angle), rgba(255,255,255,0.1), rgba(255,255,255,0) 42%),
		linear-gradient(var(--dsg-fold-paper-angle), var(--wp--preset--color--paper-edge) 0%, var(--wp--preset--color--rule) 56%, rgba(0,0,0,0.42) 100%);
	background-color: var(--wp--preset--color--rule);
}
.dsg-chapter {
	box-sizing: border-box;
	max-width: var(--dsg-page-width);
	margin: 0 auto;
	padding: 88px 32px 68px;
	scroll-margin-top: calc(var(--dsg-top-bar-h) + 26px);
}
.dsg-chapter-num {
	font-family: var(--dsg-reader-font);
	font-style: italic;
	color: var(--wp--preset--color--ink-faint);
	font-size: var(--dsg-label-size);
	letter-spacing: 0.2em;
	text-align: center;
	margin-bottom: 8px;
	text-transform: uppercase;
}
.dsg-chapter-title {
	font-family: var(--dsg-reader-font) !important;
	font-weight: 400 !important;
	font-size: var(--dsg-chapter-title-size) !important;
	line-height: 1.1 !important;
	letter-spacing: 0 !important;
	margin: 0 0 8px !important;
}
.dsg-chapter-dek {
	color: var(--wp--preset--color--ink-soft) !important;
	font-family: var(--dsg-reader-font) !important;
	font-style: italic !important;
	font-size: var(--dsg-copy-size) !important;
	line-height: 1.48 !important;
	margin: 0 0 48px !important;
	max-width: 56ch;
	margin-left: auto !important;
	margin-right: auto !important;
}

.dsg-page-content.has-dropcap > p:first-of-type::first-letter {
	font-family: var(--dsg-reader-font);
	font-weight: 500;
	float: left;
	font-size: 4.4em;
	line-height: 0.85;
	padding: 0.08em 0.08em 0 0;
	color: var(--wp--preset--color--ink);
}
.dsg-chapter-content p,
.dsg-chapter-content li,
.dsg-page-content p,
.dsg-page-content li {
	font-family: var(--dsg-reader-font);
	font-size: var(--dsg-copy-size) !important;
	line-height: var(--dsg-reader-line-height) !important;
	text-align: left;
	-webkit-hyphens: manual !important;
	hyphens: manual !important;
	overflow-wrap: normal;
	word-break: normal;
	margin-bottom: 1.1em;
}
.dsg-page-content a,
.dsg-chapter-content a,
.dsg-coda-links a {
	color: var(--dsg-accent);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.13em;
}
.dsg-page-content .wp-block-code,
.dsg-chapter-content .wp-block-code {
	box-sizing: border-box;
	max-width: 100%;
	margin: 28px 0;
	padding: 16px 18px;
	overflow-x: hidden;
	border: 1px solid var(--wp--preset--color--rule);
	border-radius: 4px;
	background: var(--wp--preset--color--paper-edge);
	color: var(--wp--preset--color--ink);
}
.dsg-page-content .wp-block-code code,
.dsg-chapter-content .wp-block-code code {
	display: block;
	max-width: 100%;
	white-space: pre-wrap;
	overflow-wrap: anywhere;
	word-break: break-word;
	tab-size: 2;
	font-family: var(--wp--preset--font-family--mono) !important;
	font-size: 13px !important;
	line-height: 1.55 !important;
}
.dsg-page-content p > code,
.dsg-page-content li > code,
.dsg-chapter-content p > code,
.dsg-chapter-content li > code {
	padding: 0.08em 0.28em;
	border-radius: 3px;
	background: var(--wp--preset--color--paper-edge);
	font-family: var(--wp--preset--font-family--mono) !important;
	font-size: 0.86em !important;
	overflow-wrap: anywhere;
	word-break: break-word;
}
.dsg-page-content :where(.wp-block-image, .wp-block-gallery, .wp-block-embed, .wp-block-table, .wp-block-pullquote),
.dsg-chapter-content :where(.wp-block-image, .wp-block-gallery, .wp-block-embed, .wp-block-table, .wp-block-pullquote) {
	box-sizing: border-box;
	max-width: 100%;
	margin: 32px 0;
}
.dsg-page-content :where(img, video, iframe),
.dsg-chapter-content :where(img, video, iframe) {
	max-width: 100%;
}
.dsg-page-content :where(.wp-block-image img, .wp-block-gallery img),
.dsg-chapter-content :where(.wp-block-image img, .wp-block-gallery img) {
	display: block;
	height: auto;
	border-radius: 4px;
}
.dsg-page-content :where(figcaption, cite),
.dsg-chapter-content :where(figcaption, cite) {
	color: var(--wp--preset--color--ink-faint);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 11px;
	font-style: normal;
	letter-spacing: 0.03em;
	line-height: 1.45;
}
.dsg-page-content figcaption,
.dsg-chapter-content figcaption {
	margin-top: 9px;
	text-align: center;
}
.dsg-page-content .wp-block-gallery,
.dsg-chapter-content .wp-block-gallery {
	gap: 12px;
}
.dsg-page-content .wp-block-quote,
.dsg-chapter-content .wp-block-quote {
	margin: 32px 0;
	padding: 2px 0 2px 22px;
	border-left: 2px solid var(--wp--preset--color--rule);
	color: var(--wp--preset--color--ink-soft);
}
.dsg-page-content .wp-block-quote p,
.dsg-chapter-content .wp-block-quote p {
	color: inherit;
	font-style: italic;
}
.dsg-page-content .wp-block-pullquote,
.dsg-chapter-content .wp-block-pullquote {
	padding: 28px 0;
	border-top: 1px solid var(--wp--preset--color--rule);
	border-bottom: 1px solid var(--wp--preset--color--rule);
	text-align: center;
}
.dsg-page-content .wp-block-pullquote blockquote,
.dsg-chapter-content .wp-block-pullquote blockquote {
	margin: 0;
}
.dsg-page-content .wp-block-pullquote p,
.dsg-chapter-content .wp-block-pullquote p {
	font-size: calc(var(--dsg-copy-size) * 1.2) !important;
	font-style: italic;
	line-height: 1.45 !important;
	text-align: center;
}
.dsg-page-content .wp-block-table,
.dsg-chapter-content .wp-block-table {
	overflow-x: auto;
}
.dsg-page-content .wp-block-table table,
.dsg-chapter-content .wp-block-table table {
	width: 100%;
	border-collapse: collapse;
	table-layout: auto;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 13px;
	line-height: 1.45;
}
.dsg-page-content .wp-block-table th,
.dsg-page-content .wp-block-table td,
.dsg-chapter-content .wp-block-table th,
.dsg-chapter-content .wp-block-table td {
	padding: 9px 10px;
	border: 1px solid var(--wp--preset--color--rule);
	overflow-wrap: anywhere;
	word-break: break-word;
	vertical-align: top;
}
.dsg-page-content .wp-block-table th:first-child,
.dsg-page-content .wp-block-table td:first-child,
.dsg-chapter-content .wp-block-table th:first-child,
.dsg-chapter-content .wp-block-table td:first-child {
	width: 84px;
	white-space: nowrap;
	overflow-wrap: normal;
	word-break: normal;
}
.dsg-page-content .wp-block-embed__wrapper,
.dsg-chapter-content .wp-block-embed__wrapper {
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--rule);
	border-radius: 4px;
	background: var(--wp--preset--color--paper-edge);
}
.dsg-page-content .wp-block-embed iframe,
.dsg-chapter-content .wp-block-embed iframe {
	display: block;
	width: 100%;
	min-height: 220px;
	aspect-ratio: 16 / 9;
	border: 0;
}
.dsg-page-content .wp-block-details,
.dsg-chapter-content .wp-block-details {
	margin: 28px 0;
	padding: 15px 18px;
	border: 1px solid var(--wp--preset--color--rule);
	border-radius: 4px;
	background: var(--wp--preset--color--paper-edge);
}
.dsg-page-content .wp-block-details summary,
.dsg-chapter-content .wp-block-details summary {
	cursor: pointer;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 12px;
	letter-spacing: 0.04em;
}
.dsg-page-content .wp-block-buttons,
.dsg-chapter-content .wp-block-buttons {
	margin: 28px 0;
}
.dsg-page-content .wp-block-button__link,
.dsg-chapter-content .wp-block-button__link {
	padding: 10px 14px;
	border-radius: 4px;
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--paper);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 12px;
	letter-spacing: 0.04em;
	text-decoration: none;
}
.dsg-page-content .wp-block-separator,
.dsg-chapter-content .wp-block-separator {
	width: 96px;
	margin: 42px auto;
	border: 0;
	border-top: 1px solid var(--wp--preset--color--rule);
}
.dsg-page-content .wp-block-verse,
.dsg-chapter-content .wp-block-verse {
	white-space: pre-wrap;
	overflow-wrap: anywhere;
	font-family: var(--dsg-reader-font);
	font-size: var(--dsg-copy-size);
	font-style: italic;
	line-height: var(--dsg-reader-line-height);
}
.dsg-page-content > .alignwide,
.dsg-chapter-content > .alignwide {
	--dsg-breakout-width: min(var(--dsg-wide-width), calc(100vw - 64px));
	width: var(--dsg-breakout-width);
	max-width: none;
	margin-left: calc((100% - var(--dsg-breakout-width)) / 2) !important;
	margin-right: calc((100% - var(--dsg-breakout-width)) / 2) !important;
}
.dsg-page-content > .alignfull,
.dsg-chapter-content > .alignfull {
	--dsg-breakout-width: min(var(--dsg-full-width), calc(100vw - 32px));
	width: var(--dsg-breakout-width);
	max-width: none;
	margin-left: calc((100% - var(--dsg-breakout-width)) / 2) !important;
	margin-right: calc((100% - var(--dsg-breakout-width)) / 2) !important;
}
.dsg-page-content > :where(.alignwide, .alignfull),
.dsg-chapter-content > :where(.alignwide, .alignfull) {
	box-sizing: border-box;
	margin-top: 42px;
	margin-bottom: 42px;
}
.dsg-page-content .wp-block-cover,
.dsg-chapter-content .wp-block-cover {
	overflow: hidden;
	min-height: clamp(300px, 42vw, 460px);
	border-radius: 4px;
	color: var(--wp--preset--color--paper);
}
.dsg-page-content .wp-block-cover.alignfull,
.dsg-chapter-content .wp-block-cover.alignfull,
.dsg-page-content .wp-block-group.alignfull.has-background,
.dsg-chapter-content .wp-block-group.alignfull.has-background {
	border-radius: 0;
}
.dsg-page-content .wp-block-cover__inner-container,
.dsg-chapter-content .wp-block-cover__inner-container {
	box-sizing: border-box;
	max-width: var(--dsg-reading-width);
	margin: 0 auto;
	padding: 36px 28px;
}
.dsg-page-content .wp-block-cover h2,
.dsg-page-content .wp-block-cover p,
.dsg-chapter-content .wp-block-cover h2,
.dsg-chapter-content .wp-block-cover p {
	color: inherit !important;
	text-align: center;
}
.dsg-page-content .wp-block-cover h2,
.dsg-chapter-content .wp-block-cover h2 {
	margin-top: 0;
	margin-bottom: 0.35em;
	font-size: clamp(28px, 4vw, 44px) !important;
	line-height: 1.08 !important;
}
.dsg-page-content .wp-block-cover p,
.dsg-chapter-content .wp-block-cover p {
	margin-bottom: 0;
	font-size: clamp(17px, 2vw, 21px) !important;
	line-height: 1.45 !important;
}
.dsg-page-content .wp-block-media-text,
.dsg-chapter-content .wp-block-media-text {
	box-sizing: border-box;
	gap: 28px;
}
.dsg-page-content .wp-block-media-text__content,
.dsg-chapter-content .wp-block-media-text__content {
	padding: 0;
}
.dsg-page-content .wp-block-media-text__media img,
.dsg-chapter-content .wp-block-media-text__media img {
	width: 100%;
	height: auto;
	border-radius: 4px;
}
.dsg-page-content .wp-block-group.alignwide.has-background,
.dsg-page-content .wp-block-group.alignfull.has-background,
.dsg-chapter-content .wp-block-group.alignwide.has-background,
.dsg-chapter-content .wp-block-group.alignfull.has-background {
	background: var(--wp--preset--color--paper-edge);
}
.dsg-page-content .wp-block-group.alignwide > *,
.dsg-page-content .wp-block-group.alignfull > *,
.dsg-chapter-content .wp-block-group.alignwide > *,
.dsg-chapter-content .wp-block-group.alignfull > * {
	max-width: var(--dsg-reading-width);
	margin-left: auto;
	margin-right: auto;
}
.dsg-page-content {
	max-width: var(--dsg-reading-width);
	margin-left: auto;
	margin-right: auto;
}
.dsg-chapter-content {
	max-width: var(--dsg-reading-width);
	margin-left: auto;
	margin-right: auto;
}
.dsg-page-content .wp-block-columns,
.dsg-chapter-content .wp-block-columns {
	gap: 24px;
	margin: 32px 0;
}
.dsg-page-content .wp-block-column,
.dsg-chapter-content .wp-block-column {
	border-color: var(--wp--preset--color--rule) !important;
	border-radius: 4px !important;
	background: rgba(255,255,255,0.18);
}
html[data-theme="dark"] .dsg-page-content .wp-block-column,
html[data-theme="dark"] .dsg-chapter-content .wp-block-column {
	background: rgba(255,255,255,0.03);
}
@media (max-width: 720px) {
	.dsg-page-content > .alignwide,
	.dsg-chapter-content > .alignwide,
	.dsg-page-content > .alignfull,
	.dsg-chapter-content > .alignfull {
		width: calc(100vw - 32px);
	}
	.dsg-page-content .wp-block-media-text,
	.dsg-chapter-content .wp-block-media-text {
		display: block;
	}
	.dsg-page-content .wp-block-media-text__media,
	.dsg-chapter-content .wp-block-media-text__media {
		margin-top: 20px;
	}
}
.dsg-page-content h2,
.dsg-chapter-content h2 {
	font-family: var(--dsg-reader-font) !important;
	font-style: italic;
	font-size: var(--dsg-section-title-size) !important;
	margin-top: 42px;
}
.dsg-page-content h3,
.dsg-chapter-content h3 {
	font-family: var(--dsg-reader-font) !important;
	font-size: var(--dsg-list-title-size) !important;
	font-weight: 400 !important;
}
.dsg-page-content h3 a,
.dsg-chapter-content h3 a {
	border-bottom: none;
	text-decoration: none;
}

.dsg-chapter-content .wp-block-columns {
	display: block;
	margin: 10px 0 28px;
}
.dsg-chapter-content .wp-block-column {
	background: transparent !important;
	border-width: 0 0 1px 0 !important;
	border-style: dotted !important;
	border-color: var(--wp--preset--color--rule) !important;
	border-radius: 0 !important;
	padding: 18px 0 20px !important;
}
.dsg-chapter-content .wp-block-column > p:first-child {
	color: var(--dsg-accent-soft) !important;
	font-family: var(--wp--preset--font-family--mono) !important;
	font-size: 11px !important;
	line-height: 1 !important;
	margin: 0 0 10px !important;
	text-transform: uppercase;
}
.dsg-chapter-content .wp-block-column h3 {
	font-size: var(--dsg-list-title-size) !important;
	line-height: 1.2 !important;
	margin: 0 0 10px !important;
}
.dsg-chapter-content .wp-block-column > p:last-child {
	color: var(--wp--preset--color--ink-soft) !important;
	font-size: var(--dsg-small-copy-size) !important;
	line-height: var(--dsg-reader-small-line-height) !important;
	margin: 0 !important;
}

/* ---------- selected works ---------- */
.dsg-works-intro {
	color: var(--wp--preset--color--ink-soft);
	font-family: var(--dsg-reader-font);
	font-size: var(--dsg-copy-size);
	line-height: var(--dsg-reader-line-height);
	max-width: 46ch;
	margin: -12px auto 42px;
	text-align: center;
}
.dsg-works-list {
	max-width: var(--dsg-reading-width);
	margin: 0 auto;
}
.dsg-work-group {
	border-top: 1px solid var(--wp--preset--color--rule);
	padding-top: 28px;
	margin-top: 34px;
}
.dsg-work-group:first-child { margin-top: 0; }
.dsg-work-group-title {
	color: var(--wp--preset--color--ink-soft);
	font-family: var(--dsg-reader-font);
	font-size: 22px;
	font-style: italic;
	font-weight: 400;
	margin: 0 0 12px;
	text-transform: lowercase;
}
.dsg-work-items { margin: 0; }
.dsg-work-item {
	display: grid;
	grid-template-columns: 104px 1fr;
	gap: 24px;
	padding: 18px 0 20px;
	border-bottom: 1px dotted var(--wp--preset--color--rule);
}
.dsg-work-kicker {
	color: var(--dsg-accent-soft);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 10px;
	line-height: 1.4;
	text-transform: uppercase;
}
.dsg-work-title {
	font-family: var(--dsg-reader-font);
	font-size: var(--dsg-section-title-size);
	font-weight: 400;
	line-height: 1.18;
	margin: 0 0 6px;
}
.dsg-work-title a {
	color: var(--wp--preset--color--ink);
	text-decoration: none;
}
.dsg-work-title a:hover {
	color: var(--dsg-accent);
	font-style: italic;
}
.dsg-work-summary {
	color: var(--wp--preset--color--ink-soft);
	font-family: var(--dsg-reader-font);
	font-size: var(--dsg-small-copy-size);
	line-height: var(--dsg-reader-small-line-height);
	margin: 0;
	max-width: 52ch;
}

/* ---------- inline formats ---------- */
.dsg-highlight {
	background: var(--wp--preset--color--highlight);
	padding: 2px 1px;
	border-radius: 1px;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
	cursor: help;
	position: relative;
}
html[data-theme="dark"] .dsg-highlight { background: rgba(232, 196, 80, 0.22); }
.dsg-highlight[data-readers]:hover::after {
	content: attr(data-readers) ' readers also highlighted this';
	position: absolute; left: 0; bottom: calc(100% + 8px);
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--paper);
	padding: 6px 10px;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 10px;
	letter-spacing: 0.04em;
	white-space: nowrap;
	border-radius: 2px;
	pointer-events: none;
	box-shadow: 0 4px 16px rgba(0,0,0,0.15);
	z-index: 30;
}

.dsg-define {
	border-bottom: 1px dotted var(--wp--preset--color--ink-faint);
	cursor: help;
}

.dsg-footnote-marker {
	cursor: pointer;
	font-family: var(--wp--preset--font-family--mono);
	font-weight: 500;
	font-size: 0.7em;
	vertical-align: super;
	background: var(--wp--preset--color--paper-edge);
	color: var(--wp--preset--color--ink);
	border-radius: 2px;
	padding: 0 4px;
	margin: 0 1px;
	line-height: 1;
}
.dsg-footnote-marker:hover {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--paper);
}

/* ---------- ornament between sections ---------- */
.dsg-ornament {
	text-align: center;
	color: var(--wp--preset--color--ink-faint);
	font-size: 16px;
	letter-spacing: 0.6em;
	padding: 24px 0 16px;
	user-select: none;
}

/* ---------- essays + archive ---------- */
.dsg-essays-block, .dsg-essays-chapter, .dsg-archive {
	box-sizing: border-box;
	max-width: var(--dsg-page-width);
	margin: 0 auto;
	padding: 88px 32px 68px;
	scroll-margin-top: calc(var(--dsg-top-bar-h) + 26px);
}
.dsg-essays {
	list-style: none;
	max-width: var(--dsg-reading-width);
	padding: 0;
	margin: 0 auto;
}
.dsg-essay-row {
	display: flex;
	justify-content: space-between;
	gap: 24px;
	padding: 19px 0 21px !important;
	border-bottom: 1px dotted var(--wp--preset--color--rule);
	align-items: baseline !important;
}
.dsg-essay-row:hover { background: var(--wp--preset--color--paper-edge); }
.dsg-essay-title {
	font-family: var(--dsg-reader-font) !important;
	font-weight: 400 !important;
	font-size: var(--dsg-list-title-size) !important;
	line-height: 1.25 !important;
	margin: 0 !important;
	min-width: 0;
}
.dsg-essay-title a { color: inherit; text-decoration: none; border-bottom: none; }
.dsg-essay-row:hover .dsg-essay-title {
	color: var(--dsg-accent);
	font-style: italic;
}
.dsg-essay-date {
	font-family: var(--wp--preset--font-family--mono) !important;
	font-size: 11px !important;
	color: var(--wp--preset--color--ink-faint) !important;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	margin: 0 !important;
	flex: 0 0 auto;
	white-space: nowrap;
}
.dsg-archive-kicker {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 11px;
	color: var(--wp--preset--color--ink-faint);
	letter-spacing: 0.18em;
	text-transform: uppercase;
	margin: 0 0 8px !important;
}
.dsg-archive-title {
	font-family: var(--dsg-reader-font) !important;
	font-style: italic !important;
	font-weight: 400 !important;
	font-size: var(--dsg-archive-title-size) !important;
	margin: 0 0 56px !important;
}
.dsg-pagination {
	margin-top: 48px;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 12px;
}

.dsg-essay-nav {
	max-width: var(--dsg-reading-width);
	margin: 54px auto 0;
	padding-top: 24px;
	border-top: 1px solid var(--wp--preset--color--rule);
}
.dsg-essay-nav-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	gap: 18px;
	align-items: stretch;
}
.dsg-essay-nav-link,
.dsg-essay-nav-index {
	color: var(--wp--preset--color--ink-soft);
	text-decoration: none;
}
.dsg-essay-nav-link {
	display: flex;
	flex-direction: column;
	gap: 7px;
	min-width: 0;
	padding: 0 0 2px;
}
.dsg-essay-nav-next {
	align-items: flex-end;
	text-align: right;
}
.dsg-essay-nav-link.is-empty {
	pointer-events: none;
}
.dsg-essay-nav-label,
.dsg-essay-nav-meta,
.dsg-essay-nav-index {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 10px;
	letter-spacing: 0.12em;
	line-height: 1.2;
	text-transform: uppercase;
}
.dsg-essay-nav-title {
	color: var(--wp--preset--color--ink);
	font-family: var(--dsg-reader-font);
	font-size: var(--dsg-list-title-size);
	font-weight: 400;
	line-height: 1.18;
	overflow-wrap: anywhere;
}
.dsg-essay-nav-meta {
	color: var(--wp--preset--color--ink-faint);
}
.dsg-essay-nav-index {
	align-self: center;
	padding: 8px 0;
	color: var(--wp--preset--color--ink-faint);
	white-space: nowrap;
}
.dsg-essay-nav-link:hover .dsg-essay-nav-title,
.dsg-essay-nav-index:hover {
	color: var(--dsg-accent);
}
.dsg-essay-nav-link:hover .dsg-essay-nav-title {
	font-style: italic;
}

.dsg-page-content .dsg-coda-note {
	font-family: var(--dsg-reader-font);
	font-style: italic;
	color: var(--wp--preset--color--ink-soft);
	font-size: var(--dsg-coda-note-size) !important;
	line-height: var(--dsg-reader-line-height) !important;
	text-align: center;
	max-width: 30ch;
	margin: 0 auto 32px !important;
}
.dsg-page-content .dsg-coda-links {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 13px !important;
	line-height: var(--dsg-reader-line-height) !important;
	text-align: center;
	color: var(--wp--preset--color--ink-soft);
	letter-spacing: 0.04em;
	max-width: 100%;
	overflow-wrap: anywhere;
}
.dsg-page-content .dsg-coda-links a {
	border-bottom: 1px solid var(--wp--preset--color--rule);
	text-decoration: none;
}
.dsg-page-content .dsg-ornament {
	text-align: center;
}

/* ---------- responsive ---------- */
@media (max-width: 820px) {
	.dsg-footer-inner {
		grid-template-columns: 4ch minmax(56px, 1fr) max-content;
		column-gap: 8px;
	}
	.dsg-time-left { font-size: 10px; }
}

@media (max-width: 720px) {
	body {
		--dsg-top-bar-h: 44px;
		--dsg-bottom-bar-h: 42px;
	}
	.dsg-bar.dsg-top { padding: 0 14px; }
	.dsg-bar.dsg-bottom {
		padding: 0 14px;
	}
	.dsg-top-inner {
		grid-template-columns: 1fr auto;
		gap: 8px;
	}
	.dsg-site-mark { min-width: 0; }
	.dsg-reader-panel {
		position: fixed;
		top: calc(var(--dsg-admin-bar-h) + var(--dsg-top-bar-h) + 8px);
		left: 12px;
		right: 12px;
		width: auto;
	}
	.dsg-reader-btn,
	.dsg-reader-choice { height: 30px; }
	.dsg-type-smaller { font-size: 11px; }
	.dsg-type-larger { font-size: 16px; }
	.dsg-type-status,
	.dsg-reader-choice { font-size: 10px; }
	.dsg-section-nav { display: none; }
	.dsg-pageturn { display: none; }
	.dsg-cover { padding: 56px 24px; }
	.dsg-cover-title { font-size: clamp(48px, calc(var(--dsg-cover-title-size) * 0.75), 64px) !important; }
	.dsg-cover-subtitle { font-size: clamp(19px, calc(var(--dsg-cover-subtitle-size) * 0.88), 26px) !important; }
	.dsg-chapter-title { font-size: clamp(32px, calc(var(--dsg-chapter-title-size) * 0.82), 44px) !important; }
	.dsg-chapter, .dsg-toc, .dsg-essays-block, .dsg-essays-chapter, .dsg-archive {
		padding-left: 24px;
		padding-right: 24px;
	}
	.dsg-toc-list li {
		grid-template-columns: 40px 1fr 50px;
		gap: 12px;
	}
	.dsg-work-item {
		display: block;
		padding: 18px 0 20px;
	}
		.dsg-work-kicker { margin-bottom: 8px; }
		.dsg-essay-row { display: block; }
		.dsg-essay-date {
			display: block;
			margin-top: 6px !important;
		}
		.dsg-essay-nav-grid {
			grid-template-columns: 1fr;
			gap: 16px;
		}
		.dsg-essay-nav-next {
			align-items: flex-start;
			text-align: left;
		}
		.dsg-essay-nav-index {
			justify-self: start;
			order: -1;
		}
	}
