@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Libre+Caslon+Display&display=swap');

:root{--paper:#f7f5ee;--ink:#292e27;--muted:#74776b;--green:#335342;--line:#deded2;--serif:'Libre Caslon Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--green);outline-offset:5px}svg{flex-shrink:0}button[hidden],[hidden]{display:none!important}.page{max-width:1216px;margin:0 auto;padding:0 48px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-60px;left:12px;background:var(--green);color:white;padding:14px;z-index:10}.skip-link:focus{top:12px}
.masthead{display:flex;justify-content:space-between;align-items:center;padding:29px 0 26px;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:11px;font-weight:650;font-size:23px;letter-spacing:-1px}.brand svg{width:27px;height:27px;color:var(--green)}.brand-dot{color:var(--green)}nav{display:flex;gap:32px;font-size:13px;color:#5a6053}nav a:hover{color:var(--green)}nav span{margin-left:5px}
.hero{text-align:center;padding:66px 0 52px}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:600;color:var(--muted);margin:0 0 14px}.hero .eyebrow{display:flex;align-items:center;justify-content:center;gap:9px;font-size:10px;letter-spacing:2px}.tiny-line{width:22px;height:1px;background:#929e88}.hero h1{font-family:var(--serif);font-size:84px;font-weight:400;line-height:.98;letter-spacing:-2.8px;margin:22px 0 23px}.hero h1 em{color:var(--green);font-style:italic}.hero-description{color:#737769;line-height:1.75;font-size:14px;margin:0 0 27px}.search{max-width:492px;margin:0 auto;display:flex;align-items:center;gap:12px;background:#ffffff90;border:1px solid #dcddd0;border-radius:6px;padding:14px 17px;box-shadow:0 3px 8px #28332504}.search:focus-within{border-color:#8d9b86;box-shadow:0 0 0 3px #3353420c}.search svg{width:18px;height:18px;color:var(--muted)}.search input{width:100%;border:0;outline:none;background:transparent;color:var(--ink);font-size:13px}.search input::placeholder{color:#93958b}.search input:focus-visible{outline:none}.search-hint{font-size:12px;border:1px solid #e4e4d9;color:#96978c;padding:1px 7px;border-radius:3px}.search-note{font-size:10px;color:#93958b;margin:13px 0 0;letter-spacing:.1px}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.section-heading .eyebrow{font-size:9px;letter-spacing:1.7px;margin-bottom:7px}h2{font-family:var(--serif);font-size:34px;line-height:1.16;font-weight:400;letter-spacing:-.6px;margin:0}.shelf-tools{display:flex;align-items:center;gap:8px}.shelf-instruction{color:#8a8d7f;font-size:11px;margin-right:15px}.arrow-button{width:33px;height:33px;border:1px solid #d9ddce;background:transparent;border-radius:50%;font-size:18px;transition:background .2s}.arrow-button:hover{background:#e6e9dd}.arrow-button:disabled{opacity:.3;cursor:default}
.shelf-stage{margin:18px -8px 0;position:relative}.shelf-viewport{overflow-x:auto;overflow-y:hidden;padding:30px 13px 17px;scrollbar-width:none;scroll-behavior:smooth;overscroll-behavior-x:contain}.shelf-viewport::-webkit-scrollbar{display:none}.shelf{display:flex;align-items:flex-end;gap:9px;min-height:244px;width:max-content;min-width:100%}.shelf-book{border:0;background:none;padding:0;display:flex;align-items:flex-end;flex-shrink:0;position:relative;perspective:1100px;width:var(--spine-width);height:var(--book-height);transition:width .55s cubic-bezier(.2,.65,.3,1),transform .3s;isolation:isolate;text-align:left}.shelf-book:focus-visible{outline-offset:5px;border-radius:2px}.shelf-book.selected{width:calc(var(--spine-width) + 149px);transform:translateY(-4px)}.spine{width:var(--spine-width);height:100%;background:var(--book-color);color:var(--book-ink);position:relative;border-radius:2px 1px 1px 2px;border:1px solid #0002;transform-origin:right;transition:transform .55s;flex-shrink:0;box-shadow:inset 2px 0 2px #ffffff35,inset -3px 0 5px #0003,2px 2px 3px #0002;overflow:hidden;z-index:2}.spine:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,#fff0 0,#ffffff0a 1px,#00000004 2px,#0000 3px);pointer-events:none}.spine:after{content:'';position:absolute;inset:8px 5px;border-top:1px solid #ffffff40;border-bottom:1px solid #ffffff40;pointer-events:none}.spine-title{position:absolute;inset:21px 0 41px;writing-mode:vertical-rl;text-orientation:mixed;font-family:Georgia,serif;font-size:13px;line-height:1.25;letter-spacing:.4px;margin:auto;display:flex;align-items:center;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%}.spine-mark{position:absolute;bottom:17px;left:0;width:100%;text-align:center;font-size:11px;opacity:.75}.shelf-book.selected .spine{transform:rotateY(-58deg)}.book-cover{position:absolute;left:var(--spine-width);bottom:0;width:170px;height:100%;transform-origin:left;transform:rotateY(89.3deg);transition:transform .55s;backface-visibility:hidden;background:var(--book-color);color:var(--book-ink);border-radius:0 3px 3px 0;box-shadow:6px 7px 9px #0002;border:1px solid #0002;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding:0}.shelf-book.selected .book-cover{transform:rotateY(25deg)}.book-cover:after{position:absolute;content:'';inset:0;background:linear-gradient(90deg,#0004,transparent 3%,#ffffff30 4%,#0002 5%,transparent 9%,#fff1 98%);pointer-events:none}.book-cover img{width:100%;height:100%;object-fit:fill;display:block}.book-cover .fallback-title{padding:20px;font-size:25px;font-family:var(--serif);text-align:center}.shelf-edge{height:10px;background:linear-gradient(#e8e6dc 0%,#d5d3c8 17%,#eeede4 30%,#eeede4 80%,#c8c6ba 100%);border-radius:2px;box-shadow:0 7px 9px #3035270d,0 18px 24px #3c42390a;position:relative;margin:0 5px}.shelf-edge:before{content:'';position:absolute;inset:-15px 0 10px;background:linear-gradient(transparent,#514f3814);pointer-events:none}.empty-shelf{padding:40px 0;text-align:center;color:var(--muted)}
.book-detail{display:grid;grid-template-columns:1.1fr 1fr;gap:55px;margin-top:38px;padding:25px 28px;background:#efefe5;border:1px solid #e0e2d4;border-radius:6px}.selected-info .eyebrow{font-size:9px;letter-spacing:1.8px;margin-bottom:8px;color:#7e8672}.selected-info h3{font-family:var(--serif);font-size:33px;font-weight:400;line-height:1.1;letter-spacing:-.5px;margin:0 0 7px}.selected-author{margin:0;color:#6f7666;font-size:11px}.selected-description{margin:15px 0 0;color:#7b806f;font-size:12px;line-height:1.65;max-width:380px}.reading-info{padding-left:34px;border-left:1px solid #d9ddce;align-self:center}.reading-label{display:flex;align-items:center;gap:7px;font-size:9px;letter-spacing:1.2px;color:#76806e}.reading-label svg{height:16px;width:16px}.reading-time{font-family:var(--serif);font-size:47px;color:var(--green);margin:5px 0 0;line-height:1.15;white-space:nowrap;letter-spacing:-.5px}.reading-time span{font-family:var(--sans);font-size:14px;margin-right:8px;color:#6d7964;letter-spacing:0}.reading-time.unknown{font-size:30px;white-space:normal;margin-top:14px}.word-count{font-size:10px;color:#7d8374;margin:7px 0 15px}.primary-link{display:inline-flex;align-items:center;gap:18px;font-size:11px;font-weight:500;background:var(--green);color:#f4f5e9;border-radius:4px;padding:11px 15px;transition:background .2s}.primary-link:hover{background:#233e2f}.primary-link span{font-size:16px;line-height:1}.pace-control{display:flex;align-items:center;justify-content:center;gap:13px;padding:19px 0 0;font-size:10px;color:#7d8274}.pace-control label{color:#5d6655}.pace-control input{accent-color:var(--green);width:118px;height:3px;cursor:pointer}.pace-control output{font-size:11px;color:var(--green);font-weight:600;min-width:53px}.pace-control output span{font-weight:400;color:#8b9080}.pace-note{padding-left:13px;border-left:1px solid var(--line)}
.library{border-top:1px solid var(--line);margin-top:48px;padding-top:35px}.book-count{font-family:var(--sans);font-size:10px;letter-spacing:0;display:inline-block;vertical-align:middle;color:#87907d;border:1px solid #dedfd1;border-radius:20px;padding:4px 9px;margin-left:7px}.library-toolbar{display:flex;justify-content:space-between;align-items:center;margin:22px 0 27px;gap:16px}.filters{display:flex;gap:7px;flex-wrap:wrap}.filter{border:1px solid #dedfd4;background:transparent;border-radius:20px;padding:8px 15px;font-size:11px;color:#727969;transition:background .2s}.filter:hover{background:#e9ecdf}.filter.active{background:var(--green);color:#f6f6ec;border-color:var(--green)}.results-count{color:#999c90;font-size:10px} .catalog{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:36px 29px}
.catalog-book{display:block;min-width:0}
.catalog-cover{--volume-width:126px;--volume-height:196px;position:relative;height:225px;display:flex;align-items:flex-end;justify-content:center;padding:12px 12px 15px;perspective:800px}
.catalog-cover:after{content:'';position:absolute;bottom:0;left:-15px;right:-15px;height:6px;background:linear-gradient(#e8e6db,#d1d1c3 22%,#edece1 40%,#e4e4d7 80%,#cccdbf);border-radius:1px;box-shadow:0 5px 7px #38402d0d;pointer-events:none}
.catalog-volume{--book-depth:28px;position:relative;width:var(--volume-width);height:var(--volume-height);flex-shrink:0;transform:rotateY(-19deg) rotateZ(-1deg);transform-style:preserve-3d;transition:transform .4s cubic-bezier(.2,.65,.3,1)}
.catalog-volume:before{content:'';position:absolute;inset:0;background:var(--book-color);border:1px solid #0002;border-radius:1px 3px 3px 1px;box-shadow:5px 8px 10px #27302623;transform:translateZ(calc(4px - var(--book-depth)))}
.catalog-pages{position:absolute;top:4px;bottom:4px;left:calc(100% - 2px);width:calc(var(--book-depth) - 6px);background:repeating-linear-gradient(90deg,#d9d6c6 0,#f5f1e2 1px,#f5f1e2 2px,#dfdac9 3px);border:1px solid #c7c2af;transform:translateZ(1px) rotateY(90deg);transform-origin:left;z-index:1}
.catalog-front{position:relative;width:100%;height:100%;background:var(--book-color);color:var(--book-ink);border-radius:1px 3px 3px 1px;overflow:hidden;box-shadow:inset 0 0 0 1px #0002,1px 1px 2px #0001;transform:translateZ(4px);z-index:3}
.catalog-front:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#00000045 0,#ffffff25 2px,#00000020 5px,transparent 8px,#00000025 10px,#ffffff35 11px,transparent 14px,transparent 96%,#ffffff20 99%);border:1px solid #00000014;border-radius:inherit;pointer-events:none}
.catalog-front img{display:block;width:100%;height:100%;object-fit:fill}
.catalog-front .fallback-title{height:100%;padding:20px 13px;display:flex;align-items:center;justify-content:center;text-align:center;font-family:var(--serif);background:var(--book-color);color:var(--book-ink);font-size:26px;line-height:1.15;border:1px solid #ffffff35;outline:1px solid #ffffff30;outline-offset:-9px}
.catalog-book:focus-visible .catalog-volume{transform:translateY(-9px) rotateY(-4deg)}
@media(hover:hover) and (pointer:fine){.catalog-book:hover .catalog-volume{transform:translateY(-9px) rotateY(-4deg)}}
.catalog-book h3{font-size:12px;font-weight:500;line-height:1.5;margin:12px 0 4px}.catalog-book p{font-size:10px;color:#8b9081;margin:0;line-height:1.5}.catalog-estimate{display:block;font-size:10px;color:var(--green);margin-top:7px}.show-more{display:block;background:transparent;border:1px solid #d5dbca;font-size:11px;border-radius:4px;padding:12px 23px;margin:33px auto 0;color:var(--green)}.show-more:hover{background:#e8ecdf}.show-more span{margin-left:24px}.empty-library{color:var(--muted);padding:30px 0}.empty-library button{border:0;background:none;text-decoration:underline;color:var(--green);padding:0}
.how-it-works{margin:55px 0 0;border-top:1px solid var(--line);padding:41px 0 46px;display:grid;grid-template-columns:1fr 1fr;gap:70px}.how-intro h2{font-size:39px;line-height:1.07}.how-intro>p:last-child{font-size:12px;color:#89907d;line-height:1.8;margin:17px 0 0}.how-steps{display:grid;gap:22px;padding-top:6px}.how-steps>div{display:flex;gap:18px;align-items:flex-start}.step-number{font-family:var(--serif);color:#a5ad95;font-size:23px;line-height:1.2}.how-steps h3{font-size:12px;font-weight:500;margin:0 0 5px}.how-steps p{margin:0;color:#8b9181;font-size:11px;line-height:1.7;max-width:330px}footer{border-top:1px solid var(--line);padding:24px 0 29px;display:flex;align-items:center;justify-content:space-between;gap:18px;color:#8a9080;font-size:10px}.footer-brand{font-size:18px;letter-spacing:-.8px;color:#58654f;gap:0}footer p{margin:0}footer>a:last-child:hover{color:var(--green)}
@media(min-width:1001px){.hero{padding:40px 0 38px}.hero h1{font-size:76px;line-height:1.1;margin:20px 0}.hero h1 br{display:none}.hero h1 em{margin-left:14px}.hero-description{margin-bottom:22px}.hero-description br{display:none}}
@media(max-width:1000px){.page{padding:0 30px}.catalog{grid-template-columns:repeat(4,minmax(0,1fr));gap:26px}.catalog-cover{--volume-width:clamp(100px,17vw,139px);--volume-height:clamp(164px,26vw,209px);height:241px}.book-detail{gap:24px}.reading-info{padding-left:24px}.pace-note{max-width:270px}.hero h1{font-size:76px}}
@media(max-width:650px){.page{padding:0 22px}.masthead{padding:22px 0}.brand{font-size:21px;gap:8px}.brand svg{width:24px;height:24px}.masthead nav{gap:0}.masthead nav a:first-child{display:none}.masthead nav a{font-size:11px}.hero{padding:43px 0 38px}.hero .eyebrow{font-size:8px;letter-spacing:1.3px}.hero h1{font-size:65px;letter-spacing:-1.7px;margin:22px 0}.hero-description{font-size:12px;margin-bottom:23px}.desktop-break{display:none}.search{padding:14px 13px}.search input{font-size:12px}.search-note{font-size:9px;margin-top:11px}h2{font-size:29px}.section-heading .eyebrow{font-size:8px;letter-spacing:1.1px}.shelf-instruction{display:none}.shelf-tools{gap:5px}.arrow-button{height:31px;width:31px}.shelf-stage{margin-top:11px}.shelf-viewport{padding-top:23px}.book-detail{grid-template-columns:1fr;gap:19px;margin-top:26px;padding:23px}.selected-info h3{font-size:32px}.selected-description{font-size:12px;margin-top:11px}.reading-info{padding:20px 0 0;border-left:0;border-top:1px solid #d9ddce}.reading-time{font-size:44px;margin-top:9px}.reading-label{font-size:8px}.primary-link{padding:12px 15px;font-size:12px}.pace-control{justify-content:space-between;gap:10px;flex-wrap:wrap;padding-top:20px}.pace-control label{font-size:11px}.pace-control input{flex-grow:1;max-width:155px}.pace-note{max-width:none;border:0;text-align:center;flex-basis:100%;padding:0;margin-top:3px;line-height:1.6}.library{margin-top:32px;padding-top:29px}.library-toolbar{margin:19px 0 22px;align-items:flex-start}.filters{gap:6px}.filter{padding:8px 12px;font-size:10px}.results-count{display:none}.catalog{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 18px}.catalog-cover{--volume-width:clamp(102px,31vw,132px);--volume-height:clamp(168px,49vw,205px);height:226px;padding:14px 13px 16px}.catalog-book h3{font-size:12px}.catalog-book p{font-size:10px}.show-more{width:100%;margin-top:30px}.how-it-works{margin-top:36px;padding-top:31px;grid-template-columns:1fr;gap:26px}.how-intro h2{font-size:36px}.how-steps{gap:22px}.how-steps p{font-size:12px}.how-steps h3{font-size:13px}footer{flex-wrap:wrap;padding:22px 0}.footer-brand{font-size:17px}footer p{flex-basis:100%;order:3}}
@media(max-width:370px){.page{padding:0 17px}.hero h1{font-size:58px}.catalog-cover{--volume-width:105px;--volume-height:171px;height:194px;padding:10px 13px 14px}}
@media(prefers-reduced-motion:reduce){html,.shelf-viewport{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.shelf-book:hover{transform:none}}

/* Shared shelf header */
.shelf-header{padding-top:18px;border-bottom:1px solid var(--line);padding-bottom:13px}
.shelf-header .section-heading h2{display:none}
.shelf-header .section-heading .eyebrow{margin:0;font-size:8px}
.shelf-header .shelf-stage{margin-top:0}
.shelf-header .shelf-viewport{padding:13px 13px 9px}
.shelf-header .shelf{min-height:120px;gap:4px}
.shelf-header .shelf-book{--spine-width:27px!important;--book-height:116px!important;height:calc(var(--book-height) + var(--height-offset,0px))}
.shelf-header .shelf-book:nth-child(3n){--height-offset:6px}
.shelf-header .shelf-book:nth-child(5n){--height-offset:-5px}
.shelf-header .shelf-book.selected{width:calc(var(--spine-width) + 78px)}
.shelf-header .book-cover{width:88px}
.shelf-header .spine-title{font-size:8px;letter-spacing:.15px;inset:12px 0 23px}
.shelf-header .spine-mark{font-size:7px;bottom:8px}
.shelf-header .spine:after{inset:5px 3px}
.shelf-header .book-cover .fallback-title{font-size:16px;padding:9px}
.shelf-header .shelf-edge{height:7px}
.shelf-header .author-start{margin-left:14px}
.shelf-caption{display:block;text-align:center;margin-top:10px;font-size:10px;line-height:1.5}
.shelf-caption span{color:var(--muted);margin-left:5px}
.shelf-header .arrow-button{width:25px;height:25px;font-size:14px}
.shelf-header .shelf-instruction{font-size:10px}
.featured-selection .book-detail{margin-top:0}
.hero{padding-bottom:29px}
.library-note{font-size:11px;color:var(--muted);margin:-9px 0 20px;line-height:1.65}
.catalog{grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 28px}
.catalog{display:block}
.author-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto 278px 6px auto auto;column-gap:28px;margin-bottom:36px}
.author-row[data-columns="2"]{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px}
.author-row[data-columns="1"]{grid-template-columns:minmax(0,1fr);margin-bottom:26px}
.author-group{display:grid;grid-template-rows:subgrid;grid-row:1/6;min-width:0;padding:18px 15px 15px;border-top:1px solid var(--line)}
.author-heading{grid-row:1;display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}
.author-heading h3{margin:0;font-family:var(--serif);font-size:24px;line-height:1.1;font-weight:400}
.author-heading>span{font-size:9px;color:var(--muted);white-space:nowrap}
.author-shelf-viewport{grid-row:2;position:relative;height:278px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:#c9cebe transparent;padding:20px 30px 12px 4px}
.author-shelf{display:flex;align-items:flex-end;gap:5px;width:max-content;min-width:100%;min-height:246px}
.author-shelf .shelf-book{--spine-width:35px!important}
.author-shelf .shelf-book.selected{width:calc(var(--spine-width) + 149px)}
.author-shelf .spine-title{font-size:12px}
.author-row>.shelf-edge{grid-column:1/-1;grid-row:3;margin:0;height:6px;z-index:3;pointer-events:none}
.author-book-caption{grid-row:4;display:block;margin-top:12px;min-height:36px;font-size:11px;line-height:1.6;color:var(--green)}
.multiple-books:has(.author-book-caption[hidden]):after{grid-row:4;content:'Hover a spine to explore · tap to preview';display:block;margin-top:12px;min-height:36px;font-size:10px;line-height:1.6;color:var(--muted)}
.author-group .catalog-book{display:contents}
.author-group .catalog-cover{grid-row:2;--volume-width:151px;--volume-height:232px;height:278px}
.author-group .catalog-book h3{grid-row:4;text-align:center;margin:12px 0 0;font-size:12px}
.author-group .catalog-book p{display:none}
.author-group .catalog-estimate{grid-row:5;text-align:center}
.author-group .catalog-cover:after{display:none}

/* Book view */
html[data-theme="dark"]{--paper:#252629;--ink:#f0ebe2;--muted:#aaa9a3;--green:#cfceb7;--line:#4a4b4b;color-scheme:dark}
.book-mode .page{max-width:1440px;padding:0 56px}
.book-mode .masthead{padding:22px 0 19px}
html[data-theme="dark"] nav,html[data-theme="dark"] .brand-dot,html[data-theme="dark"] .brand svg{color:var(--muted)}
.book-mode .shelf-header{padding-top:13px}

html[data-theme="dark"] .arrow-button{border-color:#5a5b5a}
html[data-theme="dark"] .arrow-button:hover{background:#414243}
.book-mode .shelf-caption{color:var(--ink)}
.book-topline{display:flex;align-items:center;gap:25px;padding-top:27px;color:var(--muted);font-size:11px}
.book-topline>span{margin-left:auto;font-size:9px;letter-spacing:1.6px}
.close-book{width:34px;height:34px;display:grid;place-items:center;border:1px solid #6c6c66;border-radius:50%;font-size:24px;font-weight:400;color:var(--ink)}
.close-book:hover{background:#3c3d3f}
.book-spread{display:grid;grid-template-columns:1fr 1.05fr;gap:68px;margin:28px 0 64px}
.book-display{min-width:0;align-self:start;position:sticky;top:35px}
.book-scene{height:650px;display:flex;align-items:center;justify-content:center;perspective:1500px;position:relative;overflow:hidden}
.book-scene:after{content:'';position:absolute;width:75%;height:36px;left:14%;bottom:20px;background:#0003;filter:blur(12px);transform:skewX(-30deg);z-index:-1}
.reading-volume{--book-depth:42px;position:relative;width:330px;height:495px;transform:rotateY(-19deg) rotateZ(-1deg);transform-style:preserve-3d;transition:transform .85s cubic-bezier(.2,.65,.3,1),width .85s,height .85s}
.volume-back{position:absolute;inset:0;background:var(--book-color);border:2px solid #ffffff15;border-radius:2px 4px 4px 2px;box-shadow:12px 22px 22px #0004;transform:translateZ(calc(4px - var(--book-depth)))}
.volume-pages{position:absolute;top:7px;bottom:7px;left:calc(100% - 2px);width:calc(var(--book-depth) - 6px);background:repeating-linear-gradient(90deg,#c9c2af 0,#eae3d1 1px,#d9d2c1 2px,#ded7c4 3px);border:1px solid #d1c9b4;transform:translateZ(1px) rotateY(90deg);transform-origin:left;z-index:1}
.volume-page{position:absolute;inset:7px 2px 7px 4px;padding:20px 25px;background:linear-gradient(90deg,#bcb59f,#e5dfce 5%,#f1ecdf 14%,#e9e3d3);color:#514b3e;display:flex;flex-direction:column;gap:12px;border:1px solid #d1c7ad;transform:translateZ(1px);z-index:2;font-family:var(--serif)}
.page-running-title{font-family:var(--sans);font-size:8px;letter-spacing:1px;line-height:1.5;text-align:center;border-bottom:1px solid #c9c1ad;padding-bottom:10px;margin:0}
.page-ornament{display:block;text-align:center;font-size:18px;color:#8e856e}
.page-number{font-size:12px;text-align:center}
.volume-cover{position:absolute;inset:0;padding:0;border:1px solid #ffffff25;border-radius:1px 4px 4px 1px;background:var(--book-color);color:var(--book-ink);transform:translateZ(4px);transform-origin:left;transition:transform .85s cubic-bezier(.2,.65,.3,1);transform-style:preserve-3d;z-index:3;box-shadow:2px 2px 3px #0003}
.volume-cover:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0007,#ffffff25 1.5%,#0003 3.2%,#ffffff30 3.5%,transparent 5%,transparent 96%,#ffffff20);pointer-events:none;border-radius:inherit}
.volume-cover #large-cover{display:block;height:100%;overflow:hidden;border-radius:inherit;backface-visibility:hidden}
.volume-cover img{width:100%;height:100%;object-fit:fill;display:block}
.volume-cover .fallback-title{display:flex;height:100%;align-items:center;justify-content:center;padding:40px;font-family:var(--serif);font-size:50px;line-height:1.1;text-align:center;outline:1px solid #ffffff50;outline-offset:-20px}
.book-scene.opened .reading-volume{width:min(360px,calc(100% - 36px));height:560px;transform:translateX(18px) rotateY(0)}
.book-scene.opened .volume-cover{transform:translateZ(4px) rotateY(-115deg)}
.book-display-controls{display:flex;align-items:center;justify-content:center;gap:22px;font-size:10px;color:var(--muted)}
.book-display-controls>span{margin-right:auto;font-family:var(--serif);font-size:22px;color:var(--ink)}
.book-display-controls button{border:0;border-bottom:1px solid #797a71;padding:5px 0;background:transparent;text-transform:uppercase;font-size:9px;letter-spacing:1.3px;color:var(--ink)}
.book-information{min-width:0;padding-top:17px}
.book-information>.eyebrow{font-size:10px;letter-spacing:1.6px;margin-bottom:14px}
.book-information h1{font-family:var(--serif);font-weight:400;font-size:70px;line-height:.97;letter-spacing:-1.8px;margin:0 0 24px}
.book-byline{font-family:var(--serif);font-size:25px;line-height:1.5;margin:0 0 18px;color:var(--ink)}
.book-byline a{border-bottom:1px solid #666762}
.book-synopsis{font-family:var(--serif);font-size:24px;line-height:1.5;color:var(--muted);margin:0 0 25px}
.book-facts{display:grid;grid-template-columns:1fr 1fr;gap:21px 30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:23px 0}
.book-facts span,.book-average>span,.test-result>div>span{font-size:9px;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted)}
.book-facts p{font-size:12px;line-height:1.5;margin:8px 0 0;color:var(--ink)}
.book-average{padding:24px 0 22px;border-bottom:1px solid var(--line)}
.book-average h2{font-family:var(--sans);font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted)}
.book-average>p{font-family:var(--serif);font-size:53px;line-height:1.1;margin:9px 0 8px}
.book-average>span{text-transform:none;letter-spacing:0;font-size:11px}
.reading-test{flex:1;min-height:0;display:flex;flex-direction:column;gap:10px;scroll-margin-top:26px}
.test-content{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:4px 6px 4px 2px}
.test-heading{text-align:center}
.test-heading h2{font-size:34px;line-height:1.1;font-weight:400;margin:20px 0 16px}
.test-heading p{font-size:17px;line-height:1.6;margin:12px 0;color:#514b3e}
.test-heading .passage-note{font-family:var(--sans);font-size:11px;line-height:1.6;color:#6c6454}
.test-button{flex-shrink:0;background:#2e4e3d;color:#fff8ea;border:1px solid #2e4e3d;border-radius:2px;padding:12px 16px;min-height:44px;font-family:var(--sans);font-size:13px;display:flex;align-items:center;justify-content:center;gap:18px;width:100%}
.test-button:hover{background:#233e2f}
.test-passage>#reading-passage{font-family:Georgia,serif;font-size:16px;line-height:1.65;margin:0;color:#393a32}
.test-instruction{font-family:var(--sans);font-size:11px;color:#6c6454;margin:16px 0 0}
.test-result{padding:12px 0;display:grid;gap:20px}
.test-result>div>span{font-family:var(--sans);color:#6c6454}
.test-result strong{display:block;font-family:var(--serif);font-size:34px;font-weight:400;margin-top:8px}
.test-result>p{font-size:15px;line-height:1.6;margin:0;color:#514b3e}
.test-feedback{font-family:var(--sans);font-size:11px;line-height:1.5;color:#6c6454;margin:0}
.test-feedback:empty{display:none}
.book-pagination{display:flex;justify-content:space-between;gap:22px;border-top:1px solid var(--line);margin-top:27px;padding-top:20px;font-size:11px}
.book-pagination span{font-size:18px;vertical-align:middle;margin:0 8px}
.more-by-author{border-top:1px solid var(--line);padding:30px 0 40px}
.more-by-author .section-heading>a{color:var(--muted);font-size:11px}
.more-by-author>.author-shelf{overflow-x:auto;width:100%;padding:32px 35px 18px 12px;border-bottom:8px solid #805838}
.book-mode footer{margin-top:0}
.book-mode .footer-brand{color:var(--green)}
html[data-theme="dark"] .skip-link,html[data-theme="dark"] .filter.active,html[data-theme="dark"] .primary-link{color:#252629}

@media(max-width:1000px){
 .catalog{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}
 .book-mode .page{padding:0 30px}
 .book-spread{gap:35px;grid-template-columns:1fr 1fr}
 .book-information h1{font-size:55px}
 .book-synopsis{font-size:21px}
 .reading-volume{width:270px;height:414px}
 .book-display-controls{gap:13px}
}
@media(max-width:650px){
 .shelf-header{padding-top:13px;padding-bottom:10px}
 .shelf-header .shelf-viewport{padding-top:12px}
 .shelf-header .shelf{min-height:103px}
 .shelf-header .shelf-book{--book-height:100px!important;--spine-width:24px!important}
 .shelf-header .shelf-book.selected{width:calc(var(--spine-width) + 69px)}
 .shelf-header .book-cover{width:78px}
 .shelf-caption{font-size:9px}
 .hero{padding:34px 0 30px}
 .hero h1{font-size:57px}
 .library-note{font-size:10px;margin-top:-8px}
 .catalog{grid-template-columns:1fr;gap:26px}
 .author-group{padding:17px 9px 12px}
 .author-heading h3{font-size:25px}
 .author-group .catalog-cover{--volume-width:147px;--volume-height:225px}
 .author-shelf .shelf-book{--spine-width:35px!important}
 .book-mode .page{padding:0 22px}
 .book-mode .masthead{padding:20px 0}
 .book-topline{padding-top:20px;gap:9px;font-size:10px}
 .book-topline>span{font-size:7px;letter-spacing:.7px}
 .close-book{width:28px;height:28px;font-size:20px}
 .book-spread{grid-template-columns:1fr;gap:24px;margin:8px 0 35px}
 .book-display{position:static}
 .book-scene{height:580px}
 .reading-volume{--book-depth:32px;width:244px;height:356px}
 .book-scene.opened .reading-volume{width:min(330px,calc(100% - 28px));height:520px;transform:translateX(14px) rotateY(0)}
 .page-running-title{font-size:8px}
 .volume-page{padding:15px 18px}
 .book-display-controls{gap:18px}
 .book-display-controls>span{font-size:20px}
 .book-display-controls button{font-size:8px}
 .book-information{padding-top:8px}
 .book-information h1{font-size:55px;letter-spacing:-1px;margin-bottom:16px}
 .book-byline{font-size:22px;margin-bottom:13px}
 .book-synopsis{font-size:21px;line-height:1.5;margin-bottom:22px}
 .book-facts{gap:18px;padding:21px 0}
 .book-facts p{font-size:11px}
 .book-average>p{font-size:48px}
 .more-by-author .section-heading{align-items:center}
 .more-by-author .section-heading>a{font-size:9px}
 .more-by-author h2{font-size:28px}
}
@media(prefers-reduced-motion:reduce){.reading-volume,.volume-cover{transition:none}.catalog-book:hover .catalog-volume{transform:none}}

/* Wooden shelf ledges, shared by both themes. */
.shelf-edge,.catalog-cover:after{
 background:repeating-linear-gradient(2deg,#ffffff08 0 1px,#00000008 1px 2px,transparent 2px 5px),linear-gradient(#89603f 0%,#6d472d 22%,#7b5234 35%,#593a25 82%,#402919 100%);
 border-top:1px solid #9a704d;
 box-shadow:0 5px 8px #40261724,0 15px 20px #40261710;
}
.more-by-author>.author-shelf{border-image:linear-gradient(#89603f,#593a25 75%,#402919) 1}

/* The reading lamp stays within reach on every page. */
.reading-lamp{position:fixed;right:22px;bottom:20px;z-index:20;width:64px;padding:5px 6px 8px;display:flex;flex-direction:column;align-items:center;gap:1px;background:var(--paper);color:#896744;border:1px solid var(--line);border-radius:32px 32px 12px 12px;box-shadow:0 4px 18px #0002}
.reading-lamp svg{width:44px;height:50px;overflow:visible}
.lamp-shade{fill:#59715b}
.lamp-base{fill:#9a7852}
.lamp-light{fill:transparent;transition:fill .25s}
.lamp-label{font-size:8px;letter-spacing:.4px;color:var(--muted);white-space:nowrap}
html[data-theme="light"] .reading-lamp{box-shadow:0 0 24px #e6b45538,0 4px 18px #0001}
html[data-theme="light"] .lamp-shade{fill:#d6bd83}
html[data-theme="light"] .lamp-light{fill:#edc26640}
html[data-theme="dark"] .reading-lamp{color:#bc996b}
.reading-lamp:hover{transform:translateY(-2px)}
footer{padding-right:58px}
html[data-theme="dark"] .hero-description,html[data-theme="dark"] .search-note,html[data-theme="dark"] .selected-author,html[data-theme="dark"] .selected-description,html[data-theme="dark"] .selected-info .eyebrow,html[data-theme="dark"] .reading-label,html[data-theme="dark"] .word-count,html[data-theme="dark"] .reading-time span,html[data-theme="dark"] .pace-control,html[data-theme="dark"] .pace-control label,html[data-theme="dark"] .pace-control output span,html[data-theme="dark"] .book-count,html[data-theme="dark"] .filter,html[data-theme="dark"] .results-count,html[data-theme="dark"] .how-intro>p:last-child,html[data-theme="dark"] .how-steps p,html[data-theme="dark"] footer{color:var(--muted)}
html[data-theme="dark"] .search{background:#303134;border-color:var(--line)}
html[data-theme="dark"] .search-hint,html[data-theme="dark"] .book-count,html[data-theme="dark"] .filter,html[data-theme="dark"] .show-more,html[data-theme="dark"] .reading-info{border-color:var(--line)}
html[data-theme="dark"] .book-detail{background:#2e3030;border-color:var(--line)}
html[data-theme="dark"] .filter:hover,html[data-theme="dark"] .show-more:hover,html[data-theme="dark"] .close-book:hover{background:#414243}
html[data-theme="dark"] .primary-link:hover{background:#e7e4cd}
html[data-theme="light"] .close-book:hover{background:#e9e5d9}
@media(max-width:650px){.reading-lamp{right:12px;bottom:12px;width:52px;padding:4px 4px 6px}.reading-lamp svg{width:36px;height:42px}.lamp-label{font-size:7px}}

.book-mode:not(.js-ready) .book-display{display:none}
.edition-details{padding:18px 0;font-size:12px;line-height:1.7;color:var(--muted)}
.edition-details summary{cursor:pointer;color:var(--ink);font-weight:600}
.edition-details code{overflow-wrap:anywhere;font-size:11px}
.discovery-section{padding:25px 0;border-top:1px solid var(--line)}
.discovery-section h2{font-size:29px}
.discovery-section p,.simple-page>p{color:var(--muted);line-height:1.7}
.discovery-list{list-style:none;margin:20px 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px}
.discovery-list li{border-bottom:1px solid var(--line);padding:12px 0}
.discovery-list a{font-size:15px;line-height:1.6;display:block}
.discovery-list span{display:block;color:var(--muted);font-size:11px}
.simple-page{padding:36px 0 60px}
.simple-page h1{font-family:var(--serif);font-size:clamp(35px,6vw,62px);font-weight:400;line-height:1.1;margin:0 0 24px}
.simple-page h2{font-size:28px}
.simple-page a:not(.primary-link){text-decoration:underline;text-underline-offset:3px}
.calculator-answer{font-family:var(--serif);font-size:38px;color:var(--green)!important}
.count-calculator{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:24px 0}
.count-calculator label{font-size:13px;line-height:1.6}
.count-calculator input,.count-calculator select{display:block;width:100%;border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:12px;margin-top:8px;font:inherit;min-height:44px}
.count-calculator button{justify-self:start;border:0;cursor:pointer}
.count-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;list-style:none;padding:0;font-size:12px}
footer nav{font-size:11px;line-height:1.9}
@media(max-width:650px){
 .discovery-list,.count-calculator{grid-template-columns:1fr}
 .count-links{grid-template-columns:repeat(2,minmax(0,1fr))}
 footer nav{flex-basis:100%;order:3}
}
