.library-heading { padding-block:54px 36px; border-bottom:1px solid var(--line); }
.library-heading .eyebrow,.reader .eyebrow { letter-spacing:0; }
.library-heading h1 { font:600 48px/1.5 'Songti SC','STSong','SimSun',serif; margin:10px 0 14px; }
.library-heading>p:not(.eyebrow) { color:var(--muted); font-size:17px; }
.library-total { display:block; margin-top:24px; font-size:12px; color:#7d454e; }
.library-layout { display:grid; grid-template-columns:210px minmax(0,1fr); gap:64px; padding-block:38px 80px; }
.library-categories { min-width:0; }
.library-category-select { display:none; }
.library-categories h2 { font-size:12px; font-weight:500; color:var(--muted); margin-bottom:15px; }
.library-categories nav { display:grid; gap:3px; }
.library-categories nav a { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:10px 12px; min-height:44px; border-left:2px solid transparent; font-size:13px; }
.library-categories nav a>span:last-child { font-size:11px; color:#6e7972; font-variant-numeric:tabular-nums; }
.library-categories nav a[aria-current] { border-color:#85434e; background:#f0f4f1; color:#234e3e; }
.library-about { margin-top:28px; font-size:12px; }
.library-main { min-width:0; scroll-margin-top:105px; }
.library-controls { display:flex; justify-content:space-between; align-items:center; gap:18px; margin:0; }
.library-controls .search-field { flex:1; max-width:500px; }
.library-controls input { min-width:0; width:100%; }
.library-controls { flex-wrap:wrap; }
.library-controls .search-field { flex-basis:100%; max-width:none; }
.library-kind { display:flex; align-items:center; gap:10px; font-size:12px; color:var(--muted); }
.library-kind select { border:1px solid var(--line);border-radius:3px;background:#fff;color:var(--ink);min-height:44px;padding:8px 12px;font-size:13px;max-width:100%; }
.library-sort { margin-left:auto; }
.library-sort { display:flex; align-items:center; gap:10px; font-size:12px; color:var(--muted); white-space:nowrap; }
.library-sort select,.library-pagination select { border:1px solid var(--line); border-radius:3px; background:#fff; color:var(--ink); min-height:44px; padding:8px 12px; font-size:13px; }
#library-results { margin:18px 0 20px; font-size:12px; color:var(--muted); min-height:24px; }
.library-row { border-top:1px solid var(--line); padding:24px 0 26px; min-width:0; }
.library-row-meta { display:flex; flex-wrap:wrap; gap:18px; font-size:11px; color:var(--muted); margin-bottom:12px; }
.library-row-meta>span:first-child { color:#85434e; }
.library-row a { display:block; }
.library-row h2 { font:600 23px/1.65 'Songti SC','STSong','SimSun',serif; overflow-wrap:anywhere; }
.library-row a:hover h2 { color:var(--green); }
.library-row p { margin:12px 0 17px; font-size:13px; line-height:1.9; color:var(--muted); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.library-read { display:inline-flex; gap:10px; align-items:center; font-size:12px; color:#335747; }
.library-read .icon svg { width:16px; height:16px; }
.library-pagination { display:flex; justify-content:center; align-items:center; gap:24px; border-top:1px solid var(--line); margin-top:14px; padding-top:30px; }
.library-pagination[hidden] { display:none; }
.library-pagination label { display:flex; align-items:center; gap:10px; font-size:12px; color:var(--muted); }
.library-pagination button:disabled { opacity:.3; cursor:default; }
.library-empty { padding-block:55px; border-top:1px solid var(--line); }
.library-empty h2 { font-size:21px; margin-bottom:20px; }
.library-nojs { margin-block:30px; }
.library-nojs li { margin-block:12px; }
.reader-breadcrumb { padding-block:26px; display:flex; flex-wrap:wrap; gap:12px; align-items:center; font-size:12px; color:var(--muted); }
.reader-breadcrumb a { display:inline-flex; align-items:center; gap:7px; }
.reader-layout { display:grid; grid-template-columns:minmax(0,790px) minmax(0,220px); gap:80px; align-items:start; justify-content:center; padding-bottom:80px; }
.reader { min-width:0; }
.reader-header { padding:28px 0 30px; border-block:1px solid var(--line); margin-bottom:35px; }
.reader-header h1 { font:600 36px/1.6 'Songti SC','STSong','SimSun',serif; overflow-wrap:anywhere; margin:17px 0 22px; }
.reader-meta { display:flex; flex-wrap:wrap; gap:12px 20px; color:var(--muted); align-items:center; font-size:12px; }
.reader-meta>a { color:#405e4d; }
.reader-meta button { margin-left:auto; }
.reader-history { border-left:2px solid #a28058; padding-left:15px; font-size:12px; color:#77715f; margin-top:20px; line-height:1.85; }
.reader-body { font-size:17px; line-height:2.05; overflow-wrap:anywhere; }
.reader-body p { margin:0 0 1.2em; }
.reader-body .reader-spacer { display:none; }
.reader-body h2,.reader-body h3,.reader-body h4,.reader-body h5,.reader-body h6 { font-family:'Songti SC','STSong','SimSun',serif; margin:2em 0 .8em; line-height:1.7; scroll-margin-top:105px; }
.reader-body h2 { font-size:26px; }.reader-body h3 { font-size:22px; }.reader-body h4,.reader-body h5,.reader-body h6 { font-size:19px; }
.reader-body a { color:#2b6658; text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.reader-body ul,.reader-body ol { padding-left:1.5em; margin:0 0 1.3em; }
.reader-body li { margin-block:.5em; }
.reader-body blockquote { margin:1.5em 0; border-left:2px solid #a4b5aa; padding:5px 0 5px 22px; color:#5a675e; }
.reader-body figure { margin:28px 0; }
.reader-body img { display:block; max-width:100%; width:auto; height:auto; margin:20px auto; border-radius:0; }
.reader-body video { display:block; width:100%; max-width:100%; height:auto; margin:24px auto; background:#171c19; }
.reader-body figcaption { font-size:12px; color:var(--muted); line-height:1.8; margin-top:10px; }
.reader-body pre { max-width:100%; overflow:auto; white-space:pre; background:#f3f5f4; padding:18px; font-size:13px; line-height:1.7; }
.reader-body code { font-size:.85em; }
.reader-body hr { margin:2em 0; border:0; border-top:1px solid var(--line); }
.reader-table { width:100%; max-width:100%; overflow-x:auto; margin-block:24px; }
.reader-body table { border-collapse:collapse; min-width:100%; font-size:14px; line-height:1.8; }
.reader-body td,.reader-body th { padding:10px 13px; border:1px solid #d9dfda; min-width:100px; vertical-align:top; }
.reader-body th { background:#f1f4f2; text-align:left; }
.reader-image-error { min-height:60px; border:1px solid var(--line); padding:12px; font-size:13px; }
.reader-aside { position:sticky; top:112px; padding-top:28px; max-height:calc(100dvh - 135px); overflow:auto; font-size:12px; }
.reader-aside details>summary { cursor:pointer; font-size:13px; margin-bottom:18px; }
.reader-aside nav { display:grid; gap:4px; border-left:1px solid var(--line); padding-left:14px; }
.reader-aside nav a { display:block; color:var(--muted); padding-block:6px; line-height:1.7; overflow-wrap:anywhere; }
.reader-aside nav a:hover { color:var(--green); }
.reader-aside .text-link { margin-top:28px; }
.reader-end { margin-top:48px; padding-top:26px; border-top:1px solid var(--line); font-size:13px; color:var(--muted); }
.reader-next { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px; padding-top:24px; margin-top:24px; border-top:1px solid var(--line); }
.reader-next a { min-width:0; color:var(--ink); }
.reader-next span { display:block; color:var(--muted); font-size:11px; margin-bottom:8px; }
.reader-next strong { font-weight:500; overflow-wrap:anywhere; }
@media screen and (min-width:901px) and (max-width:1200px) { #primary-nav { gap:16px; } .library-layout { gap:35px;grid-template-columns:190px minmax(0,1fr); }.reader-layout { grid-template-columns:minmax(0,1fr) 190px;gap:38px; } }
@media screen and (max-width:900px) { .library-layout { grid-template-columns:1fr;gap:28px; }.library-categories nav { display:flex; flex-wrap:wrap;gap:4px 8px; }.library-categories nav a { border:1px solid transparent;padding:7px 12px;gap:10px; }.library-categories nav a[aria-current] { border-color:#cbd7cf; }.library-about { margin-top:18px; }.reader-layout { display:flex;flex-direction:column;gap:25px; }.reader { width:100%; }.reader-aside { position:static;order:-1;max-height:none;width:100%;padding:0; }.reader-aside details { border-bottom:1px solid var(--line);padding-bottom:10px; }.reader-aside details:not([open])>summary { margin-bottom:0; }.reader-aside .text-link { display:none; }.reader-header h1 { font-size:31px; } }
@media screen and (max-width:600px) { .library-heading { padding-block:32px 25px; }.library-heading h1 { font-size:36px; }.library-heading>p:not(.eyebrow) { font-size:15px; }.library-layout { padding-block:26px 50px; }.library-categories nav a { font-size:12px;padding-inline:9px; }.library-controls { align-items:stretch;flex-wrap:wrap;gap:12px; }.library-controls .search-field { flex-basis:100%;max-width:none; }.library-sort { margin-left:auto; }.library-row h2 { font-size:22px; }.library-row p { font-size:13px; }.reader-breadcrumb { padding-block:20px; }.reader-header { padding-top:23px;margin-bottom:26px; }.reader-header h1 { font-size:27px; }.reader-body { font-size:16px;line-height:2; }.reader-body h2 { font-size:23px; }.reader-body h3 { font-size:21px; }.reader-meta { gap:10px 15px; }.reader-history { font-size:11px; }.reader-next { grid-template-columns:1fr;gap:24px; }.reader-layout { padding-bottom:48px; }.reader-body table { font-size:13px; } }
@media screen and (max-width:600px) { .library-categories>h2,.library-categories>nav,.library-categories>.library-about { display:none; }.library-category-select { display:flex;align-items:center;gap:16px;font-size:12px;color:var(--muted); }.library-category-select select { flex:1;min-width:0;min-height:44px;background:white;border:1px solid var(--line);border-radius:3px;padding:8px 12px;font-size:14px;color:var(--ink); }.library-layout { gap:18px; }.library-heading h1 { margin-top:5px; }.library-total { margin-top:16px; } }
@media print { .library-controls,.library-categories,.library-pagination,.reader-aside,.reader-breadcrumb,[data-copy-article],.reader-next { display:none; }.reader-layout,.library-layout { display:block; }.reader-header h1 { font-size:24pt; }.reader-body { font-size:11pt;line-height:1.7; }.reader-body img { max-height:240mm; }.reader-table { overflow:visible; }.reader-body table { font-size:9pt;min-width:0; }.reader-body td,.reader-body th { min-width:0; }.reader-history { font-size:9pt; } }
