@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Manrope:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#191e1b;--cream:#eee9da;--gold:#c0a576;--muted:#aaa99a;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',Arial,sans-serif}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{background:var(--bg);color:var(--cream);font-family:var(--sans);font-size:16px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:6px}button:disabled{opacity:.4;cursor:default}.site-shell{height:100svh;min-height:550px;display:flex;flex-direction:column;background:radial-gradient(ellipse at 51% 43%,#30352b65 0,transparent 64%)}.masthead{display:flex;align-items:center;justify-content:space-between;margin:0 4.5%;padding:30px 0 25px;border-bottom:1px solid #d6c6a119;gap:24px;z-index:2}.brand{display:flex;align-items:center;gap:14px;color:var(--cream);text-decoration:none;font-family:var(--serif);font-size:30px;line-height:.9;letter-spacing:-1px}.brand-daily{font-style:italic;color:var(--gold)}.brand small{font:9px var(--sans);letter-spacing:2.4px;display:block;margin-top:10px;color:var(--muted)}.brand-mark{font-size:52px;border:1px solid #c0a57655;width:49px;height:55px;display:flex;align-items:center;justify-content:center;color:var(--gold);position:relative}.brand-mark>span{font:16px var(--sans);position:absolute;top:1px;right:4px}.header-note{font:italic 17px var(--serif);color:#b7b7a7;display:flex;align-items:center;gap:12px}.tiny-star{color:var(--gold);font-style:normal}.text-button{border:0;background:none;color:#c7c5b6;display:flex;align-items:center;gap:12px;font-size:12px;padding:7px 0}.small-circle{border:1px solid #a6a78e66;border-radius:50%;height:18px;width:18px;display:inline-flex;align-items:center;justify-content:center;font:12px Georgia}main{flex:1;min-height:0;display:flex;flex-direction:column;position:relative}.intro{text-align:center;padding-top:clamp(28px,5vh,62px);z-index:1;pointer-events:none}.eyebrow{font:600 10px var(--sans);letter-spacing:2.7px;color:var(--gold);display:flex;align-items:center;justify-content:center;gap:15px}.eyebrow>span:empty{width:24px;height:1px;background:#c0a57655}h1{font:500 clamp(40px,4.3vw,68px)/1.08 var(--serif);letter-spacing:-1.4px;margin:18px 0 12px}h1 em{font-weight:400;color:#d1bb90}p{line-height:1.7}.intro p{font-size:13px;color:var(--muted);margin:0}.library{position:relative;flex:1;min-height:260px;width:100%;max-width:1500px;margin:0 auto}.library-top{position:absolute;left:10%;right:10%;top:30px;display:flex;justify-content:space-between;z-index:1;font-size:9px;letter-spacing:2px;color:#989c8c}.separator{margin:0 8px;color:#bba774}.light-pool{position:absolute;left:15%;right:15%;top:8%;bottom:15%;background:radial-gradient(ellipse,#99805416,transparent 65%);pointer-events:none}#scene{position:absolute;inset:0;touch-action:manipulation}#scene canvas{width:100%;height:100%;display:block;transition:opacity .5s}#book-controls{position:absolute;inset:0;pointer-events:none}.book-hit{position:absolute;border:0;background:transparent;pointer-events:auto;border-radius:3px;color:transparent;padding:0;touch-action:manipulation}.book-hit:focus-visible{outline:1px solid #e0c48b;outline-offset:6px;background:#dfc47a0a}.shelf-caption{position:absolute;bottom:1.5%;left:0;width:100%;display:flex;justify-content:center;align-items:center;gap:16px;font:italic 17px var(--serif);color:#b6b49f;pointer-events:none}.shelf-caption .line{width:30px;height:1px;background:#afac8350}.loading-label{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font:italic 20px var(--serif);color:var(--gold)}.bottom-note{display:flex;align-items:center;justify-content:center;gap:10px;color:#a8aa97;font:italic 15px var(--serif);padding:20px 0 26px}.open-book-icon{font-size:21px;color:var(--gold)}footer{border-top:1px solid #d6c6a119;display:flex;justify-content:space-between;align-items:center;gap:15px;margin:0 4.5%;padding:18px 0 20px;font-size:10px;letter-spacing:.2px;color:#8e9486}footer button.text-button{font-size:10px}.footer-center{color:#a6a897}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}body.reading .site-shell{filter:blur(7px);transform:scale(.98);transition:filter .65s,transform .65s}dialog{background:transparent;color:#38382e;padding:0;border:0;max-width:1100px;width:calc(100vw - 100px);max-height:calc(100svh - 64px);overflow:visible}dialog::backdrop{background:#111610cf;backdrop-filter:blur(5px)}dialog[open]{animation:reader-in .7s cubic-bezier(.2,.75,.25,1) both}.reader-toolbar{display:flex;align-items:center;justify-content:space-between;color:#c8c4af;padding:0 0 16px;font-size:10px;letter-spacing:1.8px}.reader-divider{color:#a89c70;margin:0 12px}.close-button{border:0;background:none;color:#e9e2d1;display:flex;align-items:center;gap:14px;font-size:12px}.close-x{width:30px;height:30px;border:1px solid #c0bda15c;border-radius:50%;font-size:24px;line-height:25px}.spread{display:grid;grid-template-columns:.86fr 1.2fr;min-height:540px;height:min(680px,calc(100svh - 140px));border-radius:3px 8px 8px 3px;box-shadow:0 30px 100px #0008,7px 6px 0 #bcb298,10px 9px 0 #625d4c;overflow:hidden;background:#eee7d6}.contents-page{background:radial-gradient(ellipse at 30% 40%,#f3eddf,#e1d7bf);padding:45px 42px 30px;display:flex;flex-direction:column;justify-content:space-between;position:relative;border-right:1px solid #746d5622;box-shadow:inset -20px 0 34px -23px #403a29aa}.chapter-number{font:italic 90px var(--serif);line-height:1;color:#94815d6e}.contents-page .eyebrow{justify-content:flex-start;color:#8e7449;font-size:10px;letter-spacing:2px}.contents-page h2{font:500 51px/1.06 var(--serif);letter-spacing:-1px;margin:18px 0}.contents-page p{font:400 15px/1.85 var(--sans);color:#706c5a}.contents-bottom{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #92816650;padding-top:18px;font-size:9px;letter-spacing:1.3px;color:#847252}.article-page{padding:38px 40px 25px;overflow:auto;background:linear-gradient(90deg,#d6cbb450,#f7f2e600 8%);scrollbar-width:thin;scrollbar-color:#b6a57e transparent}.article-meta{display:flex;justify-content:space-between;gap:10px;color:#92805c;font-size:9px;letter-spacing:1.7px}.article-page h3{font:500 39px/1.1 var(--serif);letter-spacing:-.6px;margin:30px 0 20px}.article-body p{font-size:15px;line-height:1.9;color:#595b4f}.article-body p:first-child:first-letter{font:600 49px/.9 var(--serif);float:left;color:#806942;padding-right:7px;padding-top:7px}.article-source{font-size:12px;margin-top:22px;line-height:1.7}.article-source a{color:#76623b;text-underline-offset:4px}.article-end{border-top:1px solid #8b825633;margin-top:25px;padding-top:18px;display:flex;align-items:center;gap:12px}.article-end p{font-size:11px;color:#8a8777;margin:0}.page-navigation{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #8b825633;margin-top:24px;padding-top:16px;font-size:11px;color:#887c61}.page-navigation button{border:0;padding:5px 0;background:none;font-size:12px;color:#716040}dialog button:focus-visible,dialog a:focus-visible{outline-color:#806942}.is-changing .article-page{animation:page-in .55s both}@keyframes reader-in{from{opacity:0;transform:perspective(1500px) rotateX(9deg) scale(.86) translateY(30px)}to{opacity:1;transform:none}}@keyframes page-in{from{opacity:.2;transform:translateX(18px)}to{opacity:1;transform:translateX(0)}}
@media(min-width:1500px){.library-top{left:14%;right:14%}}@media(max-height:760px) and (min-width:701px){.masthead{padding:18px 0}.intro{padding-top:23px}.intro h1{font-size:49px;margin:10px 0}.library-top{top:16px}.bottom-note{padding:9px 0 13px}footer{padding:10px 0}.spread{min-height:380px}.contents-page{padding:28px}.contents-page h2{font-size:44px}.article-page{padding:26px 34px}.article-page h3{font-size:34px;margin-top:20px}}
@media(max-width:700px){.site-shell{min-height:500px}.masthead{margin:0 6%;padding:24px 0 20px}.brand{font-size:24px;gap:10px}.brand-mark{width:35px;height:43px;font-size:39px}.brand-mark>span{font-size:12px}.brand small{font-size:7px;letter-spacing:1.5px;margin-top:8px}.header-note{display:none}.about-button{font-size:11px;gap:6px}.intro{padding:40px 20px 0}.eyebrow{font-size:8px;letter-spacing:1.8px;gap:8px}h1{font-size:46px;max-width:370px;margin:18px auto 14px;line-height:1}h1 em{display:block}.intro p{font-size:11px}.library{min-height:210px}.library-top{top:27px;left:7%;right:7%;font-size:7px;letter-spacing:1px}.shelf-caption{font-size:15px;bottom:8px}.bottom-note{padding:12px 0 22px;font-size:13px}footer{padding:14px 0 18px;margin:0 6%;font-size:9px}.footer-center{display:none}footer button.text-button{font-size:9px}dialog{width:calc(100vw - 28px);max-height:calc(100svh - 36px)}.reader-toolbar{font-size:8px;letter-spacing:.9px;padding:0 3px 12px}.reader-divider{margin:0 5px}.close-button{font-size:10px;gap:7px}.spread{display:flex;flex-direction:column;height:calc(100svh - 110px);min-height:350px;box-shadow:3px 4px 0 #bcb298;overflow-y:auto;scrollbar-width:thin}.contents-page{padding:22px 25px 18px;display:block;flex:none;border:0;box-shadow:inset 0 -15px 30px -30px #403a29aa}.chapter-number{position:absolute;right:25px;top:15px;font-size:70px;color:#9b86552b}.contents-page h2{font-size:37px;margin:11px 0 8px}.contents-page p{font-size:13px;margin:0;line-height:1.6;max-width:90%}.contents-page .eyebrow{font-size:8px}.contents-bottom{display:none}.article-page{padding:24px 25px 18px;overflow:visible;flex:none}.article-meta{font-size:8px}.article-page h3{font-size:33px;margin:22px 0 17px}.article-body p{font-size:15px}.article-end p{font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Readable type and compact screens keep the shelf within one viewport. */
.intro p{font-size:14px}.text-button{font-size:14px}.article-body p{font-size:16px}.contents-page p{font-size:16px}.close-button{font-size:14px}.page-navigation button{font-size:14px}.article-source{font-size:13px}.article-end p{font-size:12px}.reader-toolbar{font-size:12px}.article-meta{font-size:11px}.contents-bottom{font-size:10px}.library-top{font-size:10px}footer{font-size:12px}footer button.text-button{font-size:12px}
@media(max-width:700px){.intro p{font-size:13px}.text-button{font-size:12px}.reader-toolbar{font-size:9px}.close-button{font-size:12px}.library-top{font-size:8px}.contents-page p{font-size:14px}.article-body p{font-size:16px}footer,footer button.text-button{font-size:10px}.article-meta{font-size:10px}}
@media(max-height:650px){.site-shell{min-height:0}.masthead{padding:12px 0}.intro{padding-top:17px}.intro h1{font-size:38px;margin:10px auto}.intro p{font-size:12px}.library{min-height:150px}.library-top{top:10px}.bottom-note{display:none}.shelf-caption{bottom:3px;font-size:14px}footer{padding:9px 0}.brand{font-size:24px}.brand-mark{height:42px;width:37px;font-size:39px}}
@media(max-height:480px){.header-note,.intro .eyebrow,.intro p,.brand small,.library-top,footer{display:none}.masthead{padding:8px 0}.brand-mark{height:30px;font-size:29px}.intro{padding:10px 0 0}.intro h1{font-size:30px;margin:0}.intro h1 em{display:inline}.shelf-caption{font-size:12px;bottom:2px}.library{min-height:0}.spread{min-height:0}}

/* Illustrated, paginated reading room. The bookshelf remains a single screen. */
dialog{max-width:1160px;width:calc(100vw - 72px)}
.spread{display:flex;flex-direction:column;height:min(740px,calc(100svh - 126px));min-height:360px;overflow:hidden;position:relative}
.reader-pages{display:grid;grid-template-columns:.92fr 1.08fr;flex:1;min-height:0;position:relative;perspective:1800px;isolation:isolate}
.contents-page{display:block;padding:25px 32px 20px;overflow:auto;scrollbar-width:thin;scrollbar-color:#b6a57e transparent}
.volume-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:11px;letter-spacing:1px;color:#8c7853}
.volume-heading .eyebrow{font-size:10px;letter-spacing:1.7px}.contents-page h2{font-size:40px;margin:12px 0 16px}
.chapter-figure{margin:0}.illustration-window{width:min(100%,290px);aspect-ratio:1;margin:0 auto;position:relative;overflow:hidden;background:#e8dfcd;border-radius:2px;box-shadow:0 3px 15px #6c614513}
.illustration-window img{position:absolute;display:block;max-width:none;width:300%;height:200%;object-fit:fill}
.chapter-figure figcaption{font:italic 15px/1.35 var(--serif);color:#746c57;text-align:center;margin:10px 0 18px;min-height:20px}
.index-label{font-size:10px;letter-spacing:1.7px;color:#8e7953;display:block;margin-bottom:6px}.chapter-index ol{padding:0;margin:0;list-style:none}
.chapter-index button{display:flex;gap:12px;align-items:baseline;width:100%;border:0;border-top:1px solid #b2a37d33;padding:8px 7px;background:none;text-align:left;font-size:12px;color:#77725f;line-height:1.35;transition:background .2s,color .2s}
.chapter-index button>span:first-child{font-family:var(--serif);font-size:17px;color:#9d8c66;min-width:18px}
.chapter-index button[aria-current=page]{background:#a38b5114;color:#383d2e}.chapter-index button[aria-current=page]>span:first-child{color:#665431}
.volume-navigation{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding-top:12px;border-top:1px solid #b2a37d55;gap:8px;font-size:11px;color:#9c8963}
.volume-navigation button{font-size:12px;border:0;background:none;color:#786547;padding:4px 0}.volume-navigation button:disabled{opacity:.35}
.article-page{padding:31px 38px 26px;min-height:0}.article-meta{font-size:10px;line-height:1.6;gap:12px;letter-spacing:1.3px}.article-page h3{font-size:39px;margin:25px 0 19px;outline:none}
.article-body p{font-size:16px;line-height:1.8;margin:0 0 16px}.article-body p:first-child:first-letter{font-size:45px;padding-top:6px}
.takeaway{background:#a3915920;border-left:2px solid #a68d5a;padding:14px 16px;margin:22px 0}.takeaway>span{font-size:10px;letter-spacing:1.7px;color:#857249}.takeaway p{font:500 21px/1.3 var(--serif);color:#55583f;margin:7px 0 0}
.article-source{font-size:12px;margin-top:20px;line-height:1.6}.source-label{display:block;font-size:9px;letter-spacing:1.4px;color:#8b7c5d;margin-bottom:6px}.article-source a{display:block;margin-bottom:5px}.article-end{margin-top:20px;padding-top:14px}.article-end p{font-size:11px;line-height:1.65}
.reader-pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #a597722b;padding:13px 32px;background:#e9e0cc;flex:none;position:relative;z-index:4;box-shadow:0 -4px 18px #4b3a2206}
.reader-pagination>div{text-align:center;min-width:80px}.reader-pagination button{border:1px solid #a6977255;border-radius:2px;padding:10px 16px;background:#fbf8ef88;color:#645332;font-size:13px;min-height:40px}.reader-pagination button:hover:not(:disabled){background:#d8c9a555}.reader-pagination button:disabled{opacity:.35}.reader-pagination #page-number{font:20px var(--serif);color:#786642}.page-count-label{font:8px var(--sans);letter-spacing:2px;display:block;margin-top:3px;color:#98815a}
.turn-sheet{position:absolute;inset:0 0 0 auto;width:54%;background:linear-gradient(90deg,#c8b78e,#f4edde 10%,#eae2ce 80%,#d2c4a6);transform-origin:left center;pointer-events:none;opacity:0;z-index:3;box-shadow:-10px 0 24px #67552c25;backface-visibility:hidden}
.turning-next .turn-sheet{animation:turn-next .68s ease-in-out both}.turning-previous .turn-sheet{animation:turn-previous .68s ease-in-out both}.turning-next .chapter-figure,.turning-previous .chapter-figure{animation:art-reveal .68s ease both}
@keyframes turn-next{0%{opacity:0;transform:rotateY(0)}15%{opacity:1}75%{opacity:.8;transform:rotateY(-155deg)}100%{opacity:0;transform:rotateY(-179deg)}}
@keyframes turn-previous{0%{opacity:0;transform:rotateY(-170deg)}25%{opacity:.9}80%{opacity:.5;transform:rotateY(-10deg)}100%{opacity:0;transform:none}}
@keyframes art-reveal{0%,100%{opacity:1}30%{opacity:.1}70%{opacity:1}}
@media(max-height:800px) and (min-width:701px){.contents-page{padding:20px 26px 16px}.contents-page h2{font-size:35px;margin:8px 0 10px}.illustration-window{width:min(100%,215px)}.chapter-figure figcaption{font-size:14px;margin:8px 0 12px}.chapter-index button{padding:6px}.volume-navigation{margin-top:10px;padding-top:8px}.article-page{padding:23px 30px}.article-page h3{font-size:35px;margin:18px 0}.article-body p{font-size:16px;line-height:1.7}.reader-pagination{padding:10px 26px}}
@media(max-width:700px){dialog{width:calc(100vw - 24px)}.spread{height:calc(100svh - 102px);min-height:240px;overflow:hidden}.reader-pages{display:block;overflow-y:auto;scrollbar-width:thin;perspective:none}.contents-page{padding:23px 23px 20px;overflow:visible}.volume-heading .eyebrow{font-size:9px}.volume-heading{font-size:10px}.contents-page h2{font-size:36px;margin:12px 0 18px}.illustration-window{width:min(100%,310px)}.chapter-figure figcaption{font-size:16px;margin:12px 0 22px}.chapter-index button{font-size:13px;padding:10px 6px}.volume-navigation{margin-top:18px;padding-top:14px}.volume-navigation button{font-size:12px}.article-page{overflow:visible;padding:28px 24px 25px}.article-page h3{font-size:36px}.article-meta{font-size:10px}.article-body p{font-size:16px;line-height:1.8}.reader-pagination{padding:10px 12px;gap:6px}.reader-pagination button{font-size:12px;padding:9px 11px}.reader-pagination>div{min-width:65px}.reader-pagination #page-number{font-size:19px}.turn-sheet{display:none}.turning-next .article-page,.turning-previous .article-page{animation:art-reveal .68s ease both}.article-end p{font-size:11px}.contents-page .eyebrow{font-size:9px}}
@media(max-height:480px){.spread{height:calc(100svh - 76px);min-height:0}.reader-toolbar{padding-bottom:8px}.reader-pagination{padding:6px 16px}.reader-pagination button{min-height:32px;padding:6px 12px}}
@media(prefers-reduced-motion:reduce){.turn-sheet{display:none}.turning-next .chapter-figure,.turning-previous .chapter-figure{animation:none}}

/* A worn medical manuscript wall, lit like a quiet private library. */
.site-shell{position:relative;isolation:isolate;background:linear-gradient(180deg,#111a16a6,#18201b66 38%,#121b16bd),url('./assets/medical-wallpaper.png') center/cover;transition:filter .85s,transform .85s}
.site-shell::before,.site-shell::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:-1}
.site-shell::before{background:radial-gradient(ellipse at 50% 38%,#14201999 0,transparent 65%),linear-gradient(180deg,#0c151955,transparent 30%,#0c161dcc);box-shadow:inset 0 0 140px 35px #0b110dbb}
.site-shell::after{inset:-20%;background:linear-gradient(115deg,transparent 26%,#ffdfa51c 32%,#ffdda609 38%,transparent 44%,#ffdd9e13 49%,transparent 54%);transform-origin:25% 0;animation:library-light 18s ease-in-out infinite alternate;mix-blend-mode:screen}
.intro h1{text-shadow:0 3px 25px #07100ceb}.intro p,.header-note{color:#d0cbb9;text-shadow:0 1px 8px #101911}.library-top{color:#c2b89c;text-shadow:0 2px 8px #000}.light-pool{background:radial-gradient(ellipse at 35% 15%,#edc48a30,transparent 68%);filter:blur(12px)}
@keyframes library-light{from{opacity:.55;transform:rotate(-3deg) translateX(-1%)}to{opacity:.95;transform:rotate(2deg) translateX(1%)}}
dialog[open]{animation-duration:.95s}.reader-pages{perspective:2400px}.turn-sheet{width:54%;border-radius:0 5px 6px 0;overflow:hidden;backface-visibility:visible;transform-style:preserve-3d;background:#eee7d6;box-shadow:12px 8px 30px #33261230}
.turn-sheet>.article-page{height:100%;overflow:hidden;background:#eee7d6;backface-visibility:hidden}
.turn-sheet::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#42301533,transparent 12%,#fff8dc12 65%,#59402026);pointer-events:none}
.turning-next .turn-sheet{animation:paper-forward 1.1s cubic-bezier(.3,.05,.2,1) both}
.turning-previous .turn-sheet{transform-origin:right center;animation:paper-backward 1.1s cubic-bezier(.3,.05,.2,1) both}
.turning-next .chapter-figure,.turning-previous .chapter-figure{animation:soft-reveal 1.1s ease both}
.turning-next .reader-pages>.article-page,.turning-previous .reader-pages>.article-page{animation:soft-reveal 1.1s ease both}
@keyframes paper-forward{0%{opacity:1;transform:rotateY(0) translateZ(1px)}42%{opacity:1;transform:rotateY(-78deg) rotateZ(-1deg) translateZ(25px)}80%{opacity:.8}100%{opacity:0;transform:rotateY(-178deg) translateZ(1px)}}
@keyframes paper-backward{0%{opacity:1;transform:rotateY(0) translateZ(1px)}42%{opacity:1;transform:rotateY(78deg) rotateZ(1deg) translateZ(25px)}100%{opacity:0;transform:rotateY(178deg) translateZ(1px)}}
@keyframes soft-reveal{0%{opacity:1}40%,47%{opacity:0}100%{opacity:1}}
@media(max-width:700px){.site-shell{background-position:42% center}.site-shell::before{box-shadow:inset 0 0 90px #0b110d88}.turn-sheet{display:none}.turning-next .reader-pages>.article-page,.turning-previous .reader-pages>.article-page{animation:soft-reveal 1.1s ease both}}
@media(prefers-reduced-motion:reduce){.site-shell::after{animation:none;opacity:.7}dialog[open]{animation:none}.turn-sheet{display:none}}

/* Wall-mounted bronze candleholders: only the flame and its light move. */
.wall-candles{position:absolute;inset:0;pointer-events:none;z-index:1;overflow:hidden}
.sconce{position:absolute;top:41%;width:90px;height:190px;--flicker:7.3s;--delay:-1.8s}
.sconce-left{left:6%}.sconce-right{right:6%;--flicker:9.1s;--delay:-5s}
.sconce span{position:absolute;display:block}
.sconce-plate{left:29px;top:50px;width:32px;height:126px;border-radius:50%;background:linear-gradient(90deg,#211b11,#73542c 30%,#aa8247 46%,#443019 66%,#21190e);border:2px solid #917044;box-shadow:5px 7px 12px #0009,inset 0 0 0 4px #2b231b,inset 0 0 12px #000}
.sconce-arm{left:42px;top:102px;width:32px;height:57px;border:7px solid #805c31;border-top:0;border-left:0;border-radius:0 0 25px 0;box-shadow:3px 4px 4px #0007;transform:rotate(-14deg)}
.candle-cup{left:16px;top:101px;width:61px;height:18px;border-radius:15% 15% 50% 50%;background:linear-gradient(#d1a76a,#74522b 35%,#372614 80%);box-shadow:0 5px 9px #0007;border-top:2px solid #d3ad70}
.wax-candle{left:37px;top:28px;width:19px;height:75px;border-radius:45% 40% 12% 12%/5% 5% 4% 4%;background:linear-gradient(90deg,#a78b5c,#f6e3ae 40%,#dfc68c 65%,#9b7845);box-shadow:2px 3px 6px #0005}
.wax-candle::before{content:'';position:absolute;top:0;left:1px;width:17px;height:7px;border-radius:50%;background:radial-gradient(#372114 10%,#be9c5d 30%,#fff0b6 75%)}
.wax-candle::after{content:'';position:absolute;left:3px;top:3px;width:4px;height:29px;border-radius:0 0 7px 6px;background:#f2dfae;box-shadow:8px -2px 0 -1px #e3cd96}
.candle-flame{left:39px;top:0;width:15px;height:31px;border-radius:65% 35% 48% 48%;transform-origin:50% 100%;background:radial-gradient(ellipse at 50% 85%,#a1bcec 0 5%,#fffbe0 22%,#ffe59a 45%,#efa332 75%,#de6b0800 100%);box-shadow:0 -2px 9px #ffdc8bc9,0 0 23px #ee98297d;animation:flame-draft var(--flicker) ease-in-out var(--delay) infinite}
.candle-halo{left:-190px;top:-195px;width:475px;height:480px;border-radius:50%;background:radial-gradient(ellipse at 50% 48%,#ffd1844d 0,#eea14d25 22%,#db843014 43%,transparent 69%);mix-blend-mode:screen;animation:candle-breathe var(--flicker) ease-in-out var(--delay) infinite;transform-origin:50% 48%}
@keyframes flame-draft{0%,28%,50%,100%{transform:rotate(-2deg) scale(1,1);opacity:.95}30%{transform:skewX(-9deg) rotate(8deg) scale(.88,1.08);opacity:.88}34%{transform:skewX(7deg) rotate(-6deg) scale(1.04,.94)}39%{transform:rotate(3deg) scale(.95,1.04)}72%{transform:rotate(-3deg)}75%{transform:skewX(11deg) rotate(-9deg) scale(.85,.92);opacity:.82}81%{transform:rotate(4deg) scale(1.03,1.06)}}
@keyframes candle-breathe{0%,28%,50%,100%{opacity:.85;transform:scale(1)}30%{opacity:.65;transform:scale(.97,1.03)}34%{opacity:.95;transform:scale(1.03,.98)}39%{opacity:.78;transform:scale(.99)}72%{opacity:.86}75%{opacity:.62;transform:scale(.95,1.02)}81%{opacity:.94;transform:scale(1.025)}}
/* A narrow rolled edge grows as the paper lifts, then relaxes as it lands. */
.turn-sheet::before{content:'';position:absolute;right:0;top:0;bottom:0;width:0;z-index:2;background:linear-gradient(90deg,transparent,#80644030 16%,#c7b58c 42%,#fff6dd 72%,#ad9469);border-radius:60% 0 0 45%/8% 0 0 9%;box-shadow:-8px 0 20px #51371822;pointer-events:none}
.turning-next .turn-sheet::before,.turning-previous .turn-sheet::before{animation:curl-edge 1.1s cubic-bezier(.3,.05,.2,1) both}
.turning-previous .turn-sheet::before{right:auto;left:0;transform:scaleX(-1)}
@keyframes curl-edge{0%,100%{width:0;opacity:0}18%{width:5%;opacity:.7}42%,58%{width:15%;opacity:1}85%{width:4%;opacity:.6}}
@keyframes paper-forward{0%{opacity:1;transform:rotateY(0) translateZ(1px);border-radius:0 5px 6px 0}20%{border-radius:0 14% 19% 0/0 4% 6% 0;transform:rotateY(-18deg) skewY(-1.5deg) translateZ(12px)}42%{opacity:1;transform:rotateY(-78deg) skewY(-3deg) rotateZ(-1deg) translateZ(35px);border-radius:0 23% 30% 0/0 5% 8% 0}80%{opacity:.8}100%{opacity:0;transform:rotateY(-178deg) translateZ(1px);border-radius:0 5px 6px 0}}
@keyframes paper-backward{0%{opacity:1;transform:rotateY(0) translateZ(1px);border-radius:5px 0 0 6px}20%{border-radius:14% 0 0 19%/4% 0 0 6%;transform:rotateY(18deg) skewY(1.5deg) translateZ(12px)}42%{opacity:1;transform:rotateY(78deg) skewY(3deg) rotateZ(1deg) translateZ(35px);border-radius:23% 0 0 30%/5% 0 0 8%}100%{opacity:0;transform:rotateY(178deg) translateZ(1px);border-radius:5px 0 0 6px}}
@media(max-width:900px){.sconce-left{left:1%}.sconce-right{right:1%}.sconce{transform:scale(.75);transform-origin:center top}}
@media(max-width:550px){.sconce{top:35%;transform:scale(.43)}.sconce-left{left:-20px}.sconce-right{right:-20px}}
@media(prefers-reduced-motion:reduce){.candle-flame,.candle-halo{animation:none}.turn-sheet::before{animation:none}}
.room-audio{display:flex;align-items:center;gap:10px;flex-shrink:0;letter-spacing:0}.room-audio button{border:1px solid #b89c6355;border-radius:30px;padding:8px 13px;background:#191d17b3;color:#d5c29a;font:12px var(--sans);min-height:34px}.room-audio button[aria-pressed=true]{box-shadow:0 0 15px #d4a65015;border-color:#b89c6399}.room-audio input{width:65px;accent-color:#bfa16b;cursor:pointer}.reader-toolbar{flex-wrap:wrap}.reader-toolbar .room-audio{margin-left:auto}.reader-toolbar .close-button{order:3;margin-left:12px}
.candle-flame{rotate:var(--draft-angle,0deg);scale:1 var(--draft-scale,1);transition:rotate .22s ease-out,scale .3s ease-out}
.library-link{color:#d5c29a;font:12px var(--sans);text-decoration:none;text-underline-offset:4px}.library-link:hover{text-decoration:underline}#book-views{font:11px var(--sans);color:#bbb39b}.reader-toolbar{gap:12px}
.candle-halo{translate:var(--draft-shift,0px) 0;filter:brightness(var(--draft-glow,1));transition:translate .4s ease-out,filter .35s ease-out}
@media(prefers-reduced-motion:reduce){.candle-flame{rotate:none;scale:none}.candle-halo{translate:none;filter:none}}
@media(max-width:700px){footer{flex-wrap:wrap;justify-content:center;padding:9px 0;gap:8px 16px}footer .footer-center{display:none}.room-audio button{font-size:11px;padding:6px 10px}.reader-toolbar .room-audio{margin-left:0}.reader-toolbar{gap:8px}.reader-toolbar .close-button{margin-left:auto}.room-audio input{width:52px}}
