@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/caveat-latin-400-normal-D6LQsQ_v.woff2)format("woff2"),url(/assets/caveat-latin-400-normal-BzhAQZkN.woff)format("woff")}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/caveat-latin-700-normal-D8_1Nw6V.woff2)format("woff2"),url(/assets/caveat-latin-700-normal-cPyBTTZN.woff)format("woff")}@font-face{font-family:Kalam;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/kalam-latin-400-normal-BthBl_aR.woff2)format("woff2"),url(/assets/kalam-latin-400-normal-Bl-H2BUA.woff)format("woff")}@font-face{font-family:Kalam;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/kalam-latin-700-normal-D2H-9ISU.woff2)format("woff2"),url(/assets/kalam-latin-700-normal-7TSuSrjP.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-latin-600-normal-Br8yIETf.woff2)format("woff2"),url(/assets/nunito-latin-600-normal-Cd0eNu1l.woff)format("woff")}:root{--yellow:#f5d368;--paper:#fff8e9;--ink:#42291f;--rose:#df8695;--mint:#bdd4b8;--lavender:#d8c6df;--focus:#765238;--shadow:#5b391733;--font-display:"Caveat",cursive;--font-body:"Kalam",cursive;--font-ui:"Nunito",sans-serif;--scroll-thumb:#b98553;--scroll-track:#f5e6bd;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--font-body);color:var(--ink);font-synthesis:none;background:#e8ce90}*{box-sizing:border-box}body{margin:0}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--focus);outline-offset:5px}button{border:0}h1,h2,p,figure{margin:0}h1{font-family:var(--font-display);font-size:clamp(38px,7vw,58px);font-weight:700;line-height:1.06}h1 span{color:#b95557}p{line-height:1.55}img{max-width:100%;display:block}.scrapbook{background:var(--yellow) url(/assets/paper.png) center/cover}.paper{background:var(--paper) url(/assets/paper.png) center/1200px auto;background-blend-mode:screen;box-shadow:2px 6px 10px var(--shadow)}.small-note{clip-path:polygon(1% 3%,12% 0,24% 3%,39% 1%,50% 3%,63% 0,77% 2%,90% 0,99% 4%,97% 19%,100% 33%,98% 55%,100% 72%,97% 98%,82% 96%,66% 100%,53% 97%,35% 99%,20% 97%,1% 100%,3% 78%,0 61%,2% 42%,0 21%);background:#fff3d9;padding:19px 23px;font-size:20px;line-height:1.3}.pink-strip{clip-path:polygon(1% 0,100% 2%,98% 48%,100% 96%,0 100%,2% 50%);background:#efada7;padding:8px 12px;transform:rotate(-1deg)}.tape{z-index:2;background:#e98d929c;width:105px;height:29px;position:absolute;top:-12px;left:35%;transform:rotate(9deg);box-shadow:0 1px 2px #94584733}.pin-page{max-width:860px;min-height:100dvh;margin:auto;padding:145px 22px 135px;position:relative;overflow:hidden}.pin-dedication{font:30px/1.05 var(--font-display);position:absolute;top:25px;left:26px;transform:rotate(-8deg)}.pin-dedication span{text-align:center;display:block}.pin-note{width:155px;font-size:16px;position:absolute;top:0;right:-8px;transform:rotate(6deg)}.pin-paper{border-radius:3px;max-width:430px;margin:auto;padding:35px 20px 28px;position:relative}.pin-paper h1{text-align:center;font-size:clamp(29px,7vw,40px)}.pin-subtitle{text-align:center;margin:14px 0 25px;font-size:17px}.pin-entry{height:65px;margin-bottom:20px;position:relative}.pin-circles{justify-content:center;gap:13px;height:100%;display:flex}.pin-circles span{width:58px;font:29px var(--font-body);background:#eee1ce;border-radius:50%;place-items:center;display:grid;box-shadow:inset 0 3px 8px #63452c33,0 1px #fff}.pin-input{opacity:.01;cursor:text;width:100%;font-size:24px;position:absolute;inset:0}.pin-entry:focus-within{outline:2px dashed var(--focus);outline-offset:5px}.pin-error .pin-circles span{background:#edb8b3}.pin-paper .pink-strip{text-align:center;min-height:42px;font-size:16px}.keypad{grid-template-columns:repeat(3,65px);justify-content:center;gap:14px 24px;margin-top:24px;display:grid}.key{height:65px;font:38px var(--font-display);background:#f7e9d6;border-radius:50%;place-items:center;display:grid;box-shadow:inset 0 2px 3px #fff,1px 4px 5px #73543145}.key:active{transform:translateY(2px)}.heart-key{color:#a34e57;background:#efa5ad}.hint-note{background:#f2b9be;font-size:16px;position:absolute;bottom:20px;left:5px;transform:rotate(-9deg)}.pin-date{font:21px/1.3 var(--font-display);position:absolute;bottom:25px;right:18px;transform:rotate(-5deg)}.pin-date span{font-size:17px}.book-shell{isolation:isolate;grid-template-rows:86px minmax(0,1fr) 74px;max-width:860px;height:100dvh;margin:auto;display:grid;position:relative;overflow:hidden}.book-header{z-index:20;justify-content:space-between;align-items:center;padding:12px 22px;display:flex}.book-brand{font:24px/.9 var(--font-display);transform:rotate(-5deg)}.book-brand b{font-size:30px;font-weight:400}.book-brand span{color:#b95557}.chapter-title{text-align:center;font:12px var(--font-ui);outline:none}.chapter-title small{letter-spacing:3px;margin-top:6px;font-size:10px;display:block}.header-actions{display:flex}.icon-button{background:0 0;width:44px;height:44px;font-size:25px}.menu-toggle{flex-direction:column;justify-content:center;align-items:center;gap:5px;display:flex}.menu-toggle i{background:var(--ink);width:22px;height:2px}.chapter-menu{z-index:30;width:235px;padding:12px;position:absolute;top:76px;right:15px;transform:rotate(1deg)}.chapter-menu button{text-align:left;background:0 0;justify-content:space-between;align-items:center;width:100%;min-height:44px;padding:10px;display:flex}.chapter-menu button[aria-current]{background:#f3d68a}.chapter-scroll{scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track);overscroll-behavior:contain;min-height:0;position:relative;overflow:hidden auto}.chapter{min-height:100%}.book-footer{z-index:20;background:#fff3d6eb;justify-content:space-between;align-items:center;gap:8px;padding:10px 20px;display:flex;box-shadow:0 -3px 15px #98712212}.book-footer button{background:0 0;min-height:44px;padding:8px 10px;font-size:17px}.book-footer button:disabled{opacity:.35}.book-footer .next-button{background:#efb0a6;border-radius:47% 40% 45% 35%;padding:8px 19px;transform:rotate(-2deg)}.page-dots{gap:5px;display:flex}.page-dots i{background:#bfa77c;border-radius:50%;width:5px;height:5px}.page-dots i.current{background:#8c493e;transform:scale(1.6)}.audio-message{background:var(--paper);z-index:40;padding:8px;font-size:13px;position:absolute;top:80px}.letter-journey{height:1600px;position:relative}.letter-sticky{flex-direction:column;height:calc(100dvh - 160px);min-height:540px;padding:0 18px 8px;display:flex;position:sticky;top:0}.letter-intro{justify-content:space-between;align-items:center;min-height:80px;padding:0 12px 12px;display:flex}.letter-intro p{font:24px/1.1 var(--font-display);transform:rotate(-6deg)}.little-stamp{font:30px var(--font-display);text-align:center;background:#fff2d9;border:3px dotted #c6a468;padding:4px 9px;transform:rotate(9deg)}.little-stamp small{font:10px var(--font-ui);display:block}.envelope-stage{perspective:1200px;isolation:isolate;flex:1;width:100%;max-width:560px;min-height:410px;margin:auto;position:relative}.envelope-body-back{z-index:0;background-color:#efcf89;border-radius:4px;height:225px;position:absolute;bottom:5px;left:0;right:0}.letter-pocket{z-index:2;position:absolute;inset:0 0 5px;overflow:hidden}.letter-sheet{will-change:transform;border-radius:7px;min-height:calc(100% - 18px);padding:13px 18px 20px;position:absolute;top:8px;left:10px;right:10px}.letter-flower{text-align:center;color:#78816a;font-size:21px;display:block}.letter-sheet h1{text-align:center;margin:4px 0 14px;font-size:27px;line-height:1.1}.letter-sheet p{margin-bottom:10px;font-size:14px;line-height:1.46}.letter-sheet .letter-signature{text-align:right;margin:12px 0 0;font-size:12px}.letter-signature strong{font:10px var(--font-ui);letter-spacing:1px}.envelope-front{z-index:4;background-blend-mode:multiply;clip-path:polygon(0 0,50% 43%,100% 0,100% 100%,0 100%);background-color:#f6d68b;border-radius:4px;height:225px;position:absolute;bottom:5px;left:0;right:0}.envelope-front>span{font-size:17px;position:absolute;bottom:50px;left:24px;transform:rotate(-5deg)}.envelope-front strong{font:12px var(--font-ui)}.envelope-front small{font-size:12px;position:absolute;bottom:20px;right:17px}.envelope-folds{background:linear-gradient(32deg,#0000 49.6%,#a7773433 50%,#0000 50.4%),linear-gradient(-32deg,#0000 49.6%,#a7773433 50%,#0000 50.4%);position:absolute;inset:0}.envelope-flap-holder{perspective:1000px;height:154px;position:absolute;bottom:76px;left:0;right:0}.envelope-flap{transform-origin:top;clip-path:polygon(0 0,100% 0,50% 100%);background-blend-mode:multiply;backface-visibility:visible;background-color:#eacb8b;height:100%}.wax-seal{color:#f0b3b8;text-align:center;background:#b85466;border-radius:50%;width:50px;height:50px;font-size:35px;position:absolute;bottom:7px;left:calc(50% - 25px);box-shadow:inset 2px 3px 3px #f8b7b9,inset -3px -3px 4px #6b2338}.letter-cue{min-height:44px;font:17px var(--font-display);background:0 0;flex-shrink:0}.gallery-page,.cake-page,.wishes-page,.gifts-page,.closing-page{max-width:660px;margin:auto;padding:10px 25px 45px}.gallery-page h1{padding:5px 0 15px;transform:rotate(-5deg)}.gallery-note{font:11px var(--font-ui);letter-spacing:1.3px;text-transform:uppercase;margin:10px 0 24px}.photo-index{background:#fff5d488;border-radius:30px;justify-content:space-between;margin-bottom:30px;display:flex}.photo-index button{min-width:0;height:44px;font:11px var(--font-ui);background:0 0;flex:1;padding:0}.photo-index button[aria-pressed=true]{color:#fffaf0;outline-offset:-4px;background:#ea8f82;border-radius:50%;outline:1px solid #fff}.hero-polaroid{border-radius:4px;padding:13px 13px 18px;position:relative;transform:rotate(-1.5deg)}.hero-polaroid img,.hero-polaroid .memory-placeholder{aspect-ratio:1;object-fit:cover;width:100%}.hero-polaroid figcaption{font:25px/1.05 var(--font-display);min-height:65px;padding:13px 12px 0}.hero-polaroid figcaption span{float:right}.memory-placeholder{background-blend-mode:soft-light;background:#bdcfbd url(/assets/paper.png) 0 0/cover;flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.memory-placeholder>span{font:100px var(--font-display);color:#fff3d7}.memory-placeholder p{font:21px var(--font-display)}.memory-placeholder small{font:10px var(--font-ui);letter-spacing:2px;margin-top:10px}.memory-1{background-color:#cea6a0}.memory-2{background-color:#b6c4db}.memory-3{background-color:#c5b4cb}.memory-4{background-color:#ebc38c}.photo-controls{justify-content:center;align-items:center;gap:24px;margin:15px 0 30px;display:flex}.photo-controls button{background:0 0;min-width:44px;height:44px;font-size:30px}.photo-controls>span{font:22px var(--font-display);background:#edb2a1;border-radius:40%;padding:4px 16px}.memory-trail{padding:10px 5px 25px}.mini-memory{width:69%;margin:0 0 30px;padding:10px 10px 14px}.mini-memory:nth-child(2n){margin-left:auto}.mini-memory img,.mini-memory .memory-placeholder{aspect-ratio:1;object-fit:cover;width:100%}.mini-memory figcaption{font:21px/1.1 var(--font-display);text-align:center;padding-top:12px}.mini-memory .memory-placeholder>span{font-size:70px}.mini-memory .memory-placeholder p{font-size:17px}.mint-note{background:var(--mint);transform:rotate(-4deg)}.cake-page h1{padding-left:5px;transform:rotate(-6deg)}.cake-subtitle{text-align:right;font:23px var(--font-display);margin:17px 0 30px}.cake-instruction{text-align:center;z-index:2;font-size:18px;position:relative}.cake-object{aspect-ratio:1;max-width:510px;margin:45px auto 0;position:relative}.cake-image-button{background:0 0;width:100%;height:100%;padding:0}.real-cake{object-fit:contain;filter:drop-shadow(0 15px 10px #7b472d33);width:100%;height:100%;transition:clip-path .3s,opacity .3s,transform .3s}.flame-hit{background:0 0;place-items:center;width:50px;height:70px;display:grid;position:absolute;top:-7%;transform:translate(-50%)}.flame-0{left:41%}.flame-1{left:58%}.flame{background:radial-gradient(at bottom,#ff8d22 0,#fff5a1 45%,#fffef1 70%);border-radius:50% 50% 40% 40%;width:16px;height:38px;animation:1.3s ease-in-out infinite alternate flicker;display:block;box-shadow:0 0 18px 7px #ffbc5399}.extinguished{visibility:hidden}@keyframes flicker{to{transform:scaleX(.8)rotate(5deg)}}.bites-1 .real-cake{clip-path:polygon(0 0,75% 0,75% 43%,100% 48%,100% 100%,0 100%)}.bites-2 .real-cake{clip-path:polygon(0 0,60% 0,60% 64%,100% 64%,100% 100%,0 100%)}.bites-3 .real-cake{clip-path:polygon(0 40%,43% 40%,43% 75%,100% 75%,100% 100%,0 100%)}.bites-4 .real-cake{clip-path:polygon(0 72%,25% 72%,25% 87%,100% 87%,100% 100%,0 100%)}.bites-5 .real-cake{opacity:0;transform:scale(.6)}.cake-finished{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.cake-finished>span{font:95px var(--font-display);color:#bc6170}.cake-finished p{text-align:center;font:32px/1.1 var(--font-display)}.bite-count{color:#b67934;justify-content:center;gap:17px;font-size:32px;display:flex}.bite-count .eaten{opacity:.2;transform:scale(.7)}.cake-note{max-width:280px;margin:30px 0 0 auto;transform:rotate(5deg)}.wishes-page h1{padding:10px;transform:rotate(-4deg)}.wishes-page h1 b{font-size:1.5em}.wish-intro{margin:20px 0 35px;font-size:18px}.wishes-paper{padding:30px 25px;position:relative;transform:rotate(-1deg)}.wishes-paper>p{margin-bottom:27px;font-size:19px}.wish-symbol{color:#947846;font-size:27px;display:block}.wishes-paper mark{color:inherit;background:#d7c0dd;border-radius:15px;padding:0 4px}.rose-note{background:#ecb5bc;margin:20px -12px -15px;transform:rotate(-5deg)}.gifts-page{text-align:center}.torn-title{clip-path:polygon(0 2%,10% 0,20% 2%,31% 0,45% 2%,60% 0,76% 2%,90% 0,100% 3%,98% 28%,100% 56%,98% 77%,100% 98%,85% 100%,70% 98%,51% 100%,32% 98%,18% 100%,0 98%,2% 75%,0 50%,2% 25%);padding:25px 18px;font-size:35px;transform:rotate(-3deg)}.gifts-page>p{margin:25px 0;font-size:18px}.gift-object{perspective:1000px;background:0 0;width:100%;min-height:280px;padding:0;position:relative}.gift-object img{filter:drop-shadow(0 15px 12px #88521940);width:100%}.gift-tag{max-width:110px;font:21px/1.1 var(--font-display);padding:18px 12px;position:absolute;top:52%;right:0;transform:rotate(-12deg)}.gift-reveal{margin:-60px 0 20px;padding:10px 5px;position:relative}.gift-coupon{text-align:left;width:85%;margin:0 0 32px;padding:23px;position:relative;transform:rotate(-5deg)}.gift-coupon:nth-child(2n){margin-left:auto;transform:rotate(5deg)}.gift-coupon h2{margin:8px 0;font-size:24px;line-height:1.2}.gift-coupon p{font-size:17px}.coupon-1{background-blend-mode:multiply;background-color:#d8e9c9}.coupon-2{background-blend-mode:multiply;background-color:#f1c0c2}.gift-symbol{font-size:32px}.gift-pending,.delivery-note{margin-top:15px;font-size:15px;display:block}.redeem-link{color:#724125;align-items:center;min-height:44px;margin-top:12px;font-weight:700;display:inline-flex}.closing-page{isolation:isolate;padding-top:35px;position:relative}.lavender-rip{z-index:-1;clip-path:polygon(0 0,100% 0,100% 85%,80% 97%,60% 87%,40% 100%,20% 89%,0 97%);background:#d5bdd8;height:110px;position:absolute;top:0;left:0;right:0}.closing-page .torn-title{font-size:37px}.closing-letter{margin-top:20px;padding:30px 25px;transform:rotate(1deg)}.closing-letter p{margin:0 0 22px;font-size:19px}.closing-letter p:last-child{margin:0}.keepsake-heart{text-align:center;height:250px;margin:22px 0;position:relative;transform:rotate(-10deg)}.keepsake-heart>span{color:#e5949b;text-shadow:3px 6px 1px #bc6b73,0 12px 20px #91524844;font:260px/.95 Georgia,serif}.keepsake-heart p{font:31px/1 var(--font-display);position:absolute;inset:80px 0 auto}.closing-note{margin:10px 10px 30px;transform:rotate(-5deg)}.closing-signature{text-align:center;font:27px var(--font-display);padding:30px 0 75px}.closing-signature strong{font:18px var(--font-body)}.closing-signature>span{font-size:45px;display:block}.reduced-letter{height:auto;min-height:700px}.reduced-letter .letter-sticky{height:700px;position:relative}.reduced-letter .envelope-front,.reduced-letter .envelope-flap-holder,.reduced-letter .envelope-body-back{display:none}@media (width>=640px){.book-header,.book-footer{padding-inline:40px}.letter-sticky{padding-inline:45px}.letter-intro{width:100%;max-width:560px;margin:auto}.letter-sheet{padding:22px 35px}.letter-sheet h1{margin-bottom:20px;font-size:34px}.letter-sheet p{margin-bottom:16px;font-size:18px;line-height:1.5}.letter-sheet .letter-signature{font-size:16px}.letter-signature strong{font-size:12px}.letter-flower{font-size:27px}.letter-cue{font-size:23px}.gallery-page,.cake-page,.wishes-page,.gifts-page,.closing-page{padding-top:25px}.pin-page{padding-top:145px}.pin-paper{padding:40px}.pin-note{width:190px;font-size:20px;right:50px}.pin-dedication{font-size:38px;left:60px}.hint-note{left:60px}.pin-date{right:60px}}@media (width<=360px){.book-header{padding-inline:13px}.book-footer{padding-inline:8px}.page-dots{gap:4px}.letter-sticky{padding-inline:12px}.letter-sheet{padding-inline:14px}.letter-sheet h1{font-size:24px}.letter-sheet p{font-size:13px}.gallery-page,.cake-page,.wishes-page,.gifts-page,.closing-page{padding-inline:20px}.pin-note{width:132px;font-size:14px}.pin-dedication{font-size:25px}.pin-paper{padding-inline:13px}.keypad{gap:12px 20px}.photo-controls{gap:8px}.photo-index button{font-size:10px}}.letter-open .envelope-front,.letter-open .envelope-body-back,.letter-open .envelope-flap-holder{pointer-events:none;opacity:0!important}.letter-open .letter-pocket,.reduced-letter .letter-pocket{scrollbar-width:thin;overflow-y:auto}.letter-sheet{padding-bottom:14px}.envelope-front,.envelope-flap{background-blend-mode:screen;background-color:#ead5b7}.book-footer{padding-bottom:max(10px,env(safe-area-inset-bottom))}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.mini-memory{transform:none!important}}.gift-base{clip-path:polygon(0 45%,100% 45%,100% 100%,0 100%)}.gift-object .gift-lid{clip-path:polygon(0 0,100% 0,100% 45%,0 45%);transform-origin:35% 40%;position:absolute;inset:0}.gift-object{margin-top:25px}.gift-reveal{margin-top:-20px}:root{scrollbar-color:var(--scroll-thumb) var(--scroll-track);scrollbar-width:thin}button:not(:disabled):hover{filter:brightness(.97)}@media (forced-colors:active){button{border:1px solid buttontext}.paper,.small-note{background:canvas}.pin-circles span{border:1px solid canvastext}.flame{background:highlight}.book-shell{background:canvas}}.memory-trail{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 16px;padding:10px 5px 35px;display:grid}.memory-trail .mini-memory{align-self:start;width:100%;margin:0;padding:8px}.memory-trail .mini-memory:nth-child(2n){margin:0}.hero-polaroid{padding-bottom:13px}.bonus-memory{grid-column:1/-1;justify-self:center;position:relative;transform:rotate(-2deg);width:72%!important;padding:12px!important}.bonus-label{color:#fffaf0;clip-path:polygon(3% 4%,98% 0,94% 47%,100% 96%,2% 100%,6% 51%);font:700 19px var(--font-display);letter-spacing:1px;filter:drop-shadow(1px 3px 2px #6b3f2533);background:#e99199;padding:8px 17px;position:absolute;top:-15px;right:-10px;transform:rotate(8deg)}.memory-trail .mini-memory:nth-child(9){grid-column:1/-1;justify-self:center;width:48%}.menu-toggle:disabled{opacity:.4}.chapter-menu button:disabled{opacity:.45;cursor:not-allowed}.next-button:disabled{filter:grayscale(.4);opacity:.48}
