@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&family=Noto+Serif+SC:wght@400;500;600;700&display=swap');
:root{--paper:#fff8ed;--pink:#b84462;--rose:#df7b92;--ink:#553d38;--muted:#99847b;--line:#e9d9ca;--serif:'Noto Serif SC','Songti SC',serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans','PingFang SC',sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #bf6a91;outline-offset:5px}button{color:inherit}button:disabled{opacity:.5}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.paper-grain{position:fixed;inset:0;opacity:.18;pointer-events:none;z-index:20;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23985b37' opacity='.22' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}body:before{content:'';position:fixed;inset:0;z-index:-1;background:radial-gradient(ellipse at 84% 30%,#fae6e160,transparent 55%),radial-gradient(ellipse at 7% 80%,#f5e2bb40,transparent 50%)}.header{height:116px;max-width:1344px;margin:auto;padding:0 64px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:13px;align-items:center;font-family:var(--serif);font-weight:600;font-size:17px;letter-spacing:2px}.brand-icon{font-family:serif;color:var(--pink);font-size:40px;transform:rotate(-13deg);font-weight:400}.brand small{display:block;font-family:'DM Sans',sans-serif;font-size:8px;letter-spacing:2.5px;margin-top:8px;font-weight:400}.sound{display:flex;gap:10px;align-items:center;background:none;border:1px solid var(--line);border-radius:30px;padding:10px 15px;font-size:11px;color:var(--muted)}.sound>span:first-child{font-size:20px;color:var(--pink)}.sound i{width:5px;height:5px;border-radius:50%;background:#bca69b}.sound[aria-pressed=true] i{background:#a1b08b;box-shadow:0 0 0 3px #a1b08b22}main{max-width:1216px;margin:auto;padding:0 40px}.welcome{display:grid;grid-template-columns:1fr 1.08fr;align-items:center;min-height:660px;padding-top:18px;column-gap:20px}.hero-copy{padding:22px 0 22px 28px;position:relative;z-index:1}.eyebrow{font-size:10px;font-weight:500;letter-spacing:3px;color:var(--pink);display:flex;align-items:center;gap:12px}.eyebrow>span:empty{width:22px;height:1px;background:#c99087}h1{font-family:'Playfair Display',Georgia,serif;font-size:94px;line-height:1.04;font-weight:500;letter-spacing:-4px;position:relative;margin:25px 0 28px;color:var(--pink)}h1 em{font-weight:500}h1 .title-star{position:absolute;top:-21px;left:303px;font-size:57px;color:#d7a54a;animation:twinkle 5s infinite}h1 .title-heart{font-size:62px;display:inline-block;margin-left:15px;vertical-align:top;transform:rotate(13deg);font-style:normal;animation:sway 5s ease-in-out infinite}h2{font-family:var(--serif);font-size:24px;font-weight:500;letter-spacing:2px}.hero-copy h2{font-size:24px;margin:0 0 20px}.intro{font-family:var(--serif);font-size:13px;line-height:2.2;color:#8a756d;letter-spacing:1px;margin-bottom:29px}.primary{background:var(--pink);color:#fff9f2;border:1px solid var(--pink);border-radius:7px 15px 7px 15px;padding:16px 25px;display:inline-flex;align-items:center;justify-content:center;gap:30px;font-size:13px;letter-spacing:2px;box-shadow:3px 4px 0 #b8446219;transition:transform .2s,box-shadow .2s,background .2s}.primary:hover{background:#a53653;transform:translateY(-3px);box-shadow:4px 7px 0 #b8446222}.primary>span{font-size:22px;line-height:1}.handnote{font-family:var(--serif);color:#b09283;font-size:11px;letter-spacing:1px;margin-top:18px;transform:rotate(-2deg)}.hero-art{position:relative;align-self:center;min-width:0;padding:15px 0 25px}.hero-art img{width:111%;margin-left:-5%;mix-blend-mode:multiply;display:block;animation:float 7s ease-in-out infinite}.art-note{position:absolute;right:10px;top:16px;font-family:'Playfair Display',Georgia,serif;font-size:22px;font-style:italic;color:#b38179;transform:rotate(9deg);z-index:2;line-height:1.3}.art-caption{display:block;text-align:center;font-size:8px;letter-spacing:3px;color:#af9182;position:relative;margin-top:-5px}.seal{position:absolute;bottom:40px;right:2px;border:1px dashed #cda49a;width:75px;height:75px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#b18476;font-family:Georgia,serif;font-style:italic;font-size:20px;transform:rotate(12deg);background:#fff8edb0}.seal small{font-family:var(--serif);font-style:normal;font-size:9px;letter-spacing:1px;margin-top:3px}.journey{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:32px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:23px 0;margin:30px 28px 0}.journey-label{font-size:11px;color:#a58a7d;letter-spacing:2px;padding-right:12px}.journey div{display:flex;gap:10px;align-items:center;font-size:11px;color:#8f776d}.journey b{font-family:Georgia,serif;font-style:italic;font-size:19px;color:#bd7b86;font-weight:400}.journey i{color:#cfb8a8}footer{max-width:1160px;margin:38px auto 0;padding:0 28px 27px;display:flex;justify-content:space-between;color:#b29d8e;font-size:8px;letter-spacing:1.5px}footer b{color:#c77c8a;font-size:13px;font-weight:400}footer>span:last-child{font-size:10px;letter-spacing:2px}.footer-star{margin-left:20px;color:#c6a063;font-size:17px}.ambient{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:-1}.ambient span{position:absolute;color:#e8c9ae;animation:float 9s ease-in-out infinite}.ambient span:nth-child(1){top:23%;left:3%;font-size:35px}.ambient span:nth-child(2){top:65%;left:4%;font-size:25px;color:#e7b6c0;animation-delay:-3s}.ambient span:nth-child(3){top:70%;right:3%;font-size:20px}.ambient span:nth-child(4){top:18%;right:5%;font-size:36px;color:#ecc3c5;animation-delay:-5s}.ambient span:nth-child(5){bottom:7%;left:35%;font-size:22px}.ambient span:nth-child(6){top:47%;right:1%;font-size:19px;color:#c5cfb6}.view{animation:enter .6s ease both}.back{border:0;background:none;padding:10px 0;color:#a58176;font-size:12px}.section-head{text-align:center;margin:25px auto 42px}.section-head .eyebrow{justify-content:center}.section-head h2{font-size:30px;margin:20px 0 14px}.section-head h2 span{color:var(--pink);padding-left:10px}.section-head>p:last-child{font-size:12px;color:var(--muted);line-height:1.8}.gift-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;max-width:1000px;margin:auto}.gift-card{position:relative;background:#fffdf6;border:1px solid #e6d6c7;padding:12px 12px 20px;text-align:left;box-shadow:3px 5px 0 #dac3ac20;transition:transform .3s,box-shadow .3s;border-radius:3px}.gift-card:hover{transform:translateY(-7px) rotate(-1deg);box-shadow:6px 12px 24px #8e5b4011}.gift-card:nth-child(even):hover{transform:translateY(-7px) rotate(1deg)}.gift-photo{height:215px;overflow:hidden;background:#f3eee6;position:relative}.gift-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.gift-card:hover img{transform:scale(1.04)}.gift-card:nth-child(2) .gift-photo img,.gift-card:nth-child(4) .gift-photo img{object-fit:contain;background:#fff}.gift-photo:after{content:'拆开看看 ↗';position:absolute;bottom:10px;right:10px;font-size:10px;letter-spacing:1px;background:#fff8edeb;padding:7px 10px;border-radius:20px;color:var(--pink)}.gift-meta{display:block;color:#b68b83;font-size:9px;letter-spacing:2px;margin:18px 7px 8px}.gift-card h3{font-family:var(--serif);font-weight:500;font-size:18px;letter-spacing:1px;margin:0 7px 10px}.gift-card>p{font-size:11px;line-height:1.8;color:#a08b80;margin:0 7px}.gift-card .card-heart{position:absolute;right:20px;bottom:42px;color:#c68795;font-size:22px}.gift-footnote{text-align:center;font-family:var(--serif);font-size:12px;color:#b09586;margin:38px 0}.gifts{padding:12px 0 5px}dialog{border:1px solid #dfc4b7;border-radius:12px;background:var(--paper);color:var(--ink);padding:0;width:min(810px,calc(100% - 32px));max-height:90dvh;box-shadow:0 25px 100px #59362733;overflow:auto}dialog[open]{animation:enter .3s ease}dialog::backdrop{background:#49393165;backdrop-filter:blur(7px)}#detail[open]{display:grid;grid-template-columns:1fr 1fr}.dialog-close{position:absolute;top:12px;right:12px;background:#fff8edeb;border:1px solid #decbbd;z-index:3;width:31px;height:31px;border-radius:50%;font-size:24px;line-height:1}.detail-image{background:#eee2d8;padding:35px 20px 20px;display:flex;flex-direction:column;justify-content:center;gap:22px;min-height:440px}.detail-image img{width:100%;max-height:350px;object-fit:contain}.detail-image>span{text-align:center;font-size:9px;letter-spacing:3px;color:#b28c80}.detail-copy{padding:62px 30px 30px}.detail-copy .eyebrow{font-size:9px}.detail-copy h2{font-size:24px;line-height:1.6}.detail-copy>p:not(.eyebrow){font-size:12px;color:var(--muted);line-height:1.9}.gift-letter{margin:25px 0;padding:20px 15px;background:#f8e8df88;border-top:1px dashed #dab5a7;border-bottom:1px dashed #dab5a7;font-family:var(--serif);font-size:12px;line-height:2;color:#946f64}.gift-letter p{margin:5px 0 0}.detail-copy .primary{width:100%;font-size:12px;gap:15px}.text-button{border:0;background:none;display:block;margin:15px auto 0;padding:7px 10px;font-size:11px;color:#a08578;text-decoration:underline;text-underline-offset:5px}#confirm{max-width:420px;text-align:center;padding:40px 32px 25px}#confirm .eyebrow{justify-content:center;margin:15px 0}.confirm-symbol{font-size:60px;color:var(--pink);font-family:Georgia,serif}.confirm-note{color:var(--muted);font-size:12px;line-height:1.9;margin:20px 0 25px}#confirm-name{color:var(--pink);font-family:var(--serif);font-size:15px}#confirm .primary{width:100%;gap:20px}.success{text-align:center;padding-top:32px}.success-kicker{font-size:10px;letter-spacing:3px;color:#b68c82}.success-heart{font-size:100px;color:#d38598;line-height:1.3;position:relative;width:120px;margin:10px auto;font-family:Georgia,serif;animation:sway 5s infinite}.success-heart span{font-family:sans-serif;font-size:29px;position:absolute;left:48px;top:50px;color:var(--pink)}.success h2{font-size:30px;margin:15px 0}.success>p{color:var(--muted);font-size:12px;line-height:2}.receipt{max-width:360px;margin:30px auto;background:#fffdf8;border:1px solid var(--line);padding:22px 25px;box-shadow:4px 6px 0 #e6d6c422;transform:rotate(-1deg);position:relative}.receipt:before{content:'';position:absolute;top:-11px;left:calc(50% - 37px);width:74px;height:23px;background:#e7bbad66;transform:rotate(-5deg)}.receipt-label{display:block;font-size:10px;letter-spacing:3px;color:#b58b80;margin-bottom:15px}.receipt img{width:130px;height:105px;object-fit:contain}.receipt h3{font-family:var(--serif);font-size:18px;font-weight:500}.receipt p{font-family:var(--serif);font-size:11px;color:#a28b80;line-height:1.9}.receipt-line{border-bottom:1px dashed #dfc8b9;margin:20px 0 12px}.receipt small{font-size:9px;color:#b49b8b}.secondary{border:1px solid #d9b8aa;border-radius:8px;padding:16px 20px;background:none;font-size:12px;color:#a17d71}.success .handnote{margin-top:28px}.confetto{position:fixed;top:-20px;width:8px;height:14px;z-index:100;animation:confetti-fall var(--duration) linear forwards;pointer-events:none}#confetti{pointer-events:none;position:fixed;inset:0;overflow:hidden;z-index:100}body.modal-open{overflow:hidden}@keyframes float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-12px) rotate(1deg)}}@keyframes sway{0%,100%{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}@keyframes twinkle{0%,100%{opacity:.65;transform:scale(.9)}50%{opacity:1;transform:scale(1.08)}}@keyframes enter{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes confetti-fall{to{transform:translate(var(--drift),110vh) rotate(620deg);opacity:.2}}@media(min-width:1450px){.welcome{padding-top:50px;min-height:740px}.hero-copy{padding-left:30px}.hero-art img{width:115%}h1{font-size:104px}}@media(max-width:1000px){.header{padding:0 35px}main{padding:0 30px}h1{font-size:76px}h1 .title-heart{font-size:44px;margin-left:8px}h1 .title-star{left:240px;font-size:45px}.hero-copy{padding-left:0}.hero-copy h2{font-size:21px}.art-note{right:0;font-size:18px}.journey{margin:25px 0 0;gap:20px}.journey-label{display:none}.gift-photo{height:180px}.gift-grid{gap:16px}.gift-card h3{font-size:16px}.seal{bottom:10px}.welcome{min-height:610px}}@media(max-width:700px){.header{height:85px;padding:0 23px}.brand{font-size:13px;letter-spacing:1px;gap:9px}.brand small{font-size:6px;letter-spacing:1.7px}.brand-icon{font-size:31px}.sound{padding:6px 10px;gap:6px}.sound #sound-label{display:none}.sound>span:first-child{font-size:18px}main{padding:0 23px}.welcome{grid-template-columns:1fr;padding-top:12px;gap:0}.hero-copy{text-align:center;padding:12px 0 0}.eyebrow{justify-content:center;font-size:8px;letter-spacing:2.3px}h1{font-size:75px;line-height:1.01;letter-spacing:-3px;margin:22px auto 24px;width:fit-content;text-align:left}h1 .title-star{left:238px;top:-12px;font-size:41px}h1 .title-heart{font-size:40px;margin-left:10px}.hero-copy h2{font-size:20px;letter-spacing:1px;margin-bottom:15px}.intro{font-size:12px;line-height:2;margin-bottom:22px}.primary{font-size:12px;padding:15px 23px}.hero-copy .handnote{font-size:10px;margin-top:15px}.hero-art{max-width:380px;width:100%;margin:0 auto;padding:5px 20px 10px}.hero-art img{width:106%;margin-left:-3%;animation-duration:8s}.art-note{top:20px;right:0;font-size:16px}.art-caption{font-size:7px;letter-spacing:2px;margin-top:-10px}.seal{right:4px;bottom:30px;width:57px;height:57px;font-size:16px}.seal small{font-size:7px}.journey{gap:10px;margin-top:20px;padding:18px 0}.journey div{flex-direction:column;gap:6px;font-size:9px}.journey b{font-size:16px}.journey i{padding:0 3px}footer{margin-top:27px;padding:0 23px 23px;gap:15px;align-items:center}footer>span:first-child{font-size:6px;letter-spacing:1px}footer>span:last-child{font-size:8px;letter-spacing:.5px}.footer-star{margin-left:6px}.section-head{margin:24px 0 28px}.section-head h2{font-size:22px;letter-spacing:0}.section-head>p:last-child{font-size:11px;max-width:275px;margin:auto}.gift-grid{grid-template-columns:repeat(2,1fr);gap:13px}.gift-card{padding:8px 8px 15px}.gift-photo{height:155px}.gift-card h3{font-size:14px;line-height:1.6;margin:0 3px 8px}.gift-meta{font-size:7px;margin:12px 3px 6px;letter-spacing:1px}.gift-card>p{font-size:10px;margin:0 3px;padding-right:8px}.gift-card .card-heart{font-size:17px;bottom:15px;right:11px}.gift-photo:after{font-size:8px;padding:5px 7px;bottom:7px;right:5px}.gift-footnote{font-size:10px;line-height:1.8}.gift-grid .gift-card:last-child{grid-column:1/-1;width:calc(50% - 6px);justify-self:center}#detail[open]{display:block}.detail-image{min-height:0;padding:22px 20px 17px;gap:12px}.detail-image img{height:205px}.detail-copy{padding:20px 23px}.detail-copy h2{font-size:21px;margin:13px 0}.detail-copy .eyebrow{justify-content:flex-start}.gift-letter{margin:17px 0;padding:12px}.success{padding-top:28px}.success h2{font-size:24px;letter-spacing:1px}.success>p{font-size:11px}.receipt{max-width:310px}.ambient span:nth-child(1){top:35%;left:1%}.ambient span:nth-child(4){top:16%;right:3%;font-size:23px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}
.hero-art img{mask-image:radial-gradient(ellipse 69% 69% at center,#000 50%,transparent 76%)}
/* Wrapped presents: the contents stay secret until the lid comes off. */
.blind-scene{position:relative;max-width:1040px;margin:0 auto;padding:6px 25px 20px;background:radial-gradient(ellipse at 50% 65%,#f2dfd35c,transparent 67%)}
.gift-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:15px 32px;perspective:1100px;max-width:940px}
.blind-card{width:calc(33.333% - 24px);padding:20px 5px 18px;border:0;background:none;box-shadow:none;text-align:center;position:relative;border-radius:30px;isolation:isolate;transition:transform .35s,background .35s}
.blind-card:hover,.blind-card:nth-child(even):hover{transform:translateY(-9px);box-shadow:none;background:#fffdf652}
.blind-card:active{transform:translateY(-3px) scale(.97)}
.blind-card:before{content:'';position:absolute;inset:15% 0 20%;background:radial-gradient(ellipse,#e8c2a94d,transparent 65%);opacity:0;transition:opacity .4s;z-index:-1}
.blind-card:hover:before{opacity:1}
.gift-whisper{display:block;font-family:var(--serif);font-size:11px;letter-spacing:2px;color:#bb8a83;transform:translateY(6px) rotate(-4deg);opacity:0;transition:opacity .3s,transform .3s}
.blind-card:hover .gift-whisper,.blind-card:focus-visible .gift-whisper{opacity:1;transform:translateY(-5px) rotate(-4deg)}
.present{--box:#f0b6bf;--box-dark:#cf8293;--ribbon:#c84c6e;--ribbon-light:#ed91a8;--tilt:-7deg;width:200px;height:205px;position:relative;margin:0 auto;filter:drop-shadow(0 8px 5px #9a776018);transform:rotate(var(--tilt));animation:present-bob 5s ease-in-out infinite;transform-origin:50% 80%}
.present-2{--box:#c8b2df;--box-dark:#9c80b7;--ribbon:#876392;--ribbon-light:#b398c7;--tilt:8deg;animation-delay:-1.3s}
.present-3{--box:#b6cfb1;--box-dark:#8ca582;--ribbon:#d05f7a;--ribbon-light:#ec9cad;--tilt:-4deg;animation-delay:-2.6s}
.present-4{--box:#efd69a;--box-dark:#cfaf6d;--ribbon:#bc7790;--ribbon-light:#e5a3b9;--tilt:6deg;animation-delay:-3.9s}
.present-5{--box:#afced4;--box-dark:#81a9b0;--ribbon:#ca7985;--ribbon-light:#eaa4af;--tilt:-6deg;animation-delay:-.8s}
.present-shadow{position:absolute;left:14px;right:-3px;bottom:0;height:22px;background:#a5786125;filter:blur(9px);border-radius:50%;transform:rotate(calc(-1 * var(--tilt)))}
.box-body{position:absolute;left:20px;top:83px;width:164px;height:108px;background:repeating-linear-gradient(90deg,#fff7e547 0 14px,transparent 14px 30px),var(--box);border:2px solid #785149;border-radius:3px 5px 8px 5px;box-shadow:inset -13px -5px 0 #73524712,inset 3px 0 0 #fff9;transform:skewY(-3deg);overflow:hidden}
.box-body:after{content:'';position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100'%3E%3Cfilter id='p'%3E%3CfeTurbulence baseFrequency='.3' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23512b20' opacity='.15' filter='url(%23p)' d='M0 0h100v100H0z'/%3E%3C/svg%3E");mix-blend-mode:multiply;pointer-events:none}
.box-stripe{position:absolute;left:65px;top:0;width:30px;height:100%;background:linear-gradient(90deg,var(--ribbon-light),var(--ribbon) 65%,var(--ribbon-light));border-left:1.5px solid #805047;border-right:1.5px solid #805047;box-shadow:2px 0 0 #7b3d4622}
.box-cross{position:absolute;left:0;right:0;top:39px;height:20px;background:linear-gradient(var(--ribbon-light),var(--ribbon));border-top:1px solid #875148;border-bottom:1px solid #875148;opacity:.9}
.box-star{position:absolute;right:16px;bottom:8px;font-family:Georgia,serif;font-size:32px;color:#fff8de;filter:drop-shadow(0 1px 0 var(--box-dark))}
.box-lid{position:absolute;left:10px;top:66px;width:184px;height:31px;background:repeating-linear-gradient(90deg,#fff7e54d 0 14px,transparent 14px 30px),var(--box);border:2px solid #785149;border-radius:4px 5px 4px 3px;box-shadow:0 4px 0 #674a4725,inset 0 4px 0 #fff5;transform:skewY(-3deg);z-index:2;transform-origin:85% 50%}
.lid-stripe{position:absolute;left:75px;top:-2px;bottom:-2px;width:31px;background:linear-gradient(90deg,var(--ribbon-light),var(--ribbon));border-left:1.5px solid #805047;border-right:1.5px solid #805047}
.bow{position:absolute;width:150px;height:80px;left:16px;top:-68px;transform:rotate(-5deg);transform-origin:50% 80%}
.bow-loop{position:absolute;width:66px;height:47px;top:15px;background:linear-gradient(140deg,var(--ribbon-light) 15%,var(--ribbon) 65%,var(--ribbon-light));border:2px solid #805047;box-shadow:inset 3px 3px 0 #fff5,inset -3px -4px 0 #612f4020}
.bow-loop:after{content:'';position:absolute;left:9px;top:18px;width:42px;border-top:1.5px solid #86405366;transform:rotate(18deg)}
.loop-left{left:10px;border-radius:70% 35% 30% 35%;transform:rotate(19deg)}
.loop-right{right:5px;border-radius:35% 70% 35% 30%;transform:rotate(-22deg)}
.loop-right:after{transform:rotate(-18deg)}
.bow-knot{position:absolute;left:66px;top:39px;width:25px;height:26px;border:2px solid #805047;border-radius:40%;background:linear-gradient(100deg,var(--ribbon-light),var(--ribbon));z-index:4;transform:rotate(7deg)}
.bow-tail{position:absolute;top:57px;width:25px;height:47px;background:linear-gradient(90deg,var(--ribbon-light),var(--ribbon));border:1.5px solid #805047;clip-path:polygon(0 0,100% 0,100% 100%,50% 81%,0 100%);z-index:3}
.tail-left{left:55px;transform:rotate(27deg)}.tail-right{left:86px;transform:rotate(-24deg);height:40px}
.present-3 .box-body{background:radial-gradient(circle,#fff6d59c 2px,transparent 3px) 0 0/23px 23px,var(--box)}
.present-4 .box-body{background:repeating-linear-gradient(0deg,#fff6dc55 0 12px,transparent 12px 25px),var(--box)}
.present-5 .box-body{background:radial-gradient(ellipse,#fff6dc88 3px,transparent 4px) 0 0/25px 20px,var(--box)}
.present-spark{position:absolute;font-size:24px;color:#ce9b43;opacity:.65;transition:transform .3s,opacity .3s;animation:twinkle 4s ease-in-out infinite}
.spark-one{top:27px;right:-7px}.spark-two{top:98px;left:-11px;color:#cf7d91;font-size:22px;animation-delay:-1s}.spark-three{bottom:12px;right:-10px;font-size:20px;animation-delay:-2s}
.blind-card:hover .present-spark{opacity:1;transform:scale(1.3) rotate(18deg)}
.blind-card:hover .bow{animation:bow-wiggle .65s ease-in-out infinite alternate}
.blind-label{display:inline-flex;align-items:center;gap:13px;margin-top:9px;padding:7px 25px;background:#f3d0d1a3;border-radius:48% 43% 42% 46%/50% 48% 51% 45%;font-family:var(--serif);font-size:17px;letter-spacing:2px;transform:rotate(-3deg);color:#65433e}
.blind-card:nth-child(2) .blind-label{background:#d7c6e9a3;transform:rotate(3deg)}.blind-card:nth-child(3) .blind-label{background:#d6e3c9a3}.blind-card:nth-child(4) .blind-label{background:#f3dfb2a3;transform:rotate(3deg)}.blind-card:nth-child(5) .blind-label{background:#cde0e4a3}
.blind-label>span{font-size:14px;color:#b26780;display:none}.blind-card:hover .blind-label>span{display:inline}
.blind-hint{display:block;font-size:9px;letter-spacing:1px;color:#b39a8c;margin-top:11px}
.scene-doodle{position:absolute;pointer-events:none;color:#d49f68;font-family:Georgia,serif;font-size:40px;animation:float 6s ease-in-out infinite}.doodle-one{left:0;top:40%;color:#d28196;transform:rotate(-15deg)}.doodle-two{right:10px;top:28%;font-size:46px;animation-delay:-2s}.doodle-three{right:19%;bottom:5px;font-size:25px;color:#9dac8d;animation-delay:-4s}
body[data-scene=gifts] .ambient span{animation-duration:5s}
.gifts .section-head{margin-bottom:15px}.gift-footnote{margin-top:25px}
.gifts:not([hidden]) .blind-card{animation:gift-arrive .8s cubic-bezier(.2,.7,.2,1.15) both;animation-delay:calc(var(--order) * .085s + .2s)}
/* A ribbon curtain bridges each scene rather than a simple opacity switch. */
#page-transition{position:fixed;inset:0;z-index:120;pointer-events:none;visibility:hidden;overflow:hidden;display:grid;place-items:center}
#page-transition:before,#page-transition:after{content:'';position:absolute;inset:-15%;background:#efd0cf;transform:translateX(-120%) rotate(-10deg)}
#page-transition:after{background:linear-gradient(115deg,#fff4e6,#f8e3dd);transform:translateX(120%) rotate(-10deg)}
#page-transition>span{z-index:2;color:var(--pink);font-family:Georgia,serif;font-size:70px;text-align:center;opacity:0;transform:scale(.6) rotate(-18deg)}
#page-transition small{display:block;font-family:var(--serif);font-size:13px;letter-spacing:4px;margin-top:8px}
#page-transition.is-covering,#page-transition.is-revealing{visibility:visible;pointer-events:auto}
#page-transition.is-covering:before{animation:curtain-in .45s cubic-bezier(.6,0,.3,1) both}
#page-transition.is-covering:after{animation:curtain-in-right .45s .04s cubic-bezier(.6,0,.3,1) both}
#page-transition.is-covering>span{animation:curtain-heart-in .25s .2s ease-out both}
#page-transition.is-revealing:before{animation:curtain-out .6s .03s cubic-bezier(.65,0,.3,1) both}
#page-transition.is-revealing:after{animation:curtain-out-right .6s cubic-bezier(.65,0,.3,1) both}
#page-transition.is-revealing>span{animation:curtain-heart-out .3s both}
#opening{position:fixed;inset:0;z-index:80;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff8edf5;backdrop-filter:blur(15px);overflow:hidden}
#opening-box{position:relative;z-index:2;width:250px;height:255px;display:grid;place-items:center}
#opening .present{animation:none;transform:scale(1.25) rotate(-6deg)}
#opening-message{font-family:var(--serif);font-size:19px;letter-spacing:2px;text-align:center;padding:0 20px;color:#a35368;position:relative;z-index:2;margin-top:32px;line-height:1.8}
.opening-subtitle{font-size:8px;letter-spacing:3px;color:#b18d7f;z-index:2}
.opening-halo{position:absolute;width:520px;height:520px;max-width:130vw;max-height:130vw;border-radius:50%;background:repeating-conic-gradient(from 0deg,#f2d4ab44 0deg 12deg,transparent 12deg 30deg);mask-image:radial-gradient(circle,#000 0%,transparent 68%);animation:halo-turn 20s linear infinite}
.present-glow{position:absolute;left:30px;top:20px;width:150px;height:145px;background:radial-gradient(ellipse,#fff4c4,transparent 68%);opacity:0}
.arriving #opening-box{animation:box-zoom-in .65s cubic-bezier(.2,.8,.2,1) both}
.arriving .opening-halo,.arriving #opening-message,.arriving .opening-subtitle{animation:enter .6s both}
.anticipating .present{animation:box-shake .16s ease-in-out infinite alternate!important}
.anticipating .bow{animation:bow-wiggle .2s ease-in-out infinite alternate}
.anticipating .present-glow{opacity:1;transform:scale(2);transition:all .6s}
.unwrapping .box-lid{animation:lid-fly 1s cubic-bezier(.2,.7,.3,1) both}
.unwrapping .present{animation:box-land .7s both!important}
.unwrapping .present-glow{animation:gift-flash 1s ease-out both}
.unwrapping .box-body{animation:body-open .9s both}
.opening-sparks{position:absolute;left:50%;top:calc(50% - 50px);width:0;height:0;z-index:3}
.opening-sparks i{position:absolute;font-style:normal;color:#ce8b9a;font-size:28px;opacity:0}
.opening-sparks i:nth-child(2n){color:#d2a447}.opening-sparks i:nth-child(3n){color:#9fae90}
.unwrapping .opening-sparks i{animation:spark-burst .9s var(--spark-delay) ease-out both}
.departing{animation:opening-away .38s ease both}
#detail[open]{animation:gift-reveal .7s cubic-bezier(.2,.7,.2,1) both}
#detail[open] .detail-image img{animation:product-emerge .9s .1s cubic-bezier(.2,.7,.2,1) both}
#detail[open] .detail-copy>*{animation:letter-emerge .65s ease both}
#detail[open] .detail-copy>:nth-child(2){animation-delay:.12s}#detail[open] .detail-copy>:nth-child(3){animation-delay:.2s}#detail[open] .detail-copy>:nth-child(4){animation-delay:.3s}#detail[open] .detail-copy>:nth-child(5){animation-delay:.4s}
#confirm[open]{animation:confirm-pop .55s cubic-bezier(.3,1.4,.5,1) both}
.success:not([hidden]) .receipt{animation:receipt-drop 1s .45s cubic-bezier(.2,.7,.3,1) both}
.success:not([hidden]) .success-heart{animation:heart-stamp .7s .35s cubic-bezier(.3,1.6,.5,1) both}
@keyframes present-bob{0%,100%{transform:translateY(0) rotate(var(--tilt))}50%{transform:translateY(-8px) rotate(calc(var(--tilt) + 3deg))}}
@keyframes bow-wiggle{from{transform:rotate(-9deg) scale(1)}to{transform:rotate(2deg) scale(1.04)}}
@keyframes gift-arrive{from{opacity:0;transform:translateY(65px) rotate(7deg) scale(.88)}to{opacity:1;transform:translateY(0) rotate(0) scale(1)}}
@keyframes curtain-in{to{transform:translateX(0) rotate(-10deg)}}@keyframes curtain-in-right{to{transform:translateX(0) rotate(-10deg)}}
@keyframes curtain-out{from{transform:translateX(0) rotate(-10deg)}to{transform:translateX(120%) rotate(-10deg)}}@keyframes curtain-out-right{from{transform:translateX(0) rotate(-10deg)}to{transform:translateX(-120%) rotate(-10deg)}}
@keyframes curtain-heart-in{to{opacity:1;transform:scale(1) rotate(0)}}@keyframes curtain-heart-out{from{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.4)}}
@keyframes box-zoom-in{from{opacity:0;transform:translate(var(--from-x),var(--from-y)) scale(.65) rotate(-10deg)}to{opacity:1;transform:translate(0,0) scale(1) rotate(0)}}
@keyframes box-shake{from{transform:scale(1.25) translateX(-3px) rotate(-9deg)}to{transform:scale(1.25) translateX(3px) rotate(2deg)}}
@keyframes lid-fly{0%{transform:translateY(0) rotate(0)}35%{transform:translate(15px,-100px) rotate(20deg)}100%{transform:translate(90px,-200px) rotate(60deg);opacity:0}}
@keyframes box-land{0%{transform:scale(1.25) rotate(-6deg)}35%{transform:scale(1.15,1.3) rotate(2deg)}100%{transform:scale(1.25) rotate(-3deg)}}
@keyframes gift-flash{0%{opacity:.2;transform:scale(1)}40%{opacity:1;transform:scale(4)}100%{opacity:0;transform:scale(6)}}
@keyframes body-open{60%{transform:translateY(5px) skewY(-3deg)}100%{opacity:.5;transform:translateY(15px) skewY(-3deg)}}
@keyframes spark-burst{0%{opacity:0;transform:rotate(var(--angle)) translateX(0) rotate(calc(-1 * var(--angle))) scale(.2)}30%{opacity:1}100%{opacity:0;transform:rotate(var(--angle)) translateX(var(--distance)) rotate(calc(-1 * var(--angle))) scale(1.2)}}
@keyframes halo-turn{to{transform:rotate(360deg)}}@keyframes opening-away{to{opacity:0;transform:scale(1.08)}}
@keyframes gift-reveal{from{opacity:0;transform:translateY(35px) scale(.85) rotate(-3deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0)}}
@keyframes product-emerge{from{opacity:0;transform:translateY(40px) scale(.85) rotate(-4deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0)}}
@keyframes letter-emerge{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@keyframes confirm-pop{from{opacity:0;transform:scale(.8) rotate(-5deg)}to{opacity:1;transform:scale(1) rotate(0)}}
@keyframes receipt-drop{from{opacity:0;transform:translateY(-45px) rotate(8deg)}65%{transform:translateY(8px) rotate(-3deg)}to{opacity:1;transform:translateY(0) rotate(-1deg)}}
@keyframes heart-stamp{from{opacity:0;transform:scale(2) rotate(-20deg)}to{opacity:1;transform:scale(1) rotate(0)}}
@media(max-width:1000px){.gift-grid{gap:12px 18px}.blind-card{width:calc(33.333% - 15px)}.present{zoom:.9}.blind-scene{padding-left:5px;padding-right:5px}}
@media(max-width:700px){.blind-scene{padding:0 0 10px}.gift-grid{gap:12px 5px}.blind-card{width:calc(50% - 3px);padding:13px 0 16px}.gift-grid .blind-card:last-child{width:calc(50% - 3px)}.present{zoom:.76}.blind-label{font-size:16px;margin-top:7px;padding:6px 20px}.blind-hint{font-size:8px;margin-top:9px;letter-spacing:.5px}.gift-whisper{font-size:9px;opacity:.7;transform:rotate(-3deg);margin-bottom:5px}.gifts .section-head{margin-bottom:12px}.gifts .section-head h2{font-size:22px}.doodle-one{top:31%;left:-12px;font-size:29px}.doodle-two{right:-7px;top:58%;font-size:33px}.doodle-three{right:7%;bottom:12%;font-size:23px}#opening .present{zoom:1}#opening-message{font-size:16px}#opening-box{margin-top:-20px}.opening-subtitle{font-size:7px;letter-spacing:2px}.section-head>p:last-child{max-width:290px}}
@media(max-width:350px){.present{zoom:.65}.blind-label{font-size:14px}.blind-hint{font-size:7px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.gift-whisper{opacity:1}.opening-halo{display:none}}
/* Each scene fits the viewport; size the artwork to the available height. */
body{height:100dvh;min-height:0;display:flex;flex-direction:column}
.header{height:76px;flex:0 0 76px;width:100%}
main{width:100%;flex:1;min-height:0}
footer{width:100%;flex:0 0 36px;margin:0 auto;padding-top:8px;padding-bottom:12px;align-items:center}
.view{height:100%;min-height:0}
.welcome{padding-top:0;grid-template-rows:minmax(0,1fr) auto;column-gap:24px}
.hero-copy{padding:10px 0 10px 28px}.hero-copy .eyebrow{margin:5px 0}
h1{font-size:clamp(58px,11dvh,94px);margin:15px 0 20px}.hero-copy h2{font-size:clamp(19px,2.8dvh,24px);margin-bottom:12px}.intro{line-height:1.9;margin:12px 0 20px}.handnote{margin-top:12px}
.hero-art{height:100%;max-height:580px;padding:15px 0 20px;display:flex;flex-direction:column;justify-content:center;align-items:center}
.hero-art img{width:100%;height:calc(100% - 25px);min-height:0;object-fit:contain;margin:0}.art-caption{flex-shrink:0;margin-top:0}.art-note{top:25px}.seal{bottom:35px}
.journey{margin:0 28px 12px;padding:16px 0;gap:25px}
.gifts{display:flex;flex-direction:column;padding:0}.back{align-self:flex-start;flex:0 0 auto;padding:5px 0;font-size:11px}
.gifts .section-head{flex:0 0 auto;margin:8px 0 0}.section-head h2{margin:12px 0 8px;font-size:27px}.section-head .eyebrow{margin:5px 0}.section-head>p:last-child{margin:8px 0}
.blind-scene{width:100%;flex:1;min-height:0;padding:0 25px;display:flex;align-items:center;justify-content:center}
.gift-grid{display:grid;width:100%;height:100%;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:0 24px;align-items:center;justify-items:center;max-width:900px}
.blind-card{grid-column:span 2;width:100%;padding:0 5px 5px}.blind-card:nth-child(4){grid-column:2 / span 2}.blind-card:nth-child(5){grid-column:4 / span 2}
.blind-card .present{zoom:.74}.gift-whisper{font-size:10px;height:14px}.blind-label{font-size:15px;padding:5px 22px;margin-top:0}.blind-hint{margin-top:6px;font-size:8px}.gift-footnote{flex-shrink:0;margin:7px 0 13px;font-size:11px}
.success{padding-top:8px;display:flex;flex-direction:column;align-items:center;justify-content:center}.success-kicker{font-size:9px}.success-heart{font-size:70px;line-height:1.1;margin:8px auto;width:100px}.success-heart span{left:42px;top:30px;font-size:23px}.success h2{margin:10px 0;font-size:26px}.success>p{margin:5px 0}.receipt{width:330px;margin:20px auto 18px;padding:17px 22px}.receipt img{height:85px}.receipt h3{margin:9px 0;font-size:16px}.receipt p{margin:8px 0}.receipt-line{margin:12px 0 8px}.receipt-label{margin-bottom:10px}.success .handnote{margin-top:17px}
#detail{max-height:calc(100dvh - 30px)}.detail-image{min-height:0}.detail-image img{max-height:45dvh}.detail-copy{padding-top:40px;padding-bottom:22px}
@media(min-height:900px) and (min-width:701px){.blind-card .present{zoom:1}.blind-label{font-size:17px;padding:7px 25px}.blind-hint{margin-top:9px}.gifts .section-head{margin-top:15px}.section-head h2{font-size:30px}}
@media(max-height:740px) and (min-width:701px){.header{height:62px;flex-basis:62px}.blind-card .present{zoom:.60}.gift-whisper{display:none}.blind-label{font-size:14px}.hero-copy .intro{font-size:12px}.hero-copy h1{margin:10px 0 15px}.journey{padding:12px 0;margin-bottom:8px}.success-heart{font-size:55px;margin:3px auto}.success-heart span{top:22px}.receipt{margin:15px auto;padding:12px 20px}.receipt img{height:65px}.success .handnote{margin-top:10px}}
@media(max-width:700px){
 .header{height:60px;flex-basis:60px;padding:0 20px}main{padding:0 20px}footer{flex-basis:28px;padding:5px 20px 9px;margin:0 auto}
 .welcome{padding:0;grid-template-rows:auto minmax(0,1fr) auto;gap:0}.hero-copy{padding:7px 0 0}.hero-copy .eyebrow{margin:4px 0;font-size:7px}
 h1{font-size:clamp(43px,8.5dvh,72px);margin:12px auto 14px;line-height:1.01}h1 .title-star{left:calc(100% - 65px);font-size:32px;top:-9px}h1 .title-heart{font-size:34px}
 .hero-copy h2{font-size:18px;margin-bottom:8px}.intro{font-size:11px;line-height:1.8;margin:8px 0 13px}.hero-copy .primary{padding:12px 22px;font-size:11px}.hero-copy .handnote{margin:11px 0 2px;font-size:9px}.hero-copy .text-button{margin:4px auto 0;padding:5px;font-size:10px}
 .hero-art{min-height:0;height:100%;width:100%;max-width:310px;padding:0 15px 12px}.hero-art img{height:calc(100% - 12px);width:100%}.art-caption{font-size:6px;letter-spacing:1.6px}.art-note{top:7px;right:0;font-size:13px}.seal{width:45px;height:45px;bottom:20px;font-size:13px}.seal small{font-size:6px}
 .journey{margin:0 0 7px;padding:10px 0;gap:12px}.journey div{font-size:8px;gap:3px}.journey b{font-size:14px}
 .gifts .section-head{margin:6px 0 4px}.section-head h2,.gifts .section-head h2{font-size:21px;margin:10px 0 7px}.section-head>p:last-child{font-size:10px;line-height:1.7;max-width:300px;margin:6px auto}.section-head .eyebrow{font-size:7px}.back{font-size:10px;padding:4px 0}
 .blind-scene{padding:0}.gift-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:0 10px;max-width:380px}.blind-card,.blind-card:nth-child(4),.blind-card:nth-child(5){grid-column:auto;width:100%;padding:0 0 4px}.gift-grid .blind-card:last-child{grid-column:1 / -1;width:50%;justify-self:center}.blind-card .present{zoom:.55}.blind-label{font-size:14px;padding:4px 18px;margin-top:0}.blind-hint{font-size:7px;margin-top:5px}.gift-whisper{display:none}.gift-footnote{font-size:9px;line-height:1.5;margin:7px 0 10px}.doodle-one{left:-10px}.doodle-two{right:-7px}
 .success{padding:5px 0}.success h2{font-size:23px;margin:10px 0}.success>p{font-size:10px}.success-heart{font-size:65px;margin:8px auto}.success-heart span{top:28px;left:42px}.receipt{width:min(290px,100%);margin:20px auto 15px;padding:16px 20px}.receipt img{height:80px}.receipt h3{font-size:15px}.receipt small{font-size:8px}.success .handnote{margin:14px 0 3px}
 #detail[open]{display:flex;flex-direction:column;width:min(410px,calc(100% - 28px));max-height:calc(100dvh - 28px)}.detail-image{padding:20px 18px 12px;gap:7px;flex:0 1 auto}.detail-image img{height:min(23dvh,185px);max-height:none}.detail-image>span{font-size:7px}.detail-copy{padding:16px 22px}.detail-copy .eyebrow{font-size:8px;margin:0}.detail-copy h2{font-size:20px;margin:9px 0}.detail-copy>p:not(.eyebrow){font-size:11px;line-height:1.7;margin:8px 0}.gift-letter{font-size:11px;line-height:1.8;margin:12px 0;padding:11px}.detail-copy .primary{padding:12px 20px}.detail-copy .text-button{margin:7px auto 0;padding:5px}
}
@media(max-width:700px) and (max-height:740px){.header{height:54px;flex-basis:54px}.blind-card .present{zoom:.43}.blind-label{font-size:13px;padding:3px 17px}.blind-hint{margin-top:4px;font-size:6px}.gifts .section-head{margin:2px 0}.section-head h2,.gifts .section-head h2{font-size:19px;margin:7px 0 5px}.section-head>p:last-child{font-size:9px;margin:4px auto}.gift-footnote{margin:4px 0 7px;font-size:8px}.hero-copy .intro{font-size:10px;margin:6px 0 10px}.hero-copy h2{font-size:16px}.hero-copy .handnote{font-size:8px;margin-top:7px}.hero-copy h1{margin:8px auto 10px;font-size:52px}.hero-copy .primary{padding:10px 19px}.journey{padding:7px 0}.art-note{font-size:11px}.success-heart{font-size:48px;margin:4px auto}.success-heart span{top:19px;left:43px;font-size:19px}.success h2{font-size:21px;margin:7px 0}.receipt{margin:15px auto 12px;padding:12px 18px}.receipt img{height:60px}.receipt-label{font-size:8px;margin-bottom:6px}.receipt h3{font-size:14px}.receipt p{font-size:10px;margin:5px 0}.receipt-line{margin:8px 0}.success .handnote{font-size:9px;margin-top:9px}.detail-image img{height:21dvh}.detail-copy{padding:13px 19px}.detail-copy h2{font-size:18px}.gift-letter{font-size:10px;margin:9px 0;padding:8px}.detail-copy>p:not(.eyebrow){font-size:10px}#confirm{padding:25px 27px 18px}.confirm-symbol{font-size:45px}.confirm-note{margin:15px 0 20px}}
@media(max-height:560px) and (min-width:701px){.header{height:48px;flex-basis:48px}.brand{font-size:13px}.brand small{font-size:6px}.hero-copy h1{font-size:54px;margin:6px 0 10px}.hero-copy h2{font-size:17px}.hero-copy .intro{font-size:10px;line-height:1.7;margin:7px 0 12px}.hero-copy .primary{padding:10px 18px}.hero-copy .handnote{font-size:9px;margin-top:8px}.hero-copy .eyebrow{font-size:8px}.journey{padding:8px 0}.blind-card .present{zoom:.43}.blind-hint{display:none}.gifts .section-head h2{font-size:21px}.gifts .section-head{margin:0}.section-head>p:last-child{font-size:10px;margin:4px 0}.gift-footnote{margin:4px 0;font-size:9px}#detail .detail-image img{max-height:55dvh}.detail-copy{padding:20px 24px}.detail-copy h2{font-size:20px;margin:10px 0}.gift-letter{margin:12px 0;padding:10px}.detail-copy .primary{padding:11px 20px}.success-heart{display:none}.receipt{margin:12px auto;padding:10px 20px}.receipt img{height:45px}.success h2{font-size:22px;margin:7px 0}.success .handnote{margin-top:8px}}
/* Four princess gift boxes and a shared, final birthday wish. */
.gift-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));max-width:660px;gap:0 45px}
.blind-card:nth-child(4),.blind-card:nth-child(5){grid-column:auto}
#detail-number{font-family:var(--serif);font-size:12px;letter-spacing:1px;line-height:1.8}
#chosen-message{white-space:pre-line;line-height:1.8}
#confirm-error{font-size:11px;line-height:1.7;color:var(--pink);margin:8px 0;min-height:18px}
#boot-screen{display:none;position:fixed;inset:0;z-index:150;background:var(--paper);flex-direction:column;align-items:center;justify-content:center;color:var(--pink)}
#boot-screen>span{font:70px Georgia,serif;animation:twinkle 2s infinite}#boot-screen p{font-family:var(--serif);font-size:14px;letter-spacing:2px;line-height:1.8}
.booting #boot-screen{display:flex}.booting main{visibility:hidden}
#page-status{position:fixed;bottom:35px;left:50%;transform:translateX(-50%);z-index:50;font-size:11px;max-width:90%;text-align:center;color:var(--pink);background:var(--paper);margin:0;border-radius:8px}#page-status:not(:empty){padding:10px 15px;border:1px solid var(--line)}
.success .receipt{max-width:420px;width:min(420px,100%)}.success .receipt h3{font-size:16px}.success .receipt p{font-size:12px}
@media(max-width:700px){.gift-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));max-width:380px;gap:0 10px}.gift-grid .blind-card:last-child{grid-column:auto;width:100%}.blind-card .present{zoom:.66}.blind-label{margin-top:4px}.success .receipt{width:min(320px,100%)}.success .receipt img{height:70px}.success .receipt p{font-size:11px}.success h2{font-size:22px}#detail-number{font-size:11px;line-height:1.8}.detail-copy h2{font-size:19px}}
@media(max-width:700px) and (max-height:740px){.blind-card .present{zoom:.51}.success .receipt img{height:46px}.success .receipt{margin:14px auto 10px;padding:11px 16px}.success .receipt p{font-size:10px;line-height:1.7}.success-heart{font-size:40px}.success-heart span{top:15px}.success h2{font-size:19px}.success .receipt h3{font-size:14px}.success .handnote{margin-top:8px}.success>p{font-size:9px}.detail-copy h2{font-size:17px}}
