/* Extend the existing warm-paper editorial system. */
.source-library{max-width:1160px}
.source-library .library-intro h1{max-width:none;margin-bottom:20px;text-wrap:balance}
.source-library .library-intro>p{font:16px/1.85 Arial,"Microsoft YaHei",sans-serif;max-width:64ch;margin:0 0 18px}
.source-library .library-intro .library-links{font-size:14px;margin:26px 0 0}
.source-library .library-intro{border-top:3px solid var(--ink)!important}
.source-library .library-tools{margin:0;padding-top:28px;display:grid;grid-template-columns:1fr 170px;gap:16px;align-items:end}
.source-library .library-tools[hidden]{display:none}
.source-library label{font-size:13px;display:grid;gap:5px;color:#415d4d}
.source-library input,.source-library select{width:100%;min-height:46px;margin:0;padding:10px 13px;background:#faf8f0;border:1px solid #61765c80;border-radius:0;color:var(--ink);caret-color:var(--ink)}
.source-library input::placeholder{color:#576d5d;opacity:1}
.source-library .library-categories{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 0}
.source-library .library-categories button{font:14px/1.5 Arial,"Microsoft YaHei",sans-serif;padding:10px 15px;color:var(--ink);background:transparent;border:1px solid #61765c70;min-height:44px}
.source-library .library-categories button[aria-pressed="true"]{color:#f8f6ed;background:var(--ink);border-color:var(--ink)}
.source-library .library-categories button:hover{border-color:var(--ink)}
.source-library .library-count{font-size:13px!important;line-height:1.7!important;margin:22px 0 0!important;color:#415d4d}
.source-library .source-entry{display:grid;grid-template-columns:180px minmax(0,1fr);gap:36px;padding:34px 0;border-bottom:1px solid #193e2d26;scroll-margin-top:105px}
.source-library .source-entry:first-child{padding-top:0}
.source-library .source-entry:last-of-type{border-bottom:0;padding-bottom:0}
.source-library .source-meta{font-size:13px;line-height:1.75;color:#415d4d}
.source-library .source-meta p{margin:0 0 7px;overflow-wrap:anywhere}
.source-library .source-publisher{color:var(--ink);font-weight:600}
.source-library .source-state{display:inline-block;border-bottom:1px solid #61765c70;padding-bottom:3px}
.source-library [data-pending="true"] .source-state{color:#755223;border-color:#75522366}
.source-library .source-entry h2{font-size:clamp(21px,2.1vw,28px);line-height:1.55;margin:0 0 14px;text-wrap:pretty;overflow-wrap:anywhere}
.source-library .source-entry h2 a{text-decoration:none;color:var(--ink)}
.source-library .source-entry h2 a:hover{text-decoration:underline;text-underline-offset:5px}
.source-library .source-summary{font-size:15px;line-height:1.85;margin:0 0 12px}
.source-library .source-note{font-size:13px;line-height:1.85;color:#526453;margin:0 0 16px}
.source-library .source-action{display:flex;gap:20px;flex-wrap:wrap;align-items:baseline;font-size:13px}
.source-library .source-type{font-size:12px;color:#526453;margin-top:13px!important;margin-bottom:0!important}
.source-library .library-empty{padding:32px 0;font-size:16px!important}
.source-library .library-empty button{font-size:14px;display:block;margin-top:18px}
.source-library [hidden]{display:none!important}
.source-library :is(a,button,input,select):focus-visible,.home-press a:focus-visible{outline:2px solid #35613f;outline-offset:4px}
.source-library ::selection,.home-press ::selection{background:#cedcc8;color:#13382b}
.source-library .library-method{font-size:14px}
.source-library .library-method h2{font-size:24px}
.source-library .library-method p{margin-bottom:14px}
.home-content>.home-press{background:#f4f1e7ed}
.home-press .press-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:32px}
.home-press .press-heading h2{margin:0;font-size:clamp(28px,3.5vw,44px)}
.home-press a{text-underline-offset:5px}
.home-press .press-heading>a{font-size:14px;text-decoration:underline}
.home-press .press-row{display:grid;grid-template-columns:170px minmax(0,1fr);gap:32px;padding:25px 0;border-top:1px solid #193e2d26}
.home-press .press-row:last-child{padding-bottom:0}
.home-press .press-row p{font-size:13px;line-height:1.8;margin:0;color:#526453}
.home-press .press-row h3{font-size:clamp(22px,2.4vw,29px);line-height:1.5;margin:0 0 10px}
.home-press .press-row a:hover{text-decoration:underline}
.home-press .press-row .press-desc{font-size:15px;color:var(--ink)}
@media(max-width:700px){
 .source-library{width:94%}
 .source-library .library-intro h1{font-size:30px}
 .source-library .library-tools{grid-template-columns:minmax(0,1fr);gap:14px}
 .source-library .library-categories{gap:6px}
 .source-library .library-categories button{padding:9px 11px;font-size:13px}
 .source-library .source-entry{grid-template-columns:minmax(0,1fr);gap:13px;padding:26px 0}
 .source-library .source-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;font-size:12px}
 .source-library .source-meta p{margin:0}
 .source-library .source-entry h2{font-size:22px}
 .source-library .source-summary{font-size:15px}
 .home-press .press-row{grid-template-columns:1fr;gap:10px;padding:23px 0}
 .home-press .press-heading{margin-bottom:23px}
 .home-press .press-row h3{font-size:24px}
}
