@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e8c7e585bb5e69ba-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/d02d66744511ad29-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/26dc4a78f0c7af7f-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fraunces Fallback;src:local("Times New Roman");ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.00%;size-adjust:115.45%}.__className_eaa818{font-family:Fraunces,Fraunces Fallback;font-style:normal}.__variable_eaa818{--font-display:"Fraunces","Fraunces Fallback"}@font-face{font-family:Literata;font-style:italic;font-weight:200 900;font-display:swap;src:url(/_next/static/media/e98d46a045b40d15-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Literata;font-style:italic;font-weight:200 900;font-display:swap;src:url(/_next/static/media/5f17cfda124f680e-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Literata;font-style:italic;font-weight:200 900;font-display:swap;src:url(/_next/static/media/c6256ce6d30a299d-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Literata;font-style:italic;font-weight:200 900;font-display:swap;src:url(/_next/static/media/9187e9c0f697e151-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Literata;font-style:italic;font-weight:200 900;font-display:swap;src:url(/_next/static/media/b0ecc10bfe2ff8d4-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Literata;font-style:italic;font-weight:200 900;font-display:swap;src:url(/_next/static/media/1c0acefdc7f4bae4-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Literata;font-style:italic;font-weight:200 900;font-display:swap;src:url(/_next/static/media/175336a67732591c-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Literata;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/8140c3f5465d3dcb-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Literata;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/c65239c6cd09dd6e-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Literata;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/689d5aae6896c892-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Literata;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/2404f3d7e0bb4cd0-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Literata;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/b39c22a0b74cc818-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Literata;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/47ae032d3fb504fe-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Literata;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/bf0b6634f251496a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Literata Fallback;src:local("Times New Roman");ascent-override:99.62%;descent-override:26.07%;line-gap-override:0.00%;size-adjust:118.15%}.__className_4bdf59{font-family:Literata,Literata Fallback}.__variable_4bdf59{--font-serif:"Literata","Literata Fallback"}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_f367f3{font-family:Inter,Inter Fallback;font-style:normal}.__variable_f367f3{--font-sans:"Inter","Inter Fallback"}:root{--bg:#f5f0e6;--bg-2:#ede5d6;--paper:#fffdf8;--ink:#2a241d;--ink-soft:#4a4036;--muted:#857868;--line:#e2d8c6;--accent:#9c3d2e;--accent-soft:#f3e1d8;--wood-1:#8a5a3b;--wood-2:#6b4329;--shadow:0 1px 2px rgba(60,40,20,.06),0 12px 32px -12px rgba(60,40,20,.25);--reader-size:19px;--radius:14px;color-scheme:light}:root[data-theme=sepia]{--bg:#e9dcc3;--bg-2:#dfceae;--paper:#f4e8d0;--ink:#3a2c1c;--ink-soft:#54412b;--muted:#8a7255;--line:#d3bf99;--accent:#8a4b1f;--accent-soft:#ead3b4}:root[data-theme=night]{--bg:#161513;--bg-2:#1e1c19;--paper:#22201c;--ink:#e8dfd0;--ink-soft:#cbbfad;--muted:#968a79;--line:#36322b;--accent:#e3a45a;--accent-soft:#3a2d1d;--wood-1:#4a3322;--wood-2:#33231a;--shadow:0 1px 2px rgba(0,0,0,.3),0 14px 36px -12px rgba(0,0,0,.7);color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-sans),system-ui,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased;transition:background .4s ease,color .4s ease;background-image:radial-gradient(rgba(120,90,50,.05) 1px,transparent 0);background-size:3px 3px}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}h1,h2,h3{font-family:var(--font-display),Georgia,serif;font-weight:600;letter-spacing:-.01em;line-height:1.15}.container{width:100%;max-width:1160px;margin:0 auto;padding:0 16px}@media (min-width:720px){.container{padding:0 28px}}.narrow{max-width:820px}.section{padding:3.5rem 0}.muted{color:var(--muted)}.small{font-size:.85rem}.ornament{font-size:1.6rem;color:var(--accent);margin:0 0 .5rem;text-align:center}.button{display:inline-block;padding:.7rem 1.2rem;border-radius:999px;background:var(--ink);color:var(--bg);font-weight:600;font-size:.92rem;font-family:var(--font-sans);transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px);background:var(--accent)}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--bg) 82%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.header-inner{justify-content:space-between;height:64px;gap:1rem}.brand,.header-inner{display:flex;align-items:center}.brand{gap:.55rem;font-family:var(--font-display);font-size:1.25rem}.brand em{color:var(--accent);font-style:italic}.brand-mark{color:var(--accent);display:grid}.nav{display:flex;align-items:center;gap:1.2rem;font-size:.92rem;font-weight:500}.nav a{color:var(--ink-soft);position:relative}.nav a:after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:2px;background:var(--accent);transform:scaleX(0);transition:transform .25s;transform-origin:left}.nav a:hover:after{transform:scaleX(1)}@media (max-width:640px){.nav a:not(:last-of-type),.theme-label{display:none}}.theme-toggle{display:inline-flex;align-items:center;gap:.4rem;cursor:pointer;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:999px;padding:.35rem .8rem;font:inherit;font-size:.85rem}.theme-toggle:hover{border-color:var(--accent)}.hero{padding:4.5rem 0 3rem;overflow:hidden}.hero-inner{display:grid;grid-gap:3rem;gap:3rem;align-items:center}@media (min-width:900px){.hero-inner{grid-template-columns:1.3fr 1fr}}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.75rem;font-weight:600;color:var(--accent);margin:0 0 1rem}.hero h1{font-size:clamp(2.3rem,5.5vw,4rem);margin:0 0 1.2rem;font-weight:500}.hero h1 em{font-style:italic;color:var(--accent)}.hero-sub{font-family:var(--font-serif);font-size:1.15rem;color:var(--ink-soft);max-width:38rem;margin:0}.stats{display:flex;gap:2.2rem;margin:2.2rem 0 0;flex-wrap:wrap}.stats div{border-left:2px solid var(--accent);padding-left:.9rem}.stats dt{font-family:var(--font-display);font-size:2rem;font-weight:600;line-height:1}.stats dd{margin:.3rem 0 0;color:var(--muted);font-size:.85rem}.hero-featured{position:relative;justify-self:center;display:flex;flex-direction:column;align-items:center;gap:1.4rem;padding:2.5rem 2.5rem 2rem;border-radius:24px;background:radial-gradient(circle at 50% 35%,var(--accent-soft),transparent 70%)}.hero-featured-caption{text-align:center;display:flex;flex-direction:column;gap:.15rem}.hero-featured-caption strong{font-family:var(--font-display);font-size:1.3rem}.hero-featured-caption span{color:var(--muted);font-size:.9rem}.hero-featured .read-link{color:var(--accent);font-weight:600;margin-top:.4rem}.ribbon{position:absolute;top:1rem;right:0;background:var(--accent);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.35rem .8rem;border-radius:4px 0 0 4px;z-index:2}.book3d{perspective:1200px;width:var(--w);flex-shrink:0}.book3d-inner{position:relative;transform-style:preserve-3d;transform:rotateY(-22deg);transition:transform .6s cubic-bezier(.2,.8,.2,1);border-radius:2px 6px 6px 2px;box-shadow:18px 22px 30px -12px rgba(0,0,0,.45)}.book3d-inner img,.cover-fallback{border-radius:2px 5px 5px 2px;width:100%;aspect-ratio:2/3;object-fit:cover}.book3d-inner:before{content:"";position:absolute;top:0;left:0;width:22px;height:100%;background:linear-gradient(90deg,rgba(0,0,0,.35),rgba(255,255,255,.15) 40%,rgba(0,0,0,.1));transform:translateZ(1px);z-index:1;border-radius:2px 0 0 2px;pointer-events:none}.book3d-inner:after{content:"";position:absolute;top:3px;right:-14px;width:14px;height:calc(100% - 6px);background:repeating-linear-gradient(90deg,#f7f1e3 0 1px,#d9ceb6 1px 2px);transform:rotateY(90deg) translateZ(0);transform-origin:left}.book3d:hover .book3d-inner,a:hover .book3d-inner{transform:rotateY(-6deg) translateY(-6px)}.book3d-sm .book3d-inner:before{width:12px}.cover-fallback{background:var(--spine);color:#fff;display:flex;flex-direction:column;justify-content:center;padding:1rem;font-family:var(--font-display);font-size:1.1rem;gap:.4rem}.cover-fallback small{font-family:var(--font-sans);opacity:.8;font-size:.75rem}.genre-chips{display:flex;flex-wrap:wrap;gap:.6rem}.chip{--genre:var(--accent);display:inline-flex;align-items:center;gap:.4rem;font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--genre);background:color-mix(in srgb,var(--genre) 12%,transparent);padding:.3rem .7rem;border-radius:999px}:root[data-theme=night] .chip{color:color-mix(in srgb,var(--genre) 60%,white)}.chip-lg{font-size:.85rem;text-transform:none;letter-spacing:0;padding:.5rem 1rem;border:1px solid color-mix(in srgb,var(--genre) 25%,transparent);transition:all .2s}.chip-lg:hover{background:var(--genre);color:#fff!important;transform:translateY(-2px)}.section-head{margin-bottom:2rem}.section-head h2{font-size:clamp(1.8rem,3.5vw,2.4rem);margin:0 0 .4rem}.section-head p{margin:0}.card-grid{display:grid;grid-gap:1.5rem;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr))}.book-card{display:flex;gap:1.6rem;padding:1.6rem;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);transition:transform .3s,box-shadow .3s}.book-card:hover{transform:translateY(-4px)}.book-card-body{display:flex;flex-direction:column;gap:.35rem;min-width:0;align-items:flex-start}.book-card h3{font-size:1.5rem;margin:.3rem 0 0}.byline{color:var(--muted);margin:0;font-size:.9rem}.excerpt{font-family:var(--font-serif);color:var(--ink-soft);margin:.4rem 0;font-size:.98rem;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.meta{display:flex;gap:.5rem;align-items:center;font-size:.82rem;color:var(--muted);margin:auto 0 0}.stars{color:#d9a441;letter-spacing:.1em}.stars-off{opacity:.25}@media (max-width:520px){.book-card{flex-direction:column;text-align:center}.book-card,.book-card-body{align-items:center}}.library{background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.shelf{margin-bottom:3rem}.shelf-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1rem}.shelf-head>div{display:grid;grid-template-columns:auto 1fr;grid-column-gap:.8rem;column-gap:.8rem;align-items:center}.shelf-icon{grid-row:span 2;width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:var(--genre);color:#fff;font-size:1.2rem}.shelf-head h3{margin:0;font-size:1.35rem}.shelf-head h3 a:hover{color:var(--genre)}.shelf-head p{margin:0;font-size:.88rem}.shelf-count{font-size:.8rem;color:var(--muted);white-space:nowrap}.shelf-board{position:relative;display:flex;align-items:flex-end;gap:2.2rem;min-height:210px;padding:1.5rem 1.8rem 0;overflow-x:auto;scrollbar-width:thin;background:linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.02) 60%,transparent);border-radius:8px 8px 0 0}.shelf-board:after{content:none}.shelf{position:relative}.shelf-board{border-bottom:18px solid var(--wood-1);box-shadow:0 10px 14px -8px rgba(0,0,0,.45);background-image:linear-gradient(180deg,rgba(0,0,0,.06),transparent 70%),linear-gradient(0deg,var(--wood-2) 0 2px,transparent 2px)}.shelf-book{display:flex;flex-direction:column;align-items:center;position:relative;padding-bottom:0}.shelf-book .book3d-inner{transform:rotateY(-14deg)}.shelf-book:hover .book3d-inner{transform:rotateY(0) translateY(-14px) scale(1.04)}.shelf-book-label{position:absolute;bottom:calc(100% + 14px);left:50%;transform:translate(-50%,6px);opacity:0;white-space:nowrap;background:var(--ink);color:var(--bg);font-size:.75rem;padding:.3rem .6rem;border-radius:6px;transition:all .25s;pointer-events:none}.shelf-book:hover .shelf-book-label{opacity:1;transform:translate(-50%)}.shelf-empty{gap:1.5rem;height:170px;width:100%}.ghost-spines,.shelf-empty{display:flex;align-items:flex-end}.ghost-spines{gap:6px;height:100%}.ghost-spines span{width:22px;border-radius:3px 3px 0 0;border:1.5px dashed color-mix(in srgb,var(--genre) 45%,transparent);border-bottom:none;background:color-mix(in srgb,var(--genre) 6%,transparent)}.shelf-empty p{font-family:var(--font-serif);font-style:italic;color:var(--muted);margin:0 0 1.2rem}.breadcrumb{font-size:.82rem;color:var(--muted);margin:0 0 1rem}.breadcrumb a:hover{color:var(--accent)}.genre-hero{display:flex;gap:1.2rem;align-items:center;margin-bottom:2.5rem}.genre-hero h1{margin:0;font-size:clamp(2rem,5vw,3rem)}.genre-hero p{margin:.3rem 0 0}.genre-hero-icon{width:72px;height:72px;display:grid;place-items:center;border-radius:20px;background:var(--genre);color:#fff;font-size:2rem;flex-shrink:0}.book-hero{padding:3.5rem 0 4.5rem;background:radial-gradient(ellipse at 20% 30%,color-mix(in srgb,var(--spine) 18%,transparent),transparent 60%),var(--bg-2);border-bottom:1px solid var(--line)}.book-hero-inner{display:grid;grid-gap:3rem;gap:3rem;align-items:center}@media (min-width:820px){.book-hero-inner{grid-template-columns:300px 1fr}}.book-hero-cover{display:flex;justify-content:center;animation:rise .9s cubic-bezier(.2,.8,.2,1) both}.book-hero h1{font-size:clamp(2.6rem,6vw,4.2rem);margin:0}.subtitle{font-family:var(--font-serif);font-style:italic;font-size:1.15rem;color:var(--ink-soft);margin:.6rem 0 0;max-width:40rem}.book-hero .byline{font-size:1rem;margin-top:1rem}.facts{list-style:none;padding:0;margin:1.6rem 0;display:flex;flex-wrap:wrap;gap:.8rem 2rem}.facts li{display:flex;flex-direction:column;font-weight:600}.facts span{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:500}.tagline{margin:0;font-family:var(--font-display);font-style:italic;font-size:1.35rem;border-left:3px solid var(--accent);padding-left:1rem;color:var(--ink)}.tags{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.4rem 0 0}.tags span{font-size:.8rem;color:var(--muted);border:1px solid var(--line);padding:.2rem .6rem;border-radius:6px}.reader-layout{display:grid;grid-gap:2.5rem;gap:2.5rem;padding-top:0;margin-top:-2.5rem;position:relative}@media (min-width:1080px){.reader-layout{grid-template-columns:230px minmax(0,1fr)}}.toc{display:none}@media (min-width:1080px){.toc{display:block;position:-webkit-sticky;position:sticky;top:96px;align-self:start;padding-top:4rem;max-height:calc(100vh - 110px);overflow-y:auto;scrollbar-width:thin}}.toc-title{font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;font-weight:700;color:var(--muted);margin:0 0 1rem}.toc ol{list-style:none;margin:0;padding:0;border-left:1px solid var(--line)}.toc li a{display:block;padding:.38rem 0 .38rem 1rem;font-size:.86rem;color:var(--muted);border-left:2px solid transparent;margin-left:-1px;transition:all .2s;line-height:1.35}.toc li a:hover{color:var(--ink)}.toc li.active a{color:var(--accent);border-left-color:var(--accent);font-weight:600}.progress{position:fixed;top:0;left:0;right:0;height:3px;background:var(--accent);transform-origin:left;z-index:60;transition:transform .1s linear}.page{position:relative;background:var(--paper);border-radius:4px 12px 12px 4px;padding:clamp(1.8rem,5vw,4.5rem) clamp(1.3rem,6vw,5.5rem);box-shadow:var(--shadow),4px 4px 0 -1px var(--paper),4px 4px 0 0 var(--line),8px 8px 0 -1px var(--paper),8px 8px 0 0 var(--line);animation:pageIn .9s cubic-bezier(.2,.8,.2,1) .15s both;transform-origin:left center;max-width:780px;width:100%;justify-self:center}.page:before{content:"";position:absolute;inset:0 auto 0 0;width:40px;background:linear-gradient(90deg,rgba(0,0,0,.08),transparent);border-radius:4px 0 0 4px;pointer-events:none}.page-solo{max-width:none}.page-content{font-family:var(--font-serif);font-size:var(--reader-size);line-height:1.8;color:var(--ink);-webkit-hyphens:auto;hyphens:auto}.page-content>p{margin:0 0 1.25em}.page-content .lead{font-size:1.1em;color:var(--ink-soft)}.page-content .lead:first-letter{float:left;font-family:var(--font-display);font-size:4.2em;line-height:.8;padding:.08em .12em 0 0;color:var(--accent);font-weight:600}.page-content h1{font-size:2.4rem;margin-top:0}.page-content h2{font-size:1.75em;margin:2em 0 .9em;padding-top:.6em;position:relative;text-align:center}.page-content h2:before{content:"· ❦ ·";display:block;font-size:.5em;color:var(--accent);letter-spacing:.3em;margin-bottom:.8em}.page-content h3{font-size:1.2em;margin:2em 0 .8em}.page-content strong{color:var(--ink);font-weight:700}.page-content em{color:var(--ink-soft)}.page-content ol,.page-content ul{padding-left:1.3em;margin:0 0 1.4em}.page-content li{margin-bottom:.55em}.page-content li::marker{color:var(--accent);font-weight:700}.page-content blockquote{margin:2em 0;padding:1.2em 1.4em 1.2em 3.2em;position:relative;font-family:var(--font-display);font-style:italic;font-size:1.15em;line-height:1.5;background:var(--accent-soft);border-radius:10px;color:var(--ink)}.page-content blockquote:before{content:"“";position:absolute;left:.35em;top:-.05em;font-size:3.4em;color:var(--accent);line-height:1}.page-content blockquote p{margin:0}.page-content .callout{font-family:var(--font-sans);font-size:.86em;line-height:1.65;margin:1.8em 0;padding:1.1em 1.3em;border:1px dashed var(--accent);border-radius:10px;color:var(--ink-soft)}.page-content .callout strong{color:var(--accent)}.page-content table{width:100%;border-collapse:collapse;font-family:var(--font-sans);font-size:.8em;margin:1.5em 0 2em;display:block;overflow-x:auto}.page-content thead tr{border-bottom:2px solid var(--ink)}.page-content th{text-align:left;padding:.7em .8em;font-weight:700}.page-content th:first-child{color:#b23a48}.page-content th:last-child{color:#2e7d5b}:root[data-theme=night] .page-content th:first-child{color:#ef7d8a}:root[data-theme=night] .page-content th:last-child{color:#6fcf9e}.page-content td{padding:.7em .8em;border-bottom:1px solid var(--line);vertical-align:top;width:50%}.page-content tr:nth-child(2n) td{background:color-mix(in srgb,var(--bg-2) 50%,transparent)}.page-end{text-align:center;margin-top:4rem;padding-top:2rem;border-top:1px solid var(--line);font-family:var(--font-serif);font-style:italic;color:var(--muted)}.reader-bar{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);z-index:50;display:flex;align-items:center;gap:.3rem;padding:.35rem .5rem;background:color-mix(in srgb,var(--paper) 92%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:999px;box-shadow:var(--shadow);font-size:.82rem}.reader-bar button{border:0;background:transparent;color:var(--ink);font:inherit;font-weight:600;cursor:pointer;padding:.35rem .7rem;border-radius:999px}.reader-bar button:hover{background:var(--accent-soft)}.reader-bar-sep{width:1px;height:18px;background:var(--line);margin:0 .3rem}.reader-page{color:var(--muted);padding:0 .4rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.reader-pct{color:var(--accent);font-weight:700;padding:0 .6rem 0 .2rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:3.2em;text-align:right}.site-footer{text-align:center;padding:3rem 0 5rem;border-top:1px solid var(--line);margin-top:2rem;font-family:var(--font-serif);color:var(--ink-soft)}.site-footer p{margin:.3rem 0}@keyframes rise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes pageIn{0%{opacity:0;transform:perspective(1600px) rotateY(-18deg) translateX(-20px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}html{scroll-behavior:auto}}