*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#0c1110;color:#efe5c8}body{font-family:"Cormorant Garamond",serif;overflow:hidden}.ambient{position:fixed;inset:0;overflow:hidden;background:radial-gradient(circle at 50% 35%,#26382f 0,#121c18 35%,#080c0b 78%);z-index:-2}.ambient:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 25%,rgba(0,0,0,.72) 100%),linear-gradient(rgba(5,10,8,.05),rgba(0,0,0,.3));pointer-events:none}.moon{position:absolute;width:28vw;height:28vw;max-width:430px;max-height:430px;border-radius:50%;top:-14vw;right:-7vw;background:#d8d4bd;filter:blur(2px);opacity:.12;box-shadow:0 0 90px #d7cf9c}.star{position:absolute;width:2px;height:2px;background:#dfd6ae;border-radius:50%;box-shadow:0 0 8px #fff6b5;animation:twinkle var(--d) ease-in-out infinite alternate}.fog{position:absolute;width:75vw;height:20vh;background:rgba(183,193,170,.07);filter:blur(45px);border-radius:50%;animation:fog 16s linear infinite}.f1{top:18%;left:-30%}.f2{bottom:5%;right:-30%;animation-direction:reverse;animation-duration:22s}@keyframes fog{50%{transform:translateX(60vw) scale(1.25)}}@keyframes twinkle{to{opacity:.18;transform:scale(.45)}}.hud{position:fixed;z-index:20;top:0;left:0;right:0;padding:24px 30px;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.mark{font-family:Cinzel,serif;font-size:16px;letter-spacing:.14em;display:flex;align-items:center;gap:12px}.mark small{font:600 7px/1 Cinzel;letter-spacing:.24em;color:#a79d80}.hud-actions{display:flex;gap:8px;pointer-events:auto}.icon-btn{width:42px;height:42px;border:1px solid rgba(222,210,170,.24);border-radius:50%;background:rgba(18,28,24,.46);backdrop-filter:blur(12px);color:#e6dbb7;font-size:16px;cursor:pointer}.stage{height:100svh;display:grid;place-items:center;padding:70px 20px 78px;perspective:1800px}.book-wrap{width:min(82vw,1100px);height:min(68vh,680px);position:relative;filter:drop-shadow(0 35px 42px rgba(0,0,0,.58));transform-style:preserve-3d}.book{width:50%;height:100%;position:absolute;left:50%;transform-style:preserve-3d;transform:rotateX(2deg)}.book:before{content:"";position:absolute;right:100%;top:1%;width:100%;height:98%;background:#17150f;border-radius:16px 4px 4px 16px;box-shadow:inset -20px 0 30px #070705;transform:translateZ(-10px)}.book-edge{position:absolute;inset:7px -7px 7px 0;background:#bda873;transform:translateZ(-14px);border-radius:4px 12px 12px 4px;box-shadow:inset -8px 0 #6d5a31}.sheet{position:absolute;inset:0;transform-origin:left center;transform-style:preserve-3d;transition:transform 1.05s cubic-bezier(.2,.65,.18,1),filter .8s;cursor:grab}.sheet:active{cursor:grabbing}.sheet.flipped{transform:rotateY(-180deg)}.face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden}.face.back{transform:rotateY(180deg)}.parchment{background-color:#d8c79c;background-image:radial-gradient(circle at 25% 15%,rgba(255,248,211,.65),transparent 27%),radial-gradient(circle at 80% 75%,rgba(112,72,33,.13),transparent 28%),linear-gradient(90deg,rgba(85,55,24,.12),transparent 8%,transparent 92%,rgba(85,55,24,.16));color:#34281c;box-shadow:inset 0 0 45px rgba(83,51,19,.2),inset 8px 0 14px rgba(75,49,24,.12)}.parchment:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.16;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.25'/%3E%3C/svg%3E")}.cover{border-radius:4px 16px 16px 4px;background:radial-gradient(circle at 50% 35%,#3e2630,#1c1118 72%);border:2px solid #79633d;box-shadow:inset 0 0 0 8px #28171e,inset 0 0 0 10px #806b42,inset 0 0 70px #050303;color:#d9c185}.cover:before{content:"";position:absolute;inset:0;opacity:.14;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='x'%3E%3CfeTurbulence baseFrequency='.18' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23x)'/%3E%3C/svg%3E")}.cover-frame{position:absolute;inset:8%;border:1px solid #8d7446;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:8%;box-shadow:inset 0 0 0 4px #23151b,inset 0 0 0 5px rgba(174,143,79,.5)}.cover-frame span,.cover-frame p{font:600 8px/1.5 Cinzel;letter-spacing:.27em}.cover-frame h2{font:600 clamp(38px,5vw,72px)/.9 Cinzel;margin:22px 0;color:#e2cd91;text-shadow:0 2px 1px #000}.crest{width:62px;height:62px;border:1px solid #a68a51;display:grid;place-items:center;transform:rotate(45deg);margin:6px 0 28px;font:600 30px Cinzel}.crest::first-letter{transform:rotate(-45deg)}.corner{position:absolute;font-size:18px;color:#a88b4e;z-index:2}.tl{top:23px;left:24px}.tr{top:23px;right:24px}.bl{bottom:23px;left:24px}.br{bottom:23px;right:24px}.chapter,.finale{height:100%;padding:12%;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:1}.chapter span,.eyebrow.dark{font:700 8px Cinzel;letter-spacing:.26em;color:#7a522b}.chapter h3,.finale h3{font:600 clamp(34px,4vw,60px)/.95 "Cormorant Garamond";margin:20px 0}.chapter p,.finale p{font-size:19px;line-height:1.45;max-width:390px}.ink-number{position:absolute;right:26px;top:20px;font:600 11px Cinzel;color:#72512f;z-index:3}.polaroid{margin:0;background:#eee5ca;padding:12px 12px 35px;box-shadow:0 12px 22px rgba(52,34,17,.28);position:relative;z-index:2}.polaroid img{display:block;width:100%;height:100%;object-fit:cover;filter:sepia(.18) saturate(.82) contrast(1.03);transition:transform 8s ease}.sheet:not(.flipped) .polaroid img{transform:scale(1.035)}.polaroid figcaption{text-align:center;font-style:italic;font-size:15px;position:absolute;bottom:9px;left:8px;right:8px}.hero-photo{position:absolute;width:69%;height:68%;left:10%;top:11%;transform:rotate(-2deg)}.scribble{position:absolute;right:7%;bottom:9%;font-style:italic;font-size:18px;transform:rotate(-5deg);z-index:3}.double{height:100%;position:relative;padding:10%}.double .polaroid{position:absolute;width:57%;height:50%}.tilt-a{left:7%;top:8%;transform:rotate(-5deg)}.tilt-b{right:7%;bottom:9%;transform:rotate(5deg)}.stamp{position:absolute;right:9%;top:12%;border:2px solid rgba(105,58,39,.45);color:rgba(105,58,39,.55);padding:10px;border-radius:50%;font:700 9px/1.5 Cinzel;text-align:center;transform:rotate(13deg)}.memory-grid{height:100%;position:relative;padding:9%}.memory-grid .p1{width:72%;height:64%;transform:rotate(3deg)}.memory-grid blockquote{position:absolute;right:7%;bottom:10%;width:62%;margin:0;padding:18px;background:rgba(229,214,173,.8);font-size:19px;font-style:italic;box-shadow:0 7px 18px rgba(57,37,16,.14);z-index:3}.constellation{position:absolute;right:9%;top:14%;font-size:17px;letter-spacing:8px;color:#7c5932}.dark-page{background:#151b18}.night-photo{position:absolute;inset:6%;overflow:hidden;border:1px solid #89784d}.night-photo img{width:100%;height:100%;object-fit:cover;filter:brightness(.48) saturate(.7) sepia(.12);transform:scale(1.05)}.night-caption{position:absolute;left:8%;bottom:9%;color:#efe1ba}.night-caption small{font:600 7px Cinzel;letter-spacing:.3em}.night-caption strong{display:block;font:500 clamp(34px,4vw,58px)/.9 "Cormorant Garamond";margin-top:12px}.night-caption span{display:block;margin-top:18px}.pale{color:#d6c38f}.wax{margin-top:30px;width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#9c3e3c,#5d1f25);color:#caa66d;font:700 29px Cinzel;box-shadow:0 6px 12px #6d4c2c66,inset 0 0 0 5px #5c2027,inset 0 0 0 7px #a0574b}.back-cover{background:#16100f;border-radius:16px 4px 4px 16px;border:2px solid #6d5835;color:#aa9160;display:grid;place-items:center;text-align:center}.back-cover div{display:flex;flex-direction:column;gap:24px}.back-cover span{font:600 14px Cinzel;letter-spacing:.2em}.back-cover b{font-size:32px}.back-cover small{font-style:italic;font-size:15px}.controls{position:fixed;bottom:29px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:15px;z-index:20}.controls button{border:1px solid rgba(218,205,162,.25);background:rgba(13,20,17,.65);backdrop-filter:blur(12px);color:#e8dcba;border-radius:999px;padding:11px 17px;font:600 9px Cinzel;letter-spacing:.1em;cursor:pointer}.controls button:disabled{opacity:.25;cursor:not-allowed}.page-meter{width:100px;height:1px;background:#665e49;overflow:hidden}.page-meter i{display:block;height:100%;width:0;background:#dfc980;transition:width .6s}.controls>span{min-width:48px;text-align:center;font:600 8px Cinzel;letter-spacing:.13em;color:#a99e80}.hint{position:fixed;bottom:8px;left:50%;transform:translateX(-50%);font-size:11px;color:#716b5c;margin:0}.intro{position:fixed;inset:0;z-index:100;background:radial-gradient(circle at 50% 40%,#293a31,#0b100e 72%);display:grid;place-items:center;transition:opacity 1s,visibility 1s}.intro.hide{opacity:0;visibility:hidden;pointer-events:none}.intro:before{content:"";position:absolute;inset:0;background:radial-gradient(circle,transparent 35%,#030504 100%)}.intro-card{position:relative;text-align:center;padding:45px;z-index:2}.sigil{position:absolute;font-size:34px;color:#bca66b;top:12%;left:50%;transform:translateX(-50%);animation:pulse 2.5s ease-in-out infinite alternate}@keyframes pulse{to{filter:drop-shadow(0 0 15px #d7bf74);transform:translateX(-50%) scale(1.12)}}.eyebrow{font:600 8px Cinzel;letter-spacing:.32em;color:#9e9271}.intro h1{font:600 clamp(52px,8vw,105px)/.76 Cinzel;margin:30px 0;color:#e8dbb7}.intro h1 em{font-family:"Cormorant Garamond";font-weight:500;color:#bda870}.intro p{font-size:19px;color:#9d9683}.rule{display:flex;align-items:center;gap:12px;justify-content:center;color:#aa9660}.rule i{width:60px;height:1px;background:#706342}.intro button{margin-top:24px;padding:14px 23px;border:1px solid #8b7950;border-radius:999px;background:rgba(165,143,84,.08);color:#e7d9b4;font:600 9px Cinzel;letter-spacing:.15em;cursor:pointer;transition:.3s}.intro button:hover{background:#b1975c;color:#14150f;transform:translateY(-2px)}@media(max-width:700px){.hud{padding:14px 14px}.mark small{display:none}.stage{padding:68px 9px 84px}.book-wrap{width:94vw;height:min(67vh,560px)}.book{width:92%;left:4%}.book:before{display:none}.sheet{transform-origin:left center}.sheet.flipped{transform:rotateY(-180deg) translateX(-2%)}.face{border-radius:8px}.cover-frame h2{font-size:42px}.cover-frame span,.cover-frame p{font-size:6px}.chapter,.finale{padding:11%}.chapter h3,.finale h3{font-size:39px}.hero-photo{width:75%;height:62%;left:8%;top:12%}.scribble{font-size:15px;right:4%}.double .polaroid{width:65%;height:47%}.tilt-a{left:4%}.tilt-b{right:4%}.memory-grid .p1{width:82%;height:59%}.memory-grid blockquote{width:72%;font-size:16px}.controls{gap:8px;bottom:28px}.controls button{padding:10px 13px}.controls button span{display:none}.page-meter{width:62px}.hint{font-size:9px;white-space:nowrap}.intro-card{padding:28px 18px}.intro h1{font-size:58px}.intro p{font-size:17px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition-duration:.01ms!important}}
.story-whisper{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:22;color:rgba(238,218,169,.72);font-family:Georgia,serif;font-style:italic;font-size:12px;text-align:center;pointer-events:none;text-shadow:0 2px 12px #000}
@media(max-width:700px){.story-whisper{bottom:76px;width:86%;font-size:10px}}
