/* Devi Manogaran Novels: category, reading and WordPress-specific styles. Tokens come from dm.css. */

html { scroll-behavior: smooth; }
body { margin: 0; }
.dm-site a { text-decoration: none; }
.dm-site img { max-width: 100%; height: auto; }
#wpadminbar { z-index: 99999; }

/* shared */
.dm-wide { position: relative; max-width: 1080px; margin: 0 auto; padding: 0 24px 96px; }
.dm-btn { align-items: center; gap: 12px; padding: 12px 24px; border-radius: 999px; font-size: 13.5px; font-weight: 500; background: var(--dusty); color: var(--cream-2); }
.dm-btn:hover { color: var(--cream-2); }
.dm-btn__ic { width: 28px; height: 28px; border-radius: 50%; background: rgba(251,246,255,0.22); display: inline-flex; align-items: center; justify-content: center; margin-right: -10px; }
.dm-btn-ghost { display: inline-flex; align-items: center; padding: 12px 22px; border-radius: 999px; color: var(--plum); font-size: 13.5px; font-weight: 500; }
.dm-btn-ghost[hidden] { display: none !important; }
.dm-chip { font-size: 10.5px; color: var(--plum); letter-spacing: 0.2px; padding: 5px 12px; border-radius: 999px; }
.dm-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--dusty); display: inline-block; margin-left: 12px; transform: translateY(-8px); }
.dm-empty { text-align: center; }
.dm-note-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 26px; }
.dm-note-grid .note-card { display: flex; }
.navigation.pagination { margin-top: 40px; text-align: center; }
.navigation.pagination .nav-links { display: inline-flex; gap: 8px; }
.navigation.pagination .page-numbers { padding: 8px 14px; border-radius: 999px; background: var(--cream-2); color: var(--plum); font-size: 13px; }
.navigation.pagination .page-numbers.current { background: var(--plum); color: var(--cream-2); }

/* ===== Category: novel hero ===== */
.dm-novel-hero { position: relative; padding: 72px 24px 56px; overflow: hidden; }
.dm-novel-hero .glow { position: absolute; top: 40%; left: 30%; transform: translate(-50%, -50%); width: 640px; height: 640px; border-radius: 50%; background: radial-gradient(circle, var(--lilac-soft) 0%, transparent 68%); opacity: 0.55; pointer-events: none; }
.dm-novel-hero__inner { position: relative; max-width: 980px; margin: 0 auto; display: grid; grid-template-columns: 260px 1fr; gap: 52px; align-items: center; }
.dm-novel-hero__cover .dm-cover { transition: transform 0.55s var(--ease), box-shadow 0.55s var(--ease); box-shadow: 0 34px 54px -26px rgba(43,14,69,0.45) !important; }
.dm-novel-hero__cover:hover .dm-cover { transform: translateY(-8px) rotate(-1deg); }
.dm-novel-hero__info h1 { margin: 14px 0 0; font-size: clamp(2rem, 4.4vw, 3.2rem); font-weight: 600; line-height: 1.12; letter-spacing: -0.01em; color: var(--plum); }
.dm-chips { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 10px; }
.dm-blurb { margin: 16px 0 0; max-width: 520px; font-size: 15.5px; line-height: 1.75; color: var(--ink-soft); }
.dm-stats { margin: 16px 0 0; font-size: 13px; color: var(--ink-faint); display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.dm-stats strong { color: var(--plum); font-weight: 600; font-size: 15px; }
.dm-stats .dot { width: 3px; height: 3px; border-radius: 50%; background: var(--dusty); }
.dm-actions { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-top: 26px; }

/* ===== Category: chapter list ===== */
.dm-chapters { padding-top: 8px; }
.dm-chapters__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 22px; flex-wrap: wrap; }
.dm-chapters__head .eyebrow-mark { font-size: 26px; font-weight: 600; color: var(--plum); }
.dm-chapters__note { font-size: 13px; color: var(--ink-faint); }
.dm-chapter-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; counter-reset: none; }
.dm-chapter-list li { margin: 0; padding: 0; }
.dm-chapter { display: flex; align-items: center; gap: 22px; background: var(--cream-2); border-radius: 14px; padding: 20px 24px; box-shadow: 0 4px 16px -8px rgba(43,14,69,0.16); color: inherit; }
.dm-chapter:hover { color: inherit; }
.dm-chapter__num { flex: 0 0 52px; font-size: 30px; font-weight: 600; color: var(--dusty); line-height: 1; }
.dm-chapter__body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 5px; }
.dm-chapter__label { font-size: 11px; letter-spacing: 1.6px; text-transform: uppercase; color: var(--dusty); }
.dm-read-flag { display: none; text-transform: none; letter-spacing: 0.2px; color: var(--ink-faint); }
.dm-chapter.is-read .dm-read-flag { display: inline; }
.dm-chapter.is-read .dm-chapter__num { color: var(--lilac); }
.dm-chapter__title { font-size: 19px; font-weight: 600; color: var(--plum); line-height: 1.35; }
.dm-chapter__title.ta-head { font-weight: 700; }
.dm-chapter__ex { font-size: 13px; color: var(--ink-soft); line-height: 1.6; }
.dm-chapter__meta { font-size: 11.5px; color: var(--ink-faint); }
.dm-chapter__go { flex: 0 0 38px; width: 38px; height: 38px; border-radius: 50%; border: 1px solid rgba(139,70,214,0.3); display: flex; align-items: center; justify-content: center; color: var(--dusty); transition: background 0.35s var(--ease), color 0.35s var(--ease), transform 0.35s var(--ease); }
.dm-chapter:hover .dm-chapter__go { background: var(--plum); color: var(--cream-2); transform: translateX(4px); }
.dm-chapter.note-card:hover { transform: translateY(-4px); }

/* ===== Reading page ===== */
#dm-progress { position: fixed; top: 0; left: 0; right: 0; height: 3px; z-index: 99998; background: transparent; pointer-events: none; }
#dm-progress span { display: block; height: 100%; width: 0; background: linear-gradient(90deg, var(--lilac), var(--dusty), var(--plum)); transition: width 0.1s linear; }
.admin-bar #dm-progress { top: 32px; }
.dm-reader { position: relative; max-width: 740px; margin: 0 auto; padding: 56px 24px 96px; }
.dm-reader__head { text-align: center; display: flex; flex-direction: column; align-items: center; gap: 14px; margin-bottom: 40px; }
.dm-reader__head h1 { margin: 0; font-size: clamp(1.9rem, 4vw, 2.7rem); font-weight: 600; line-height: 1.2; color: var(--plum); }
.dm-reader__head h1.ta-head { font-weight: 800; }
.dm-reader__meta { margin: 0; font-size: 13px; color: var(--ink-faint); }
.dm-reader__tools { display: flex; gap: 8px; }
.dm-reader__tools button { width: 40px; height: 34px; border-radius: 999px; font-family: 'Outfit', sans-serif; font-size: 13px; color: var(--plum); cursor: pointer; border: none; }
.dm-reader__tools button:hover { background: var(--dusty); color: var(--cream-2); }
.dm-reader__img { margin: 0 0 36px; border-radius: 14px; overflow: hidden; }
.dm-reader__img img { display: block; width: 100%; }

.dm-prose { --dm-fs: 18px; font-family: 'Outfit', 'Noto Sans Tamil', sans-serif; font-size: var(--dm-fs); line-height: 2; color: var(--ink); letter-spacing: 0.01em; word-wrap: break-word; }
.dm-prose.ta-body { font-family: 'Noto Sans Tamil', 'Outfit', sans-serif; line-height: 2.1; }
.dm-prose p { margin: 0 0 1.4em; font-size: inherit; line-height: inherit; color: inherit; }
.dm-prose h2, .dm-prose h3 { font-family: 'Playfair Display', serif; color: var(--plum); line-height: 1.3; margin: 2em 0 0.6em; }
.dm-prose blockquote { margin: 1.6em 0; padding: 4px 0 4px 22px; border-left: 2px solid var(--dusty); font-style: italic; color: var(--ink-soft); }
.dm-prose hr { border: none; text-align: center; margin: 2.4em 0; height: 1em; }
.dm-prose hr::after { content: "\2022  \2022  \2022"; color: var(--dusty); letter-spacing: 0.6em; }
.dm-prose img { border-radius: 10px; }
.dm-prose a { color: var(--dusty); text-decoration: underline; text-underline-offset: 3px; }
.dm-prose > p:first-child::first-letter { font-family: 'Playfair Display', serif; font-size: 3.1em; float: left; line-height: 0.9; padding: 6px 10px 0 0; color: var(--plum); }
.dm-prose.ta-body > p:first-child::first-letter { font-size: inherit; float: none; padding: 0; font-family: inherit; color: inherit; }

.dm-chapter-nav { margin-top: 64px; display: grid; grid-template-columns: 1fr auto 1fr; gap: 14px; align-items: stretch; }
.dm-chapter-nav--solo { display: flex; justify-content: center; }
.dm-chapter-nav__a { display: flex; flex-direction: column; gap: 4px; padding: 16px 20px; border-radius: 16px; color: var(--plum); transition: transform 0.35s var(--ease), box-shadow 0.35s var(--ease); min-width: 0; }
a.dm-chapter-nav__a:hover { transform: translateY(-3px); color: var(--plum); }
.dm-chapter-nav__next { text-align: right; align-items: flex-end; }
.dm-chapter-nav__a .k { font-size: 11px; letter-spacing: 1.6px; text-transform: uppercase; color: var(--dusty); }
.dm-chapter-nav__a .t { font-size: 15px; font-weight: 600; line-height: 1.35; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.dm-chapter-nav__all { align-self: center; font-size: 12.5px; color: var(--dusty); padding: 10px 14px; border-radius: 999px; border: 1px solid rgba(139,70,214,0.3); white-space: nowrap; }
.dm-chapter-nav__all:hover { background: var(--dusty); color: var(--cream-2); }
.dm-end { opacity: 0.8; }

/* ===== Comments ===== */
.dm-comments { margin-top: 72px; padding-top: 36px; border-top: 1px solid rgba(139,70,214,0.2); }
.dm-comments h2 { font-size: 22px; color: var(--plum); margin: 0 0 20px; }
.dm-comment-list, .dm-comment-list ol { list-style: none; padding: 0; margin: 0; }
.dm-comment-list .comment-body { background: var(--cream-2); border-radius: 14px; padding: 16px 20px; margin-bottom: 14px; box-shadow: 0 4px 16px -10px rgba(43,14,69,0.18); font-size: 14px; line-height: 1.7; color: var(--ink-soft); }
.dm-comment-list .children { margin-left: 24px; }
.dm-comment-list .comment-author { display: flex; align-items: center; gap: 10px; color: var(--plum); font-weight: 500; }
.dm-comment-list .comment-author img { border-radius: 50%; }
.dm-comment-list .comment-metadata { font-size: 11.5px; margin: 2px 0 8px; }
.dm-comment-list .comment-metadata a, .dm-comment-list .reply a { color: var(--dusty); }
.dm-comments .comment-form p { display: flex; flex-direction: column; gap: 6px; margin: 0 0 16px; }
.dm-comments label { font-size: 12.5px; font-weight: 500; color: var(--ink-soft); }
.dm-comments input[type=text], .dm-comments input[type=email], .dm-comments input[type=url], .dm-comments textarea { font-family: 'Outfit', 'Noto Sans Tamil', sans-serif; font-size: 14px; padding: 12px 14px; border-radius: 10px; border: 1px solid rgba(139,70,214,0.28); background: #fff; color: var(--ink); resize: vertical; width: 100%; box-sizing: border-box; }
.dm-comments input:focus, .dm-comments textarea:focus { outline: none; border-color: var(--dusty); box-shadow: 0 0 0 3px rgba(139,70,214,0.15); }
.dm-comments .comment-form-cookies-consent { flex-direction: row !important; align-items: center; gap: 8px !important; }
.dm-submit { background: var(--plum); color: var(--cream-2); border: none; cursor: pointer; font-family: 'Outfit', sans-serif; }

/* WordPress pages */
.content-wrap .wp-block-image img, .content-wrap img { max-width: 100%; height: auto; }
.legal-card a, .info-card a { color: var(--dusty); text-decoration: underline; text-underline-offset: 2px; }
.screen-reader-text { position: absolute; clip: rect(1px,1px,1px,1px); width: 1px; height: 1px; overflow: hidden; }

@media (max-width: 860px) {
	.dm-novel-hero { padding-top: 48px; }
	.dm-novel-hero__inner { grid-template-columns: 1fr; gap: 32px; justify-items: center; text-align: center; }
	.dm-novel-hero__info .crumb, .dm-chips, .dm-actions, .dm-stats { justify-content: center; }
	.dm-blurb { margin-left: auto; margin-right: auto; }
	.dm-wide { padding-left: 20px; padding-right: 20px; }
}
@media (max-width: 600px) {
	.dm-chapter { padding: 16px; gap: 14px; }
	.dm-chapter__num { flex-basis: 38px; font-size: 24px; }
	.dm-chapter__go { display: none; }
	.dm-prose { font-size: calc(var(--dm-fs) - 1px); line-height: 1.95; }
	.dm-chapter-nav { grid-template-columns: 1fr 1fr; }
	.dm-chapter-nav__all { grid-column: 1 / -1; grid-row: 1; justify-self: center; }
	.admin-bar #dm-progress { top: 46px; }
}
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.dm-chapter, .dm-novel-hero__cover .dm-cover, .dm-chapter__go, a.dm-chapter-nav__a { transition: none !important; }
}

@media (max-width: 520px) {
	.dm-site .glass > a.dm-auth-btn { display: none; }
}

.dm-search { display: flex; gap: 10px; max-width: 520px; margin: 0 auto 36px; }
.dm-search input { flex: 1; min-width: 0; font-family: 'Outfit', 'Noto Sans Tamil', sans-serif; font-size: 14px; padding: 12px 18px; border-radius: 999px; border: 1px solid rgba(139,70,214,0.28); background: #fff; color: var(--ink); }
.dm-search input:focus { outline: none; border-color: var(--dusty); box-shadow: 0 0 0 3px rgba(139,70,214,0.15); }
.dm-search button { padding: 12px 24px; border-radius: 999px; background: var(--plum); color: var(--cream-2); font-family: 'Outfit', sans-serif; font-size: 13.5px; border: none; cursor: pointer; }

.dm-search { display: flex; gap: 10px; max-width: 520px; margin: 0 auto 36px; }
.dm-search input { flex: 1; min-width: 0; font-family: 'Outfit', 'Noto Sans Tamil', sans-serif; font-size: 14px; padding: 12px 18px; border-radius: 999px; border: 1px solid rgba(139,70,214,0.28); background: #fff; color: var(--ink); }
.dm-search input:focus { outline: none; border-color: var(--dusty); box-shadow: 0 0 0 3px rgba(139,70,214,0.15); }
.dm-search button { padding: 12px 24px; border-radius: 999px; background: var(--plum); color: var(--cream-2); font-family: 'Outfit', sans-serif; font-size: 13.5px; }

/* ===== Vibrance (violet palette) ===== */
:root { --gold: #f2b544; --pink: #ffe0f2; }
html { text-rendering: optimizeLegibility; -webkit-text-size-adjust: 100%; }
.dm-site {
	background:
		radial-gradient(1100px 620px at 6% -6%, #efdcff 0%, transparent 62%),
		radial-gradient(900px 540px at 100% 0%, var(--pink) 0%, transparent 58%),
		radial-gradient(1000px 760px at 50% 55%, rgba(201,163,245,0.14), transparent 70%),
		var(--cream) !important;
}
.btn-fill { background-image: linear-gradient(135deg, rgba(255,255,255,0.26) 0%, rgba(255,255,255,0) 58%) !important; }
.btn-fill:hover { box-shadow: inset 0 1px 0 rgba(255,255,255,0.5), inset 0 -10px 14px -11px rgba(0,0,0,0.22), 0 16px 32px -12px rgba(139,70,214,0.55); }
.glass { border-color: rgba(255,255,255,0.75); }
.jacket:hover { box-shadow: 0 34px 54px -20px rgba(139,70,214,0.42); }
.note-card:hover { box-shadow: 0 26px 46px -22px rgba(139,70,214,0.34); }
.dm-dot { background: var(--gold) !important; }
.eyebrow-pill { background: #fff; border-color: rgba(139,70,214,0.32); color: var(--dusty); font-weight: 600; }
.ticker-wrap { background: linear-gradient(90deg, #2b0e45, #4a1a6b 50%, #2b0e45) !important; }
.dm-site .page-hero .glow, .dm-novel-hero .glow { opacity: 0.8; }
@media (min-resolution: 2dppx), (-webkit-min-device-pixel-ratio: 2) {
	.glass { border-width: 0.5px; }
}

/* leftover Soledad slide menu must never show */
#sidebar-nav, #close-sidebar-nav { display: none !important; }

/* ===== Hero typing: the last line types on a loop ===== */
.dm-rot { display: inline-block; text-align: left; vertical-align: top; }
.js .dm-rot:not(.is-ready) { visibility: hidden; animation: dmShow 0s 3s forwards; }
@keyframes dmShow { to { visibility: visible; } }

.dm-caret { display: inline-block; width: 0; height: 1em; position: relative; vertical-align: baseline; }
.dm-caret::after {
	content: ""; position: absolute; left: 3px; bottom: -0.1em; width: 2.5px; height: 0.95em; border-radius: 2px;
	background: var(--gold); box-shadow: 0 0 10px rgba(242, 181, 68, 0.75); animation: dmBlink 1s steps(1) infinite;
}
@keyframes dmBlink { 50% { opacity: 0; } }

@media (prefers-reduced-motion: reduce) {
	.dm-caret::after { animation: none; }
}

/* phones: each heading line stays on one line; size follows the screen width (desktop unchanged) */
@media (max-width: 600px) {
	.dm-site h1.dm-typing { font-size: min(2.3rem, 8.4vw) !important; white-space: nowrap; }
	.dm-rot { white-space: nowrap; }
	.dm-site span.script[style*="font-size: 46px"] { font-size: min(46px, 13vw) !important; white-space: nowrap; }
}

/* ===== Account page (Register / Login) ===== */
.content-wrap.dm-account { max-width: 920px; }
.dm-account-card { padding-top: 30px; }
.dm-account-me { max-width: 560px; margin: 0 auto; text-align: center; }
.dm-account-me .dm-account-actions { justify-content: center; }
.dm-account-meta { font-size: 12.5px !important; color: var(--ink-faint) !important; margin-top: -6px; }
.dm-account-actions { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 10px; }
.dm-forgot { font-size: 13px; color: var(--dusty); text-decoration: underline; text-underline-offset: 3px; }
.dm-check { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--ink-soft); margin: 0 0 18px; cursor: pointer; }
.dm-check input { width: 16px; height: 16px; accent-color: var(--dusty); }
.dm-hint { font-size: 12px; color: var(--ink-faint); }
.dm-notice { border-radius: 12px; padding: 12px 14px; font-size: 13.5px; line-height: 1.55; margin: 0 0 18px; }
.dm-notice--error { background: #fdecef; color: #8c1d3a; border: 1px solid #f3b8c6; }
.dm-notice--ok { background: #eaf6ec; color: #1f5a31; border: 1px solid #b9dfc3; }
.dm-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.dm-site .dm-account .form-field input { width: 100%; box-sizing: border-box; }

/* ===== Home sections: stats, live badges, previews, band, timeline, particles ===== */

/* particles canvas sits behind a section's content */
.dm-particles { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 0; }

/* cards rise in one after another (JS adds .in; CSS failsafe reveals after 6s) */
.js .dm-rise { opacity: 0; transform: translateY(26px); animation: dmRiseFail 0s 6s forwards; }
.js .dm-rise.in { opacity: 1; transform: none; animation: none; transition: opacity 0.8s ease calc(var(--i, 0) * 90ms), transform 0.9s cubic-bezier(0.16, 1, 0.3, 1) calc(var(--i, 0) * 90ms); }
@keyframes dmRiseFail { to { opacity: 1; transform: none; } }


/* ---- live badge on a cover ---- */
.dm-live { position: absolute; top: 12px; right: 12px; z-index: 3; display: inline-flex; align-items: center; gap: 7px; padding: 5px 11px 5px 9px; border-radius: 999px; font-size: 11px; font-weight: 500; letter-spacing: 0.1px; color: #fbf6ff; background: rgba(43,14,69,0.62); border: 1px solid rgba(255,255,255,0.22); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.dm-live i { width: 7px; height: 7px; border-radius: 50%; background: #b9a3da; flex: 0 0 auto; }
.dm-live.is-new { background: rgba(43,14,69,0.72); }
.dm-live.is-new i { background: #5eea9c; box-shadow: 0 0 0 0 rgba(94,234,156,0.7); animation: dmPulse 1.8s ease-out infinite; }
@keyframes dmPulse { 0% { box-shadow: 0 0 0 0 rgba(94,234,156,0.65); } 70% { box-shadow: 0 0 0 9px rgba(94,234,156,0); } 100% { box-shadow: 0 0 0 0 rgba(94,234,156,0); } }

/* ---- hover preview + 3D tilt ---- */
.dm-cover { transform: perspective(800px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); transition: transform 0.25s ease-out, box-shadow 0.4s ease; will-change: transform; }
.dm-peek { position: absolute; left: 0; right: 0; bottom: 0; z-index: 4; display: flex; flex-direction: column; gap: 4px; padding: 44px 16px 16px; background: linear-gradient(180deg, rgba(43,14,69,0), rgba(43,14,69,0.88) 42%, rgba(43,14,69,0.96)); color: #fbf6ff; opacity: 0; transform: translateY(14px); transition: opacity 0.35s ease, transform 0.45s cubic-bezier(0.16, 1, 0.3, 1); pointer-events: none; }
.dm-peek__k { font-size: 10.5px; letter-spacing: 0.4px; color: #f6c660; }
.dm-peek__t { font-size: 15px; font-weight: 600; line-height: 1.35; }
.dm-peek__x { font-size: 12px; line-height: 1.5; color: #e7d3fc; }
@media (hover: hover) {
	.jacket:hover .dm-peek, .jacket:focus-visible .dm-peek { opacity: 1; transform: none; }
}

/* ---- most read this week ---- */
.dm-crown { position: absolute; top: -17px; left: 50%; transform: translateX(-50%); z-index: 6; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: #fffdff; border: 1.5px solid #f2b544; box-shadow: 0 6px 16px -6px rgba(242,181,68,0.9); }
.dm-cover.is-hot { box-shadow: 0 0 0 1.5px rgba(242,181,68,0.9), 0 14px 44px -10px rgba(242,181,68,0.6) !important; animation: dmGlow 3.2s ease-in-out infinite; }
@keyframes dmGlow { 0%, 100% { box-shadow: 0 0 0 1.5px rgba(242,181,68,0.85), 0 12px 36px -12px rgba(242,181,68,0.45); } 50% { box-shadow: 0 0 0 1.5px rgba(242,181,68,1), 0 16px 52px -8px rgba(242,181,68,0.75); } }

/* ---- lotus divider between sections ---- */
.dm-lotus { display: flex; justify-content: center; padding: 0 24px; margin: 4px 0 0; }
.dm-lotus svg { width: min(460px, 82vw); height: auto; }

/* ---- Completed: frosted-glass band with a soft coloured glow behind ---- */
.dm-band-wrap { position: relative; margin: 20px 16px 36px; }
.dm-band-wrap::before, .dm-band-wrap::after { content: ""; position: absolute; border-radius: 50%; filter: blur(44px); pointer-events: none; z-index: 0; }
.dm-band-wrap::before { width: 380px; height: 380px; left: -70px; top: -40px; background: radial-gradient(circle, #ff9fd2 0%, transparent 70%); opacity: 0.8; }
.dm-band-wrap::after { width: 460px; height: 460px; right: -90px; bottom: -80px; background: radial-gradient(circle, #8b46d6 0%, transparent 70%); opacity: 0.6; }
.dm-band {
	position: relative; z-index: 1; margin: 0; padding: 44px 0 14px; border-radius: 40px; overflow: hidden;
	background:
		linear-gradient(180deg, rgba(255,255,255,0.26) 0%, rgba(255,255,255,0) 34%),
		linear-gradient(160deg, rgba(96,46,160,0.90) 0%, rgba(120,62,186,0.86) 52%, rgba(140,58,172,0.84) 100%);
	backdrop-filter: blur(24px) saturate(170%); -webkit-backdrop-filter: blur(24px) saturate(170%);
	border: 1px solid rgba(255,255,255,0.38);
	box-shadow: inset 0 1.5px 0 rgba(255,255,255,0.55), inset 0 -1px 0 rgba(43,14,69,0.25), 0 36px 70px -34px rgba(90,43,148,0.7);
}
.dm-band__glow { position: absolute; inset: auto 0 -45% 0; height: 70%; background: radial-gradient(60% 60% at 50% 100%, rgba(231,211,252,0.34), transparent 70%); pointer-events: none; }
.dm-band .dm-cover { box-shadow: 0 18px 40px -16px rgba(43,14,69,0.6) !important; }
/* light text on the violet glass */
.dm-band .eyebrow-mark, .dm-band [style*="color: var(--plum)"] { color: #fffdff !important; }
.dm-band [style*="color: var(--ink-soft)"] { color: #f0e4ff !important; }
.dm-band [style*="color: var(--ink-faint)"] { color: #e2d2fa !important; }
.dm-band .glass { background: rgba(255,255,255,0.16); border-color: rgba(255,255,255,0.3); box-shadow: none; }
.dm-band .glass[style*="font-size: 10.5px"] { color: #fbf6ff !important; }
.dm-band .arrow-btn svg { stroke: #fbf6ff !important; }
.dm-band .arrow-btn:hover { background: rgba(255,255,255,0.22); }
.dm-band .btn-fill { background-color: #e7d3fc !important; background-image: linear-gradient(135deg, rgba(255,255,255,0.35), rgba(255,255,255,0) 60%) !important; color: #3a1459 !important; }
.dm-band .btn-fill:hover { background-color: #fffdff !important; }

/* ---- Latest: timeline ---- */
.dm-timeline { position: relative; list-style: none; margin: 0; padding: 0; }
.dm-tl { position: relative; display: grid; grid-template-columns: 74px 22px 1fr; column-gap: 14px; margin: 0 0 18px; }
.dm-tl::before { content: ""; position: absolute; left: 95px; top: 20px; bottom: -22px; width: 1px; background: linear-gradient(180deg, rgba(139,70,214,0.45), rgba(139,70,214,0.12)); }
.dm-tl:last-child::before, .dm-tl.is-last::before { display: none; }
.dm-tl__date { padding-top: 12px; text-align: right; font-family: 'Playfair Display', serif; font-size: 16px; font-weight: 600; color: var(--plum); line-height: 1.15; }
.dm-tl__date small { display: block; font-family: 'Outfit', sans-serif; font-size: 11px; font-weight: 400; color: var(--ink-faint); }
.dm-tl__dot { position: relative; z-index: 1; width: 13px; height: 13px; margin: 17px auto 0; border-radius: 50%; background: var(--cream-2); border: 2.5px solid var(--dusty); box-shadow: 0 0 0 4px rgba(139,70,214,0.12); }
.dm-tl:first-child .dm-tl__dot { background: var(--dusty); }
.dm-tl__card { display: flex; align-items: center; gap: 16px; justify-content: space-between; padding: 14px 16px 14px 20px; border-radius: 16px; background: var(--cream-2); color: inherit; box-shadow: 0 4px 16px -8px rgba(43,14,69,0.16); transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.45s ease; }
.dm-tl__card:hover { transform: translateX(6px); box-shadow: 0 18px 36px -18px rgba(139,70,214,0.4); }
.dm-tl__body { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.dm-tl__row { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.dm-tl__title { font-size: 17px; font-weight: 700; color: var(--plum); line-height: 1.4; }
.dm-tl__ex { font-size: 13px; color: var(--ink-soft); line-height: 1.6; }
.dm-tl__more { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--dusty); font-weight: 500; transition: gap 0.35s ease; }
.dm-tl__card:hover .dm-tl__more { gap: 10px; }
.dm-tl__img { flex: 0 0 76px; width: 76px; height: 76px; border-radius: 12px; overflow: hidden; }
.dm-tl__img img { width: 100%; height: 100%; object-fit: cover; display: block; filter: saturate(118%); }
.dm-new { font-size: 10px; font-weight: 600; letter-spacing: 0.6px; text-transform: uppercase; color: #3b2400; background: linear-gradient(135deg, #f6c660, #f2b544); padding: 3px 9px; border-radius: 999px; }
.dm-timeline-foot { display: flex; align-items: center; justify-content: center; gap: 22px; flex-wrap: wrap; margin-top: 10px; position: relative; }
.dm-more { display: none; padding: 12px 28px; border-radius: 999px; font-family: inherit; font-size: 13.5px; font-weight: 500; color: var(--plum); border: none; cursor: pointer; }
.js .dm-more { display: inline-flex; }
.dm-more[hidden] { display: none !important; }
.dm-seeall { font-size: 13.5px; font-weight: 500; color: var(--dusty); display: inline-flex; align-items: center; gap: 8px; }
.js .dm-tl.is-extra:not(.is-shown) { display: none; }

@media (max-width: 600px) {
	.dm-band-wrap { margin: 12px 8px 28px; }
	.dm-band { border-radius: 28px; }
	.dm-band-wrap::before { width: 240px; height: 240px; }
	.dm-band-wrap::after { width: 280px; height: 280px; }
	.dm-tl { grid-template-columns: 50px 18px 1fr; column-gap: 10px; }
	.dm-tl::before { left: 66px; }
	.dm-tl__date { font-size: 14px; }
	.dm-tl__date small { font-size: 10px; }
	.dm-tl__img { display: none; }
	.dm-tl__card { padding: 12px 14px; }
}

@media (prefers-reduced-motion: reduce) {
	.js .dm-rise { opacity: 1; transform: none; animation: none; }
	.dm-live.is-new i, .dm-cover.is-hot { animation: none; }
	.dm-cover { transform: none !important; }
	.dm-tl__card:hover { transform: none; }
}

/* ===== polish: top bar with the longer button, equal-height cards ===== */
.nav-links a { white-space: nowrap; }
.dm-site .glass[style*="max-width: 800px"] { max-width: 960px !important; }
@media (max-width: 1000px) {
	.nav-links { display: none !important; }
	.menu-btn { display: flex !important; }
}
.jacket > .btn-fill { margin-top: auto; }


/* ===== 3D books (home: Ongoing + Completed) ===== */
.dm-book { position: relative; width: var(--w); height: var(--h); margin: 0 0 6px 0; perspective: 1300px; }
.dm-book__inner {
	position: relative; width: 100%; height: 100%; transform-style: preserve-3d;
	transform: rotateX(calc(var(--bx, 4deg) + var(--rx, 0deg))) rotateY(calc(var(--by, 26deg) + var(--ry, 0deg)));
	transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.jacket:hover .dm-book__inner, .jacket:focus-visible .dm-book__inner { --bx: 2deg; --by: 9deg; }
.dm-book__face { position: absolute; backface-visibility: hidden; -webkit-backface-visibility: hidden; }
.dm-book__front { inset: 0; transform: translateZ(calc(var(--d) / 2)); border-radius: 3px 8px 8px 3px; }
.dm-book__back { inset: 0; transform: rotateY(180deg) translateZ(calc(var(--d) / 2)); border-radius: 8px 3px 3px 8px; background: linear-gradient(135deg, #3a1459, #4a1a6b); }
.dm-book__spine {
	left: calc((var(--w) - var(--d)) / 2); top: 0; width: var(--d); height: 100%;
	transform: rotateY(-90deg) translateZ(calc(var(--w) / 2)); border-radius: 3px 0 0 3px;
	background: linear-gradient(90deg, #2b0e45 0%, #5a2b94 18%, #4a1a6b 55%, #2b0e45 100%);
	display: flex; align-items: center; justify-content: center; overflow: hidden;
}
.dm-book__spine::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(255,255,255,0.28), rgba(255,255,255,0) 22%, rgba(0,0,0,0.28)); }
.dm-book__spine span { position: relative; z-index: 1; writing-mode: vertical-rl; transform: rotate(180deg); font-size: 12.5px; font-weight: 600; color: #fbf6ff; max-height: 88%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; letter-spacing: 0.3px; }
.dm-book__pages { background: #f7f1e6; background-image: repeating-linear-gradient(90deg, rgba(120,95,60,0.0) 0 2px, rgba(120,95,60,0.16) 2px 3px); }
.dm-book__right { left: calc((var(--w) - var(--d)) / 2); top: 3px; width: var(--d); height: calc(100% - 6px); transform: rotateY(90deg) translateZ(calc(var(--w) / 2 - 3px)); background-image: repeating-linear-gradient(180deg, rgba(120,95,60,0) 0 2px, rgba(120,95,60,0.18) 2px 3px); box-shadow: inset 8px 0 14px -8px rgba(0,0,0,0.25); }
.dm-book__top { left: 3px; top: calc((var(--h) - var(--d)) / 2); width: calc(100% - 6px); height: var(--d); transform: rotateX(90deg) translateZ(calc(var(--h) / 2 - 3px)); background-image: repeating-linear-gradient(180deg, rgba(120,95,60,0) 0 2px, rgba(120,95,60,0.18) 2px 3px); }
.dm-book__bottom { left: 3px; top: calc((var(--h) - var(--d)) / 2); width: calc(100% - 6px); height: var(--d); transform: rotateX(-90deg) translateZ(calc(var(--h) / 2 - 3px)); background-color: #e8dfce; }
.dm-book__shadow { position: absolute; left: 6%; right: -4%; bottom: -16px; height: 20px; border-radius: 50%; background: radial-gradient(ellipse at center, rgba(43,14,69,0.5), rgba(43,14,69,0) 70%); filter: blur(6px); pointer-events: none; transition: opacity 0.4s ease, transform 0.6s cubic-bezier(0.16, 1, 0.3, 1); }
.jacket:hover .dm-book__shadow { opacity: 0.8; transform: scaleX(1.06); }

/* the cover itself: full-bleed board with a hinge groove and gloss (no white frame) */
.dm-book .dm-cover { width: 100% !important; height: 100% !important; padding: 0 !important; background: none !important; box-shadow: none !important; border-radius: 3px 8px 8px 3px !important; transform: none !important; will-change: auto; animation: none !important; }
.dm-book .dm-cover .sheen { border-radius: 3px 8px 8px 3px !important; padding: 22px 20px 20px 30px !important; }
.dm-book .dm-cover .sheen::before { content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none; background:
	linear-gradient(90deg, rgba(0,0,0,0.34) 0, rgba(255,255,255,0.22) 2.2%, rgba(0,0,0,0.22) 4.6%, rgba(0,0,0,0) 8.5%),
	linear-gradient(118deg, rgba(255,255,255,0.30) 0%, rgba(255,255,255,0) 38%, rgba(0,0,0,0.14) 100%); }
.dm-book .dm-cover .sheen::after { z-index: 5; }
.dm-book .dm-crown { top: -16px; left: 56%; }
.dm-book.is-hot .dm-book__front { box-shadow: 0 0 34px rgba(242,181,68,0.55); }
.dm-book.is-hot .dm-book__shadow { background: radial-gradient(ellipse at center, rgba(242,181,68,0.7), rgba(242,181,68,0) 70%); animation: dmGlow3d 3.2s ease-in-out infinite; }
@keyframes dmGlow3d { 0%, 100% { opacity: 0.65; } 50% { opacity: 1; } }
.dm-band .dm-book .dm-cover { box-shadow: none !important; }

@media (prefers-reduced-motion: reduce) {
	.dm-book__inner, .dm-book__shadow { transition: none; }
	.dm-book.is-hot .dm-book__shadow { animation: none; }
}

/* 3D books: straight-on, no tilt */
.dm-book__inner{transform:translateY(var(--lift,0))!important;transition:transform .35s ease}
.jacket:hover .dm-book__inner,.jacket:focus-visible .dm-book__inner{--lift:-6px}
.dm-book__spine,.dm-book__right,.dm-book__top,.dm-book__bottom,.dm-book__back{display:none}
.dm-book__front{transform:none;border-radius:4px 8px 8px 4px;box-shadow:3px 0 0 #f4ecdc,5px 1px 0 #dccfb6,7px 3px 0 #efe6d3,0 22px 30px -16px rgba(43,14,69,.55)}
.dm-book.is-hot .dm-book__front{box-shadow:3px 0 0 #f4ecdc,5px 1px 0 #dccfb6,7px 3px 0 #efe6d3,0 0 34px rgba(242,181,68,.55)}
.dm-book{perspective:none}

/* book look v2 (reference): hinge groove, bottom page edge, soft shadow */
.dm-book .dm-book__front,.dm-book .dm-cover,.dm-book .dm-cover .sheen{border-radius:5px 8px 8px 5px!important}
.dm-book__front{box-shadow:0 3px 0 #e6e3de,0 5px 0 #b9b5ae,0 34px 38px -20px rgba(30,15,45,.45)!important}
.dm-book.is-hot .dm-book__front{box-shadow:0 3px 0 #e6e3de,0 5px 0 #b9b5ae,0 0 34px rgba(242,181,68,.55)!important}
.dm-book .dm-cover .sheen::before{background:linear-gradient(90deg,rgba(255,255,255,.22) 0,rgba(255,255,255,.12) 7.2%,rgba(0,0,0,.30) 7.8%,rgba(255,255,255,.16) 9.2%,rgba(255,255,255,0) 14%),linear-gradient(115deg,rgba(255,255,255,.14) 0%,rgba(255,255,255,0) 40%,rgba(0,0,0,.10) 100%)!important}
.dm-book .dm-cover .sheen{padding-left:34px!important}
.dm-book__shadow{display:none}

/* author line on book covers */
.dm-book .dm-cover .sheen{padding-bottom:44px!important}
.dm-cover__author{position:absolute;left:34px;right:16px;bottom:15px;z-index:3;color:rgba(251,246,255,.92);font:500 11.5px/1 'Outfit',sans-serif;letter-spacing:1.6px;text-transform:uppercase;text-shadow:0 1px 6px rgba(0,0,0,.45)}
.dm-cover__author::before{content:'';display:block;width:34px;height:1px;background:rgba(255,255,255,.55);margin-bottom:8px}

/* phones: two books + a peek of the third */
@media (max-width:600px){
.jacket.dm-rise{flex:0 0 calc((100vw - 64px)/2.3)!important;gap:10px!important}
.dm-book{width:100%!important;height:auto!important;aspect-ratio:232/312}
.dm-book .dm-cover .sheen{padding:12px 10px 38px 20px!important}
.dm-book .dm-cover .sheen>svg{width:13px;height:13px}
.dm-book .dm-cover .sheen>span:not(.dm-cover__author){font-size:13.5px!important;line-height:1.3!important}
.dm-cover__author{left:20px!important;bottom:11px!important;font-size:8.5px!important;letter-spacing:1.1px!important}
.dm-cover__author::before{width:22px!important;margin-bottom:5px!important}
.dm-book .dm-peek{display:none!important}
.dm-book .dm-live{font-size:9.5px!important;padding:3px 7px!important}
.dm-book .dm-crown{width:30px!important;height:30px!important;top:-12px!important}
.jacket.dm-rise h3{font-size:15px!important}
.jacket.dm-rise p{font-size:12.5px!important;line-height:1.5!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.jacket.dm-rise .btn-fill{padding:10px 12px!important;font-size:13px!important}
}

@media (max-width:600px){
.jacket.dm-rise>div:not(.dm-book){font-size:12px!important}
.jacket.dm-rise>div:not(.dm-book) *{font-size:inherit}
.jacket.dm-rise>div:not(.dm-book)>div:first-child,.jacket.dm-rise>div:not(.dm-book)>*:first-child{font-size:14.5px!important;line-height:1.25!important}
.jacket.dm-rise>div:not(.dm-book)>p,.jacket.dm-rise>div:not(.dm-book)>*:nth-child(2){font-size:12px!important;line-height:1.5!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.dm-live{font-size:9px!important;padding:3px 7px!important;gap:5px!important;white-space:nowrap!important;max-width:calc(100% - 20px)}
.dm-live i{width:6px!important;height:6px!important}
.jacket.dm-rise>.dm-book+div *{white-space:normal}
.jacket.dm-rise .glass{font-size:10px!important}
}

@media (max-width:600px){.dm-live{overflow:hidden;text-overflow:ellipsis;max-width:calc(100% - 28px)!important;right:auto}}

@media (max-width:600px){.jacket.dm-rise>div:not(.dm-book)>p,.jacket.dm-rise>div:not(.dm-book)>*:nth-child(2){display:none!important}}

/* v3: no badges/crown on books, bigger phone books, load-more */
.dm-book .dm-live,.dm-book .dm-crown,.dm-book .dm-peek{display:none!important}
.dm-book.is-hot .dm-book__front{box-shadow:0 3px 0 #e6e3de,0 5px 0 #b9b5ae,0 34px 38px -20px rgba(30,15,45,.45)!important}
.dm-book.is-hot .dm-book__shadow{display:none}
.dm-trackmore{display:none}
@media (max-width:600px){
.track{gap:14px!important}
.jacket.dm-rise{flex:0 0 calc((100vw - 84px)/2)!important}
.track.is-grid{flex-wrap:wrap!important;overflow-x:visible!important}
.track.is-grid .jacket.dm-rise{flex:0 0 calc(50% - 7px)!important}
.dm-trackmore{display:block;margin:4px auto 0;padding:11px 26px;border-radius:999px;border:1px solid rgba(139,70,214,.4);background:rgba(255,255,255,.7);color:var(--plum);font:600 13.5px 'Outfit',sans-serif;cursor:pointer}
.dm-trackmore::after{content:' \2193';}
.dm-trackmore[aria-expanded=true]::after{content:' \2191'}
.dm-band .dm-trackmore{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.55);color:#fff}
}

/* v4: stats chips, rating widget, phone fixes */
.dm-nstats{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.dm-nstats span{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:600;color:var(--plum);background:rgba(255,255,255,.65);border:1px solid rgba(139,70,214,.18);padding:3px 9px;border-radius:999px;white-space:nowrap}
.dm-band .dm-nstats span{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.4);color:#fff!important}
.dm-rate{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:14px 0 4px}
.dm-rate__label{font-size:13px;font-weight:600;color:var(--plum)}
.dm-rate__stars{display:inline-flex;flex-direction:row-reverse}
.dm-rate__stars button{background:none;border:0;padding:0 2px;font-size:26px;line-height:1;color:#d9cde9;cursor:pointer;transition:color .15s,transform .15s}
.dm-rate__stars button:hover,.dm-rate__stars button:hover~button{color:var(--gold);transform:scale(1.12)}
.dm-rate.is-done .dm-rate__stars button{cursor:default;pointer-events:none}
.dm-rate.is-done .dm-rate__stars button.on,.dm-rate.is-done .dm-rate__stars button.on~button{color:var(--gold)}
.dm-rate__out{font-size:13px;color:var(--ink-soft)}
@media (max-width:600px){
.track .jacket.dm-rise{opacity:1!important;transform:none!important}
.dm-nstats span{font-size:10.5px;padding:3px 7px}
.dm-nstats{gap:4px}
}
img.emoji,img.wp-smiley{display:inline!important;width:1.05em!important;height:1.05em!important;max-width:none!important;margin:0 .1em!important;vertical-align:-.14em!important;background:none!important;border:0!important;box-shadow:none!important;padding:0!important;border-radius:0!important}

/* phones: Completed band peek + swipe hint */
@media (max-width:600px){
.dm-band .track{margin-right:-24px;padding-right:24px!important}
.dm-band .jacket.dm-rise{flex:0 0 calc((100vw - 120px)/2)!important}
.dm-band .track.is-grid{margin-right:0;padding-right:8px!important}
.dm-band .track.is-grid .jacket.dm-rise{flex:0 0 calc(50% - 7px)!important}
.dm-swipehint{display:flex;align-items:center;gap:8px;margin:-6px 0 -8px;font-size:12.5px;font-weight:600;color:var(--plum);opacity:.85;transition:opacity .4s}
.dm-band .dm-swipehint{color:#fff}
.dm-swipehint b{display:inline-block;font-weight:700;animation:dmSwipe 1.2s ease-in-out infinite}
.dm-swipehint.is-gone{opacity:0;pointer-events:none}
@keyframes dmSwipe{0%,100%{transform:translateX(0)}50%{transform:translateX(7px)}}
}
@media (min-width:601px){.dm-swipehint{display:none}}
@media (prefers-reduced-motion:reduce){.dm-swipehint b{animation:none}}
@media (max-width:600px){.jacket.dm-rise .btn-fill{white-space:nowrap;padding:10px 4px!important;font-size:12px!important}}

/* phones: progress dots */
.dm-dots{display:none}
@media (max-width:600px){
.dm-dots{display:flex;justify-content:center;gap:7px;margin:2px 0 14px}
.dm-dots button{width:7px;height:7px;padding:0;border:0;border-radius:99px;background:rgba(139,70,214,.28);cursor:pointer;transition:width .3s,background .3s}
.dm-dots button.on{width:22px;background:var(--accent,#8b46d6)}
.dm-band .dm-dots button{background:rgba(255,255,255,.4)}
.dm-band .dm-dots button.on{background:#fff}
.track.is-grid + .dm-dots{display:none}
}
/* v5 phones: same peek for both rows, author on one line */
@media (max-width:600px){
.track{margin-right:-24px;padding-right:24px!important}
.jacket.dm-rise{flex:0 0 calc((100vw - 120px)/2)!important}
.track.is-grid{margin-right:0;padding-right:8px!important}
.track.is-grid .jacket.dm-rise{flex:0 0 calc(50% - 7px)!important}
.dm-cover__author{white-space:nowrap!important;font-size:7.5px!important;letter-spacing:.7px!important;right:6px!important;overflow:hidden}
}
/* v6: keep swipe hint visible; uniform card rows on phones */
.dm-swipehint.is-gone{opacity:.85!important;pointer-events:auto!important}
@media (max-width:600px){
.jacket.dm-rise>div:not(.dm-book){gap:8px!important}
.jacket.dm-rise>div:not(.dm-book)>span:first-child{display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.5em;line-height:1.25!important;font-size:14px!important}
.dm-nstats{flex-wrap:nowrap!important;min-height:24px}
.dm-nstats + div{min-height:26px;margin-top:0!important}
.dm-nstats + div .glass{white-space:nowrap}
}
/* welcome dove (home, once per visit) */
.dm-dove{position:fixed;inset:0;z-index:90;pointer-events:none;overflow:hidden}
.dm-dove__bird{position:absolute;left:0;top:0;width:84px;height:56px;will-change:transform;filter:drop-shadow(0 6px 10px rgba(74,26,107,.35))}
.dm-dove__bird svg{width:100%;height:100%;overflow:visible}
.dm-dove__wing{transform-origin:60px 44px;animation:dmFlap .3s ease-in-out infinite alternate}
.dm-dove__wing.back{animation-delay:-.12s;opacity:.8}
@keyframes dmFlap{from{transform:rotate(-16deg)}to{transform:rotate(24deg)}}
.dm-dove__note{position:absolute;left:50%;width:min(300px,86vw);margin-left:calc(min(300px,86vw) / -2);padding:13px 34px 13px 16px;border-radius:16px;background:linear-gradient(160deg,#fffdf8,#fbf3ff);border:1px solid rgba(139,70,214,.28);box-shadow:0 18px 36px -14px rgba(74,26,107,.45);color:var(--plum);pointer-events:auto;opacity:0}
.dm-dove__note b{display:block;font-family:'Playfair Display',serif;font-style:italic;font-size:16px;margin-bottom:3px}
.dm-dove__note span{font-size:13px;line-height:1.5;color:var(--ink-soft)}
.dm-dove__note button{position:absolute;top:6px;right:8px;width:24px;height:24px;border:0;background:none;font-size:18px;line-height:1;color:var(--plum);cursor:pointer;opacity:.6}
.dm-dove__bird{width:100px!important;height:66px!important;filter:drop-shadow(0 0 8px rgba(201,163,245,.9)) drop-shadow(0 6px 10px rgba(74,26,107,.4))!important}

.dm-dove__wing{transform-origin:62px 48px!important}
.dm-dove__heart{transform-origin:104px 24px;animation:dmHeart 1s ease-in-out infinite alternate}
@keyframes dmHeart{from{transform:scale(.85) translateY(1px)}to{transform:scale(1.12) translateY(-3px)}}
.dm-dove__bird{width:112px!important;height:76px!important}

.dm-dove__heart{transform-origin:102px 28px!important}

.dm-petal{position:absolute;display:block;border-radius:70% 0 70% 0;opacity:0;pointer-events:none;box-shadow:inset -2px -2px 4px rgba(255,255,255,.35)}

/* novel page polish */
.dm-novel-hero__info .dm-stats{display:flex!important}
@media (max-width:860px){
.dm-novel-hero__info .dm-rate{justify-content:center}
.dm-novel-hero__info .dm-stats{justify-content:center;text-align:center}
.dm-actions{flex-wrap:wrap;justify-content:center}
}

/* novel page cover keeps its own size (not the home-row phone sizing) */
.dm-novel-hero__cover .dm-book{width:var(--w)!important;height:var(--h)!important;aspect-ratio:auto!important;max-width:100%}
@media (max-width:600px){
.dm-novel-hero__cover .dm-book .dm-cover .sheen{padding:22px 20px 46px 34px!important}
.dm-novel-hero__cover .dm-book .dm-cover .sheen>svg{width:18px;height:18px}
.dm-novel-hero__cover .dm-book .dm-cover .sheen>span:not(.dm-cover__author){font-size:19px!important;line-height:1.35!important}
.dm-novel-hero__cover .dm-cover__author{left:34px!important;bottom:16px!important;font-size:11px!important;letter-spacing:1.6px!important}
.dm-novel-hero__cover .dm-cover__author::before{width:34px!important;margin-bottom:8px!important}
}
.dm-novel-hero__cover .dm-book .dm-cover .sheen{text-align:left!important;align-items:flex-start!important}

/* rating: votes can be changed */
.dm-rate.is-done .dm-rate__stars button{cursor:pointer!important;pointer-events:auto!important}
.dm-rate__stars button.on,.dm-rate__stars button.on~button{color:var(--gold)}

.dm-rate-wrap{max-width:720px;margin:28px auto 0;padding:0 20px}
.dm-rate-wrap .dm-rate{justify-content:center;flex-direction:column;gap:6px;text-align:center}

/* episode reactions + emoji rain */
.dm-react{display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:22px;text-align:center}
.dm-react__label{font-size:13px;font-weight:600;color:var(--plum)}
.dm-react__row{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.dm-react__btn{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:999px;border:1px solid rgba(139,70,214,.25);background:rgba(255,255,255,.75);color:var(--plum);font:600 13px 'Outfit',sans-serif;cursor:pointer;transition:transform .15s,background .2s,border-color .2s,box-shadow .2s}
.dm-react__btn .e{font-size:20px;line-height:1}
.dm-react__btn b{font-weight:600;min-width:6px}
.dm-react__btn:hover{transform:translateY(-2px) scale(1.06)}
.dm-react__btn:active{transform:scale(.94)}
.dm-react__btn.is-on{background:#ede0fd;border-color:var(--accent,#8b46d6);box-shadow:0 6px 16px -8px rgba(139,70,214,.7)}
.dm-rain{position:fixed;inset:0;z-index:95;pointer-events:none;overflow:hidden}
.dm-rain span{position:absolute;top:0;left:0;line-height:1;will-change:transform,opacity;user-select:none}
.dm-react__btn .e{display:inline-flex}
.dm-react__btn .e img{width:28px;height:28px;display:block}
.dm-react__btn:hover .e img{transform:rotate(-8deg) scale(1.12)}
.dm-react__btn .e img{transition:transform .2s}

/* ===== Reading bar (episode pages): text size, dark mode, bookmark ===== */
.dm-reader__tools{display:none!important}
.dm-rbar{position:fixed;left:50%;bottom:20px;z-index:9998;display:flex;align-items:center;gap:4px;padding:8px;border-radius:999px;background:linear-gradient(135deg,#8b46d6 0%,#4a1a6b 100%);box-shadow:0 10px 30px rgba(74,26,107,.4);opacity:0;visibility:hidden;transform:translate(-50%,16px);transition:opacity .25s,transform .25s,visibility 0s linear .25s}
.dm-rbar.is-visible{opacity:1;visibility:visible;transform:translate(-50%,0);transition:opacity .25s,transform .25s}
.dm-rbar button{width:36px;height:36px;border:0;border-radius:999px;background:rgba(255,255,255,.18);color:#fff;font:700 15px/1 'Outfit',sans-serif;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;transition:background .2s,transform .15s}
.dm-rbar button:hover{background:rgba(255,255,255,.32)}
.dm-rbar button:active{transform:scale(.92)}
.dm-rbar button svg{width:18px;height:18px}
.dm-rbar__size{min-width:46px;text-align:center;color:#fff;font:700 13px/1 'Outfit',sans-serif}
.dm-rbar__div{width:1px;height:22px;background:rgba(255,255,255,.35);margin:0 4px}
.dm-rbar__toast{position:absolute;left:50%;bottom:calc(100% + 10px);transform:translateX(-50%);white-space:nowrap;padding:6px 12px;border-radius:999px;background:#2b0e45;color:#fff;font:500 12.5px 'Outfit',sans-serif;opacity:0;pointer-events:none;transition:opacity .2s}
.dm-rbar__toast.on{opacity:1}
.dm-chapter.is-bm .dm-chapter__label::after{content:'  \00b7  Bookmarked';color:var(--dusty)}
.dm-bookmarks{max-width:720px;margin:0 auto 40px;padding:0 20px}
.dm-bookmarks h2{font-family:'Playfair Display',serif;color:var(--plum);margin:0 0 12px}
.dm-bookmarks ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.dm-bookmarks li a{display:flex;justify-content:space-between;gap:12px;padding:12px 16px;border-radius:14px;background:rgba(255,255,255,.7);border:1px solid rgba(139,70,214,.2);color:var(--plum);text-decoration:none}
.dm-bookmarks li small{color:var(--ink-faint)}

/* dark reading mode (episode pages only; the attribute is only ever set there) */
html[data-theme="dark"]{color-scheme:dark;--cream:#140a20;--cream-2:#1c0e2b;--lilac-soft:#2a1642;--ink:#ece3fa;--ink-soft:#cdbbea;--ink-faint:#a893cc;--plum:#e9d8ff;--plum-deep:#e9d8ff;--glass-bg:rgba(44,24,70,.62);--glass-border:rgba(255,255,255,.14)}
html[data-theme="dark"] body{background:#140a20}
html[data-theme="dark"] .dm-prose{color:#e6dcf7}
html[data-theme="dark"] .dm-rbar{background:linear-gradient(135deg,#6b32b0 0%,#2b0e45 100%);box-shadow:0 10px 30px rgba(0,0,0,.55)}
/* dark mode polish */
html[data-theme="dark"] .dm-site{background:radial-gradient(1100px 620px at 6% -6%,#2b1449 0%,transparent 62%),radial-gradient(900px 560px at 100% 4%,#231040 0%,transparent 60%),#140a20!important}
html[data-theme="dark"] .crumb,html[data-theme="dark"] .crumb a{color:#c9a3f5!important}
html[data-theme="dark"] .eyebrow-pill{background:#2a1642;color:#e7d3fc;border-color:rgba(201,163,245,.35)}
html[data-theme="dark"] .dm-react__btn{background:rgba(255,255,255,.08);border-color:rgba(201,163,245,.3);color:#ece3fa}
html[data-theme="dark"] .dm-react__btn.is-on{background:rgba(139,70,214,.35);border-color:#c9a3f5}
html[data-theme="dark"] .dm-rate__stars button{color:#4a3a66}
html[data-theme="dark"] .dm-rate__stars button:hover,html[data-theme="dark"] .dm-rate__stars button:hover~button{color:var(--gold)}
html[data-theme="dark"] .dm-rate__stars button.on,html[data-theme="dark"] .dm-rate__stars button.on~button{color:var(--gold)}
html[data-theme="dark"] .glass,html[data-theme="dark"] .btn-ghost{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.16);color:#ece3fa}
html[data-theme="dark"] .dm-chapter-nav__a,html[data-theme="dark"] .dm-chapter-nav__all{color:#ece3fa}
html[data-theme="dark"] input,html[data-theme="dark"] textarea{background:#1c0e2b!important;color:#ece3fa!important;border-color:rgba(201,163,245,.3)!important}
html[data-theme="dark"] .dm-nav,html[data-theme="dark"] nav.glass{background:rgba(32,16,52,.72)}
html[data-theme="dark"] .dm-reader__img img,html[data-theme="dark"] .dm-prose img{filter:brightness(.88)}
/* nav has one more link now */
.dm-site .glass[style*="max-width: 800px"]{max-width:1040px!important}
@media (min-width:1001px) and (max-width:1120px){.nav-links{display:none!important}.menu-btn{display:flex!important}}
.dm-bookmarks--page{padding:0}
.dm-bm-empty{text-align:center;padding:36px 20px;border-radius:18px;background:rgba(255,255,255,.6);border:1px dashed rgba(139,70,214,.35);color:var(--ink-soft)}
.dm-bookmarks li{position:relative}
.dm-bookmarks li .dm-bm-x{position:absolute;top:50%;right:10px;transform:translateY(-50%);width:30px;height:30px;border-radius:50%;border:0;background:rgba(139,70,214,.12);color:var(--plum);font-size:18px;cursor:pointer}
.dm-bookmarks--page li a{padding-right:52px}

/* glass reading bar (light + dark) */
.dm-rbar{background:linear-gradient(135deg,rgba(255,255,255,.74),rgba(236,222,253,.52))!important;-webkit-backdrop-filter:blur(18px) saturate(180%);backdrop-filter:blur(18px) saturate(180%);border:1px solid rgba(255,255,255,.75);box-shadow:0 14px 34px -12px rgba(74,26,107,.5),inset 0 1px 0 rgba(255,255,255,.95),inset 0 -1px 0 rgba(139,70,214,.12)!important}
.dm-rbar button{background:rgba(139,70,214,.12)!important;color:#3a1459!important}
.dm-rbar button:hover{background:rgba(139,70,214,.24)!important}
.dm-rbar button[aria-pressed="true"]{background:#8b46d6!important;color:#fff!important}
.dm-rbar__size{color:#3a1459!important}
.dm-rbar__div{background:rgba(74,26,107,.22)!important}
.dm-rbar__toast{background:rgba(43,14,69,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
html[data-theme="dark"] .dm-rbar{background:linear-gradient(135deg,rgba(78,42,122,.6),rgba(22,10,38,.58))!important;border-color:rgba(255,255,255,.17);box-shadow:0 14px 36px -10px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.2),inset 0 -1px 0 rgba(0,0,0,.35)!important}
html[data-theme="dark"] .dm-rbar button{background:rgba(255,255,255,.12)!important;color:#f3eaff!important}
html[data-theme="dark"] .dm-rbar button:hover{background:rgba(255,255,255,.22)!important}
html[data-theme="dark"] .dm-rbar button[aria-pressed="true"]{background:#8b46d6!important;color:#fff!important}
html[data-theme="dark"] .dm-rbar__size{color:#f3eaff!important}
html[data-theme="dark"] .dm-rbar__div{background:rgba(255,255,255,.28)!important}
html[data-theme="dark"] .dm-rbar__toast{background:rgba(255,255,255,.92);color:#2b0e45}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.dm-rbar{background:rgba(250,244,255,.96)!important}html[data-theme="dark"] .dm-rbar{background:rgba(34,18,56,.96)!important}}
/* stats row: one clean line, no pills */
.dm-nstats{display:flex!important;flex-wrap:nowrap!important;align-items:center;justify-content:flex-start;gap:0!important;margin-top:2px;min-height:0!important;white-space:nowrap}
.dm-nstats span,.dm-band .dm-nstats span{display:inline-flex;align-items:center;gap:5px;padding:0!important;border:0!important;border-radius:0!important;background:none!important;font-size:12.5px;font-weight:600;color:var(--plum)!important}
.dm-band .dm-nstats span{color:#fff!important}
.dm-nstats span+span::before{content:'';display:inline-block;width:1px;height:12px;margin:0 10px;background:currentColor;opacity:.28}
.dm-nstats img.emoji{width:1.1em!important;height:1.1em!important;margin:0!important}
@media (max-width:600px){.dm-nstats span{font-size:11.5px;gap:4px}.dm-nstats span+span::before{margin:0 7px;height:11px}}
/* View all tile + library page */
.dm-viewall{flex:0 0 232px;align-self:stretch;min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border-radius:18px;border:1.5px dashed rgba(139,70,214,.45);color:var(--plum);text-align:center;text-decoration:none;background:rgba(255,255,255,.45);transition:transform .3s,background .3s}
.dm-viewall:hover{transform:translateY(-6px);background:rgba(255,255,255,.7)}
.dm-viewall__ic{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--plum);color:var(--cream-2)}
.dm-viewall b{font:600 17px 'Playfair Display',serif}
.dm-viewall small{font-size:12.5px;color:var(--ink-soft)}
.dm-band .dm-viewall{border-color:rgba(255,255,255,.6);color:#fff;background:rgba(255,255,255,.14)}
.dm-band .dm-viewall__ic{background:#fff;color:#4a1a6b}
.dm-band .dm-viewall small{color:#f0e4ff}
@media (max-width:600px){.dm-viewall{flex:0 0 calc((100vw - 120px)/2)!important;min-height:220px}.track.is-grid .dm-viewall{flex:0 0 calc(50% - 7px)!important}}
.dm-lib-wrap{padding-top:12px;padding-bottom:64px}
.dm-lib{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:34px 28px;justify-items:center}
.dm-lib .jacket{width:232px;max-width:100%}
.dm-lib-pages{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:40px;color:var(--ink-soft);font-size:14px}
@media (max-width:600px){.dm-lib{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 14px}.dm-lib .jacket{width:100%}}
/* Install app button (only shown when the browser can install the PWA) */
.dm-install[hidden]{display:none!important}
.dm-install{cursor:pointer}
.dm-install--nav{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:linear-gradient(135deg,#8b46d6,#4a1a6b);color:#fff!important;font-weight:600;font-size:12.5px;white-space:nowrap;box-shadow:0 8px 18px -8px rgba(74,26,107,.6)}
.dm-install--menu{display:flex!important;align-items:center;justify-content:center;gap:8px;margin-top:8px;padding:13px 14px!important;border-radius:14px!important;background:linear-gradient(135deg,#8b46d6,#4a1a6b);color:#fff!important;font-weight:600!important;font-size:14px;box-shadow:0 10px 22px -10px rgba(74,26,107,.7),0 0 0 0 rgba(139,70,214,.5);animation:dmInstallPulse 2.4s ease-in-out infinite}
.dm-install[hidden]+*{}
@keyframes dmInstallPulse{0%,100%{box-shadow:0 10px 22px -10px rgba(74,26,107,.7),0 0 0 0 rgba(139,70,214,.45)}50%{box-shadow:0 10px 22px -10px rgba(74,26,107,.7),0 0 0 8px rgba(139,70,214,0)}}
.dm-ioshelp{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:10000;width:min(340px,90vw);padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(139,70,214,.3);box-shadow:0 18px 40px -14px rgba(74,26,107,.55);color:#4a1a6b;font:500 14px/1.5 'Outfit',sans-serif}
.dm-ioshelp b{display:block;margin-bottom:2px;font-family:'Playfair Display',serif;font-size:16px}
@media (prefers-reduced-motion:reduce){.dm-install--menu{animation:none}}
/* ===== Share buttons ===== */
.dm-share{display:flex;flex-direction:column;align-items:center;gap:10px;margin:30px auto 0;max-width:720px;padding:0 20px;text-align:center}
.dm-novel-hero__info .dm-share{align-items:flex-start;margin:18px 0 0;padding:0;text-align:left}
.dm-share__label{font-size:13px;font-weight:600;color:var(--plum)}
.dm-share__row{position:relative;display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.dm-share__btn{width:40px;height:40px;border-radius:50%;border:0;display:inline-flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;text-decoration:none;box-shadow:0 8px 16px -8px rgba(43,14,69,.55);transition:transform .18s,box-shadow .18s}
.dm-share__btn:hover{transform:translateY(-3px) scale(1.06)}
.dm-share__btn.is-whatsapp{background:#25d366}
.dm-share__btn.is-facebook{background:#1877f2}
.dm-share__btn.is-x{background:#111}
.dm-share__btn.is-telegram{background:#229ed9}
.dm-share__btn.is-copy,.dm-share__btn.is-native{background:linear-gradient(135deg,#8b46d6,#4a1a6b)}
.dm-share__btn[hidden]{display:none!important}
.dm-share__toast{position:absolute;left:50%;top:calc(100% + 8px);transform:translateX(-50%);white-space:nowrap;padding:5px 12px;border-radius:999px;background:#2b0e45;color:#fff;font:500 12.5px 'Outfit',sans-serif;opacity:0;pointer-events:none;transition:opacity .2s}
.dm-share__toast.on{opacity:1}
@media (max-width:860px){.dm-novel-hero__info .dm-share{align-items:center;text-align:center}}
html[data-theme="dark"] .dm-share__label{color:#e9d8ff}
/* Sign in with Google (Nextend Social Login) on the My account page */
.dm-social-login{max-width:420px;margin:0 auto 26px;text-align:center}
.dm-social-login .nsl-container{margin:0 auto}
.dm-social-login .nsl-container-buttons{display:flex;justify-content:center}
.dm-social-login .nsl-container-buttons a{display:block;width:100%;max-width:340px;text-decoration:none;border:0}
.dm-social-login .nsl-button{border-radius:999px!important;box-shadow:0 10px 24px -12px rgba(74,26,107,.55);border:1px solid rgba(139,70,214,.22)}
.dm-or{display:flex;align-items:center;gap:12px;margin-top:20px;color:var(--ink-faint);font-size:13px}
.dm-or::before,.dm-or::after{content:"";flex:1;height:1px;background:rgba(139,70,214,.25)}
/* top ticker links */
.ticker-wrap a{color:#f1e4ff;text-decoration:none}
.ticker-wrap a:hover,.ticker-wrap a:focus-visible{color:#fff;text-decoration:underline;text-underline-offset:3px}
.ticker-wrap img.emoji{width:1.1em!important;height:1.1em!important;vertical-align:-.15em!important}

/* plain "Continue with Google" link (full page sign-in through the WordPress login, no popup) */
.dm-google-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;width:100%;max-width:340px;padding:11px 20px;border-radius:999px;background:#fff;border:1px solid rgba(139,70,214,.28);color:#3c3c3c!important;font:500 15px 'Outfit',sans-serif;text-decoration:none!important;box-shadow:0 10px 24px -12px rgba(74,26,107,.55);transition:transform .15s,box-shadow .15s}
.dm-google-btn:hover{transform:translateY(-2px);box-shadow:0 14px 28px -12px rgba(74,26,107,.6)}
.dm-google-btn b{font-weight:600}
/* sign in to comment */
.dm-comment-signin{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;margin:0 0 26px;padding:20px 18px;border-radius:18px;background:rgba(255,255,255,.65);border:1px solid rgba(139,70,214,.2)}
.dm-comment-signin strong{font:600 17px 'Playfair Display',serif;color:var(--plum)}
.dm-comment-signin span{font-size:13px;color:var(--ink-soft)}
.dm-comment-signin .dm-google-btn{margin-top:6px}
.dm-comment-signin__alt{font-size:13px;color:var(--dusty);text-decoration:underline;text-underline-offset:3px}
.dm-comment-signin em{font-size:12.5px;color:var(--ink-faint);font-style:normal;margin-top:4px}
html[data-theme="dark"] .dm-comment-signin{background:rgba(255,255,255,.07);border-color:rgba(201,163,245,.3)}
html[data-theme="dark"] .dm-google-btn{background:#fff}
/* share buttons sit at the bottom of the page, just above the footer */
.dm-share-end{max-width:720px;margin:56px auto 0;padding:34px 20px 64px;border-top:1px solid rgba(139,70,214,.18)}
.dm-share-end .dm-share{margin:0 auto;padding:0}
html[data-theme="dark"] .dm-share-end{border-top-color:rgba(201,163,245,.25)}
