@font-face{font-family:NotoSerifBengali;src:url("../books/bengali/assets/NotoSerifBengali.ttf") format("truetype");font-display:swap}
:root{--paper:#f7f0df;--paper2:#e8ead9;--ink:#26322d;--muted:#68746d;--accent:#8d4e32;--deep:#102039;--reader-size:20px}
[data-theme="dark"]{--paper:#121b1a;--paper2:#1a2824;--ink:#e9e2cf;--muted:#b8c0ba;--accent:#e2a77d;--deep:#07111f}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(155deg,var(--paper),var(--paper2));color:var(--ink);font-family:NotoSerifBengali,"Noto Serif Bengali",serif;line-height:1.85}
.progress{position:fixed;left:0;right:0;top:0;height:4px;z-index:1002;background:rgba(141,78,50,.12)}.progress span{display:block;width:0;height:100%;background:var(--accent)}
.topbar{position:sticky;top:0;z-index:1000;background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid color-mix(in srgb,var(--ink) 13%,transparent)}
.topbar-inner{max-width:1240px;margin:auto;display:flex;align-items:center;gap:.55rem;padding:11px 18px}.brand{margin-right:auto;color:var(--ink);font-weight:800;text-decoration:none;white-space:nowrap}.control{border:1px solid color-mix(in srgb,var(--ink) 20%,transparent);background:var(--paper);color:var(--ink);border-radius:999px;padding:.48rem .75rem;font:600 .88rem/1.2 inherit}
.hero{max-width:1120px;margin:38px auto;display:grid;grid-template-columns:minmax(230px,380px) 1fr;gap:clamp(28px,6vw,80px);align-items:center;padding:clamp(22px,5vw,52px);background:color-mix(in srgb,var(--paper) 76%,white);border-radius:28px;box-shadow:0 20px 60px rgba(20,35,30,.12)}.hero img{width:100%;max-height:560px;object-fit:contain;border-radius:16px;box-shadow:0 18px 42px rgba(0,0,0,.2)}.hero h1{font-size:clamp(2.7rem,6vw,5.4rem);line-height:1.05;margin:.3rem 0;color:var(--deep)}[data-theme="dark"] .hero h1{color:#f2dfb1}.hero .sub{font-size:1.2rem}.cta{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1.4rem}.cta a{padding:.65rem 1rem;border-radius:999px;background:var(--deep);color:#fff;text-decoration:none}.cta a.secondary{background:transparent;color:var(--accent);border:1px solid var(--accent)}
.layout{max-width:1240px;margin:0 auto 80px;display:grid;grid-template-columns:270px minmax(0,760px);gap:54px;justify-content:center;padding:0 18px}.toc{position:sticky;top:84px;align-self:start;max-height:calc(100vh - 105px);overflow:auto;padding:22px;background:color-mix(in srgb,var(--paper) 82%,white);border-radius:18px}.toc h2{margin-top:0}.toc a{display:block;color:var(--ink);text-decoration:none;padding:.22rem 0}.toc .partlink{margin-top:.7rem;color:var(--accent);font-weight:800}.toc .chapterlink{font-size:.92rem;padding-left:.3rem}
.reader{font-size:var(--reader-size);min-width:0}.reader section{scroll-margin-top:92px}.part-title{font-size:clamp(2rem,5vw,3.8rem);line-height:1.15;margin:3rem 0 1.25rem;color:var(--deep)}[data-theme="dark"] .part-title{color:#f2dfb1}.part-subtitle{color:var(--accent)}.chapter{margin:5rem 0;padding-top:1rem}.chapter-title{font-size:clamp(2rem,4vw,3rem);line-height:1.25;color:var(--deep);border-bottom:1px solid color-mix(in srgb,var(--ink) 18%,transparent);padding-bottom:.7rem}[data-theme="dark"] .chapter-title{color:#f2dfb1}.prose,.first{text-align:left;margin:0 0 1.05em}.prose.first:first-letter{font-size:2.8em;float:left;line-height:.82;margin:.14em .1em 0 0;color:var(--accent)}.ornament{text-align:center;letter-spacing:.6em;color:var(--accent);margin:2rem 0}.illustration{display:none}.author-card{display:block;padding:24px;border-radius:18px;background:color-mix(in srgb,var(--paper) 74%,white)}
footer{text-align:center;padding:32px 18px;border-top:1px solid color-mix(in srgb,var(--ink) 14%,transparent)}footer a,.reader a{color:var(--accent)}.modal{display:none}
@media(max-width:820px){.topbar-inner{flex-wrap:wrap}.brand{width:100%;text-align:center}.control{flex:1}.hero{grid-template-columns:1fr;margin:18px}.hero img{max-width:310px;margin:auto}.layout{display:block}.toc{position:relative;top:auto;max-height:none;margin:25px 0}.reader{font-size:calc(var(--reader-size) - 1px)}.chapter{margin:3.5rem 0}.prose,.first{text-align:left}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

