:root{--bg:#F8FAF8;--card:#fff;--text:#1A2E27;--light:#4A5C55;--muted:#7B8982;--accent:#3A6B5C;--border:#DDE5DF;--serif:"Noto Serif SC","Source Han Serif SC","Songti SC",SimSun,serif;--sans:"Noto Sans SC","Microsoft YaHei",system-ui,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--accent);outline-offset:5px}a:hover{color:var(--accent)}.site-header{max-width:1144px;margin:auto;padding:24px 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.brand{font-family:var(--serif);font-size:25px;font-weight:600;display:flex;align-items:center;gap:16px}.brand span{font-family:var(--sans);font-size:12px;font-weight:400;color:var(--muted);letter-spacing:.1em}nav{display:flex;gap:32px;font-size:14px}nav a[aria-current]{color:var(--accent);font-weight:600}main{max-width:1144px;margin:auto;padding:0 32px}.intro{padding:78px 0 60px}.eyebrow{font-size:12px;letter-spacing:.16em;color:var(--accent);margin:0 0 26px}h1{font-family:var(--serif);font-size:clamp(36px,4.2vw,56px);font-weight:500;line-height:1.5;letter-spacing:.015em;margin:0}h1 span{color:var(--accent)}.intro-copy{font-size:15px;line-height:2;color:var(--light);margin:24px 0 0}.section-heading{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:22px}h2{font-family:var(--serif);font-size:23px;font-weight:500;margin:0}#book-count{font-size:13px;color:var(--muted)}.book-list{display:grid;gap:24px}.book-card{background:var(--card);border:1px solid var(--border);border-radius:8px;display:grid;grid-template-columns:220px 1fr;gap:36px;padding:30px}.book-cover{min-height:250px;border-radius:3px;background:#E7EEE8;border:1px solid #D4E0D6;position:relative;padding:26px 24px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;color:var(--accent)}.book-cover:after{content:"";position:absolute;right:-55px;bottom:40px;width:160px;height:160px;border:1px solid #C2D3C5;border-radius:50%;pointer-events:none}.cover-kicker{font-size:10px;letter-spacing:.14em}.cover-title{font-family:var(--serif);font-size:32px;line-height:1.45;font-weight:600;max-width:5em;position:relative;z-index:1}.cover-author{font-size:12px;letter-spacing:.08em}.book-content{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0}.book-tag{font-size:12px;color:var(--accent);background:#EFF4F0;border-radius:3px;padding:5px 9px;margin:0 0 13px}.book-title{font-family:var(--serif);font-size:29px;line-height:1.5;font-weight:600;margin:0}.book-subtitle{font-size:14px;color:var(--light);line-height:1.8;margin:7px 0 0}.book-meta{font-size:12px;color:var(--muted);line-height:1.8;margin:12px 0 0}.book-description{font-size:14px;line-height:1.9;color:var(--light);margin:15px 0 22px;max-width:560px}.read-button{display:inline-flex;align-items:center;gap:25px;padding:12px 20px;background:var(--accent);color:#fff;border-radius:4px;font-size:14px;transition:background .2s}.read-button:hover{background:#2A5043;color:#fff}.library-note{font-size:13px;color:var(--muted);line-height:1.9;margin:24px 0 68px}footer{max-width:1080px;margin:0 auto;padding:24px 0 32px;border-top:1px solid var(--border);display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:12px;line-height:1.8}
@media(max-width:768px){.site-header{padding:21px 22px}.brand{font-size:23px}.brand span{display:none}nav{gap:23px;font-size:13px}main{padding:0 22px}.intro{padding:54px 0 43px}h1{font-size:38px}.intro-copy{font-size:14px;line-height:2}.book-card{grid-template-columns:1fr;gap:24px;padding:23px}.book-cover{min-height:205px;width:100%;padding:22px 24px}.cover-title{font-size:32px;max-width:none}.book-title{font-size:26px}.book-content{align-items:stretch}.book-tag{align-self:flex-start}.read-button{justify-content:space-between}.library-note{margin-bottom:42px}footer{margin:0 22px;padding:22px 0 28px;flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
