:root{--lib-bg:#101319;--lib-panel:#181c23;--lib-text:#eee9df;--lib-muted:#bbb5aa;--lib-gold:#dbc18e;--lib-line:#373b43}
body{margin:0;background:var(--lib-bg);color:var(--lib-text);font:16px/1.65 system-ui,sans-serif}
.library-main{max-width:1100px;margin:auto;padding:18px 30px 48px}
.library-main *{box-sizing:border-box}
.library-main a{color:var(--lib-gold);text-underline-offset:4px}
.library-main a:focus-visible{outline:3px solid var(--lib-gold);outline-offset:5px}
.library-language{display:flex;justify-content:flex-end;gap:10px;margin:0 0 20px}
.library-language a{min-width:44px;min-height:44px;padding:8px 12px;text-align:center;border:1px solid var(--lib-line);border-radius:6px;text-decoration:none}
.library-language a[aria-current=page]{color:#171717;background:var(--lib-gold)}
.library-hero{padding:10px 0 32px;max-width:790px}
.library-kicker{text-transform:uppercase;letter-spacing:.15em;color:var(--lib-gold);font-size:12px;margin:0 0 14px}
.library-main h1,.library-main h2,.library-main h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.18;margin:0;color:var(--lib-text)}
.library-main h1{font-size:clamp(38px,5.7vw,68px);letter-spacing:-.025em;margin-bottom:23px}
.library-main h2{font-size:32px;margin-bottom:22px}
.library-main h3{font-size:32px;margin:8px 0 18px}
.library-lead{font-size:19px;line-height:1.65;margin:0;color:var(--lib-muted);max-width:720px}
.library-categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:8px 0 54px}
.library-category{display:flex;flex-direction:column;gap:12px;padding:24px;border:1px solid var(--lib-line);border-radius:10px;background:var(--lib-panel);text-decoration:none;transition:border-color .2s,transform .2s}
.library-category:hover{border-color:var(--lib-gold);transform:translateY(-2px)}
.library-category-number{font-size:12px;letter-spacing:.12em;color:var(--lib-muted)}
.library-category strong{font:400 27px/1.2 Georgia,serif;color:var(--lib-text)}
.library-category span:not(:first-child):not(:last-child){font-size:14px;color:var(--lib-muted)}
.library-category span:last-child{margin-top:auto}
.library-section{padding:36px 0;border-top:1px solid var(--lib-line);scroll-margin-top:calc(var(--esonum-navigation-height,224px) + 15px)}
.library-empty{max-width:680px;color:var(--lib-muted);margin:0}
.library-book{display:grid;grid-template-columns:minmax(200px,285px) 1fr;gap:48px;align-items:center;padding:12px 0 25px}
.library-cover{display:flex;flex-direction:column;gap:14px;align-items:center;background:#0b1020;color:#f1dca8!important;border:1px solid #bca16d;padding:23px 23px 18px;text-decoration:none;text-align:center;box-shadow:8px 12px 26px #0004;max-width:285px}
.cover-author{font:13px/1.4 Georgia,serif;letter-spacing:.025em}
.library-cover img{width:155px;height:243px;object-fit:cover;object-position:center;max-width:100%;border:1px solid #bca16d}
.cover-title{font:24px/1.2 Georgia,serif}
.cover-brand{font:12px/1.2 Georgia,serif;letter-spacing:.2em;margin-top:5px}
.library-book-copy{max-width:620px}
.library-status{display:inline-block;padding:5px 12px;border:1px solid #80704f;border-radius:4px;color:#e5cda0;font-size:12px;letter-spacing:.025em;margin:0 0 22px;background:#dbc18e09}
.library-author{font-size:14px;color:var(--lib-muted);margin:0}
.library-book-copy p:not(.library-status):not(.library-author){color:var(--lib-muted);margin-bottom:25px}
.library-button{display:inline-flex;gap:28px;align-items:center;border:1px solid var(--lib-gold);border-radius:7px;padding:11px 18px;min-height:46px;text-decoration:none;color:#151515!important;background:var(--lib-gold)}
.library-button:hover{background:#eddaad}
.library-footer{font-size:12px;color:var(--lib-muted);padding-top:40px;margin-top:20px;border-top:1px solid var(--lib-line)}
.library-back{display:inline-block;min-height:44px;margin-bottom:24px}
.edition-hero{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:55px;align-items:start;padding:10px 0 48px}
.edition-hero h1{font-size:clamp(34px,4.3vw,53px)}
.edition-hero .library-status{margin:24px 0 8px}
.edition-main-art{width:100%;height:auto;border-radius:8px;box-shadow:8px 14px 30px #0005}
.edition-availability{font-size:15px;color:var(--lib-muted);margin:10px 0 18px}
.library-source{font-size:14px}
.edition-parts{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.edition-parts li{display:flex;gap:24px;align-items:start;padding:22px;background:var(--lib-panel);border-radius:8px}
.part-number{font:24px/1.3 Georgia,serif;color:var(--lib-gold)}
.edition-parts h3{font-size:24px;margin:0 0 8px}
.edition-parts p{font-size:15px;color:var(--lib-muted);margin:0}
.section-lead{max-width:700px;color:var(--lib-muted);margin:0 0 30px}
.edition-art{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px;max-width:800px;margin:auto}
.edition-art figure{margin:0}
.edition-art img{display:block;width:100%;height:auto;border-radius:9px}
.edition-art figcaption{text-align:center;font:23px/1.3 Georgia,serif;padding-top:17px}
.edition-credit{font-size:12px;color:var(--lib-muted);text-align:center;margin:25px 0 0}
.edition-rights p{max-width:850px;color:var(--lib-muted);font-size:14px}
@media(max-width:720px){.library-main{padding:16px 18px 32px}.library-hero{padding-bottom:25px}.library-lead{font-size:17px}.library-categories{grid-template-columns:1fr;gap:10px;margin-bottom:28px}.library-category{padding:18px;display:grid;grid-template-columns:30px 1fr 16px;gap:8px 12px}.library-category strong{font-size:24px}.library-category span:nth-child(3){grid-column:2;grid-row:2}.library-category span:last-child{grid-column:3;grid-row:1;margin:0}.library-book{grid-template-columns:1fr;gap:28px}.library-cover{width:250px;max-width:100%;margin:auto}.library-book-copy h3{font-size:29px}.library-section{padding:28px 0}.library-main h2{font-size:28px}.edition-hero{grid-template-columns:1fr;gap:28px}.edition-main-art{max-width:245px;justify-self:center}.edition-art{gap:16px}.edition-art figcaption{font-size:20px}.edition-parts li{padding:18px;gap:15px}.edition-parts h3{font-size:23px}}
@media(max-width:420px){.edition-art{grid-template-columns:1fr;max-width:280px;gap:30px}}
@media print{body{background:white;color:#111}.library-language,.library-back,.library-source,.library-button{display:none}.library-main h1,.library-main h2,.library-main h3{color:#111}.library-lead,.library-main p{color:#333}.library-main{max-width:none;padding:0}.library-section{break-inside:avoid}.edition-art img{max-height:155mm;width:auto;max-width:100%;margin:auto}}
