/*! tailwindcss v4.3.4 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:block))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:"Nunito", "Nunito Local", system-ui, sans-serif;--font-serif:"Lora", "Lora Local", Georgia, serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--font-weight-extrabold:800;--leading-snug:1.375;--leading-relaxed:1.625;--ease-in:cubic-bezier(.4, 0, 1, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-gold:#cfaa62;--font-hand:"Caveat", "Caveat Local", cursive}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.relative{position:relative}.static{position:static}.my-\[3cqw\]{margin-block:3cqw}.-mt-\[1cqw\]{margin-top:-1cqw}.mt-auto{margin-top:auto}.ml-auto{margin-left:auto}.contents{display:contents}.hidden{display:none}.inline{display:inline}.h-px{height:1px}.min-h-\[12cqw\]{min-height:12cqw}.\!w-auto{width:auto!important}.w-\[30cqw\]{width:30cqw}.w-\[34cqw\]{width:34cqw}.w-\[40\%\]{width:40%}.max-w-\[78\%\]{max-width:78%}.flex-1{flex:1}.transform{transform:var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, )}.items-center{align-items:center}.justify-center{justify-content:center}.gap-\[3cqw\]{gap:3cqw}.gap-\[4cqw\]{gap:4cqw}.rounded-full{border-radius:2147483647px}.\!border-0{border-style:var(--tw-border-style)!important;border-width:0!important}.bg-\[\#2a1b2f\]\/25{background-color:oklab(25.0364% .0311896 -.0286322/.25)}.px-3{padding-inline:calc(var(--spacing) * 3)}.text-center{text-align:center}.font-serif{font-family:var(--font-serif)}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[3\.4cqw\]{font-size:3.4cqw}.text-\[3\.5cqw\]{font-size:3.5cqw}.text-\[3cqw\]{font-size:3cqw}.text-\[4\.2cqw\]{font-size:4.2cqw}.text-\[4cqw\]{font-size:4cqw}.text-\[6cqw\]{font-size:6cqw}.text-\[9cqw\]{font-size:9cqw}.text-\[11cqw\]{font-size:11cqw}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.tracking-\[0\.4em\]{--tw-tracking:.4em;letter-spacing:.4em}.tracking-\[0\.35em\]{--tw-tracking:.35em;letter-spacing:.35em}.text-\[\#4b2f4f\]{color:#4b2f4f}.text-gold{color:var(--color-gold)}.uppercase{text-transform:uppercase}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.filter{filter:var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, )}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}}@font-face{font-family:Lora Local;src:url(/fonts/Lora-Regular.ttf)format("truetype");font-display:swap}@font-face{font-family:Caveat Local;src:url(/fonts/Caveat-Medium.ttf)format("truetype");font-display:swap}@font-face{font-family:Nunito Local;src:url(/fonts/Nunito.ttf)format("truetype");font-display:swap}:root{--night:#0f1038;--night-2:#161658;--ink:#2a1b2f;--ink-soft:#2a1b2fad;--paper:#f4ead4;--cream:#fbf6ea;--cloth:#a796bd;--gold:#cfaa62;--sage:#8c9b81;--rose:#d98a7a;--rainbow:linear-gradient(100deg, #36c8ff 0%, #7cf0d0 18%, #ffd84a 36%, #ff8a3d 52%, #ff5fa2 70%, #a35cff 86%, #5b5bff 100%);--scene:#efe4cc;--gutter-x:max(16px, 4vw);--paper-noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .45 0 0 0 0 .35 0 0 0 0 .25 0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}html{background:var(--night);-webkit-text-size-adjust:100%}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}body{background:var(--night);width:100%;color:var(--paper);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;overflow-x:hidden}::selection{color:var(--night);background:#ffd84a}img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}a,button,input,textarea{-webkit-tap-highlight-color:transparent}:focus-visible{outline-offset:3px;border-radius:6px;outline:2px solid #ffd84a}main{width:100%;overflow-x:clip}.wrap{width:100%;max-width:1240px;padding:0 var(--gutter-x);margin:0 auto}.eyebrow{font-family:var(--font-serif);letter-spacing:.32em;text-transform:uppercase;align-items:center;gap:.75rem;font-size:.78rem;display:inline-flex}.eyebrow:before{content:"";opacity:.6;background:currentColor;width:28px;height:1px}.display{font-family:var(--font-serif);letter-spacing:-.02em;text-wrap:balance;font-weight:500;line-height:1.04}.hand{font-family:var(--font-hand)}.btn{min-height:54px;font-family:var(--font-sans);white-space:nowrap;cursor:pointer;will-change:transform;border-radius:999px;justify-content:center;align-items:center;gap:.65rem;padding:0 1.5rem;font-size:1rem;font-weight:800;text-decoration:none;transition:transform .25s cubic-bezier(.2,.8,.2,1),background .25s,color .25s,box-shadow .3s;display:inline-flex;position:relative}.btn svg{flex:none;width:20px;height:20px}.btn small{opacity:.6;font-size:.75rem;font-weight:700}.btn--primary{background:var(--cream);color:var(--night);box-shadow:inset 0 -2px #2a1b2f1f,0 8px 20px -12px #0009}.btn--primary:hover{background:#fff}.btn--ghost{color:var(--paper);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff0d;border:1px solid #f4ead447}.btn--ghost:hover{background:#ffffff1f;border-color:#f4ead480}.btn--ink{background:var(--night-2);color:var(--cream);box-shadow:0 10px 30px -12px #16165899}.btn--ink:hover{background:var(--night)}.btn--outline-ink{color:var(--ink);border:1px solid #2a1b2f40}.btn--outline-ink:hover{background:#2a1b2f0f}.btn:disabled{opacity:.7;cursor:progress}.btn:active{transform:scale(.97)}.nav{z-index:60;padding:14px var(--gutter-x) 0;pointer-events:none;position:fixed;top:0;left:0;right:0}.nav__bar{pointer-events:auto;border:1px solid #0000;border-radius:999px;justify-content:space-between;align-items:center;gap:1rem;max-width:1240px;margin:0 auto;padding:8px 8px 8px 14px;transition:background .4s,border-color .4s,box-shadow .4s,transform .5s cubic-bezier(.2,.8,.2,1);display:flex}.nav--solid .nav__bar{-webkit-backdrop-filter:blur(16px)saturate(1.4);background:#0f10389e;border-color:#f4ead41f;box-shadow:0 18px 40px -20px #0009}.nav--hidden .nav__bar{transform:translateY(-140%)}.nav__brand{align-items:center;gap:.5rem;display:flex}.nav__brand img{width:auto;height:26px;transition:transform .4s cubic-bezier(.3,1.6,.5,1)}.nav__brand:hover img{transform:rotate(-3deg)scale(1.04)}.nav__actions{align-items:center;gap:.4rem;display:flex}.nav__actions .btn{min-height:42px;padding:0 1rem;font-size:.9rem}.nav__icon{width:42px;height:42px;color:var(--paper);border-radius:999px;place-items:center;transition:background .2s;display:grid}.nav__icon:hover{background:#ffffff1a}.nav__icon svg{width:22px;height:22px}.nav__progress{background:var(--gold);transform-origin:0;z-index:70;width:100%;height:2px;position:fixed;top:0;left:0;transform:scaleX(0)}#hero{background:radial-gradient(120% 80% at 70% 10%, #23237a 0%, transparent 60%), linear-gradient(180deg, #0b0b2c 0%, var(--night) 60%, #120f3d 100%);height:100svh;min-height:680px;color:var(--paper);position:relative;overflow:clip}.hero__sky{object-fit:cover;object-position:50% 38%;opacity:.5;width:100%;height:100%;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000 0%,#000 35% 70%,#0000 100%);mask-image:linear-gradient(#0000 0%,#000 35% 70%,#0000 100%)}.hero__shade{background:radial-gradient(60% 50% at 30%,#0f1038bf,#0000 70%),linear-gradient(#0000 60%,#0f1038e6);position:absolute;inset:0}.hero__stars{width:100%;height:100%;position:absolute;inset:0}.hero__inner{z-index:2;align-content:center;gap:1.25rem;height:100%;padding-top:76px;padding-bottom:64px;display:grid;position:relative}.hero__copy{z-index:4;flex-direction:column;order:2;align-items:center;display:flex;position:relative}.note-wrap{transform-origin:30%;filter:drop-shadow(0 26px 30px #0000008c);width:clamp(380px,31vw,470px);rotate:4deg}@media (width<=1279px){.note-wrap{--edge:var(--gutter-x);width:min(calc(36vw + var(--edge)), 420px);margin-left:calc(-1 * var(--edge) + 10px);rotate:7deg}}.note-bend{transform-origin:0%;transform:perspective(1300px)rotateY(-11deg)rotateX(3deg);container-type:inline-size}.note{--lh:7cqw;color:var(--ink);text-align:left;clip-path:polygon(0 0,100% 0,100% 97.4%,96% 99%,91% 97.6%,86% 99.5%,80% 97.8%,74% 99.3%,68% 98%,61% 99.6%,55% 97.7%,48% 99.3%,42% 98%,35% 99.7%,29% 97.9%,22% 99.4%,16% 98.1%,9% 99.6%,4% 98%,0 99.2%);background:radial-gradient(120% 90% at 50% 40%,#0000 55%,#96693738),url(/art/ink-paper.webp) 50%/cover,#f1e6cc;padding:11cqw 8cqw 9cqw 9cqw;position:relative}.note:after{content:"";z-index:2;pointer-events:none;mix-blend-mode:soft-light;background:linear-gradient(100deg,#3c230f29 0%,#0000 22%,#fff3 52%,#0000 68%,#3c230f24 100%);position:absolute;inset:0}.note__pin{z-index:3;width:6.5cqw;position:absolute;top:2.2cqw;left:50%;translate:-50%}.note__tape{background:#d98a7a99;width:22cqw;height:5.6cqw;position:absolute;top:3cqw;left:-4cqw;rotate:-38deg;-webkit-mask:linear-gradient(90deg,#0000,#000 7% 93%,#0000);mask:linear-gradient(90deg,#0000,#000 7% 93%,#0000)}.note__date{font-family:var(--font-serif);letter-spacing:.3em;text-transform:uppercase;color:#2a1b2f99;font-size:max(10px,2.5cqw)}.note__date:after{content:"";background:currentColor;width:6cqw;height:1px;margin-top:2cqw;display:block}.note__title{color:var(--ink);margin-top:2.6cqw;font-size:11cqw}.note__body{font-size:5.3cqw;line-height:var(--lh);color:#3d3a7a;background:repeating-linear-gradient(to bottom, transparent 0 calc(var(--lh) - 1px), #3d3a7a29 calc(var(--lh) - 1px) var(--lh));margin-top:3.2cqw}.note__ps{color:#a5503d;align-items:flex-end;gap:1cqw;margin-top:3.6cqw;font-size:4.8cqw;line-height:1.1;display:flex}.note__ps svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:8cqw;height:10cqw;margin-bottom:-4cqw}.note__ps path{stroke-dasharray:130;stroke-dashoffset:130px;animation:3.2s ease-in-out infinite draw}.note__ps path+path{animation-delay:.45s}@keyframes draw{0%{stroke-dashoffset:130px;opacity:1}45%,80%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:0;opacity:0}}.hero__stage{aspect-ratio:1;order:1;justify-self:center;width:min(300px,62vw);position:relative}@media (width<=899px){.hero__inner{gap:.5rem;padding-top:92px;padding-bottom:28px}.hero__stage{width:min(230px,56vw)}.note-wrap{width:min(calc(100% + var(--edge)), 440px);align-self:flex-start;rotate:5deg}.note{--lh:7.6cqw;padding:12cqw 6cqw 8cqw 9cqw}.note__title{font-size:9.6cqw}.note__body{font-size:5.6cqw}.bubble{font-size:1.1rem;top:-6%;left:52%}}@media (width>=600px) and (width<=899px){.hero__stage{width:300px}}@media (height<=760px) and (width<=899px){.hero__stage{width:min(200px,48vw)}}@media (width>=900px){.hero__inner{grid-template-columns:1.1fr .9fr;align-items:center;gap:2rem}.hero__copy{order:1;align-items:flex-start}.hero__stage{order:2;width:min(540px,40vw)}}.mascot{cursor:pointer;z-index:3;background:0 0;border:0;width:62%;padding:0;position:absolute;top:50%;left:50%;translate:-50% -50%}.mascot img{filter:drop-shadow(0 30px 40px #5b5bff59);transform-origin:50% 90%;width:100%;height:auto}.mascot__glow{background:var(--rainbow);filter:blur(60px);opacity:.35;z-index:-1;border-radius:50%;animation:6s ease-in-out infinite glow;position:absolute;inset:8%}@keyframes glow{50%{opacity:.55;transform:scale(1.08)rotate(20deg)}}.bubble{z-index:4;background:var(--cream);color:var(--ink);font-family:var(--font-hand);white-space:nowrap;transform-origin:0 100%;pointer-events:none;border-radius:18px 18px 18px 4px;padding:.5rem .95rem .6rem;font-size:clamp(1.15rem,1.8vw,1.5rem);line-height:1.1;position:absolute;top:2%;left:58%;box-shadow:0 14px 30px -12px #00000080}.float{z-index:2;width:var(--s,18%);left:var(--x);top:var(--y);pointer-events:none;position:absolute;translate:-50% -50%}.float img{width:100%;height:auto;animation:bob var(--d,6s) ease-in-out infinite;animation-delay:var(--delay,0s);filter:drop-shadow(0 12px 16px #00000059)}@keyframes bob{0%,to{transform:translateY(0) rotate(var(--r,0deg))}50%{transform:translateY(-12px) rotate(calc(var(--r,0deg) + 6deg))}}.spark{z-index:5;pointer-events:none;border-radius:2px;width:7px;height:11px;position:absolute;top:45%;left:50%}.sunbook{z-index:3;aspect-ratio:3/4;pointer-events:none;will-change:transform;position:absolute}.sunbook__body{opacity:0;will-change:transform;position:absolute;inset:0}.sunbook__halo{background:radial-gradient(circle,#fff4d6f2,#0000 62%);border-radius:50%;position:absolute;inset:-45%}.sunbook__shadow{filter:blur(18px);background:#3c281e59;border-radius:50%;height:12%;position:absolute;bottom:-5%;left:-2%;right:-2%}.sunbook__cover{border-radius:0 3% 3% 0;position:absolute;inset:0;overflow:hidden;box-shadow:inset 3px 0 6px #00000040;container-type:inline-size}.sunbook .cover-name{justify-content:center;align-items:center;display:flex}.hero__dot{z-index:1;opacity:0;pointer-events:none;will-change:transform;border-radius:50%;width:0;height:0;position:absolute;overflow:hidden;box-shadow:0 0 220px 90px #ffd68c73}.hero__dot>span{position:absolute;inset:0}.hero__sun{background:url(/art/night.jpg) no-repeat}.hero__glow{opacity:0;background:radial-gradient(circle,#fff8e6 0%,#ffe8b4 35%,#f8d6a0 62%,#efe4cc 100%)}.hero__day{opacity:0;background:var(--paper-noise), var(--scene)}#hero{z-index:2}#book{z-index:1;--page-ink:#2a1b2f;--page-paper:#fbf6ea;--insert:#efe4cf;--gutter:#2a1b2f29;--spine:#5d4a74;--cover-edge:#8d7aa5;background:var(--paper-noise), var(--scene);height:100svh;color:var(--ink);margin-top:calc(-1*max(100svh,680px));position:relative;overflow:clip}.book-stage{perspective:2200px;pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.book-tilt{transform-style:preserve-3d;pointer-events:none;transition:transform .6s cubic-bezier(.2,.8,.2,1)}.book{width:var(--book-w);aspect-ratio:3/4;perspective:1600px;min-width:150px;transform-style:preserve-3d;pointer-events:none;position:relative}.book__shadow{filter:blur(18px);background:#3c281e59;border-radius:50%;height:12%;position:absolute;bottom:-5%;left:-2%;right:-2%;transform:translateZ(-30px)}.book__spine{background:linear-gradient(90deg, #3e3052, var(--spine));transform-origin:0;border-radius:3px;width:14px;height:100%;position:absolute;top:0;left:0;transform:translateZ(-13px)}#book .book__page{transform-style:preserve-3d;pointer-events:none;transform-origin:0;border-radius:0 3% 3% 0;width:96%;height:95%;position:absolute;top:2.5%;left:1.5%}#book .book__cover{width:100%;height:100%;top:0;left:0}.page__half{backface-visibility:hidden;background:var(--page-paper);pointer-events:auto;transform:rotateY(calc(var(--rotation) * 1deg)) translate3d(0, 0, calc(.5px * var(--coefficient)));position:absolute;inset:0;overflow:clip}.page__half[inert]{pointer-events:none}.page__half--front{--rotation:0;--coefficient:0;border-radius:0 3% 3% 0}.page__half--back{--rotation:180;--coefficient:2;border-radius:3% 0 0 3%}.book__page:not(.book__cover) .page__half--front:after,.book__page:not(.book__cover) .page__half--back:after{content:"";pointer-events:none;position:absolute;inset:0}.book__page:not(.book__cover) .page__half--front:after{background:linear-gradient(to right, var(--gutter), transparent 9%)}.book__page:not(.book__cover) .page__half--back:after{background:linear-gradient(to left, var(--gutter), transparent 9%)}.page__light{z-index:2;opacity:0;pointer-events:none;position:absolute;inset:0}.page__half--front .page__light{background:linear-gradient(270deg,#28191473,#28191414)}.page__half--back .page__light{background:linear-gradient(90deg,#ffffff80,#2819141f)}.book__cover .page__half{background:var(--cloth)}.book__cover--front .page__half--front{box-shadow:inset 3px 0 6px #00000040}.book__cover--front .page__half--back,.book__cover--back .page__half--front{background:var(--paper-noise), var(--insert)}.book__cover--front .page__half--back .page__inner,.book__cover--back .page__half--front .page__inner{border:3.2cqw solid var(--cover-edge)}.page__content{width:100%;height:100%;position:relative;container-type:inline-size}.page__inner{width:100%;height:100%;font-family:var(--font-sans);color:var(--page-ink);flex-direction:column;padding:10cqw 9cqw;display:flex;position:relative}.leaf{background-repeat:no-repeat;background-size:200%;position:absolute;inset:0}.leaf--L{background-position:0%}.leaf--R{background-position:100%}.cover-art{background:url(/art/cover-redkeep-castle-v1.jpg) 50%/100% 100% no-repeat;position:absolute;inset:0}.cover-art:after{content:"";background:radial-gradient(60% 50% at var(--gx,30%) var(--gy,20%), #ffffff38, transparent 70%);mix-blend-mode:soft-light;pointer-events:none;position:absolute;inset:0}.cover-name{text-align:center;width:66%;min-width:0;height:8%;font-family:var(--font-hand);color:#4b2f4f;caret-color:#4b2f4f;cursor:text;background:0 0;border:0;outline:none;padding:0;font-size:9cqw;font-weight:700;position:absolute;top:68.6%;left:17%;right:17%}.cover-name::placeholder{color:#4b2f4f73;font-weight:500}.cover-name:focus-visible{background:#ffffff26;border-radius:4px;outline:none}.toc a{color:var(--page-ink);cursor:pointer;align-items:baseline;gap:2cqw;padding:2.1cqw 0;font-size:4.3cqw;text-decoration:none;transition:color .2s;display:flex}.toc a:hover{color:#6b3fa0}.toc a:after{content:"";border-bottom:.4cqw dotted #2a1b2f4d;flex:1;order:2;transform:translateY(-1cqw)}.toc a b{font-family:var(--font-serif);opacity:.6;order:3;font-size:3.6cqw;font-weight:400}.toc a span{order:1}.toc a em{font-family:var(--font-serif);letter-spacing:.2em;opacity:.5;margin-right:1.5cqw;font-size:3cqw;font-style:normal}.book__caption{z-index:5;width:min(560px, calc(100% - 2 * var(--gutter-x)));text-align:center;pointer-events:none;position:absolute;bottom:max(24px,4vh);left:50%;translate:-50%}.book__caption .eyebrow{color:#7a5a8e;justify-content:center}.book__caption .eyebrow:before{display:none}.book__caption h3{margin-top:.4rem;font-size:clamp(1.45rem,3.2vw,2.4rem)}.book__caption p{color:var(--ink-soft);margin-top:.5rem;font-size:clamp(.92rem,1.2vw,1.05rem);line-height:1.55}.book__rail{z-index:6;right:var(--gutter-x);flex-direction:column;gap:.35rem;display:none;position:absolute;top:50%;translate:0 -50%}.book__rail button{font-family:var(--font-serif);letter-spacing:.06em;color:var(--ink);cursor:pointer;opacity:.45;background:0 0;border:0;justify-content:flex-end;align-items:center;gap:.7rem;padding:.3rem 0;font-size:.82rem;transition:opacity .25s;display:flex}.book__rail button:after{content:"";background:currentColor;border-radius:2px;width:18px;height:2px;transition:width .35s cubic-bezier(.2,.8,.2,1),background .3s}.book__rail button:hover{opacity:.85}.book__rail button[aria-current=true]{opacity:1}.book__rail button[aria-current=true]:after{background:var(--ink);width:38px}.caption-in{animation:.7s cubic-bezier(.2,.8,.2,1) both caption-in}@keyframes caption-in{0%{opacity:0;filter:blur(4px);transform:translateY(14px)}}#book{--book-w:min(46vw, 48vh, 460px)}.book-stage{padding-bottom:18vh}@media (height<=520px){.book__caption p{display:none}}@media (width>=1100px){.book__rail{display:flex}}@media (width>=1600px){#book{--book-w:min(26vw, 58vh, 500px)}.book-stage{padding-bottom:0}.book__caption{left:var(--gutter-x);width:calc(50vw - var(--book-w) - var(--gutter-x) - 2.5rem);text-align:left;max-width:340px;top:50%;bottom:auto;translate:0 -50%}.book__caption .eyebrow{justify-content:flex-start}.book__caption h3{font-size:clamp(1.7rem,2.2vw,2.4rem)}}.section{padding:clamp(80px,12vw,160px) 0;position:relative}.section--night{background:radial-gradient(80% 60% at 80% 0%, #1e1e6b 0%, transparent 60%), var(--night);color:var(--paper)}.section--paper{background:var(--paper-noise), var(--scene);color:var(--ink)}#inside{margin-top:-2px}.reveal{opacity:1;transform:none}.torn{z-index:3;pointer-events:none;width:100%;height:clamp(90px,9vw,140px);position:absolute;bottom:-1px;left:0}#inside{padding-bottom:clamp(40px,6vw,80px)}.inside__eyebrow{text-align:center;font-family:var(--font-serif);letter-spacing:.32em;text-transform:uppercase;color:#7a5a8e;font-size:.78rem}.inside__stage{--pw:clamp(210px, 20vw, 290px);--spread:calc(var(--pw) * .72);height:calc(var(--pw) * 2.17 + 60px);perspective:1500px;transform-style:preserve-3d;cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none;outline:none;margin-top:2rem;position:relative}.inside__stage:active{cursor:grabbing}.inside__stage:focus-visible .phone--front{outline-offset:6px;outline:2px solid #6b3fa0}.phone{width:var(--pw);margin-left:calc(var(--pw) / -2);padding:calc(var(--pw) * .03);border-radius:calc(var(--pw) * .14);translate:var(--drag) 0;filter:brightness(.92)saturate(.9);cursor:pointer;background:linear-gradient(145deg,#2a2834,#121118 60%);border:0;transition:transform .75s cubic-bezier(.2,.8,.2,1),opacity .5s,filter .5s;position:absolute;top:20px;left:50%;box-shadow:inset 0 0 0 1px #ffffff14,0 40px 60px -30px #28190f8c,0 12px 24px -12px #28190f59}.phone--front{filter:none;cursor:grab}.phone:before{content:"";background:#24222d;border-radius:0 3px 3px 0;width:3px;height:14%;position:absolute;top:22%;right:-3px}.phone__screen{border-radius:calc(var(--pw) * .11);aspect-ratio:600/1300;background:#f7f3fb;display:block;position:relative;overflow:hidden}.phone__screen:after{content:"";aspect-ratio:1;background:#0d0c12;border-radius:50%;width:4.2%;position:absolute;top:1.6%;left:50%;translate:-50%;box-shadow:0 0 0 1.5px #ffffff0f}.phone__screen img{object-fit:cover;pointer-events:none;width:100%;height:100%;display:block}.inside__caption{text-align:center;max-width:34rem;min-height:7.5rem;margin:.5rem auto 0}.inside__caption h3{font-size:clamp(1.6rem,2.6vw,2.2rem)}.inside__caption p{color:var(--ink-soft);margin-top:.5rem;font-size:1rem;line-height:1.6}.inside__tabs{flex-wrap:wrap;justify-content:center;align-items:center;gap:.3rem;margin-top:1.2rem;display:flex}.inside__tabs button{font-family:var(--font-serif);color:#2a1b2f99;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;padding:.45rem .9rem;font-size:.85rem;transition:color .2s,border-color .2s,background .2s}.inside__tabs button:hover{color:var(--ink)}.inside__tabs button[aria-pressed=true]{color:var(--ink);background:#fff6;border-color:#2a1b2f40}.inside__tabs .inside__arrow{font-family:var(--font-sans);color:var(--ink);font-size:1rem}@media (width<=719px){.inside__stage{--pw:min(62vw, 250px);--spread:calc(var(--pw) * .5)}.inside__tabs button:not(.inside__arrow){display:none}.inside__tabs{gap:1.2rem}.inside__tabs .inside__arrow{border-color:#2a1b2f33;width:46px;height:46px}}.features{--rule:#2a1b2f29;border-top:1px solid var(--rule);grid-template-columns:1fr;display:grid}.feature{border-bottom:1px solid var(--rule);flex-direction:column;gap:.7rem;padding:2rem 0 2.4rem;display:flex}@media (width>=720px){.features{grid-template-columns:repeat(2,1fr)}.feature{padding:2.2rem 2rem 2.6rem}.feature:nth-child(2n){border-left:1px solid var(--rule)}}@media (width>=1080px){.features{grid-template-columns:repeat(3,1fr)}.feature:nth-child(2n){border-left:0}.feature:not(:nth-child(3n+1)){border-left:1px solid var(--rule)}.feature:nth-child(3n+1){padding-left:0}.feature:nth-child(3n){padding-right:0}}.feature__top{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.feature__label{font-family:var(--font-serif);letter-spacing:.28em;text-transform:uppercase;color:#2a1b2f8c;padding-top:.4rem;font-size:.72rem}.feature__art{flex:none;place-items:center;width:84px;height:84px;display:grid;position:relative}.feature__art:before{content:"";background:var(--wash);opacity:.22;filter:blur(6px);border-radius:46% 54% 40% 60%/55% 45%;position:absolute;inset:10% 6% 4% 12%}.feature__art img{object-fit:contain;width:76px;height:76px;transition:transform .5s cubic-bezier(.3,1.6,.5,1);position:relative}.feature:hover .feature__art img{transform:rotate(-6deg)scale(1.06)}.feature h3{font-family:var(--font-serif);font-size:clamp(1.45rem,2vw,1.75rem);font-weight:500;line-height:1.15}.feature p{max-width:34ch;color:var(--ink-soft);font-size:.98rem;line-height:1.6}.feature__demo{flex-direction:column;justify-content:flex-end;min-height:150px;margin-top:auto;padding-top:.8rem;display:flex}.footer{padding:40px 0 calc(40px + env(safe-area-inset-bottom));background:var(--night);color:#f4ead499;border-top:1px solid #f4ead414;font-size:.9rem}.footer .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.2rem;display:flex}.footer nav{flex-wrap:wrap;gap:1.2rem;display:flex}.footer a:hover{color:var(--cream)}html{scroll-padding-top:110px}.wordmark{color:var(--paper);font-family:var(--font-hand);font-size:clamp(1.8rem,3vw,2.8rem);font-weight:700;line-height:1;text-decoration:none}.nav__brand.wordmark{transform-origin:0 0}.nav:focus-within .nav__bar{background:var(--night)}.skip-link{z-index:100;background:var(--cream);color:var(--ink);padding:12px;position:fixed;top:8px;left:8px;transform:translateY(-160%)}.skip-link:focus{transform:none}.btn:disabled,.book-download:disabled{cursor:not-allowed;opacity:.75}.book-download{background:var(--night);color:var(--cream);border-radius:999px;padding:3cqw 7cqw}.nav__actions{flex-wrap:wrap;justify-content:flex-end}.hero__inner{min-height:inherit}.static-stars{opacity:.5;background-image:radial-gradient(1px 1px at 12% 25%,#fff 100%,#0000),radial-gradient(2px 2px at 80% 16%,#cfaa62 100%,#0000),radial-gradient(1px 1px at 36% 9%,#fff 100%,#0000),radial-gradient(1px 1px at 65% 37%,#fff 100%,#0000);background-size:300px 280px}.hero__ps{line-height:1.4}.leaf-brand{color:#4b3546;font:500 2.3cqw var(--font-serif);letter-spacing:.1em;text-align:center;background:#f4eadb;padding:.8cqw 2cqw;position:absolute;top:5.8%}.leaf-brand--R{left:9%;right:9%}.leaf-brand--L{display:none}.book__caption{bottom:max(24px,4vh)}.book__caption p{color:#57434f}.book__rail button{opacity:1;min-height:44px}.book__rail button[aria-current=true]{font-weight:700}.book__caption .eyebrow,.inside__eyebrow{color:#674474}.gallery-note{text-align:center;color:#57434f;max-width:40rem;margin:1rem auto 0;line-height:1.6}.inside__tabs button{color:#57434f;min-width:44px;min-height:44px}.feature__label{color:#67525d}.feature p,.inside__caption p{color:#57434f}.footer{color:#c7bcb7}.feature,.nav__actions,.footer nav,.book__caption{overflow-wrap:anywhere}@media (width<=719px){.nav{padding-top:max(8px, env(safe-area-inset-top))}.nav__bar{align-items:flex-start;gap:.4rem;padding-left:0}.nav__brand.wordmark{font-size:32px}.nav__icon{display:none}.nav__actions .btn{padding:0 .7rem;font-size:.8rem}.bubble{white-space:normal;max-width:90%;top:-12%;left:20%}.hero__inner{padding-top:130px}#hero{min-height:830px}}.nav__bar{flex-wrap:wrap}.nav__brand.wordmark{overflow-wrap:anywhere;max-width:100%}.nav__actions{max-width:100%}.book__caption{pointer-events:auto;max-height:36svh;overflow:auto}@media (width<=719px){#book{margin-top:calc(-1*max(100svh,830px))}}.hero-pin{pointer-events:none}#hero{pointer-events:auto}.drift{height:150px;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(#0000,#000 25% 75%,#0000);mask-image:linear-gradient(#0000,#000 25% 75%,#0000)}.drift span{left:var(--x);color:#3d3a7a;white-space:nowrap;background:#fffaf0;border-radius:3px;padding:.2rem .7rem .3rem;font-size:1.15rem;animation:8.8s linear infinite drift;position:absolute;bottom:0;box-shadow:0 6px 12px -8px #0006}.drift span:nth-child(odd){rotate:-2deg}.drift span:nth-child(2n){rotate:2deg}@keyframes drift{0%{opacity:0;transform:translateY(40px)}15%{opacity:1}to{opacity:1;transform:translateY(-170px)}}.prints{height:150px;margin:.4rem 0 .2rem;position:relative}.prints figure{width:112px;transform:translateX(-50%) rotate(var(--r));background:#fff;border-radius:3px;padding:7px 7px 26px;transition:transform .55s cubic-bezier(.3,1.4,.5,1);position:absolute;top:0;left:50%;box-shadow:0 10px 20px -8px #00000059}.prints figure div{aspect-ratio:1;background-repeat:no-repeat;background-size:380%}.prints figcaption{text-align:center;font-family:var(--font-hand);color:var(--ink);font-size:1rem;position:absolute;bottom:3px;left:0;right:0}@media (hover:none){.prints figure{transform:translateX(calc(-50% + var(--fx) * .8)) rotate(calc(var(--r) * 1.6))}}.feature:hover .prints figure{transform:translateX(calc(-50% + var(--fx))) rotate(calc(var(--r) * 2.2))}.scan{grid-template-columns:1fr 1fr;gap:.9rem;margin:.6rem 0 .4rem;display:grid}.scan__page,.scan__text{border-radius:10px;padding:.8rem .9rem;position:relative;overflow:hidden}.scan__page{background:repeating-linear-gradient(0deg,#0000 0 25px,#2a1b2f1a 25px 26px),#fffaf0;rotate:-2deg;box-shadow:0 10px 20px -12px #0006}.scan__page p{color:#3d3a7a;font-size:1.25rem;line-height:26px}.scan__beam{background:#ffd84a;height:3px;animation:3.6s ease-in-out infinite beam;position:absolute;top:0;left:0;right:0;box-shadow:0 0 18px 6px #ffd84a73}@keyframes beam{0%,to{transform:translateY(0)}50%{transform:translateY(96px)}}.scan__text{background:#2a1b2f0d;border:1px dashed #2a1b2f26}.scan__text p{font-family:var(--font-serif);padding:.2rem 0 .45rem;font-size:.88rem;line-height:1.35;animation:3.6s ease-in-out infinite typein}.scan__text p:nth-child(2){animation-delay:.4s}.scan__text p:nth-child(3){animation-delay:.8s}@keyframes typein{0%,15%{opacity:0;transform:translate(-6px)}35%,85%{opacity:1;transform:none}to{opacity:0}}.wave{align-items:center;gap:4px;height:64px;margin:.4rem 0;display:flex}.wave i{background:var(--rainbow);background-size:600% 100%;border-radius:6px;flex:1;max-width:6px;height:30%;animation:1.1s ease-in-out infinite wave}@keyframes wave{50%{height:var(--h,90%)}}.ask{font-family:var(--font-serif);min-height:52px;color:var(--ink);background:#ffffff8c;border:1px solid #2a1b2f29;border-radius:14px;align-items:center;gap:.6rem;margin:.5rem 0;padding:.7rem .9rem;font-size:1rem;display:flex}.ask svg{opacity:.7;flex:none;width:18px;height:18px}.swatches{gap:.5rem;margin:.6rem 0;display:flex}.swatches button{border:3px solid var(--cream);background:var(--c);cursor:pointer;border-radius:50%;width:30px;height:30px;transition:transform .25s;box-shadow:0 0 0 1px #2a1b2f2e}.swatches button[aria-pressed=true]{box-shadow:0 0 0 2px var(--c);transform:scale(1.12)}.theme-demo{background:var(--td-bg);color:var(--td-fg);border-radius:16px;align-items:center;gap:1rem;margin-top:.4rem;padding:.8rem 1rem;transition:background .5s,color .5s;display:flex}.theme-demo img{width:58px;height:58px}.theme-demo b{font-family:var(--font-serif);font-size:1.15rem;font-weight:500;display:block}.theme-demo span{opacity:.7;font-size:.85rem}.theme-demo .bar{background:var(--accent);border-radius:6px;height:6px;margin-top:.4rem;transition:background .4s}.demo__caret{vertical-align:-.15em;background:#6b3fa0;width:2px;height:1.1em;margin-left:2px;animation:.9s step-end infinite caret;display:inline-block}@keyframes caret{50%{opacity:0}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
