#booksPage{max-width:1400px;margin:auto;padding:42px clamp(20px,4vw,64px) 100px;color:#e9e3d6}.books-intro{margin:14px 0 42px}.books-intro h1{font-family:Georgia,serif;font-size:clamp(36px,5vw,68px);font-weight:400;margin:12px 0}.books-intro>p:last-child{color:#bcb4a4}.book-shelf{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:26px}.book-card{display:block;width:100%;border:1px solid #735e3d;background:#191a19;color:#eee8dc;text-align:left;padding:14px;cursor:pointer;transition:transform .2s,border-color .2s}.book-card:hover,.book-card:focus-visible{transform:translateY(-5px);border-color:#c7aa73}.book-card img{width:100%;aspect-ratio:5/8;object-fit:cover;display:block;background:#302b25}.book-card .book-number{display:block;color:#bda16e;font-size:11px;letter-spacing:.17em;margin:17px 0 7px}.book-card strong{font-family:Georgia,serif;font-size:21px;font-weight:400}.book-card small{display:block;color:#a99e8c;margin:8px 0}.book-reader{border:1px solid #74613f;background:#171818;min-height:70vh}.book-reader[hidden],#booksPage[hidden]{display:none!important}.reader-top{display:flex;align-items:center;gap:20px;justify-content:space-between;padding:15px 22px;border-bottom:1px solid #584a34;color:#c7ad7c;font-size:12px;letter-spacing:.1em}.reader-top button,.reader-top a,.reader-toolbar button,.reader-pager button,.reader-chapters button{border:0;background:none;color:inherit;cursor:pointer}.reader-top a{color:#c7ad7c;text-decoration:none}.reader-layout{display:grid;grid-template-columns:240px minmax(0,1fr)}.reader-chapters{border-right:1px solid #514736;padding:26px 15px;max-height:85vh;overflow:auto}.reader-chapter-heading{font-size:11px;letter-spacing:.2em;color:#b89e6b;padding:0 10px 18px}.reader-chapters button{display:block;width:100%;text-align:left;padding:11px 10px;color:#bcb4a4;line-height:1.35}.reader-chapters button[aria-current=true]{background:#30291d;color:#eddaa9}.reader-main{min-width:0}.reader-toolbar{display:flex;justify-content:space-between;padding:12px 22px;border-bottom:1px solid #39372f;color:#d6bd88}.reader-toolbar button{padding:6px 9px}#chaptersToggle{display:none}#chapterText{max-width:750px;margin:auto;padding:52px clamp(22px,5vw,60px);font-family:Georgia,serif;font-size:var(--reader-size,18px);line-height:1.65;color:#ede6d9}#chapterText h1,#chapterText h2{text-align:center;color:#d4bb85;font-size:1.45em;font-weight:400;margin:0 0 2em}#chapterText p{text-indent:1.5em;margin:0 0 .8em}#chapterText p.scene{text-align:center;text-indent:0;margin:1.4em 0}#chapterText hr{border:0;border-top:1px solid #756443;width:32%;margin:2em auto}.reader-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px;color:#bca573;border-top:1px solid #514736}.reader-pager button{color:#e1c58b}.reader-pager button:disabled{opacity:.35;cursor:default}@media(max-width:760px){.reader-layout{display:block}.reader-chapters{display:none;border-right:0;border-bottom:1px solid #514736;max-height:50vh}.reader-chapters.open{display:block}#chaptersToggle{display:block}.reader-top{flex-wrap:wrap}.book-shelf{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}#chapterText{padding:32px 23px}.reader-pager{font-size:12px}}
/* The Books — editorial library */
#booksPage{max-width:1540px;padding:58px clamp(18px,4vw,68px) 110px;color:#e9e5db}.books-intro{position:relative;margin:0 0 38px;padding:42px clamp(24px,5vw,72px) 45px;border:1px solid #b79b6542;border-radius:16px;background:radial-gradient(circle at 82% 24%,#c8a87223,transparent 35%),linear-gradient(125deg,#1e2e3d,#101c29 70%);overflow:hidden}.books-intro:after{content:'C';position:absolute;right:5%;top:-90px;font-family:'Cormorant Garamond',serif;font-size:360px;color:#d8bf8b0d;pointer-events:none}.books-intro h1{font-family:'Cormorant Garamond',serif;font-size:clamp(46px,5.2vw,80px);line-height:.99;color:#f2e9d9;max-width:660px;letter-spacing:-.03em;margin:16px 0 20px}.books-intro>p:last-child{font-size:13px;color:#aab7bd;line-height:1.7;margin:0}.book-shelf{grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(14px,2vw,30px);align-items:start}.book-card{position:relative;border:0;background:none;padding:0;color:#eae3d6;box-shadow:none;transform:none;transition:transform .25s}.book-card:hover,.book-card:focus-visible{transform:translateY(-8px);border:0;outline-offset:7px}.book-card img{width:100%;aspect-ratio:5/8;object-fit:cover;border-radius:4px 9px 9px 4px;border:1px solid #d2b7826e;box-shadow:inset 6px 0 #0c1119,8px 12px 22px #0009,1px 0 #e9d6ad70;filter:saturate(.9);transition:filter .25s,box-shadow .25s}.book-card:hover img{filter:saturate(1.08);box-shadow:9px 19px 32px #000b,0 0 0 1px #cfad69}.book-card .book-number{font:600 10px 'DM Sans',sans-serif;letter-spacing:.23em;color:#c4a66d;margin:22px 0 8px}.book-card strong{display:block;font-family:'Cormorant Garamond',serif;font-size:clamp(23px,2vw,32px);font-weight:500;line-height:1.05;color:#f3eddf}.book-card small{font-size:11px;line-height:1.5;color:#96a3aa;margin:10px 0}.book-reader{border:1px solid #c7aa7345;border-radius:16px;background:#111d28;overflow:hidden;box-shadow:0 25px 75px #0006}.reader-top{background:linear-gradient(110deg,#1e3040,#152331);min-height:75px;padding:16px clamp(18px,3vw,38px);border-bottom:1px solid #b89b6045;color:#d7bd88;letter-spacing:.14em}.reader-top button,.reader-top a{font-size:11px;color:#e5c98e;padding:10px 0}.reader-top button:hover,.reader-top a:hover{color:#fff5d8}.reader-top a{border:1px solid #b99e6866;border-radius:5px;padding:10px 14px}.reader-layout{grid-template-columns:245px minmax(0,1fr)}.reader-chapters{background:#14222f;border-right:1px solid #bb9e6940;max-height:none;min-height:75vh;padding:31px 13px}.reader-chapter-heading{font-size:9px;color:#c8ab72;padding:0 16px 16px}.reader-chapters button{font-size:12px;border-left:2px solid transparent;border-radius:0;color:#9aa7b1;padding:12px 15px;transition:background .2s,color .2s}.reader-chapters button:hover{background:#ffffff08;color:#e5d4b1}.reader-chapters button[aria-current=true]{background:#bf9f6220;color:#f1dbad;border-left-color:#d0b478}.reader-main{background:linear-gradient(#1b2b37,#172633 120px,#152330);}.reader-toolbar{padding:12px 28px;border-bottom:1px solid #ffffff12;color:#cdb17c;letter-spacing:.08em}.reader-toolbar button{border:1px solid #bb9b6354;border-radius:4px;margin-left:5px;padding:7px 11px}.reader-toolbar button:hover{background:#c7a97220}#chapterText{max-width:810px;padding:clamp(45px,5vw,80px) clamp(30px,6vw,94px) 95px;font-family:'Cormorant Garamond',Georgia,serif;font-size:calc(var(--reader-size,18px) * 1.22);line-height:1.48;color:#f0e8da;letter-spacing:.005em}#chapterText h1,#chapterText h2{font-family:'Cormorant Garamond',serif;font-size:2em;line-height:1.05;color:#dfc590;margin:0 0 1.35em;font-weight:500}#chapterText p{margin:0 0 .8em;text-indent:1.5em}#chapterText p.scene{color:#c5a66e}.reader-pager{border-top:1px solid #ffffff1b;padding:22px 30px;color:#95a7b1}.reader-pager button{color:#e7cb91;border:1px solid #c6a7685c;border-radius:5px;padding:11px 16px}.reader-pager button:not(:disabled):hover{background:#c6a76820}@media(max-width:1100px){.book-shelf{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.book-card{max-width:290px}}@media(max-width:760px){#booksPage{padding:26px 4px 80px}.books-intro{padding:32px 22px;margin-bottom:28px}.books-intro:after{font-size:230px;right:-15px;top:-40px}.book-shelf{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 14px}.book-card strong{font-size:25px}.book-card .book-number{margin-top:15px}.reader-top{gap:8px;font-size:10px}.reader-layout{display:block}.reader-chapters{min-height:0;max-height:45vh;display:none;border-right:0;border-bottom:1px solid #b89b6045}.reader-chapters.open{display:block}.reader-toolbar{padding:10px 14px}#chaptersToggle{display:block}#chapterText{font-size:calc(var(--reader-size,18px) * 1.12);padding:45px 22px 60px}.reader-pager{padding:15px 10px}.reader-pager button{padding:10px 8px}}
/* Physical covers and book opening transition */
.book-card{perspective:950px}.book-object{position:relative;display:block;width:100%;aspect-ratio:5/8;transform:rotateY(-8deg);transform-style:preserve-3d;transition:transform .35s;filter:drop-shadow(10px 16px 12px #0007)}.book-card:hover .book-object,.book-card:focus-visible .book-object{transform:rotateY(-2deg) translateY(-3px)}.book-object:before{content:'';position:absolute;inset:3px auto 3px -9px;width:15px;background:linear-gradient(90deg,#665237,#b49a68 35%,#3b3540);transform:rotateY(-80deg);transform-origin:right;border-radius:3px 0 0 3px}.book-pages{position:absolute;inset:4px -5px 3px 7px;background:repeating-linear-gradient(0deg,#d4ccba 0 1px,#f5efe1 1px 3px);border:1px solid #b8a889;border-radius:2px 7px 7px 2px;box-shadow:4px 5px 9px #0009}.book-front{position:absolute;inset:0;display:block;overflow:hidden;border-radius:3px 8px 8px 3px;box-shadow:inset 8px 0 8px #0007,0 2px 4px #0008;backface-visibility:hidden}.book-front:after{content:'';position:absolute;inset:0 auto 0 4%;width:6%;background:linear-gradient(90deg,#0008,#fff3 45%,transparent);mix-blend-mode:overlay}.book-card .book-front img{border:0;border-radius:0;box-shadow:none;width:100%;height:100%;aspect-ratio:auto}.book-card:hover .book-front img{box-shadow:none}.book-card.is-opening{pointer-events:none}.book-card.is-opening .book-object,.gallery-book.is-opening .book-object{opacity:0!important;transition:opacity .35s ease}.book-opening-overlay{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:#0000;perspective:1300px;transition:background .45s}.book-opening-overlay.play{background:#000}.opening-stage{width:min(260px,38vw);aspect-ratio:5/8;transform:translate(var(--from-x),var(--from-y)) scale(var(--from-scale));transition:transform .63s cubic-bezier(.2,.7,.2,1)}.book-opening-overlay.play .opening-stage{transform:translate(0,0) scale(1)}.opening-book{width:100%;height:100%;position:relative;transform-style:preserve-3d}.opening-pages,.opening-inside,.opening-cover{position:absolute;inset:0;border-radius:3px 8px 8px 3px}.opening-pages{background:repeating-linear-gradient(0deg,#d4c9b3 0 1px,#f5eddc 1px 3px);transform:translateX(5px);box-shadow:12px 18px 40px #000c}.opening-inside{background:#eee5d2;padding:15%;box-shadow:inset 10px 0 18px #96866777}.opening-inside:after{content:'THE CHRONICLES OF CHOI';display:block;text-align:center;margin-top:60%;font:600 12px 'Cormorant Garamond',serif;letter-spacing:.15em;color:#9a8155}.opening-cover{transform-origin:left center;transform-style:preserve-3d;box-shadow:7px 12px 25px #0009;transition:transform .9s cubic-bezier(.25,.6,.2,1) .45s;backface-visibility:visible}.opening-cover:after{content:'';position:absolute;inset:0;background:#e8ddc7;transform:rotateY(180deg);backface-visibility:hidden;border-radius:inherit}.opening-cover img{width:100%;height:100%;object-fit:cover;border-radius:inherit;backface-visibility:hidden}.book-opening-overlay.play .opening-cover{transform:rotateY(-145deg)}@media(max-width:760px){.opening-stage{width:min(210px,40vw)}}@media(prefers-reduced-motion:reduce){.book-object,.opening-stage,.opening-cover,.book-opening-overlay{transition:none!important}}
/* Immersive reading mode */
body.reading-mode{overflow:hidden}body.reading-mode>header{visibility:hidden}body.reading-mode #bookReader{position:fixed;inset:0;z-index:1000;width:100vw;height:100dvh;min-height:0;border:0;border-radius:0;background:#142331;overflow:hidden;box-shadow:none}body.reading-mode .reader-layout{height:100dvh;display:block}body.reading-mode .reader-main{height:100dvh;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;padding:0 0 7vh;background:linear-gradient(#1c2b37,#142331 220px)}body.reading-mode .reader-main::-webkit-scrollbar{display:none}body.reading-mode #chapterText{max-width:790px;padding:clamp(48px,8vh,100px) clamp(26px,7vw,95px) 70px;min-height:100dvh}body.reading-mode .reader-top{position:fixed;top:0;left:0;right:0;z-index:5;background:#142432f5;transform:translateY(-110%);transition:transform .26s;box-shadow:0 12px 25px #0004}body.reading-mode .reader-toolbar{position:fixed;top:72px;right:0;left:0;z-index:5;background:#162735ee;transform:translateY(-150px);transition:transform .26s}body.reading-mode .reader-pager{position:fixed;bottom:0;left:0;right:0;z-index:5;background:#142432f5;transform:translateY(110%);transition:transform .26s}body.reading-mode.reader-controls-visible .reader-top,body.reading-mode.reader-controls-visible .reader-toolbar,body.reading-mode.reader-controls-visible .reader-pager{transform:translateY(0)}body.reading-mode .reader-chapters{display:none;position:fixed;z-index:6;top:115px;left:0;bottom:70px;width:min(320px,85vw);max-height:none;overflow:auto;box-shadow:15px 10px 30px #0008}body.reading-mode .reader-chapters.open{display:block}body.reading-mode #chaptersToggle{display:block}body.reading-mode .reader-pager button{min-height:42px}@media(max-width:760px){body.reading-mode .reader-top{min-height:73px;padding:7px 14px}body.reading-mode .reader-toolbar{top:73px}body.reading-mode #chapterText{padding:56px 22px 70px;min-height:100dvh}body.reading-mode .reader-chapters{top:120px}body.reading-mode .reader-pager{padding-bottom:max(12px,env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){body.reading-mode .reader-top,body.reading-mode .reader-toolbar,body.reading-mode .reader-pager{transition:none}}
/* Twelve-volume library layout */
#booksPage{max-width:none;width:100%;padding-inline:clamp(20px,5vw,90px)}.book-shelf{max-width:1260px;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:54px clamp(24px,5vw,78px);justify-items:center}.book-card{width:100%;max-width:290px}.book-card:nth-child(12){grid-column:2}.book-unavailable{cursor:default;opacity:.82}.book-unavailable:hover,.book-unavailable:focus-visible{transform:none}.book-unavailable .book-object{filter:drop-shadow(8px 14px 12px #0006)}.book-unavailable:hover .book-object{transform:rotateY(-8deg)}.placeholder-book .book-front{background:radial-gradient(circle at 55% 36%,#354557,#172635 72%);display:flex;flex-direction:column;align-items:center;text-align:center;padding:12% 8%;border:1px solid #a88d604d;color:#d5c397}.placeholder-book .book-front:before{content:'';position:absolute;inset:4%;border:1px solid #c8a86a50;pointer-events:none}.placeholder-crest{font-family:'Cormorant Garamond',serif;font-size:clamp(42px,6vw,70px);line-height:1;border:1px solid #c4a46866;border-radius:50%;width:30%;aspect-ratio:1;display:grid;place-items:center;margin:10% auto 9%}.placeholder-series{font-size:clamp(8px,.9vw,11px);letter-spacing:.26em}.placeholder-title{font:500 clamp(24px,2.4vw,39px)/.98 'Cormorant Garamond',serif;color:#e8d8b6;margin:auto 0}.placeholder-status{font-size:clamp(8px,.9vw,11px);letter-spacing:.18em;margin-top:auto;color:#a9a9a2}.book-unavailable small{color:#b6a078}@media(max-width:760px){#booksPage{padding-inline:4px}.book-shelf{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px}.book-card:nth-child(12){grid-column:1/-1;justify-self:center}.placeholder-crest{font-size:40px}.placeholder-title{font-size:clamp(21px,6vw,30px)}.placeholder-series,.placeholder-status{font-size:8px}}@media(max-width:360px){.book-shelf{gap:24px 10px}.placeholder-title{font-size:20px}}
/* Deliberate centered series rhythm */
@media(min-width:761px){.book-shelf{grid-template-columns:repeat(6,minmax(0,1fr));column-gap:clamp(8px,1.5vw,24px)}.book-card{grid-column:span 2}.book-card:nth-child(10){grid-row:4;grid-column:2 / span 2}.book-card:nth-child(11){grid-row:4;grid-column:4 / span 2}.book-card:nth-child(12){grid-row:5;grid-column:3 / span 2}}
@media(max-width:760px){.book-shelf{grid-template-columns:repeat(2,minmax(0,1fr))}.book-card{grid-column:auto;max-width:290px}.book-card:nth-child(1){grid-row:1;grid-column:1 / -1;justify-self:center}.book-card:nth-child(2){grid-row:2;grid-column:1}.book-card:nth-child(3){grid-row:2;grid-column:2}.book-card:nth-child(4){grid-row:3;grid-column:1}.book-card:nth-child(5){grid-row:3;grid-column:2}.book-card:nth-child(6){grid-row:4;grid-column:1 / -1;justify-self:center}.book-card:nth-child(7){grid-row:5;grid-column:1}.book-card:nth-child(8){grid-row:5;grid-column:2}.book-card:nth-child(9){grid-row:6;grid-column:1 / -1;justify-self:center}.book-card:nth-child(10){grid-row:7;grid-column:1}.book-card:nth-child(11){grid-row:7;grid-column:2}.book-card:nth-child(12){grid-row:8;grid-column:1 / -1;justify-self:center}}
/* Crisp, refined library covers */
.book-shelf{row-gap:clamp(40px,5vw,70px)}.book-card{perspective:none;text-align:center}.book-object,.book-unavailable .book-object{transform:none;filter:none;transition:transform .23s ease,box-shadow .23s ease;box-shadow:12px 16px 24px #0008,0 2px 2px #0009;border-radius:3px 8px 8px 3px}.book-card:hover .book-object,.book-card:focus-visible .book-object{transform:translateY(-5px);box-shadow:16px 23px 35px #000a,0 0 0 1px #d5b77970}.book-unavailable:hover .book-object{transform:none;box-shadow:12px 16px 24px #0008}.book-object:before{inset:0 auto 0 0;width:6%;transform:none;z-index:2;border-radius:3px 0 0 3px;background:linear-gradient(90deg,#1117,#fff3 55%,#0003);pointer-events:none}.book-pages{inset:3px -5px 2px 5px;z-index:0}.book-front{z-index:1;border-radius:3px 8px 8px 3px;box-shadow:none}.book-front:after{left:5%;width:4%;background:linear-gradient(90deg,#0007,#fff2,transparent);mix-blend-mode:normal}.book-card .book-front img{filter:none!important;transform:none!important;image-rendering:auto;object-fit:cover;object-position:center;width:100%;height:100%;display:block}.book-card:hover .book-front img{filter:none!important}.book-card .book-number{margin:21px 0 7px;font-size:10px;color:#d0b37c}.book-card strong{font-size:clamp(25px,2.25vw,35px);line-height:1.05}.book-card small{margin-top:8px;color:#aeb9bc}.book-unavailable{opacity:1}.book-unavailable .book-front{filter:none}.placeholder-book .book-front{background:linear-gradient(150deg,#273848,#142534 72%)}@media(max-width:760px){.book-shelf{row-gap:32px}.book-card strong{font-size:clamp(22px,6vw,28px)}.book-card .book-number{margin-top:16px}}
/* Clean cover edge: no lined page strip beside the artwork. */
.book-object .book-pages{display:none}.book-object{box-shadow:7px 13px 25px #0009,0 2px 3px #0008}.book-card:hover .book-object,.book-card:focus-visible .book-object{box-shadow:9px 18px 32px #000b,0 0 0 1px #d5b77970}.book-unavailable:hover .book-object{box-shadow:7px 13px 25px #0009,0 2px 3px #0008}
/* Character dossiers float over the full-screen reader. */
#chapterText .reader-character{display:inline;border:0;border-bottom:1px solid #c8a46c;padding:0;background:none;color:#e7c386;font:inherit;line-height:inherit;text-indent:0;cursor:pointer;vertical-align:baseline;text-decoration:none}#chapterText .reader-character:hover,#chapterText .reader-character:focus-visible{color:#fff0c6;border-bottom-color:currentColor;outline-offset:3px}body.reading-mode #shade{z-index:1200}body.reading-mode .floating-card{z-index:1201}body.reading-mode .portrait-lightbox{z-index:1300}

@media(max-width:760px){.book-shelf{--book-gap:14px;column-gap:var(--book-gap)}.book-card:nth-child(1),.book-card:nth-child(6),.book-card:nth-child(9),.book-card:nth-child(12){width:calc((100% - var(--book-gap))/2);max-width:none}}@media(max-width:360px){.book-shelf{--book-gap:10px}}
#chapterText .reader-room{display:inline;border:0;border-bottom:1px dashed #93bdb7;padding:0;background:none;color:#a9d5cb;font:inherit;line-height:inherit;cursor:pointer;vertical-align:baseline}#chapterText .reader-room:hover,#chapterText .reader-room:focus-visible{color:#e2fff7;border-bottom-color:currentColor;outline-offset:3px}.reader-room-overlay{position:fixed;inset:0;z-index:1400;display:grid;place-items:center;padding:16px;background:#06101ae8;backdrop-filter:blur(8px)}.reader-room-panel{position:relative;width:min(620px,100%);max-height:calc(100dvh - 32px);overflow:auto;border:1px solid #bfa77970;border-radius:14px;background:#172936;color:#e6e0d3;padding:30px;box-shadow:0 25px 85px #000b}.reader-room-kicker{font-size:10px;letter-spacing:.2em;color:#cdb47e}.reader-room-panel h2{font:500 clamp(33px,5vw,48px)/1 'Cormorant Garamond',serif;margin:12px 45px 22px;color:#f1dfb8}.reader-room-panel img{width:100%;max-height:52dvh;object-fit:cover;border-radius:8px}.reader-room-panel p{font-size:13px;line-height:1.75;color:#c0cdd0}.reader-room-close{position:absolute;right:18px;top:17px;width:38px;height:38px;border:1px solid #bfa77977;border-radius:50%;background:#283b47;color:#f1e1bf;font-size:26px;cursor:pointer}@media(max-width:760px){.reader-room-panel{padding:22px}}

/* The estate area dossier opens and closes with the same card turn as a character dossier. */
.reader-room-overlay{opacity:0;transition:opacity .35s ease}.reader-room-panel{opacity:0;transform:perspective(1200px) rotateY(-70deg) scale(.86);transform-origin:15% 50%;transition:transform .55s cubic-bezier(.22,.7,.15,1),opacity .35s ease}.reader-room-overlay.is-open{opacity:1}.reader-room-overlay.is-open .reader-room-panel{opacity:1;transform:perspective(1200px) rotateY(0) scale(1)}@media(prefers-reduced-motion:reduce){.reader-room-overlay,.reader-room-panel{transition:none}}
/* Safari collapses its browser chrome only when the document itself scrolls. */
body.reading-mode{overflow:visible;overscroll-behavior-y:auto;background:#142331}body.reading-mode.card-open{overflow:hidden}body.reading-mode>header{display:none}body.reading-mode main{max-width:none;width:100%;margin:0;padding:0}body.reading-mode #booksPage{width:100%;max-width:none;margin:0;padding:0}body.reading-mode .books-intro{display:none}body.reading-mode #bookReader{position:relative;inset:auto;z-index:auto;width:100%;height:auto;min-height:100dvh;border:0;border-radius:0;background:#142331;overflow:visible;box-shadow:none}body.reading-mode .reader-layout{display:block;height:auto}body.reading-mode .reader-main{height:auto;min-height:100dvh;overflow:visible;overscroll-behavior:auto;scrollbar-width:auto;padding:0;background:linear-gradient(#1c2b37,#142331 220px)}body.reading-mode #chapterText{max-width:790px;min-height:100dvh;padding:clamp(48px,8vh,100px) clamp(26px,7vw,95px) 95px}
body.reading-mode .reader-dock{position:fixed;z-index:1100;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;gap:clamp(3px,1vw,16px);min-height:76px;padding:8px max(16px,env(safe-area-inset-right)) max(9px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:#142431f5;border-top:1px solid #bb9c6555;box-shadow:0 -15px 35px #050d17a0;backdrop-filter:blur(16px);color:#e6d3ac;transform:translateY(120%);opacity:0;transition:transform .28s ease,opacity .28s ease}body.reading-mode.reader-controls-visible .reader-dock{transform:translateY(0);opacity:1}.reader-dock button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:52px;min-height:54px;padding:3px 6px;border:0;border-radius:8px;background:transparent;color:#e8d1a1;cursor:pointer}.reader-dock button:hover,.reader-dock button:focus-visible,.reader-dock button[aria-expanded=true]{background:#bf9e6430;color:#fff1ce}.reader-dock button:disabled{opacity:.3;cursor:default}.reader-dock button>span{font:400 29px/1 'Cormorant Garamond',Georgia,serif}.reader-dock button small{font:500 9px/1 'DM Sans',sans-serif;letter-spacing:.04em}.reader-dock-center{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;flex:0 1 220px;min-width:75px;color:#e7d9bb;text-align:center}.reader-dock-center span{font:500 9px/1.3 'DM Sans',sans-serif;letter-spacing:.12em;color:#aaafad;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.reader-dock-center strong{font:500 19px/1.2 'Cormorant Garamond',serif;white-space:nowrap}.reader-settings[hidden]{display:none!important}body.reading-mode .reader-settings{position:fixed;z-index:1101;right:max(15px,env(safe-area-inset-right));bottom:calc(84px + env(safe-area-inset-bottom));width:min(290px,calc(100vw - 30px));display:flex;flex-direction:column;gap:17px;padding:20px;border:1px solid #bca26d75;border-radius:13px;background:#1b2e3b;box-shadow:0 20px 45px #000a;color:#ead8b5}body.reading-mode .reader-settings>span{font-size:9px;letter-spacing:.18em;color:#bfa879}.reader-size-control{display:flex;align-items:center;justify-content:space-between;gap:12px}.reader-size-control span{font-size:12px;color:#c2ccd0}.reader-size-control button{width:42px;height:42px;border:1px solid #bda57370;border-radius:7px;background:#263c4a;color:#f1dcac;font-size:16px;cursor:pointer}.reader-settings a{display:block;border-top:1px solid #bda57345;padding-top:15px;color:#ebd39d;text-decoration:none;font-size:12px}body.reading-mode .reader-chapters{display:none;position:fixed;z-index:1101;left:12px;top:auto;bottom:calc(84px + env(safe-area-inset-bottom));width:min(330px,calc(100vw - 24px));height:min(56dvh,470px);min-height:0;max-height:none;overflow-y:auto;padding:22px 13px;border:1px solid #bba06b70;border-radius:13px;background:#192b39;box-shadow:0 20px 45px #000a}body.reading-mode .reader-chapters.open{display:block}body.reading-mode #chaptersToggle{display:flex}
@media(max-width:760px){body.reading-mode #chapterText{padding:56px 22px 90px;min-height:100dvh}body.reading-mode .reader-dock{gap:1px;padding-inline:max(7px,env(safe-area-inset-left));min-height:68px}body.reading-mode .reader-dock button{min-width:43px;min-height:49px;padding:3px}body.reading-mode .reader-dock button>span{font-size:27px}body.reading-mode .reader-dock button small{font-size:8px}.reader-dock-center{min-width:60px;flex:1 1 auto}.reader-dock-center span{font-size:8px}.reader-dock-center strong{font-size:17px}body.reading-mode .reader-chapters,body.reading-mode .reader-settings{bottom:calc(75px + env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){body.reading-mode .reader-dock{transition:none}}

/* iPhone standalone safe area and compact floating controls. */
html{background:#142331}body.reading-mode .reader-dock{left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));border:1px solid #c2a56d75;border-radius:18px;padding:7px 10px;min-height:62px;box-shadow:0 14px 40px #000b}body.reading-mode .reader-settings,body.reading-mode .reader-chapters{bottom:calc(86px + env(safe-area-inset-bottom))}@media(max-width:760px){body.reading-mode .reader-dock{gap:0;padding:6px 7px;min-height:58px}body.reading-mode .reader-dock button{min-width:38px;min-height:44px}body.reading-mode .reader-dock button>span{font-size:23px}body.reading-mode .reader-dock button small{font-size:7px}.reader-dock-center span{font-size:7px}.reader-dock-center strong{font-size:16px}body.reading-mode #chapterText{padding-bottom:105px}}
/* Refined mobile reader controls, with the previous link treatment available in Options. */
body.reading-mode .reader-dock{display:grid;grid-template-columns:repeat(2,minmax(44px,1fr)) 44px minmax(70px,1.4fr) 44px minmax(44px,1fr);gap:2px;max-width:680px;margin-inline:auto;min-height:70px;padding:13px 8px 6px;border-color:#b99e6b65;border-radius:18px;background:#172a38f7;box-shadow:0 16px 45px #020912cc}
.reader-progress-track{position:absolute;top:0;left:14px;right:14px;height:3px;overflow:hidden;border-radius:0 0 6px 6px;background:#c2bda52b}.reader-progress-track span{display:block;height:100%;width:0;background:linear-gradient(90deg,#b69760,#f1d9a0);transition:width .18s ease}
body.reading-mode .reader-dock button{width:100%;min-width:0;min-height:45px;gap:4px;padding:4px 1px;border-radius:9px;color:#d8bd86}body.reading-mode .reader-dock button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}body.reading-mode .reader-dock button small{font:500 9px/1 'DM Sans',sans-serif;letter-spacing:.04em}body.reading-mode .reader-dock #previousChapter,body.reading-mode .reader-dock #nextChapter{align-self:center;min-height:38px;border:1px solid #bca36b3b;border-radius:50%}body.reading-mode .reader-dock button:disabled{opacity:.28}.reader-dock-center{min-width:0}.reader-dock-center span{font-size:8px;letter-spacing:.09em}.reader-dock-center strong{font-size:20px}.reader-link-toggle{display:flex;align-items:center;gap:10px;font-size:12px;color:#d1d7d4}.reader-link-toggle input{accent-color:#ccad72}
#chapterText .reader-character,#chapterText .reader-room,#chapterText .reader-research{display:inline;box-decoration-break:clone;-webkit-box-decoration-break:clone;border:1px solid #c8ab7466;border-radius:.35em;padding:.015em .28em .045em;margin:0 .04em;background:#d3b0711b;line-height:inherit;text-decoration:none;white-space:normal;transition:background .2s,border-color .2s}#chapterText .reader-character{color:#f1d399}#chapterText .reader-room{color:#bce2d7;border-color:#90c8bd66;background:#69b6a323}#chapterText .reader-research{color:#f5d99f}#chapterText .reader-character:hover,#chapterText .reader-room:hover,#chapterText .reader-research:hover{background:#d3b0713a;border-color:currentColor}body.reader-links-classic #chapterText .reader-character,body.reader-links-classic #chapterText .reader-room,body.reader-links-classic #chapterText .reader-research{border:0;border-bottom:1px solid currentColor;border-radius:0;padding:0;margin:0;background:none}
.reader-pull{position:fixed;z-index:1099;left:50%;bottom:calc(92px + env(safe-area-inset-bottom));transform:translate(-50%,15px);display:flex;align-items:center;gap:10px;width:max-content;max-width:calc(100vw - 36px);padding:10px 15px;border:1px solid #c6ab7477;border-radius:100px;background:#1c303ef5;color:#e7d6b2;font:500 11px/1.2 'DM Sans',sans-serif;box-shadow:0 12px 30px #0009;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}.reader-pull.active{opacity:1;transform:translate(-50%,0)}.reader-pull-arrow{display:grid;place-items:center;width:25px;height:25px;border:2px solid #cba97155;border-top-color:#e7d3a1;border-radius:50%;font-size:16px;transform:rotate(calc(var(--pull-progress,0%) * 3.6));animation:pull-turn .75s linear infinite}.reader-pull.complete .reader-pull-arrow{animation:none;background:#c9ad78;color:#142331}@keyframes pull-turn{to{transform:rotate(360deg)}}
@media(max-width:760px){body.reading-mode .reader-dock{left:max(11px,env(safe-area-inset-left));right:max(11px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));padding:13px 5px 6px;grid-template-columns:minmax(41px,1fr) minmax(48px,1fr) 34px minmax(62px,1.15fr) 34px minmax(44px,1fr)}body.reading-mode .reader-dock button svg{width:20px;height:20px}body.reading-mode .reader-dock button small{font-size:8px}.reader-dock-center span{font-size:7px}.reader-dock-center strong{font-size:17px}body.reading-mode .reader-chapters,body.reading-mode .reader-settings{bottom:calc(96px + env(safe-area-inset-bottom))}}
body.reading-mode #chapterText:after{content:'PULL UP FOR NEXT CHAPTER';display:block;margin:72px auto 0;padding:18px 0 12px;max-width:300px;border-top:1px solid #c4aa7652;color:#bba778;text-align:center;font:500 10px/1.4 'DM Sans',sans-serif;letter-spacing:.18em}
/* Compact controls and inline dossier markers. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body.reading-mode #chapterText{overflow-wrap:break-word}
body.reading-mode .reader-dock{min-height:54px;padding:7px 7px 5px;grid-template-columns:minmax(34px,1fr) minmax(40px,1fr) 32px minmax(58px,1.05fr) 32px minmax(39px,1fr);border-radius:14px}body.reading-mode .reader-dock button{min-height:36px;gap:1px;padding:2px 1px;border-radius:8px}body.reading-mode .reader-dock button svg{width:17px;height:17px}body.reading-mode .reader-dock button small{font-size:8px}body.reading-mode .reader-dock #previousChapter,body.reading-mode .reader-dock #nextChapter{min-height:30px;border-radius:8px}.reader-dock-center span{font-size:8px;letter-spacing:.06em}.reader-dock-center strong{font-size:17px}.reader-progress-track{left:10px;right:10px;height:2px}body.reading-mode .reader-settings,body.reading-mode .reader-chapters{bottom:calc(72px + env(safe-area-inset-bottom))}
#chapterText .reader-character,#chapterText .reader-room,#chapterText .reader-research{font-family:inherit!important;font-size:1em!important;font-weight:inherit!important;letter-spacing:inherit!important;line-height:inherit!important;vertical-align:baseline!important;white-space:normal!important;padding:0 .13em!important;margin:0!important;border-radius:.14em!important;box-shadow:none!important;max-width:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}body.reader-links-classic #chapterText .reader-character,body.reader-links-classic #chapterText .reader-room,body.reader-links-classic #chapterText .reader-research{padding:0!important;border-radius:0!important}
.reader-pull{bottom:calc(76px + env(safe-area-inset-bottom))}
@media(max-width:760px){body.reading-mode .reader-dock{bottom:max(9px,env(safe-area-inset-bottom));left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));min-height:52px;padding:7px 5px 4px;grid-template-columns:minmax(34px,1fr) minmax(42px,1fr) 30px minmax(58px,1.15fr) 30px minmax(36px,1fr)}body.reading-mode .reader-dock button{min-height:35px}body.reading-mode .reader-dock button svg{width:17px;height:17px}body.reading-mode .reader-dock button small{font-size:7px}.reader-dock-center span{font-size:7px}.reader-dock-center strong{font-size:16px}body.reading-mode .reader-chapters,body.reading-mode .reader-settings{bottom:calc(72px + env(safe-area-inset-bottom))}}
body.reading-mode #chapterText:after{content:none}#readerEndTurn{display:block;width:min(100%,320px);margin:66px auto 10px;padding:18px 10px 20px;border:0;border-top:1px solid #c4aa7652;border-radius:0;background:transparent;color:#c9b486;text-align:center;font:500 10px/1.4 'DM Sans',sans-serif;letter-spacing:.17em;touch-action:none;cursor:grab}#readerEndTurn:active{cursor:grabbing;color:#f1dca9}#readerEndTurn:disabled{cursor:default;color:#9c9381}

/* Draw interface symbols rather than letting iOS substitute emoji glyphs. */
#readerEndTurn .ui-icon{width:13px;height:13px;vertical-align:-2px;margin-right:8px}.reader-pull-arrow .ui-icon{width:16px;height:16px}.book-card small .ui-icon{width:12px;height:12px;vertical-align:-2px;margin-left:2px}

/* Quiet page-turn loader, displayed only when the book is still fetching. */
.opening-loader{position:absolute;left:50%;bottom:clamp(30px,8vh,90px);display:flex;align-items:center;justify-content:center;gap:9px;transform:translateX(-50%);pointer-events:none}
.opening-loader i{display:block;width:5px;height:5px;border-radius:50%;background:#e1c58c;box-shadow:0 0 12px #e1c58c80;animation:openingPulse 1.25s ease-in-out infinite}
.opening-loader i:nth-child(2){animation-delay:.18s}.opening-loader i:nth-child(3){animation-delay:.36s}
@keyframes openingPulse{0%,75%,100%{opacity:.3;transform:translateY(0) scale(.8)}35%{opacity:1;transform:translateY(-5px) scale(1.15)}}
@media(prefers-reduced-motion:reduce){.opening-loader i{animation:none;opacity:.8}}

/* Area dossier content is centered within its panel. */
.reader-room-panel{text-align:center}
.reader-room-kicker{display:block;width:100%;text-align:center}
.reader-room-panel h2{width:100%;margin:12px 0 20px;text-align:center}
.reader-room-panel p{width:100%;margin:18px 0 0;text-align:center}
.reader-room-close{z-index:2}
@media(max-width:760px){
 .reader-room-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:min(68dvh,560px);padding:26px 20px}
 .reader-room-panel img{flex:none;max-height:38dvh}
}
