:root{--paper:#f7f4ee;--card:#fffdf9;--ink:#2b2a26;--mut:#7a7468;--line:#e5ded0;--red:#a33b2e;--gold:#b8860b;--dark:#2f2b26}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--paper);color:var(--ink);font:15px/1.7 Georgia,'Noto Serif',serif}
a{color:inherit;text-decoration:none}
a:hover{color:var(--red)}
img{display:block}
.wrap{max-width:1080px;margin:0 auto;padding:0 18px}

/* header */
.topbar{background:var(--dark);color:#c9bfa8;font-size:12.5px;text-align:center;padding:6px 12px;letter-spacing:.5px}
.hdr{background:var(--card);border-bottom:1px solid var(--line)}
.hdr .wrap{display:flex;align-items:center;gap:20px;padding:18px}
.logo{font-size:30px;font-weight:700;letter-spacing:1px;color:var(--ink);font-family:Georgia,serif}
.logo b{color:var(--red)}
.logo small{display:block;font-size:12px;color:var(--mut);letter-spacing:3px;font-weight:400}
.hdr form{margin-left:auto;display:flex}
.hdr input[type=text]{border:1px solid var(--line);background:#fff;padding:9px 14px;width:220px;outline:0;font:14px Georgia,serif}
.hdr button{background:var(--red);color:#fff;border:0;padding:0 18px;font-size:14px;cursor:pointer}
.nav{background:var(--dark)}
.nav .wrap{display:flex;overflow-x:auto}
.nav a{color:#d8d0bd;display:block;padding:12px 18px;font-size:14.5px;letter-spacing:1px;white-space:nowrap;border-bottom:2px solid transparent}
.nav a:hover{color:#fff;border-bottom-color:var(--red)}

/* sections */
.sec{margin:30px 0}
.sec-h{display:flex;align-items:baseline;justify-content:space-between;border-bottom:2px solid var(--ink);margin-bottom:18px}
.sec-h h2{font-size:20px;letter-spacing:2px;padding-bottom:8px;border-bottom:2px solid var(--red);margin-bottom:-2px}
.sec-h h2 i{color:var(--red);font-style:normal;margin-right:8px}
.sec-h a{font-size:13px;color:var(--mut)}
.grid6{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.gcard{background:var(--card);border:1px solid var(--line)}
.gcard .cv{position:relative;overflow:hidden;aspect-ratio:3/4;background:#efe9dc}
.gcard img{width:100%;aspect-ratio:3/4;object-fit:cover}
.gcard .sc{position:absolute;top:0;right:0;background:var(--red);color:#fff;font-size:12px;padding:2px 8px}
.gcard .tt{padding:10px 12px 4px;font-size:14.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gcard .mt{padding:0 12px 10px;font-size:12px;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cols2{display:grid;grid-template-columns:2fr 1fr;gap:24px;align-items:start}
.rank{background:var(--card);border:1px solid var(--line);padding:14px 16px}
.rank h3{font-size:15px;letter-spacing:2px;color:var(--red);border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:6px}
.rank ol{list-style:none}
.rank li{display:flex;gap:10px;align-items:baseline;padding:7px 0;border-bottom:1px dashed var(--line);font-size:13.5px}
.rank li:last-child{border-bottom:0}
.rank .no{font-style:italic;font-family:Georgia,serif;color:var(--gold);min-width:20px;font-weight:700}
.rank .no.top{color:var(--red);font-size:15px}
.rank .nm{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rank .ct{color:var(--mut);font-size:12px}
.rows{background:var(--card);border:1px solid var(--line)}
.rowitem{display:flex;gap:14px;padding:14px;border-bottom:1px solid var(--line)}
.rowitem:last-child{border-bottom:0}
.rowitem img{width:64px;height:86px;object-fit:cover;flex-shrink:0;background:#efe9dc}
.rowitem .t{font-size:15.5px;font-weight:700}
.rowitem .d{font-size:13px;color:var(--mut);margin:4px 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rowitem .m{font-size:12px;color:var(--mut)}
.rowitem .m b{color:var(--red);font-weight:400}

/* footer */
.ft{background:var(--dark);color:#a89e88;margin-top:44px;padding:30px 0;font-size:13.5px;text-align:center}
.ft a{color:#cfc4a9;margin:0 10px}
.ft p{margin-top:10px;font-size:12.5px;color:#7d7460}

/* type list */
.listwrap{background:var(--card);border:1px solid var(--line)}
.pag{margin:22px 0;text-align:center;color:var(--mut);font-size:14px}
.pag a{display:inline-block;padding:6px 13px;border:1px solid var(--line);background:#fff;margin:0 3px}
.pag a:hover{border-color:var(--red);color:var(--red)}
.pag b{display:inline-block;padding:6px 13px;background:var(--red);color:#fff;margin:0 3px;font-weight:400}

/* info page */
.info-hero{display:flex;gap:26px;background:var(--card);border:1px solid var(--line);padding:26px}
.info-hero img{width:200px;aspect-ratio:3/4;object-fit:cover;border:1px solid var(--line)}
.info-hero h1{font-size:28px;letter-spacing:1px;color:var(--ink)}
.info-hero .au{color:var(--mut);margin:6px 0 12px}
.info-hero .au b{color:var(--red);font-weight:400}
.stars{color:var(--gold);font-size:15px;letter-spacing:2px}
.stats{display:flex;gap:26px;margin:14px 0;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stats div{text-align:center}
.stats b{display:block;font-size:19px;color:var(--red);font-family:Georgia,serif}
.stats span{font-size:12px;color:var(--mut)}
.btns{display:flex;gap:12px;margin-top:14px;flex-wrap:wrap}
.btns a{background:var(--red);color:#fff;padding:11px 26px;font-size:15px;letter-spacing:1px}
.btns a.ghost{background:transparent;color:var(--red);border:1px solid var(--red)}
.introbox{background:var(--card);border:1px solid var(--line);padding:22px 26px;margin-top:22px;font-size:15px;color:#4a4438}
.introbox h2{font-size:17px;letter-spacing:2px;color:var(--red);margin-bottom:10px}
.chapbox{background:var(--card);border:1px solid var(--line);padding:22px 26px;margin-top:22px}
.chapbox h2{font-size:17px;letter-spacing:2px;color:var(--red);margin-bottom:14px}
.chapbox h2 span{color:var(--mut);font-size:13px;letter-spacing:0;margin-left:8px}
.chaplist{display:grid;grid-template-columns:repeat(3,1fr);gap:0 22px}
.chaplist a{display:block;padding:8px 2px;border-bottom:1px dashed var(--line);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* read page */
.rd-top{background:var(--card);border-bottom:1px solid var(--line)}
.rd-top .wrap{padding:14px 18px;text-align:center}
.rd-top h1{font-size:18px;color:var(--ink)}
.rd-top .bc{font-size:12.5px;color:var(--mut);margin-top:4px}
.rd-top .bc a{color:var(--red)}
.rd-body{max-width:820px;margin:26px auto;padding:36px 44px;background:var(--card);border:1px solid var(--line)}
.rd-body p{font-size:16.5px;line-height:2;margin:14px 0;text-align:justify;color:#33302a}
.rd-nav{max-width:820px;margin:0 auto 30px;display:flex;justify-content:space-between;gap:12px}
.rd-nav a{background:var(--card);border:1px solid var(--line);padding:12px 26px;flex:1;text-align:center;letter-spacing:1px}
.rd-nav a:hover{border-color:var(--red);color:var(--red)}

@media(max-width:860px){.grid6{grid-template-columns:repeat(3,1fr)}.grid4{grid-template-columns:repeat(3,1fr)}.cols2{grid-template-columns:1fr}.info-hero{flex-direction:column}.chaplist{grid-template-columns:1fr 1fr}.hdr form{display:none}}
@media(max-width:540px){.grid6,.grid4,.grid3{grid-template-columns:repeat(2,1fr)}.chaplist{grid-template-columns:1fr}.rd-body{padding:22px 18px}}
