body.library-open{overflow-x:hidden;overflow-y:auto}
.library{--lib-ink:#f1e7d1;--lib-gold:#cfaa70;--lib-muted:#c3b9a6;--lib-dark:#111a24;min-height:100svh;background:radial-gradient(ellipse at 78% 24%,#b77b2820,transparent 38%),#111820;color:var(--lib-ink)}
.library-cover{height:min(790px,82svh);min-height:550px;position:relative;isolation:isolate;overflow:hidden;background:#0e1826}
.library-cover>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 58%;z-index:-2}
.library-cover-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0d1725fa 0%,#0d1725db 30%,#0d172577 57%,transparent 85%),linear-gradient(0deg,#111820 0%,transparent 30%);z-index:-1}
.library-cover-copy{position:absolute;left:max(7vw,32px);top:40%;transform:translateY(-20%);max-width:590px}
.library-kicker{font-size:12px;letter-spacing:.2em;color:var(--lib-gold);margin:0 0 22px}
.library-cover h1{font:normal clamp(54px,7vw,96px)/1 Georgia,serif;letter-spacing:-.045em;margin:0 0 20px;color:#f5ead4}
.library-cover-copy>p:last-child{font:18px/1.65 Georgia,serif;color:#d1c6b3;max-width:470px;margin:0}
.library-cover-note{position:absolute;left:max(7vw,32px);bottom:40px;color:#e1d1b6a3;font:11px Arial,sans-serif;letter-spacing:.17em}
.library-toolbar{position:sticky;top:101px;z-index:36;min-height:130px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px max(7vw,32px);background:#111820ed;border-top:1px solid #cfaa7040;border-bottom:1px solid #cfaa7040;backdrop-filter:blur(16px)}
.library-controls{display:grid;grid-template-columns:minmax(210px,420px) auto;align-items:center;gap:7px 14px;flex:1;max-width:690px}
.library-controls label{grid-column:1/-1;color:#d6c8ae;font-size:13px;letter-spacing:.04em}
.library-controls input,.library-controls select{min-width:0;height:45px;border:1px solid #cfaa7061;border-radius:2px;background:#ffffff09;color:#f4ead9;padding:0 14px;font:16px Arial,sans-serif;outline:none}
.library-controls input:focus,.library-controls select:focus-visible{border-color:var(--lib-gold);box-shadow:0 0 0 2px #cfaa7033}
.library-controls input::placeholder{color:#b5ad9e}
.library-controls select{cursor:pointer}.library-controls select option{background:#16212c;color:#f4ead9}
.library-sort-label{grid-row:1;grid-column:2!important;align-self:end}.library-sort-label+select{grid-row:2;grid-column:2;min-width:160px}
.library-banners{display:flex;align-items:flex-start;gap:14px;align-self:stretch;padding-top:0}
.library-banner{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:8px;width:66px;height:94px;padding:12px 4px 22px;border:0;clip-path:polygon(0 0,100% 0,100% 78%,50% 100%,0 78%);background:linear-gradient(90deg,#0004,transparent 35%,#ffffff13 55%,#0002),var(--banner,#234564);color:var(--banner-ink,#e5d4b3);cursor:pointer;font:12px Arial,sans-serif;transition:height .22s,filter .2s,transform .2s}
.library-banner[data-library-category="comics"]{--banner:#8b5836;--banner-ink:#fff0da}.library-banner[data-library-category="series"]{--banner:#284760;--banner-ink:#e3edf0}
.library-banner:hover,.library-banner.is-active{height:107px;filter:brightness(1.15);transform:translateY(2px)}
.library-banner:focus-visible{outline:2px solid #f2d49e;outline-offset:4px}
.library-banner-icon{font-size:22px;line-height:1}
.library-results{width:min(1180px,calc(100% - 64px));margin:0 auto;padding:72px 0 140px}
.library-book{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(0,1fr);align-items:center;gap:clamp(38px,8vw,120px);margin:0 0 110px;min-height:440px}
.library-book:nth-child(even) .library-cover-art{grid-column:2;grid-row:1}.library-book:nth-child(even) .library-book-copy{grid-column:1;grid-row:1}
.library-cover-art{position:relative;aspect-ratio:3/4;width:min(100%,370px);margin:0 auto;overflow:hidden;box-shadow:0 24px 70px #0007,8px 2px 0 #cfaa7020;background:#151e28}
.library-cover-art:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px #e8d6b42c,inset 0 -80px 55px -45px #090f1acc}
.library-cover-art img{display:block;width:100%;height:100%;object-fit:cover}
.library-book-copy{max-width:580px;padding:24px 0}
.library-book-type{margin:0 0 20px;color:var(--lib-gold);font-size:12px;letter-spacing:.18em;text-transform:uppercase}
.library-book-copy h2{font:normal clamp(34px,4vw,55px)/1.1 Georgia,serif;letter-spacing:-.025em;margin:0 0 25px;color:#f4e8d1}
.library-book-copy p:not(.library-book-type){font:17px/1.85 Georgia,serif;color:#d1c9ba;margin:0;max-width:510px}
.library-empty{min-height:38vh;display:grid;place-items:center;text-align:center;color:var(--lib-muted);font:18px/1.7 Georgia,serif;padding:40px}
.library-empty p{max-width:490px}
@media(max-width:760px){.library-cover{height:70svh;min-height:510px}.library-cover>img{object-position:61% center}.library-cover-shade{background:linear-gradient(90deg,#0d1725ed 0%,#0d172599 54%,#0d172533 100%),linear-gradient(0deg,#111820 0%,transparent 48%)}.library-cover-copy{left:26px;right:24px;top:42%}.library-cover-copy>p:last-child{font-size:16px}.library-cover-note{left:26px;right:22px;bottom:28px;font-size:9px}.library-toolbar{top:88px;padding:14px 18px;gap:10px;min-height:119px}.library-controls{grid-template-columns:minmax(120px,1fr) auto;gap:6px 9px}.library-controls label{font-size:12px}.library-controls input,.library-controls select{height:42px;padding:0 9px;font-size:14px}.library-sort-label+select{min-width:108px}.library-banners{gap:7px}.library-banner{width:52px;height:82px;font-size:10px;padding:10px 2px 19px}.library-banner:hover,.library-banner.is-active{height:91px}.library-banner-icon{font-size:18px}.library-results{width:calc(100% - 42px);padding:48px 0 95px}.library-book{grid-template-columns:1fr;gap:27px;margin-bottom:74px;min-height:0}.library-book:nth-child(even) .library-cover-art,.library-book:nth-child(even) .library-book-copy{grid-column:1;grid-row:auto}.library-book:nth-child(even) .library-book-copy{grid-row:2}.library-cover-art{width:min(76%,340px)}.library-book-copy{padding:0 2px}.library-book-copy h2{font-size:37px;margin-bottom:17px}.library-book-copy p:not(.library-book-type){font-size:16px;line-height:1.7}.library-book-type{margin-bottom:13px}}
@media(max-width:430px){.library-controls{grid-template-columns:minmax(0,1fr) 96px;gap:5px 6px}.library-controls input,.library-controls select{height:40px;font-size:13px}.library-sort-label+select{min-width:96px}.library-toolbar{padding-inline:11px;gap:6px}.library-banners{gap:5px}.library-banner{width:48px}.library-results{width:calc(100% - 32px)}}
@media(prefers-reduced-motion:reduce){.library-banner{transition:none}}

/* Shelf controls, personal collection and immersive reader. */
.library-controls{grid-template-columns:minmax(270px,420px);gap:6px;max-width:420px}
.library-controls label{grid-column:1!important;grid-row:auto!important;align-self:auto}
.library-controls select,.library-controls input{grid-column:1!important;grid-row:auto!important;width:100%}
.library-toolbar{min-height:180px}
.library-catalog[hidden],.library-owned[hidden]{display:none!important}
.library-section-heading{font:normal clamp(32px,4vw,49px)/1.1 Georgia,serif;color:#f2e6d0;margin:0 0 44px;padding-bottom:18px;border-bottom:1px solid #cfaa7045}
.library-owned{width:min(1180px,calc(100% - 64px));margin:0 auto;padding:0 0 130px;scroll-margin-top:280px}
.library-owned-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px}
.owned-book{display:flex;flex-direction:column;align-items:flex-start;gap:18px;min-width:0}
.owned-book img{display:block;width:min(100%,310px);aspect-ratio:3/4;object-fit:cover;box-shadow:0 20px 50px #0006;background:#151e28}
.owned-book h3{font:normal clamp(21px,2.3vw,29px)/1.2 Georgia,serif;color:#f2e6d0;margin:0;min-height:2.4em}
.library-buy,.library-read{min-height:49px;border:1px solid #cfaa70a3;padding:12px 20px;background:linear-gradient(115deg,#8e663e,#c19a5c);color:#fff5e5;font:700 15px Arial,sans-serif;letter-spacing:.025em;cursor:pointer;transition:filter .2s,transform .2s}
.library-buy:hover:not(:disabled),.library-read:hover{filter:brightness(1.15);transform:translateY(-1px)}
.library-buy:disabled{background:#283a38;border-color:#668879;color:#d7e7dc;cursor:default}
.library-buy:focus-visible,.library-read:focus-visible,.reader-close:focus-visible,.reader-bookmark:focus-visible,.reader-arrow:focus-visible,.reader-pagination button:focus-visible,.reader-bookmark-list button:focus-visible{outline:2px solid #f5dba7;outline-offset:3px}
.library-read{min-width:145px;background:transparent;color:#e8cf9f}
.library-owned-empty{grid-column:1/-1;min-height:170px;display:grid;place-items:center;border:1px solid #cfaa7030;color:#c3b9a6;font:16px/1.7 Georgia,serif;text-align:center;padding:30px}
.library-toast{position:fixed;z-index:90;left:50%;bottom:26px;transform:translateX(-50%);max-width:min(560px,calc(100% - 32px));margin:0;padding:15px 20px;border:1px solid #cfaa707a;background:#111a24f5;color:#f3e4c7;font:14px/1.5 Arial,sans-serif;box-shadow:0 12px 42px #0009}
.library-reader[hidden]{display:none!important}
.library-reader{position:fixed;inset:0;z-index:100;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:radial-gradient(ellipse at 50% 40%,#2b3743,#10161d 72%);color:#29251f;overflow:hidden}
body.reader-open{overflow:hidden}
.reader-header{height:auto!important;min-height:84px;display:grid!important;grid-template-columns:1fr minmax(180px,2fr) 1fr;align-items:center;gap:18px;padding:12px clamp(18px,4vw,58px)!important;border-bottom:1px solid #d3bd9255!important;background:#0c131beF!important;color:#f0e4ce!important}
.reader-close,.reader-bookmark{justify-self:start;min-height:42px;border:1px solid #cfaa7066;background:transparent;color:#e8d6b5;padding:9px 14px;font:14px Arial,sans-serif;cursor:pointer}
.reader-close span{margin-left:7px}.reader-bookmark{justify-self:end;min-width:160px}.reader-bookmark[aria-pressed=true]{color:#ffe0a4;border-color:#cfaa70}
.reader-book-name{text-align:center;min-width:0}.reader-book-name .reader-eyebrow{font:10px Arial,sans-serif;letter-spacing:.15em;color:#c8a977;margin:0 0 5px}.reader-book-name h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:normal clamp(17px,2.4vw,25px)/1.2 Georgia,serif;margin:0;color:#f2e6d0}
.reader-body{display:grid;grid-template-columns:minmax(48px,1fr) minmax(0,900px) minmax(48px,1fr);align-items:center;gap:clamp(10px,3vw,42px);min-height:0;padding:20px clamp(12px,3vw,45px)}
.reader-page{position:relative;width:100%;height:min(100%,calc(100svh - 188px));min-height:300px;overflow:hidden;perspective:1800px;background:linear-gradient(90deg,#d8c8aa,#f2e9d9 9%,#f5efe5 50%,#e9deca);box-shadow:0 24px 75px #0008,0 0 0 1px #f4e7cd30;transform-style:preserve-3d}
.reader-page-content{height:100%;width:100%;position:relative;display:flex;align-items:center;justify-content:center;transition:opacity .22s ease}
.reader-page-content>img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;box-shadow:0 12px 34px #0003}
.reader-page-art .reader-page-content>img{max-width:84%;max-height:84%}
.reader-caption{position:absolute;bottom:4%;left:8%;right:8%;text-align:center;font:15px/1.5 Georgia,serif;color:#383128}
.reader-text{width:min(680px,76%);margin:auto;padding:45px 0;max-height:100%;overflow:auto;color:#302b24}
.reader-text .reader-eyebrow{font:11px Arial,sans-serif;letter-spacing:.14em;color:#9a7749;margin:0 0 21px}
.reader-text h3{font:normal clamp(28px,4vw,48px)/1.12 Georgia,serif;margin:0 0 25px}
.reader-text>p:not(.reader-eyebrow){font:clamp(17px,1.7vw,20px)/1.85 Georgia,serif;margin:0 0 18px}
.reader-sheet{position:absolute;z-index:3;inset:0;visibility:hidden;pointer-events:none;transform-style:preserve-3d;backface-visibility:hidden;background:linear-gradient(105deg,#f4ead7 0%,#dfd0b4 48%,#bba984 50%,#ede2cf 54%,#f1e7d5 100%);box-shadow:0 0 55px #4c39255c}
.reader-sheet:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 32%,#fff9 48%,#ffffff35 54%,transparent 70%)}
.reader-page.is-turning[data-direction="next"] .reader-sheet{visibility:visible;transform-origin:right center;animation:book-flip-next 820ms cubic-bezier(.25,.72,.24,1) both}
.reader-page.is-turning[data-direction="prev"] .reader-sheet{visibility:visible;transform-origin:left center;animation:book-flip-prev 820ms cubic-bezier(.25,.72,.24,1) both}
.reader-page.is-turning .reader-page-content{opacity:.22}
@keyframes book-flip-next{0%{transform:rotateY(0deg);filter:brightness(1)}45%{filter:brightness(.75)}100%{transform:rotateY(-180deg);filter:brightness(1)}}
@keyframes book-flip-prev{0%{transform:rotateY(0deg);filter:brightness(1)}45%{filter:brightness(.75)}100%{transform:rotateY(180deg);filter:brightness(1)}}
.reader-arrow{width:54px;height:76px;border:1px solid #cfaa7054;background:#0a111a75;color:#eedbb7;font:50px/1 Georgia,serif;cursor:pointer;transition:background .2s,color .2s}
.reader-arrow:hover:not(:disabled){background:#cfaa7033;color:#fff1d4}.reader-arrow:disabled,.reader-pagination button:disabled{opacity:.28;cursor:default}
.reader-footer{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px clamp(18px,4vw,58px);border-top:1px solid #d3bd9255;background:#0c131bef;color:#e8d6b5}
.reader-bookmark-list{display:flex;align-items:center;gap:10px;min-width:0;font:13px Arial,sans-serif}.reader-bookmark-list label{white-space:nowrap;color:#c6b99f}.reader-bookmark-list select,.reader-bookmark-list button{height:37px;border:1px solid #cfaa7066;background:#121d27;color:#f0e4ce;padding:0 10px;font:13px Arial,sans-serif}.reader-bookmark-list select{max-width:min(220px,35vw)}.reader-bookmark-list button{cursor:pointer}.reader-bookmark-list button:disabled{opacity:.42;cursor:default}
.reader-pagination{display:flex;align-items:center;gap:16px;font:14px Arial,sans-serif;white-space:nowrap}.reader-pagination button{width:42px;height:38px;border:1px solid #cfaa7066;background:#121d27;color:#f0e4ce;font:28px/1 Georgia,serif;cursor:pointer}
@media(max-width:760px){.library-toolbar{display:grid;grid-template-columns:1fr;gap:12px;padding:12px 16px;min-height:auto}.library-controls{grid-template-columns:1fr;max-width:none;width:100%;gap:5px}.library-controls select,.library-controls input{height:40px}.library-banners{justify-content:center;gap:12px;padding:0}.library-banner{width:58px;height:75px;padding-top:8px}.library-banner:hover,.library-banner.is-active{height:82px}.library-results,.library-owned{width:calc(100% - 40px)}.library-section-heading{margin-bottom:30px}.library-owned-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}.owned-book{gap:13px}.owned-book img{width:100%}.owned-book h3{font-size:20px;min-height:0}.library-read{width:100%;min-width:0}.reader-header{grid-template-columns:auto 1fr auto;gap:8px;padding-inline:11px!important;min-height:72px}.reader-close{padding:8px 9px;font-size:12px}.reader-close span{display:none}.reader-book-name .reader-eyebrow{font-size:8px}.reader-book-name h2{font-size:16px}.reader-bookmark{min-width:0;padding:8px 9px;font-size:12px}.reader-body{grid-template-columns:36px minmax(0,1fr) 36px;gap:6px;padding:12px 7px}.reader-page{height:min(100%,calc(100svh - 190px));min-height:260px}.reader-arrow{width:34px;height:54px;font-size:39px}.reader-footer{min-height:68px;padding:8px 10px;gap:7px}.reader-bookmark-list{gap:5px;font-size:11px}.reader-bookmark-list label{display:none}.reader-bookmark-list select,.reader-bookmark-list button{height:34px;padding:0 7px;font-size:11px}.reader-pagination{gap:6px;font-size:12px}.reader-pagination button{width:34px;height:34px}}
@media(max-width:430px){.library-owned-list{grid-template-columns:1fr 1fr;gap:22px 14px}.library-owned{width:calc(100% - 30px)}.reader-body{grid-template-columns:30px minmax(0,1fr) 30px;gap:4px;padding-inline:4px}.reader-arrow{width:30px;height:48px}.reader-text{width:82%;padding:26px 0}.reader-text>p:not(.reader-eyebrow){font-size:16px;line-height:1.65}.reader-bookmark-list select{max-width:116px}.reader-bookmark-list button{max-width:69px;overflow:hidden}.reader-footer{padding-inline:7px}}
@media(prefers-reduced-motion:reduce){.reader-page-content{transition:none}.reader-page.is-turning .reader-sheet{animation:none!important;visibility:hidden!important}.library-buy,.library-read{transition:none}}
