:where(.bk){--bw:360px}.bk{--u:calc(var(--bw) / 64);--paper:#f7faf9;--paper-edge:#dbe6e3;--gold:#f2c14e;--gold-deep:#d9a535;--teal:#0f4c5c;direction:ltr;flex-direction:column;align-items:center;display:flex}.bk-scene{width:var(--bw);aspect-ratio:1;perspective:calc(var(--bw) * 3.2);position:relative}.bk-zoom{transform-style:preserve-3d;transform-origin:50% 56.25%;transform:translate(var(--tx,0px), var(--ty,0px)) scale(var(--s,1));position:absolute;inset:0}.bk-book{transform-style:preserve-3d;position:absolute;inset:0}.bk-flat{transform:translateZ(calc(var(--u) * -.6));position:absolute;inset:0}.bk-glow{width:calc(var(--u) * 50);aspect-ratio:1;background:radial-gradient(closest-side,#f2c14e80,#f2c14e29 55%,#f2c14e00);border-radius:50%;position:absolute;top:56%;left:50%;transform:translate(-50%,-50%)}.bk-pages{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.bk-page{fill:var(--paper)}.bk-lines{fill:none;stroke:#a9c6c1;stroke-width:.42px;stroke-linecap:round}.bk-doorway{left:calc(var(--u) * 27);top:calc(var(--u) * 20);width:calc(var(--u) * 10);height:calc(var(--u) * 36);perspective:calc(var(--u) * 34);position:absolute}.bk-rise{transform-origin:50% 100%;position:absolute;inset:0}.bk-door{background:linear-gradient(90deg, #f7d27a, var(--gold) 45%, #e7b03d);transform-origin:0;transform:rotateY(calc(var(--door,0) * -104deg));border-radius:50% 50% 0 0/13.889% 13.889% 0 0;position:absolute;inset:0}.bk-door:after{content:"";aspect-ratio:1;background:var(--teal);border-radius:50%;width:17%;position:absolute;top:57%;left:70%}.bk-beyond{left:var(--u);top:calc(var(--u) * 12);width:calc(var(--u) * 8);aspect-ratio:1;opacity:calc(var(--beyond,0) * (1 - var(--handoff,0)));transform:scale(calc(.8 + var(--beyond,0) * .2));position:absolute}.bk-beyond-globe{width:100%;height:100%;display:block;overflow:visible}.bk-volume{left:calc(var(--u) * 32);top:calc(var(--u) * 11);width:calc(var(--u) * 27);height:calc(var(--u) * 46);transform-style:preserve-3d;visibility:hidden;position:absolute}.bk-block{border-radius:0 calc(var(--u) * .5) calc(var(--u) * .5) 0;background:linear-gradient(90deg, #e2ebe9, var(--paper) 12%);box-shadow:calc(var(--u) * .3) calc(var(--u) * .3) 0 #e3ecea, calc(var(--u) * .6) calc(var(--u) * .6) 0 #d2dfdc, calc(var(--u) * .9) calc(var(--u) * .9) 0 #bccfcb, calc(var(--u) * 1.4) calc(var(--u) * 1.8) calc(var(--u) * 2.4) #041e2559;position:absolute;inset:0}.bk-leaf{inset:calc(var(--u) * .5) calc(var(--u) * .4) calc(var(--u) * .5) 0;border-radius:0 calc(var(--u) * .4) calc(var(--u) * .4) 0;transform-origin:0;transform:translateZ(var(--z));background:linear-gradient(90deg,#e1eae8,#fbfdfc 16%,#f2f7f5);position:absolute}.bk-leaf:after{content:"";border-radius:inherit;opacity:0;background:linear-gradient(90deg,#0d354052,#0d354000 75%);position:absolute;inset:0}.bk-leaf-1{--z:calc(var(--u) * .3)}.bk-leaf-2{--z:calc(var(--u) * .2)}.bk-leaf-3{--z:calc(var(--u) * .1)}.bk-cover{--z:calc(var(--u) * .45);inset:calc(var(--u) * -.4) calc(var(--u) * -.7) calc(var(--u) * -.4) 0;transform-style:preserve-3d;transform-origin:0;transform:translateZ(var(--z));position:absolute}.bk-face{border-radius:0 calc(var(--u) * .9) calc(var(--u) * .9) 0;-webkit-backface-visibility:hidden;backface-visibility:hidden;position:absolute;inset:0}.bk-front{background:linear-gradient(90deg, #78500a59, #78500a00 7%), linear-gradient(160deg, #f7d47e, var(--gold) 38%, var(--gold-deep));place-items:center;display:grid}.bk-front:before{content:"";border:max(1px, calc(var(--u) * .18)) solid #0f4c5c52;border-radius:calc(var(--u) * .5);position:absolute;inset:7% 9% 7% 12%}.bk-emboss{fill:#0f4c5cd9;width:52%;height:auto}.bk-emboss-door{fill:#fff3cf}.bk-back{background:linear-gradient(90deg, #d9e4e1, var(--paper) 14%);transform:rotateY(180deg)}.bk-caption{text-align:center;margin-top:calc(var(--bw) * -.02);opacity:calc(1 - var(--word,0));transform:translateY(calc(var(--word,0) * -18px))}.bk-word{font:650 calc(var(--bw) * .15)/1 "Fraunces", Georgia, serif;letter-spacing:-.02em;color:var(--on-dark,#f7faf9)}.bk-tag{font-size:max(15px, calc(var(--bw) * .047));color:var(--on-dark-muted,#c5dcd9);unicode-bidi:plaintext;margin-top:.55em;line-height:1.35}@media (prefers-reduced-motion:no-preference){.bk-scene{animation:bk-in .7s var(--ease-enter,ease-out) both}.bk-book{animation:2.6s cubic-bezier(.5,0,.2,1) .15s both bk-tilt}.bk-volume{visibility:visible;animation:1ms linear 2.3s forwards bk-gone}.bk-cover{animation:1.15s cubic-bezier(.6,0,.25,1) .55s both bk-turn}.bk-leaf-1:after{animation:1.05s ease-in-out .76s both bk-shade}.bk-leaf-2:after{animation:1s ease-in-out .9s both bk-shade}.bk-leaf-3:after{animation:.95s ease-in-out 1.04s both bk-shade}.bk-face{animation:.26s 1.72s both bk-out}.bk-leaf-1{animation:1.05s cubic-bezier(.55,0,.25,1) .76s both bk-turn,.26s 1.74s both bk-out}.bk-leaf-2{animation:1s cubic-bezier(.55,0,.25,1) .9s both bk-turn,.26s 1.77s both bk-out}.bk-leaf-3{animation:.95s cubic-bezier(.55,0,.25,1) 1.04s both bk-turn,.26s 1.8s both bk-out}.bk-block{animation:.3s 1.7s both bk-out}.bk-page-l,.bk-lines-l{animation:.45s 1.15s both bk-fade}.bk-light{animation:.3s 1.9s both bk-fade}.bk-rise{animation:.75s cubic-bezier(.2,.7,.2,1) 1.95s both bk-rise}.bk-glow{animation:1.1s ease-out 2.05s both bk-glow,4.5s ease-in-out 3.2s infinite alternate bk-breathe}.bk-word{animation:bk-up .8s var(--ease-enter,ease-out) 2.5s both}.bk-tag{animation:bk-up .8s var(--ease-enter,ease-out) 2.7s both}}@keyframes bk-in{0%{opacity:0;transform:translateY(calc(var(--u) * 4))}to{opacity:1;transform:none}}@keyframes bk-tilt{0%{transform:translateX(calc(var(--u) * -13)) rotateX(16deg) rotateY(-26deg) rotateZ(-2deg)}to{transform:none}}@keyframes bk-turn{0%{transform:rotateY(0deg) translateZ(var(--z))}to{transform:rotateY(-180deg) translateZ(var(--z))}}@keyframes bk-shade{0%,to{opacity:0}50%{opacity:1}}@keyframes bk-out{0%{opacity:1}to{opacity:0}}@keyframes bk-gone{to{visibility:hidden}}@keyframes bk-fade{0%{opacity:0}to{opacity:1}}@keyframes bk-rise{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes bk-glow{0%{opacity:0;transform:translate(-50%,-50%)scale(.55)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes bk-breathe{0%{opacity:1}to{opacity:.72}}@keyframes bk-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
