:root{--ink:#233b36;--ink2:#52645c;--forest:#153c36;--forest2:#214e42;--gold:#b69255;--paper:#f5f1e8;--cream:#faf8f2;--line:#dcd8ce;--brown:#8d7461;--serif:'Noto Serif','DejaVu Serif','Times New Roman',Georgia,serif;--sans:'Noto Sans','Segoe UI',Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}button,input,a{font:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}img{display:block;max-width:100%}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #d4a454;outline-offset:3px}::selection{background:#ddd0ae;color:#132f29}.skip-link{position:absolute;top:-70px;left:20px;padding:14px;z-index:999;background:white}.skip-link:focus{top:15px}.site-header{height:94px;display:flex;align-items:center;justify-content:space-between;padding:0 max(5.5vw,36px);background:#f8f6f0;border-bottom:1px solid #e6e2d8;position:relative;z-index:5}.wordmark{display:flex;gap:13px;align-items:center}.wordmark-symbol{position:relative;display:flex;align-items:center;justify-content:center;width:44px;height:50px;color:var(--forest);border:1.5px solid #8e9e8f;font:700 18px var(--serif);letter-spacing:-3px;padding-right:4px}.wordmark-spark{position:absolute;top:-11px;right:-10px;font:18px var(--serif);color:var(--gold)}.wordmark-lines{display:flex;flex-direction:column;gap:5px;letter-spacing:3.1px}.wordmark-lines strong{font:700 12px var(--sans);letter-spacing:2.2px}.wordmark-lines small{font:600 9px var(--sans);letter-spacing:3.4px;color:#7d867b}.main-nav{display:flex;gap:37px;margin-left:12px}.main-nav a{font-size:12px;font-weight:700;letter-spacing:.5px;color:#46584e;transition:color .2s}.main-nav a:hover,.quiet-link:hover,.about-link:hover{color:#bf985c}.nav-cta{background:var(--forest);color:#fff;padding:15px 20px;font-size:11px;font-weight:700;letter-spacing:.8px;border:1px solid var(--forest);transition:.2s}.nav-cta:hover{background:#265649}.nav-cta span{margin-left:14px;color:#dcc8a0}.hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 88% 43%,#335d4d 0%,#1c463d 39%,#133a34 74%);color:white;min-height:625px}.hero:before{content:"";position:absolute;inset:0;opacity:.12;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 170 170' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0L170 170M170 0L0 170' stroke='%23e2d7af' stroke-width='.4'/%3E%3C/svg%3E");background-size:170px 170px;pointer-events:none}.hero-inner{max-width:1360px;margin:auto;padding:84px 72px 74px;display:grid;grid-template-columns:52% 48%;align-items:center;min-height:625px;gap:10px}.hero-copy{position:relative;z-index:2;align-self:center}.eyebrow{display:flex;gap:16px;align-items:center;font-size:10px;font-weight:700;letter-spacing:3.3px;color:#ddccab}.eyebrow-line{width:36px;height:1px;background:#c6a875}.hero h1{margin:34px 0 23px;font:normal clamp(48px,5.1vw,78px)/1.13 var(--serif);letter-spacing:-2.6px;color:#fffdf7}.hero h1 em{font-weight:normal;color:#e2c397}.hero-copy p{max-width:500px;font:16px/1.94 var(--serif);color:#d4e0d6}.hero-copy p strong{color:white;font-weight:normal}.hero-actions{display:flex;align-items:center;gap:30px;margin:35px 0 46px}.primary-button{display:inline-flex;align-items:center;gap:25px;padding:17px 24px;background:#e8d2ac;color:#213b33;font-weight:700;letter-spacing:.2px;font-size:12px;transition:transform .2s,background .2s}.primary-button:hover{background:#f5dfb9;transform:translateY(-2px)}.quiet-link{font-size:12px;color:#e0ddcf;white-space:nowrap}.quiet-link span{padding-left:7px}.hero-meta{display:flex;gap:24px;align-items:center;color:#eedbc0}.hero-meta span{font:normal 28px var(--serif);white-space:nowrap}.hero-meta small{display:block;font:700 9px var(--sans);letter-spacing:2px;margin-top:5px;color:#9fb9aa}.hero-meta i{height:27px;width:1px;background:#547265}.hero-art{position:relative;height:470px;isolation:isolate}.hero-halo{position:absolute;width:370px;height:370px;border-radius:50%;background:radial-gradient(circle,#e8c69426 0,#b2a16e10 54%,transparent 72%);border:1px solid #e5d6ae36;left:50%;top:42%;transform:translate(-50%,-50%)}.hero-halo:before,.hero-halo:after{content:"";position:absolute;inset:26px;border:1px solid #e7d5b620;border-radius:50%}.hero-halo:after{inset:55px}.hero-book{position:absolute;width:216px;height:304px;top:67px;left:49%;box-shadow:8px 12px 22px #081d1b44;transform-origin:bottom left;border-radius:2px}.hero-book:after{content:"";position:absolute;inset:0;box-shadow:inset 8px 0 8px #16161028;border-left:4px solid #fff7ea22}.hero-book img{width:100%;height:100%;object-fit:cover}.hero-book-back{transform:translateX(-13%) rotate(19deg);top:88px;z-index:1;filter:brightness(.82)}.hero-book-mid{transform:translateX(-85%) rotate(-17deg);top:94px;z-index:2;filter:brightness(.88)}.hero-book-front{transform:translateX(-44%) rotate(-1deg);top:46px;z-index:3;box-shadow:17px 26px 38px #0d201ca3}.floating-spark{position:absolute;left:6%;top:10%;font-size:28px;color:#e3c995b5}.hero-art-quote{position:absolute;right:-7px;bottom:10px;font:italic 15px/1.6 var(--serif);letter-spacing:.2px;color:#ddc7a5;z-index:4;text-align:right}.quote-symbol{display:block;font:48px/1 var(--serif);color:#bda576}.hero-ornament{position:absolute;color:#ddc3983b}.hero-ornament.one{top:72px;left:35px;font-size:30px}.hero-ornament.two{right:23px;bottom:40px;font-size:19px}.hero-bottom-rule{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);color:#c7a46d;font-size:12px}.hero-bottom-rule:before,.hero-bottom-rule:after{content:"";height:1px;width:87px;background:#8199876b;position:absolute;top:50%}.hero-bottom-rule:before{right:30px}.hero-bottom-rule:after{left:30px}.library-section{padding:92px max(5.5vw,28px) 50px;max-width:1520px;margin:auto}.section-kicker{color:#a58556;font-weight:700;font-size:10px;letter-spacing:2.8px}.section-kicker span{padding:0 7px}.section-intro h2,.author-left h2,.howto-heading h2{font:normal clamp(35px,3.35vw,53px)/1.22 var(--serif);letter-spacing:-1.6px;margin:17px 0 14px}.section-intro h2 em,.author-left h2 em,.howto-heading h2 em{color:#a88861;font-weight:normal}.section-intro p{font:15px/1.8 var(--serif);color:#728077;margin:0;max-width:730px}.library-tools{display:flex;justify-content:space-between;align-items:center;gap:25px;margin:37px 0 33px}.search-field{width:min(530px,100%);height:49px;display:flex;align-items:center;border:1px solid #d9d6ca;background:#fff;box-shadow:0 3px 14px #3d3d2710}.search-field:focus-within{border-color:#bd9962}.search-lens{color:#859087;font:31px var(--serif);margin:0 12px 0 15px}.search-field input{outline:none;border:none;background:none;min-width:0;flex:1;font-size:13px;color:#263b35}.search-field input::placeholder{color:#919a90}.search-shortcut{font-size:9px;letter-spacing:1px;color:#a39e8d;margin-right:15px;white-space:nowrap}.library-count{font-size:11px;font-weight:700;letter-spacing:2px;color:#9a8a73;white-space:nowrap}.book-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:30px;row-gap:36px}.book-card{min-width:0;background:#fff;border:1px solid #e8e4d9;transition:transform .24s,box-shadow .24s;overflow:hidden}.book-card:hover{transform:translateY(-6px);box-shadow:0 19px 39px #30413a17}.book-card-top{display:flex;align-items:center;justify-content:space-between;padding:19px 22px;color:#9d8b6b;font-size:10px;letter-spacing:1.5px;font-weight:700}.book-card-top .card-tag{color:#89938a}.book-cover-wrap{height:315px;display:flex;align-items:center;justify-content:center;position:relative;background:radial-gradient(ellipse at 50% 55%,#f2eee4 20%,#e9e6dd 75%);overflow:hidden;padding:8px 35px}.book-cover-wrap:before{content:"";position:absolute;bottom:31px;left:15%;right:15%;height:10px;background:#2b281e36;filter:blur(13px);border-radius:50%}.cover-img{position:relative;height:288px;width:auto;max-width:90%;object-fit:contain;border-radius:1px;box-shadow:7px 8px 20px #2d281d36;transition:transform .3s;cursor:pointer}.book-card:hover .cover-img{transform:translateY(-4px) rotate(-1.3deg)}.cover-open-hit{position:absolute;inset:0;background:transparent;border:0;z-index:1}.book-card-body{padding:23px 25px 25px}.book-card-body h3{font:normal 30px/1.22 var(--serif);margin:0 0 12px;color:#273d36;letter-spacing:-.8px}.book-card-body p{height:54px;overflow:hidden;margin:0 0 21px;font:14px/1.8 var(--serif);color:#6d7a70}.book-card-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #eae7e1;padding-top:17px;gap:12px}.book-card-meta{display:flex;gap:10px;align-items:center;font-size:11px;color:#8b9189}.book-card-meta strong{color:#a88a61;font-weight:700}.read-book{color:var(--forest);background:transparent;border:0;font-size:12px;font-weight:700;padding:8px 0;white-space:nowrap}.read-book span{margin-left:7px;font-size:18px;vertical-align:-1px}.read-book:hover{color:var(--gold)}.no-results{border:1px dashed #d9cebd;padding:25px;text-align:center;color:#6e796e;font:17px var(--serif)}.search-results{background:#f6f3eb;border:1px solid #e0dbd0;margin:-14px 0 30px;padding:21px 25px}.search-results-title{display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:1.5px;font-weight:700;color:#74684e;padding-bottom:12px;border-bottom:1px solid #dedacf}.search-result{display:block;width:100%;text-align:left;background:none;border:none;padding:12px 0;color:#33483e;border-bottom:1px solid #e7e1d6;font:14px/1.65 var(--serif)}.search-result:last-child{border-bottom:0}.search-result strong{font-weight:700}.search-result small{display:inline-block;font:11px var(--sans);color:#8d826a;margin-left:9px}.search-result p{margin:3px 0 0;color:#7a8174}.search-result mark{background:#e5d5b2;color:#293d35}.section-endline{color:#b3a28a;margin:53px auto 0;display:flex;align-items:center;justify-content:center;gap:24px;font-size:10px;letter-spacing:2.2px;font-weight:700;text-align:center}.section-endline:before,.section-endline:after{content:"";height:1px;background:#dfd8c9;flex:1;max-width:220px}.section-endline span{color:#b39562}.author-section{display:grid;grid-template-columns:1fr 1fr;gap:70px;background:#eeeae0;padding:100px max(8vw,50px);position:relative;overflow:hidden}.author-decoration{position:absolute;font:390px/1 var(--serif);color:#dad1bd;opacity:.4;left:10px;top:10px;pointer-events:none}.author-left,.author-right{position:relative}.author-left h2{margin-top:25px}.author-right{padding-top:27px;max-width:610px}.author-right p{font:17px/1.95 var(--serif);color:#506257;margin:0 0 20px}.author-right p strong{color:#304e3f}.about-link{display:inline-flex;align-items:center;gap:20px;border-bottom:1px solid #b99b69;padding:10px 0;font-size:12px;font-weight:700;color:var(--forest)}.howto-section{padding:86px max(5.5vw,40px) 110px;max-width:1450px;margin:auto}.howto-heading{text-align:center;margin-bottom:45px}.howto-heading h2{margin-top:16px}.howto-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.howto-grid>div{border-top:1px solid #b4ae9e;padding:23px 8px}.howto-grid b{color:#aa8b5d;font:normal 26px var(--serif)}.howto-grid h3{font:normal 24px var(--serif);margin:19px 0 7px}.howto-grid p{font:14px/1.8 var(--serif);color:#738076}.site-footer{min-height:104px;background:#102f2b;color:#b7c3b9;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:25px max(5.5vw,35px);font-size:11px;letter-spacing:.4px}.footer-brand{color:#e6dabd;font-size:15px}.footer-brand span{font:700 10px var(--sans);letter-spacing:2px;margin-left:9px}.site-footer p{font:italic 14px var(--serif);color:#abbeb4}.site-footer a:hover{color:white}
/* THE READING ROOM */
.reader-overlay[hidden],.search-results[hidden],.no-results[hidden],.toc-results[hidden]{display:none!important}.reader-overlay{position:fixed;inset:0;background:#e8e4dc;z-index:100;display:flex;flex-direction:column;color:#273f38;overflow:hidden}.reader-toolbar{height:76px;flex-shrink:0;background:#fffdf7;border-bottom:1px solid #e0d9ce;display:flex;align-items:center;gap:20px;padding:0 26px;box-shadow:0 2px 9px #2b291014;z-index:10}.reader-control{border:1px solid #ddd8cc;background:#fffdf9;padding:10px 14px;display:inline-flex;gap:9px;justify-content:center;align-items:center;color:#364a3c;font-size:12px;font-weight:700;white-space:nowrap;min-height:41px}.reader-control:hover,.page-nav:hover{background:#f0e9da}.reader-control>span:first-child{font-size:19px;font-weight:400;line-height:1}.reader-control.icon-btn{width:43px;height:43px;padding:0;font-size:29px;font-weight:300}.toolbar-book{display:flex;flex-direction:column;gap:4px;min-width:0}.toolbar-overline{font-size:8px;font-weight:700;letter-spacing:1.8px;color:#a58b60}.toolbar-book strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:normal 24px/1.04 var(--serif)}.toolbar-book small{font-size:8px;letter-spacing:1.6px;color:#9c9d91}.reader-toolbar-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.reader-main{flex:1;min-height:0;display:flex;position:relative}.reader-sidebar{width:290px;min-width:290px;background:#f8f6f0;border-right:1px solid #d6d2c7;overflow-y:auto;overscroll-behavior:contain;transition:margin-left .25s;z-index:7}.sidebar-closed .reader-sidebar{margin-left:-290px}.reader-sidebar-head{padding:27px 23px 18px;border-bottom:1px solid #e3ddd0}.eyebrow-simple{font-size:10px;font-weight:700;letter-spacing:1.7px;color:#b09464}.reader-sidebar h3{font:normal 25px/1.2 var(--serif);margin:12px 0 7px}.reader-sidebar-head p{font:12px var(--serif);color:#7f897c;margin:0}.reader-search-wrap{height:41px;border:1px solid #dcd8cc;background:#fff;display:flex;align-items:center;gap:8px;margin:18px 16px 13px;padding:0 10px}.reader-search-wrap span{font:26px var(--serif);color:#9aa399}.reader-search-wrap input{border:0;outline:0;width:100%;background:transparent;min-width:0;font-size:12px;color:#344c43}.toc-entries{padding:0 12px 36px}.toc-entry{width:100%;text-align:left;padding:12px 9px;display:flex;align-items:start;gap:11px;border:0;border-bottom:1px solid #e8e5dc;background:transparent;color:#394c3f;font:14px/1.4 var(--serif)}.toc-entry .toc-num{flex:0 0 25px;color:#a79a83;font:11px var(--sans);margin-top:3px}.toc-entry .toc-pg{margin-left:auto;flex:0 0 auto;color:#a49b85;font:11px var(--sans);padding-top:4px}.toc-entry.active{background:#eae8dd;color:#123e34;box-shadow:inset 3px 0 #ae945e}.toc-entry:hover{background:#efede4}.toc-results{margin:10px 13px;padding:8px;background:#ede9dc;max-height:50vh;overflow:auto}.toc-results .toc-entry{background:#f9f6ee}.toc-results-title{font:700 10px var(--sans);letter-spacing:1px;color:#907b54;padding:10px 7px}.reader-view-area{flex:1;min-width:0;display:flex;flex-direction:column;align-items:stretch;position:relative;background:radial-gradient(ellipse at 50% 45%,#f6f2e9,#e6e1d7 82%);overflow:hidden}.reader-tip{flex:0 0 41px;text-align:center;padding-top:19px;color:#9b987f;letter-spacing:1.3px;font:700 9px var(--sans)}.reader-tip .tiny-star{color:#b99d62;margin-right:6px}.book-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;overflow:auto;padding:7px 25px 5px;touch-action:pan-y;overscroll-behavior:contain}.book-display{position:relative;width:min(96%,calc((100dvh - 245px)*1.4118),1110px);aspect-ratio:840 / 595;transform-style:preserve-3d;perspective:2200px;filter:drop-shadow(13px 18px 18px #554d3d47);flex:none;transition:transform .24s}.book-display.zoomed{transform:scale(1.33);margin:9% 0}.book-paper{position:absolute;width:50%;height:100%;top:0;background:#faf9f3;overflow:hidden;box-shadow:inset 0 0 24px #1f211e20}.book-paper:after{position:absolute;content:"";inset:0;pointer-events:none}.paper-left{left:0;border-radius:2px 0 0 2px}.paper-left:after{background:linear-gradient(to left,#00000025,transparent 8%,transparent 100%)}.paper-right{right:0;border-radius:0 2px 2px 0}.paper-right:after{background:linear-gradient(to right,#00000025,transparent 8%,transparent 100%)}.book-paper img,.leaf-face img{width:100%;height:100%;object-fit:fill;display:block;user-select:none;-webkit-user-drag:none}.paper-placeholder{height:100%;display:flex;align-items:center;justify-content:center;background:repeating-linear-gradient(90deg,#f2eee4,#f8f5ed 3px,#f6f2e9 7px);color:#baaa8b;font:italic 28px var(--serif)}.book-spine{position:absolute;left:calc(50% - 5px);width:10px;height:100%;pointer-events:none;z-index:3;background:linear-gradient(to right,transparent,#00000028 46%,#ffffff9b 53%,transparent);mix-blend-mode:multiply}.flip-leaf{display:none;position:absolute;top:0;width:50%;height:100%;z-index:5;transform-style:preserve-3d;transition:transform .76s cubic-bezier(.3,.08,.42,1);will-change:transform}.flip-leaf.is-active{display:block}.flip-leaf.forward{left:50%;transform-origin:0% 50%;transform:rotateY(0)}.flip-leaf.forward.turned{transform:rotateY(-180deg)}.flip-leaf.backward{left:0;transform-origin:100% 50%;transform:rotateY(0)}.flip-leaf.backward.turned{transform:rotateY(180deg)}.leaf-face{width:100%;height:100%;position:absolute;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:#fffdf4;overflow:hidden;box-shadow:0 0 10px #0c160e45}.leaf-back{transform:rotateY(180deg)}.reader-controls{flex:0 0 75px;display:flex;justify-content:center;align-items:center;gap:25px;padding:7px 25px;background:#eeeae3b5}.page-nav{min-width:128px;border:1px solid #d1cbbf;background:#f9f7f2;color:#405348;padding:11px 18px;font-size:12px;font-weight:700;display:flex;justify-content:center;align-items:center;gap:14px}.page-nav:disabled{opacity:.35;cursor:default}.page-nav span:first-child,.page-nav span:last-child{white-space:nowrap}.page-nav span[aria-hidden]{font:21px var(--serif)}.page-progress{width:min(300px,38%);text-align:center}.page-progress span{display:block;font:12px var(--serif);color:#686e62;margin-bottom:10px}.page-progress input{appearance:none;-webkit-appearance:none;width:100%;height:3px;outline:none;background:#c9c3b7;cursor:pointer}.page-progress input::-webkit-slider-thumb{-webkit-appearance:none;width:13px;height:13px;border-radius:50%;border:3px solid #e9e5db;background:#244c40;box-shadow:0 0 0 1px #244c40}.page-progress input::-moz-range-thumb{width:8px;height:8px;border-radius:50%;background:#244c40}.reader-note{flex:0 0 33px;line-height:1.3;font:11px/1.3 var(--serif);color:#9d9b90;letter-spacing:.1px;margin:0;text-align:center;padding:7px}.toast{position:fixed;z-index:300;bottom:35px;left:50%;transform:translate(-50%,25px);opacity:0;pointer-events:none;background:#174036;color:white;padding:15px 23px;box-shadow:0 9px 25px #0d271a33;font-size:12px;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}body.reading{overflow:hidden}
@media(max-width:1160px){.hero-inner{padding-left:42px;padding-right:42px}.hero-book{width:176px;height:255px}.hero-art{height:410px}.hero-book-back{top:88px}.hero-book-mid{top:94px}.hero-book-front{top:65px}.book-grid{gap:20px}.book-card-body h3{font-size:26px}.book-cover-wrap{height:290px}.cover-img{height:268px}.reader-sidebar{width:255px;min-width:255px}.sidebar-closed .reader-sidebar{margin-left:-255px}.reader-toolbar{padding:0 14px}.reader-toolbar-actions{gap:5px}.reader-control{padding:10px 11px}.button-caption{display:none}}
@media(max-width:850px){.site-header{height:77px;padding:0 25px}.main-nav{display:none}.hero-inner{grid-template-columns:1fr 1fr;padding:68px 26px 55px;gap:5px;min-height:545px}.hero{min-height:545px}.hero h1{font-size:49px}.hero-copy p{font-size:14px}.hero-actions{gap:15px;flex-wrap:wrap}.hero-meta{gap:12px}.hero-meta span{font-size:22px}.hero-meta small{font-size:8px}.hero-art{height:380px}.hero-book{width:152px;height:225px}.hero-art-quote{bottom:25px;right:2px;font-size:13px}.book-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.author-section{grid-template-columns:1fr;gap:10px;padding:75px 40px}.author-right{padding-top:0}.reader-sidebar{position:absolute;top:0;bottom:0;left:0;width:min(86vw,320px);min-width:0;box-shadow:8px 0 16px #221e1619}.sidebar-closed .reader-sidebar{margin-left:max(-86vw,-320px)}.reader-view-area{width:100%}.book-stage{padding:4px 20px}.reader-tip{font-size:8px}.book-display{width:min(96%,calc((100dvh - 258px)*1.4118))}}
@media(max-width:600px){.site-header{height:70px;padding:0 19px}.wordmark-symbol{width:34px;height:41px;font-size:14px}.wordmark-lines strong{font-size:10px}.wordmark-lines small{font-size:8px}.nav-cta{font-size:10px;padding:13px 12px}.nav-cta span{margin-left:5px}.hero{min-height:0}.hero-inner{display:flex;flex-direction:column;align-items:stretch;padding:54px 23px 25px}.hero-copy{z-index:2}.hero h1{font-size:clamp(44px,10.3vw,60px);letter-spacing:-1.7px;margin:26px 0 14px}.hero-copy p{font-size:15px;line-height:1.8}.eyebrow{font-size:9px;letter-spacing:2px}.hero-actions{margin:24px 0 27px;gap:20px}.primary-button{padding:16px;font-size:12px}.hero-meta{gap:20px}.hero-meta span{font-size:21px}.hero-meta small{font-size:7px}.hero-art{height:310px;margin-top:7px}.hero-halo{width:300px;height:300px;top:52%}.hero-book{width:158px;height:235px;top:38px;left:48%}.hero-book-front{top:24px}.hero-book-back{top:40px}.hero-book-mid{top:44px}.hero-art-quote{right:6px;bottom:0;font-size:12px}.hero-bottom-rule{display:none}.library-section{padding:62px 19px 38px}.section-intro h2,.author-left h2,.howto-heading h2{font-size:38px}.section-intro p{font-size:14px}.library-tools{margin:25px 0 25px;gap:11px}.search-field{height:46px}.search-field input{font-size:12px}.search-shortcut{display:none}.library-count{font-size:9px;letter-spacing:.6px}.book-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.book-card-top{padding:11px 13px;font-size:9px}.book-cover-wrap{height:220px;padding:7px 10px}.cover-img{height:192px}.book-card-body{padding:14px 13px 15px}.book-card-body h3{font-size:22px;min-height:50px}.book-card-body p{font-size:12px;line-height:1.55;min-height:55px;height:55px;margin-bottom:12px}.book-card-bottom{gap:2px;display:block;padding-top:11px}.book-card-meta{font-size:10px}.read-book{margin-top:7px;font-size:11px}.section-endline{font-size:8px;gap:6px;letter-spacing:1.2px}.author-section{padding:65px 21px}.author-right p{font-size:15px}.howto-section{padding:66px 23px 75px}.howto-grid{grid-template-columns:1fr;gap:6px}.howto-grid>div{padding:14px 0}.howto-grid b{font-size:21px}.howto-grid h3{display:inline-block;margin:0 0 4px 16px;font-size:22px}.howto-grid p{margin:3px 0}.site-footer{padding:20px;display:flex;flex-direction:column;text-align:center}.site-footer p{margin:0}.reader-toolbar{height:67px;padding:0 8px;gap:7px}.reader-control{padding:8px;font-size:10px;min-height:36px}.reader-control.icon-btn{width:35px;height:37px;font-size:26px}.toolbar-overline{font-size:7px}.toolbar-book strong{font-size:16px;max-width:148px}.toolbar-book small{font-size:7px}.reader-toolbar-actions{gap:3px}.reader-toolbar-actions .reader-control{width:33px}.reader-toolbar-actions .reader-control>span:first-child{font-size:20px}.reader-tip{font-size:7px;line-height:1.6;letter-spacing:.6px;flex-basis:40px;padding:15px 12px 0}.book-stage{padding:4px 5px 5px}.book-display{width:min(96%,calc((100dvh - 238px)*.70588),455px);aspect-ratio:420 / 595}.book-paper{width:100%}.paper-left{display:none}.paper-right{right:0}.book-spine{display:none}.flip-leaf.mobile{width:100%;left:0}.flip-leaf.mobile.forward{transform-origin:0% 50%}.flip-leaf.mobile.backward{transform-origin:100% 50%}.book-display.zoomed{transform:scale(1.4);margin:21% 0}.reader-controls{height:67px;flex-basis:67px;gap:8px;padding:5px}.page-nav{min-width:72px;padding:10px 7px;font-size:10px;gap:4px}.page-nav span[aria-hidden]{font-size:15px}.page-progress{width:min(180px,37%)}.page-progress span{font-size:11px}.reader-note{font-size:9px;flex-basis:38px;padding:9px 9px}.reader-sidebar{top:0;width:min(90vw,300px)}.sidebar-closed .reader-sidebar{margin-left:max(-90vw,-300px)}.search-results{padding:12px}.search-results-title{font-size:9px}.search-result{font-size:12px}.search-result small{font-size:10px}}
@media(max-width:390px){.wordmark-lines strong{font-size:9px;letter-spacing:1px}.wordmark-lines small{letter-spacing:1px}.nav-cta{padding:9px 8px}.hero h1{font-size:42px}.hero-meta{gap:9px}.book-cover-wrap{height:188px}.cover-img{height:165px}.book-card-body h3{font-size:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}


/* Portrait and author story — added 2026-10-21 */
.author-section{grid-template-columns:minmax(0,.91fr) minmax(0,1.09fr);gap:clamp(35px,5vw,95px);align-items:start;padding-top:90px;padding-bottom:90px}
.author-left h2{margin-bottom:26px}
.author-portrait{position:relative;max-width:385px;margin:0;overflow:hidden;background:#c3beb4;box-shadow:16px 20px 40px #3f48311b}
.author-portrait img{width:100%;height:auto;aspect-ratio:1088/1445;object-fit:cover;display:block}
.author-portrait figcaption{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#f9f4e5;background:#1a3e37;padding:15px 19px;font:12px var(--sans);letter-spacing:.5px}
.author-portrait figcaption strong{font:20px var(--serif);font-weight:normal}
.author-portrait figcaption span{color:#dfcaa7;font:12px var(--serif)}
.author-right{padding-top:72px}
.author-right-kicker{font:700 10px var(--sans);letter-spacing:2.5px;color:#947648;padding-bottom:23px}
.author-feature-quote{font:italic clamp(23px,2.3vw,32px)/1.55 var(--serif);margin:28px 0 23px;padding:15px 0 15px 24px;border-left:2px solid #ae8c51;color:#265043}
.author-story-link{font-size:13px;padding-top:14px;padding-bottom:12px}
.story-section{background:#faf9f5;color:#263c35;padding:102px max(5.5vw,25px) 104px;border-top:1px solid #e6e0d4}
.story-shell{max-width:1170px;margin:0 auto}
.story-topline{display:flex;align-items:center;justify-content:space-between;padding-bottom:22px;border-bottom:1px solid #c9b99c;font:700 10px var(--sans);letter-spacing:2px;color:#9c835d}
.story-topline span:last-child{font:22px var(--serif)}
.story-header{display:grid;grid-template-columns:minmax(0,1fr) 185px;gap:25px;align-items:end;padding:43px 0 32px}
.story-header h2{font:normal clamp(36px,4.35vw,66px)/1.18 var(--serif);letter-spacing:-1.4px;max-width:870px;margin:14px 0 27px;color:#193c33}
.story-header h2 span{display:block;font-style:italic;font-size:.75em;line-height:1.3;color:#9e7e51;margin-top:10px}
.story-byline{font:15px/1.7 var(--serif);color:#657065;margin:0}
.story-byline strong{color:#314e43;font-weight:700}
.story-year{font:58px/.82 var(--serif);color:#d5c9b4;text-align:right;align-self:center}
.story-year span{font-size:27px;letter-spacing:1px}
.story-divider{display:flex;align-items:center;gap:23px;color:#b79b70;font-size:13px;margin:6px 0 34px}
.story-divider::before,.story-divider::after{content:"";height:1px;flex:1;background:#e4ddcf}
.story-prose{max-width:850px;margin:auto;font:clamp(17px,1.5vw,19px)/1.98 var(--serif);color:#354940;letter-spacing:.06px}
.story-prose p{margin:0 0 25px;text-align:justify;text-wrap:pretty}
.story-prose p:first-child:first-letter{float:left;font:72px/.88 var(--serif);color:#a37f4e;padding-right:11px;padding-top:9px}
.story-ending{max-width:850px;margin:42px auto 0;display:flex;align-items:center;gap:14px;border-top:1px solid #e2d9ca;padding-top:22px;font:italic 15px var(--serif);color:#8e826e}
.story-ending-symbol{font:26px var(--serif);color:#b99a6c}
.story-back{display:table;font:700 12px var(--sans);letter-spacing:.4px;border-bottom:1px solid #b29a70;margin:34px auto 0;padding:9px 0;color:#1d493c}
.story-back:hover{color:#a37f4e}
@media(max-width:850px){
  .author-section{grid-template-columns:1fr;gap:32px;padding:75px 40px}
  .author-right{padding-top:0;max-width:700px}
  .author-left{display:grid;grid-template-columns:minmax(0,1fr) 225px;column-gap:25px;align-items:start}
  .author-left .section-kicker{grid-column:1}
  .author-left h2{grid-column:1;margin-bottom:0}
  .author-portrait{grid-column:2;grid-row:1/3;max-width:225px}
  .story-section{padding:70px 36px 77px}
  .story-header{grid-template-columns:1fr}
  .story-year{display:none}
  .story-prose p{text-align:left}
}
@media(max-width:600px){
  .author-section{padding:65px 21px}
  .author-left{display:block}
  .author-left h2{margin-bottom:23px}
  .author-portrait{max-width:320px;margin:0 auto 25px}
  .author-right{padding-top:0}
  .author-right-kicker{padding-bottom:15px}
  .author-feature-quote{font-size:23px;margin:15px 0 20px}
  .story-section{padding:63px 21px 65px}
  .story-topline{font-size:8px;letter-spacing:1.5px}
  .story-header{padding:35px 0 25px}
  .story-header h2{font-size:36px;line-height:1.18;letter-spacing:-.8px}
  .story-header h2 span{font-size:.72em;line-height:1.3}
  .story-byline{font-size:13px}
  .story-divider{margin-bottom:27px}
  .story-prose{font-size:16px;line-height:1.92}
  .story-prose p{margin-bottom:21px}
  .story-prose p:first-child:first-letter{font-size:58px;padding-top:7px}
}

/* ==============================================================
   Thơ phổ nhạc + đọc linh hoạt mọi độ phân giải (2026-10-21)
   ============================================================= */
.main-nav{gap:clamp(14px,2.3vw,35px)}
.main-nav a{white-space:nowrap}
.music-section{background:#143b34;color:#f8f4e9;padding:clamp(66px,7vw,108px) max(3vw,20px) clamp(70px,8vw,110px);position:relative;overflow:hidden}
.music-section:before{content:'♫';position:absolute;right:-.06em;top:-.4em;font:normal min(47vw,650px)/1 var(--serif);color:#f3e6c8;opacity:.028;pointer-events:none}
.music-wrap{max-width:1330px;margin:auto;position:relative;z-index:1}
.music-heading-row{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:38px}
.music-kicker{color:#dec39d}
.music-heading-row h2{font:normal clamp(36px,3.7vw,58px)/1.2 var(--serif);letter-spacing:-1.4px;margin:18px 0 14px;max-width:780px}
.music-heading-row h2 em{color:#e4c9a0;font-weight:normal}
.music-heading-row p{font:17px/1.8 var(--serif);color:#cad5c9;margin:0;max-width:700px}
.music-stamp{flex:0 0 124px;border-left:1px solid #8ca69880;padding-left:27px;text-align:left}
.music-stamp span{font:56px/.95 var(--serif);color:#e4c9a0;display:block}
.music-stamp small{display:block;margin-top:12px;letter-spacing:2px;font-size:10px;color:#b8c7b7}
.music-content{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(290px,.9fr);gap:20px;align-items:stretch}
.music-feature{background:#f4f1e8;min-width:0;display:grid;grid-template-columns:minmax(160px,34%) minmax(0,1fr);gap:clamp(20px,3vw,42px);padding:clamp(22px,3vw,39px);color:#233f35;box-shadow:0 18px 45px #00150e33}
.music-artwork{position:relative;align-self:center;max-width:250px;aspect-ratio: 2/3;box-shadow:13px 14px 25px #10291c28;background:#e1dfd5}
.music-artwork img{width:100%;height:100%;object-fit:cover}
.music-art-overlay{position:absolute;bottom:-18px;right:-16px;display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#bb965a;color:#fff;font:37px var(--serif);box-shadow:0 4px 20px #47352244}
.music-details{display:flex;flex-direction:column;justify-content:center;min-width:0}
.music-now-label{color:#947a52;letter-spacing:2.1px;font-weight:700;font-size:10px;display:flex;align-items:center;gap:11px}
.music-on-air{width:8px;height:8px;border-radius:50%;background:#a99976;display:inline-block}
.music-on-air.playing{background:#4c9c70;box-shadow:0 0 0 4px #4c9c702b}
.music-details h3{font:normal clamp(33px,3.35vw,54px)/1.1 var(--serif);margin:23px 0 6px;letter-spacing:-.8px}
.music-poet{color:#907a59;font:italic 20px var(--serif);margin:0 0 17px}
.music-description{font:15px/1.7 var(--serif);color:#5c6e61;margin:0 0 21px;max-width:460px}
#poetryAudio{display:block;width:100%;height:54px;max-width:500px;accent-color:#215646}
.music-actions{display:flex;flex-wrap:wrap;gap:15px;align-items:center;margin-top:20px}
.music-read-link{font:700 12px var(--sans);color:#1c5743;padding:10px 0;border-bottom:1px solid #ab9571}
.music-read-link:hover{color:#aa8649}
.music-audio-label{font:11px var(--sans);color:#8a9489}
.music-tracklist{background:#1e493f;border:1px solid #6a8c7557;padding:clamp(19px,2vw,27px);min-width:0}
.music-tracklist-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #6c8e787a;padding:0 0 19px}
.music-tracklist-heading strong{font:23px var(--serif)}
.music-tracklist-heading small{font:700 10px var(--sans);color:#c7b58d;letter-spacing:1.5px;white-space:nowrap}
.music-track-items{padding:14px 0}
.music-track{display:flex;align-items:center;gap:10px;width:100%;min-width:0;border:1px solid transparent;background:transparent;color:#f1f0e7;padding:14px 7px;text-align:left}
.music-track:hover,.music-track.active{background:#36625177;border-color:#809e8d55}
.track-index{color:#bfa67f;font:15px var(--serif)}
.track-play-icon{width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;border:1px solid #91a99e86;border-radius:50%;font-size:12px}
.track-name{min-width:0;display:flex;flex-direction:column;gap:5px;flex:1}
.track-name strong{font:20px var(--serif);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.track-name small{font:12px var(--serif);color:#c4d0c7}
.track-duration{font:12px var(--sans);color:#e1d0ac}
.music-coming{display:flex;gap:13px;align-items:center;color:#b7c7b9;border-top:1px solid #6c8e787a;padding:22px 0 4px}
.music-coming>span{border:1px dashed #809c8b99;display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:50%;font:24px var(--serif)}
.music-coming strong{display:block;font:15px var(--serif);font-weight:normal;color:#e7ebdf}
.music-coming small{display:block;margin-top:6px;font:11px/1.4 var(--sans);color:#aabdb1}
/* Reader: scrollable, genuinely legible page rather than shrinking to fit viewport height */
.book-display[hidden],.reader-text-page[hidden]{display:none!important}
.reader-toolbar{height:79px;gap:13px;padding:0 20px}
.reader-toolbar-actions{gap:7px}
.reader-control{min-height:42px;padding:10px 12px}
.reader-mode-switch{display:flex;align-items:center;padding:3px;border:1px solid #d8d1c4;background:#eeeae0;border-radius:5px;flex:0 0 auto}
.reader-mode{font:700 12px var(--sans);border:0;background:transparent;color:#687568;min-height:36px;padding:9px 12px;border-radius:3px;white-space:nowrap}
.reader-mode[aria-pressed=true]{background:#1d4b3e;color:#fff;box-shadow:0 2px 6px #2036292c}
.reader-zoom-group{display:flex;gap:0;align-items:center;min-height:42px;background:#fffdf7;border:1px solid #d8d1c4}
.reader-zoom-group .zoom-ctrl{border:0;background:transparent;min-width:36px;min-height:40px;font:25px/1 var(--sans);padding:5px;color:#1d493a}
.reader-zoom-group .zoom-ctrl:disabled{color:#b3b7af}
.reader-zoom-group output{display:block;font:700 12px var(--sans);text-align:center;min-width:47px;color:#375146}
.reader-tip{flex:0 0 auto;padding:12px 14px 8px;font:700 10px/1.4 var(--sans);letter-spacing:.6px;color:#7e8579}
.reader-view-area{background:radial-gradient(ellipse at 50% 30%,#f6f2e9,#e5e0d6 83%)}
.book-stage{display:block;flex:1;min-height:0;text-align:center;overflow:auto;padding:0 22px 28px;touch-action:pan-x pan-y;overscroll-behavior:contain;scrollbar-gutter:stable}
.book-display{--reader-zoom:1;display:block;position:relative;width:calc(min(100%,1430px) * var(--reader-zoom));height:auto;max-width:none;aspect-ratio:840/595;transform:none!important;margin:17px auto 55px;filter:drop-shadow(5px 10px 15px #564c3c42)}
.book-display.single{width:calc(min(100%,800px) * var(--reader-zoom));aspect-ratio:420/595}
.book-display.single .book-paper{width:100%}
.book-display.single .paper-left,.book-display.single .book-spine{display:none}
.book-display.single .paper-right{right:0}
.book-display.single .flip-leaf.single{width:100%;left:0}
.book-display.single .flip-leaf.single.forward{transform-origin:0% 50%}
.book-display.single .flip-leaf.single.backward{transform-origin:100% 50%}
.book-display.zoomed{transform:none!important;margin:17px auto 55px}
.reader-text-page{--reader-text-size:22px;max-width:880px;width:min(100%,880px);margin:16px auto 60px;text-align:left;background:#fffefa;box-shadow:7px 12px 27px #5d554331;padding:clamp(28px,5.2vw,65px);min-height:550px}
.large-text-head{display:flex;gap:16px;flex-wrap:wrap;justify-content:space-between;border-bottom:1px solid #d7caba;padding-bottom:17px;color:#9b8669;font:700 11px/1.5 var(--sans);letter-spacing:1.3px}
.large-text-content{white-space:pre-wrap;overflow-wrap:break-word;word-break:normal;font:normal var(--reader-text-size)/1.86 var(--serif);color:#243b31;margin:30px auto 40px;max-width:690px;font-variant-ligatures:common-ligatures;text-align:left}
.large-text-empty{font:italic 19px/1.75 var(--serif);color:#69776c;margin:38px 0}
.large-text-foot{font:12px/1.65 var(--sans);color:#808d83;border-top:1px solid #e1dbd0;padding-top:20px}
.reader-controls{height:72px;flex:0 0 72px;padding:6px 16px;z-index:2}
.reader-note{flex:0 0 auto;padding:6px 10px;font:11px/1.4 var(--serif);background:#eeeae3}
/* tablet: table of contents overlays reader */
@media(max-width:1250px){.reader-control .button-caption{display:none}.reader-toolbar{gap:9px;padding:0 12px}.reader-control{padding:9px 10px}.reader-sidebar{width:260px;min-width:260px}.sidebar-closed .reader-sidebar{margin-left:-260px}}
@media(max-width:1150px){.reader-sidebar{position:absolute;top:0;bottom:0;left:0;z-index:20;width:min(85vw,340px);min-width:0;box-shadow:8px 1px 18px #241e1b33}.sidebar-closed .reader-sidebar{margin-left:max(-85vw,-340px)}.reader-view-area{width:100%}}
@media(max-width:900px){.reader-layout-switch{display:none}.book-display.single{width:calc(min(100%,720px) * var(--reader-zoom))}.reader-mode{font-size:12px}.music-content{grid-template-columns:1fr}.music-tracklist{max-width:none}.music-feature{grid-template-columns:minmax(130px,31%) 1fr}}
@media(max-width:700px){
  .music-section{padding:65px 18px 76px}.music-heading-row{align-items:start;gap:12px}.music-heading-row h2{font-size:37px}.music-heading-row p{font-size:15px}.music-stamp{flex:0 0 57px;padding-left:12px}.music-stamp span{font-size:32px}.music-stamp small{font-size:8px;letter-spacing:1px}
  .music-feature{display:flex;flex-direction:column;padding:24px;gap:27px}.music-artwork{width:160px;height:228px;align-self:flex-start}.music-details h3{font-size:39px;margin-top:13px}.music-poet{font-size:18px}.music-tracklist{padding:20px}
  .reader-toolbar{display:grid;grid-template-columns:38px minmax(0,1fr);grid-template-rows:50px auto;align-items:center;gap:0 10px;padding:4px 12px 9px;height:auto;min-height:112px}
  .reader-toolbar>.reader-control.icon-btn{grid-column:1;grid-row:1;width:36px;height:36px}
  .toolbar-book{grid-column:2;grid-row:1;justify-self:start;min-width:0}
  .toolbar-book strong{font-size:clamp(16px,5vw,21px);max-width:calc(100vw - 85px)}
  .reader-toolbar-actions{grid-column:1/3;grid-row:2;margin:0;width:100%;justify-content:space-between;gap:4px;flex-wrap:nowrap}
  .reader-toolbar-actions .reader-control{width:auto;min-height:39px;padding:7px}
  .reader-mode-switch{flex:1;min-width:0;justify-content:center;padding:2px}
  .reader-mode{flex:1;padding:8px 6px;font-size:11px}
  .reader-zoom-group{min-height:38px}
  .reader-zoom-group .zoom-ctrl{min-width:30px;min-height:36px;font-size:22px}
  .reader-zoom-group output{min-width:38px;font-size:11px}
  .reader-share{display:none!important}
  .reader-download{display:none!important}
  .reader-tip{font-size:9px;padding:9px 10px 6px;line-height:1.45;letter-spacing:0}
  .book-stage{padding:0 9px 20px;scrollbar-gutter:auto}
  .book-display.single{width:calc(min(100%,620px) * var(--reader-zoom));height:auto;aspect-ratio:420/595;margin:8px auto 30px}
  .book-display.single .book-paper{width:100%}.book-display.single .paper-left{display:none}.book-display.single .paper-right{right:0}
  .reader-text-page{width:100%;margin:7px auto 35px;min-height:0;padding:27px 23px 40px;box-shadow:1px 3px 14px #5d55432c}
  .large-text-head{font-size:9px;letter-spacing:.55px}
  .large-text-content{margin:24px 0 30px;line-height:1.7;font-size:var(--reader-text-size)}
  .reader-controls{height:63px;flex-basis:63px;padding:5px 7px;gap:8px}
  .reader-controls .page-nav{min-width:73px;font-size:10px;padding:9px 5px;gap:2px}
  .reader-controls .page-progress{width:auto;flex:1;min-width:80px;max-width:175px}
  .reader-note{font-size:10px;padding:5px 10px}
  .reader-sidebar{width:min(92vw,350px)}.sidebar-closed .reader-sidebar{margin-left:max(-92vw,-350px)}
}
@media(max-width:380px){.reader-toolbar{padding-left:7px;padding-right:7px}.reader-mode{font-size:10px;padding:8px 4px}.reader-zoom-group output{min-width:35px}.reader-toolbar-actions .reader-control{padding:5px}.reader-text-page{padding:20px 16px 30px}.large-text-content{line-height:1.65}.music-heading-row h2{font-size:33px}}

/* 2026-10-21: Vietnamese text fidelity + responsive reader polish */
.large-text-content,.large-text-title,.story-prose,.book-card-body,.music-description{
  font-family:var(--serif);font-kerning:normal;text-rendering:optimizeLegibility;
  font-variant-ligatures:none;
}
.large-text-title{
  font-size:clamp(26px,2.5vw,36px);line-height:1.35;font-weight:600;
  color:#264c3a;padding:0 0 18px;margin:27px 0 26px;border-bottom:1px solid #e6dfd4;
  letter-spacing:0;overflow-wrap:break-word;
}
.large-text-content{line-height:1.79;font-size:var(--reader-text-size);letter-spacing:0;font-weight:400}
.large-text-content.is-poem{white-space:pre-wrap}
.large-text-content.is-preface{white-space:pre-wrap;line-height:1.7}
.large-text-content.is-index{font-size:min(var(--reader-text-size),20px);line-height:1.65}
.large-text-illustration{display:block;max-width:min(100%,470px);max-height:65vh;width:auto;height:auto;object-fit:contain;margin:23px auto 28px;box-shadow:0 9px 24px #38311f1d}
.large-text-foot{font-family:var(--sans);font-size:12px;line-height:1.7}
.reader-tip{font-family:var(--sans);font-size:11px}
.book-display.single{width:calc(min(100%,clamp(790px,57vw,950px)) * var(--reader-zoom))}
@media(max-width:900px){.book-display.single{width:calc(min(100%,780px) * var(--reader-zoom))}}
@media(max-width:700px){
  .book-display.single{width:calc(min(100%,620px) * var(--reader-zoom))}
  .large-text-title{font-size:26px;margin:20px 0 17px;padding-bottom:15px}
  .large-text-content{line-height:1.76;font-size:var(--reader-text-size)}
  .reader-tip{font-size:10px}
}
@media(max-width:350px){
  .reader-toolbar{grid-template-columns:34px minmax(0,1fr);padding-left:5px;padding-right:5px}
  .reader-zoom-group .zoom-ctrl{min-width:25px}
  .reader-zoom-group output{min-width:32px}
  .reader-mode{font-size:10px}
  .reader-text-page{padding:23px 15px}
}

/* Progressive Web App: install buttons and offline book manager */
.header-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}
.install-app-btn{min-height:43px;display:inline-flex;align-items:center;justify-content:center;gap:9px;background:#f5eddf;color:#153c36;border:1px solid #bfa87d;padding:10px 15px;font:700 12px/1.4 var(--sans);white-space:nowrap;transition:background .2s}
.install-app-btn:hover,.install-banner-button:hover{background:#dfcba4}
.install-app-btn>span:first-child{font-size:21px;line-height:1}
.install-app-btn[disabled]{opacity:.68;cursor:default}
.install-banner{display:flex;align-items:center;gap:24px;padding:29px 34px;margin:50px auto 0;max-width:1050px;background:#e9e4d7;border:1px solid #cfc7b5;border-left:5px solid #b69255}
.install-banner-icon{flex:0 0 auto}.install-banner-icon img{width:74px;height:74px;border-radius:17px;box-shadow:0 6px 20px #1e363027}
.install-banner-content{flex:1;min-width:0}.install-banner-content h3{font:normal clamp(22px,2.4vw,29px)/1.3 var(--serif);margin:8px 0}.install-banner-content p{margin:0;color:#5c6f63;font:14px/1.75 var(--sans)}
.install-banner-button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:11px;background:#153c36;color:#fff;border:1px solid #153c36;padding:13px 20px;font:700 13px/1.4 var(--sans);cursor:pointer;white-space:nowrap}.install-banner-button:hover{background:#286050;color:#fff}
.pwa-modal[hidden]{display:none!important}.pwa-modal{position:fixed;inset:0;background:#132923b9;z-index:10010;display:flex;align-items:center;justify-content:center;padding:20px;overflow:auto;overscroll-behavior:contain}
.pwa-dialog-surface{position:relative;background:#fcfaf4;color:#1d4035;border:1px solid #d3be92;box-shadow:0 30px 80px #06191466;width:min(100%,510px);max-height:min(88dvh,780px);overflow-y:auto;padding:clamp(25px,5vw,42px)}
.pwa-dialog-close{position:absolute;top:11px;right:13px;border:0;background:none;color:#365448;font-size:33px;width:38px;height:38px;line-height:1}
.pwa-dialog-icon{border-radius:16px;box-shadow:0 5px 18px #153c3633;margin-bottom:19px}.pwa-dialog-surface h2{font:normal clamp(26px,5vw,34px)/1.25 var(--serif);margin:14px 0 10px}.pwa-dialog-surface>p{font:14px/1.75 var(--sans);color:#586f60}
.pwa-instructions{margin:22px 0;padding-left:26px}.pwa-instructions li{padding:6px 0 6px 5px;font:15px/1.6 var(--sans)}
.pwa-dialog-surface>.pwa-dialog-footnote{font-size:12px;background:#efebe1;border-left:3px solid #b69255;padding:13px;margin:16px 0 22px}
.reader-offline-box{margin:12px 14px 11px;padding:12px;background:#ece9df;border:1px solid #d7d1c1}
.reader-offline-btn{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;padding:11px 10px;background:#22483f;border:1px solid #22483f;color:white;font:700 12px/1.3 var(--sans)}
.reader-offline-btn[disabled]{opacity:.65;cursor:progress}.reader-offline-btn:hover:not(:disabled){background:#326252}
.reader-offline-progress{font:11px/1.6 var(--sans);margin-top:9px;color:#637065}
@media(max-width:1270px){.main-nav{display:none}}
@media(max-width:800px){.header-actions{gap:7px}}
@media(max-width:600px){.install-banner{flex-wrap:wrap;gap:15px;padding:21px 17px}.install-banner-icon img{width:60px;height:60px}.install-banner-content{flex:1 1 190px}.install-banner-button{width:100%}.pwa-dialog-surface>.install-banner-button{width:100%}.site-header{padding:0 12px}.header-actions .nav-cta{display:none}.install-app-btn{font-size:11px;padding:9px 12px}.wordmark-lines strong{letter-spacing:1px}.wordmark-lines small{letter-spacing:2px}}
@media(max-width:355px){.install-app-btn{font-size:0;min-width:42px;padding:8px}.install-app-btn>span:first-child{font-size:22px}.wordmark{gap:9px}.wordmark-lines strong{font-size:9px}}

body.pwa-dialog-open{overflow:hidden}
