@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(./fraunces-latin-600-normal-BFCDtZfi.woff2) format("woff2"),url(./fraunces-latin-600-normal-DL5QCzvS.woff) format("woff")}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:400;src:url(./lora-latin-400-normal-DnxXpLNu.woff2) format("woff2"),url(./lora-latin-400-normal-DBJS-Hc6.woff) format("woff")}@font-face{font-family:Lora;font-style:italic;font-display:swap;font-weight:400;src:url(./lora-latin-400-italic-DYjZp4sZ.woff2) format("woff2"),url(./lora-latin-400-italic-wRLkZNVE.woff) format("woff")}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:600;src:url(./lora-latin-600-normal-B-3RcLOQ.woff2) format("woff2"),url(./lora-latin-600-normal-Dc3EneHn.woff) format("woff")}@font-face{font-family:Kalam;font-style:normal;font-display:swap;font-weight:400;src:url(./kalam-latin-400-normal-BthBl_aR.woff2) format("woff2"),url(./kalam-latin-400-normal-Bl-H2BUA.woff) format("woff")}:root{--sky-top: #b9d3dc;--sky-bottom: #eaf0ea;--paper: #f5ecd7;--paper-aged: #e8d9b5;--paper-light: #fbf5e6;--page-line: #d9c79c;--cover: #8c3b34;--cover-edge: #6b2b26;--ink: #3a2e26;--pencil: #5c4b3e;--mustard: #e0a938;--mustard-deep: #a66f00;--blue-faded: #7fa8b8;--shadow-rgb: 58 46 38;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--space-12: 48px;--space-16: 64px;--space-24: 96px;--shadow-1: 0 2px 6px rgb(var(--shadow-rgb) / .18);--shadow-2: 0 6px 14px rgb(var(--shadow-rgb) / .22);--shadow-3: 0 24px 48px rgb(var(--shadow-rgb) / .28), 0 4px 8px rgb(var(--shadow-rgb) / .18);--shadow-3-deep: 0 32px 56px rgb(var(--shadow-rgb) / .32), 0 4px 8px rgb(var(--shadow-rgb) / .18);--ease-soft: cubic-bezier(.22, 1, .36, 1);--ease-inout: cubic-bezier(.45, 0, .55, 1);--dur-press: .15s;--dur-hover: .2s;--dur-fade: .3s;--dur-enter: .5s;--dur-turn: .7s;--dur-open: 1.4s;--dur-float: 4s;--font-display: "Fraunces", Georgia, serif;--font-body: "Lora", Georgia, serif;--font-hand: "Kalam", "Bradley Hand", "Segoe Print", cursive;--gutter: var(--space-12);--page-pad: var(--space-12);--page-pad-spine: var(--space-16);--grid-gap: var(--space-6);--photo-gap: var(--space-6);--mat: var(--space-3);--mat-bottom: var(--space-8);--control-size: 44px;--heading-size: 40px;--caption-size: 22px;--title-size: 72px;--subtitle-size: 20px;--cover-pad: var(--space-12);--stitch-inset: var(--space-4);--grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0.07'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)'/%3E%3C/svg%3E");--grain-cover: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0.12'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)'/%3E%3C/svg%3E");--paper-fill: radial-gradient(ellipse at 50% 40%, var(--paper) 55%, var(--paper-aged) 100%)}@media(max-width:768px){:root{--gutter: var(--space-4);--page-pad: var(--space-6);--page-pad-spine: var(--space-6);--grid-gap: var(--space-4);--photo-gap: var(--space-4);--mat: var(--space-2);--mat-bottom: var(--space-6);--control-size: 48px;--heading-size: 28px;--caption-size: 18px;--title-size: 44px;--subtitle-size: 18px;--cover-pad: var(--space-8);--stitch-inset: var(--space-3)}}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{overflow:hidden;background:linear-gradient(180deg,var(--sky-top),var(--sky-bottom));color:var(--ink);font-family:var(--font-body);font-size:18px;line-height:1.65;-webkit-font-smoothing:antialiased;font-synthesis:none}button{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--mustard-deep);outline-offset:2px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.stage{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:var(--gutter);height:100dvh;overflow:hidden}.clouds{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none}.cloud{position:absolute;aspect-ratio:2.4;background:radial-gradient(closest-side,rgb(255 255 255 / .55),transparent)}.cloud--1{width:560px;top:4%;left:-6%}.cloud--2{width:440px;top:14%;right:-4%}.cloud--3{width:400px;top:1%;left:42%}.vignette{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(transparent 60%,rgb(var(--shadow-rgb) / .12));z-index:10}.gate{display:grid;justify-items:center;gap:var(--space-4);width:min(440px,100%);padding:var(--space-12) var(--space-8);border-radius:4px;background:var(--grain),var(--paper-fill);background-blend-mode:multiply;box-shadow:var(--shadow-3);text-align:center}.gate__lock{margin-bottom:var(--space-2)}.gate__heading{margin:0;font-family:var(--font-display);font-weight:600;font-size:var(--heading-size);line-height:1.15;color:var(--ink);text-wrap:balance}.gate__prompt{margin:0;font-family:var(--font-hand);font-size:var(--caption-size);line-height:1.5;color:var(--pencil)}.gate__label{margin-top:var(--space-4);font-weight:600;font-size:16px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}.gate__row{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3);width:100%}.gate__input{flex:1 1 180px;min-width:0;min-height:48px;padding:var(--space-2) var(--space-4);border:2px solid var(--page-line);border-radius:4px;background:var(--paper-light);color:var(--ink);font:inherit;font-size:18px;text-align:center}.gate__input[aria-invalid=true]{border-color:var(--mustard-deep)}.gate__button{position:relative;min-height:48px;padding:0 var(--space-6);border:0;border-radius:24px;background:var(--paper-light);box-shadow:var(--shadow-2);cursor:pointer;font-weight:600;font-size:16px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);transition:transform var(--dur-hover) var(--ease-soft)}.gate__button:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:var(--mustard);opacity:0;transition:opacity var(--dur-hover) var(--ease-soft)}.gate__button span{position:relative}.gate__button:disabled{cursor:default}@media(hover:hover){.gate__button:not(:disabled):hover{transform:scale(1.06)}.gate__button:not(:disabled):hover:before{opacity:1}}.gate__button:not(:disabled):active{transform:scale(.96)}.gate__hint{min-height:1.5em;margin:0;font-family:var(--font-hand);font-size:18px;line-height:1.5;color:var(--pencil)}.cover-stage{grid-area:1 / 1;z-index:3}.cover-float{perspective:1800px}.cover{--cover-w: min(480px, 100vw - 2 * var(--space-4), (100dvh - 2 * var(--space-12)) * .75);position:relative;display:grid;place-items:center;width:var(--cover-w);aspect-ratio:3 / 4;padding:var(--cover-pad);border-radius:6px;transform-style:preserve-3d;transform-origin:left center;cursor:pointer;text-align:center;transition:transform var(--dur-hover) var(--ease-soft)}.cover__front,.cover__back{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;backface-visibility:hidden}.cover__front{background:var(--grain-cover),var(--cover);background-blend-mode:multiply;box-shadow:inset 0 0 0 1px var(--cover-edge),inset 14px 0 18px -10px var(--cover-edge),var(--shadow-3)}.cover__back{transform:rotateY(180deg);background:var(--grain),var(--paper-fill);background-blend-mode:multiply;box-shadow:inset 0 0 0 1px var(--page-line)}.cover__stitch,.cover__content{backface-visibility:hidden}.cover__content{position:relative}.cover:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;box-shadow:var(--shadow-3-deep);opacity:0;pointer-events:none;transition:opacity var(--dur-hover) var(--ease-soft)}.cover__stitch{position:absolute;inset:var(--stitch-inset);border-radius:3px;pointer-events:none;--dash: repeating-linear-gradient(90deg, var(--mustard) 0 6px, transparent 6px 10px);--dash-v: repeating-linear-gradient(180deg, var(--mustard) 0 6px, transparent 6px 10px);background:var(--dash) top / 100% 2px no-repeat,var(--dash) bottom / 100% 2px no-repeat,var(--dash-v) left / 2px 100% no-repeat,var(--dash-v) right / 2px 100% no-repeat}.cover__content{display:grid;justify-items:center;gap:var(--space-6)}.cover__title{margin:0;font-family:var(--font-display);font-weight:600;font-size:var(--title-size);line-height:1.05;letter-spacing:-.01em;color:var(--mustard);text-wrap:balance;text-shadow:0 1px 0 rgb(255 255 255 / .25),0 -1px 0 rgb(0 0 0 / .3)}.cover__subtitle{margin:0;font-style:italic;font-size:var(--subtitle-size);line-height:1.4;letter-spacing:.02em;color:var(--paper);text-wrap:balance}.cover__open{position:relative;margin-top:var(--space-8);min-height:44px;padding:var(--space-3) var(--space-4);border:0;border-radius:4px;background:none;cursor:pointer;font-weight:600;font-size:16px;line-height:1.2;letter-spacing:.08em;text-transform:uppercase;color:var(--paper)}.cover__open span{position:relative}.cover__open span:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--mustard);opacity:0;transition:opacity var(--dur-hover) var(--ease-soft)}.cover__open:focus-visible{box-shadow:0 0 0 7px var(--paper)}@media(hover:hover){.cover:not(.cover--opening):hover{transform:translateY(-4px)}.cover:not(.cover--opening):hover:after,.cover:not(.cover--opening):hover .cover__open span:after{opacity:1}}.cover:not(.cover--opening):active{transform:translateY(2px);transition-duration:var(--dur-press)}.book{grid-area:1 / 1;position:relative;width:min(1100px,100vw - 2 * var(--gutter),(100dvh - 2 * var(--gutter)) * 1.5);aspect-ratio:3 / 2;border-radius:4px;box-shadow:2px 2px 0 var(--paper),3px 3px 0 var(--page-line),5px 5px 0 var(--paper),6px 6px 0 var(--page-line),8px 8px 0 var(--paper),9px 9px 0 var(--page-line),var(--shadow-3)}.book__pages{position:absolute;top:0;right:0;bottom:0;left:0;perspective:2400px}.book__spread-slot{position:absolute;top:0;right:0;bottom:0;left:0}.book__chrome{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:4}.book__chrome>*{pointer-events:auto}.spread{display:grid;grid-template-columns:1fr 1fr;height:100%}.page{position:relative;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:var(--page-pad);container-type:size;background-blend-mode:multiply}.page--left{padding-right:var(--page-pad-spine);border-radius:4px 0 0 4px;background:var(--grain),linear-gradient(to left,rgb(var(--shadow-rgb) / .18),transparent 48px),var(--paper-fill)}.page--right{padding-left:var(--page-pad-spine);border-radius:0 4px 4px 0;background:var(--grain),linear-gradient(to right,rgb(var(--shadow-rgb) / .18),transparent 48px),var(--paper-fill)}.page__grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--grid-gap);min-height:100%;align-content:center}.page__grid--words{row-gap:var(--space-4)}.page__grid--words>*{grid-column:1 / 6}.leaf{position:absolute;top:0;bottom:0;width:50%;pointer-events:none;z-index:3;background:var(--grain),var(--paper-fill);background-blend-mode:multiply;box-shadow:var(--shadow-2);backface-visibility:visible}.leaf--next{left:50%;transform-origin:left center;border-radius:0 4px 4px 0}.leaf--prev{left:0;transform-origin:right center;border-radius:4px 0 0 4px}.date{margin:0;font-family:var(--font-hand);font-size:18px;line-height:1.4;color:var(--pencil)}.heading{margin:0;font-family:var(--font-display);font-weight:600;font-size:var(--heading-size);line-height:1.15;letter-spacing:-.005em;color:var(--ink);text-wrap:balance}.heading:focus{outline:none}.caption{margin:0;max-width:32ch;font-family:var(--font-hand);font-size:var(--caption-size);line-height:1.5;letter-spacing:.01em;color:var(--pencil);text-wrap:pretty}.closing-message{margin:0;max-width:60ch;font-size:18px;line-height:1.65;color:var(--ink);text-wrap:pretty}.proposal-lead{margin:0;font-family:var(--font-display);font-weight:600;font-size:var(--heading-size);line-height:1;color:var(--pencil)}.proposal-question{font-size:calc(var(--heading-size) * 1.4)}.photo-slot{display:grid;min-width:0;grid-column:1 / -1;justify-items:center;align-items:start}.layout-2 .photo-slot--1{grid-column:1 / 5;grid-row:1;justify-items:start}.layout-2 .photo-slot--2{grid-column:3 / 7;grid-row:2;justify-items:end}.layout-3 .photo-slot--1{grid-column:1 / 7;grid-row:1}.layout-3 .photo-slot--2{grid-column:1 / 4;grid-row:2}.layout-3 .photo-slot--3{grid-column:4 / 7;grid-row:2}.photo{--tilt: -2deg;position:relative;margin:0;max-width:100%;padding:var(--mat) var(--mat) var(--mat-bottom);border-radius:2px;background:var(--paper-light);box-shadow:var(--shadow-1);transform:rotate(var(--tilt));transition:transform var(--dur-hover) var(--ease-soft)}.photo--2{--tilt: 2deg}.photo--3{--tilt: -1deg}.photo__lift{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;box-shadow:var(--shadow-2);opacity:0;transition:opacity var(--dur-hover) var(--ease-soft)}.photo__frame{position:relative;display:block}.photo img{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100cqh - var(--mat) - var(--mat-bottom));border-radius:2px}.layout-2 .photo img,.layout-3 .photo img{max-height:calc((100cqh - var(--grid-gap)) / 2 - var(--mat) - var(--mat-bottom))}.photo__tint{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:2px;background:#e0a9380f;mix-blend-mode:multiply}.photo__tape{position:absolute;top:-12px;left:calc(50% - 36px);width:72px;height:24px;z-index:1;opacity:.45;transform:rotate(-6deg);clip-path:polygon(0 0,4px 20%,0 40%,4px 60%,0 80%,4px 100%,calc(100% - 4px) 100%,100% 80%,calc(100% - 4px) 60%,100% 40%,calc(100% - 4px) 20%,100% 0)}.photo__tape--mustard{background:var(--mustard)}.photo__tape--blue{background:var(--blue-faded);transform:rotate(6deg)}@media(hover:hover){.photo:hover{transform:rotate(0) translateY(-4px)}.photo:hover .photo__lift{opacity:1}}.trail{grid-column:1 / -1;margin:0;padding:0;list-style:none;justify-self:center}.trail__stop{position:relative;padding:0 0 var(--space-12) var(--space-12);font-family:var(--font-hand);font-size:var(--caption-size);line-height:1.4;color:var(--pencil)}.trail__stop:nth-child(2n){margin-left:var(--space-8)}.trail__stop:before{content:"";position:absolute;left:4px;top:.35em;width:16px;height:16px;border:2px solid var(--blue-faded);border-radius:50%;background:var(--paper-light)}.trail__stop:after{content:"";position:absolute;left:11px;top:calc(.35em + 20px);bottom:4px;width:0;border-left:2px dashed var(--blue-faded);opacity:.7;transform-origin:top;transform:rotate(-12deg)}.trail__stop:nth-child(2n):after{transform:rotate(12deg)}.trail__stop--x{padding-bottom:0;color:var(--ink)}.trail__stop--x:after{display:none}.trail__stop--x:before{left:0;top:.15em;width:24px;height:24px;border:0;border-radius:0;background:linear-gradient(45deg,transparent 44%,var(--mustard-deep) 44% 56%,transparent 56%),linear-gradient(-45deg,transparent 44%,var(--mustard-deep) 44% 56%,transparent 56%)}.horizon{grid-column:1 / -1;display:grid;place-items:center}.horizon__art{width:100%;max-height:calc(100cqh - var(--space-6))}.doodle{display:block;opacity:.7}.doodle--blue{color:var(--blue-faded);stroke:var(--blue-faded)}.doodle--pencil{color:var(--pencil);stroke:var(--pencil)}.margin-doodle{position:absolute;pointer-events:none}.margin-doodle--top{top:var(--space-3);right:var(--space-4)}.margin-doodle--bottom{bottom:var(--space-3);left:var(--space-16)}.turn{position:absolute;top:calc(50% - var(--control-size) / 2);display:grid;place-items:center;width:var(--control-size);height:var(--control-size);padding:0;border:0;border-radius:50%;background:var(--paper-light);color:var(--ink);box-shadow:var(--shadow-2);cursor:pointer;transition:transform var(--dur-hover) var(--ease-soft)}.turn--prev{left:calc(var(--control-size) / -2)}.turn--next{right:calc(var(--control-size) / -2)}.turn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:var(--mustard);opacity:0;transition:opacity var(--dur-hover) var(--ease-soft)}.turn svg{position:relative}.turn:focus-visible{box-shadow:var(--shadow-2),0 0 0 7px var(--paper)}@media(hover:hover){.turn:hover{transform:scale(1.06)}.turn:hover:before{opacity:1}}.turn:active{transform:scale(.96);transition-duration:var(--dur-press)}.progress{position:absolute;left:50%;bottom:-28px;display:flex;gap:var(--space-2);margin:0;padding:0;list-style:none;transform:translate(-50%);pointer-events:none}.progress li{width:8px;height:8px;border-radius:50%;background:rgb(var(--shadow-rgb) / .2)}.progress li.is-read{background:var(--blue-faded)}.progress li.is-current{background:var(--mustard-deep)}@media(max-width:768px){.book{width:100%;height:100%;aspect-ratio:auto}.spread{display:block;height:100%;overflow-y:auto;overscroll-behavior:contain;border-radius:4px;background:var(--grain),linear-gradient(to right,rgb(var(--shadow-rgb) / .12),transparent 48px),var(--paper-fill);background-blend-mode:multiply}.page,.page--left,.page--right{overflow:visible;container-type:normal;background:none;border-radius:0;padding:var(--page-pad)}.page--left{padding-bottom:0}.page--right{padding-top:var(--space-6);padding-bottom:calc(var(--control-size) + var(--space-12))}.page__grid{grid-template-columns:repeat(4,minmax(0,1fr));min-height:0}.page__grid--words>*{grid-column:1 / -1}.photo-slot,.layout-2 .photo-slot--1,.layout-2 .photo-slot--2,.layout-3 .photo-slot--1,.layout-3 .photo-slot--2,.layout-3 .photo-slot--3{grid-column:1 / -1;grid-row:auto;justify-items:stretch}.photo{--tilt: -1deg}.photo--2{--tilt: 1deg}.photo--3{--tilt: -.5deg}.photo img,.layout-2 .photo img,.layout-3 .photo img{width:100%;max-height:none}.layout-map .page--left,.layout-closing .page--left{padding-top:var(--space-16)}.horizon__art{max-height:240px}.margin-doodle--top{top:var(--space-2);right:var(--space-4)}.margin-doodle--bottom{display:none}.leaf{width:100%}.leaf--next,.leaf--prev{left:0;transform-origin:left center;border-radius:4px}.turn{top:auto;bottom:var(--space-4)}.turn--prev{left:var(--space-4)}.turn--next{right:var(--space-4)}.progress{bottom:calc(var(--space-4) + var(--control-size) / 2 - 4px)}.book__chrome:before{content:"";position:absolute;left:0;right:0;bottom:0;height:calc(var(--control-size) + var(--space-8));border-radius:0 0 4px 4px;background:linear-gradient(to bottom,transparent,var(--paper) 55%);pointer-events:none}}@media(prefers-reduced-motion:reduce){.cover:not(.cover--opening):hover,.cover:not(.cover--opening):active,.photo:hover,.turn:hover,.turn:active{transform:none}.photo:hover{transform:rotate(var(--tilt))}}
