/* The catalogue keeps its own gently lit room; original reading backgrounds remain shared. */
.library-page::before{background:linear-gradient(0deg,#111b323d,#111b3208),url("assets/resume/star-library-warm.svg") center top/cover no-repeat}
.library-page .library-introduction{padding-top:59px;padding-bottom:37px}
.library-page .library-introduction p{max-width:49ch}
.library-collection{width:min(1120px,calc(100% - 80px));margin:0 auto 38px}
.library-collection-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin:0 2px 21px;padding:0 0 14px;border-bottom:1px solid #d1b88445;color:#dfccaa;font-size:16px;letter-spacing:.025em}
.library-collection-count{font-size:13px;color:#cac6c4}
.library-shelves{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 32px;outline-offset:8px}
.library-book{--book-cloth:#28374b;--book-gold:#b59c74;position:relative;display:grid;grid-template-columns:35px minmax(0,1fr);min-width:0;background:linear-gradient(102deg,#fbf7ed,#f4edde);color:#353742;box-shadow:0 10px 30px #060d1d40,0 0 0 1px #e4d0a93b;isolation:isolate;border-radius:2px 5px 5px 2px}
.library-book::before{content:"";position:absolute;top:0;bottom:0;left:0;width:35px;background:linear-gradient(90deg,#111e30,var(--book-cloth) 25%,var(--book-cloth) 71%,#182738);border-right:1px solid #bfa77a6b;border-radius:2px 0 0 2px;z-index:-1}
.library-book::after{content:"";position:absolute;top:11px;bottom:11px;left:7px;width:20px;border-top:1px solid #d7bd854f;border-bottom:1px solid #d7bd854f;pointer-events:none}
.library-book:nth-child(3n+2){--book-cloth:#324442;--book-gold:#aa9472}
.library-book:nth-child(3n){--book-cloth:#423847;--book-gold:#b49b75}
.library-book-number{padding:25px 0;text-align:center;color:#e3c992;font-size:14px;letter-spacing:.015em;line-height:1.5}
.library-book-content{position:relative;min-width:0;display:flex;flex-direction:column;align-items:flex-start;padding:27px 30px 23px}
.library-book-content::before{content:"";position:absolute;top:12px;left:15px;right:12px;height:35px;border:1px solid #bda78345;border-bottom:0;border-radius:100% 100% 0 0;pointer-events:none;opacity:.7;z-index:-1}
.library-book-kicker{display:block;max-width:100%;font-size:11px;line-height:1.55;text-transform:uppercase;letter-spacing:.12em;color:#76624b;margin:0 0 11px}
.library-book-title,.library-book-content h2{font:500 30px/1.15 var(--reader-font);letter-spacing:.005em;margin:0 0 12px;color:#2f3a4b;text-wrap:balance;overflow-wrap:anywhere}
.library-book-description,.library-book-content>p{font-size:17px;line-height:1.55;color:#5f5b59;margin:0 0 17px;max-width:43ch;text-wrap:pretty}
.library-book-meta{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12px;line-height:1.6;color:#7b6a57;margin-top:auto;padding-top:1px}
.library-book-actions{align-self:stretch;display:flex;flex-wrap:wrap;align-items:center;column-gap:19px;row-gap:1px;margin-top:18px;padding-top:10px;border-top:1px solid #a48b683b}
.library-book-actions a{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:14px;line-height:1.4;color:#69563f;text-decoration-color:#a18b6b}
.library-book-actions a:hover{text-decoration:underline;color:#2b3a4d}
.library-book-actions a:focus-visible{outline-color:#6b755e;outline-offset:4px}
.library-book-actions .library-book-read{font-weight:600;color:#283b4b;margin-right:auto}
.library-book-actions svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.2;flex:0 0 auto}
.library-book-actions :is(.library-book-download,.library-book-original){font-size:12px}
.library-collection-note{font-size:14px;line-height:1.7;color:#cbc7c5;text-align:center;margin:27px auto 2px;text-wrap:balance}
.library-page .reader-footer{margin-top:23px;border-top:1px solid #ccb88f2e;padding-top:17px}
html[lang=zh-Hant] .library-book-kicker,html[lang=ja] .library-book-kicker{font-size:10px;letter-spacing:.07em;line-height:1.9}
html[lang=zh-Hant] .library-book-title,html[lang=ja] .library-book-title,html[lang=zh-Hant] .library-book-content h2,html[lang=ja] .library-book-content h2{font-size:24px;line-height:1.5;letter-spacing:.025em;font-weight:500}
html[lang=zh-Hant] .library-book-description,html[lang=ja] .library-book-description,html[lang=zh-Hant] .library-book-content>p,html[lang=ja] .library-book-content>p{font-size:14px;line-height:1.9}
html[lang=zh-Hant] .library-book-actions a,html[lang=ja] .library-book-actions a{font-size:12px}
html[lang=zh-Hant] .library-book-actions :is(.library-book-download,.library-book-original),html[lang=ja] .library-book-actions :is(.library-book-download,.library-book-original){font-size:11px}
html[lang=zh-Hant] .library-collection-heading,html[lang=ja] .library-collection-heading{font-size:13px;line-height:1.8}
html[lang=zh-Hant] :is(.library-collection-count,.library-collection-note),html[lang=ja] :is(.library-collection-count,.library-collection-note){font-size:12px}
@media(max-width:1050px){
 .library-collection{width:calc(100% - 48px)}
 .library-shelves{gap:24px}
 .library-book-content{padding:26px 23px 21px}
 .library-book-title,.library-book-content h2{font-size:28px}
 .library-book-actions{column-gap:14px}
 .library-book-actions .library-book-read{flex-basis:100%;min-height:44px}
}
@media(max-width:750px){
 .library-collection{max-width:620px}
 .library-shelves{grid-template-columns:1fr;gap:25px}
 .library-page .library-introduction{padding-top:35px;padding-bottom:28px}
 .library-book-content{padding:29px 30px 23px}
 .library-book-actions .library-book-read{flex-basis:auto;min-height:44px}
 .library-collection-heading{margin-bottom:19px}
}
@media(max-width:480px){
 .library-collection{width:calc(100% - 32px);margin-bottom:23px}
 .library-page .library-introduction{padding:29px 21px 26px}
 .library-page .library-introduction p{max-width:30ch}
 .library-book{grid-template-columns:26px minmax(0,1fr)}
 .library-book::before{width:26px}
 .library-book::after{left:5px;width:15px}
 .library-book-number{font-size:11px;padding-top:26px}
 .library-book-content{padding:25px 22px 17px}
 .library-book-content::before{left:11px;right:10px;top:10px;height:30px}
 .library-book-kicker{font-size:10px;letter-spacing:.08em;margin-bottom:9px}
 .library-book-title,.library-book-content h2{font-size:28px;line-height:1.2;margin-bottom:12px}
 .library-book-description,.library-book-content>p{font-size:17px;line-height:1.55;margin-bottom:14px}
 .library-book-meta{font-size:12px}
 .library-book-actions{column-gap:19px;row-gap:0;margin-top:15px;padding-top:8px}
 .library-book-actions .library-book-read{flex-basis:100%;min-height:44px}
 .library-book-actions :is(.library-book-download,.library-book-original){font-size:13px}
 .library-collection-note{font-size:13px;max-width:32ch;line-height:1.7;margin-top:23px}
 .library-collection-heading{font-size:15px;gap:12px}
 .library-collection-count{font-size:12px;white-space:nowrap}
 .library-page .reader-footer{font-size:13px;gap:12px}
 html[lang=zh-Hant] .library-book-title,html[lang=ja] .library-book-title,html[lang=zh-Hant] .library-book-content h2,html[lang=ja] .library-book-content h2{font-size:22px;line-height:1.6}
 html[lang=zh-Hant] .library-page .library-introduction p,html[lang=ja] .library-page .library-introduction p{max-width:22em}
}
@media print{
 .library-page .library-introduction{display:block;padding:0 0 20px;color:#222}
 .library-page .library-introduction p,.library-page .library-eyebrow{color:#444}
 .library-collection{width:auto;margin:0}
 .library-collection-heading{color:#333}
 .library-shelves{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
 .library-book{box-shadow:none;border:1px solid #ddd;break-inside:avoid;background:#fff}
 .library-book-actions,.library-collection-note{display:none}
}
