@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Noto+Serif+SC:wght@400;500;600;700;800&display=swap');
:root{--forest:#102f2b;--dark:#08221f;--gold:#d9bd80;--cream:#f3e8ca;--ink:#3c4030;--serif:'Noto Serif SC','Songti SC',serif;--roman:'Cormorant Garamond',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--forest);color:var(--cream);font:16px/1.8 Arial,'Microsoft YaHei',sans-serif;background-image:radial-gradient(ellipse at 50% 10%,#426b4f65,transparent 55%),repeating-linear-gradient(45deg,transparent 0 39px,#e7cc9206 40px,transparent 41px 79px),repeating-linear-gradient(-45deg,transparent 0 39px,#e7cc9206 40px,transparent 41px 79px)}body:before{content:'';position:absolute;inset:12px;border:1px solid #bf9d5752;pointer-events:none;z-index:1}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid #df934e;outline-offset:5px}button:disabled{cursor:default}.skip{position:fixed;left:20px;top:-80px;padding:10px;background:var(--cream);color:var(--forest);z-index:100}.skip:focus{top:15px}.ambient{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:3}.ambient i{position:absolute;width:3px;height:3px;background:#ffe4a1;border-radius:50%;box-shadow:0 0 10px 3px #ffda7760;animation:firefly var(--duration) var(--delay) ease-in-out infinite}.grain{position:fixed;inset:0;pointer-events:none;opacity:.11;background-image:repeating-radial-gradient(circle at 30% 40%,transparent 0,#ffe2a0 1px,transparent 2px,transparent 4px);background-size:7px 7px;z-index:4;mix-blend-mode:soft-light}header{position:relative;z-index:5;max-width:1500px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:25px 5%;border-bottom:1px solid #c7ac6e3b;gap:30px}.brand{display:flex;align-items:center;gap:16px;font:600 24px var(--serif);letter-spacing:3px}.brand-sigil{font:italic 45px var(--roman);width:52px;height:62px;display:grid;place-items:center;border:1px solid #b69b64;outline:1px solid #b69b6450;outline-offset:4px;border-radius:50% 50% 4px 4px;color:var(--gold)}.brand small{display:block;font:10px/1.8 var(--roman);letter-spacing:2.6px;margin-top:7px;color:var(--gold)}nav{display:flex;gap:36px;font-size:14px;letter-spacing:2px}nav a{padding:8px 0;position:relative}nav a:after{content:'';position:absolute;bottom:0;left:50%;right:50%;height:1px;background:var(--gold);transition:.2s}nav a:hover:after{left:0;right:0}.header-seal{border:1px solid #b89a60;padding:10px 22px;font-size:14px;color:var(--gold)}.header-seal span{padding-left:25px}.grimoire-section{position:relative;max-width:1480px;margin:auto;padding:28px 65px 0;text-align:center}.title-ornament{color:var(--gold);font-size:21px;letter-spacing:10px;line-height:1.3;margin-bottom:9px}.eyebrow{font:600 12px/1.6 var(--roman);letter-spacing:3px;color:var(--gold)}h1{font:600 clamp(36px,4.1vw,58px)/1.5 var(--serif);letter-spacing:10px;margin:5px 0 0;text-shadow:0 2px 25px #b9a06b30}h1 span{color:var(--gold)}.intro{font:14px/1.7 var(--serif);color:#d5cfaf;letter-spacing:4px;margin:10px 0 22px}.book-stage{position:relative;max-width:1090px;margin:auto;padding:0 17px}.book-topline,.book-bottomline{display:flex;justify-content:space-between;font-size:11px;letter-spacing:2px;color:#c3b383;padding:0 12px 12px}.book-topline span:last-child{font-family:var(--roman)}.book-bottomline{padding:16px 10px 0;font-size:12px;letter-spacing:1px}.side-inscription{position:absolute;top:50%;writing-mode:vertical-rl;font:11px var(--roman);letter-spacing:4px;color:#9eaa84}.left-inscription{left:-25px;transform:translateY(-50%) rotate(180deg)}.right-inscription{right:-25px;transform:translateY(-50%)}.book{position:relative;perspective:2400px;border:8px solid #563d25;border-radius:6px;box-shadow:0 0 0 1px #c8a75e,0 0 0 4px #2b211b,0 0 0 5px #b7944d,0 8px 0 -1px #c7b68b,0 10px 0 0 #6d5940,0 13px 0 -1px #e6d7ab,0 16px 0 0 #37291c,0 30px 70px #001511d9,0 0 100px #d4c58515;text-align:left;background:#e9d8ac;--character:#607447}.spread{display:grid;grid-template-columns:1fr 1fr;position:relative;transform-style:preserve-3d;min-height:590px}.leaf{position:relative;min-width:0;background-color:#f2e6c6;background-image:radial-gradient(ellipse at 10% 30%,#b38c3930,transparent 70%),repeating-linear-gradient(0deg,#a5894804 0 1px,transparent 1px 4px);color:var(--ink);padding:21px 31px 19px;display:flex;flex-direction:column}.leaf:before{content:'';position:absolute;inset:11px;border:1px solid #ac915b70;pointer-events:none}.leaf:after{content:'';position:absolute;inset:15px;border:1px solid #ac915b30;pointer-events:none}.portrait-page{background-image:linear-gradient(90deg,transparent 90%,#61482630 99%,#3e301846),radial-gradient(ellipse at 20% 30%,#b38c3925,transparent 70%)}.bio-page{background-image:linear-gradient(90deg,#4a36163b,transparent 9%),radial-gradient(ellipse at 90% 80%,#b38c3925,transparent 70%)}.corner{position:absolute;color:#977943;font-size:24px;z-index:2;line-height:1;pointer-events:none}.top-left{top:12px;left:13px}.top-right{top:12px;right:13px;transform:scaleX(-1)}.bottom-left{bottom:12px;left:13px;transform:scaleY(-1)}.bottom-right{bottom:12px;right:13px;transform:scale(-1)}.leaf-heading,.leaf-footer{display:flex;justify-content:space-between;font:11px/1.5 var(--roman);letter-spacing:1.6px;color:#827346;padding:3px 9px;gap:10px}.leaf-footer{margin-top:auto;padding-top:14px;font-size:10px}.portrait-button{position:relative;display:block;width:100%;flex:1;margin:15px 0 0;padding:10px 10px 0;border:0;background:none;color:var(--ink);min-height:478px}.portrait-frame{position:absolute;inset:0 5px 54px;border:4px double #af8a4e;outline:1px solid #b5915266;outline-offset:4px;overflow:hidden;border-radius:43% 43% 0 0;background:#203f35}.portrait-frame img{width:100%;height:100%;object-fit:cover;object-position:center 30%;display:block;transition:transform .7s,filter .7s}.portrait-button:hover img{transform:scale(1.045);filter:brightness(1.07)}.portrait-shine{position:absolute;inset:0;background:linear-gradient(110deg,transparent 20%,#fff5d530 45%,transparent 70%);transform:translateX(-120%);transition:transform .9s}.portrait-button:hover .portrait-shine{transform:translateX(120%)}.portrait-badge{position:absolute;right:-8px;bottom:36px;border:4px double #e1c78c;outline:3px solid #804431;border-radius:50%;width:65px;height:65px;display:grid;place-items:center;background:#7b3e30;color:#f3d69b;font-size:31px;box-shadow:2px 4px 8px #33220a60;transform:rotate(12deg);z-index:2}.portrait-caption{position:absolute;bottom:0;left:0;width:100%;text-align:center;font:500 27px var(--roman);letter-spacing:7px;line-height:1.1}.portrait-caption small{display:block;font:11px/1.5 var(--serif);letter-spacing:2px;margin-top:9px;color:#786847}.spine{position:absolute;top:0;bottom:0;left:calc(50% - 11px);width:22px;background:linear-gradient(90deg,transparent,#4d351133 40%,#2b200836 49%,#fef5d84a 54%,transparent);pointer-events:none;z-index:4}.bio-content{padding:24px 15px 10px;display:flex;flex-direction:column;flex:1}.character-title{font:13px/1.7 var(--serif);letter-spacing:3px;color:#7f6d48}.name-row{display:flex;align-items:baseline;gap:20px;margin:6px 0 0}.name-row h2{font:600 61px/1.5 var(--serif);letter-spacing:7px;margin:0}.name-row>span{font:italic 28px var(--roman);color:#998053}.name-rule{display:flex;align-items:center;gap:16px;font-size:22px;color:#a58a50;margin:3px 0 15px}.name-rule span{height:1px;background:#af955f70;flex:1}blockquote{font:500 18px/1.9 var(--serif);margin:0 0 14px;color:#5d6347}.bio-intro{font-size:16px;line-height:1.95;margin:0;color:#67674f}.character-tags{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0}.character-tags span{border:1px solid #a699705e;padding:3px 9px;font-size:12px;color:#6c704f;background:#e4dfbd42}.quick-facts{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #b6a2735c;border-bottom:1px solid #b6a2735c;padding:11px 0;margin:0 0 22px;gap:12px}.quick-facts dt{font-size:12px;color:#8d7951}.quick-facts dd{font:14px/1.8 var(--serif);margin:4px 0 0}.detail-button{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid #a98a4b;background:var(--forest);color:#f0ddaa;font:14px/1.6 var(--serif);padding:14px 17px;box-shadow:inset 0 0 0 3px var(--forest),inset 0 0 0 4px #b3985c70;transition:background .2s,box-shadow .2s;margin-top:auto}.detail-button:hover{background:#315746;box-shadow:0 3px 14px #23372945,inset 0 0 0 3px #315746,inset 0 0 0 4px #b3985c}.detail-button span{font-size:21px}.sample-note{font-size:12px!important;line-height:1.7!important;color:#8a7854!important;margin:10px 0 0}.book-controls{display:flex;justify-content:center;align-items:center;gap:65px;margin-top:27px}.turn-button{border:1px solid #ac925862;color:var(--gold);background:#163b31;padding:10px 24px;font:14px/1.6 var(--serif);min-width:125px;transition:.25s}.turn-button:hover:not(:disabled){background:#486044;box-shadow:0 0 22px #d8b76122}.turn-button:disabled{opacity:.3}.turn-button>span{padding:0 8px;font:20px Arial}.pagination{text-align:center;min-width:180px}.page-tabs{display:flex;align-items:center;justify-content:center;gap:12px}.page-tabs button{font:20px var(--roman);color:#b3b794;border:0;border-bottom:1px solid transparent;background:transparent;padding:4px 10px}.page-tabs button[aria-pressed=true]{color:#ffe1a0;border-bottom-color:var(--gold)}.page-tabs>span{color:#958b5d}#page-status{font-size:12px;color:#b9bea0;letter-spacing:2px}.keyboard-hint{font-size:12px;color:#92a88d;margin:12px 0 0}.keyboard-hint span{margin:0 12px;color:#b8a571}.flipping-leaf{position:absolute;top:0;bottom:0;width:50%;z-index:10;transform-style:preserve-3d;pointer-events:none}.flipping-leaf.forward{left:50%;transform-origin:left center}.flipping-leaf.backward{left:0;transform-origin:right center}.flip-front,.flip-back{position:absolute;inset:0;backface-visibility:hidden;transform-style:preserve-3d;overflow:hidden;box-shadow:0 0 30px #35230420}.flip-front{transform:rotateY(0deg)}.flip-back{transform:rotateY(180deg)}.flipping-leaf .leaf{height:100%}.flipping-leaf:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#3b281218,transparent 30%,#3b281220);pointer-events:none}.turning .portrait-button{pointer-events:none}.turn-spark{position:absolute;z-index:12;top:65%;color:#ffdfa0;font-size:17px;pointer-events:none;animation:burst 1.1s ease-out forwards}.chapter-divider{display:flex;justify-content:center;align-items:center;gap:25px;color:var(--gold);font-size:32px;margin:60px auto;max-width:700px}.chapter-divider span{height:1px;flex:1;background:linear-gradient(90deg,transparent,#b49b6455,transparent)}.story{display:grid;grid-template-columns:1.1fr 1fr;gap:75px;align-items:center;max-width:1160px;margin:0 auto;padding:0 35px}.story-picture{position:relative;aspect-ratio:1.13;border:1px solid #c6a766;padding:10px;outline:1px solid #b4995740;outline-offset:7px}.story-picture img{width:100%;height:100%;object-fit:cover;filter:brightness(.8)}.story-picture>span{position:absolute;bottom:50px;left:30px;color:#fff1c3;font:italic 25px var(--roman);letter-spacing:2px;text-shadow:0 1px 6px black}.story-picture small{position:absolute;bottom:23px;left:30px;font-size:12px;color:#efe3bc;text-shadow:0 1px 6px black}.story-copy h2{font:500 35px/1.7 var(--serif);margin:15px 0;color:#e7dfbd}.story-copy h2 em{font-style:normal;color:var(--gold)}.small-ornament{color:var(--gold);letter-spacing:6px;font-size:24px}.story-copy p{color:#b9c5ab;font-size:16px;line-height:2}.story-signature{font:italic 30px var(--roman);color:var(--gold);transform:rotate(-5deg);margin:23px 0 0 30px}.visit{max-width:1090px;margin:100px auto 0;background:#e9ddba;color:var(--ink);padding:45px 55px 30px;position:relative;border:7px solid #1c382b;outline:1px solid #b59b66;box-shadow:0 18px 40px #001b1766;text-align:center;background-image:repeating-linear-gradient(0deg,transparent 0 3px,#847c3805 3px 4px)}.visit:before{content:'';position:absolute;inset:13px;border:1px solid #af956a70;pointer-events:none}.visit .eyebrow{color:#897142}.visit h2{font:500 35px/1.6 var(--serif);letter-spacing:4px;margin:12px 0}.visit h2 span{color:#6e7950}.visit-heading>p{font:14px var(--serif);color:#7a7a60}.visit-details{display:grid;grid-template-columns:repeat(3,1fr);margin:35px 0 0;gap:24px}.visit-details>div+div{border-left:1px solid #b59b6655}.visit-details span{font:14px var(--serif);color:#907744}.visit-details p{font-size:16px}.visit-note{font-size:12px;color:#8b7d5c;margin-top:25px}footer{text-align:center;padding:48px 20px 35px}.footer-flourish{font-size:28px;color:var(--gold);letter-spacing:20px;margin-bottom:15px}footer>a{font:500 25px var(--serif);letter-spacing:5px}footer>p{font:italic 17px var(--roman);color:#b4ba95}footer>small{font-size:12px;color:#93a48c}.modal-open{overflow:hidden}dialog{padding:0;border:5px double #b99a5d;background:#f0e5c7;color:var(--ink);width:min(1000px,calc(100% - 40px));max-height:90dvh;overflow:auto;box-shadow:0 30px 120px #0009}dialog[open]{animation:unseal .4s ease-out}dialog::backdrop{background:#041a17d9;backdrop-filter:blur(8px)}.close{position:sticky;float:right;right:12px;top:12px;margin:12px 12px -56px 0;z-index:5;background:#13352c;color:#f4dfaa;border:1px solid #c7a465;width:42px;height:42px;font:29px Arial}.close:hover{background:#5c4030}#profile-content{display:grid;grid-template-columns:40% 60%}.profile-art{position:sticky;top:0;height:650px;max-height:88dvh;min-height:500px;background:#153a2e;overflow:hidden}.profile-art img{width:100%;height:100%;object-fit:cover}.profile-art:after{content:'';position:absolute;inset:12px;border:1px solid #f4db9b99;pointer-events:none}.profile-art>div{position:absolute;bottom:0;left:0;right:0;text-align:center;padding:65px 15px 30px;background:linear-gradient(transparent,#071c18ed);font:45px var(--roman);letter-spacing:7px;color:var(--gold)}.profile-art small{display:block;font:12px var(--roman);letter-spacing:2px;margin-top:12px}.profile-text{padding:42px 42px 35px;background-image:repeating-linear-gradient(0deg,transparent 0 3px,#847c3805 3px 4px)}.profile-text .eyebrow{color:#967d47;font-size:12px;letter-spacing:2px}.profile-text .character-title{margin:25px 0 0}.profile-text h2{font:600 50px/1.5 var(--serif);margin:5px 0 10px}.profile-text h2 span{font-size:35px;color:#a3874c}.profile-text h3{font:600 18px var(--serif);margin:24px 0 12px}.profile-text p{font-size:16px;line-height:1.95;color:#62674d}.profile-facts{border-block:1px solid #a18c5155;padding:12px 0}.profile-facts>div{display:grid;grid-template-columns:85px 1fr;gap:12px;margin:12px 0;font-size:14px}.profile-facts dt{color:#95804d}.profile-facts dd{margin:0}.letter{border:1px solid #aa93524d;background:#e6d8b050;padding:0 22px 20px}.letter>span{display:block;text-align:right;font:italic 16px var(--serif);color:#7d7754}@keyframes firefly{0%,100%{opacity:.1;transform:translate(0,0)}40%{opacity:.8}60%{transform:translate(25px,-60px);opacity:.5}}@keyframes burst{0%{opacity:0;transform:translate(0,0) scale(.3)}20%{opacity:1}100%{opacity:0;transform:translate(var(--x),var(--y)) rotate(100deg) scale(.1)}}@keyframes unseal{from{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:none}}
@media(min-width:1500px){.grimoire-section{padding-top:38px}.intro{margin-bottom:30px}.spread{min-height:625px}.portrait-button{min-height:515px}.bio-content{padding-top:35px}.quick-facts{margin-top:5px;margin-bottom:27px}}
@media(max-width:1050px){header{padding:24px 4%;gap:15px}.brand{font-size:21px}.header-seal{display:none}nav{gap:23px}.grimoire-section{padding-inline:45px}.book-stage{padding-inline:0}.leaf{padding:20px 23px 17px}.bio-content{padding:19px 8px 8px}.name-row h2{font-size:49px}.character-title{letter-spacing:1px}.spread{min-height:600px}.portrait-button{min-height:490px}.portrait-frame{inset:0 0 65px}.portrait-badge{right:-9px}.leaf-heading{font-size:10px;letter-spacing:1px}.story{gap:38px}.story-copy h2{font-size:28px}.visit{margin-inline:35px}.profile-text{padding:35px 30px}}
@media(max-width:700px){body:before{inset:6px}header{padding:23px 23px 18px;flex-wrap:wrap;justify-content:center;gap:18px}.brand{font-size:23px}.brand-sigil{height:49px;width:42px;font-size:37px}nav{width:100%;justify-content:center;gap:35px;font-size:14px}.grimoire-section{padding:24px 22px 0}.title-ornament{font-size:17px}.eyebrow{font-size:12px;letter-spacing:2px}h1{font-size:35px;letter-spacing:5px}.intro{font-size:14px;letter-spacing:2px;margin-bottom:23px}.side-inscription{display:none}.book-topline{font-size:11px;padding-inline:4px;letter-spacing:1px}.book-topline span:last-child{font-size:10px}.book{border-width:5px;perspective:1800px}.spread{display:block;min-height:0;transform-origin:center center}.portrait-page{min-height:450px;padding-bottom:12px;background-image:radial-gradient(ellipse at 20% 30%,#b38c3925,transparent 70%)}.portrait-button{min-height:370px;flex:initial}.portrait-frame{inset:0 14px 55px}.portrait-frame img{object-position:center 25%}.portrait-badge{right:5px;bottom:38px;width:55px;height:55px;font-size:27px}.portrait-caption{font-size:25px}.portrait-page .leaf-footer{display:none}.bio-page{background-image:linear-gradient(#795b1210,transparent 20%);border-top:1px solid #b89c5b4f;padding:22px 28px 17px}.bio-page:before{border-top:0;inset:0 11px 11px}.bio-page:after{border-top:0;inset:0 15px 15px}.bio-page>.leaf-heading{display:none}.bio-page>.top-left,.bio-page>.top-right{display:none}.bio-content{padding:0 5px 10px}.name-row{justify-content:center;gap:16px}.name-row h2{font-size:44px}.character-title{text-align:center;font-size:14px}.name-rule{margin:0 0 8px;font-size:18px}.bio-page blockquote{text-align:center;font-size:16px;margin:0 0 10px}.bio-intro{font-size:16px;line-height:1.9}.character-tags{justify-content:center;margin:14px 0}.quick-facts{padding:10px 0;margin-bottom:16px}.detail-button{font-size:14px}.sample-note{text-align:center}.spine{display:none}.book-bottomline{flex-direction:column;gap:3px;align-items:center;font-size:12px;padding-top:19px}.book-controls{gap:12px;margin-top:18px}.turn-button{min-width:90px;padding:9px 7px;font-size:14px}.turn-button>span{padding:0 4px;font-size:16px}.pagination{min-width:130px}.page-tabs{gap:4px}.page-tabs button{font-size:19px;padding:4px 7px}.chapter-divider{margin:42px 25px}.story{grid-template-columns:1fr;padding:0 30px;gap:30px}.story-picture{aspect-ratio:1.1}.story-copy{padding:0 2px}.story-copy h2{font-size:30px}.visit{margin:60px 23px 0;padding:30px 25px 22px}.visit h2{font-size:25px;letter-spacing:2px}.visit-heading>p{font-size:14px;line-height:1.8}.visit-details{grid-template-columns:1fr;gap:13px;margin-top:25px}.visit-details>div+div{border-left:0;border-top:1px solid #b59b6655;padding-top:13px}.visit-details p{margin:8px 0}footer{padding-top:35px}footer>small{display:block;line-height:1.8}#profile-content{grid-template-columns:1fr}.profile-art{position:relative;height:360px;min-height:0;max-height:none}.profile-art img{object-position:center 25%}.profile-art>div{padding-bottom:20px;font-size:30px}.profile-text{padding:28px 24px}.profile-text h2{font-size:43px}.profile-text .character-title{text-align:left;margin-top:18px}.profile-facts>div{grid-template-columns:72px 1fr;gap:8px}dialog{width:calc(100% - 26px);max-height:93dvh}.close{top:9px;margin:9px 9px -51px 0}.ambient i:nth-child(n+13){display:none}}
.grimoire-section:before{content:'';position:absolute;inset:0 calc(50% - 50vw) -70px;background:linear-gradient(180deg,#102f2b44,#102f2b88 70%,#102f2b),url('assets/forest.webp') center top/cover;opacity:.22;z-index:-1;pointer-events:none}.grimoire-section{isolation:isolate}.portrait-frame img{object-position:center 8%}.book-controls{position:relative;z-index:5}.profile-art{height:100%;max-height:88dvh}.brand small,.leaf-heading,.leaf-footer,.book-topline,.side-inscription,.portrait-caption small{font-size:12px}.character-title{font-size:14px}.book-topline{flex-wrap:wrap;gap:6px}.leaf-heading{letter-spacing:.8px}.leaf-footer{letter-spacing:1px}
@media(max-width:700px){.profile-art{height:360px}.portrait-frame img{object-position:center top}.book-controls{position:sticky;bottom:10px;background:#102f2bef;border:1px solid #c1a56788;padding:10px 7px;box-shadow:0 5px 25px #001a1780;gap:7px}.turn-button{min-width:78px;padding-inline:3px}.pagination{min-width:110px}.book-bottomline{line-height:1.8}.book-topline span:last-child{display:none}.leaf-heading{font-size:10px}.leaf-footer{font-size:10px}.profile-art img{object-position:center 10%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.ambient,.turn-spark{display:none}}

/* The entire experience lives inside one book, in a forest reading nook. */
body.immersive{background:#102b22;min-height:100svh}body.immersive:before{display:none}.forest-scene{position:fixed;inset:0;z-index:-2;background:linear-gradient(180deg,#071c1933,#071c1910 35%,#081a174d),url('assets/reading-forest.webp') center/cover no-repeat}.forest-scene:after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 25%,#00150d66);box-shadow:inset 0 0 100px #06160d60}.reading-scene{min-height:100svh;padding:20px 85px 25px;display:flex;flex-direction:column;align-items:center;justify-content:center;isolation:isolate}.scene-heading{text-align:center;margin:0 0 43px;text-shadow:0 2px 10px #00160b,0 0 30px #00160b}.scene-heading>span{font:12px var(--roman);letter-spacing:4px;color:#efdcaa}.scene-heading h1{font:600 31px/1.5 var(--serif);letter-spacing:7px;margin:5px 0;color:#fff0c8}.scene-heading p{font:13px var(--serif);letter-spacing:5px;margin:3px 0 0;color:#e4d7aa}.immersive-book-stage{position:relative;width:min(1050px,100%);margin:0 0 20px}.immersive .book{z-index:3;border-width:9px;border-color:#573b26;box-shadow:0 0 0 1px #d3b56b,0 0 0 5px #302418,0 0 0 6px #98763e,0 10px 0 -1px #d8c69a,0 12px 0 0 #71583b,0 17px 0 -1px #d5c29b,0 20px 0 0 #38291b,0 35px 45px #04130cf2,0 5px 100px #071c1599}.immersive .spread{min-height:590px;height:auto}.immersive .leaf{min-height:590px;padding:23px 29px 19px}.immersive .portrait-button{min-height:455px}.immersive .bio-content{padding:18px 11px 7px}.immersive .bio-intro{font-size:16px;line-height:1.8}.immersive .name-row h2{font-size:54px}.immersive .character-title{font-size:14px;letter-spacing:2px}.immersive .name-rule{margin:2px 0 12px}.immersive blockquote{font-size:17px}.immersive .character-tags{margin:13px 0}.immersive .quick-facts{margin-bottom:16px;padding:9px 0}.immersive .sample-note{font-size:12px!important}.immersive .portrait-frame{border-radius:39% 39% 2px 2px;inset:0 5px 60px}.immersive .portrait-frame img{object-position:center 5%}.immersive .leaf-heading{font-size:11px}.immersive .leaf-footer{font-size:11px;letter-spacing:.5px}.silk-marker{position:absolute;left:calc(50% - 9px);width:18px;height:65px;top:calc(100% - 5px);background:linear-gradient(90deg,#652536,#a5545f 50%,#622431);clip-path:polygon(0 0,100% 0,100% 100%,50% 82%,0 100%);z-index:12;filter:drop-shadow(3px 4px 2px #0008)}.chapter-bookmarks{position:absolute;right:-55px;top:36px;display:flex;flex-direction:column;gap:13px;z-index:2}.chapter-bookmarks button{writing-mode:vertical-rl;width:65px;min-height:118px;padding:13px 10px 13px 25px;border:1px solid #d9b379;border-left:0;border-radius:0 7px 7px 0;background:linear-gradient(90deg,#3e2b1e,#804632 28%,#683d2e);box-shadow:4px 5px 8px #00160c70,inset 0 0 0 4px #ffffff09;color:#f8dfaa;font:14px/1.6 var(--serif);letter-spacing:3px;transition:transform .3s,filter .3s}.chapter-bookmarks button:nth-child(2){background:linear-gradient(90deg,#273c27,#476049 28%,#38533e)}.chapter-bookmarks button:nth-child(3){background:linear-gradient(90deg,#3b3043,#6b5571 28%,#54435e)}.chapter-bookmarks button span{font:13px var(--roman);margin-bottom:8px;color:#e1c993}.chapter-bookmarks button:hover,.chapter-bookmarks button[aria-pressed=true]{transform:translateX(9px);filter:brightness(1.16)}.character-ribbons{position:absolute;right:66px;top:-42px;display:flex;gap:16px;z-index:2}.character-ribbons button{width:53px;height:67px;padding:8px 4px 25px;border:1px solid #c9ad71;box-shadow:2px -3px 10px #05180e55;clip-path:polygon(0 0,100% 0,100% 100%,50% 85%,0 100%);background:linear-gradient(90deg,#a17b44,#cfb272 50%,#ad874c);color:#3c3527;font:14px var(--serif);letter-spacing:2px;border-radius:3px 3px 0 0;transition:transform .3s}.character-ribbons button:nth-child(2){background:linear-gradient(90deg,#596c7a,#9eacb1 50%,#637986);color:#223541}.character-ribbons button:nth-child(3){background:linear-gradient(90deg,#814450,#ba7a81 50%,#934f5b);color:#fff0d9}.character-ribbons button:hover,.character-ribbons button[aria-pressed=true]{transform:translateY(-9px)}.character-ribbons.muted button{filter:saturate(.5)}.edge-turn{position:absolute;top:50%;transform:translateY(-50%);z-index:10;width:48px;min-height:130px;border:0;background:linear-gradient(90deg,#092718aa,#11382933);color:#ffedbc;text-shadow:0 1px 6px #000;border-radius:50%;transition:background .3s,opacity .3s;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px}.edge-left{left:-58px}.edge-right{right:-58px;top:76%}.edge-turn>span{font:64px/1 var(--roman)}.edge-turn small{font:12px var(--serif);writing-mode:vertical-rl;letter-spacing:3px}.edge-turn:hover:not(:disabled){background:#526b3d9c;color:#fff8d8}.edge-turn:disabled{opacity:.15;pointer-events:none}.book-page-status{display:block;text-align:center;margin-top:23px;color:#e5d3a3;font:12px var(--serif);letter-spacing:3px;text-shadow:0 2px 5px #00180c;visibility:hidden}.reading-hint{font:12px/1.7 var(--serif);letter-spacing:2px;color:#f5e6bd;text-shadow:0 2px 6px #021609;margin:9px 0 0;text-align:center}.reading-hint span{padding:0 14px;color:#d9bd80}.scene-disclaimer{font-size:11px;color:#e0ddc3;text-shadow:0 2px 4px #000;margin:7px 0 0;text-align:center}.journal-frontispiece{display:flex;flex-direction:column;text-align:center;flex:1;padding:20px 9px 0}.journal-frontispiece .eyebrow,.journal-writing .eyebrow,.invitation-page .eyebrow{color:#998049;font-size:12px;letter-spacing:2px}.journal-frontispiece h2{font:500 40px var(--serif);letter-spacing:5px;margin:14px 0 24px}.journal-frontispiece img{width:100%;height:285px;object-fit:cover;border:4px double #a58b50;outline:1px solid #a58b5045;outline-offset:4px}.journal-frontispiece p{font:14px/1.8 var(--serif);color:#81714e;margin-top:20px}.journal-frontispiece>span{font:italic 24px var(--roman);color:#8f7544}.journal-writing{padding:26px 15px 15px;flex:1}.journal-writing h2{font:500 34px/1.7 var(--serif);margin:16px 0 10px}.journal-writing>p{font:16px/2 var(--serif);color:#66664d}.journal-writing blockquote{font:17px/2 var(--serif);color:#7a704d;border-left:2px solid #b29451;padding-left:20px;margin:22px 0}.journal-signature{font:italic 20px var(--roman);color:#8f7544;text-align:right;margin:15px 0}.invitation-page{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px;flex:1}.invitation-ornament{font-size:64px;color:#977b42;margin:15px 0 0}.invitation-page h2{font:500 38px/1.7 var(--serif);margin:10px 0;letter-spacing:3px}.invitation-page>.name-rule{width:90%}.invitation-page p{font:16px/2 var(--serif);color:#737250}.letter-seal{display:grid;place-items:center;width:65px;height:65px;border:4px double #deb977;border-radius:50%;background:#804538;color:#e6c185;font:italic 36px var(--roman);outline:3px solid #71392c;box-shadow:3px 4px 6px #67392155;margin:10px 0}.visit-book-facts{margin-top:25px}.visit-book-facts>div{padding:20px 0;border-bottom:1px solid #ac915b55}.visit-book-facts dt{font:14px var(--serif);color:#95804d}.visit-book-facts dd{margin:10px 0 0;font:17px var(--serif)}.immersive dialog{border:7px double #ae9158}.immersive dialog::backdrop{background:#041a1799;backdrop-filter:blur(6px)}.immersive #profile-content{background:linear-gradient(90deg,transparent 39.5%,#6e512430 40%,transparent 42%)}
@media(min-width:1250px) and (min-height:950px){.reading-scene{padding-top:25px}.scene-heading{margin-bottom:50px}.immersive .spread,.immersive .leaf{min-height:650px}.immersive .portrait-button{min-height:515px}.immersive .bio-content{padding-top:35px}.immersive .bio-intro{line-height:2}.immersive .name-row h2{font-size:62px}.immersive .character-tags{margin-block:20px}.immersive .quick-facts{margin-bottom:25px}}
@media(min-width:701px) and (max-width:1000px){.reading-scene{padding-inline:60px 80px}.immersive .leaf{padding:20px 20px 16px}.immersive .bio-content{padding:15px 5px 7px}.immersive .bio-intro{font-size:14px}.immersive .name-row h2{font-size:43px}.immersive .name-row>span{font-size:22px}.immersive .character-title{font-size:12px;letter-spacing:0}.immersive .detail-button{padding:12px;font-size:13px}.immersive .leaf-heading{font-size:10px}.immersive .leaf-footer{font-size:9px}.journal-writing{padding:20px 5px}.journal-writing h2{font-size:29px}.journal-writing>p{font-size:15px}.journal-frontispiece h2{font-size:30px}.edge-left{left:-47px}.edge-right{right:-62px}}
@media(max-width:700px){.forest-scene{background-position:30% center}.reading-scene{padding:18px 48px 18px 26px;justify-content:center}.scene-heading{margin-bottom:43px}.scene-heading h1{font-size:25px;letter-spacing:5px}.scene-heading>span{font-size:10px;letter-spacing:2px}.scene-heading p{font-size:12px;letter-spacing:3px}.immersive-book-stage{width:100%;max-width:470px;margin-bottom:5px}.immersive .book{border-width:6px}.immersive .spread{height:auto;min-height:480px}.immersive .leaf{min-height:480px;padding:18px 20px 17px}.immersive .book[data-kind=maids] .bio-page{display:none}.immersive .book[data-kind=story] .portrait-page,.immersive .book[data-kind=visit] .portrait-page{display:none}.immersive .portrait-button{min-height:410px}.immersive .portrait-frame{inset:0 2px 61px;border-radius:40% 40% 1px 1px}.immersive .portrait-frame img{object-position:center top}.immersive .portrait-badge{right:-8px;bottom:43px;width:49px;height:49px}.immersive .portrait-caption{font-size:26px}.immersive .portrait-caption small{font-size:12px;letter-spacing:1px}.immersive .leaf-heading{font-size:10px;padding:0 3px}.immersive .portrait-page .leaf-footer{display:flex;font-size:9px;margin-top:8px;padding-top:4px}.chapter-bookmarks{right:-34px;top:20px;gap:10px}.chapter-bookmarks button{width:42px;min-height:104px;padding:10px 5px 10px 15px;font-size:12px;letter-spacing:2px}.chapter-bookmarks button:hover,.chapter-bookmarks button[aria-pressed=true]{transform:translateX(5px)}.chapter-bookmarks button span{font-size:11px}.character-ribbons{right:20px;top:-36px;gap:12px}.character-ribbons button{width:44px;height:57px;font-size:13px;padding:6px 3px 23px}.edge-turn{width:31px;min-height:100px;background:#1733268c;top:56%}.edge-turn>span{font-size:49px}.edge-turn small{font-size:10px}.edge-left{left:-27px}.edge-right{right:-35px;top:85%}.silk-marker{left:34px;width:15px;height:42px}.book-page-status{margin-top:17px;font-size:11px}.reading-hint{font-size:11px;letter-spacing:0;line-height:1.8;margin:1px -12px 0 0}.reading-hint span{padding:0 4px}.scene-disclaimer{font-size:10px;margin:5px -10px 0 0}.immersive .chapter-leaf.bio-page{border-top:none;background-image:radial-gradient(ellipse at 90% 80%,#b38c3925,transparent 70%)}.immersive .chapter-leaf.bio-page:before,.immersive .chapter-leaf.bio-page:after{border-top:1px solid #ac915b70;inset:11px}.immersive .chapter-leaf.bio-page>.top-left,.immersive .chapter-leaf.bio-page>.top-right{display:block}.immersive .chapter-leaf>.leaf-heading{display:flex;font-size:10px}.journal-writing{padding:16px 3px 6px}.journal-writing .eyebrow{font-size:10px;letter-spacing:1px}.journal-writing h2{font-size:28px;line-height:1.5;margin:12px 0}.journal-writing>p{font-size:15px;line-height:1.9;margin:12px 0}.journal-writing blockquote{font-size:15px;line-height:1.8;padding-left:12px;margin:14px 0}.journal-signature{font-size:17px}.visit-book-facts{margin-top:15px}.visit-book-facts>div{padding:16px 0}.visit-book-facts dd{font-size:16px}.immersive .chapter-leaf .leaf-footer{font-size:10px}.immersive .sample-note{font-size:11px!important}.immersive .profile-art{height:360px}.immersive .profile-text p{font-size:16px}}
.book-page-status{visibility:visible}.chapter-bookmarks{width:auto;justify-content:flex-start}.edge-left{top:76%}@media(max-width:700px){.edge-left{top:85%}}
@media(max-width:380px){.reading-scene{padding-left:24px;padding-right:43px}.immersive .leaf{padding-inline:18px}.journal-writing h2{font-size:25px}.journal-writing>p{font-size:14px}.immersive .portrait-button{min-height:385px}.immersive .spread,.immersive .leaf{min-height:460px}.scene-heading{margin-bottom:38px}.scene-heading h1{font-size:24px}}
