body{background:#090e17;isolation:isolate;overflow-x:hidden}body:before{content:'';position:fixed;inset:0;background:radial-gradient(ellipse at 15% 65%,#e3913822,transparent 32%),radial-gradient(ellipse at 90% 70%,#9a5d271a,transparent 30%);pointer-events:none;z-index:-1;animation:candlelight 4s infinite alternate}.world{position:fixed;inset:-3%;z-index:-4;background:linear-gradient(#08101c33,#04081255),url('sanctuary.png') center/cover;transform:scale(1.04);animation:arrival 2.8s ease-out both}.vignette{position:fixed;inset:0;pointer-events:none;z-index:3;box-shadow:inset 0 0 160px 50px #02050a99}.mist{position:fixed;inset:0;pointer-events:none;z-index:-2;opacity:.22;background:radial-gradient(ellipse at 10% 70%,#9fbedb33,transparent 40%),radial-gradient(ellipse at 80% 20%,#b1cbe033,transparent 40%);filter:blur(30px);animation:mist 22s ease-in-out infinite alternate}#embers{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:2}.mote{position:absolute;bottom:-20px;left:var(--x);width:var(--size);height:var(--size);border-radius:50%;background:#ffce84;box-shadow:0 0 10px #efb14a;opacity:0;animation:drift var(--duration) var(--delay) linear infinite}header{position:relative;z-index:4;background:linear-gradient(#060b14bb,#080d1344);border-color:#c3a36b30;height:82px;backdrop-filter:blur(8px)}main{padding-top:24px}h1{text-shadow:0 3px 15px #000;font-size:clamp(25px,3vw,39px)}.intro{color:#c6beb0;text-shadow:0 2px 8px #000}.eyebrow{color:#e4c68c}.desk{perspective:1700px;height:min(57vw,560px);max-width:1060px;transition:filter 1.2s;isolation:isolate}.desk canvas{transition:opacity 1s .3s,transform 1.5s cubic-bezier(.2,.8,.2,1);filter:drop-shadow(0 25px 16px #0009)}.sealed .desk canvas{opacity:0;transform:scale(.88);pointer-events:none}.aura{position:absolute;inset:4% 22%;border-radius:50%;background:radial-gradient(ellipse,#e4b45725,transparent 67%);filter:blur(25px);animation:breathe 5s ease-in-out infinite;z-index:-1}.sealed .aura{background:radial-gradient(ellipse,#65aacd35,transparent 67%)}#cover{position:absolute;z-index:3;width:34%;height:86%;left:33%;top:5%;padding:0;transform-style:preserve-3d;transform:rotateZ(-3deg) rotateY(-9deg);transition:transform 1.6s cubic-bezier(.3,.05,.25,1),opacity .6s 1s;filter:drop-shadow(18px 28px 17px #000a);border-radius:5px 12px 12px 5px;outline-offset:12px;animation:book-arrival 1.7s ease-out both}#cover:before{content:'';position:absolute;inset:5px -11px -10px 8px;background:repeating-linear-gradient(#cfb889 0 2px,#685137 2px 3px);border-radius:5px 10px 12px 4px;border-right:4px solid #4a281c;border-bottom:7px solid #291c17;transform:translateZ(-6px)}.cover-face{position:absolute;inset:0;display:flex;align-items:center;flex-direction:column;border-radius:5px 12px 12px 5px;border:3px solid #8e6d3b;outline:1px solid #33251d;background:radial-gradient(ellipse at 30% 30%,#76513a33,transparent 65%),repeating-linear-gradient(47deg,#a88c6220 0 1px,transparent 1px 4px),linear-gradient(105deg,#201b1a,#412b26 15%,#2f2220 75%,#1d1716);box-shadow:inset 0 0 0 7px #241c19,inset 0 0 0 9px #866137,inset 0 0 0 13px #271e19,inset 0 0 0 14px #6e5131,inset 0 0 40px 13px #0008;color:#d8b875;text-shadow:0 1px 1px #000,0 0 16px #d3a65b33}.cover-spine{position:absolute;inset:0 auto 0 -15px;width:25px;border-radius:8px 0 0 8px;background:repeating-linear-gradient(0deg,#1c1716 0 18%,#8a683f 19%,#2d211e 20%,#1c1716 22%);transform:rotateY(-35deg);transform-origin:right}.cover-kicker{font:8px Inter;letter-spacing:2.5px;margin-top:16%}.cover-title{font:500 clamp(22px,3.5vw,42px)/1 'Cormorant Garamond',Georgia;letter-spacing:.5px;margin-top:7%}.cover-subtitle{font:11px Georgia;letter-spacing:6px;margin-top:7%}.cover-edition{font:8px/2 Georgia;letter-spacing:2px;margin-top:4%;color:#aa8c58}.cover-rule{margin-top:5%;font-size:15px}.corner{position:absolute;font:65px Georgia;color:#b7975c;line-height:1}.tl{top:10px;left:12px}.tr{top:10px;right:12px}.bl{bottom:10px;left:12px}.br{bottom:10px;right:12px}.sigil{position:relative;display:grid;place-items:center;width:35%;aspect-ratio:1;border:1px solid #c8a666;border-radius:50%;margin-top:10%;box-shadow:0 0 22px #e1b55418,inset 0 0 20px #d9ac5b18;animation:seal-light 4s infinite alternate}.sigil:before,.sigil:after{content:'';position:absolute;inset:11%;border:1px solid #a8894f;transform:rotate(45deg)}.sigil:after{transform:rotate(15deg);inset:18%}.sigil span{font-size:45px;animation:seal-light 3s infinite alternate}.clasp{position:absolute;right:-16px;top:48%;width:50px;height:29px;background:linear-gradient(#d0ad68,#6e4e29 35%,#c8a466 55%,#624724);border:2px solid #4d361d;border-radius:4px;font-size:21px;color:#302217;box-shadow:0 3px 8px #0009}.open-book{position:relative;z-index:4;background:linear-gradient(120deg,#493721c9,#211d19e8);border:1px solid #b7975c99;padding:17px 30px;color:#e8ce97;letter-spacing:3px;font-size:10px;box-shadow:0 10px 35px #0008,inset 0 0 20px #c9943a15;transition:all .3s;animation:button-arrival 2s both}.open-book span{padding:0 15px}.open-book:hover{background:#58422b;box-shadow:0 0 30px #dbb06944;transform:translateY(-3px)}body:not(.sealed) #cover{transform:translateX(-55%) rotateY(-175deg) rotateZ(-3deg);opacity:0;pointer-events:none;animation:none}body:not(.sealed) .open-book{display:none}.sealed .controls,.sealed .close-book{display:none}.close-book{margin:0 auto 15px;color:#d7bf8e;font-size:10px;letter-spacing:1px;position:relative;z-index:4}.controls{color:#f2e2bf;text-shadow:0 2px 6px #000}.controls button{background:#10131b99;border-color:#c9a66688;width:43px;height:43px;transition:transform .2s,box-shadow .2s}.controls button:hover{transform:scale(1.12);box-shadow:0 0 20px #e8c27444}.controls small,.hint{color:#c8b89b;text-shadow:0 1px 5px #000}.hint{margin-top:18px}footer{background:#060b1499;position:relative;z-index:4;padding:18px 20px;margin-top:22px;color:#b9ad93;backdrop-filter:blur(8px)}dialog{background:linear-gradient(135deg,#1b252bf7,#101820f7);border-color:#ba9659;animation:panel-in .3s ease-out}nav button{transition:color .2s,transform .2s}nav button:hover{transform:translateY(-2px)}@keyframes drift{0%{opacity:0;transform:translate(0,0)}15%{opacity:.7}80%{opacity:.4}100%{opacity:0;transform:translate(80px,-95vh)}}@keyframes candlelight{0%,100%{opacity:.6}30%{opacity:1}70%{opacity:.75}}@keyframes breathe{50%{transform:scale(1.15);opacity:.55}}@keyframes mist{to{transform:translate(7%,3%) scale(1.1)}}@keyframes arrival{from{transform:scale(1.13);filter:blur(5px);opacity:0}to{transform:scale(1.04);filter:blur(0);opacity:1}}@keyframes book-arrival{from{opacity:0;transform:translateY(35px) rotateZ(-6deg) rotateY(-18deg)}to{opacity:1;transform:rotateZ(-3deg) rotateY(-9deg)}}@keyframes seal-light{to{color:#ffe2a2;filter:drop-shadow(0 0 8px #ddb05d66)}}@keyframes button-arrival{0%,45%{opacity:0;transform:translateY(10px)}100%{opacity:1;transform:translateY(0)}}@keyframes panel-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(max-width:650px){header{height:72px}main{padding-top:25px}.desk{height:87vw;margin-top:15px}#cover{width:47%;left:26.5%;height:90%;top:3%}.cover-kicker{font-size:5px;letter-spacing:1.3px}.cover-title{font-size:7vw}.cover-subtitle{font-size:7px;letter-spacing:4px}.cover-edition{font-size:5px}.corner{font-size:45px}.sigil span{font-size:30px}.clasp{width:35px;right:-12px;height:24px;font-size:17px}.open-book{font-size:9px;padding:15px 12px;letter-spacing:2px}.open-book span{padding:0 8px}.vignette{box-shadow:inset 0 0 70px 15px #02050a88}footer{margin-top:24px;font-size:7px}.intro{font-size:10px}.close-book{margin-top:10px}.controls{margin-top:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition-duration:.01ms!important}.mote{display:none}}
