/* EDITING GUIDE: these four fonts are included inside the ZIP, so Cloudflare never falls back to the old type. */
@font-face{font-family:"Chapter Serif";src:url("fonts/chapter-serif.otf") format("opentype");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Chapter Serif";src:url("fonts/chapter-serif-italic.otf") format("opentype");font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:"Chapter Sans";src:url("fonts/chapter-sans.otf") format("opentype");font-style:normal;font-weight:400 500;font-display:swap}
@font-face{font-family:"Chapter Sans";src:url("fonts/chapter-sans-semibold.otf") format("opentype");font-style:normal;font-weight:600 800;font-display:swap}
:root{--bg:#121316;--surface:#1f2125;--surface-2:#27292e;--text:#f4f4f5;--muted:#a1a1aa;--accent:#d4b278;--accent-soft:#e2c589;--line:#373941;--serif:"Chapter Serif",serif;--sans:"Chapter Sans",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{margin:0;background:var(--bg);color:var(--text);font:400 16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}button,input{font:inherit}a{color:inherit}
.site-nav{position:sticky;top:0;z-index:20;height:72px;display:flex;align-items:center;padding:0 max(24px,calc((100vw - 1180px)/2));border-bottom:1px solid #ffffff12;background:#121316e8;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.brand{display:flex;align-items:baseline;gap:8px;text-decoration:none}.brand span{font:500 23px/1 var(--serif);letter-spacing:-.035em}.brand i{font-style:normal;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.2em;color:var(--accent)}
.nav-links{display:flex;gap:30px;margin-left:auto}.nav-links a{text-decoration:none;color:var(--muted);font-size:13px;transition:color .2s}.nav-links a:hover{color:var(--text)}
.photo-mark{margin-left:28px;display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 14px;border:1px solid #d4b27855;border-radius:999px;color:var(--accent-soft);text-decoration:none;font-size:12px;font-weight:500}
.hero{max-width:1180px;margin:auto;padding:80px 24px 96px;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);align-items:center;gap:76px}
.eyebrow,.label{display:flex;align-items:center;gap:8px;color:var(--accent);font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}
.hero h1{max-width:720px;margin:26px 0 24px;font:400 clamp(44px,5vw,66px)/1.08 var(--serif);letter-spacing:-.035em}.hero h1 em{color:var(--accent-soft);font-weight:400}.hero-copy>p{max-width:590px;margin:0;color:var(--muted);font-size:17px;line-height:1.75}
.hero-meta{display:flex;flex-wrap:wrap;gap:26px;margin-top:40px;padding-top:24px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.hero-meta span{display:flex;align-items:baseline;gap:8px}.hero-meta b{color:var(--text);font:500 24px/1 var(--serif)}
.hero-visual{position:relative;margin:0;padding:0 14px 18px 0}.hero-visual:before{content:"";position:absolute;inset:16px 0 0 16px;border:1px solid #d4b27866}.hero-visual img{position:relative;width:100%;height:510px;object-fit:cover;display:block;filter:saturate(.75) brightness(.72);box-shadow:0 24px 60px #0008}.hero-visual figcaption{position:absolute;left:-20px;bottom:42px;display:flex;flex-direction:column;gap:4px;min-width:230px;padding:15px 18px;background:#d4b278;color:#171719;box-shadow:0 16px 36px #0007}.hero-visual figcaption span{font-size:9px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.hero-visual figcaption b{font:500 16px/1.3 var(--serif)}
.reading-log,.library{max-width:1180px;margin:auto;padding:96px 24px}.reading-log{border-top:1px solid var(--line)}.section-intro{max-width:660px}
.section-intro h2,.section-head h2,.feature h2,.about h2,.review-panel h2{margin:14px 0;font:400 clamp(34px,4.5vw,54px)/1.12 var(--serif);letter-spacing:-.035em}.section-intro>p{color:var(--muted);margin:0}
.status-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:44px}.status-card{min-height:170px;display:grid;grid-template-columns:auto 1fr;gap:24px;padding:28px;background:var(--surface);border:1px solid var(--line)}.status-number{color:#d4b27880;font:400 28px/1 var(--serif)}.status-card h3{margin:14px 0 4px;font:500 21px/1.25 var(--serif)}.status-card p{margin:0;color:var(--muted);font-size:13px}
.feature{padding:86px max(24px,calc((100vw - 1080px)/2));display:grid;grid-template-columns:1fr 1fr;gap:76px;align-items:center;background:var(--surface);border-block:1px solid var(--line)}.feature-photo{position:relative;padding:6px;border:1px solid #d4b27852;background:#17181b}.feature-photo img{width:100%;max-height:600px;object-fit:contain;display:block}.feature-photo>span{position:absolute;left:18px;bottom:18px;padding:8px 10px;background:#121316dc;color:var(--text);font-size:9px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.feature-copy{max-width:500px}.feature-copy .author,.review-panel .author{margin:0 0 20px;color:var(--muted)}
.stars{display:flex;align-items:center;gap:3px;color:var(--accent);font-size:16px}.stars span:last-child{margin-left:8px;color:var(--muted);font-size:12px}.stars .muted-star{margin:0;color:#666871}.feature blockquote{margin:30px 0 18px;font:400 22px/1.5 var(--serif);color:var(--accent-soft)}.feature-copy>p{color:var(--muted)}.feature-copy button{display:inline-flex;align-items:center;gap:8px;margin-top:22px;padding:10px 0;border:0;border-bottom:1px solid var(--accent);background:transparent;color:var(--text);font-weight:500;cursor:pointer;transition:color .2s}.feature-copy button:hover{color:var(--accent-soft)}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px}.search-stack{width:320px}.search{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid #696b72}.search input{width:100%;min-height:34px;border:0;outline:0;background:transparent;color:var(--text);font-size:14px}.search input::placeholder{color:#777981}.search:focus-within{border-color:var(--accent)}.search-feedback{display:block;padding-top:8px;color:var(--muted);font-size:12px}
.filters-wrap{position:relative}.filters{display:flex;flex-wrap:wrap;gap:9px;margin:38px 0 34px}.filters button{min-height:42px;padding:8px 15px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);font-size:13px;cursor:pointer;transition:.2s}.filters button:hover{border-color:#d4b27888;color:var(--text)}.filters button.active{border-color:var(--accent);background:var(--accent);color:#18181b}
.book-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.book-card{display:flex;flex-direction:column;min-width:0;padding:12px 12px 16px;background:var(--surface);border:1px solid var(--line);cursor:pointer;transition:transform .22s,border-color .22s,box-shadow .22s}.book-card:hover{transform:translateY(-4px);border-color:#d4b27870;box-shadow:0 18px 40px #0005}.book-card:focus-visible,.filters button:focus-visible,.feature-copy button:focus-visible,.close:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.book-photo{width:100%;aspect-ratio:2/3;object-fit:cover;display:block;background:#17181b}.card-body{display:flex;flex-direction:column;align-items:flex-start;flex:1;padding:16px 5px 0}.card-top{width:100%;display:flex;justify-content:space-between;gap:10px;color:#878992;font-size:9px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.card-body h3{margin:17px 0 5px;font:500 20px/1.22 var(--serif)}.card-body>p{margin:0 0 17px;color:var(--muted);font-size:12px}.card-body .stars{font-size:14px}.verdict{margin-top:auto;padding-top:22px;color:var(--accent-soft);font-size:12px;font-weight:600}.empty{padding:70px;text-align:center;border:1px dashed var(--line);color:var(--muted)}.empty[hidden]{display:none}
.about{text-align:center;padding:104px 24px;background:#0e0f11;border-top:1px solid var(--line)}.about .label{justify-content:center}.about p{max-width:690px;margin:22px auto;color:var(--muted)}.signature{color:var(--accent);font:italic 18px var(--serif)}footer{display:flex;justify-content:space-between;gap:20px;padding:26px max(24px,calc((100vw - 1132px)/2));border-top:1px solid var(--line);color:#777981;font-size:11px;text-transform:uppercase;letter-spacing:.12em}
.overlay{position:fixed;inset:0;z-index:40;display:flex;justify-content:flex-end;background:#050506c7;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.overlay[hidden]{display:none}.review-panel{width:min(660px,100%);height:100%;overflow:auto;padding:18px clamp(24px,5vw,58px) 64px;background:var(--surface);box-shadow:-30px 0 70px #0008;animation:slide .28s ease-out}.close{position:sticky;top:12px;z-index:3;display:flex;align-items:center;gap:8px;min-height:44px;margin:0 0 22px auto;padding:0 15px;border:1px solid #d4b27866;border-radius:999px;background:#1f2125ed;color:var(--accent-soft);font-size:12px;font-weight:600;cursor:pointer;backdrop-filter:blur(8px)}.panel-photo{width:100%;height:auto;max-height:80vh;object-fit:contain;object-position:center!important;display:block;margin:0 auto 38px;background:#17181b;border:1px solid var(--line)}.review-panel h2{font-size:44px}.review-panel hr{margin:34px 0;border:0;border-top:1px solid var(--line)}.review-panel h3{margin:28px 0 8px;font:500 21px var(--serif)}.review-panel>p{margin-top:0;color:var(--muted);line-height:1.75}.recommend{display:flex;align-items:flex-start;gap:15px;margin-top:34px;padding:20px;border:1px solid #d4b27855;background:#d4b2780d;color:var(--accent)}.recommend div{display:flex;flex-direction:column;gap:5px}.recommend small{font-size:9px;letter-spacing:.14em}.recommend strong{color:var(--text);font:500 16px/1.4 var(--serif)}@keyframes slide{from{transform:translateX(100%)}to{transform:translateX(0)}}
@media(max-width:920px){.hero{grid-template-columns:1fr;gap:56px}.hero-visual{max-width:650px}.feature{gap:44px}.book-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){body{font-size:15px}.site-nav{height:66px;padding:0 18px}.brand span{font-size:20px}.brand i{font-size:9px}.nav-links{display:none}.photo-mark{margin-left:auto;min-height:36px;padding:0 11px;font-size:11px}.hero{padding:56px 20px 72px}.hero h1{font-size:40px;line-height:1.1}.hero-copy>p{font-size:16px}.hero-meta{gap:16px 20px}.hero-meta b{font-size:21px}.hero-visual{padding-right:8px}.hero-visual img{height:430px}.hero-visual figcaption{left:-8px;bottom:34px;min-width:210px}.reading-log,.library{padding:72px 18px}.status-grid{grid-template-columns:1fr}.status-card{min-height:150px;padding:22px}.feature{grid-template-columns:1fr;padding:70px 18px}.feature-photo img{max-height:70vh}.section-head{align-items:flex-start;flex-direction:column;gap:22px}.search-stack{width:100%}.filters{flex-wrap:nowrap;overflow-x:auto;width:calc(100vw - 18px);margin-right:-18px;padding:0 46px 10px 0;scrollbar-width:none;scroll-behavior:smooth}.filters::-webkit-scrollbar{display:none}.filters-wrap:after{content:"";position:absolute;right:-1px;top:0;bottom:10px;width:48px;pointer-events:none;background:linear-gradient(90deg,transparent,var(--bg) 88%)}.filters button{flex:0 0 auto}.book-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.book-card{padding:8px 8px 13px}.card-body{padding:13px 3px 0}.card-top{font-size:8px}.card-top span:last-child{display:none}.card-body h3{font-size:17px;margin-top:13px}.card-body>p{font-size:11px}.verdict{font-size:11px;padding-top:17px}.stars{font-size:13px}.stars span:last-child{margin-left:5px;font-size:10px}.about h2{font-size:34px}footer{flex-direction:column}.review-panel{padding:12px 20px 54px}.close{top:max(10px,env(safe-area-inset-top));margin-bottom:16px}.panel-photo{max-height:72vh;margin-bottom:30px}.review-panel h2{font-size:36px}}
