*{box-sizing:border-box}html{scroll-behavior:smooth}:root{--bg:#f7f3ea;--surface:#fffdf8;--ink:#20201d;--muted:#77736b;--line:#ddd6c9;--accent:#7b4b2a;--accent2:#a9744d;--soft:#eee5d6;--serif:"Songti SC","STSong","SimSun",serif;--sans:system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;--shadow:0 20px 60px rgba(66,49,30,.1)}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}.shell{width:min(1160px,calc(100% - 40px));margin-inline:auto}a{color:inherit;text-decoration:none}button,input{font:inherit}.site-header{position:sticky;top:0;z-index:30;background:rgba(247,243,234,.88);backdrop-filter:blur(16px);border-bottom:1px solid rgba(123,75,42,.12)}.header-inner{height:72px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-size:21px;font-weight:700}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--accent);border-radius:50%;color:var(--accent);font-size:18px}.header-inner nav{display:flex;gap:32px;font-size:14px;color:var(--muted)}.header-inner nav a:hover{color:var(--accent)}.header-search{font-size:14px;color:var(--muted)}kbd{padding:3px 7px;margin-left:6px;background:var(--soft);border:1px solid var(--line);border-radius:6px;font-size:11px}.hero{min-height:570px;padding:105px 0 80px;position:relative}.hero:after{content:"阅";position:absolute;right:4%;top:30px;font:420px/1 var(--serif);color:rgba(123,75,42,.035);pointer-events:none}.kicker{display:block;color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.2em}.hero h1,.detail-copy h1{font:700 clamp(46px,8vw,88px)/1.08 var(--serif);letter-spacing:-.04em;margin:22px 0}.hero h1 em{color:var(--accent);font-style:normal}.hero-copy>p{color:var(--muted);font-size:17px}.search{position:relative;z-index:2;margin-top:50px;width:min(760px,100%);height:66px;border:1px solid var(--line);border-radius:99px;background:var(--surface);box-shadow:var(--shadow);display:flex;align-items:center;padding:7px 8px 7px 22px}.search svg{width:23px;fill:none;stroke:var(--muted);stroke-width:1.8}.search input{flex:1;border:0;outline:0;background:none;padding:0 16px;font-size:16px;min-width:0}.search button,.button.primary{border:0;background:var(--accent);color:#fff;border-radius:99px;padding:15px 27px;cursor:pointer}.hero-stats{position:absolute;right:0;bottom:85px;display:flex;flex-direction:column;align-items:flex-end}.hero-stats strong{font:56px/1 var(--serif);color:var(--accent)}.hero-stats span{color:var(--muted);font-size:13px;margin-top:8px}.category-wrap,.library,.about{padding:82px 0;border-top:1px solid var(--line)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:35px}.section-head h2{font:700 34px/1.2 var(--serif);margin:10px 0 0}.section-head>p{color:var(--muted);font-size:14px}.chips{display:flex;gap:10px;flex-wrap:wrap}.chip{border:1px solid var(--line);background:rgba(255,255,255,.35);padding:12px 17px;border-radius:99px;font-size:14px;transition:.2s}.chip small{margin-left:8px;color:var(--muted)}.chip:hover,.chip.active{background:var(--ink);border-color:var(--ink);color:#fff}.book-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:34px 24px}.book-card{min-width:0}.cover-link{display:block;aspect-ratio:3/4;overflow:hidden;border-radius:6px;background:var(--soft);box-shadow:0 13px 30px rgba(45,35,23,.14);transition:.25s}.cover-link:hover{transform:translateY(-6px);box-shadow:0 20px 42px rgba(45,35,23,.19)}.cover-link img{width:100%;height:100%;object-fit:cover}.book-copy{padding:18px 5px}.eyebrow{color:var(--accent);font-size:11px;margin:0 0 8px;letter-spacing:.08em}.book-copy h3{font:700 20px/1.35 var(--serif);margin:0}.book-copy h3 a:hover{color:var(--accent)}.author{color:var(--muted);font-size:13px}.format-pills{display:flex;gap:6px}.format-pills span{font-size:9px;letter-spacing:.08em;padding:4px 7px;background:var(--soft);border-radius:4px;color:var(--muted)}.empty{grid-column:1/-1;text-align:center;padding:80px;background:var(--surface);border:1px dashed var(--line);border-radius:12px}.site-footer{padding:60px 0;background:#24221e;color:#eee8dd}.site-footer .shell{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center}.site-footer p{text-align:center;color:#aaa398}.site-footer .fine{text-align:right;font-size:12px}.detail-hero{padding:55px 0 95px}.back{display:inline-block;color:var(--muted);font-size:14px;margin-bottom:45px}.detail-grid{display:grid;grid-template-columns:300px 1fr;gap:80px;align-items:start}.detail-cover{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:7px;box-shadow:0 24px 60px rgba(52,39,25,.24)}.detail-cover-wrap>span{display:block;text-align:center;margin-top:16px;font-size:10px;letter-spacing:.18em;color:var(--muted)}.detail-copy{padding-top:20px}.detail-copy h1{font-size:clamp(45px,7vw,78px)}.lead{font:17px/1.9 var(--serif);color:#5f5b54;max-width:720px;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}.actions{display:flex;gap:10px;flex-wrap:wrap;margin:35px 0}.button{display:inline-flex;justify-content:center;align-items:center;min-height:49px;padding:13px 22px;border-radius:99px;font-size:14px}.button.secondary{border:1px solid var(--line);background:var(--surface)}.button:hover{transform:translateY(-1px)}.metadata{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:36px}.metadata div{padding:20px 12px 10px 0}.metadata span{display:block;color:var(--muted);font-size:11px;margin-bottom:7px}.metadata strong{font-size:14px}.about .prose{max-width:780px;font:18px/2 var(--serif);white-space:pre-line}.reader-page .site-header,.reader-page .site-footer{display:none}.reader{--reader-bg:#faf8f3;--reader-ink:#292722;--reader-size:19px;--reader-line:1.95;min-height:100vh;background:var(--reader-bg);color:var(--reader-ink);transition:.25s}.reader[data-theme=dark]{--reader-bg:#171715;--reader-ink:#d8d2c8}.reader[data-theme=paper]{--reader-bg:#f1e6cb;--reader-ink:#352b21}.reader-progress{position:fixed;z-index:60;top:0;left:0;width:100%;height:3px;background:rgba(100,80,50,.08)}.reader-progress span{display:block;height:100%;width:0;background:var(--accent)}.reader-top{position:fixed;z-index:50;top:3px;left:0;width:100%;height:66px;padding:0 28px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background:color-mix(in srgb,var(--reader-bg) 88%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid rgba(100,80,50,.12)}.reader-top>a{font-size:13px}.reader-top>div{text-align:center}.reader-top strong,.reader-top small{display:block}.reader-top small{color:var(--muted);font-size:10px;margin-top:3px}.reader-top>button{justify-self:end}.reader-setting-toggle{border:1px solid rgba(100,80,50,.25);border-radius:99px;background:transparent;color:inherit;padding:7px 12px;cursor:pointer}.reader-article{max-width:760px;margin:auto;padding:145px 32px 120px}.reader-article header{text-align:center;margin-bottom:70px}.reader-article h1{font:700 42px/1.3 var(--serif);margin:18px 0 8px}.reader-article header p{color:var(--muted)}.reader-text{white-space:pre-wrap;font-family:var(--serif);font-size:var(--reader-size);line-height:var(--reader-line);letter-spacing:.035em}.reader-end{text-align:center;padding:100px 0 20px;display:flex;flex-direction:column;gap:16px}.reader-end a{color:var(--accent)}.reader-settings{position:fixed;z-index:70;right:22px;top:82px;width:280px;padding:22px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);display:none}.reader-settings.open{display:block}.reader-settings h3{margin:0 0 22px;font-family:var(--serif)}.reader-settings label{display:block;font-size:11px;color:var(--muted);margin:18px 0 8px}.theme-options,.line-options,.stepper{display:flex;gap:7px}.reader-settings button{flex:1;border:1px solid var(--line);background:var(--bg);border-radius:7px;padding:8px;cursor:pointer}.stepper output{flex:1;text-align:center;padding:8px}.reader-bottom{position:fixed;z-index:40;bottom:0;left:0;width:100%;height:58px;padding:0 25px;background:color-mix(in srgb,var(--reader-bg) 90%,transparent);backdrop-filter:blur(14px);border-top:1px solid rgba(100,80,50,.12);display:flex;justify-content:space-between;align-items:center;font-size:12px}.not-found{min-height:100vh;display:grid;place-content:center;text-align:center;padding:30px}.not-found h1{font:700 clamp(38px,8vw,70px)/1.2 var(--serif);margin:20px}.not-found p{color:var(--muted);margin-bottom:30px}@media(max-width:860px){.header-inner nav{display:none}.hero{padding-top:75px;min-height:auto}.hero-stats{position:static;align-items:flex-start;margin-top:45px}.hero:after{font-size:250px}.book-grid{grid-template-columns:repeat(3,1fr)}.detail-grid{grid-template-columns:210px 1fr;gap:38px}.site-footer .shell{grid-template-columns:1fr;gap:15px;text-align:center}.site-footer .brand{justify-content:center}.site-footer .fine,.site-footer p{text-align:center}}@media(max-width:600px){.shell{width:min(100% - 28px,1160px)}.header-inner{height:62px}.header-search kbd{display:none}.hero{padding:62px 0}.hero h1{font-size:49px}.hero-copy>p{font-size:15px}.search{height:58px;margin-top:34px;padding-left:17px}.search button{padding:12px 18px}.section-head{display:block}.section-head>p{margin-top:10px}.category-wrap,.library,.about{padding:60px 0}.chips{flex-wrap:nowrap;overflow:auto;margin-right:-14px;padding-bottom:10px}.chip{white-space:nowrap}.book-grid{grid-template-columns:repeat(2,1fr);gap:28px 14px}.book-copy{padding:14px 2px}.book-copy h3{font-size:17px}.detail-hero{padding-top:30px}.detail-grid{grid-template-columns:112px 1fr;gap:22px}.detail-copy{padding:0}.detail-copy h1{font-size:34px;margin:12px 0}.lead{font-size:14px;-webkit-line-clamp:4}.actions{grid-column:1/-1;margin:25px 0}.button{flex:1;min-width:125px}.metadata{grid-template-columns:repeat(2,1fr);grid-column:1/-1}.reader-top{padding:0 14px}.reader-top>div{max-width:155px;overflow:hidden;white-space:nowrap}.reader-article{padding:120px 20px 100px}.reader-article h1{font-size:32px}.reader-settings{right:12px;left:12px;top:auto;bottom:70px;width:auto}.reader-bottom{padding:0 14px}.site-footer{padding-bottom:40px}}

/* Homepage v2 — editorial library */
:root{--night:#171d19;--forest:#26382f;--gold:#b49157;--cream:#f3eee4;--paper:#fcfaf5}
.site-header{background:rgba(252,250,245,.92);border-bottom-color:rgba(38,56,47,.12)}
.brand-mark{background:var(--forest);border-color:var(--forest);color:#fff}
.hero{min-height:unset;padding:78px 0 72px;background:var(--night);color:#f6f1e7;overflow:hidden}
.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 76% 25%,rgba(180,145,87,.18),transparent 30%),linear-gradient(110deg,transparent 58%,rgba(255,255,255,.025) 58%);pointer-events:none}
.hero:after{content:"栖";right:-3%;top:-60px;color:rgba(255,255,255,.025);font-size:520px}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.7fr);gap:90px;align-items:center}
.hero h1{font-size:clamp(54px,6.5vw,84px);letter-spacing:-.035em;margin:20px 0 18px}.hero h1 em{color:#d1af75}
.hero-copy>p{color:#aeb8b1;margin:0}.hero .kicker{color:#c7a66f}
.hero .search{margin-top:34px;height:62px;width:100%;border:0;box-shadow:0 18px 45px rgba(0,0,0,.22);background:#fff}
.hero .search button{background:var(--gold);color:#171d19;font-weight:750}
.hot-categories{display:flex;align-items:center;gap:8px;margin-top:22px;overflow:hidden;color:#89968e;font-size:12px}.hot-categories>span{white-space:nowrap;margin-right:4px}.hot-categories .chips{flex-wrap:nowrap;overflow:hidden}.hot-categories .chip{white-space:nowrap;border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.04);color:#d3d8d4;padding:7px 12px;font-size:11px}.hot-categories .chip:nth-child(n+7){display:none}.hot-categories .chip small{display:none}.hot-categories .chip:hover,.hot-categories .chip.active{background:#f2ece0;color:#1d251f}
.hero-panel{border-left:1px solid rgba(255,255,255,.16);padding:10px 0 10px 42px}.panel-label{font-size:10px;letter-spacing:.2em;color:#829087}.hero-number{font:700 clamp(62px,7vw,94px)/1 var(--serif);color:#d2af74;margin-top:25px}.hero-panel>p{margin:8px 0 35px;color:#a4aea7;font-size:13px}.hero-panel>small{display:block;color:#69766e;margin-top:28px;font-size:10px}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.stat-grid div{border-top:1px solid rgba(255,255,255,.14);padding-top:16px}.stat-grid strong,.stat-grid span{display:block}.stat-grid strong{font:700 24px var(--serif)}.stat-grid span{font-size:11px;color:#859189;margin-top:5px}
.category-wrap{padding:72px 0 78px;border:0}.section-head h2{color:#202922;font-size:36px}.category-cards{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #cfc8ba;border-left:1px solid #cfc8ba}.category-card{position:relative;min-height:138px;padding:24px;border-right:1px solid #cfc8ba;border-bottom:1px solid #cfc8ba;background:rgba(255,255,255,.22);transition:.2s}.category-card:hover{background:var(--forest);color:#fff;transform:translateY(-2px);box-shadow:0 15px 35px rgba(25,39,31,.12);z-index:1}.category-card>span{display:block;font:11px var(--sans);color:var(--gold)}.category-card strong{display:block;margin-top:21px;font:700 21px var(--serif)}.category-card small{display:block;margin-top:8px;color:var(--muted)}.category-card:hover small{color:#aebbb3}.category-card b{position:absolute;right:20px;bottom:21px;font-weight:400;color:var(--gold)}
.editorial{padding:0 0 86px}.featured-book{display:grid;grid-template-columns:240px 1fr;gap:64px;padding:55px 70px;align-items:center;background:var(--forest);color:#f4f0e7;box-shadow:0 26px 60px rgba(37,48,41,.15)}.featured-cover{display:block;aspect-ratio:3/4;box-shadow:0 22px 45px rgba(0,0,0,.3);transform:rotate(-1.5deg)}.featured-cover img{width:100%;height:100%;object-fit:cover}.featured-book .kicker{color:#d0ad73}.featured-category{color:#95a69b;font-size:12px;letter-spacing:.08em}.featured-book h2{font:700 clamp(36px,5vw,58px)/1.15 var(--serif);margin:14px 0}.featured-author{color:#c9d2cc}.featured-description{max-width:650px;color:#b4c0b8;line-height:1.9;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}.text-link{display:inline-block;margin-top:24px;padding-bottom:6px;border-bottom:1px solid #b89660;color:#d9bd8e;font-size:13px}.text-link span{margin-left:10px}
.discovery{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,.75fr);gap:55px;padding-bottom:85px}.compact-grid{grid-template-columns:repeat(4,1fr);gap:28px 18px}.book-card.compact .book-copy{padding-top:14px}.book-card.compact .book-copy h3{font-size:17px}.card-description{font:13px/1.7 var(--serif);color:var(--muted);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.compact .card-description{display:none}.ranking{background:var(--paper);border:1px solid var(--line);padding:29px 28px;align-self:start}.ranking .section-head{margin-bottom:18px}.ranking .section-head h2{font-size:27px}.rank-row{display:grid;grid-template-columns:32px 1fr 12px;gap:10px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}.rank-row i{font:italic 15px var(--serif);color:var(--gold)}.rank-row span{min-width:0}.rank-row strong,.rank-row small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rank-row strong{font:700 15px var(--serif)}.rank-row small{color:var(--muted);font-size:10px;margin-top:5px}.rank-row b{color:#b7ae9f}.rank-row:hover strong{color:var(--accent)}
.library{padding:76px 0 95px;background:rgba(255,255,255,.25);border-top:1px solid var(--line)}.filter-strip{display:flex;gap:8px;overflow:auto;padding-bottom:26px;margin-bottom:12px}.filter-strip .chip{white-space:nowrap;padding:9px 14px;font-size:12px}.library .book-grid{grid-template-columns:repeat(6,1fr);gap:38px 19px}.library .book-copy h3{font-size:17px}.library .card-description{display:none}.library .cover-link{border-radius:3px}.site-footer{background:var(--night)}
.pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin-top:62px;padding-top:25px;border-top:1px solid var(--line);font-size:13px}.pagination>span{color:var(--muted)}.page-arrow:last-child{text-align:right}.page-arrow{color:var(--accent);font-weight:650}.page-arrow.disabled{pointer-events:none;opacity:.3}

/* Real cover artwork is shown untouched; branding belongs only to placeholders. */

/* Vertical page-by-page reader */
.reader-article{max-width:none;padding:125px 20px 130px}.reader-article>header{max-width:760px;margin:0 auto 42px;text-align:center}.reader-brand-mark{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 24px;border:1px solid #b49157;border-radius:50%;background:#26382f;color:#d2b47f;font:700 30px var(--serif);box-shadow:0 12px 28px rgba(38,56,47,.18)}.reader-article>header h1{margin-bottom:8px}.page-count{display:block;margin-top:13px;color:var(--muted)}.reader-pages{display:flex;flex-direction:column;align-items:center;gap:34px}.reader-sheet{position:relative;width:min(760px,calc(100vw - 40px));min-height:980px;padding:78px 82px 76px;background:#fffdf8;color:#292722;border:1px solid rgba(111,92,63,.18);box-shadow:0 18px 50px rgba(46,38,28,.12);overflow:hidden}.reader[data-theme=paper] .reader-sheet{background:#f5ecd8;color:#352b21}.reader[data-theme=dark] .reader-sheet{background:#242420;color:#ded8cd;border-color:rgba(255,255,255,.08);box-shadow:0 20px 55px rgba(0,0,0,.35)}.reader-sheet:before{content:"";position:absolute;inset:13px;border:1px solid rgba(180,145,87,.18);pointer-events:none}.sheet-brand{position:absolute;top:31px;left:42px;display:flex;align-items:center;gap:10px;color:#a58b61}.sheet-brand span{display:grid;place-items:center;width:25px;height:25px;border:1px solid currentColor;border-radius:50%;font:700 13px var(--serif)}.sheet-brand small{font-size:8px;letter-spacing:.18em}.sheet-copy{position:relative;z-index:1;font-family:var(--serif);font-size:var(--reader-size);line-height:var(--reader-line);letter-spacing:.035em}.sheet-copy p{margin:0 0 1.05em;text-align:justify;text-indent:2em;white-space:pre-wrap}.sheet-copy p:first-child{text-indent:0}.reader-sheet footer{position:absolute;left:70px;right:70px;bottom:34px;padding-top:12px;border-top:1px solid rgba(180,145,87,.22);color:#9b8e79;text-align:center;font:10px var(--sans);letter-spacing:.14em}.reader-end{max-width:760px;margin:auto}.reader-bottom{box-shadow:0 -5px 25px rgba(40,35,28,.06)}
@media(max-width:600px){.reader-article{padding:100px 10px 100px}.reader-article>header{padding:0 15px}.reader-pages{gap:18px}.reader-sheet{width:calc(100vw - 20px);min-height:720px;padding:62px 30px 62px}.reader-sheet:before{inset:8px}.sheet-brand{top:23px;left:25px}.reader-sheet footer{left:30px;right:30px;bottom:25px}.sheet-copy p{text-align:left}.reader-brand-mark{width:54px;height:54px;font-size:25px}}
@media(max-width:1050px){.hero-grid{gap:45px}.category-cards{grid-template-columns:repeat(3,1fr)}.discovery{grid-template-columns:1fr}.ranking{display:grid;grid-template-columns:repeat(2,1fr);gap:0 25px}.ranking .section-head{grid-column:1/-1}.compact-grid{grid-template-columns:repeat(4,1fr)}.library .book-grid{grid-template-columns:repeat(5,1fr)}}
@media(max-width:760px){.hero{padding:58px 0}.hero-grid{grid-template-columns:1fr}.hero-panel{display:none}.hero h1{font-size:52px}.hero:after{font-size:300px;top:40px}.hot-categories .chip:nth-child(n+5){display:none}.category-cards{grid-template-columns:repeat(2,1fr)}.category-card{min-height:115px;padding:18px}.featured-book{grid-template-columns:125px 1fr;gap:25px;padding:30px 25px}.featured-book h2{font-size:30px}.featured-description{font-size:13px;-webkit-line-clamp:3}.compact-grid{display:flex;overflow:auto;padding-bottom:15px}.compact-grid .book-card{min-width:145px}.ranking{grid-template-columns:1fr}.library .book-grid{grid-template-columns:repeat(3,1fr)}.category-wrap,.library{padding-top:55px}.discovery,.editorial{padding-bottom:60px}}
@media(max-width:520px){.hero h1{font-size:44px}.hero .search button{padding:12px 16px;font-size:12px}.hero .search input{font-size:13px}.hot-categories>span{display:none}.section-head h2{font-size:29px}.category-card strong{font-size:18px}.category-card small{font-size:11px}.featured-book{grid-template-columns:95px 1fr;padding:24px 20px}.featured-description,.featured-category{display:none}.featured-book h2{font-size:25px}.featured-author{font-size:12px}.text-link{margin-top:10px;font-size:11px}.library .book-grid{grid-template-columns:repeat(2,1fr)}.library .book-copy h3{font-size:16px}.card-description{display:none}.pagination{grid-template-columns:1fr 1fr;gap:16px}.pagination>span{grid-column:1/-1;grid-row:1;text-align:center}.pagination .page-arrow{grid-row:2}}

/* Accounts, authentication and personal shelf */
.header-tools,.account-nav{display:flex;align-items:center;gap:14px}.account-nav{padding-left:15px;border-left:1px solid var(--line);font-size:12px}.account-nav form{margin:0}.account-nav button,.text-button{border:0;background:none;color:var(--muted);padding:0;cursor:pointer}.account-register{padding:8px 13px;border-radius:99px;background:var(--forest);color:#fff}.user-name{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--gold)}.favorite-form{display:inline-flex}.button.favorite{border:1px solid #cbbfae;background:transparent;color:var(--accent);cursor:pointer}.button.favorite.active{background:#f0e1cf;border-color:#ba8a55}.auth-page{background:linear-gradient(135deg,#f7f3ea 0 58%,#26382f 58%)}.auth-shell{min-height:calc(100vh - 72px);display:grid;grid-template-columns:1fr 430px;gap:110px;align-items:center;padding-block:80px}.auth-brand .brand-mark{width:68px;height:68px;font-size:30px;margin-bottom:35px}.auth-brand h1{font:700 clamp(48px,7vw,78px)/1.1 var(--serif);margin:18px 0}.auth-brand>p{color:var(--muted)}.auth-card{padding:42px;background:#fffdf8;border:1px solid rgba(180,145,87,.25);box-shadow:0 28px 70px rgba(20,28,23,.2)}.auth-card label{display:block;margin-bottom:20px;color:var(--muted);font-size:12px}.auth-card input{display:block;width:100%;margin-top:8px;padding:14px 15px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);outline:none}.auth-card input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(180,145,87,.12)}.auth-card label small{display:block;margin-top:7px}.auth-card>.button{width:100%;margin-top:5px}.auth-card>p{text-align:center;margin:22px 0 0;color:var(--muted);font-size:13px}.auth-card>p a{color:var(--accent);font-weight:700}.form-error:empty{display:none}.form-error{padding:11px 13px;margin-bottom:18px;border:1px solid #dfb8aa;background:#fff1eb;color:#9d442e;border-radius:7px;font-size:12px}.shelf-hero{padding:85px 0 65px;background:var(--night);color:#fff}.shelf-hero .kicker{color:#d0ad73}.shelf-hero h1{font:700 clamp(45px,7vw,76px)/1.12 var(--serif);margin:18px 0}.shelf-hero>div>p{color:#9eaaa2}.shelf-stats{display:flex;gap:35px;margin-top:35px;color:#9eaaa2;font-size:12px}.shelf-stats strong{font:700 25px var(--serif);color:#d4b275;margin-right:6px}.shelf-section{padding:72px 0;border-bottom:1px solid var(--line)}.shelf-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.shelf-card{display:grid;grid-template-columns:105px 1fr;gap:22px;padding:19px;background:rgba(255,255,255,.48);border:1px solid var(--line)}.shelf-cover{aspect-ratio:3/4;overflow:hidden;box-shadow:0 10px 25px rgba(45,35,23,.15)}.shelf-cover img{width:100%;height:100%;object-fit:cover}.shelf-card h3{font:700 21px var(--serif);margin:7px 0}.shelf-card p,.shelf-card small{color:var(--muted);font-size:11px}.shelf-progress{height:4px;margin:17px 0 8px;background:#e4ddd0;overflow:hidden}.shelf-progress span{display:block;height:100%;background:var(--gold)}.shelf-actions{display:flex;justify-content:space-between;align-items:center;margin-top:15px;font-size:12px}.shelf-actions>a{color:var(--accent);font-weight:700}.shelf-empty{grid-column:1/-1;padding:60px;border:1px dashed var(--line);text-align:center;color:var(--muted)}
@media(max-width:860px){.header-search{display:none}.auth-shell{grid-template-columns:1fr;gap:45px;max-width:520px}.auth-page{background:var(--bg)}.shelf-grid{grid-template-columns:1fr}}
@media(max-width:600px){.account-nav{gap:8px;padding-left:0;border:0}.account-nav .user-name,.account-register{display:none}.header-tools{gap:8px}.auth-shell{padding-block:45px}.auth-brand h1{font-size:45px}.auth-card{padding:28px 22px}.shelf-hero{padding:55px 0}.shelf-card{grid-template-columns:82px 1fr;gap:15px;padding:14px}.shelf-card h3{font-size:18px}.shelf-section{padding:52px 0}}

/* Search feedback and result focus */
.search button{display:flex;align-items:center;justify-content:center;gap:9px;min-width:116px}.search button i{display:none;width:14px;height:14px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:search-spin .7s linear infinite}.hero .search button i{border-color:rgba(23,29,25,.25);border-top-color:#171d19}.search button.loading i{display:block}.search button:disabled{opacity:.8;cursor:wait}@keyframes search-spin{to{transform:rotate(360deg)}}.search-results{scroll-margin-top:72px;outline:none}.result-notice{display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;margin:-24px 0 44px;padding:21px 25px;background:var(--forest);color:#fff;border-left:4px solid var(--gold);box-shadow:0 15px 40px rgba(38,56,47,.14)}.result-notice>span{padding-right:22px;border-right:1px solid rgba(255,255,255,.2);font-size:9px;letter-spacing:.18em;color:#c9aa75}.result-notice strong{font:700 21px var(--serif)}.result-notice p{margin:4px 0 0;color:#aab7af;font-size:12px}.result-notice>a{padding:9px 13px;border:1px solid rgba(255,255,255,.25);border-radius:99px;color:#e6ded1;font-size:11px}.search-results:focus .result-notice{animation:result-arrive .55s ease-out}@keyframes result-arrive{from{transform:translateY(8px);opacity:.35}to{transform:none;opacity:1}}@media(max-width:600px){.search button{min-width:96px}.result-notice{grid-template-columns:1fr auto;gap:12px;margin:-10px 0 32px;padding:17px}.result-notice>span{display:none}.result-notice strong{font-size:18px}.result-notice p{max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
.listing-mode .hero,.listing-mode .category-wrap,.listing-mode .editorial,.listing-mode .discovery{display:none}.listing-mode .library{padding-top:62px;min-height:70vh}.listing-mode .result-notice{margin-top:0}.pagination .disabled{pointer-events:none;opacity:.38}
.book-error-page{background:linear-gradient(135deg,var(--bg) 0 68%,var(--forest) 68%)}.book-error{min-height:calc(100vh - 72px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;max-width:820px;padding-block:80px}.book-error>.brand-mark{width:66px;height:66px;margin-bottom:34px;font-size:29px}.book-error h1{max-width:650px;margin:18px 0;font:700 clamp(42px,7vw,72px)/1.13 var(--serif)}.book-error>p{max-width:620px;color:var(--muted);font:17px/1.9 var(--serif)}.book-error-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:28px}.book-error-actions .text-link{margin:0 0 0 12px}@media(max-width:700px){.book-error-page{background:var(--bg)}.book-error{min-height:calc(100vh - 62px);padding-block:55px}.book-error h1{font-size:43px}.book-error-actions{align-items:stretch}.book-error-actions .button{width:100%}.book-error-actions .text-link{margin:12px 0 0}}
.category-chart{margin:-4px 0 34px;padding:28px 30px 30px;background:var(--forest);color:#f6f0e5;box-shadow:0 18px 45px rgba(28,44,35,.13)}.chart-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:22px}.chart-heading .kicker{color:var(--gold)}.chart-heading h3{margin:8px 0 0;font:700 27px/1.25 var(--serif)}.chart-heading p{margin:0;color:#abb9b0;font-size:12px}.chart-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 30px}.chart-book{position:relative;display:grid;grid-template-columns:27px 47px minmax(0,1fr) 13px;gap:11px;align-items:center;min-width:0;padding:13px 0;border-top:1px solid rgba(255,255,255,.14)}.chart-book:nth-child(-n+3){border-top-color:rgba(208,173,115,.55)}.chart-number{font:italic 14px var(--serif);color:var(--gold)}.chart-book img{width:47px;height:63px;object-fit:cover;box-shadow:0 6px 13px rgba(0,0,0,.25)}.chart-copy{min-width:0}.chart-copy strong,.chart-copy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chart-copy strong{font:700 15px/1.35 var(--serif)}.chart-copy small{margin-top:6px;color:#9fb0a5;font-size:10px}.chart-book>b{color:var(--gold);font-weight:400;opacity:.65}.chart-book:hover strong{color:#e0c18c}.chart-book:hover img{transform:translateY(-2px)}
@media(max-width:900px){.chart-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.category-chart{margin:0 -14px 28px;padding:24px 14px 20px}.chart-heading{display:block}.chart-heading p{margin-top:8px;line-height:1.6}.chart-grid{display:flex;overflow:auto;gap:10px;padding:3px 0 8px;scroll-snap-type:x proximity}.chart-book{flex:0 0 260px;grid-template-columns:24px 44px minmax(0,1fr) 10px;padding:12px 10px 12px 0;scroll-snap-align:start;border-top:1px solid rgba(255,255,255,.16)}.chart-book img{width:44px;height:59px}.filter-strip{margin-top:4px}}
.book-formats{margin:32px 0 8px;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.format-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:15px}.format-heading h2{margin:7px 0 0;font:700 23px/1.2 var(--serif)}.format-list{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.format-item{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:13px 12px;background:rgba(255,255,255,.42);border:1px solid var(--line);border-radius:8px;transition:.2s}.format-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--forest);color:#fff;font:700 13px var(--serif)}.format-item strong,.format-item small{display:block}.format-item strong{font-size:13px}.format-item small{margin-top:4px;color:var(--muted);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.format-size{color:var(--accent);font-size:11px;white-space:nowrap}.format-size b{margin-left:5px}.format-item:hover{border-color:var(--gold);background:var(--surface);transform:translateY(-2px)}
@media(max-width:760px){.detail-hero{padding:24px 0 62px}.detail-hero .back{margin-bottom:24px}.detail-grid{grid-template-columns:130px minmax(0,1fr);gap:22px;align-items:start}.detail-cover-wrap>span{margin-top:10px;font-size:8px}.detail-copy h1{font-size:clamp(31px,9vw,42px);line-height:1.18;letter-spacing:-.035em;margin:10px 0 12px}.detail-copy>.kicker{font-size:10px}.detail-copy .lead{font-size:14px;line-height:1.7;-webkit-line-clamp:4}.detail-copy .actions,.detail-copy .book-formats,.detail-copy .metadata{grid-column:auto}.detail-copy .actions{display:grid;grid-template-columns:1fr;margin:22px 0 0}.detail-copy .actions .button,.detail-copy .favorite-form,.detail-copy .favorite-form .button{width:100%;min-width:0}.book-formats{grid-column:1/-1!important;margin:30px 0 0}.metadata{grid-column:1/-1!important;margin-top:24px}.format-list{grid-template-columns:1fr}.format-item{padding:12px 14px}.about{padding-top:56px}.about .prose{font-size:17px;line-height:1.9}}
@media(max-width:520px){.detail-grid{grid-template-columns:104px minmax(0,1fr);gap:18px}.detail-copy h1{font-size:31px}.detail-copy .lead{font-size:13px;-webkit-line-clamp:3}.detail-copy .actions{grid-column:1/-1;margin-top:26px;grid-template-columns:1fr 1fr}.detail-copy .actions .button.primary{grid-column:1/-1}.detail-copy .actions .favorite-form{grid-column:1/-1}.detail-cover{border-radius:4px}.metadata{grid-template-columns:repeat(2,minmax(0,1fr))}.metadata div{min-width:0}.metadata strong{display:block;overflow-wrap:anywhere}.format-heading h2{font-size:21px}}
/* Detail page responsive composition */
.detail-extras{grid-column:2}
@media(max-width:760px){
  .detail-extras{grid-column:1/-1}
  .detail-extras .actions{display:grid;grid-template-columns:1fr 1fr;margin:8px 0 0}
  .detail-extras .actions .button,.detail-extras .favorite-form,.detail-extras .favorite-form .button{width:100%;min-width:0}
  .detail-extras .actions .button.primary,.detail-extras .actions .button.favorite,.detail-extras .favorite-form{grid-column:1/-1}
  .detail-extras .book-formats,.detail-extras .metadata{grid-column:auto!important}
}
/* Mobile discovery hierarchy: recent updates are a preview, the library is the full catalogue. */
.section-more{align-self:center;color:var(--accent);font-size:11px;white-space:nowrap}.section-more span{margin-left:5px}.ranking .section-head{align-items:center}
@media(max-width:760px){
  html,body{max-width:100%;overflow-x:hidden}
  .hot-categories{max-width:100%;overflow:hidden}
  .hot-categories .chips{width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none}
  .hot-categories .chips::-webkit-scrollbar,.filter-strip::-webkit-scrollbar,.compact-grid::-webkit-scrollbar,.mobile-recent-list::-webkit-scrollbar{display:none}
  .category-wrap{padding-bottom:50px}.category-wrap .section-head{margin-bottom:24px}
  .editorial{display:none}
  .discovery{display:flex;flex-direction:column;gap:48px;width:100%;padding-inline:14px}
  .recommend-wrap{width:100%;min-width:0}.recommend-wrap .section-head{margin-bottom:22px}
  .ranking{display:block;width:100%;padding:0;background:transparent;border:0}
  .ranking .section-head{display:flex;align-items:end;margin-bottom:13px}
  .ranking .section-head h2{font-size:29px}.ranking .section-more{display:block}
  .ranking{counter-reset:recent}
  .ranking .rank-row{counter-increment:recent;display:grid;grid-template-columns:58px minmax(0,1fr) 24px;gap:14px;min-width:0;padding:15px 14px;background:var(--surface);border:1px solid var(--line);border-bottom:0}
  .ranking .rank-row:last-child{border-bottom:1px solid var(--line)}
  .ranking .rank-row:nth-of-type(n+6){display:none}
  .ranking .rank-row>i{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--forest);color:var(--gold);font-size:12px}
  .ranking .rank-row strong{font-size:16px}.ranking .rank-row small{font-size:11px;margin-top:6px}.ranking .rank-row>b{justify-self:end;color:var(--accent)}
  .library{padding-top:58px}.library>.shell>.section-head{margin-bottom:22px}.library>.shell>.section-head h2{font-size:31px}
}
@media(max-width:520px){
  .category-wrap{height:auto}.category-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .category-card{min-width:0}.category-card strong{overflow-wrap:anywhere}
  .discovery{padding-bottom:54px}.compact-grid{gap:13px}.compact-grid .book-card{min-width:138px}
  .ranking .rank-row{grid-template-columns:50px minmax(0,1fr) 18px;padding:13px 10px}.ranking .rank-row>i{width:40px;height:40px}
  .library .filter-strip{max-width:100%;overscroll-behavior-inline:contain}
}

/* 2026-07 production UX, accessibility and responsive refinements */
*{letter-spacing:0!important}
.skip-link{position:fixed;z-index:200;top:8px;left:8px;padding:10px 14px;background:#fff;color:#171d19;border:2px solid var(--gold);transform:translateY(-140%)}
.skip-link:focus{transform:none}
:focus-visible{outline:3px solid #b06d32;outline-offset:3px}
button,select{cursor:pointer}
.mobile-menu-toggle,.mobile-menu{display:none}
.book-copy h3{min-height:2.7em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.book-copy h3 a{display:block}
.cover-link img,.featured-cover img,.continue-card img{aspect-ratio:3/4}
.continue-section{padding:64px 0 16px}
.continue-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.continue-card{display:grid;grid-template-columns:76px minmax(0,1fr);gap:16px;align-items:center;min-width:0;padding:14px;background:rgba(255,255,255,.52);border:1px solid var(--line);transition:background-color .2s,border-color .2s}
.continue-card:hover{background:var(--surface);border-color:var(--gold)}
.continue-card img{width:76px;height:101px;object-fit:cover;box-shadow:0 8px 20px rgba(45,35,23,.14)}
.continue-card span,.continue-card strong,.continue-card small,.continue-card em{display:block;min-width:0}
.continue-card strong{margin:8px 0;font:700 17px/1.35 var(--serif);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.continue-card small,.continue-card em{color:var(--muted);font-size:10px;font-style:normal}
.continue-card i{display:block;height:4px;margin-top:12px;background:#e4ddd0;overflow:hidden}
.continue-card i b{display:block;height:100%;background:var(--gold)}
.listing-search{display:grid;grid-template-columns:minmax(0,1fr) 165px 92px;gap:10px;align-items:end;margin:0 0 18px;padding:15px;background:rgba(255,255,255,.55);border:1px solid var(--line)}
.listing-search label{display:block;color:var(--muted);font-size:11px}
.listing-search label>span{display:block;margin:0 0 7px}
.listing-search input,.listing-search select{width:100%;height:46px;padding:0 13px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font-size:14px}
.listing-search .button{width:100%;height:46px;min-height:46px;border-radius:6px;padding:0 14px}
.mobile-filter{display:none}
.related{padding:66px 0 82px;border-top:1px solid var(--line)}
.related .book-grid{grid-template-columns:repeat(4,1fr)}
.detail-copy h1{font-size:64px;letter-spacing:0}
.detail-grid{align-items:start}
.detail-extras{padding-top:4px}
.metadata{grid-template-columns:repeat(4,minmax(0,1fr))}
.about .prose p{margin:0}
.password-field{position:relative;display:block}
.password-field input{padding-right:64px}
.password-toggle{position:absolute;right:5px;top:13px;min-width:50px;height:36px;border:0;background:transparent;color:var(--accent);font-size:12px}
.reader-loader{max-width:760px;width:100%;margin:0 auto;padding:28px;text-align:center;color:var(--muted);font-size:13px}
.reader-end[hidden],.reader-loader[hidden],.mobile-menu[hidden]{display:none!important}
.reader-top>div{min-width:0;max-width:min(520px,55vw)}
.reader-top strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.reader-top>a,.reader-setting-toggle,.reader-page-nav{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.reader-bottom{justify-content:center;gap:14px}
.reader-bottom .progress-label{min-width:130px;text-align:center}
.reader-page-nav{border:1px solid rgba(100,80,50,.25);border-radius:50%;background:transparent;color:inherit;font-size:18px}
.reader-page-nav:disabled{opacity:.35;cursor:default}
.reader-settings button{min-height:44px}
.hero h1{font-size:78px;letter-spacing:0}
.auth-brand h1,.shelf-hero h1{letter-spacing:0}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

@media(max-width:860px){
  .mobile-menu-toggle{display:flex;width:44px;height:44px;padding:10px;border:0;background:transparent;flex-direction:column;justify-content:center;gap:5px}
  .mobile-menu-toggle span{display:block;width:22px;height:2px;background:var(--ink);transition:transform .2s,opacity .2s}
  .mobile-menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .mobile-menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}
  .mobile-menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .mobile-menu{position:absolute;top:100%;left:0;right:0;padding:8px 14px 16px;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:0 18px 38px rgba(30,35,31,.14);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .mobile-menu:not([hidden]){display:grid}
  .mobile-menu a{display:flex;align-items:center;min-height:48px;padding:0 14px;background:var(--bg);border:1px solid var(--line);font-size:14px}
  .account-nav>a,.account-nav button{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}
  .continue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:600px){
  .hero h1{font-size:49px}
  .detail-copy h1{font-size:31px}
  .auth-brand h1{font-size:45px}
  .header-inner{height:64px}
  .brand{font-size:19px}.brand-mark{width:40px;height:40px}
  .account-nav>a,.account-nav button{font-size:13px}
  .hero .search{height:auto;min-height:58px;padding:10px;border-radius:14px;flex-wrap:wrap}
  .hero .search svg{flex:0 0 23px}
  .hero .search input{height:42px;font-size:15px}
  .hero .search button{flex:0 0 100%;width:100%;min-height:46px;margin-top:5px;border-radius:8px;font-size:14px}
  .continue-section{padding:48px 0 0}.continue-grid{display:flex;overflow-x:auto;gap:12px;padding-bottom:10px;scroll-snap-type:x proximity}
  .continue-card{flex:0 0 285px;scroll-snap-align:start}
  .listing-search{grid-template-columns:minmax(0,1fr) 92px;padding:12px;margin-bottom:12px}
  .listing-search label:nth-of-type(2){grid-column:1/2}.listing-search .button{grid-column:2;grid-row:2}
  .listing-search input,.listing-search select,.listing-search .button{min-height:48px}
  .mobile-filter{display:block;margin:0 0 14px;border:1px solid var(--line);background:var(--surface)}
  .mobile-filter summary{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:0 14px;font-weight:650;cursor:pointer}
  .mobile-filter summary:after{content:"＋"}.mobile-filter[open] summary:after{content:"−"}
  .filter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:0 10px 12px}
  .filter-grid .chip{display:flex;align-items:center;justify-content:space-between;min-width:0;min-height:44px;padding:9px 10px;border-radius:6px;font-size:12px}
  .filter-grid .chip small{margin-left:4px}
  .library>.shell>.filter-strip{display:none}
  .listing-mode .library .book-grid{grid-template-columns:1fr;gap:12px}
  .listing-mode .library .book-card{display:grid;grid-template-columns:102px minmax(0,1fr);gap:15px;padding:12px;background:rgba(255,255,255,.5);border:1px solid var(--line)}
  .listing-mode .library .cover-link{width:102px;min-height:136px}
  .listing-mode .library .book-copy{padding:2px 0}
  .listing-mode .library .book-copy h3{min-height:auto;font-size:19px}
  .listing-mode .library .book-copy h3 a{min-height:44px;display:flex;align-items:flex-start}
  .listing-mode .library .author{margin:9px 0}
  .listing-mode .library .format-pills{margin-top:13px}
  .pagination .page-arrow{display:flex;align-items:center;min-height:44px}
  .pagination .page-arrow:last-child{justify-content:flex-end}
  .category-card,.chip{min-height:44px}
  .section-more{min-height:44px;display:inline-flex;align-items:center}
  .back{display:inline-flex;align-items:center;min-height:44px;margin-bottom:18px}
  .metadata{grid-template-columns:repeat(2,minmax(0,1fr))}
  .related{padding:52px 0}.related .book-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}
  .reader-top{grid-template-columns:68px minmax(0,1fr) 48px;padding:0 10px}
  .reader-top>a{font-size:0}.reader-top>a:before{content:"←";font-size:21px}
  .reader-top>div{max-width:100%}
  .reader-top strong{font-size:13px}
  .reader-bottom{height:62px;padding:0 10px;gap:8px}
  .reader-bottom .progress-label{min-width:106px;font-size:11px}
  .reader-bottom .reader-setting-toggle,.reader-bottom .reader-page-nav{width:44px;padding:0}
  .reader-settings{bottom:74px}
  .reader-sheet{min-height:720px}
  .reader-page .reader-article{padding-bottom:110px}
  .auth-card>p a{display:inline-flex;align-items:center;min-height:44px}
}

/* Detail page chapter preview */
.chapter-preview{padding:68px 0 74px;border-top:1px solid var(--line)}
.chapter-preview-list[hidden],.chapter-preview-loading[hidden],.chapter-preview-actions[hidden]{display:none!important}
.chapter-preview-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}
.chapter-preview-head h2{margin:9px 0 0;font:700 36px/1.2 var(--serif);letter-spacing:0}
.chapter-preview-count{margin:0 0 5px;color:var(--muted);font-size:13px;white-space:nowrap}
.chapter-preview-loading{min-height:188px;padding:4px 0;color:var(--muted);font-size:13px}
.chapter-preview-loading>span{display:block;margin-bottom:16px}
.chapter-preview-loading>button{min-height:44px;padding:0 18px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--accent);cursor:pointer}
.chapter-preview-skeleton{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 34px}
.chapter-preview-skeleton span{height:52px;background:linear-gradient(90deg,rgba(255,255,255,.34),rgba(255,255,255,.76),rgba(255,255,255,.34));background-size:220% 100%;border-bottom:1px solid var(--line);animation:chapter-loading 1.4s ease-in-out infinite}
@keyframes chapter-loading{to{background-position:-220% 0}}
.chapter-preview-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 34px;margin:0;padding:0;border-top:1px solid var(--line);list-style:none}
.chapter-preview-list li{min-width:0;border-bottom:1px solid var(--line)}
.chapter-preview-list a{min-height:56px;padding:8px 4px;display:grid;grid-template-columns:38px minmax(0,1fr) 24px;align-items:center;gap:10px;transition:color .18s,background .18s}
.chapter-preview-list a:after{content:"→";color:var(--accent);font-size:16px;text-align:right}
.chapter-preview-list a:hover{color:var(--accent);background:rgba(255,255,255,.25)}
.chapter-preview-list a>span{font:italic 11px/1 var(--serif);color:var(--gold)}
.chapter-preview-list a>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:650 15px/1.35 var(--serif);letter-spacing:0}
.chapter-preview-actions{display:flex;justify-content:center;padding-top:28px}
.chapter-preview-actions button{min-width:180px;min-height:46px;padding:0 20px;border:1px solid var(--accent);border-radius:6px;background:transparent;color:var(--accent);cursor:pointer;transition:background .18s,color .18s}
.chapter-preview-actions button:hover{background:var(--accent);color:#fff}

@media(max-width:760px){
  .chapter-preview{padding:52px 0 58px}
  .chapter-preview-head{align-items:end;margin-bottom:22px}
  .chapter-preview-head h2{font-size:30px}
  .chapter-preview-count{font-size:11px}
  .chapter-preview-list,.chapter-preview-skeleton{grid-template-columns:1fr;gap:0}
  .chapter-preview-list a{min-height:54px;grid-template-columns:34px minmax(0,1fr) 22px}
  .chapter-preview-list a>strong{font-size:14px}
  .chapter-preview-skeleton span:nth-child(n+5){display:none}
  .chapter-preview-actions button{width:100%;min-height:48px}
}

/* Immersive chapter reader */
body.reader-page{overflow:hidden;background:#ece7dc}
.reader-page .reader{height:100dvh;min-height:0;overflow:hidden;position:relative}
.reader svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.reader-top{height:68px;grid-template-columns:48px minmax(0,1fr) auto;padding:0 max(18px,env(safe-area-inset-left));transition:transform .2s ease;background:color-mix(in srgb,var(--reader-bg) 94%,transparent)}
.reader-heading{max-width:min(520px,44vw);min-width:0;padding:0 12px}
.reader-heading strong,.reader-heading small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.reader-heading strong{font:700 14px/1.3 var(--serif)}
.reader-heading small{font-size:11px;margin-top:4px;color:color-mix(in srgb,var(--reader-ink) 58%,transparent)}
.reader-actions{display:flex;align-items:center;gap:6px}
.reader-icon-button,.reader-setting-toggle{width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:1px solid transparent;border-radius:50%;background:transparent;color:inherit;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .18s,border-color .18s,color .18s}
.reader-icon-button:hover,.reader-setting-toggle:hover{background:color-mix(in srgb,var(--reader-ink) 8%,transparent);border-color:color-mix(in srgb,var(--reader-ink) 16%,transparent)}
.reader-back{justify-self:start}
.reader-setting-toggle{font:650 13px var(--sans)}
.reader-article{position:absolute;inset:68px 0 64px;max-width:none;margin:0;padding:12px 20px;overflow:hidden;transition:inset .2s ease}
.reader-pages{position:relative;width:100%;height:100%;max-width:808px;margin:0 auto;overflow:hidden;outline:none;perspective:1600px;transform-style:preserve-3d;touch-action:pan-y;user-select:text}
.reader-sheet{position:absolute;inset:0;width:100%;height:100%;min-height:0;padding:72px 82px 58px;background:#fffdf8;color:#292722;border:1px solid rgba(111,92,63,.18);box-shadow:0 12px 38px rgba(46,38,28,.1);overflow:hidden;transform:translateX(calc(var(--sheet-offset,0) * 108%));transform-style:preserve-3d;backface-visibility:hidden;opacity:0;pointer-events:none}
.reader-sheet[data-offset="-1"]{--sheet-offset:-1}.reader-sheet[data-offset="0"]{--sheet-offset:0}.reader-sheet[data-offset="1"]{--sheet-offset:1}
.reader-sheet.is-current{z-index:2;opacity:1;pointer-events:auto}
.reader[data-theme=paper] .reader-sheet{background:#f5ecd8;color:#352b21}
.reader[data-theme=dark] .reader-sheet{background:#242420;color:#ded8cd;border-color:rgba(255,255,255,.08);box-shadow:0 18px 46px rgba(0,0,0,.32)}
.reader-sheet.is-leaving{z-index:4;opacity:1;pointer-events:none;will-change:transform,filter,opacity}
.reader-sheet.is-leaving:after{content:"";position:absolute;z-index:5;inset:0;pointer-events:none;opacity:0}
.reader-sheet.is-turning-forward{transform-origin:left center}
.reader-sheet.is-turning-forward:after{background:linear-gradient(90deg,transparent 68%,rgba(59,46,30,.22))}
.reader-sheet.is-turning-backward{transform-origin:right center}
.reader-sheet.is-turning-backward:after{background:linear-gradient(270deg,transparent 68%,rgba(59,46,30,.22))}
.reader-pages.turn-forward .reader-sheet.is-current{animation:reader-page-reveal-forward .46s cubic-bezier(.2,.72,.2,1)}
.reader-pages.turn-backward .reader-sheet.is-current{animation:reader-page-reveal-backward .46s cubic-bezier(.2,.72,.2,1)}
.reader-pages.turn-forward .reader-sheet.is-turning-forward{animation:reader-page-turn-forward .46s cubic-bezier(.45,.05,.2,1) forwards}
.reader-pages.turn-backward .reader-sheet.is-turning-backward{animation:reader-page-turn-backward .46s cubic-bezier(.45,.05,.2,1) forwards}
.reader-pages.turn-forward .reader-sheet.is-turning-forward:after,.reader-pages.turn-backward .reader-sheet.is-turning-backward:after{animation:reader-fold-shadow .46s ease-in-out}
@keyframes reader-page-reveal-forward{from{transform:translateX(3%) scale(.995);opacity:.62}to{transform:translateX(0) scale(1);opacity:1}}
@keyframes reader-page-reveal-backward{from{transform:translateX(-3%) scale(.995);opacity:.62}to{transform:translateX(0) scale(1);opacity:1}}
@keyframes reader-page-turn-forward{0%{transform:rotateY(0);filter:brightness(1);opacity:1}58%{filter:brightness(.88);opacity:1}100%{transform:rotateY(-96deg);filter:brightness(.74);opacity:.08}}
@keyframes reader-page-turn-backward{0%{transform:rotateY(0);filter:brightness(1);opacity:1}58%{filter:brightness(.88);opacity:1}100%{transform:rotateY(96deg);filter:brightness(.74);opacity:.08}}
@keyframes reader-fold-shadow{0%,100%{opacity:0}48%{opacity:1}}
.sheet-copy{height:100%;overflow:hidden;font-family:var(--serif);font-size:var(--reader-size);line-height:var(--reader-line);letter-spacing:0}
.sheet-copy p{margin:0 0 1em;text-align:justify;text-indent:2em;white-space:pre-wrap}
.reader-chapter-title{margin:0 0 1.35em;font:700 calc(var(--reader-size) * 1.42)/1.35 var(--serif);letter-spacing:0;text-align:left}
.sheet-brand{top:25px;left:36px}.reader-sheet footer{left:70px;right:70px;bottom:23px}
.reader-loader{position:absolute;inset:0;display:grid;place-items:center;padding:20px}
.reader-bottom{height:64px;padding:0 max(16px,env(safe-area-inset-left));display:grid;grid-template-columns:minmax(76px,1fr) 48px minmax(86px,auto) 48px minmax(76px,1fr);gap:8px;background:color-mix(in srgb,var(--reader-bg) 95%,transparent);transition:transform .2s ease}
.reader-bottom button{color:inherit;cursor:pointer}
.reader-page-nav,.reader-chapter-nav,.reader-progress-button{height:44px;min-height:44px;border:1px solid color-mix(in srgb,var(--reader-ink) 18%,transparent);background:transparent;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;gap:5px}
.reader-page-nav{width:44px;min-width:44px;border-radius:50%}
.reader-chapter-nav{min-width:76px;padding:0 12px;font-size:12px}
.reader-chapter-nav:first-child{justify-self:end}.reader-chapter-nav:nth-last-child(1){justify-self:start}
.reader-progress-button{min-width:86px;padding:0 10px;font-size:11px;color:color-mix(in srgb,var(--reader-ink) 70%,transparent)}
.reader-bottom button:hover:not(:disabled){background:color-mix(in srgb,var(--reader-ink) 7%,transparent)}
.reader-bottom button:disabled{opacity:.28;cursor:default}
.reader-scrim{position:fixed;z-index:79;inset:0;width:100%;height:100%;border:0;background:rgba(20,19,16,.42);backdrop-filter:blur(2px);cursor:pointer}
.reader-scrim[hidden],.reader-catalog[hidden],.reader-settings[hidden],.reader-loader[hidden]{display:none!important}
.reader-catalog,.reader-settings{position:fixed;z-index:80;background:var(--reader-bg);color:var(--reader-ink);border:0;box-shadow:18px 0 55px rgba(28,25,20,.2)}
.reader-catalog{inset:0 auto 0 0;width:min(400px,92vw);padding:26px 0 18px;display:flex;flex-direction:column}
.reader-panel-head{min-height:56px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.reader-panel-head span{display:block;margin-bottom:4px;color:var(--accent);font-size:9px;font-weight:800}
.reader-panel-head h2{margin:0;font:700 25px/1.25 var(--serif);letter-spacing:0}
.catalog-summary{margin:12px 24px 0;padding:16px 0;border-top:1px solid color-mix(in srgb,var(--reader-ink) 13%,transparent);display:flex;flex-direction:column;gap:5px;font-size:11px;color:color-mix(in srgb,var(--reader-ink) 58%,transparent)}
.catalog-summary strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--reader-ink);font-size:13px}
.catalog-list{flex:1;min-height:0;margin:8px 0 0;padding:0 12px 28px;overflow-y:auto;list-style:none;overscroll-behavior:contain}
.catalog-list li{margin:0}
.catalog-list button{width:100%;min-height:58px;padding:9px 12px;border:0;border-bottom:1px solid color-mix(in srgb,var(--reader-ink) 10%,transparent);background:transparent;color:inherit;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;text-align:left;cursor:pointer}
.catalog-list button>span{font-size:10px;color:color-mix(in srgb,var(--reader-ink) 45%,transparent)}
.catalog-list button strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:650 14px/1.3 var(--serif)}
.catalog-list button small{font-size:10px;color:color-mix(in srgb,var(--reader-ink) 48%,transparent)}
.catalog-list button:hover{background:color-mix(in srgb,var(--reader-ink) 6%,transparent)}
.catalog-list button.active{background:color-mix(in srgb,var(--accent) 13%,transparent);color:var(--accent)}
.catalog-list button.active>span,.catalog-list button.active small{color:var(--accent)}
.reader-settings{top:80px;right:20px;width:300px;padding:18px 20px 22px;border:1px solid color-mix(in srgb,var(--reader-ink) 14%,transparent);border-radius:6px;box-shadow:0 20px 58px rgba(28,25,20,.2)}
.reader-settings:not([hidden]){display:block;animation:reader-settings-enter .2s ease-out}
@keyframes reader-settings-enter{from{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}
.reader-settings .reader-panel-head{padding:0;min-height:44px}.reader-settings .reader-panel-head h2{font-size:21px}
.reader-settings .reader-icon-button{flex:0 0 44px}
.reader-settings label{color:color-mix(in srgb,var(--reader-ink) 56%,transparent)}
.reader-settings button:not(.reader-icon-button){background:color-mix(in srgb,var(--reader-ink) 5%,transparent);border-color:color-mix(in srgb,var(--reader-ink) 14%,transparent);color:inherit}
.reader-settings button[aria-pressed=true]{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}
.fullscreen-exit{display:none}.reader.is-fullscreen .fullscreen-enter{display:none}.reader.is-fullscreen .fullscreen-exit{display:block}
body.reader-pseudo-fullscreen{overflow:hidden}.reader.is-fullscreen{position:fixed;z-index:100;inset:0;width:100%;height:100dvh}
.reader.is-fullscreen.controls-hidden .reader-top{transform:translateY(-105%)}
.reader.is-fullscreen.controls-hidden .reader-bottom{transform:translateY(105%)}
.reader.is-fullscreen.controls-hidden .reader-progress{opacity:0}
.reader.is-fullscreen.controls-hidden .reader-article{inset:3px 0 0}
.reader-announcer{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

@media(prefers-reduced-motion:reduce){
  .reader-sheet.is-leaving{display:none}
  .reader-pages.turn-forward .reader-sheet.is-current,.reader-pages.turn-backward .reader-sheet.is-current,.reader-settings:not([hidden]){animation:none!important}
}

@media(max-width:600px){
  .reader-top{height:62px;grid-template-columns:44px minmax(0,1fr) auto;padding:0 6px}
  .reader-back:before{content:none!important;display:none!important}
  .reader-heading{max-width:none;padding:0 6px;text-align:left}
  .reader-heading strong{font-size:12px}.reader-heading small{font-size:10px}
  .reader-actions{gap:0}.reader-icon-button,.reader-setting-toggle{width:42px;height:44px;min-width:42px}
  .reader-page .reader-article{inset:62px 0 62px;padding:6px}
  .reader-pages{max-width:none}
  .reader-sheet{padding:54px 24px 49px;border-radius:0;box-shadow:none}
  .reader-sheet:before{inset:7px}
  .sheet-brand{top:18px;left:22px}.sheet-brand small{display:none}
  .reader-sheet footer{left:24px;right:24px;bottom:18px}
  .reader-chapter-title{margin-bottom:1.15em}
  .sheet-copy p{text-align:left}
  .reader-bottom{height:62px;padding:0 6px;grid-template-columns:58px 44px minmax(72px,1fr) 44px 58px;gap:4px}
  .reader-chapter-nav{min-width:58px;padding:0 5px}.reader-chapter-nav svg{display:none}
  .reader-progress-button{min-width:72px;padding:0 4px}
  .reader-catalog{width:min(360px,92vw);padding-top:max(18px,env(safe-area-inset-top))}
  .reader-panel-head{padding:0 18px}.catalog-summary{margin-inline:18px}.catalog-list{padding-inline:8px}
  .reader-settings{top:auto;right:0;bottom:0;left:0;width:auto;padding:16px 18px calc(20px + env(safe-area-inset-bottom));border-width:1px 0 0;border-radius:0}
}
