:root{--wine:#5f2035;--wine-deep:#2d0c19;--rose:#d4879d;--blush:#f6dce2;--ivory:#fffaf4;--ink:#2a1c20;--muted:#79656b;--gold:#c69b59;--velvet:#15070d;--shadow:0 28px 80px rgba(45,12,25,.2)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:Georgia,'Times New Roman',serif}button,input,select{font:inherit}button,a{touch-action:manipulation}.read-progress{position:fixed;inset:0 0 auto;height:4px;background:rgba(95,32,53,.12);z-index:100}.read-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--wine),var(--rose),var(--gold));transition:width .15s}.site-header{position:sticky;top:4px;z-index:90;min-height:72px;padding:0 clamp(18px,4vw,64px);display:flex;align-items:center;justify-content:space-between;gap:24px;background:rgba(255,250,244,.94);border-bottom:1px solid #ead9dc;backdrop-filter:blur(16px)}.wordmark{font-weight:700;color:var(--wine);text-decoration:none;letter-spacing:.04em}.site-header nav{display:flex;align-items:center;gap:8px}.site-header nav a,.site-header nav button{border:0;background:transparent;color:var(--wine-deep);padding:11px 12px;text-decoration:none;font-size:14px}.hero{min-height:calc(100vh - 76px);display:grid;grid-template-columns:minmax(280px,470px) minmax(0,700px);align-items:center;justify-content:center;gap:clamp(36px,7vw,100px);padding:clamp(44px,7vw,100px) clamp(22px,7vw,110px);background:radial-gradient(circle at 14% 20%,rgba(212,135,157,.2),transparent 26rem),linear-gradient(132deg,#fffaf4 0%,#f8e8e9 48%,#f1d8df 100%)}.cover-wrap{margin:0;position:relative}.cover-wrap:before{content:"";position:absolute;inset:5% -7% -6% 8%;background:linear-gradient(135deg,var(--wine-deep),#812e49);filter:blur(24px);opacity:.22}.cover-wrap img{position:relative;width:100%;max-height:72vh;object-fit:cover;border:10px solid #fff7f2;box-shadow:var(--shadow)}.kicker{text-transform:uppercase;letter-spacing:.17em;color:var(--wine);font:700 12px/1.4 Arial,sans-serif}.hero h1{font-size:clamp(3.5rem,7.5vw,7.7rem);line-height:.86;letter-spacing:-.055em;color:var(--wine-deep);margin:.3em 0 .24em}.subtitle{font-size:clamp(1.2rem,2.2vw,2rem);line-height:1.25;color:var(--wine);font-style:italic}.author{text-transform:uppercase;letter-spacing:.16em;font:700 13px/1.5 Arial,sans-serif;color:var(--muted);margin:28px 0}.invitation{font-size:1.08rem;line-height:1.75;max-width:62ch}.actions{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 18px;border:1px solid var(--wine);color:var(--wine);text-decoration:none;font:700 12px/1 Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em}.button.primary{background:var(--wine);color:#fff}.facts{display:flex;flex-wrap:wrap;gap:9px}.facts span{padding:8px 11px;border:1px solid rgba(95,32,53,.22);font:600 11px/1.2 Arial,sans-serif;color:var(--wine)}.opening-notes{display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(28px,6vw,90px);padding:clamp(60px,9vw,130px) clamp(24px,10vw,150px);background:var(--velvet);color:#f9eef1}.opening-notes blockquote{margin:0;font-size:clamp(1.7rem,3.4vw,3.7rem);line-height:1.15;color:#f0bdca;font-style:italic}.opening-notes article p:last-child{font-size:1rem;line-height:1.78;color:#e7d4d9}.opening-notes .kicker{color:#e5a9b9}.contents{padding:clamp(70px,9vw,130px) clamp(20px,8vw,130px);background:#f7e6e9}.section-heading{max-width:760px;margin-bottom:48px}.section-heading h2,.closing h2{font-size:clamp(2.6rem,5vw,5.8rem);line-height:.97;letter-spacing:-.04em;color:var(--wine-deep);margin:.25em 0}.section-heading p:last-child{font-size:1.06rem;line-height:1.7}.toc{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:rgba(95,32,53,.14);border:1px solid rgba(95,32,53,.14)}.toc a{display:grid;grid-template-columns:42px 1fr;gap:10px;align-items:center;min-height:76px;background:#fffaf4;color:var(--wine-deep);text-decoration:none;padding:15px}.toc a:hover{background:#fff3f5}.toc span{color:var(--rose);font:700 13px Arial,sans-serif}.toc strong{font-size:15px;line-height:1.3}.reader{background:#fffdf8;padding:30px 0 120px}.book-section{scroll-margin-top:92px;max-width:820px;margin:0 auto;padding:clamp(70px,10vw,150px) clamp(24px,6vw,70px) 28px;border-bottom:1px solid #eadcdf}.chapter-opening{text-align:center;margin-bottom:60px}.chapter-opening span{display:block;text-transform:uppercase;letter-spacing:.18em;color:var(--rose);font:700 12px Arial,sans-serif}.chapter-opening h2{font-size:clamp(2.4rem,5vw,5rem);line-height:1.02;color:var(--wine-deep);margin:.25em 0}.chapter-body>p{font-size:clamp(1.05rem,1.35vw,1.18rem);line-height:1.88;margin:0 0 1.25em}.chapter-body h3{font-size:clamp(1.45rem,2.3vw,2.05rem);line-height:1.2;color:var(--wine);margin:2.1em 0 .7em}.chapter-body blockquote{margin:0 0 55px;padding:30px clamp(20px,5vw,56px);text-align:center;border-block:1px solid #dcb6c0;color:var(--wine);font-size:1.35rem;font-style:italic}.chapter-body cite{display:block;margin-top:12px;font:600 12px Arial,sans-serif;letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}.chapter-end{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:55px;padding-top:18px;border-top:1px solid #eadcdf}.chapter-end button,.chapter-end a{border:0;background:transparent;color:var(--wine);font:700 12px Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;text-decoration:none;padding:10px 0}.chapter-end button.saved{color:#8a5b17}.closing{text-align:center;padding:clamp(90px,12vw,170px) 24px;background:linear-gradient(135deg,#f2d5dd,#fff8f3)}.closing h2{max-width:1000px;margin:.3em auto}.closing .actions{justify-content:center}footer{display:flex;justify-content:space-between;gap:35px;padding:55px clamp(24px,8vw,120px);background:var(--wine-deep);color:#f8e9ed}footer p{color:#d7bdc4}footer div:last-child{display:flex;flex-wrap:wrap;gap:18px;align-items:center}footer a{color:#f3c8d3}dialog{width:min(680px,calc(100% - 28px));max-height:82vh;border:1px solid #d8afb9;padding:clamp(24px,5vw,48px);background:#fffaf4;color:var(--ink);box-shadow:0 30px 100px rgba(45,12,25,.4)}dialog::backdrop{background:rgba(24,5,12,.72)}dialog h2{font-size:2.3rem;color:var(--wine);margin:.2em 0 .7em}dialog .close{float:right;border:0;background:transparent;color:var(--wine);padding:8px}dialog label{display:block;margin:16px 0 6px;color:var(--wine);font:700 12px Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em}dialog input,dialog select{width:100%;min-height:48px;border:1px solid #cfadb6;background:#fff;padding:10px 12px}#searchResults{display:grid;gap:8px;margin-top:18px;max-height:45vh;overflow:auto}#searchResults button{display:block;text-align:left;border:1px solid #ead8dc;background:#fff;padding:12px;color:var(--ink)}#searchResults small{display:block;color:var(--wine);margin-bottom:4px}.narration-controls{display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px}.narration-controls button{min-height:48px;border:1px solid var(--wine);background:#fff;color:var(--wine)}.narration-controls button:first-child{background:var(--wine);color:#fff}.fine-print{font-size:12px;line-height:1.5;color:var(--muted)}[data-narration-block].speaking{background:linear-gradient(90deg,rgba(212,135,157,.22),rgba(212,135,157,.05));box-shadow:0 0 0 7px rgba(212,135,157,.08);border-radius:2px}
@media(max-width:900px){.site-header{align-items:flex-start;padding-block:13px;min-height:86px}.site-header nav{overflow-x:auto;max-width:70vw}.site-header nav a,.site-header nav button{white-space:nowrap}.hero{grid-template-columns:1fr;padding-top:55px}.cover-wrap{width:min(400px,82vw);margin:auto}.opening-notes{grid-template-columns:1fr}.toc{grid-template-columns:1fr 1fr}.book-section{padding-inline:24px}footer{flex-direction:column}}
@media(max-width:560px){.site-header{display:block}.wordmark{display:block;margin-bottom:7px}.site-header nav{max-width:100%;justify-content:flex-start}.site-header nav a,.site-header nav button{padding:8px 10px}.hero h1{font-size:3.55rem}.toc{grid-template-columns:1fr}.chapter-body>p{font-size:1.06rem;line-height:1.78}.chapter-end{align-items:flex-start;flex-direction:column}.narration-controls{grid-template-columns:1fr}.opening-notes blockquote{font-size:2rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.wordmark{display:flex;align-items:center;gap:10px}.wordmark img{width:58px;height:48px;object-fit:contain;border-radius:6px}@media(max-width:560px){.wordmark{display:flex;margin-bottom:7px}.wordmark img{width:52px;height:42px}}
