:root{--paper: #f2e4c4;--paper-light: #f7ecd0;--paper-shadow: #d9c293;--paper-deep: #b89560;--ink: #2b1d10;--ink-soft: #4a3724;--accent-wine: #6e1f22;--accent-wine-deep: #4a1315;--accent-gold: #a67c30;--accent-gold-light: #c9a24a;--leather: #3d1f12;--leather-dark: #25120a;--leather-gold: #caa24a;--serif-display: "Cormorant Garamond", "Playfair Display", "Old Standard TT", Georgia, serif;--serif-text: "PT Serif", "Cormorant Garamond", Georgia, serif;--handwriting: "Caveat", "Kalam", cursive;--monogram: "IM Fell DW Pica", "Cormorant Garamond", serif}*{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100vh;background:radial-gradient(ellipse at center,#2a1e14,#140a04 70%);font-family:var(--serif-text);color:var(--ink);overflow:hidden;-webkit-user-select:none;user-select:none}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:3;pointer-events:none;background:radial-gradient(ellipse at center,transparent 48%,rgba(0,0,0,.35) 82%,rgba(0,0,0,.6) 100%)}#root{min-height:100vh;display:flex;align-items:center;justify-content:center}.scene{width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;position:relative;perspective:2400px;background:radial-gradient(ellipse at 50% 50%,rgba(200,150,80,.08) 0%,transparent 60%),radial-gradient(ellipse at 20% 20%,rgba(90,50,20,.3) 0%,transparent 50%)}.book-stage{position:relative;transform-style:preserve-3d;transition:transform .6s ease;z-index:2}.book{position:relative;width:1100px;height:720px;transform-style:preserve-3d;transition:transform .8s ease;perspective:2400px;filter:drop-shadow(0 30px 40px rgba(0,0,0,.55))}.pages{perspective:2400px}.book-shadow{position:absolute;left:-40px;right:-40px;bottom:-30px;height:50px;background:radial-gradient(ellipse at center,rgba(0,0,0,.55) 0%,transparent 65%);filter:blur(8px);z-index:-1}.pages{position:relative;width:100%;height:100%;transform-style:preserve-3d}.page{position:absolute;top:0;left:50%;width:50%;height:100%;transform-origin:left center;transform-style:preserve-3d;will-change:transform;transition:transform 1.1s cubic-bezier(.645,.045,.355,1)}@keyframes pageFlipForward{0%{transform:rotateY(0)}to{transform:rotateY(-180deg)}}@keyframes pageFlipBackward{0%{transform:rotateY(-180deg)}to{transform:rotateY(0)}}.page.flipping.flipping-forward{animation:pageFlipForward 1.1s cubic-bezier(.55,.1,.3,1) forwards;transition:none}.page.flipping.flipping-backward{animation:pageFlipBackward 1.1s cubic-bezier(.55,.1,.3,1) forwards;transition:none}.page:not(.flipping){transition:none}.aurora{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse 70% 28% at 22% 36%,rgba(120,230,180,.35),transparent 70%),radial-gradient(ellipse 60% 22% at 78% 28%,rgba(200,140,230,.3),transparent 72%),radial-gradient(ellipse 85% 30% at 48% 72%,rgba(140,200,255,.22),transparent 70%);filter:blur(14px);mix-blend-mode:screen;animation:auroraShift 14s ease-in-out infinite}.aurora:after{content:"";position:absolute;top:-8%;right:-8%;bottom:-8%;left:-8%;background:radial-gradient(ellipse 45% 18% at 30% 50%,rgba(150,255,200,.38),transparent 72%),radial-gradient(ellipse 55% 20% at 75% 55%,rgba(180,120,240,.32),transparent 72%);filter:blur(18px);mix-blend-mode:screen;animation:auroraShift2 9s ease-in-out infinite reverse}@keyframes auroraShift{0%,to{opacity:.75;transform:translate(0) scale(1) skew(0)}25%{opacity:1;transform:translate(7%,-3%) scale(1.08) skew(-3deg)}50%{opacity:.9;transform:translate(-4%,4%) scale(.96) skew(4deg)}75%{opacity:1;transform:translate(5%,2%) scale(1.05) skew(-2deg)}}@keyframes auroraShift2{0%,to{opacity:.55;transform:translate(0) scale(1) skew(0)}30%{opacity:1;transform:translate(-9%,4%) scale(1.12) skew(-6deg)}60%{opacity:.7;transform:translate(6%,-5%) scale(.9) skew(5deg)}}.curl-gloss,.curl-shadow{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:0;z-index:5}.curl-gloss{background:linear-gradient(105deg,transparent 0%,transparent 35%,rgba(255,240,200,.35) 48%,rgba(255,250,220,.55) 52%,rgba(255,240,200,.35) 56%,transparent 70%,transparent 100%);background-size:300% 100%;mix-blend-mode:screen}.curl-shadow{background:linear-gradient(to right,transparent 0%,transparent 55%,rgba(20,10,5,.25) 75%,rgba(20,10,5,.55) 92%,rgba(20,10,5,.7) 100%)}.page.flipping.flipping-forward .page-face.front .curl-gloss{animation:curlGlossForward 1.1s linear forwards}.page.flipping.flipping-forward .page-face.back .curl-shadow{animation:curlShadowForward 1.1s linear forwards}.page.flipping.flipping-backward .page-face.front .curl-gloss{animation:curlGlossBackward 1.1s linear forwards}.page.flipping.flipping-backward .page-face.back .curl-shadow{animation:curlShadowBackward 1.1s linear forwards}@keyframes curlGlossForward{0%{opacity:0;background-position:100% 0}15%{opacity:.9;background-position:80% 0}50%{opacity:1;background-position:35% 0}85%{opacity:.3;background-position:0% 0}to{opacity:0;background-position:0% 0}}@keyframes curlGlossBackward{0%{opacity:0;background-position:0% 0}15%{opacity:.3;background-position:0% 0}50%{opacity:1;background-position:35% 0}85%{opacity:.9;background-position:80% 0}to{opacity:0;background-position:100% 0}}@keyframes curlShadowForward{0%{opacity:0}30%{opacity:.15}60%{opacity:.95}to{opacity:0}}@keyframes curlShadowBackward{0%{opacity:0}40%{opacity:.95}70%{opacity:.15}to{opacity:0}}.page.flipped{transform:rotateY(-180deg)}.book.closed:not(.mobile-book) .pages .page:not(.page-leaf-0):not(.flipping){opacity:0}.book.closed .static-left{opacity:0!important}.book-stage{transition:transform .9s cubic-bezier(.645,.045,.355,1)}.book-stage.closed{transform:translate(-275px)}.page-face{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background:var(--paper);backface-visibility:hidden;-webkit-backface-visibility:hidden}.page-face.front{transform:translateZ(1px);z-index:2}.page-face.back{transform:rotateY(180deg) translateZ(1px);z-index:1}.page:not(.flipped) .page-face.back{visibility:hidden}.page.flipped .page-face.front{visibility:hidden}.page.flipping .page-face.back,.page.flipping .page-face.front{visibility:visible}.paper-texture{position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--paper);background-image:radial-gradient(ellipse 800px 400px at 100% 50%,rgba(120,80,30,.18),transparent 70%),radial-gradient(ellipse 500px 300px at 0% 0%,rgba(200,160,100,.25),transparent 70%),radial-gradient(ellipse 400px 300px at 100% 100%,rgba(80,50,20,.22),transparent 70%),url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='400' height='400'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' seed='5'/><feColorMatrix values='0 0 0 0 0.1 0 0 0 0 0.07 0 0 0 0 0.03 0 0 0 0.22 0'/></filter><rect width='400' height='400' filter='url(%23n)'/></svg>");background-size:auto,auto,auto,400px 400px}.paper-texture:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='600' height='600'><filter id='spots'><feTurbulence type='turbulence' baseFrequency='0.02' numOctaves='3' seed='12'/><feColorMatrix values='0 0 0 0 0.35 0 0 0 0 0.22 0 0 0 0 0.08 0 0 0 0.15 0'/></filter><rect width='600' height='600' filter='url(%23spots)'/></svg>");background-size:600px 600px;mix-blend-mode:multiply;opacity:.55;pointer-events:none}.page-face.front .paper-texture:before{content:"";position:absolute;left:0;top:0;bottom:0;width:60px;background:linear-gradient(to right,rgba(60,35,10,.45),transparent);pointer-events:none}.page-face.back .paper-texture:before{content:"";position:absolute;right:0;top:0;bottom:0;width:60px;background:linear-gradient(to left,rgba(60,35,10,.45),transparent);pointer-events:none}.page-content{position:absolute;top:0;right:0;bottom:0;left:0;padding:50px 70px 54px;display:flex;flex-direction:column;color:var(--ink)}.page-face.front .page-content{padding-left:90px}.page-face.back .page-content{padding-right:90px}.folio{position:absolute;bottom:26px;left:0;right:0;text-align:center;font-family:var(--serif-display);font-size:14px;letter-spacing:.3em;color:var(--ink-soft);opacity:.7}.binding{position:absolute;top:0;bottom:0;left:calc(50% - 22px);width:44px;background:linear-gradient(to right,transparent 0%,rgba(40,20,8,.25) 20%,rgba(40,20,8,.55) 45%,rgba(40,20,8,.72) 50%,rgba(40,20,8,.55) 55%,rgba(40,20,8,.25) 80%,transparent 100%);pointer-events:none;z-index:50}.binding:before{content:"";position:absolute;left:50%;top:6px;bottom:6px;width:1px;background:#0009;box-shadow:-1px 0 #ffdcaa0d,1px 0 #ffdcaa0d}.binding:after{content:"";position:absolute;top:10%;bottom:10%;left:50%;width:2px;transform:translate(-50%);background-image:repeating-linear-gradient(to bottom,rgba(202,162,74,.4) 0 4px,transparent 4px 14px)}.cover{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% 30%,#6a2c1e,#4a1a10 45%,#2a0d06 80%,#160602);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='300' height='300'><filter id='grain'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' seed='7'/><feColorMatrix values='0 0 0 0 0.08 0 0 0 0 0.03 0 0 0 0 0.01 0 0 0 0.35 0'/></filter><rect width='300' height='300' filter='url(%23grain)'/></svg>"),url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='500' height='500'><filter id='cracks'><feTurbulence type='turbulence' baseFrequency='0.015' numOctaves='3' seed='4'/><feColorMatrix values='0 0 0 0 0.3 0 0 0 0 0.15 0 0 0 0 0.06 0 0 0 0.2 0'/></filter><rect width='500' height='500' filter='url(%23cracks)'/></svg>"),radial-gradient(ellipse at 50% 30%,#6a2c1e,#4a1a10 45%,#2a0d06 80%,#160602);background-size:300px 300px,500px 500px,auto;background-color:var(--leather);color:var(--leather-gold);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:80px 60px;overflow:hidden;box-shadow:inset 0 0 80px #000000b3,inset 0 0 20px #00000080}.cover:before{content:"";position:absolute;top:14px;right:14px;bottom:14px;left:14px;box-shadow:inset 0 2px 3px #ffc88c1f,inset 0 -2px 3px #00000080;pointer-events:none}.cover-frame{position:absolute;top:36px;right:36px;bottom:36px;left:36px;border:2px solid rgba(202,162,74,.65);pointer-events:none;box-shadow:0 0 1px #000c,inset 0 0 1px #ffe6b44d}.cover-frame:before{content:"";position:absolute;top:10px;right:10px;bottom:10px;left:10px;border:1px solid rgba(202,162,74,.45)}.cover-frame:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border:1px solid rgba(202,162,74,.25);pointer-events:none}.cover-ornament-top,.cover-ornament-bottom{font-family:var(--serif-display);font-size:20px;letter-spacing:.6em;color:#caa24acc}.cover-title{font-family:var(--serif-display);font-weight:700;font-size:72px;line-height:1;color:var(--leather-gold);margin:24px 0 12px;letter-spacing:.02em;max-width:420px;background:linear-gradient(180deg,#e8c876,#caa24a 40%,#8b6b22 75%,#caa24a);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 1px 0 rgba(0,0,0,.4),0 -1px 0 rgba(255,230,170,.2);filter:drop-shadow(0 2px 2px rgba(0,0,0,.6))}.cover-subtitle{font-family:var(--serif-text);font-style:italic;font-size:22px;color:#caa24abf;margin-bottom:30px}.cover-divider{width:120px;height:1px;background:linear-gradient(to right,transparent,var(--leather-gold),transparent);margin:18px auto}.cover-seal{width:140px;height:140px;border:2px solid rgba(202,162,74,.8);border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;margin-top:30px;background:radial-gradient(circle at 30% 30%,rgba(240,210,140,.15),transparent 60%),radial-gradient(circle,rgba(110,60,20,.3),transparent 70%);box-shadow:inset 0 2px 4px #ffdca026,inset 0 -2px 4px #00000080,0 2px 4px #0006}.cover-seal:before{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border:1px dashed rgba(202,162,74,.55);border-radius:50%}.cover-seal:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;background:conic-gradient(from 0deg,transparent 0deg,transparent 38deg,rgba(202,162,74,.55) 40deg,rgba(202,162,74,.55) 50deg,transparent 52deg,transparent 88deg,rgba(202,162,74,.55) 90deg,rgba(202,162,74,.55) 100deg,transparent 102deg,transparent 178deg,rgba(202,162,74,.55) 180deg,rgba(202,162,74,.55) 190deg,transparent 192deg,transparent 268deg,rgba(202,162,74,.55) 270deg,rgba(202,162,74,.55) 280deg,transparent 282deg,transparent 360deg);-webkit-mask:radial-gradient(circle,transparent 60%,black 62%,black 70%,transparent 72%);mask:radial-gradient(circle,transparent 60%,black 62%,black 70%,transparent 72%);pointer-events:none}.cover-seal-text{font-family:var(--serif-display);font-size:13px;letter-spacing:.25em;color:var(--leather-gold);text-align:center;line-height:1.3}.cover-year{position:absolute;bottom:70px;font-family:var(--serif-display);font-size:18px;letter-spacing:.4em;color:#caa24ab3}.cover-corner{position:absolute;width:40px;height:40px;border:1px solid rgba(202,162,74,.8)}.cover-corner.tl{top:50px;left:50px;border-right:none;border-bottom:none}.cover-corner.tr{top:50px;right:50px;border-left:none;border-bottom:none}.cover-corner.bl{bottom:50px;left:50px;border-right:none;border-top:none}.cover-corner.br{bottom:50px;right:50px;border-left:none;border-top:none}.drop-cap{float:left;font-family:var(--serif-display);font-weight:700;font-size:76px;line-height:.9;padding:6px 10px 0 0;color:var(--accent-wine)}.chapter-label{font-family:var(--serif-display);font-size:12px;letter-spacing:.4em;text-transform:uppercase;color:var(--ink-soft);text-align:center;margin-bottom:8px}.chapter-title{font-family:var(--serif-display);font-weight:700;font-size:42px;line-height:1.1;color:var(--accent-wine);text-align:center;margin:0 0 6px}.chapter-sub{font-family:var(--serif-text);font-style:italic;font-size:17px;color:var(--ink-soft);text-align:center;margin-bottom:22px}.divider-ornament{display:flex;align-items:center;justify-content:center;gap:12px;margin:14px 0 22px;color:var(--accent-wine)}.divider-ornament .line{width:80px;height:1px;background:linear-gradient(to right,transparent,var(--accent-wine),transparent)}.divider-ornament .dot{font-family:var(--serif-display);font-size:16px;color:var(--accent-wine)}.body-text{font-family:var(--serif-text);font-size:15.5px;line-height:1.65;color:var(--ink);text-align:justify;-webkit-hyphens:auto;hyphens:auto}.body-text p{margin:0 0 12px}.ingredients-list{list-style:none;padding:0;margin:0}.ingredient{display:flex;align-items:center;gap:14px;padding:9px 4px;border-bottom:1px dashed rgba(74,55,36,.28);cursor:pointer;transition:all .2s ease;font-family:var(--serif-text);font-size:16px}.ingredient:last-child{border-bottom:none}.ingredient:hover{background:#a67c3014}.ingredient .check{width:22px;height:22px;border:1.5px solid var(--accent-wine);border-radius:3px;display:flex;align-items:center;justify-content:center;font-family:var(--handwriting);color:var(--accent-wine);font-size:26px;flex-shrink:0;transition:all .2s ease;background:#f2e4c466}.ingredient.checked .check{background:var(--accent-wine);color:var(--paper)}.ingredient.checked .name{text-decoration:line-through;opacity:.55;font-style:italic}.ingredient .amount{font-family:var(--serif-display);font-weight:600;color:var(--accent-wine);margin-left:auto;font-size:15px;letter-spacing:.02em}.steps-container{display:flex;flex-direction:column;gap:10px}.step{display:flex;gap:14px;align-items:flex-start;padding:8px 12px;border-radius:4px;cursor:pointer;transition:background-color .25s ease,border-color .25s ease;border:1px solid transparent}.step:hover{background:#a67c3014}.step.active{background:#6e1f2212;border-color:#6e1f2238}.step.done{opacity:.55}.step.done .step-text{text-decoration:line-through}.step-num{font-family:var(--serif-display);font-weight:700;font-size:24px;color:var(--accent-wine);line-height:1;min-width:32px;text-align:center;flex-shrink:0;padding-top:2px}.step-text{font-family:var(--serif-text);font-size:13px;line-height:1.45;color:var(--ink)}.photo-frame{position:relative;background:#e8d8b4;border:1px solid rgba(74,55,36,.35);box-shadow:inset 0 0 30px #5a3c1e59,0 2px 8px #0003;overflow:hidden;cursor:zoom-in;transition:transform .35s cubic-bezier(.2,.8,.25,1),box-shadow .35s ease;transform-style:preserve-3d;will-change:transform}.photo-frame:hover{box-shadow:inset 0 0 30px #5a3c1e59,0 12px 28px #00000059}.photo-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;background-image:repeating-linear-gradient(135deg,#6e1f220d 0,#6e1f220d 12px,#6e1f221a 12px,#6e1f221a 24px);display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--accent-wine-deep);font-family:Courier New,monospace;font-size:12px;letter-spacing:.15em;text-align:center;padding:20px}.photo-placeholder .mono-label{opacity:.6;text-transform:uppercase;font-size:11px;letter-spacing:.3em}.photo-placeholder .caption{font-family:var(--handwriting);font-size:28px;color:var(--accent-wine);margin-top:8px;font-weight:600}.photo-caption{font-family:var(--serif-text);font-style:italic;font-size:13px;color:var(--ink-soft);text-align:center;margin-top:8px}.toc-list{list-style:none;padding:0;margin:0}.toc-item{display:flex;align-items:baseline;gap:10px;padding:10px 0;cursor:pointer;font-family:var(--serif-text);font-size:17px;color:var(--ink);transition:color .2s ease}.toc-item:hover{color:var(--accent-wine)}.toc-item .roman{font-family:var(--serif-display);font-weight:700;color:var(--accent-wine);width:40px;font-size:18px}.toc-item .title{flex-shrink:0}.toc-item .leader{flex:1;border-bottom:1px dotted rgba(74,55,36,.45);margin:0 8px;transform:translateY(-4px)}.toc-item .page-num{font-family:var(--serif-display);color:var(--accent-wine);font-size:16px}.benefit-card{border:1px solid rgba(74,55,36,.22);padding:10px 14px;background:#fffae659;margin-bottom:10px;position:relative}.benefit-card:last-child{margin-bottom:0}.benefit-card:before{content:"";position:absolute;top:-1px;left:-1px;width:14px;height:14px;border-top:2px solid var(--accent-wine);border-left:2px solid var(--accent-wine)}.benefit-card:after{content:"";position:absolute;bottom:-1px;right:-1px;width:14px;height:14px;border-bottom:2px solid var(--accent-wine);border-right:2px solid var(--accent-wine)}.benefit-title{font-family:var(--serif-display);font-size:18px;font-weight:700;color:var(--accent-wine);margin:0 0 3px}.benefit-body{font-family:var(--serif-text);font-size:13px;line-height:1.5;color:var(--ink)}.margin-note{position:absolute;font-family:var(--handwriting);font-size:20px;color:var(--accent-wine);line-height:1.2;max-width:160px;transform:rotate(-4deg);opacity:.85}.bookmark-ribbon{position:absolute;top:-6px;width:26px;height:110px;background:linear-gradient(to bottom,#8a1f21,#5a0e10);box-shadow:inset -3px 0 6px #0006,inset 3px 0 4px #ffffff26,2px 2px 4px #0000004d;z-index:1;cursor:pointer;transition:all .3s ease;pointer-events:auto}.bookmark-ribbon:after{content:"";position:absolute;bottom:-14px;left:0;right:0;height:16px;background:linear-gradient(to bottom,#5a0e10 0%,#5a0e10 50%,transparent 50%),linear-gradient(-45deg,transparent 50%,#5a0e10 50%) 0 0 / 13px 16px no-repeat,linear-gradient(45deg,transparent 50%,#5a0e10 50%) 13px 0 / 13px 16px no-repeat}.bookmark-ribbon.active{background:linear-gradient(to bottom,#caa24a,#8b6b22)}.bookmark-ribbon.active:after{background:linear-gradient(to bottom,#8b6b22 0%,#8b6b22 50%,transparent 50%),linear-gradient(-45deg,transparent 50%,#8b6b22 50%) 0 0 / 13px 16px no-repeat,linear-gradient(45deg,transparent 50%,#8b6b22 50%) 13px 0 / 13px 16px no-repeat}.nav-btn{position:fixed;top:50%;transform:translateY(-50%);width:54px;height:54px;border-radius:50%;background:#1e140acc;border:1px solid rgba(202,162,74,.4);color:#caa24ae6;font-family:var(--serif-display);font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:200;transition:all .25s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.nav-btn:hover{background:#caa24ae6;color:var(--leather-dark);transform:translateY(-50%) scale(1.08)}.nav-btn:disabled{opacity:.3;cursor:not-allowed}.nav-btn.prev{left:30px}.nav-btn.next{right:30px}.page-counter{position:fixed;bottom:24px;left:50%;transform:translate(-50%);font-family:var(--serif-display);font-size:13px;letter-spacing:.3em;color:#caa24ab3;z-index:200;text-transform:uppercase}.top-chrome{position:fixed;top:24px;left:50%;transform:translate(-50%);display:flex;gap:10px;z-index:200}.chrome-btn{background:#1e140abf;border:1px solid rgba(202,162,74,.35);color:#caa24ad9;font-family:var(--serif-display);font-size:12px;letter-spacing:.25em;text-transform:uppercase;padding:9px 16px;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.chrome-btn:hover,.chrome-btn.active{background:#caa24ae6;color:var(--leather-dark)}.zoom-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:500;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:zoom-out}.zoom-content{max-width:86vw;max-height:86vh;width:900px;height:600px;box-shadow:0 20px 60px #0009}.tweaks-panel{position:fixed;right:24px;bottom:24px;background:#140c06f2;border:1px solid rgba(202,162,74,.4);padding:18px 20px;color:#eddaaaf2;font-family:var(--serif-text);font-size:13px;z-index:300;min-width:230px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 10px 30px #00000080}.tweaks-panel h3{font-family:var(--serif-display);font-size:13px;letter-spacing:.3em;text-transform:uppercase;color:var(--leather-gold);margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid rgba(202,162,74,.25)}.tweak-row{display:flex;gap:6px;margin-bottom:6px}.tweak-row:last-child{margin-bottom:0}.tweak-label{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#caa24ab3;margin-bottom:6px;display:block}.tweak-opt{flex:1;padding:6px 10px;background:transparent;border:1px solid rgba(202,162,74,.3);color:#eddaaad9;font-family:var(--serif-text);font-size:12px;cursor:pointer;transition:all .2s ease}.tweak-opt:hover{background:#caa24a26}.tweak-opt.active{background:#caa24ad9;color:var(--leather-dark);border-color:var(--leather-gold)}.book{transform:scale(var(--book-scale, .85))}.scene.portrait-mobile .top-chrome{top:8px!important;gap:6px!important;padding:0 8px}.scene.portrait-mobile .chrome-btn{padding:6px 10px!important;font-size:10px!important;letter-spacing:.1em!important}.scene.portrait-mobile .nav-btn{width:40px!important;height:40px!important;font-size:20px!important}.scene.portrait-mobile .page-counter{font-size:9px!important;bottom:auto!important;top:42px!important;left:50%!important;transform:translate(-50%)!important;right:auto!important;opacity:.55}.scene.portrait-mobile .book{width:var(--mobile-page-width, 360px)!important;height:calc(var(--mobile-page-width, 360px) * 1.42)!important;max-height:calc(100vh - 120px);transform:none!important;filter:drop-shadow(0 18px 24px rgba(0,0,0,.55));perspective:1100px!important}.scene.portrait-mobile .pages{perspective:1100px!important}.scene.portrait-mobile .book-stage{margin-top:56px;margin-bottom:48px}.scene.portrait-mobile .book-stage.closed{transform:none!important}.scene.portrait-mobile .static-left,.scene.portrait-mobile .binding{display:none!important}.scene.portrait-mobile .pages .page{width:100%!important;left:0!important;right:auto!important;transform-origin:left center!important}.scene.portrait-mobile .page-face.back{transform:rotateY(180deg) translateZ(1px)}.scene.portrait-mobile .page-face .paper-texture:before{width:24px}.scene.portrait-mobile .cover{padding:40px 24px}.scene.portrait-mobile .cover-title{font-size:42px!important;max-width:100%!important}.scene.portrait-mobile .cover-seal{width:100px;height:100px}.scene.portrait-mobile .page-face h1{font-size:34px!important}.scene.portrait-mobile .page-face h2{font-size:22px!important}.scene.portrait-mobile .page-face h3{font-size:18px!important}.scene.portrait-mobile .page-face .drop-cap{font-size:58px!important}.scene.portrait-mobile .folio{bottom:18px!important;font-size:11px!important}.scene.portrait-mobile .page-content{padding:40px 28px 50px!important}.scene.portrait-mobile .page-face.back .page-content{padding-right:36px!important}.scene.portrait-mobile .page-face.front .page-content{padding-left:36px!important}.mobile-flip-page{transform-origin:left center;-webkit-transform-origin:left center;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;backface-visibility:hidden;-webkit-backface-visibility:hidden;will-change:transform,opacity;box-shadow:0 0 30px #0006}.scene.portrait-mobile .pages .page:not(.mobile-flip-page){transform-origin:center center!important}.mobile-flip-page.flip-forward{animation:mobileFlipForward .65s cubic-bezier(.645,.045,.355,1) forwards}.mobile-flip-page.flip-back{animation:mobileFlipBack .65s cubic-bezier(.645,.045,.355,1) forwards}@keyframes mobileFlipForward{0%{transform:rotateY(0);opacity:1}60%{opacity:.85}to{transform:rotateY(-180deg);opacity:0}}@keyframes mobileFlipBack{0%{transform:rotateY(-180deg);opacity:0}40%{opacity:.85}to{transform:rotateY(0);opacity:1}}.scene.portrait-mobile .nav-btn,.scene.portrait-mobile .top-chrome,.scene.portrait-mobile .page-counter{z-index:100!important}.photo-frame{overflow:hidden}.photo-frame .photo-img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.92) contrast(1.02);cursor:zoom-in}.photo-frame:has(.photo-img){border:none!important;box-shadow:none!important;background:transparent!important;padding:0!important}.editorial-hero{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;cursor:zoom-in;background:#0a0502}.editorial-hero-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;animation:editorialKenBurns 22s ease-in-out infinite alternate;transform-origin:45% 60%}@keyframes editorialKenBurns{0%{transform:scale(1.02) translate(0)}to{transform:scale(1.12) translate(-2%,-1%)}}.editorial-hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,#0a0502d9,#0a050200 45%),linear-gradient(to bottom,#0a050259,#0a050200 25%);pointer-events:none}.editorial-hero-caption{position:absolute;left:48px;right:48px;bottom:54px;color:#f5e5b5;pointer-events:none}.editorial-hero-eyebrow{font-family:var(--serif-display);font-size:11px;letter-spacing:.55em;text-transform:uppercase;opacity:.7;margin-bottom:16px}.editorial-hero-title{font-family:var(--serif-display);font-style:italic;font-weight:400;font-size:82px;line-height:.95;letter-spacing:.01em;color:#f5e5b5;text-shadow:0 2px 20px rgba(0,0,0,.7)}.editorial-page{padding:80px 70px 80px 96px!important;display:flex;flex-direction:column;justify-content:space-between}.editorial-eyebrow{font-family:var(--serif-display);font-size:10px;letter-spacing:.6em;text-transform:uppercase;color:var(--accent-wine);margin-bottom:32px}.editorial-title{font-family:var(--serif-display);font-weight:400;font-style:italic;font-size:52px;line-height:1.05;letter-spacing:0;color:var(--accent-wine);margin:0 0 32px;max-width:420px}.editorial-lede{font-family:var(--serif-text);font-size:16px;line-height:1.7;color:var(--ink);margin:0 0 18px;max-width:440px}.editorial-lede .drop-cap{float:left;font-family:var(--serif-display);font-size:54px;line-height:.9;color:var(--accent-wine);padding:4px 10px 0 0;font-weight:400}.editorial-body{font-family:var(--serif-text);font-size:14px;line-height:1.65;color:var(--ink-soft);margin:0 0 auto;max-width:440px}.editorial-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:28px 0;border-top:1px solid rgba(74,55,36,.2);border-bottom:1px solid rgba(74,55,36,.2);padding:18px 0}.editorial-meta>div{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.editorial-meta>div+div{border-left:1px solid rgba(74,55,36,.15);padding-left:14px}.editorial-meta .val{font-family:var(--serif-display);font-size:18px;font-weight:700;color:var(--accent-wine);line-height:1;text-transform:lowercase}.editorial-meta .lbl{font-family:var(--serif-display);font-size:9px;letter-spacing:.35em;text-transform:uppercase;color:var(--ink-soft)}.editorial-pull{margin:0;padding:0;border:0;font-family:var(--serif-display);font-style:italic;font-weight:400;font-size:26px;line-height:1.35;color:var(--accent-wine);text-align:center;max-width:380px;align-self:center}.editorial-pull cite{display:block;margin-top:14px;font-size:12px;font-style:normal;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-soft)}.kamchatka-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;overflow:hidden}.sky-aurora{position:absolute;top:0;right:0;bottom:25%;left:0;background:radial-gradient(ellipse 45% 40% at 15% 25%,rgba(120,230,180,.55),transparent 68%),radial-gradient(ellipse 40% 30% at 85% 22%,rgba(200,140,230,.45),transparent 70%),radial-gradient(ellipse 60% 35% at 50% 10%,rgba(140,200,255,.3),transparent 68%);filter:blur(30px);mix-blend-mode:screen;animation:backdropAuroraShift 22s ease-in-out infinite;opacity:1}@keyframes backdropAuroraShift{0%,to{transform:translate(0) scale(1)}33%{transform:translate(4%,-2%) scale(1.06)}66%{transform:translate(-3%,2%) scale(.96)}}.volcano{position:absolute;left:0;right:0;bottom:0;height:65%;pointer-events:none;background:radial-gradient(ellipse 60% 20% at 50% 100%,rgba(180,60,20,.25) 0%,transparent 70%)}.volcano svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.volcano .ridge-back{fill:#050302;opacity:1}.volcano .volcano-body{fill:#0a0502;opacity:1;filter:drop-shadow(0 -10px 30px rgba(180,60,20,.2))}.volcano .volcano-snow{fill:#dce6f08c}.volcano-smoke{position:absolute;left:48%;top:8%;width:120px;height:200px;pointer-events:none}.smoke-puff{position:absolute;left:0;bottom:0;width:60px;height:60px;background:radial-gradient(circle,rgba(180,180,180,.55) 0%,rgba(140,140,140,.25) 45%,transparent 75%);border-radius:50%;filter:blur(10px);opacity:0;animation:smokeRise 10s linear infinite}@keyframes smokeRise{0%{transform:translate(0) scale(.4);opacity:0}15%{opacity:.55}50%{transform:translate(20px,-110px) scale(1.3);opacity:.55}to{transform:translate(60px,-240px) scale(2.2);opacity:0}}.fish-school{position:absolute;top:0;right:0;bottom:0;left:0}.kam-fish{position:absolute;color:#dcb45a;filter:drop-shadow(0 0 6px rgba(220,180,90,.4));will-change:transform;animation:kamFishSwim linear infinite}.kam-fish-left{left:-80px}.kam-fish-right{right:-80px;transform:scaleX(-1)}@keyframes kamFishSwim{0%{transform:translateY(40vh) rotate(-8deg)}50%{transform:translateY(-10vh) rotate(6deg)}to{transform:translateY(-60vh) rotate(-4deg)}}.kam-fish-right{animation-name:kamFishSwimRight}@keyframes kamFishSwimRight{0%{transform:translateY(40vh) rotate(8deg) scaleX(-1)}50%{transform:translateY(-10vh) rotate(-6deg) scaleX(-1)}to{transform:translateY(-60vh) rotate(4deg) scaleX(-1)}}
