:root{color-scheme:light;--cream:#fff8e9;--ink:#4b2638;--pink:#ff6197;--pink-deep:#e93d7c;--blush:#ffd7e3;--butter:#ffe69b;--mint:#c3ead8;--round:'Nunito',ui-rounded,'Arial Rounded MT Bold',sans-serif;--display:'Lilita One',var(--round)}
*{box-sizing:border-box}html{background:#fbd4e1;scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:var(--round);font-size:16px;font-weight:800;line-height:1.45;-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}button:disabled{cursor:default}button:focus-visible{outline:3px dashed var(--ink);outline-offset:5px}button svg{width:25px;height:25px;stroke:currentColor;fill:none;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}button:active:not(:disabled){translate:0 3px}[hidden]{display:none!important}p,h1{margin:0}h1:focus{outline:none}button,a{-webkit-user-select:none;user-select:none}img{max-width:100%;display:block}.birthday-shell{isolation:isolate;position:relative;overflow:clip;background:var(--cream);max-width:470px;min-height:100svh;margin:0 auto;padding:0 22px;border-inline:1px solid #f4b7cb;box-shadow:0 0 80px #9d3d6020}.birthday-shell:before,.birthday-shell:after{content:'';position:absolute;z-index:-1;pointer-events:none;width:330px;height:210px;background:radial-gradient(ellipse at 23% 54%,#ffc5d8 0 38%,transparent 39%),radial-gradient(ellipse at 65% 76%,#ffdbE5 0 44%,transparent 45%);opacity:.75}.birthday-shell:before{top:31%;left:-215px;rotate:32deg}.birthday-shell:after{bottom:0;right:-200px;rotate:-15deg}.outside-doodles{position:fixed;inset:0;pointer-events:none;overflow:hidden;color:#e7719b}.outside-doodles span{position:absolute;font-size:90px;opacity:.5;rotate:-13deg}.outside-doodles span:nth-child(1){top:12%;left:calc(50% - 420px)}.outside-doodles span:nth-child(2){bottom:18%;left:calc(50% - 370px)}.outside-doodles span:nth-child(3){top:35%;right:calc(50% - 420px);rotate:15deg}.outside-doodles span:nth-child(4){bottom:9%;right:calc(50% - 350px)}
.topbar{height:82px;display:flex;align-items:center;justify-content:space-between;gap:8px;position:relative;z-index:12;padding-top:env(safe-area-inset-top,0)}.top-label{font-size:11px;letter-spacing:1.1px;text-align:center;font-weight:900;flex:1;white-space:nowrap}.back-button[hidden]{display:block!important;visibility:hidden}.round-button{display:grid;place-items:center;border:2.5px solid var(--ink);border-radius:50%;background:#ffe2ec;width:45px;height:45px;flex:0 0 45px;box-shadow:0 2px 0 var(--ink);padding:8px;font-size:32px;line-height:1;transition:transform .2s,background .2s}.round-button:hover{background:#ffc4db}.music-button{position:relative}.sound-off{position:absolute;width:22px;height:2px;rotate:-45deg;background:var(--ink);right:4px;bottom:10px;box-shadow:0 0 0 2px #ffe2ec}.music-button[aria-pressed=true] .sound-off{display:none}.music-button[aria-pressed=true]{background:var(--butter);animation:music-bop 1.2s ease-in-out infinite}.page{text-align:center;position:relative;padding-top:4px}.page.entering{animation:page-enter .42s cubic-bezier(.2,.8,.2,1) both}.pill{display:inline-block;border-radius:40px;background:var(--butter);padding:6px 14px;font-size:13px;font-weight:900}.whisper{border:2.5px solid var(--pink);outline:3px solid #fff8e9;box-shadow:0 0 0 5px #ffd8e5;font-size:15px;margin:3px 0 17px;padding:7px 18px}.whisper span{color:var(--pink)}.bubble-heading{font-family:var(--display);font-weight:400;font-size:55px;letter-spacing:.1px;line-height:1.04;color:var(--pink);-webkit-text-stroke:2px var(--ink);paint-order:stroke fill;text-shadow:0 3px 0 var(--ink),3px 4px 0 #fff,-3px 4px 0 #fff,4px 0 0 #fff,-4px 0 0 #fff}.bubble-heading span{display:block}.greeting>span:first-child{font-size:68px}.bubble-heading .name{font-size:clamp(38px,10.6vw,51px);white-space:nowrap}.subtitle{font-size:15px;font-weight:900;margin-top:13px;position:relative;z-index:4}.primary,.secondary{width:100%;min-height:57px;border:2.5px solid var(--ink);border-radius:25px;padding:10px 13px;background:var(--pink);font-family:var(--display);font-size:23px;line-height:1.2;box-shadow:0 5px 0 var(--ink),inset 0 4px 0 #ffffff42,inset 0 -4px 0 #d92f6b33;display:flex;align-items:center;justify-content:center;gap:9px;position:relative;z-index:5;transition:background .2s,transform .2s}.primary:hover{background:#ff7daa}.primary:active:not(:disabled){translate:0 4px;box-shadow:0 1px 0 var(--ink)}.primary span{font-size:1.25em;line-height:1}.secondary{background:var(--cream);border-color:var(--pink);box-shadow:none;min-height:47px;font-size:19px}.tiny-note{font-size:12px;font-weight:900;margin:17px 0;color:var(--ink)}.tiny-note span{color:var(--pink-deep);font-size:19px;vertical-align:middle}.handwritten{font-size:13px;font-weight:900;line-height:1.3;rotate:-9deg}.hero{position:relative;isolation:isolate;margin:9px -12px 4px}.hero-blob{position:absolute;z-index:-1;inset:10% 3% 4%;background:#ffdce7;border-radius:48% 50% 40% 45%;rotate:-4deg}.sprite,.chibi{display:block;background-image:url('assets/party-atlas.png');background-size:300% 200%;background-repeat:no-repeat;aspect-ratio:1;pointer-events:none}.chibi{background-image:url('assets/chibis.png')}.art-gift,.chibi-wave{background-position:0 0}.art-open,.chibi-heart{background-position:50% 0}.art-lid,.chibi-gift{background-position:100% 0}.art-cat,.chibi-cake{background-position:0 100%}.art-confetti,.chibi-envelope{background-position:50% 100%}.art-cake,.chibi-dance{background-position:100% 100%}.character{position:absolute;display:block;padding:0;border:0;background:none;z-index:3;transform-origin:50% 85%;transition:filter .2s}.character:hover{filter:drop-shadow(0 3px 1px #f189ad44)}.character.squish{animation:boop .65s ease both}.delivery-hero{height:320px;margin-top:6px}.delivery-chibi{width:180px;top:0;left:-5px;rotate:-8deg}.delivery-cat{width:130px;top:16px;right:2px;rotate:8deg;animation:gentle-bob 3.2s ease-in-out infinite}.gift-button{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:285px;height:285px;border:0;background:none;padding:0;z-index:4}.gift-button .sprite{position:absolute;inset:0}.gift-base,.gift-lid{opacity:0}.gift-tag{position:absolute;left:50%;top:48%;translate:-50% 0;background:#fff8e9;border:2px dashed var(--pink-deep);border-radius:50% 50% 42% 42%;padding:7px 12px 5px;font-family:var(--display);font-size:20px;line-height:1.02;rotate:-6deg;box-shadow:0 0 0 3px #fff8e9}.gift-tag b{font-size:15px;display:block;color:var(--pink)}.cat-hint{position:absolute;right:-4px;top:115px;z-index:5;max-width:73px}.gift-button:hover .gift-closed{animation:gift-wiggle .6s ease}.opening .gift-button{animation:gift-open-wiggle .45s ease}.opening .gift-closed{opacity:0;transition:opacity .15s .2s}.opening .gift-tag{opacity:0;transition:opacity .15s .1s}.opening .gift-base{opacity:1;transition:opacity .15s .2s}.opening .gift-lid{opacity:1;animation:lid-fly .85s cubic-bezier(.2,.8,.2,1) both}.sparkle{position:absolute;color:#ffc83c;font-size:40px;-webkit-text-stroke:1px #ffbc36;pointer-events:none;z-index:4}.sparkle-one{left:0;top:45%;rotate:12deg}.sparkle-two{right:2%;bottom:5%;font-size:32px}.little-heart{position:absolute;z-index:6;background:none;border:0;padding:4px;color:var(--pink);font-size:34px;text-shadow:2px 2px 0 white,-2px -2px 0 white;animation:gentle-bob 2.8s ease-in-out infinite;min-width:44px;min-height:44px}.heart-left{left:0;bottom:24%}.little-heart.is-popped,.balloon.is-popped{visibility:hidden;pointer-events:none}.birthday-heading{font-size:52px}.birthday-heading>span:last-child{font-size:clamp(37px,10.6vw,51px)}.reveal-hero{height:315px}.reveal-box{position:absolute;width:265px;left:50%;bottom:-20px;translate:-50% 0;z-index:1}.reveal-lid{position:absolute;width:160px;right:-12px;bottom:-16px;rotate:24deg;z-index:2}.reveal-chibi{width:217px;left:-13px;top:5px;z-index:3;animation:gentle-bob 3s ease-in-out infinite}.reveal-cat{width:147px;right:-5px;bottom:53px;z-index:4;rotate:7deg}.wish-plaque{margin:8px auto 0;max-width:315px;padding:9px 22px;border:2.5px solid var(--pink);border-radius:32px;font-size:16px;font-weight:900;background:var(--cream);box-shadow:0 0 0 4px #fff}.balloon{position:absolute;z-index:6;width:72px;height:100px;top:0;right:0;padding:0;background:none;border:0;animation:balloon-float 3.8s ease-in-out infinite;transform-origin:bottom center}.balloon>span{font-size:82px;line-height:1;-webkit-text-stroke:2.5px var(--ink);color:var(--pink);filter:drop-shadow(3px 3px 0 white)}.balloon>b{position:absolute;color:white;top:24px;left:20px;rotate:-13deg;font-size:16px}.balloon>i{position:absolute;width:22px;height:34px;border-right:2px solid var(--ink);border-radius:0 70% 70% 0;right:14px;bottom:-7px;rotate:-15deg}.reveal-balloon{top:0;right:0}.reveal-heart{top:20%;left:0}
.photo-heading{font-size:43px}.photo-heading span:first-child{font-size:clamp(34px,9.1vw,43px);white-space:nowrap}.butter-text{color:#ffdb6a}.machine-wrap{position:relative;margin:24px 8px 0;padding-bottom:95px;isolation:isolate}.photo-machine{position:relative;border:3px solid var(--ink);border-radius:35px;background:#ffa8c8;padding:17px 17px 25px;box-shadow:inset 0 5px 0 #ffffff77,inset -6px -6px 0 #e5628b2e,0 5px 0 #f6b5c9}.machine-bow{font-family:serif;line-height:.7;font-size:87px;color:#ffdc77;-webkit-text-stroke:1.5px var(--ink);position:absolute;top:-25px;left:50%;translate:-50% 0;z-index:5;pointer-events:none}.photo-count{display:inline-flex;gap:12px;align-items:center;border:2.5px solid var(--ink);background:var(--cream);border-radius:20px;padding:3px 15px;margin:4px 0 12px;font-size:14px;font-weight:900}.photo-count>span:first-child,.photo-count>span:last-child{color:var(--pink);font-size:16px}.photo-window{display:block;position:relative;width:100%;aspect-ratio:4/4.7;border:3px solid var(--ink);border-radius:22px;padding:0;background:var(--cream);perspective:900px;touch-action:pan-y;isolation:isolate;overflow:hidden}.photo-card{display:block;position:absolute;inset:0;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.2,.8,.2,1)}.photo-window[aria-pressed=true] .photo-card{transform:rotateY(180deg)}.photo-front,.photo-back{position:absolute;display:block;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:17px;overflow:hidden}.photo-front img{width:100%;height:100%;object-fit:cover;object-position:68% 42%;user-select:none}.flip-hint{position:absolute;bottom:8px;right:7px;border-radius:12px;background:#fff8e9ec;padding:3px 9px;font-size:10px}.photo-back{background:var(--cream);transform:rotateY(180deg);padding:22px 18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px}.photo-back>span:first-child{font-size:50px;color:var(--pink)}.photo-back strong{font-family:var(--display);font-size:27px;line-height:1.1}.photo-back>span:nth-child(3){font-size:15px;line-height:1.5}.photo-back small{font-size:11px;font-weight:800}.machine-controls{display:flex;align-items:center;justify-content:center;gap:18px;margin:13px 0 3px}.machine-controls .round-button{width:38px;height:38px;flex-basis:38px;font-size:32px}.print-button{width:65px;height:65px;border:3px solid var(--ink);border-radius:50%;background:var(--pink);box-shadow:0 4px 0 #d94277,inset 0 3px 0 #ffffff77;display:grid;place-items:center;padding:0;font-size:43px;color:#fff6ea;text-shadow:1px 1px 0 var(--pink-deep),-1px -1px 0 var(--pink-deep)}.print-button.printing{animation:button-pulse .5s ease infinite}.machine-hint{font-size:10px;margin:5px -8px 11px;font-weight:900}.printer-slot{height:12px;border:2px solid var(--ink);background:#713144;border-radius:10px;box-shadow:0 3px 0 #ffd8e5}.machine-chibi{width:107px;right:-42px;top:65px;z-index:-1;rotate:15deg}.machine-cat{width:115px;left:-42px;bottom:88px;rotate:-12deg;z-index:4}.ticket-area{height:115px;width:135px;position:absolute;bottom:0;left:50%;translate:-50% 0;overflow:hidden;z-index:3;padding:0 8px 4px}.photo-ticket{background:var(--cream);border:2px solid var(--ink);padding:6px 6px 4px;box-shadow:0 3px 0 #c85b7b33;transform:translateY(-55px) rotate(4deg);transition:transform .6s ease;transform-origin:50% 0}.photo-ticket img{width:100%;height:75px;object-fit:cover;object-position:68% 42%}.photo-ticket>span{font-size:8px;display:block;line-height:1.1;margin-top:5px;white-space:nowrap}.ticket-area.printed .photo-ticket{animation:print-photo 1.1s ease forwards}.ticket-area.printed{height:115px}.page-photos>.tiny-note{margin:7px 0 15px}
.wish-heading{font-size:clamp(41px,11.7vw,55px);white-space:nowrap}.cake-hero{height:305px;margin-top:24px}.birthday-cake{position:absolute;width:290px;left:50%;bottom:-3px;translate:-50% 0;z-index:2}.cake-chibi{width:143px;left:-23px;bottom:15px;z-index:1;rotate:-9deg}.cake-cat{width:115px;right:-17px;bottom:7px;z-index:3;rotate:8deg}.cake-balloon{right:0;top:-14px;scale:.8;transform-origin:top right}.candles{display:flex;gap:0;position:absolute;z-index:4;top:27px;left:50%;translate:-50% 0;align-items:flex-end}.candle{width:46px;height:103px;border:0;padding:0;position:relative;background:none}.candle:nth-child(2){height:111px;margin-top:-8px}.candle-body{position:absolute;bottom:0;left:50%;translate:-50% 0;width:17px;height:53px;border:2px solid var(--ink);border-radius:4px;background:repeating-linear-gradient(135deg,#fff3eb 0 7px,#ff79aa 8px 14px);box-shadow:inset -3px 0 0 #d73a7033}.candle-body:before{content:'';position:absolute;height:7px;width:2px;background:var(--ink);left:50%;top:-8px}.flame{display:block;position:absolute;bottom:64px;left:50%;translate:-50% 0;width:19px;height:33px;border-radius:70% 10% 70% 40%;rotate:-25deg;background:#ffcc39;box-shadow:0 0 12px #ffbb3c77;animation:flicker .75s ease-in-out infinite alternate;transform-origin:bottom center}.flame:after{content:'';position:absolute;inset:11px 5px 4px;background:#fff8cf;border-radius:inherit}.candle:nth-child(2) .flame{animation-delay:-.25s}.candle:nth-child(3) .flame{animation-delay:-.5s}.smoke{position:absolute;bottom:71px;left:50%;translate:-50% 0;rotate:90deg;font-size:39px;color:#b691a8;opacity:0;pointer-events:none}.candle.is-out .flame{display:none}.candle.is-out .smoke{animation:smoke-rise 2.1s ease-out both}.candle-status{margin:0 0 17px;min-width:180px;font-size:13px}.page-wish>.tiny-note:first-of-type{margin:5px 0 10px}.envelope-intro{margin:27px 0 13px}.envelope{display:block;width:83%;max-width:290px;height:125px;position:relative;margin:0 auto 29px;border:3px solid var(--ink);border-radius:18px;background:#ffb7d0;box-shadow:0 5px 0 #f6bfd2;isolation:isolate;touch-action:pan-y}.envelope:after{content:'';position:absolute;inset:0;border-radius:14px;background:linear-gradient(30deg,#ffd5e2 0 49%,transparent 50%),linear-gradient(-30deg,#ffc5da 0 49%,transparent 50%);z-index:1}.envelope-flap{position:absolute;inset:0;background:#ffe1ea;clip-path:polygon(0 0,100% 0,50% 66%);z-index:2}.envelope-heart{position:absolute;z-index:3;left:50%;top:20%;translate:-50% 0;font-size:53px;line-height:1;color:var(--pink);-webkit-text-stroke:2px var(--ink);transform-origin:50% 50%;animation:heart-pulse 2.8s ease-in-out infinite}.pull-tab{position:absolute;z-index:4;left:50%;bottom:-22px;translate:-50% 0;border:2.5px solid var(--ink);border-top:2px dashed var(--pink);background:#ffd1e1;border-radius:11px 11px 20px 20px;padding:7px 19px;font-weight:900;font-size:13px;white-space:nowrap;transform:translateY(var(--pull,0px));touch-action:none}.envelope:hover .pull-tab{background:#ffbad3}.letter-heading{font-size:47px;margin-bottom:23px}.letter-paper{position:relative;border:3px solid var(--ink);border-radius:23px;background:#fffbf0;box-shadow:7px 8px 0 #ffc6da;padding:24px 23px;text-align:left;transform-origin:bottom center;animation:letter-unfold .7s cubic-bezier(.2,.8,.2,1) both}.letter-paper p{font-size:15px;line-height:1.65;margin-bottom:16px;font-weight:800}.letter-paper p:first-of-type,.letter-paper p:last-child{font-weight:900;font-size:16px}.letter-paper p:last-child{margin:0}.letter-paper p:last-child span{color:var(--pink-deep);font-size:22px}.letter-seal{position:absolute;right:-12px;top:-24px;rotate:17deg;font-size:45px;line-height:1;color:var(--pink);-webkit-text-stroke:2px var(--ink);filter:drop-shadow(2px 3px 0 #fff)}.hug-stage{position:relative;height:185px;margin:13px -4px -5px;isolation:isolate}.hug-chibi{width:198px;left:25px;top:-5px;z-index:3}.hug-cat{width:122px;right:11px;bottom:10px;z-index:2}.hug-heart{position:absolute;left:48%;top:58px;font-size:85px;line-height:1;color:var(--pink);-webkit-text-stroke:2px var(--ink);z-index:1;opacity:0}.hug-hint{position:absolute;right:-2px;top:17px;max-width:70px;font-size:12px;rotate:-8deg}.hug-stage.hugging .hug-chibi{animation:hug-girl .95s ease both}.hug-stage.hugging .hug-cat{animation:hug-kitten .95s ease both}.hug-stage.hugging .hug-heart{animation:hug-heart 1.1s ease both}.hug-status{margin:0 0 12px;min-height:27px}.replay-button{width:auto;margin:21px auto 0;padding-inline:25px}.journey-footer{text-align:center;position:relative;padding:24px 0 max(21px,env(safe-area-inset-bottom));z-index:5}.page-dots{display:flex;justify-content:center;gap:0}.page-dots button{position:relative;width:30px;height:30px;border:0;background:none;padding:7px}.page-dots button:after{content:'';display:block;width:15px;height:15px;border-radius:50%;background:#ffd0df;transition:background .2s,transform .2s}.page-dots button[aria-current=step]:after{background:var(--pink);box-shadow:0 0 0 2px white;transform:scale(1.12)}#page-count{font-size:13px;font-weight:900;margin-top:3px;letter-spacing:2px}.footer-heart{display:block;font-size:9px;letter-spacing:.7px;margin-top:13px;color:#9d6d7e}.effects{position:fixed;inset:0;pointer-events:none;z-index:100;overflow:hidden}.particle{position:absolute;pointer-events:none;will-change:transform,opacity}.toast{position:fixed;z-index:110;bottom:max(24px,env(safe-area-inset-bottom));left:50%;translate:-50% 18px;background:var(--cream);border:2px solid var(--ink);border-radius:23px;box-shadow:0 4px 0 #5c27432b;padding:10px 18px;text-align:center;max-width:calc(100% - 34px);width:max-content;font-size:13px;font-weight:900;opacity:0;pointer-events:none;transition:opacity .2s,translate .2s}.toast.show{opacity:1;translate:-50% 0}.no-script{padding:20px;text-align:center}.is-busy{pointer-events:none}
@keyframes page-enter{from{opacity:0;transform:translateY(13px) scale(.985)}to{opacity:1;transform:none}}@keyframes gentle-bob{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-7px) rotate(2deg)}}@keyframes balloon-float{0%,100%{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-9px) rotate(5deg)}}@keyframes boop{0%,100%{transform:scale(1)}25%{transform:scale(.88,1.1)}55%{transform:scale(1.1,.9)}78%{transform:scale(.97,1.03)}}@keyframes gift-wiggle{0%,100%{rotate:0deg}25%{rotate:-5deg}75%{rotate:5deg}}@keyframes gift-open-wiggle{0%,100%{rotate:0deg}25%{rotate:-7deg}70%{rotate:7deg}}@keyframes lid-fly{0%,23%{transform:translateY(0);opacity:0}25%{opacity:1}100%{transform:translate(38px,-155px) rotate(24deg);opacity:0}}@keyframes music-bop{50%{transform:rotate(7deg)}}@keyframes flicker{from{transform:scale(.9,1.03) rotate(-5deg)}to{transform:scale(1.07,.92) rotate(6deg)}}@keyframes smoke-rise{0%{opacity:.75;transform:translateX(0) scale(.6)}100%{opacity:0;transform:translateX(-25px) scale(1.3)}}@keyframes button-pulse{50%{transform:scale(.92)}}@keyframes print-photo{0%{transform:translateY(-120px) rotate(0)}70%{transform:translateY(0) rotate(0)}100%{transform:translateY(0) rotate(4deg)}}@keyframes heart-pulse{50%{transform:scale(1.08)}}@keyframes letter-unfold{from{opacity:0;transform:perspective(900px) rotateX(-28deg) translateY(20px)}to{opacity:1;transform:none}}@keyframes hug-girl{0%,100%{transform:translateX(0) rotate(0)}45%,65%{transform:translateX(18px) rotate(7deg) scale(1.03)}}@keyframes hug-kitten{0%,100%{transform:translateX(0) rotate(0)}45%,65%{transform:translateX(-19px) rotate(-8deg) scale(1.03)}}@keyframes hug-heart{0%,100%{opacity:0;transform:scale(.6)}45%,65%{opacity:1;transform:scale(1.1)}}
@media(min-width:600px){.birthday-shell{margin:26px auto;border:3px solid var(--ink);border-radius:36px;min-height:calc(100svh - 52px);box-shadow:8px 10px 0 #e9a1bc,0 20px 100px #a3436540;padding-inline:30px}.topbar{height:82px}.hero{margin-inline:-11px}.delivery-hero{height:350px}.delivery-chibi{width:205px}.delivery-cat{width:145px}.gift-button{width:310px;height:310px}.reveal-hero{height:340px}.photo-window{aspect-ratio:4/4.2}.cake-hero{height:330px}.birthday-cake{width:315px}.candles{top:29px}.letter-paper p{font-size:16px}.bubble-heading .name{font-size:52px}}
@media(max-width:370px){.birthday-shell{padding-inline:17px}.top-label{font-size:9px;letter-spacing:.6px}.round-button{width:41px;height:41px;flex-basis:41px}.topbar{height:73px}.primary{font-size:21px;padding-inline:10px;min-height:54px}.subtitle{font-size:13px}.whisper{font-size:13px}.greeting>span:first-child{font-size:58px}.delivery-hero{height:287px}.delivery-chibi{width:159px}.delivery-cat{width:117px}.gift-button{width:259px;height:259px}.gift-tag{font-size:17px}.cat-hint{font-size:11px;right:-9px}.birthday-heading{font-size:45px}.reveal-hero{height:285px}.reveal-chibi{width:197px}.reveal-cat{width:125px}.reveal-box{width:240px}.photo-heading span:first-child{font-size:31px}.photo-heading{font-size:39px}.photo-machine{padding-inline:13px}.machine-wrap{margin-inline:5px}.machine-controls{gap:14px}.cake-hero{height:285px}.birthday-cake{width:265px}.cake-chibi{width:128px}.cake-cat{width:102px}.candles{top:28px}.candle{width:40px;height:91px}.candle:nth-child(2){height:99px}.candle-body{height:48px}.flame{bottom:59px}.letter-heading{font-size:41px}.letter-paper{padding:23px 18px}.letter-paper p{font-size:14px}.hug-chibi{width:184px;left:5px}.hug-cat{width:110px;right:4px}.hug-stage{height:172px}}
@media(pointer:coarse){.page-dots button{width:39px;height:42px;display:grid;place-items:center}.machine-controls .round-button{width:44px;height:44px;flex-basis:44px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.ticket-area.printed .photo-ticket{transform:translateY(0) rotate(4deg)}.hug-stage.hugging .hug-heart{opacity:1}.flame{transform:none}.letter-paper{transform:none;opacity:1}}

.cake-chibi{z-index:3;bottom:57px;left:-27px;width:150px}.cake-cat{right:-5px;width:105px}
@media(max-width:370px){.cake-chibi{width:133px;bottom:51px;left:-24px}.cake-cat{width:96px;right:-3px}}

.delivery-cat{right:14px;rotate:3deg}.cat-hint{right:4px;top:5px;max-width:90px;background:var(--cream);border:1.5px solid var(--ink);border-radius:13px;padding:3px 6px;font-size:10px;rotate:6deg}
