@charset "UTF-8";
:root{--paper:#faf8f0;--ink:#30352d;--muted:#77796f;--orange:#e17653;--purple:#d9cff0;--purple-dark:#685881;--sage:#e4ead6;--line:#dedfd3;--serif:"STSong","Songti SC","Noto Serif CJK SC","SimSun",serif;--sans:"Microsoft YaHei","PingFang SC",system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.8 var(--sans);-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}button{border:0}img{display:block;max-width:100%}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--purple-dark);outline-offset:5px}button:disabled{cursor:wait;opacity:.7}[hidden]{display:none!important}::selection{background:#e2d9f3}.site-shell{max-width:1600px;margin:auto;overflow:clip}.site-header{max-width:1240px;padding:29px 0 25px;margin:auto;display:flex;align-items:center;gap:32px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;white-space:nowrap}.brand strong{display:block;font-size:17px;letter-spacing:1px;font-weight:650}.brand small{display:block;font:8px/1.7 var(--sans);letter-spacing:1.8px;color:var(--muted)}.desktop-nav{display:flex;align-items:center;gap:34px;margin-left:auto;font-size:12px}.desktop-nav a{transition:color .2s}.desktop-nav a:hover{color:var(--orange)}.desktop-nav span{padding-left:4px}.music-toggle{display:flex;align-items:center;gap:9px;background:transparent;border:1px solid #d6d9ca;padding:8px 15px;border-radius:30px;font-size:11px;white-space:nowrap}.music-bars{display:flex;gap:2px;align-items:center;height:15px}.music-bars i{height:6px;width:2px;background:#6a7459;border-radius:2px}.music-bars i:nth-child(2){height:13px}.music-bars i:nth-child(3){height:9px}.music-bars i:nth-child(4){height:4px}.music-toggle[aria-pressed=true] i{animation:equalize .75s ease-in-out infinite alternate}.music-toggle[aria-pressed=true] i:nth-child(2){animation-delay:-.3s}.music-toggle[aria-pressed=true] i:nth-child(3){animation-delay:-.5s}@keyframes equalize{to{transform:scaleY(.3)}}
.hero{max-width:1240px;min-height:720px;margin:auto;display:grid;grid-template-columns:1fr 1.07fr;align-items:center;gap:28px;padding:53px 0 65px}.hero-copy{padding:0 0 0 12px;position:relative;z-index:2}.eyebrow{font-size:11px;letter-spacing:2px;display:flex;gap:9px;align-items:center;color:#666b5c}.live-dot{width:6px;height:6px;border-radius:50%;background:#e29470;box-shadow:0 0 0 4px #eed6bd55}h1{font:500 clamp(50px,5.2vw,74px)/1.25 var(--serif);letter-spacing:3px;margin:24px 0 22px;position:relative;width:max-content}.highlight{color:var(--purple-dark);position:relative;white-space:nowrap}.highlight svg{position:absolute;left:-4px;bottom:-16px;width:100%;height:22px;fill:none;stroke:#c1afdb;stroke-width:3;stroke-linecap:round}.title-spark{font-family:var(--sans);font-size:48px;color:#e0a457;position:absolute;right:-52px;top:27px;transform:rotate(8deg)}.hero-description{font-size:13px;color:#73756b;line-height:2.1;letter-spacing:.8px;margin:28px 0}.hero-actions{display:flex;align-items:center;gap:20px}.button{padding:15px 24px;display:inline-flex;align-items:center;justify-content:center;gap:28px;font-size:13px;letter-spacing:.7px;border-radius:5px;transition:transform .2s,box-shadow .2s,background .2s;min-height:50px}.button:hover{transform:translateY(-3px);box-shadow:0 6px 0 #30352d0d}.button:active{transform:translateY(0)}.button-primary{background:var(--orange);color:white;box-shadow:0 3px 0 #b9583c}.button-primary span{font-size:22px;line-height:1}.hand-note{font:italic 12px var(--serif);color:#878877;transform:rotate(-6deg);position:relative;align-self:center}.hand-note svg{width:54px;height:26px;position:absolute;top:15px;left:-19px;stroke:#8e927f;fill:none;stroke-width:1.2;transform:rotate(8deg)}.birthday-clock{display:flex;align-items:center;gap:20px;margin-top:37px;border-top:1px solid var(--line);padding-top:23px;width:fit-content}.clock-label{font-size:10px;line-height:1.7;width:72px;color:#797c70}.clock-digits{display:flex;align-items:center;gap:10px}.clock-digits>span{display:flex;align-items:baseline;gap:3px}.clock-digits b{font:24px/1.3 Georgia,serif;font-variant-numeric:tabular-nums;font-weight:400;min-width:28px;text-align:center}.clock-digits small{font-size:9px;color:#8b8d80}.clock-digits em{font:15px Georgia,serif;color:#b5b6aa}.birthday-today{color:var(--purple-dark);font-family:var(--serif);font-size:20px;margin:0}.hero-art{position:relative;padding:26px 35px 25px 5px;min-width:0}.orbit-note{font:9px var(--sans);letter-spacing:2.4px;position:absolute;right:55px;top:0;transform:rotate(5deg);color:#898c7d}.orbit-note span{padding-left:15px;color:#b8a3cb}.postcard{position:relative;background:#fffef9;padding:12px 12px 3px;transform:rotate(-5deg);box-shadow:1px 8px 20px #4f523c0d,0 0 0 1px #dedccc80}.birthday-scene{width:100%;height:auto;background:#ebe7f1}.tape{position:absolute;background:#ded4ab8c;width:125px;height:35px;z-index:1;clip-path:polygon(2% 0,99% 5%,97% 18%,100% 30%,98% 50%,100% 67%,97% 80%,99% 100%,0 94%,2% 80%,0 60%,2% 40%,0 20%)}.tape-top{left:35%;top:-16px;transform:rotate(6deg)}.postcard-caption{display:flex;align-items:center;justify-content:space-between;padding:15px 12px 13px;font:italic 21px Georgia,var(--serif);color:#6f665a}.postcard-caption i{font-style:normal;font-family:var(--serif);font-size:21px}.little-heart{font:30px var(--serif);color:#b49bc9}.date-sticker{position:absolute;top:9px;left:-20px;width:109px;background:#e9eddc;transform:rotate(-11deg);text-align:center;border:1px solid #b6c09b;box-shadow:3px 4px 0 #343e2911;z-index:3;padding:11px 0 12px;clip-path:polygon(0 0,100% 0,100% 97%,93% 100%,85% 97%,76% 100%,68% 97%,59% 100%,51% 97%,43% 100%,34% 97%,25% 100%,17% 97%,8% 100%,0 97%)}.date-sticker>span{font-size:8px;letter-spacing:2px;display:block;border-bottom:1px solid #b6c09b;padding-bottom:5px;margin:0 10px}.date-sticker strong{font:58px/1.2 Georgia,serif}.date-sticker small{display:block;font-size:8px;letter-spacing:1px}.age-sticker{position:absolute;bottom:65px;right:-5px;width:132px;height:132px;background:#e8d99e;display:flex;align-items:center;justify-content:center;flex-direction:column;transform:rotate(12deg);border-radius:50%;outline:1px dashed #ada06c;outline-offset:-9px;box-shadow:3px 4px 0 #5a4c3515}.age-sticker>span{font:8px var(--sans);letter-spacing:1px}.age-sticker strong{font:53px/1.1 Georgia,serif;font-weight:400;display:flex;align-items:center}.age-sticker i{font:13px var(--serif);padding-left:2px}.age-sticker>span:last-child{margin-top:5px;font-size:8px;letter-spacing:.5px}.art-doodle{position:absolute;right:-15px;top:120px;color:#8f7baa;font:60px/1 Georgia,serif;transform:rotate(-15deg)}.art-note{display:block;text-align:center;position:relative;top:24px;transform:rotate(-4deg);font:italic 12px var(--serif);letter-spacing:1px;color:#92917d}
.ribbon{border-top:1px solid #d1d9c4;border-bottom:1px solid #d1d9c4;background:var(--sage);transform:rotate(-1.7deg);margin:6px -10px 0;overflow:hidden}.ribbon>div{display:flex;align-items:center;justify-content:space-around;gap:40px;padding:17px 25px;white-space:nowrap;min-width:1250px;font:12px/1.2 var(--serif);letter-spacing:2px}.ribbon b{font:22px/1 var(--sans);color:#687353;font-weight:400}.ribbon span:nth-child(4n+1){font:10px Georgia,serif;letter-spacing:2px}.section{max-width:1170px;margin:0 auto}.surprises{padding-top:100px;padding-bottom:96px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:42px}.section-kicker{font:9px/1.5 var(--sans);letter-spacing:2px;color:#858777;display:inline-block}.section-heading h2,.wish-copy h2,.letter-intro h2{font:500 38px/1.5 var(--serif);letter-spacing:2px;margin:13px 0 0}.section-heading h2 span{color:#8a789b}.section-heading p{font-size:11px;color:#858777;text-align:right;margin:0 0 5px;line-height:1.9}.surprise-layout{display:grid;grid-template-columns:1.55fr 1fr;gap:30px}.fortune-area{background:#ede7f1;min-height:370px;position:relative;overflow:hidden;display:flex;align-items:center;border-radius:6px}.fortune-copy{padding:40px 0 42px 43px;z-index:2}.tiny-tag{font-size:9px;letter-spacing:1px;color:#83728e;display:inline-block;border-bottom:1px solid #b9aac8;padding-bottom:6px}.fortune-copy h3{font:500 31px/1.5 var(--serif);letter-spacing:1px;margin:18px 0 12px}.fortune-copy p{font-size:11px;color:#8b8191;line-height:2}.text-button{background:transparent;padding:4px 0 3px;border-bottom:1px solid #91839d;font-size:11px;display:flex;gap:29px;color:#695877;margin-top:25px;transition:gap .2s}.text-button:hover{gap:40px}.text-button span{font-size:19px}.gacha{height:300px;width:200px;position:absolute;right:40px;bottom:24px;transform:rotate(7deg);filter:drop-shadow(9px 12px 0 #6b5b7b13)}.gacha-top{height:156px;background:#e9c86d;border:2px solid #49453d;border-radius:85px 85px 14px 14px;padding:14px 14px 11px;position:relative;z-index:2}.gacha-top>span{display:block;text-align:center;font:10px/1 Georgia,serif;letter-spacing:2px;margin:0 0 6px}.gacha-glass{height:112px;position:relative;background:#fdf8e7;border:2px solid #4f4b44;border-radius:63px 63px 10px 10px;overflow:hidden}.capsule{width:57px;height:57px;border:1.6px solid #5b5550;border-radius:50%;display:block;position:absolute;background:linear-gradient(12deg,#c1cda6 50%,#fdf7e7 50%)}.cap-1{bottom:-8px;left:-6px;transform:rotate(30deg)}.cap-2{bottom:-8px;right:2px;transform:rotate(-35deg);background:linear-gradient(12deg,#d7c3e5 50%,#fdf7e7 50%)}.cap-3{bottom:12px;left:47px;transform:rotate(-12deg);background:linear-gradient(12deg,#efa78c 50%,#fdf7e7 50%)}.cap-4{bottom:48px;left:15px;transform:rotate(-32deg);background:linear-gradient(12deg,#e7cc7b 50%,#fdf7e7 50%)}.cap-5{bottom:53px;right:0;transform:rotate(65deg)}.glass-shine{position:absolute;left:17px;top:14px;width:21px;height:44px;background:#fff8;transform:rotate(30deg);border-radius:20px}.gacha-base{margin:-5px 6px 0;height:140px;background:#ccadcd;border:2px solid #49453d;border-radius:5px 5px 12px 12px;position:relative;z-index:1}.gacha-label{text-align:center;border:1px solid #716678;background:#ede5ed;width:116px;font-size:8px;letter-spacing:1px;margin:14px auto 8px;border-radius:3px}.gacha-label span{padding-left:8px}.gacha-knob{height:39px;width:39px;background:#f9f3db;border:1.8px solid #49453d;border-radius:50%;margin:auto;position:relative;transition:transform .6s}.gacha-knob>span{display:block;position:absolute;width:30px;height:10px;background:#e0c473;border:1.5px solid #49453d;left:3px;top:12px;border-radius:4px}.gacha-slot{width:72px;height:27px;background:#4e4853;border:4px solid #aa8eb0;border-radius:18px 18px 4px 4px;margin:8px auto}.gacha-star{position:absolute;right:10px;top:49px;font-size:28px;color:#fff6}.gacha-feet{height:12px;width:155px;margin:0 auto;border-left:15px solid #59505e;border-right:15px solid #59505e}.gacha.dispensing{animation:shake .5s}.gacha.dispensing .gacha-knob{transform:rotate(180deg)}@keyframes shake{0%,100%{transform:rotate(7deg)}20%{transform:rotate(3deg)}45%{transform:rotate(11deg)}70%{transform:rotate(4deg)}}
.birthday-pass{padding:25px 32px 23px;background:#f0eddf;position:relative;border:1px solid #d8d6c7;border-radius:5px;transform:rotate(2deg);align-self:center;min-height:354px}.birthday-pass:before,.birthday-pass:after{content:"";position:absolute;width:20px;height:20px;background:var(--paper);border-radius:50%;top:65%;border:1px solid #d8d6c7}.birthday-pass:before{left:-11px;border-left-color:transparent}.birthday-pass:after{right:-11px;border-right-color:transparent}.pass-top{display:flex;justify-content:space-between;font:8px var(--sans);letter-spacing:1.3px;padding-bottom:15px;border-bottom:1px solid #d6d3c3}.pass-top>span:last-child{font-size:18px;line-height:.5}.pass-number{font:italic 12px Georgia,serif;color:#9b947d;position:absolute;right:29px;top:72px;transform:rotate(90deg);transform-origin:right bottom}.birthday-pass h3{font:500 32px/1.4 var(--serif);letter-spacing:3px;margin:19px 0 12px}.birthday-pass p{font-size:10px;line-height:2;color:#8c897a}.pass-bottom{display:flex;justify-content:space-between;align-items:center;border-bottom:1px dashed #c6c2b2;padding:3px 0 13px;margin-top:13px;font-size:9px}.pass-bottom strong{padding-left:8px;font-size:12px;font-weight:400}.pass-seal{border:1px solid #b98570;border-radius:50%;color:#b98570;line-height:1.3;padding:7px;transform:rotate(-15deg);font-family:var(--serif)}.barcode{height:18px;width:117px;position:absolute;right:30px;bottom:25px;background:repeating-linear-gradient(90deg,#676556 0 1px,transparent 1px 3px,#676556 3px 5px,transparent 5px 6px,#676556 6px 7px,transparent 7px 10px,#676556 10px 13px,transparent 13px 16px)}.pass-foot{font-size:7px;color:#928c7a;display:block;margin-top:12px;max-width:150px;letter-spacing:.3px}
.wish-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:73px 30px 75px;display:grid;grid-template-columns:1fr 1fr;gap:70px}.wish-copy h2{font-size:36px;margin-top:16px}.wish-copy>p{font-size:12px;color:#858676;line-height:2;margin:18px 0 26px}.wish-label{font-size:10px;display:block;color:#7e806f}.wish-label span{color:#b29ab9;margin-left:8px}.wish-input-row{border-bottom:1px solid #c6c8b9;display:flex;align-items:center;gap:12px;margin-top:6px}.wish-input-row input{border:0;width:100%;background:transparent;border-radius:0;padding:12px 0;color:var(--ink);font-size:12px;min-width:0}.wish-input-row input::placeholder{color:#a7a798}.wish-input-row>span{font-size:23px;color:#a091b1}.wish-copy>p.privacy-note{font-size:9px;color:#999a8d;margin-top:10px;margin-bottom:0}.cake-stage{display:flex;align-items:center;justify-content:flex-end;flex-direction:column;position:relative;min-height:360px;padding-top:140px}.cake-halo{height:290px;width:290px;border-radius:50%;background:#ede9f0;position:absolute;top:0;left:50%;transform:translateX(-50%);opacity:.6}.cake{position:relative;width:235px;height:150px;margin:0 auto 30px;filter:drop-shadow(0 12px 8px #9a8c6e12)}.candles{height:70px;display:flex;position:absolute;gap:39px;bottom:142px;left:52px;z-index:3;align-items:flex-end}.candle{height:47px;width:10px;background:repeating-linear-gradient(-35deg,#ceafd9 0 5px,#fbf4e4 5px 10px);border:1px solid #baa1b5;border-radius:2px;position:relative;transform:rotate(-4deg)}.candle:nth-child(2){height:58px;transform:rotate(4deg)}.candle:nth-child(3){transform:rotate(5deg)}.flame{display:block;position:absolute;top:-27px;left:-1px;width:12px;height:22px;background:#efb65c;border-radius:70% 30% 50% 50%;box-shadow:0 0 15px #f7c86d88;transform:rotate(8deg);animation:flicker 1.2s ease-in-out infinite alternate;transform-origin:center bottom}.flame:after{content:"";position:absolute;bottom:2px;left:3px;background:#fff2bb;width:6px;height:11px;border-radius:70% 30% 50% 50%}.candle:nth-child(2) .flame{animation-delay:-.5s}.candle:nth-child(3) .flame{animation-delay:-.8s}@keyframes flicker{0%{transform:rotate(-8deg) scale(1,.9)}100%{transform:rotate(8deg) scale(.9,1.1)}}.cake.blown .flame{opacity:0;animation:none;transition:opacity .5s}.cake.blown .candle:after{content:"";position:absolute;top:-30px;left:2px;height:24px;width:8px;border-left:2px solid #8c889e66;border-radius:50%;animation:smoke 1.5s forwards}@keyframes smoke{to{transform:translateY(-30px) scale(1.5);opacity:0}}.cake-top{position:absolute;top:0;left:0;height:65px;width:235px;border-radius:50%;background:#f2dfbb;border:1px solid #d5c7a9;z-index:2;display:flex;align-items:center;justify-content:center;gap:33px;color:#ae8598}.cake-top b{font:italic 28px Georgia,serif;color:#9b7a94;transform:rotate(-8deg)}.cake-body{position:absolute;width:235px;height:103px;top:29px;left:0;border-radius:0 0 48% 48% / 0 0 25% 25%;background:#e7cfab;border:1px solid #ccb693;border-top:0;overflow:hidden}.cake-body i{height:34px;width:48px;background:#f6e6c8;position:absolute;top:-8px;border-radius:0 0 50% 50%;z-index:1}.cake-body i:nth-child(1){left:-10px;height:40px}.cake-body i:nth-child(2){left:36px;height:53px}.cake-body i:nth-child(3){left:82px;height:36px}.cake-body i:nth-child(4){left:128px;height:51px}.cake-body i:nth-child(5){left:174px;height:43px}.cake-body>span{display:block;text-align:center;position:absolute;left:0;right:0;bottom:25px;font:8px Georgia,serif;letter-spacing:3px;color:#916f73}.cake-bottom{position:absolute;top:113px;width:235px;height:25px;border-radius:50%;border-bottom:8px dotted #e0b4a9}.cake-plate{position:absolute;width:285px;height:38px;background:#e3e7d8;border:1px solid #c3c9b4;border-radius:50%;bottom:-1px;left:-25px;z-index:-1}.cake-star{position:absolute;font-family:Georgia,serif;color:#b4a0cb}.star-one{font-size:40px;left:45px;top:66px;transform:rotate(-10deg)}.star-two{font-size:22px;right:44px;top:122px;color:#d4b068}.button-purple{background:#ded5ec;color:#5e4b76;box-shadow:0 3px 0 #c5b5d7}.cake-stage .button{position:relative;min-width:190px;padding:12px 19px;gap:10px}.cake-stage>p{position:relative;color:#8e8e7f;font-size:10px;margin:17px 0 0;text-align:center;min-height:18px}
.letter-section{padding:95px 30px 105px;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.letter-intro h2{font-size:35px;margin-top:16px}.letter-intro>p{font-size:11px;color:#858676;margin-top:17px}.letter-scribble{font:italic 12px var(--serif);color:#9b8ca9;display:block;margin:28px 0 0 40px;transform:rotate(-6deg);position:relative}.letter-scribble svg{position:absolute;left:140px;top:-7px;width:100px;height:47px;fill:none;stroke:#aa9bb5;stroke-width:1.5}.envelope{position:relative;display:block;width:340px;height:225px;background:#d5dcc4;margin:32px auto 0;transform:rotate(-6deg);box-shadow:5px 12px 20px #525a4110;border-radius:3px;isolation:isolate;transition:transform .3s}.envelope:hover{transform:rotate(-3deg) translateY(-7px)}.envelope-paper{position:absolute;left:20px;right:20px;top:-32px;background:#fffdf5;height:190px;padding:20px 26px;text-align:left;box-shadow:0 0 0 1px #e3e1d4;transform:rotate(3deg);transition:transform .3s;z-index:-1}.envelope:hover .envelope-paper{transform:translateY(-12px) rotate(3deg)}.envelope-paper>span{font:italic 21px Georgia,var(--serif);color:#7e806b;display:block;margin-bottom:13px}.envelope-paper i{height:1px;background:#dddccf;width:90%;display:block;margin-top:12px}.envelope-paper i:nth-child(3){width:80%}.envelope-paper i:nth-child(4){width:94%}.envelope-front{position:absolute;inset:0;background:#d7dec7;clip-path:polygon(0 0,50% 56%,100% 0,100% 100%,0 100%);border:1px solid #bac4a9}.envelope-front:after{content:"";position:absolute;inset:0;background:#dfe5d0;clip-path:polygon(50% 48%,100% 100%,0 100%)}.envelope-flap{position:absolute;inset:0;background:#c7d1b5;clip-path:polygon(0 0,100% 0,50% 56%);z-index:1;filter:drop-shadow(0 1px 1px #859270)}.wax-seal{position:absolute;left:calc(50% - 22px);top:94px;width:44px;height:44px;border-radius:45% 52% 43% 48%;background:#b58f9e;z-index:2;color:#f6e2e6;box-shadow:0 2px 3px #493d4d25,inset 0 0 0 4px #c5a2ae;font:27px/44px Georgia,serif;transform:rotate(10deg)}.envelope-to{position:absolute;bottom:24px;left:24px;font:8px var(--sans);letter-spacing:2px;z-index:2;color:#66705a}.envelope-to b{font:13px var(--serif);letter-spacing:1px;margin-left:7px}.open-hint{position:absolute;bottom:-40px;left:0;right:0;font-size:10px;transform:rotate(6deg);letter-spacing:1px;color:#8b8d7e}.open-hint>span{padding-left:10px}.site-footer{border-top:1px solid var(--line);max-width:1240px;margin:15px auto 0;padding:29px 6px 24px}.footer-top{display:flex;align-items:center;gap:17px}.footer-top>span{font:13px/1.8 var(--serif);letter-spacing:1px}.footer-love{margin-left:auto;font:31px Georgia,serif;background:transparent;color:#9e86ae;width:48px;height:48px;transition:transform .2s}.footer-love:hover{transform:scale(1.3) rotate(-8deg)}.footer-bottom{border-top:1px dashed var(--line);margin-top:24px;padding-top:17px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:1px;color:#969889}.footer-bottom>a{font-size:9px;letter-spacing:.4px}.footer-bottom>span:nth-child(2){margin-left:auto;margin-right:70px}
#confetti{position:fixed;inset:0;width:100%;height:100%;z-index:50;pointer-events:none}.toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%,0);z-index:80;background:#363d31;color:var(--paper);padding:12px 23px;border-radius:40px;box-shadow:0 5px 20px #0002;font-size:12px;max-width:90vw;text-align:center;animation:toast-in .3s ease-out}@keyframes toast-in{from{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%,0)}}.skip-link{position:fixed;left:12px;top:-100px;background:var(--paper);padding:8px 16px;z-index:100}.skip-link:focus{top:12px}.noscript{position:fixed;bottom:0;left:0;right:0;padding:14px;background:var(--sage);text-align:center;z-index:90;margin:0}dialog{border:0;color:var(--ink);box-shadow:0 18px 80px #25262133;padding:0;max-width:calc(100vw - 32px);max-height:calc(100dvh - 48px);overscroll-behavior:contain}dialog::backdrop{background:#37372c77;backdrop-filter:blur(5px)}dialog[open]{animation:dialog-in .3s ease-out}@keyframes dialog-in{from{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.dialog-close{position:absolute;right:13px;top:12px;background:transparent;color:#858575;width:40px;height:40px;font:27px/1 var(--sans);z-index:4;border-radius:50%}.dialog-close:hover{background:#30352d0a}.fortune-dialog{background:#faf8ed;width:440px;border-radius:130px 130px 12px 12px;text-align:center;padding:53px 38px 26px;overflow-x:hidden;border:6px solid #ded2ec}.fortune-dialog>.section-kicker{font-size:9px;letter-spacing:3px;color:#8c79a2}.fortune-icon{font:68px/1.3 Georgia,serif;color:#a18ab4;margin-top:19px}.fortune-dialog h2{font:500 31px var(--serif);letter-spacing:5px;margin:12px 0 20px}.fortune-dialog>p{font-size:13px;line-height:2.1;color:#7b7d6b;min-height:78px}.fortune-tag{display:inline-block;border:1px solid #c5bc9f;background:#eee9d2;color:#8d805c;padding:3px 13px;font-size:10px;transform:rotate(-4deg);margin:10px 0 23px;letter-spacing:1px}.fortune-dialog-actions .button{font-size:11px;padding:10px 18px;min-height:43px}.fortune-dialog>small{display:block;font-size:8px;color:#a09e8c;letter-spacing:.7px;margin-top:28px}.fortune-dialog .dialog-close{right:40px;top:65px}.letter-dialog{width:650px;background:#fdfbf3;border-radius:3px;padding:43px 52px 25px}.letter-dialog-header{display:flex;justify-content:space-between;color:#9c9d8b;font-size:8px;letter-spacing:1.5px;border-bottom:1px solid #dedfd1;padding-bottom:18px;margin-right:10px}.letter-dialog h2{font:500 26px var(--serif);letter-spacing:2px;margin:32px 0 26px}.letter-dialog h2>span:last-child{color:#baa6c7;font-size:30px}.letter-content{font:14px/2.3 var(--serif);letter-spacing:.6px;color:#666b59}.letter-content p{margin:0 0 19px}.letter-content p:first-child{color:#4d5545}.letter-signature{display:flex;flex-direction:column;align-items:flex-end;gap:4px;margin-top:28px;font:11px/1.8 var(--serif);color:#93947f}.letter-signature strong{font-size:16px;font-weight:500;color:#776380;transform:rotate(-3deg);margin:3px 0 9px}.letter-dialog-footer{text-align:center;font-size:7px;color:#a8a995;letter-spacing:2px;border-top:1px solid #dedfd1;margin-top:30px;padding-top:16px}
@media(min-width:1500px){.hero{min-height:770px;padding-top:70px;padding-bottom:80px}.hero-art{padding-right:20px}h1{font-size:76px}}
@media(max-width:1320px){.site-header,.hero,.site-footer{margin-left:5%;margin-right:5%}.section{margin-left:7%;margin-right:7%}.hero{grid-template-columns:1fr 1fr;gap:20px;min-height:670px}.hero-art{padding-right:25px}.hero-copy{padding-left:0}.gacha{right:22px;width:180px;transform:rotate(7deg) scale(.94);transform-origin:center bottom}.fortune-copy{padding-left:30px}.fortune-copy h3{font-size:29px}.surprise-layout{gap:24px;grid-template-columns:1.5fr 1fr}.birthday-pass{padding-left:25px;padding-right:25px}.pass-foot{max-width:120px}.barcode{width:90px;right:24px}.cake-star.star-one{left:9px}.cake-star.star-two{right:11px}.envelope{width:310px;height:207px}.wax-seal{top:82px}}
@media(max-width:1050px){.site-header{gap:20px}.desktop-nav{gap:19px;font-size:11px}.brand strong{font-size:15px}.brand small{font-size:7px;letter-spacing:1px}.hero{min-height:620px;grid-template-columns:1fr 1fr;gap:32px}h1{font-size:54px}.title-spark{font-size:38px;right:-38px}.hero-description{font-size:12px}.hero-actions{gap:10px}.hand-note{font-size:10px}.hero-art{padding-left:0;padding-right:5px}.date-sticker{width:86px;left:-18px;top:1px}.date-sticker strong{font-size:45px}.date-sticker>span{font-size:6px}.date-sticker small{font-size:6px}.age-sticker{width:105px;height:105px;right:-15px;bottom:35px}.age-sticker strong{font-size:41px}.age-sticker>span{font-size:6px}.age-sticker>span:last-child{font-size:6px}.postcard-caption{padding:13px 3px 10px;font-size:16px}.postcard-caption i{font-size:17px}.orbit-note{font-size:7px;right:5px;letter-spacing:1.5px;top:3px}.art-doodle{right:-24px;font-size:45px;top:100px}.birthday-clock{gap:13px}.clock-digits{gap:6px}.clock-digits b{font-size:21px;min-width:24px}.clock-label{font-size:9px;width:65px}.clock-digits small{font-size:8px}.hero .button{font-size:12px;padding:13px 19px;gap:18px}.section-heading h2{font-size:33px}.section{margin-left:6%;margin-right:6%}.surprises{padding-top:85px;padding-bottom:70px}.surprise-layout{grid-template-columns:1.4fr 1fr;gap:21px}.fortune-area{min-height:340px}.fortune-copy{padding-left:25px}.fortune-copy h3{font-size:24px}.fortune-copy p{font-size:10px}.tiny-tag{font-size:8px}.gacha{right:6px;transform:rotate(7deg) scale(.8);transform-origin:right bottom;bottom:20px}.fortune-copy .text-button{font-size:10px;gap:15px}.birthday-pass{min-height:325px;padding:22px}.birthday-pass h3{font-size:27px}.pass-foot{font-size:6px;max-width:115px}.barcode{width:70px;right:20px}.birthday-pass p{font-size:9px}.pass-top{font-size:7px}.pass-number{font-size:10px;right:20px}.wish-section{padding:62px 15px;gap:35px}.wish-copy h2{font-size:32px}.letter-section{padding:80px 15px 100px;gap:35px}.letter-intro h2{font-size:29px}.envelope{width:275px;height:185px}.wax-seal{top:71px}.letter-scribble{margin-left:10px}.letter-scribble svg{left:122px;width:70px}.cake{transform:scale(.9)}.cake-stage{padding-top:123px}.cake-halo{width:250px;height:250px;top:13px}}
@media(max-width:760px){.site-header{padding:21px 0 19px;gap:10px}.desktop-nav{display:none}.brand{gap:8px}.brand img{width:35px;height:35px}.brand strong{font-size:14px;letter-spacing:.5px}.brand small{font-size:6px;letter-spacing:1px}.music-toggle{margin-left:auto;font-size:9px;padding:7px 10px;gap:7px}.hero{display:flex;flex-direction:column;align-items:stretch;gap:22px;margin:0 7%;padding:36px 0 48px;min-height:0}.hero-copy{padding-left:0}.eyebrow{font-size:9px;letter-spacing:1.5px}h1{font-size:clamp(48px,9vw,66px);line-height:1.25;letter-spacing:3px;margin:23px 0 21px}.title-spark{right:-57px;top:18px;font-size:45px}.hero-description{font-size:12px;line-height:2;margin:24px 0}.hero-actions{gap:22px}.hero .button{font-size:12px;padding:14px 22px;gap:30px}.hand-note{font-size:11px}.birthday-clock{margin-top:28px;padding-top:18px;gap:19px}.clock-digits{gap:10px}.clock-digits b{font-size:24px;min-width:28px}.clock-label{width:68px}.hero-art{padding:30px 25px 26px;max-width:490px;width:100%;margin:10px auto 0}.postcard{padding:10px 10px 0}.date-sticker{top:13px;left:3px;width:92px}.date-sticker strong{font-size:48px}.date-sticker>span{font-size:7px}.date-sticker small{font-size:7px}.age-sticker{right:0;bottom:36px;width:112px;height:112px}.age-sticker strong{font-size:44px}.age-sticker>span{font-size:7px}.age-sticker>span:last-child{font-size:7px}.postcard-caption{font-size:19px;padding:14px 9px 12px}.postcard-caption i{font-size:19px}.orbit-note{top:5px;right:22px;font-size:7px}.art-doodle{top:115px;right:0;font-size:41px}.art-note{font-size:11px;top:23px}.ribbon>div{min-width:1100px;padding:14px 20px;gap:24px;font-size:11px}.ribbon b{font-size:19px}.section{margin-left:7%;margin-right:7%}.surprises{padding-top:64px;padding-bottom:60px}.section-heading{display:block;margin-bottom:29px}.section-kicker{font-size:8px;letter-spacing:1.6px}.section-heading h2{font-size:29px;letter-spacing:1px;margin-top:10px}.section-heading p{font-size:10px;text-align:left;margin-top:11px}.section-heading p br{display:none}.surprise-layout{grid-template-columns:1fr;gap:26px}.fortune-area{min-height:322px}.fortune-copy{padding:28px 0 32px 26px}.fortune-copy h3{font-size:26px}.fortune-copy p{font-size:11px}.tiny-tag{font-size:8px}.gacha{right:13px;bottom:18px;transform:rotate(7deg) scale(.83);width:180px}.birthday-pass{transform:rotate(1deg);padding:24px 29px 24px;min-height:320px;max-width:440px;width:calc(100% - 9px);justify-self:center}.birthday-pass h3{font-size:29px}.birthday-pass p{font-size:10px}.pass-top{font-size:8px}.pass-number{right:27px}.pass-foot{font-size:7px;max-width:150px}.barcode{width:100px;right:27px}.wish-section{grid-template-columns:1fr;gap:12px;padding:50px 0 45px}.wish-copy h2{font-size:32px;line-height:1.5}.wish-copy>p{font-size:11px;margin-top:15px}.wish-label{font-size:10px}.wish-input-row{max-width:400px}.wish-input-row input{font-size:16px}.cake-stage{min-height:360px;padding-top:137px;margin-top:14px}.cake{transform:scale(1);margin-bottom:28px}.cake-halo{top:7px;width:280px;height:280px}.cake-star.star-one{left:10%;top:62px}.cake-star.star-two{right:10%;top:121px}.cake-stage>p{font-size:10px;max-width:95%}.letter-section{grid-template-columns:1fr;gap:35px;padding:55px 0 90px}.letter-intro h2{font-size:31px}.letter-intro>p{font-size:11px}.letter-scribble{margin:20px 0 0 50px;font-size:12px}.letter-scribble svg{left:140px;top:0;width:88px}.envelope{width:290px;height:195px;margin-top:26px}.wax-seal{top:77px}.site-footer{margin:0 7%;padding:25px 0 22px}.footer-top{gap:10px}.footer-top>span{font-size:12px}.footer-top>img{width:35px;height:35px}.footer-bottom{font-size:6px;letter-spacing:.5px;row-gap:15px;flex-wrap:wrap;margin-top:23px;padding-top:18px}.footer-bottom>span:first-child{flex-basis:100%}.footer-bottom>span:nth-child(2){margin-left:0;margin-right:auto}.footer-bottom>a{font-size:8px}.letter-dialog{padding:34px 25px 22px;width:calc(100vw - 30px)}.letter-dialog-header{font-size:7px;letter-spacing:.5px;margin-right:14px}.letter-dialog h2{font-size:23px;margin-top:26px;letter-spacing:1px}.letter-content{font-size:13px;line-height:2.2}.letter-signature{font-size:10px}.letter-dialog-footer{font-size:6px;letter-spacing:1px}.fortune-dialog{padding-left:28px;padding-right:28px}.fortune-dialog h2{font-size:28px}.fortune-dialog>p{font-size:12px}.toast{font-size:11px;bottom:22px;width:max-content;max-width:90vw;padding:11px 19px}}
@media(max-width:360px){.brand strong{font-size:12px}.brand small{font-size:5px}.music-toggle{font-size:8px;padding:7px 8px}.hero{margin-left:6%;margin-right:6%}h1{font-size:47px}.title-spark{right:-37px;font-size:35px}.hand-note{font-size:10px}.hero-actions{gap:14px}.hero .button{padding-left:17px;padding-right:17px;gap:23px}.clock-digits{gap:5px}.birthday-clock{gap:12px}.gacha{right:6px;transform:rotate(7deg) scale(.73)}.fortune-copy{padding-left:20px}.fortune-copy h3{font-size:23px}.tiny-tag{font-size:7px}.fortune-copy p{font-size:10px}.fortune-copy .text-button{font-size:9px}.envelope{width:255px;height:174px}.wax-seal{top:64px}.section-heading h2{font-size:26px}.pass-foot{max-width:118px;font-size:6px}.barcode{width:74px}.cake{transform:scale(.9)}}
.mobile-break{display:none}
@media(max-width:420px){.mobile-break{display:block}.fortune-area{min-height:360px}.fortune-copy h3{font-size:25px}.fortune-copy p{max-width:112px;font-size:10px}.fortune-copy .text-button{font-size:9px;gap:10px}.gacha{right:9px;transform:rotate(7deg) scale(.77)}}
@media(max-width:360px){.fortune-copy h3{font-size:23px}.fortune-copy p{max-width:100px}.gacha{right:6px;transform:rotate(7deg) scale(.65)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
