.hero{--t0:0.5s;--mx:0;--my:0;--p:0}html[data-intro] .hero{--t0:2.6s}.hero:before{content:"";width:60vmax;height:60vmax;right:-15vmax;top:-10vmax;border-radius:50%;background:radial-gradient(circle,hsl(var(--blush)/.9),hsl(var(--gold)/.18) 45%,transparent 70%);transform:translate(calc(var(--mx) * 30px),calc(var(--my) * 30px));transition:transform 1.2s var(--ease-out)}.hero-doodle,.hero:before{position:absolute;pointer-events:none}.hero-in{animation:hero-in 1s var(--ease-out) calc(var(--t0) + var(--d, 0s)) backwards}@keyframes hero-in{0%{opacity:0;transform:translateY(30px);filter:blur(6px)}}.hero-stamp{transform:rotate(-3deg);animation:hero-stamp .9s var(--ease-spring) var(--t0) backwards}@keyframes hero-stamp{0%{opacity:0;transform:scale(1.9) rotate(-22deg)}}.split-now .split-word>span{animation:word-rise 1.1s var(--ease-out) calc(var(--t0, .3s) + var(--d, 0s) + var(--i) * .07s) backwards}@keyframes word-rise{0%{transform:translateY(105%) rotate(6deg);opacity:0}}.postmark{display:inline-flex;align-items:center;gap:.6rem;padding:.45rem 1rem;border:1.5px dashed hsl(var(--primary)/.6);border-radius:999px;color:hsl(var(--primary));font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;background:hsl(var(--card)/.6)}.strike-wrap{position:relative;display:inline-block;white-space:nowrap}.strike-line{position:absolute;left:-4%;top:38%;width:108%;height:.4em;overflow:visible;pointer-events:none}.strike-line path{stroke-dasharray:220;stroke-dashoffset:220;animation:dash-in .6s var(--ease-out) calc(var(--t0) + 1.1s) forwards}.handwrite{position:absolute;left:100%;top:.05em;margin-left:.25em;font-size:.56em;color:hsl(var(--primary));transform:rotate(-8deg);white-space:nowrap;clip-path:inset(0 100% 0 0);animation:write-on 1s cubic-bezier(.5,0,.3,1) calc(var(--t0) + 1.55s) forwards}@media (min-width:1024px){.handwrite{left:6%;top:92%;margin-left:0;transform:rotate(-5deg)}}@keyframes dash-in{to{stroke-dashoffset:0}}@keyframes write-on{to{clip-path:inset(-20% -10% -20% 0)}}.hero-chip{padding:.45rem .85rem;border-radius:8px;background:hsl(var(--card));border:1px solid hsl(var(--border));box-shadow:0 2px 0 hsl(var(--border));transform:rotate(var(--r));font-weight:600;color:hsl(var(--foreground)/.8);transition:transform .4s var(--ease-spring)}.hero-chip:hover{transform:rotate(0) translateY(-3px)}.spark{position:absolute;pointer-events:none;font-size:12px;z-index:30;translate:-50% -50%;animation:spark-fly .9s var(--ease-out) forwards}@keyframes spark-fly{0%{transform:scale(1) rotate(0);opacity:1}to{transform:translate(var(--dx),var(--dy)) scale(0) rotate(180deg);opacity:0}}.scroll-cue{width:1px;height:42px;background:linear-gradient(hsl(var(--foreground)/.5),transparent);transform-origin:top;animation:cue 2s var(--ease-inout) infinite}@keyframes cue{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}to{transform:scaleY(0);transform-origin:bottom}}.env-stage{perspective:1400px}.keep{position:absolute;z-index:3;transform:translate(calc(var(--mx) * var(--depth) * 16px),calc(var(--my) * var(--depth) * 16px + var(--p) * var(--depth) * -160px)) rotate(var(--rot));transition:transform .9s var(--ease-out);animation:keep-in 1s var(--ease-spring) calc(var(--t0) + .4s + var(--depth) * .25s) backwards}@keyframes keep-in{0%{opacity:0;scale:.4}}.keep-bob{animation:bob 6s ease-in-out infinite}@keyframes bob{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-12px) rotate(2deg)}}.polaroid-mini{width:118px;padding:8px 8px 10px;background:#fffdf8;box-shadow:0 14px 30px -12px rgba(40,10,40,.35),0 2px 4px rgba(0,0,0,.06);display:flex;flex-direction:column;align-items:center;gap:6px}.polaroid-photo{width:100%;aspect-ratio:1;background:radial-gradient(circle at 70% 30%,#ffe8a3 0 10%,transparent 11%),linear-gradient(180deg,#f6a07a,#f07a8a 45%,#6d4aa8 46%,#3b2a6b)}.stamp-mini{--hole:4px;width:92px;height:108px;background:#fffaf0;padding:9px;--holes:hsl(38 55% 93%);box-shadow:0 10px 22px -10px rgba(40,10,40,.35)}.stamp-inner{height:100%;border:1.5px solid hsl(var(--primary)/.35);background:hsl(var(--blush)/.5);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:hsl(var(--primary))}.note-mini{position:relative;padding:14px 18px 12px;background:#fff7d6;font-family:var(--font-hand);font-size:1.15rem;line-height:1.15;color:hsl(var(--foreground)/.85);box-shadow:0 12px 24px -12px rgba(40,10,40,.35)}.confetti-bit{position:absolute;width:9px;height:14px;border-radius:2px;transform:translate(calc(var(--mx) * var(--depth) * 20px),calc(var(--my) * var(--depth) * 20px + var(--p) * var(--depth) * -200px)) rotate(var(--rot));transition:transform 1s var(--ease-out);animation:keep-in .8s var(--ease-spring) calc(var(--t0) + 2s) backwards;opacity:.9}.env-wrap{position:absolute;left:50%;top:56%;width:min(78vw,380px);aspect-ratio:1.45;translate:-50% -50%;z-index:2;display:block;transform-style:preserve-3d;transform:rotateX(calc(14deg - var(--my) * 8deg)) rotateY(calc(var(--mx) * 14deg)) translateY(calc(var(--p) * -60px));transition:transform .9s var(--ease-out);animation:env-drop 1.1s var(--ease-spring) var(--t0) backwards;-webkit-tap-highlight-color:transparent}@keyframes env-drop{0%{opacity:0;transform:translateY(-140px) rotate(-14deg) rotateX(40deg)}}.env{position:absolute;inset:0;transform-style:preserve-3d}.env-back,.env-flap,.env-front{position:absolute;inset:0;border-radius:10px}.env-back{background:repeating-linear-gradient(45deg,hsl(350 60% 38%) 0 8px,hsl(350 62% 42%) 8px 16px);box-shadow:inset 0 0 40px rgba(60,0,20,.5);transform:translateZ(-2px)}.env-card{position:absolute;left:7%;right:7%;top:6%;height:88%;z-index:2;border-radius:6px;background:linear-gradient(170deg,#fffdf8,#fbf1e1);box-shadow:0 -6px 20px -8px rgba(0,0,0,.25);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:7%;gap:2px;text-align:center;animation:card-rise 1.1s var(--ease-spring) calc(var(--t0) + 1.75s) both;transition:translate .6s var(--ease-spring)}.env-wrap:hover .env-card{translate:0 -10px}@keyframes card-rise{0%{transform:translateZ(1px) translateY(0)}to{transform:translateZ(1px) translateY(-56%)}}.env-card-rule{width:40%;height:1px;margin:6px 0 4px;background:linear-gradient(90deg,transparent,hsl(var(--gold)),transparent)}.env-card-cta{margin-top:10px;padding:4px 12px;border-radius:999px;font-size:.7rem;font-weight:700;letter-spacing:.08em;color:hsl(var(--primary-foreground));background:hsl(var(--primary));animation:pulse-soft 2s ease-in-out infinite}@keyframes pulse-soft{0%,to{box-shadow:0 0 0 0 hsl(var(--primary)/.5)}50%{box-shadow:0 0 0 8px hsl(var(--primary)/0)}}.env-front{z-index:3;background:linear-gradient(160deg,hsl(350 72% 58%),hsl(var(--primary)) 50%,hsl(350 66% 44%));clip-path:polygon(0 0,50% 54%,100% 0,100% 100%,0 100%);box-shadow:inset 0 -20px 40px rgba(80,0,20,.25);transform:translateZ(3px)}.env-flap{z-index:4;background:linear-gradient(180deg,hsl(350 70% 60%),hsl(350 66% 46%));clip-path:polygon(0 0,100% 0,50% 58%);transform-origin:50% 0;animation:flap-open .9s var(--ease-inout) calc(var(--t0) + 1.15s) both}@keyframes flap-open{0%{transform:rotateX(0) translateZ(5px);z-index:4}50%{z-index:4}51%{z-index:1}to{transform:rotateX(180deg) translateZ(5px);z-index:1;filter:brightness(.8)}}.env-seal{position:absolute;z-index:5;left:50%;top:58%;width:22%;aspect-ratio:1;translate:-50% -50%;filter:drop-shadow(0 4px 6px rgba(80,0,20,.4));animation:seal-off 1s var(--ease-inout) calc(var(--t0) + .75s) both}@keyframes seal-off{0%{transform:translateZ(8px) scale(1) rotate(0)}30%{transform:translateZ(8px) scale(1.25) rotate(-10deg)}to{transform:translateZ(8px) translate(160%,260%) rotate(220deg) scale(.7);opacity:0}}.env-shadow{position:absolute;left:8%;right:8%;bottom:-14%;height:16%;border-radius:50%;background:radial-gradient(ellipse,rgba(60,10,40,.28),transparent 70%)}@media (max-width:640px){.env-wrap{top:52%}.keep{scale:.78}}.tapes{--p:0;position:relative;height:210px;overflow:hidden;display:grid;place-items:center}.tape-band{position:absolute;left:-5%;width:110%;padding:.95rem 0;overflow:hidden;white-space:nowrap;font-family:var(--font-display);font-style:italic;font-size:clamp(1.4rem,3vw,2.1rem);box-shadow:0 14px 30px -18px rgba(40,10,40,.5)}.tape-a{transform:rotate(-4deg);background:hsl(var(--primary));color:hsl(var(--primary-foreground));z-index:2}.tape-b{transform:rotate(3deg);background:hsl(var(--ink));color:hsl(var(--gold))}.tape-shift{will-change:transform}.tape-track{display:inline-flex;animation:marquee 40s linear infinite}.tape-reverse{animation-direction:reverse;animation-duration:48s}.tape-item{display:inline-flex;align-items:center;gap:1.6rem;padding-right:1.6rem}.tape-star{font-style:normal;font-size:.8em;opacity:.8;display:inline-block;animation:spin 6s linear infinite}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes spin{to{transform:rotate(1turn)}}.inside-glow{position:absolute;inset:-20%;background:radial-gradient(40% 40% at 25% 50%,hsl(var(--primary)/.28),transparent 70%),radial-gradient(30% 30% at 80% 20%,hsl(var(--lilac)/.18),transparent 70%);pointer-events:none}.chapter{display:flex;align-items:baseline;gap:1rem;font-size:1.6rem;line-height:1.25;color:hsl(var(--background)/.28);transform-origin:left center}.chapter.is-active{color:hsl(var(--background));font-size:2.6rem;font-style:italic}.chapter-n{font-family:var(--font-sans);font-style:normal;font-size:.75rem;letter-spacing:.1em;color:hsl(var(--gold));opacity:.8}.chapter-body{position:absolute;inset:0 0 auto 0;opacity:0;transform:translateY(18px);filter:blur(6px);transition:all .7s var(--ease-out);pointer-events:none}.chapter-body.is-active{opacity:1;transform:none;filter:none}.phone{--w:min(62vw,250px);width:var(--w);aspect-ratio:9/18.5;padding:10px;border-radius:calc(var(--w) * .17);background:linear-gradient(145deg,#3a2840,#120816 60%,#2b1c30);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.12),0 40px 80px -30px rgba(0,0,0,.8),0 0 0 1px rgba(0,0,0,.6);position:relative}.phone:after{content:"";position:absolute;top:18px;left:50%;translate:-50% 0;width:28%;height:16px;border-radius:999px;background:#000;z-index:5}.phone-lg{--w:min(78vw,330px)}.phone-screen{position:relative;width:100%;height:100%;border-radius:calc(var(--w) * .14);overflow:hidden;background:radial-gradient(120% 80% at 50% 0,#3b1d45,#170a1c 70%);font-size:calc(var(--w) / 26)}@media (max-width:1023px){.inside .phone{--w:min(46vw,34svh)}}.phone-scene{position:absolute;inset:0;opacity:0;transform:translateY(8%) scale(.92);filter:blur(8px);transition:all .8s var(--ease-out)}.phone-scene.is-past{transform:translateY(-8%) scale(1.06)}.phone-scene.is-active{opacity:1;transform:none;filter:none}.phone-scene:not(.is-active) *{animation-play-state:paused!important}.phone-progress{position:absolute;left:12%;right:12%;bottom:4.5%;display:flex;gap:4px}.phone-progress span{flex:1;height:3px;border-radius:3px;background:rgba(255,255,255,.18);transition:background .5s}.phone-progress span.on{background:hsl(var(--gold))}.vg{inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;color:#fff}.vg,.vg-hint{position:absolute}.vg-hint{bottom:13%;font-size:.85em;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.55);animation:blink 2s ease-in-out infinite}@keyframes blink{50%{opacity:.35}}.vg-rays{position:absolute;width:260%;aspect-ratio:1;background:repeating-conic-gradient(from 0deg,hsl(var(--gold)/.16) 0 8deg,transparent 8deg 22deg);-webkit-mask:radial-gradient(circle,#000 0 20%,transparent 55%);mask:radial-gradient(circle,#000 0 20%,transparent 55%);animation:spin 20s linear infinite;top:50%;left:50%;translate:-50% -38%}.vg-box{position:relative;width:10em;animation:box-wiggle 2.4s ease-in-out infinite}.vg-body{height:7.5em;border-radius:.5em;background:linear-gradient(90deg,transparent 43%,#e8b44c 43% 57%,transparent 57%),linear-gradient(160deg,#e8566c,#a01c35);box-shadow:0 1.5em 3em -1em rgba(0,0,0,.6)}.vg-lid{position:relative;height:2.2em;margin:0 -.6em -.2em;border-radius:.4em;background:linear-gradient(90deg,transparent 43%,#f6d77c 43% 57%,transparent 57%),linear-gradient(160deg,#f07a8a,#c22a45);z-index:2;animation:lid-hop 2.4s ease-in-out infinite}.vg-bow{position:absolute;left:50%;bottom:100%;translate:-50% 0;width:5em;height:2.4em;background:radial-gradient(ellipse 45% 50% at 25% 60%,#f6d77c 60%,transparent 62%),radial-gradient(ellipse 45% 50% at 75% 60%,#f6d77c 60%,transparent 62%)}@keyframes box-wiggle{0%,70%,to{transform:rotate(0)}75%{transform:rotate(-4deg)}80%{transform:rotate(4deg)}85%{transform:rotate(-2deg)}}@keyframes lid-hop{0%,70%,to{transform:translateY(0)}78%{transform:translateY(-.9em) rotate(-3deg)}}.vg-stars{position:absolute;inset:0;background-image:radial-gradient(1px 1px at 20% 30%,#fff,transparent),radial-gradient(1px 1px at 70% 15%,#fff,transparent),radial-gradient(1.5px 1.5px at 40% 70%,#fff,transparent),radial-gradient(1px 1px at 85% 60%,#fff,transparent),radial-gradient(1px 1px at 10% 80%,#fff,transparent),radial-gradient(1.5px 1.5px at 60% 45%,#fff,transparent),radial-gradient(1px 1px at 30% 10%,#fff,transparent);animation:blink 3s ease-in-out infinite}.vg-moon{width:5.5em;aspect-ratio:1;border-radius:50%;box-shadow:inset -1.4em .4em 0 0 #ffe7a8;filter:drop-shadow(0 0 1.4em rgba(255,231,168,.6));margin-bottom:2.4em;rotate:-20deg}.vg-clock{display:flex;align-items:center;gap:.25em;font-family:var(--font-display);font-size:2.3em;font-variant-numeric:tabular-nums}.vg-clock>span{padding:.1em .18em;border-radius:.2em;background:linear-gradient(#2a1830 50%,#1d0f22 0);box-shadow:0 .3em .6em rgba(0,0,0,.5)}.vg-sec{display:inline-flex}.vg-ones{display:inline-block;height:1.2em;overflow:hidden;line-height:1.2em;width:.62em}.vg-ones>span{display:block;word-break:break-all;width:.62em;animation:tick 10s steps(10) infinite}@keyframes tick{to{transform:translateY(-100%)}}.vg-glow{position:absolute;width:100%;aspect-ratio:1;top:18%;background:radial-gradient(circle,rgba(255,190,90,.35),transparent 60%);animation:glow-cycle 4s ease-in-out infinite}.vg-candles{display:flex;gap:1.2em;margin-bottom:-.1em;z-index:2}.vg-candle{position:relative;width:.7em;height:2.6em;border-radius:.2em;background:repeating-linear-gradient(170deg,#fff 0 .35em,#f6c9cf .35em .7em)}.vg-candle i{position:absolute;left:50%;bottom:100%;width:.8em;height:1.3em;translate:-50% -.15em;border-radius:50% 50% 50% 50%/60% 60% 40% 40%;background:radial-gradient(ellipse at 50% 80%,#fff6d1,#ffc04a 45%,#ff6a2a 80%);box-shadow:0 0 1em .3em rgba(255,170,60,.6);animation:flame .9s ease-in-out infinite alternate,flame-cycle 4s linear infinite;transform-origin:50% 100%}@keyframes flame{to{transform:scale(.88,1.12) rotate(3deg)}}@keyframes flame-cycle{0%,70%{opacity:1}72%,92%{opacity:0}to{opacity:1}}@keyframes glow-cycle{0%,70%{opacity:1}72%,92%{opacity:.1}to{opacity:1}}.vg-tier{border-radius:.6em .6em .3em .3em;position:relative}.vg-tier:before{content:"";position:absolute;left:0;right:0;top:0;height:.9em;border-radius:.6em .6em 0 0;background:radial-gradient(circle at 10% 100%,#fff4f6 .45em,transparent .5em) 0 0 /1.4em 100% repeat-x,#fff4f6;-webkit-mask:linear-gradient(#000 50%,transparent 0),radial-gradient(circle at 50% 50%,#000 .45em,transparent .5em) 0 0 /1.4em 100% repeat-x;mask:linear-gradient(#000 50%,transparent 0),radial-gradient(circle at 50% 50%,#000 .45em,transparent .5em) 0 0 /1.4em 100% repeat-x}.vg-tier-top{width:8em;height:3.2em;background:linear-gradient(90deg,#e86c86,#f497ad 40%,#d4506d)}.vg-tier-bot{width:11em;height:3.8em;background:linear-gradient(90deg,#c94360,#ef7f98 40%,#b33956)}.vg-plate{width:13em;height:.7em;border-radius:50%;background:linear-gradient(#ececec,#a9a3ad);margin-top:-.2em}.vg-balloons{justify-content:flex-start}.vg-balloon{position:absolute;bottom:-30%;width:4em;height:4.8em;border-radius:50% 50% 50% 50%/45% 45% 55% 55%;background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.6) 0 8%,transparent 20%),var(--c);animation:rise 4s ease-in infinite}.vg-balloon:after{content:"";position:absolute;top:100%;left:50%;width:1px;height:5em;background:rgba(255,255,255,.5)}@keyframes rise{0%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-14em) rotate(4deg)}62%{transform:translateY(-17em) scale(1);opacity:1}66%{transform:translateY(-17em) scale(1.4);opacity:0}to{transform:translateY(-17em);opacity:0}}.vg-note{position:absolute;top:40%;width:70%;padding:1em;background:#fff7d6;color:#2a1430;font-family:var(--font-hand);font-size:1.6em;line-height:1.05;text-align:center;box-shadow:0 1em 2em -.5em rgba(0,0,0,.6);animation:note-fall 4s var(--ease-out) infinite}@keyframes note-fall{0%,62%{transform:translateY(-12em) rotate(-30deg) scale(.3);opacity:0}75%{transform:translateY(0) rotate(6deg) scale(1);opacity:1}82%{transform:rotate(-3deg)}95%{opacity:1}to{opacity:0}}.vg-pol{position:absolute;width:62%;padding:.6em .6em 2.2em;background:#fffdf8;box-shadow:0 1em 2em -.5em rgba(0,0,0,.6)}.vg-pol-back{aspect-ratio:.82;rotate:9deg;translate:8% 4%;background:#f3ece0}.vg-pol-front{rotate:-5deg;animation:pol-in 5s var(--ease-out) infinite}.vg-pol-front span{position:absolute;bottom:.3em;left:0;right:0;text-align:center;font-family:var(--font-hand);font-size:1.5em;color:#2a1430}.vg-pol-photo{aspect-ratio:1;background:radial-gradient(circle at 30% 35%,#ffe0a8 0 9%,transparent 10%),radial-gradient(ellipse 30% 22% at 62% 72%,#3b2a6b 60%,transparent 62%),radial-gradient(ellipse 22% 26% at 40% 74%,#2a1d55 60%,transparent 62%),linear-gradient(180deg,#ffb07a,#f07a8a 55%,#8d5bb8);animation:develop 5s ease-out infinite}@keyframes develop{0%,10%{filter:brightness(.12) sepia(1) blur(3px) contrast(.6)}70%,to{filter:none}}@keyframes pol-in{0%{transform:translateX(120%) rotate(20deg)}12%,85%{transform:none}to{transform:translateX(-130%) rotate(-25deg)}}.vg-paper{position:relative;width:72%;aspect-ratio:.75;padding:1.6em 1.3em;background:linear-gradient(170deg,#fffdf8,#f6ead6);box-shadow:0 1em 2em -.5em rgba(0,0,0,.6);display:flex;flex-direction:column;gap:1em;animation:paper-rise 5s var(--ease-out) infinite}.vg-paper span{display:block;height:.28em;border-radius:1em;background:#2a1430;opacity:.75;width:0;animation:line-write 5s ease-out infinite;animation-delay:inherit}.vg-paper em{margin-top:auto;align-self:flex-end;font-family:var(--font-hand);font-size:1.8em;color:#d6334e}@keyframes line-write{0%,18%{width:0}40%,to{width:var(--w)}}@keyframes paper-rise{0%,10%{transform:translateY(30%) scale(.9);opacity:0}20%,92%{transform:none;opacity:1}to{opacity:0}}.vg-seal{position:absolute;width:4.5em;top:58%;animation:seal-pop 5s var(--ease-out) infinite}@keyframes seal-pop{0%,6%{transform:scale(1);opacity:1}14%{transform:scale(1.3) rotate(-15deg);opacity:1}22%,to{transform:translate(5em,8em) rotate(160deg) scale(.6);opacity:0}}.vg-gcard{position:relative;width:64%;aspect-ratio:.72;perspective:40em}.vg-gcard-in{background:linear-gradient(170deg,#fffdf8,#f6ead6);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:2.3em;line-height:1}.vg-gcard-cover,.vg-gcard-in{position:absolute;inset:0;border-radius:.3em}.vg-gcard-cover{background:radial-gradient(circle at 50% 40%,#3b1d45,#1d0b22);border:1px solid rgba(232,180,76,.5);display:grid;place-items:center;transform-origin:left center;backface-visibility:hidden;animation:cover-open 5s var(--ease-inout) infinite}@keyframes cover-open{0%,15%{transform:rotateY(0)}40%,90%{transform:rotateY(-115deg)}to{transform:rotateY(0)}}.vg-fw{position:absolute;width:.4em;height:.4em;border-radius:50%;color:#f6d77c;box-shadow:0 -3em 0 currentColor,0 3em 0 currentColor,3em 0 0 currentColor,-3em 0 0 currentColor,2.1em 2.1em 0 #f07a8a,-2.1em -2.1em 0 #f07a8a,2.1em -2.1em 0 #b9a6e8,-2.1em 2.1em 0 #b9a6e8;animation:fw 2s ease-out infinite}@keyframes fw{0%{transform:scale(.1);opacity:1}70%{opacity:1}to{transform:scale(1);opacity:0}}.step-stamp{width:min(100%,25rem);position:relative;z-index:1}.step-inner{--hole:7px;padding:14px;background:hsl(var(--card));transform:rotate(var(--r));box-shadow:0 22px 40px -22px rgba(40,10,40,.35);transition:transform .5s var(--ease-spring)}.step-stamp:hover .step-inner{transform:rotate(0) scale(1.03)}.step-face{display:flex;gap:1.2rem;padding:1.6rem 1.4rem;border:1.5px dashed hsl(var(--primary)/.35);background:radial-gradient(circle at 100% 0,hsl(var(--blush)/.7),transparent 50%),hsl(var(--card))}.step-num{font-size:4.6rem;line-height:.8;font-style:italic;color:transparent;-webkit-text-stroke:1.5px hsl(var(--primary))}.occasion-card{padding:1.6rem 1.5rem;border-radius:1.4rem;background:hsl(var(--card));border:1px solid hsl(var(--border));box-shadow:0 2px 0 hsl(var(--border)),0 18px 34px -26px hsl(var(--foreground)/.35);rotate:var(--r);transition:rotate .5s var(--ease-spring),box-shadow .4s,opacity .9s var(--ease-out),transform 1.1s var(--ease-out)}.occasion-card:hover{rotate:0deg;box-shadow:0 2px 0 hsl(var(--border)),0 26px 40px -24px hsl(var(--primary)/.45)}.ticket{display:grid;grid-template-columns:1fr;max-width:54rem;margin:0 auto;filter:drop-shadow(0 30px 40px rgba(40,10,40,.3))}@media (min-width:768px){.ticket{grid-template-columns:1fr 13rem}}.ticket-main{position:relative;padding:2.4rem 2rem;border-radius:1.4rem;color:hsl(var(--background));background:radial-gradient(80% 120% at 0 0,hsl(var(--primary)/.35),transparent 60%),radial-gradient(60% 80% at 100% 100%,hsl(var(--lilac)/.18),transparent 60%),hsl(var(--plum));-webkit-mask:radial-gradient(circle 14px at 100% 0,transparent 98%,#000) top /100% 51% no-repeat,radial-gradient(circle 14px at 100% 100%,transparent 98%,#000) bottom /100% 51% no-repeat;mask:radial-gradient(circle 14px at 100% 0,transparent 98%,#000) top /100% 51% no-repeat,radial-gradient(circle 14px at 100% 100%,transparent 98%,#000) bottom /100% 51% no-repeat}@media (min-width:640px){.ticket-main{padding:3rem 2.8rem}}.ticket-stub{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:2rem 1rem;border-radius:1.4rem;background:hsl(var(--gold));color:hsl(var(--ink));border-left:2px dashed hsl(var(--ink)/.35);transform-origin:0 100%;transition:transform .6s var(--ease-spring);-webkit-mask:radial-gradient(circle 14px at 0 0,transparent 98%,#000) top /100% 51% no-repeat,radial-gradient(circle 14px at 0 100%,transparent 98%,#000) bottom /100% 51% no-repeat;mask:radial-gradient(circle 14px at 0 0,transparent 98%,#000) top /100% 51% no-repeat,radial-gradient(circle 14px at 0 100%,transparent 98%,#000) bottom /100% 51% no-repeat}.ticket:hover .ticket-stub{transform:rotate(5deg) translateX(6px)}.ticket-stub-text{position:absolute;right:.6rem;top:50%;writing-mode:vertical-rl;translate:0 -50%;font-size:.6rem;letter-spacing:.3em;opacity:.45}.ticket-seal{transition:transform .9s var(--ease-spring)}.ticket:hover .ticket-seal{transform:rotate(-30deg) scale(1.1)}@media (max-width:767px){.ticket-main,.ticket-stub{-webkit-mask:none;mask:none}.ticket-stub{border-left:none;border-top:2px dashed hsl(var(--ink)/.35);flex-direction:row}.ticket-stub-text{display:none}}.faq-card{background:hsl(var(--card));border-radius:1rem;border:1px solid hsl(var(--border));box-shadow:0 2px 0 hsl(var(--border)),0 10px 30px -20px hsl(var(--foreground)/.3);rotate:var(--r);transition:rotate .5s var(--ease-spring),box-shadow .4s,opacity .9s var(--ease-out),transform 1.1s var(--ease-out);background-image:linear-gradient(hsl(var(--primary)/.25),hsl(var(--primary)/.25));background-size:1px 100%;background-position:2.4rem 0;background-repeat:no-repeat}.faq-card.is-open{rotate:0deg;box-shadow:0 2px 0 hsl(var(--border)),0 20px 40px -20px hsl(var(--primary)/.45)}.faq-card>button{padding-left:3.4rem}.faq-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s var(--ease-out)}.faq-body>div{overflow:hidden}.faq-body p{padding-left:3.4rem}.faq-card.is-open .faq-body{grid-template-rows:1fr}.faq-plus{position:relative;flex-shrink:0;width:2rem;height:2rem;border-radius:50%;background:hsl(var(--secondary));transition:transform .5s var(--ease-spring),background .3s}.faq-plus:after,.faq-plus:before{content:"";position:absolute;left:50%;top:50%;width:.8rem;height:2px;border-radius:2px;background:hsl(var(--primary));translate:-50% -50%}.faq-plus:after{rotate:90deg}.faq-card.is-open .faq-plus{transform:rotate(135deg);background:hsl(var(--primary))}.faq-card.is-open .faq-plus:after,.faq-card.is-open .faq-plus:before{background:hsl(var(--primary-foreground))}.final-stars{position:absolute;inset:0;background-image:radial-gradient(1px 1px at 10% 20%,#fff,transparent),radial-gradient(1px 1px at 30% 70%,#fff,transparent),radial-gradient(1.5px 1.5px at 50% 30%,#f6d77c,transparent),radial-gradient(1px 1px at 70% 80%,#fff,transparent),radial-gradient(1px 1px at 85% 25%,#fff,transparent),radial-gradient(1.5px 1.5px at 90% 60%,#f6c9cf,transparent),radial-gradient(1px 1px at 20% 90%,#fff,transparent),radial-gradient(1px 1px at 60% 10%,#fff,transparent);background-size:400px 400px;animation:blink 4s ease-in-out infinite}.final-cta:before{content:"";position:absolute;left:50%;bottom:-40%;width:120%;aspect-ratio:2;translate:-50% 0;background:radial-gradient(closest-side,hsl(var(--primary)/.45),transparent)}.seal-button{position:relative;display:grid;place-items:center;width:13rem;height:13rem}.seal-button-ring{position:absolute;inset:0;font-family:var(--font-sans);font-size:13px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;fill:hsl(var(--gold));animation:spin 18s linear infinite}.seal-button:hover .seal-button-ring{animation-duration:5s}.seal-button-core{width:7.5rem;height:7.5rem;filter:drop-shadow(0 0 30px hsl(var(--primary)/.6));transition:transform .6s var(--ease-spring)}.seal-button:hover .seal-button-core{transform:scale(1.12) rotate(-12deg)}.seal-button:active .seal-button-core{transform:scale(.85,.78);transition-duration:.12s}.cr-steps{gap:.35rem}.cr-step,.cr-steps{display:flex;align-items:center}.cr-step{gap:.45rem}.cr-step+.cr-step:before{content:"";width:1.4rem;height:1px;background:hsl(var(--border));margin-right:.1rem}.cr-dot{display:grid;place-items:center;width:1.75rem;height:1.75rem;border-radius:50%;font-size:.72rem;font-weight:700;border:1.5px solid hsl(var(--border));background:hsl(var(--card));transition:all .5s var(--ease-spring)}.cr-dot,.cr-label{color:hsl(var(--muted-foreground))}.cr-label{font-size:.78rem;font-weight:600;display:none}.cr-step.is-now .cr-dot{border-color:transparent;color:hsl(var(--primary-foreground));background:radial-gradient(circle at 35% 30%,#f2788a,hsl(var(--primary)) 50%,#8a172d);transform:scale(1.15) rotate(-8deg);box-shadow:0 6px 14px -4px hsl(var(--primary)/.6)}.cr-step.is-now .cr-label{display:inline;color:hsl(var(--foreground))}.cr-step.is-done .cr-dot{background:hsl(var(--gold));border-color:transparent;color:hsl(var(--ink))}@media (min-width:768px){.cr-label{display:inline}}.cr-in-fwd{animation:cr-in-fwd .7s var(--ease-out) both}.cr-in-back{animation:cr-in-back .7s var(--ease-out) both}@keyframes cr-in-fwd{0%{opacity:0;transform:translateX(50px) rotate(1deg);filter:blur(6px)}}@keyframes cr-in-back{0%{opacity:0;transform:translateX(-50px) rotate(-1deg);filter:blur(6px)}}.cr-in-back header>*,.cr-in-fwd header>*{animation:fade-up .8s var(--ease-out) backwards}.cr-in-back header>:nth-child(2),.cr-in-fwd header>:nth-child(2){animation-delay:.08s}.cr-in-back header>:nth-child(3),.cr-in-fwd header>:nth-child(3){animation-delay:.16s}.cr-card{padding:1.5rem;border-radius:1.5rem;background:hsl(var(--card));border:1px solid hsl(var(--border)/.8);box-shadow:0 2px 0 hsl(var(--border)),0 24px 50px -30px hsl(var(--foreground)/.25)}.cr-label-text{display:block;margin-bottom:.5rem;font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:hsl(var(--muted-foreground))}.cr-field{width:100%;padding:.9rem 1.1rem;border-radius:1rem;border:1.5px solid hsl(var(--border));background:hsl(var(--background)/.6);color:hsl(var(--foreground));outline:none;transition:border-color .25s,box-shadow .25s,background .25s}.cr-field::-moz-placeholder{color:hsl(var(--muted-foreground)/.5)}.cr-field::placeholder{color:hsl(var(--muted-foreground)/.5)}.cr-field.is-invalid{border-color:hsl(var(--destructive)/.7);background:hsl(var(--destructive)/.04)}.cr-field.is-invalid:focus{box-shadow:0 0 0 5px hsl(var(--destructive)/.12)}.cr-error{margin-top:.4rem;font-size:.78rem;font-weight:600;color:hsl(var(--destructive));animation:fade-up .35s var(--ease-out)}.cr-restored{display:flex;align-items:center;gap:.75rem;margin-bottom:1.75rem;padding:.7rem .9rem;border-radius:1rem;background:hsl(var(--card));border:1px dashed hsl(var(--primary)/.4);animation:fade-up .6s var(--ease-out)}.cr-field:focus{border-color:hsl(var(--primary));background:hsl(var(--card));box-shadow:0 0 0 5px hsl(var(--primary)/.12)}.cr-midnight{width:100%;display:flex;align-items:center;gap:1.1rem;padding:1.3rem 1.4rem;border-radius:1.5rem;color:hsl(var(--background));background:radial-gradient(1px 1px at 20% 30%,#fff,transparent),radial-gradient(1px 1px at 70% 70%,#fff,transparent),radial-gradient(1.5px 1.5px at 85% 25%,#f6d77c,transparent),linear-gradient(120deg,#170b22,#2e1640);box-shadow:0 20px 40px -24px rgba(23,10,34,.8);transition:transform .4s var(--ease-spring),box-shadow .4s;animation:pop-in .6s var(--ease-spring) backwards}.cr-midnight:hover{transform:translateY(-2px)}.cr-moon{width:2.6rem;height:2.6rem;flex-shrink:0;border-radius:50%;box-shadow:inset -.7rem .15rem 0 0 #ffe7a8;rotate:-20deg;transition:filter .5s}.cr-midnight.is-on .cr-moon{filter:drop-shadow(0 0 10px rgba(255,231,168,.8))}.cr-switch{position:relative;width:3rem;height:1.7rem;flex-shrink:0;border-radius:999px;background:rgba(255,255,255,.18);transition:background .3s}.cr-switch i{position:absolute;top:.2rem;left:.2rem;width:1.3rem;height:1.3rem;border-radius:50%;background:#fff;transition:transform .45s var(--ease-spring)}.cr-midnight.is-on .cr-switch{background:hsl(var(--gold))}.cr-midnight.is-on .cr-switch i{transform:translateX(1.3rem)}.cr-cake{position:relative;padding:1rem .75rem 1.1rem;border-radius:1.5rem;text-align:center;background:hsl(var(--card));border:1.5px solid hsl(var(--border));transition:transform .45s var(--ease-spring),box-shadow .4s,border-color .3s}.cr-cake:hover{transform:translateY(-4px) rotate(-1deg)}.cr-cake.is-on{border-color:hsl(var(--primary));transform:translateY(-6px);box-shadow:0 24px 40px -24px hsl(var(--primary)/.6)}.cr-cake-art{width:100%;max-width:9.5rem;margin:0 auto;filter:drop-shadow(0 10px 12px rgba(40,10,40,.18))}.cr-cake:not(.is-on) .cr-cake-art{filter:drop-shadow(0 10px 12px rgba(40,10,40,.18)) saturate(.92)}.cr-chosen{position:absolute;top:-.9rem;right:-.7rem;width:2.8rem;height:2.8rem;animation:seal-stamp-flat .6s var(--ease-out) both}.cr-reason{position:relative;animation:pop-in .5s var(--ease-spring) backwards}.cr-balloon{left:.75rem;width:1.9rem;height:2.2rem;place-items:center;font-size:.7rem;font-weight:700;color:#fff;border-radius:50% 50% 50% 50%/45% 45% 55% 55%;background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.6) 0 10%,transparent 24%),var(--c);pointer-events:none}.cr-balloon,.cr-remove{position:absolute;top:50%;translate:0 -50%;display:grid}.cr-remove{right:.6rem;width:2rem;height:2rem;border-radius:50%;place-items:center;font-size:1.1rem;color:hsl(var(--muted-foreground));background:hsl(var(--card));border:1px solid hsl(var(--border));transition:all .25s}.cr-remove:hover{color:hsl(var(--destructive));border-color:hsl(var(--destructive));transform:rotate(90deg)}.cr-polaroid .cr-remove{translate:0 0}.cr-letter{position:relative;padding:1.4rem 1.4rem 2rem 2.6rem;border-radius:.5rem;background:linear-gradient(90deg,transparent 1.8rem,hsl(var(--primary)/.25) 1.8rem 1.9rem,transparent 1.9rem),repeating-linear-gradient(transparent 0 calc(2.1rem - 1px),hsl(var(--foreground)/.08) calc(2.1rem - 1px) 2.1rem),linear-gradient(170deg,#fffdf7,#fbf1de);background-position:0 0,0 1.4rem,0 0;box-shadow:0 24px 40px -26px hsl(var(--foreground)/.4),0 1px 0 hsl(var(--border));rotate:-.4deg}.cr-letter textarea{width:100%;resize:none;background:transparent;border:0;outline:none;font-family:var(--font-hand);font-size:1.45rem;line-height:2.1rem;color:hsl(var(--foreground))}.cr-letter textarea::-moz-placeholder{color:hsl(var(--muted-foreground)/.5)}.cr-letter textarea::placeholder{color:hsl(var(--muted-foreground)/.5)}.cr-letter-count{position:absolute;right:1rem;bottom:.6rem;font-size:.7rem;color:hsl(var(--muted-foreground))}.cr-polaroid{position:relative;padding:.55rem .55rem 0;background:#fffdf8;box-shadow:0 18px 30px -18px rgba(40,10,40,.45),0 1px 0 hsl(var(--border));rotate:var(--r);transition:rotate .4s var(--ease-spring);animation:pop-in .6s var(--ease-spring) backwards}.cr-polaroid:hover{rotate:0deg}.cr-caption{width:100%;padding:.55rem .2rem .6rem;text-align:center;font-size:1.2rem;background:transparent;border:0;outline:none;color:hsl(var(--foreground))}.cr-drop{aspect-ratio:.84;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3rem;border-radius:.4rem;border:2px dashed hsl(var(--primary)/.4);color:hsl(var(--primary));background:hsl(var(--card)/.6);transition:all .3s}.cr-drop:hover{background:hsl(var(--secondary)/.6);transform:rotate(-2deg) scale(1.02)}.dash-credits{flex-direction:column;justify-content:center;min-width:4.4rem;padding:.55rem .9rem;border-radius:1rem;background:hsl(var(--gold));color:hsl(var(--ink));box-shadow:0 2px 0 hsl(var(--gold)/.6),0 12px 24px -14px hsl(var(--gold));rotate:3deg}.dash-credits,.dash-wallet{display:flex;align-items:center}.dash-wallet{flex-wrap:wrap;justify-content:space-between;gap:1.1rem;margin-bottom:2rem;padding:1.2rem 1.3rem;border-radius:1.5rem;background:radial-gradient(80% 140% at 0 0,hsl(var(--primary)/.35),transparent 60%),hsl(var(--plum));box-shadow:0 24px 40px -26px rgba(23,10,34,.7);animation:fade-up .6s var(--ease-out) backwards}.dash-gift{position:relative;padding:1.4rem 1.5rem 1.1rem;border-radius:1.5rem;background:linear-gradient(135deg,transparent calc(100% - 3.2rem),hsl(var(--blush)/.7) calc(100% - 3.2rem)),hsl(var(--card));border:1px solid hsl(var(--border));box-shadow:0 2px 0 hsl(var(--border)),0 24px 40px -30px hsl(var(--foreground)/.35);transition:transform .45s var(--ease-spring),box-shadow .4s;animation:fade-up .7s var(--ease-out) backwards}.dash-gift:hover{transform:translateY(-3px) rotate(-.3deg);box-shadow:0 2px 0 hsl(var(--border)),0 30px 50px -30px hsl(var(--primary)/.45)}.dash-gift.is-draft{border-style:dashed;border-color:hsl(var(--primary)/.35)}.dash-badge{flex-shrink:0;display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .75rem;border-radius:999px;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.dash-share{--c:hsl(var(--foreground));padding:.45rem .9rem;border-radius:999px;font-size:.75rem;font-weight:600;color:var(--c);border:1.5px solid color-mix(in srgb,var(--c) 35%,transparent);background:color-mix(in srgb,var(--c) 7%,transparent);transition:transform .3s var(--ease-spring),background .25s}.dash-share:hover{transform:translateY(-2px);background:color-mix(in srgb,var(--c) 15%,transparent)}.dash-share-dark{--c:#f4ead8}.login-card{background:radial-gradient(120% 60% at 50% 0,hsl(var(--blush)/.6),transparent 60%),hsl(var(--card));border:1px solid hsl(var(--border));box-shadow:0 40px 80px -30px rgba(23,10,34,.6)}.footer-word{--p:0;font-size:clamp(5rem,24vw,22rem);line-height:.8;transform:translateY(calc(max(0, 1 - var(--p) * 4) * 55%))}.nav-badge{font-family:var(--font-kalam),var(--font-hand),cursive;font-size:.95rem;line-height:1;padding:.25rem .6rem;border-radius:999px;color:#2a1203;background:linear-gradient(135deg,#ffd36e,#ff9a2e);transform:rotate(-4deg)}.tp-card{display:flex;flex-direction:column;border-radius:28px;overflow:hidden;background:hsl(var(--card,var(--background)));border:1px solid hsl(var(--border));box-shadow:inset 0 1px 0 hsl(0 0% 100%/.7),0 24px 48px -30px hsl(345 40% 25%/.35);transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s}.tp-card:hover{transform:translateY(-6px);box-shadow:inset 0 1px 0 hsl(0 0% 100%/.7),0 34px 60px -30px hsl(345 50% 30%/.5)}.tp-art{position:relative;display:grid;place-items:center;aspect-ratio:5/4;overflow:hidden;isolation:isolate}.tp-cake{height:76%;width:auto;max-width:72%;margin-top:-2%;transition:transform .6s cubic-bezier(.34,1.56,.64,1)}.tp-card:hover .tp-cake{transform:translateY(-6px) scale(1.04)}.tp-classic .tp-art{background:radial-gradient(circle at 18% 26%,#f6c9cf 0 16px,transparent 17px),radial-gradient(circle at 84% 20%,#e8b44c 0 12px,transparent 13px),radial-gradient(circle at 88% 62%,#b9a6e8 0 10px,transparent 11px),radial-gradient(70% 60% at 50% 100%,#f9d4dc,transparent 70%),linear-gradient(160deg,#fff7ef,#fde4e6)}.tp-starlight .tp-art{background:radial-gradient(70% 60% at 50% 110%,rgba(150,110,255,.55),transparent 70%),linear-gradient(170deg,#04061a,#151040 70%,#2a1650)}.tp-twinkles{position:absolute;inset:0;z-index:-1;background:radial-gradient(1.5px 1.5px at 12% 20%,#fff,transparent),radial-gradient(1.5px 1.5px at 30% 58%,#fff,transparent),radial-gradient(2px 2px at 48% 14%,#ffe7b0,transparent),radial-gradient(1.5px 1.5px at 72% 30%,#fff,transparent),radial-gradient(1px 1px at 86% 70%,#cfe2ff,transparent),radial-gradient(1.5px 1.5px at 92% 12%,#fff,transparent),radial-gradient(1px 1px at 6% 76%,#fff,transparent);animation:tp-twinkle 3.5s ease-in-out infinite alternate}@keyframes tp-twinkle{to{opacity:.45}}.tp-play{position:absolute;left:50%;bottom:14px;translate:-50% 8px;padding:.45rem .9rem;border-radius:999px;font-size:.75rem;font-weight:600;color:#fff;background:rgba(20,10,28,.6);backdrop-filter:blur(6px);opacity:0;transition:opacity .3s,translate .3s}.tp-art:focus-visible .tp-play,.tp-art:hover .tp-play{opacity:1;translate:-50% 0}.tp-art:focus-visible{outline:3px solid hsl(var(--primary));outline-offset:-3px}.tp-body{display:flex;flex-direction:column;flex:1;padding:1.4rem 1.5rem 1.5rem}.tp-occasion{display:flex;align-items:center;gap:.5rem;font-size:.7rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:hsl(var(--muted-foreground));margin-bottom:.4rem}.tp-badge{letter-spacing:.08em;padding:.15rem .5rem;border-radius:999px;color:#fff;background:linear-gradient(135deg,#7c5cff,#d6334e)}.tp-scenes{display:flex;flex-wrap:wrap;gap:.4rem;margin:1rem 0 1.4rem}.tp-scenes li{font-size:.72rem;padding:.3rem .65rem;border-radius:999px;background:hsl(var(--muted));color:hsl(var(--foreground)/.8)}.tp-actions{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.tp-demo{font-size:.85rem;font-weight:600;color:hsl(var(--primary))}.tp-demo:hover{text-decoration:underline;text-underline-offset:4px}.tp-step{padding:1.4rem;border-radius:22px;border:1px dashed hsl(var(--border));background:hsl(var(--background))}.tp-step-n{display:inline-grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:50%;font-family:var(--font-display);font-size:1.1rem;color:#fff;background:hsl(var(--primary));box-shadow:0 6px 16px -6px hsl(var(--primary)/.7)}.moments{display:inline-grid;font-style:italic;animation:moments-in 1s var(--ease-out) .1s both}.moment{grid-area:1/1;white-space:nowrap;padding:.04em .06em .1em 0;background:linear-gradient(100deg,hsl(var(--primary)) 0,#e46a8f 45%,#c99a3d 100%);-webkit-background-clip:text;background-clip:text;color:transparent;opacity:0;transform:translateY(.38em);filter:blur(10px);transition:opacity .7s var(--ease-out),transform .9s var(--ease-out),filter .7s var(--ease-out)}.moment.is-on{opacity:1;transform:none;filter:none}.moment.is-out{transform:translateY(-.38em)}@keyframes moments-in{0%{opacity:0;transform:translateY(.3em);filter:blur(8px)}}@media (max-width:420px){.moments{font-size:.86em}}.nav-count{display:inline-grid;place-items:center;min-width:1.15rem;height:1.15rem;margin-left:.4rem;padding:0 .3rem;border-radius:999px;font-size:.68rem;font-weight:700;line-height:1;vertical-align:.1em;color:hsl(var(--primary-foreground));background:hsl(var(--primary))}.nav-count-lg{min-width:1.6rem;height:1.6rem;font-size:.9rem;font-family:var(--font-sans);font-style:normal;vertical-align:.5em}.templates-aura{position:absolute;inset:10% -10% auto;height:70%;background:radial-gradient(40% 50% at 20% 40%,hsl(var(--primary)/.1),transparent 70%),radial-gradient(35% 45% at 80% 30%,hsl(var(--lilac,265 60% 75%)/.14),transparent 70%),radial-gradient(30% 40% at 55% 85%,hsl(var(--gold)/.12),transparent 70%);filter:blur(10px);pointer-events:none}.chapter-tag{display:inline-block;margin-bottom:.7rem;padding:.25rem .7rem;border-radius:999px;font-size:.68rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:hsl(var(--gold));border:1px solid hsl(var(--gold)/.4);background:hsl(var(--gold)/.08)}.vg-night{background:radial-gradient(120% 90% at 50% 10%,#2a2268,#0b0a26 70%)}.vg-constellation{position:relative;width:78%;margin-bottom:1em;overflow:visible}.vg-constellation path{fill:none;stroke:rgba(255,231,168,.7);stroke-width:.6;stroke-dasharray:140;stroke-dashoffset:140;animation:vg-draw 3.2s var(--ease-out) infinite}.vg-constellation circle{fill:#fff6d8;filter:drop-shadow(0 0 2px #ffe7a8);animation:blink 2.4s ease-in-out infinite}@keyframes vg-draw{0%{stroke-dashoffset:140}55%,to{stroke-dashoffset:0}}.vg-shoot{position:absolute;top:18%;left:-20%;width:4em;height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,#fff);rotate:18deg;animation:vg-shoot 3.6s ease-in 1s infinite}@keyframes vg-shoot{0%{transform:translateX(0);opacity:0}8%{opacity:1}30%,to{transform:translateX(22em);opacity:0}}.vg-ask{background:repeating-conic-gradient(#f7a8c9 0 25%,transparent 0 50%) 0 0 /1.6em 1.6em,linear-gradient(#ffb3d1,#ffd6e7);color:#5a1e3a}.vg-ask-face{width:5.5em;padding:.5em;background:#fff7fa;box-shadow:0 -3px 0 #3a0f25,0 3px 0 #3a0f25,-3px 0 0 #3a0f25,3px 0 0 #3a0f25}.vg-ask-face svg{display:block;width:100%;height:auto;image-rendering:pixelated}.vg-ask-q{max-width:11em;margin:1em 0 .4em;font-size:1.25em;line-height:1.25;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:#d6246e;text-align:center;text-wrap:balance}.vg-ask-zone{display:grid;place-items:center;height:5.2em}.vg-ask-no,.vg-ask-yes{font-weight:900;letter-spacing:.08em;box-shadow:0 -3px 0 #3a0f25,0 3px 0 #3a0f25,-3px 0 0 #3a0f25,3px 0 0 #3a0f25}.vg-ask-yes{padding:.5em 1.4em .65em;color:#fff;background:#e8337f;box-shadow:inset 0 -.3em 0 #9e1250,0 -3px 0 #3a0f25,0 3px 0 #3a0f25,-3px 0 0 #3a0f25,3px 0 0 #3a0f25;animation:vg-yes 3.2s var(--ease-spring) infinite}.vg-ask-no{position:absolute;padding:.3em .7em;font-size:.75em;color:#e8337f;background:#fff;animation:vg-no 3.2s steps(1) infinite}@keyframes vg-yes{0%,20%{transform:scale(1)}40%,60%{transform:scale(1.25)}80%,to{transform:scale(1.5)}}@keyframes vg-no{0%,20%{left:58%;top:78%}20.01%,40%{left:14%;top:22%}40.01%,60%{left:70%;top:30%}60.01%,to{left:18%;top:80%}}@media (prefers-reduced-motion:reduce){.moment{transition:none}.vg-ask-no,.vg-shoot{animation:none}.vg-ask-no{left:58%;top:78%}}:root{--heart:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 92C20 72 3 54 3 33 3 16 15 5 29 5c9 0 16 5 21 13 5-8 12-13 21-13 14 0 26 11 26 28 0 21-17 39-47 59z'/%3E%3C/svg%3E")}.gift-loading-seal{animation:seal-breathe 1.6s ease-in-out infinite}@keyframes seal-breathe{0%,to{transform:scale(1) rotate(0);filter:drop-shadow(0 0 0 rgba(214,51,78,0))}50%{transform:scale(1.08) rotate(-8deg);filter:drop-shadow(0 0 24px rgba(214,51,78,.6))}}.gift-player{-moz-user-select:none;user-select:none;-webkit-user-select:none}.gp-chip{display:inline-flex;align-items:center;border-radius:999px;background:rgba(23,10,28,.45);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.12);transition:transform .35s var(--ease-spring),background .3s}.gp-chip:hover{transform:scale(1.05);background:rgba(23,10,28,.65)}.gp-chip:active{transform:scale(.94)}.gp-preview{position:fixed;top:4.4rem;left:50%;translate:-50% 0;z-index:50;padding:.35rem .85rem;border-radius:999px;font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;color:hsl(var(--ink));box-shadow:0 6px 18px -8px rgba(0,0,0,.6);pointer-events:none}.gp-eq,.gp-preview{background:hsl(var(--gold))}.gp-eq{width:3px;height:14px;border-radius:2px;transform-origin:50% 100%;animation:eq .9s ease-in-out infinite alternate}@keyframes eq{0%{transform:scaleY(.25)}to{transform:scaleY(1)}}.is-muted .gp-eq{animation:none;transform:scaleY(.2);background:rgba(255,255,255,.5)}.gp-thread{position:absolute;bottom:max(14px,env(safe-area-inset-bottom));left:50%;translate:-50% 0;z-index:40;display:flex;align-items:center;gap:14px;padding:0 10px;pointer-events:none}.gp-thread:before{content:"";position:absolute;left:-20px;right:-20px;top:50%;height:1px;background:linear-gradient(90deg,transparent,rgba(232,180,76,.55),transparent)}.gp-bead{position:relative;width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.22);transition:all .6s var(--ease-spring)}.gp-bead.is-done{background:hsl(var(--gold))}.gp-bead.is-now{width:12px;height:12px;background:hsl(var(--primary));box-shadow:0 0 0 4px rgba(214,51,78,.25),0 0 14px rgba(214,51,78,.8)}.gp-veil{position:absolute;inset:0;z-index:70;display:grid;place-items:center;background:radial-gradient(circle at 50% 45%,#42204d,#170a1c 65%);-webkit-mask:var(--heart) 50% 50% /0 0 no-repeat;mask:var(--heart) 50% 50% /0 0 no-repeat;pointer-events:none}.gp-veil.is-cover{animation:veil-grow .75s cubic-bezier(.7,0,.3,1) forwards}.gp-veil.is-reveal{-webkit-mask:linear-gradient(#000 0 0) 0 0 /100% 100% no-repeat,var(--heart) 50% 50% /0 0 no-repeat;mask:linear-gradient(#000 0 0) 0 0 /100% 100% no-repeat,var(--heart) 50% 50% /0 0 no-repeat;-webkit-mask-composite:xor;mask-composite:exclude;animation:veil-open .9s cubic-bezier(.7,0,.3,1) forwards}@keyframes veil-grow{to{-webkit-mask-size:480vmax 480vmax;mask-size:480vmax 480vmax}}@keyframes veil-open{to{-webkit-mask-size:100% 100%,480vmax 480vmax;mask-size:100% 100%,480vmax 480vmax}}.gp-veil-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 1.5rem;animation:veil-card-in .6s var(--ease-out) .45s both}.gp-veil.is-reveal .gp-veil-card{animation:veil-card-out .45s ease-in forwards}.gp-veil-seal{animation:seal-stamp-flat .7s var(--ease-out) .4s both}@keyframes veil-card-in{0%{opacity:0;transform:translateY(16px);filter:blur(8px)}}@keyframes veil-card-out{to{opacity:0;transform:scale(1.15);filter:blur(6px)}}@keyframes seal-stamp-flat{0%{transform:scale(2.2) rotate(-40deg);opacity:0}60%{transform:scale(.88) rotate(5deg);opacity:1}to{transform:scale(1) rotate(0)}}.unwrap{--hold:0;inset:0;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(.5rem,3vh,2rem);padding:4.5rem 1rem 3.5rem;background:radial-gradient(70% 30% at 50% 100%,#2c1233 0,transparent 70%),#120816;-webkit-touch-callout:none}.unwrap,.uw-spot{position:absolute}.uw-spot{left:50%;top:-5%;width:170vmin;height:115%;translate:-50% 0;background:conic-gradient(from 180deg at 50% 0,transparent 162deg,rgba(255,226,170,.13) 172deg,rgba(255,226,170,.2) 180deg,rgba(255,226,170,.13) 188deg,transparent 198deg);filter:blur(8px);pointer-events:none;animation:spot-on 1.4s linear both}@keyframes spot-on{0%{opacity:0}15%{opacity:.9}22%{opacity:.1}30%{opacity:1}36%{opacity:.4}45%,to{opacity:1}}.uw-dust span{position:absolute;bottom:18%;width:3px;height:3px;border-radius:50%;background:#ffe6a8;box-shadow:0 0 6px #ffd27a;opacity:0;animation:dust 7s ease-in-out infinite}@keyframes dust{0%{transform:translate(0);opacity:0}30%{opacity:.8}to{transform:translate(30px,-55vh);opacity:0}}.uw-head{position:relative;z-index:2;text-align:center}.uw-fade{animation:fade-up .9s var(--ease-out) var(--d,0s) backwards}.uw-name{font-size:clamp(3rem,14vw,6.4rem);line-height:1;margin:.1em 0 .15em;white-space:nowrap}.uw-name span{display:inline-block;padding:.05em .01em .12em;animation:uw-letter 1s var(--ease-spring) calc(.8s + var(--i) * .08s) backwards,foil-sheen 6s linear infinite}@keyframes uw-letter{0%{opacity:0;transform:translateY(-.7em) rotate(-14deg) scale(1.5);filter:blur(10px)}}.uw-target{--s:min(62vw,32vh,280px);position:relative;width:var(--s);height:calc(var(--s) * 1.04);perspective:1000px;background:none;border:0;cursor:pointer;touch-action:none;-webkit-tap-highlight-color:transparent;outline-offset:10px;border-radius:24px;z-index:2}.uw-shake,.uw-target{transform-style:preserve-3d}.uw-shake{position:absolute;inset:0;animation:cube-drop 1.2s var(--ease-spring) .35s backwards}@keyframes cube-drop{0%{transform:translateY(-75vh) rotate(-24deg)}}.uw-holding .uw-shake{animation:uw-shake .11s linear infinite}@keyframes uw-shake{0%,to{transform:translate(calc(var(--hold) * -5px)) rotate(calc(var(--hold) * -2.5deg))}50%{transform:translate(calc(var(--hold) * 5px),calc(var(--hold) * -4px)) rotate(calc(var(--hold) * 2.5deg))}}.gift-box-art{position:absolute;inset:0;width:100%;height:100%;overflow:visible;animation:box-sway 6s ease-in-out infinite alternate;transform-origin:50% 90%}@keyframes box-sway{0%{transform:rotate(-2deg)}to{transform:rotate(2deg) translateY(-4px)}}.gb-lid{transform-box:fill-box;transform-origin:50% 100%;transform:translateY(calc(var(--hold) * -14px)) rotate(calc(var(--hold) * -5deg))}.gb-leak{opacity:calc(var(--hold) * 1.2)}.uw-idle .gb-lid{animation:lid-peek 3.2s ease-in-out 2.5s infinite}@keyframes lid-peek{0%,80%,to{translate:0 0}86%{translate:0 -8px;rotate:-2deg}92%{translate:0 0}}.uw-open .gb-lid{animation:lid-fly 1.2s cubic-bezier(.2,.7,.3,1) forwards}@keyframes lid-fly{0%{transform:translateY(-14px) rotate(-5deg)}to{transform:translate(60px,-65vh) rotate(-60deg) scale(.8);opacity:0}}.uw-open .gb-leak{opacity:1;stroke-width:26;transition:stroke-width .6s}.uw-open .uw-shake{animation:box-sink .9s ease-in 1.1s forwards}@keyframes box-sink{to{transform:translateY(40px) scale(.85);opacity:0}}.uw-rays{position:absolute;left:50%;top:42%;width:280%;aspect-ratio:1;translate:-50% -50%;background:repeating-conic-gradient(rgba(255,220,140,.55) 0 5deg,transparent 5deg 16deg);-webkit-mask:radial-gradient(circle,#000 0 12%,transparent 55%);mask:radial-gradient(circle,#000 0 12%,transparent 55%);opacity:calc(var(--hold) * .6);scale:calc(.6 + var(--hold) * .4);animation:spin 22s linear infinite;pointer-events:none}.uw-open .uw-rays{opacity:1;scale:3.2;transition:scale 1.6s var(--ease-out),opacity .2s}.uw-glow{position:absolute;left:50%;top:34%;width:70%;aspect-ratio:1;translate:-50% -50%;border-radius:50%;background:radial-gradient(circle,rgba(255,236,180,.95),rgba(255,180,90,.35) 40%,transparent 70%);opacity:var(--hold);scale:calc(.4 + var(--hold));filter:blur(6px);pointer-events:none}.uw-open .uw-glow{opacity:1;scale:7;transition:scale 1.6s var(--ease-out)}.uw-shadow{position:absolute;left:15%;right:15%;bottom:10%;height:14%;border-radius:50%;background:radial-gradient(ellipse,rgba(255,210,140,.18),rgba(0,0,0,.5) 40%,transparent 70%);transform:translateZ(-200px)}.uw-hold{position:relative;z-index:2;display:flex;align-items:center;gap:.75rem;font-size:.72rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.72);animation:fade-up .8s var(--ease-out) 2s backwards;transition:opacity .3s}.uw-ring{width:40px;height:40px;transform:rotate(-90deg)}.uw-ring circle{fill:none;stroke:rgba(255,255,255,.15);stroke-width:3}.uw-ring .uw-ring-fill{stroke:#e8b44c;stroke-linecap:round;stroke-dasharray:151;stroke-dashoffset:calc(151 - var(--hold) * 151);filter:drop-shadow(0 0 4px #e8b44c)}.uw-idle .uw-ring{animation:pulse-ring 1.8s ease-in-out infinite}@keyframes pulse-ring{50%{transform:rotate(-90deg) scale(1.12)}}.uw-open .uw-head,.uw-open .uw-hold{opacity:0;transition:opacity .4s}.uw-flash{position:absolute;inset:0;z-index:5;background:radial-gradient(circle at 50% 50%,#fff8e6,#ffd98a 35%,rgba(255,190,120,0) 75%);opacity:0;pointer-events:none}.uw-open .uw-flash{animation:uw-flash 2.3s ease-out forwards}@keyframes uw-flash{0%,15%{opacity:0}40%{opacity:.95}to{opacity:.7}}@keyframes twinkle{50%{opacity:.35}}@keyframes pop-in{0%{opacity:0;transform:scale(.6) translateY(10px)}}.countdown{position:absolute;inset:0;overflow:hidden;display:grid;place-items:center;background:linear-gradient(#0b0716,#1d0f2e 55%,#3a1a3f)}.cd-sky span{position:absolute;border-radius:50%;background:#fff;animation:twinkle 3s ease-in-out infinite}.cd-shoot{position:absolute;top:14%;left:55%;width:130px;height:2px;border-radius:2px;background:linear-gradient(90deg,#fff,transparent);rotate:-28deg;opacity:0;animation:shoot 9s linear 2s infinite}@keyframes shoot{0%{opacity:0;transform:translateX(0)}2%{opacity:1}9%{opacity:0;transform:translateX(-420px)}to{opacity:0;transform:translateX(-420px)}}.cd-moon{position:absolute;top:10%;right:12%;width:clamp(60px,16vw,110px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 30% 60%,rgba(180,150,90,.35) 0 9%,transparent 10%),radial-gradient(circle at 62% 35%,rgba(180,150,90,.3) 0 6%,transparent 7%),radial-gradient(circle at 35% 35%,#fff8dc,#f1dca0 60%,#d8bd78);box-shadow:0 0 60px 10px rgba(255,236,170,.3),0 0 180px 50px rgba(255,236,170,.1);animation:fade-up 1.4s var(--ease-out) backwards}.flip{position:relative;display:inline-block;width:.74em;height:1.12em;font-family:var(--font-display);font-size:clamp(2rem,8.6vw,4.4rem);font-variant-numeric:tabular-nums;perspective:300px;border-radius:.12em;box-shadow:0 .2em .4em rgba(0,0,0,.5)}.flip:after{content:"";top:50%;height:1px;background:rgba(0,0,0,.7);z-index:3}.flip-half,.flip:after{position:absolute;left:0;right:0}.flip-half{height:50%;overflow:hidden;backface-visibility:hidden}.flip-top{top:0;border-radius:.12em .12em 0 0;background:#2a1638;transform-origin:50% 100%}.flip-bottom{bottom:0;border-radius:0 0 .12em .12em;background:#21102c;transform-origin:50% 0}.flip-half>span{position:absolute;left:0;right:0;height:200%;display:flex;align-items:center;justify-content:center;line-height:1;color:#fff3c4}.flip-top>span{top:0}.flip-bottom>span{bottom:0}.flip-fall{z-index:2;animation:flip-fall .3s ease-in forwards}.flip-land{z-index:2;transform:rotateX(90deg);animation:flip-land .3s ease-out .3s forwards}@keyframes flip-fall{to{transform:rotateX(-90deg);filter:brightness(.6)}}@keyframes flip-land{to{transform:rotateX(0)}}.cd-colon{font-family:var(--font-display);font-size:clamp(2rem,8vw,3.4rem);line-height:1.3;color:hsl(var(--gold));animation:twinkle 1s steps(2) infinite}.cake-scene{--wind:0;--lit:0;--cw:min(84vw,340px,44vh);position:absolute;inset:0;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(.6rem,2.5vh,1.6rem);padding:4.5rem 1rem 3.5rem;background:radial-gradient(80% 45% at 50% 100%,#2a1424,transparent),#140a19}.cs-wished{background:radial-gradient(90% 60% at 50% 70%,#5a2440,transparent 70%),#1e0d22;transition:background 1.2s}.cs-glow{position:absolute;left:50%;top:60%;width:160vmin;aspect-ratio:1;translate:-50% -50%;background:radial-gradient(circle,rgba(255,180,90,.45),rgba(255,140,80,.12) 35%,transparent 60%);opacity:var(--lit);transition:opacity .8s;pointer-events:none}.cs-wished .cs-glow{opacity:.9;background:radial-gradient(circle,rgba(255,140,170,.32),transparent 60%)}.cs-lights{position:absolute;top:0;left:0;width:100%;height:80px;opacity:0;transition:opacity .5s}.cs-bulbs{position:absolute;inset:0 0 auto 0;height:90px}.cs-bulbs span{position:absolute;width:9px;height:13px;translate:-50% 0;border-radius:50% 50% 45% 45%;background:#3a2a3f;opacity:0}.cs-wished .cs-lights{opacity:1}.cs-wished .cs-bulbs span{opacity:1;background:var(--c);box-shadow:0 0 10px 3px var(--c),0 6px 26px 6px color-mix(in srgb,var(--c) 35%,transparent);animation:bulb-on .25s both,twinkle 2.4s ease-in-out infinite}@keyframes bulb-on{0%{background:#3a2a3f;box-shadow:none}}.cs-head{position:relative;z-index:3;text-align:center;min-height:5.4rem}.cs-title{animation:fade-up .7s var(--ease-out) backwards}.cs-wished .cs-title{animation:title-stamp .9s var(--ease-spring) .25s backwards}.cs-sub{animation:fade-up .7s var(--ease-out) .15s backwards}@keyframes title-stamp{0%{transform:scale(1.9) rotate(-4deg);opacity:0;filter:blur(6px)}}.cs-cake{position:relative;z-index:2;width:var(--cw);animation:cake-in 1s var(--ease-spring) .2s backwards}@keyframes cake-in{0%{transform:translateY(40px) scale(.85);opacity:0}}.cs-wished .cs-cake{animation:cake-hop .7s var(--ease-spring)}@keyframes cake-hop{40%{transform:translateY(-14px) scale(1.03)}}.cake-art{display:block;width:100%;height:auto;overflow:visible;filter:drop-shadow(0 18px 24px rgba(0,0,0,.35))}.ca-candle.is-interactive{cursor:pointer;outline:none;-webkit-tap-highlight-color:transparent}.ca-candle.is-interactive:focus-visible{filter:drop-shadow(0 0 4px #f6d77c)}.ca-flame,.ca-flame-wrap,.ca-smoke circle,.ca-spark{transform-box:fill-box}.ca-flame-wrap{transform-origin:50% 100%;transform:skewX(calc(var(--wind, 0) * -32deg)) scaleY(calc(1 - var(--wind, 0) * .45));opacity:0;transition:opacity .25s,transform .08s}.ca-candle.is-lit .ca-flame-wrap{opacity:1;animation:flame-pop .45s var(--ease-spring)}@keyframes flame-pop{0%{opacity:0;scale:.2}}.ca-flame{transform-origin:50% 100%;animation:flicker2 .7s ease-in-out infinite alternate}.ca-glow{animation:twinkle 1.8s ease-in-out infinite}.ca-candle.is-interactive:not(.is-lit) .ca-wick{animation:wick-hint-svg 1.6s ease-in-out infinite;animation-delay:calc(var(--i) * .15s)}@keyframes wick-hint-svg{50%{stroke:#ffb347;filter:drop-shadow(0 0 3px #ffb347)}}.cs-blowing .ca-candle.is-lit .ca-flame-wrap{animation:flame-out-svg .45s ease-in forwards;animation-delay:calc(var(--i) * 80ms)}@keyframes flame-out-svg{40%{transform:skewX(-40deg) scaleY(.6);opacity:.8}to{transform:skewX(-50deg) scaleY(0);opacity:0}}.cs-dark .ca-flame-wrap,.cs-wished .ca-flame-wrap{opacity:0!important;animation:none!important}.ca-smoke circle{fill:rgba(225,215,235,.6);opacity:0;transform-origin:50% 50%;filter:blur(2px)}.cs-blowing .ca-candle.is-lit .ca-smoke circle,.cs-dark .ca-candle.is-lit .ca-smoke circle{animation:smoke-svg 2.4s ease-out forwards;animation-delay:calc(var(--i) * 80ms + .3s)}.cs-blowing .ca-candle.is-lit .ca-smoke circle:nth-child(2),.cs-dark .ca-candle.is-lit .ca-smoke circle:nth-child(2){animation-delay:calc(var(--i) * 80ms + .55s)}.cs-blowing .ca-candle.is-lit .ca-smoke circle:nth-child(3),.cs-dark .ca-candle.is-lit .ca-smoke circle:nth-child(3){animation-delay:calc(var(--i) * 80ms + .8s)}@keyframes smoke-svg{0%{opacity:0;transform:translate(0) scale(.4)}15%{opacity:.75}50%{transform:translate(6px,-40px) scale(1.6)}to{opacity:0;transform:translate(-6px,-90px) scale(2.8)}}.ca-spark{opacity:0;transform-origin:50% 50%}.ca-candle.is-lit .ca-spark{animation:ca-spark .55s ease-out}@keyframes ca-spark{0%{opacity:1;scale:.3}to{opacity:0;scale:1.5}}.cs-actions{position:relative;z-index:5;min-height:6.5rem;display:flex;align-items:flex-start;justify-content:center}.cs-pop{animation:pop-in .6s var(--ease-spring) backwards}.cs-listen{display:flex;align-items:center;gap:5px;height:44px}.cs-listen span{width:5px;height:36px;border-radius:4px;background:hsl(var(--gold));transform:scaleY(calc(.15 + var(--wind) * .85));transition:transform .08s}.cs-listen span:nth-child(2n){transform:scaleY(calc(.1 + var(--wind) * .6))}.cs-listen.is-calibrating span{animation:twinkle .8s ease-in-out infinite}.cs-blackout{position:absolute;inset:0;z-index:4;pointer-events:none;background:radial-gradient(45% 32% at 50% 48%,rgba(8,4,10,.45),rgba(8,4,10,.95) 75%);opacity:0;transition:opacity 1.2s}.cs-dark .cs-blackout{opacity:1;transition:opacity .3s}.balloons{position:absolute;inset:0;overflow:hidden;background:linear-gradient(180deg,#1c0f33,#4a2155 34%,#a8456a 68%,#f2a07b)}.bl-sun{position:absolute;bottom:-14vh;left:50%;translate:-50% 0;width:80vmin;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,214,150,.75),rgba(255,160,120,.2) 50%,transparent 70%)}.bl-cloud{position:absolute;left:-40%;width:240px;height:64px;border-radius:64px;background:rgba(255,220,230,.16);filter:blur(12px);animation:cloud linear infinite}@keyframes cloud{to{transform:translateX(170vw)}}.bl-head{position:absolute;top:4.4rem;left:0;right:0;z-index:3;text-align:center;padding:0 1rem}.bl-found{width:8px;height:8px;border-radius:50%;border:1.5px solid var(--c);transition:all .4s var(--ease-spring)}.bl-found.is-on{background:var(--c);transform:scale(1.35);box-shadow:0 0 8px var(--c)}.bl-balloon{position:absolute;z-index:2;width:clamp(62px,19vw,92px);translate:-50% 0;background:none;border:0;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}.bl-balloon:disabled{cursor:default}.bl-rise{display:block;animation:bl-rise 1.8s var(--ease-out) var(--d) backwards}@keyframes bl-rise{0%{transform:translateY(85vh) rotate(10deg)}}.bl-bob{display:block;transform-origin:50% 100%;animation:bl-bob var(--bob) ease-in-out infinite alternate}@keyframes bl-bob{0%{transform:translateY(0) rotate(-3deg)}to{transform:translateY(-14px) rotate(3deg)}}.bl-svg{display:block;width:100%;height:auto;overflow:visible;transform-origin:50% 25%;filter:drop-shadow(0 12px 14px rgba(40,0,30,.35));transition:scale .3s var(--ease-spring)}.bl-balloon:not(:disabled):hover .bl-svg{scale:1.07}.bl-string{transform-box:view-box;transform-origin:40px 96px;animation:string-sway 2.4s ease-in-out infinite alternate}@keyframes string-sway{0%{transform:rotate(-7deg)}to{transform:rotate(7deg)}}.is-popped .bl-svg{animation:bl-pop .24s ease-out forwards}@keyframes bl-pop{50%{transform:scale(1.25);opacity:1}to{transform:scale(1.6);opacity:0}}.bl-shreds{position:absolute;left:50%;top:22%;pointer-events:none}.bl-shreds i{position:absolute;width:7px;height:11px;border-radius:2px;background:var(--c);animation:shred .75s ease-out forwards}@keyframes shred{to{transform:rotate(var(--a)) translateY(calc(var(--r) * -1)) rotate(220deg);opacity:0}}.bl-shreds b{position:absolute;left:0;top:-12px;translate:-50% 0;color:#fff;font-size:1.9rem;font-weight:700;text-shadow:0 2px 8px rgba(0,0,0,.3);animation:pop-word .9s var(--ease-spring) forwards}@keyframes pop-word{0%{transform:scale(.2) rotate(-20deg);opacity:0}30%{transform:scale(1.25) rotate(-8deg);opacity:1}to{transform:scale(1) translateY(-30px) rotate(-8deg);opacity:0}}.bl-note{position:absolute;left:50%;top:70vh;z-index:5;width:min(84vw,340px);margin-left:calc(min(84vw, 340px) / -2);margin-top:-3.5rem;padding:1.3rem 1.3rem 1.1rem 1.6rem;background:linear-gradient(90deg,var(--c) 0 5px,transparent 5px),linear-gradient(170deg,#fffdf6,#fbf1dc);box-shadow:0 24px 40px -16px rgba(30,5,30,.6);transform-origin:50% 0;animation:note-flutter 1.15s cubic-bezier(.2,.8,.3,1) both}@keyframes note-flutter{0%{transform:perspective(800px) translate(var(--fx),var(--fy)) scale(.2) rotate(-35deg) rotateX(75deg);opacity:0}15%{opacity:1}45%{transform:perspective(800px) translate(calc(var(--fx) * .4),calc(var(--fy) * .4)) scale(.7) rotate(14deg) rotateX(40deg)}72%{transform:perspective(800px) translate(0) scale(1.04) rotate(-5deg) rotateX(0)}to{transform:perspective(800px) translate(0) scale(1) rotate(-1.5deg) rotateX(0)}}.bl-tape{position:absolute;top:-10px;left:50%;width:72px;height:20px;margin-left:-36px;rotate:-3deg}.bl-foot{left:0;right:0;bottom:3.6rem;z-index:6;justify-content:center}.bl-foot,.memories{position:absolute;display:flex}.memories{inset:0;overflow:hidden;flex-direction:column;background:radial-gradient(80% 60% at 50% 45%,#3a1d3f,#150a1a 75%)}.ml-wire{position:absolute;top:0;left:0;width:100%;height:60px}.ml-bulbs{position:absolute;inset:0 0 auto 0;height:70px}.ml-bulbs span{position:absolute;width:9px;height:13px;translate:-50% 0;border-radius:50% 50% 45% 45%;background:var(--c);box-shadow:0 0 10px 3px var(--c),0 6px 26px 6px color-mix(in srgb,var(--c) 35%,transparent);animation:twinkle 2.6s ease-in-out infinite}.ml-stack{position:relative;flex:1;display:grid;place-items:center;animation:fade-up 1s var(--ease-out) .25s backwards}.ml-polaroid{--pw:min(72vw,300px,44vh);grid-area:1/1;width:var(--pw);padding:calc(var(--pw) * .05) calc(var(--pw) * .05) 0;background:#fffdf8;box-shadow:0 30px 50px -20px rgba(0,0,0,.75),0 2px 0 rgba(0,0,0,.05);transform:translateY(calc(var(--depth) * 12px)) rotate(calc(var(--tilt) + var(--depth) * 3deg)) scale(calc(1 - var(--depth) * .04));transition:transform .55s var(--ease-out);touch-action:none}.ml-polaroid.is-top{cursor:grab}.ml-polaroid.is-top:active{cursor:grabbing}.ml-polaroid.fling-r{transform:translate(130vw,-12vh) rotate(38deg)!important}.ml-polaroid.fling-l,.ml-polaroid.fling-r{transition:transform .42s ease-in!important}.ml-polaroid.fling-l{transform:translate(-130vw,-12vh) rotate(-38deg)!important}.ml-photo{position:relative;aspect-ratio:1;overflow:hidden;background:#1a1018}.ml-photo img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;pointer-events:none;filter:brightness(.08) sepia(1) contrast(.6) blur(2px)}.is-top .ml-photo img{animation:develop2 3s ease-out .3s forwards}@keyframes develop2{0%{filter:brightness(.08) sepia(1) contrast(.6) blur(2px)}40%{filter:brightness(.6) sepia(.7) hue-rotate(-25deg) contrast(.8) blur(1px)}to{filter:brightness(1) sepia(0) hue-rotate(0) contrast(1) blur(0)}}.ml-broken{position:absolute;inset:0;display:none;place-items:center;padding:1rem;text-align:center;font-family:var(--font-hand);font-size:1.3rem;color:rgba(255,255,255,.75);background:radial-gradient(circle at 40% 35%,#4a2551,#1a1018)}.ml-photo.is-broken img{visibility:hidden}.ml-photo.is-broken .ml-broken{display:grid}.ml-gloss{position:absolute;inset:0;background:linear-gradient(125deg,rgba(255,255,255,.28),transparent 40%);pointer-events:none}.ml-caption{height:calc(var(--pw) * .21);display:flex;align-items:center;justify-content:center;text-align:center;padding:0 .5rem;font-size:clamp(1.2rem,5vw,1.55rem);line-height:1.1;color:#2a1430;clip-path:inset(0 100% 0 0)}.is-top .ml-caption{animation:write-on 1.2s cubic-bezier(.5,0,.3,1) 2.3s forwards}.ml-swipe{position:absolute;bottom:6%;right:10%;z-index:20;color:#f6d77c;font-size:1.5rem;rotate:-8deg;animation:nudge 1.4s ease-in-out infinite}@keyframes nudge{50%{transform:translateX(10px)}}.letter-scene{position:absolute;inset:0;overflow:hidden;display:flex;flex-direction:column;background:radial-gradient(70% 50% at 85% 90%,rgba(255,160,80,.2),transparent 60%),linear-gradient(#170b1d,#26122c)}.sl-candle{position:absolute;right:-12vmin;bottom:-12vmin;width:75vmin;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,190,110,.32),transparent 60%);animation:candle-breathe 2.6s ease-in-out infinite alternate;pointer-events:none}@keyframes candle-breathe{0%{transform:scale(.92);opacity:.75}to{transform:scale(1.06);opacity:1}}.sl-stage{--sw:min(86vw,360px);--sh:min(56vh,540px);position:relative;width:var(--sw);height:var(--sh);margin:auto;perspective:1400px}.sl-part{position:absolute;left:0;right:0;top:50%;height:calc(var(--sw) / 1.5);margin-top:calc(var(--sw) / -3);animation:env-in 1s var(--ease-spring) .2s backwards}@keyframes env-in{0%{transform:translateY(60vh) rotate(-10deg)}}.sl-open .sl-part{animation:env-out .8s ease-in 1.95s forwards}@keyframes env-out{to{transform:translateY(75vh) rotate(8deg);opacity:0}}.sl-done .sl-part,.sl-writing .sl-part{display:none}.sl-env-back{z-index:1;border-radius:8px;background:repeating-linear-gradient(45deg,#b8293f 0 7px,#c9364d 7px 14px);box-shadow:0 30px 50px -20px rgba(0,0,0,.7)}.sl-env-front{z-index:3;border-radius:8px;background:linear-gradient(170deg,#fbf3e4,#e6d3b4);clip-path:polygon(0 0,50% 52%,100% 0,100% 100%,0 100%);display:flex;align-items:flex-end;justify-content:center;padding-bottom:9%}.sl-env-front span{font-size:1.7rem;color:#9a5a40;rotate:-4deg}.sl-env-flap{position:absolute;inset:0;z-index:4;border-radius:8px;background:linear-gradient(180deg,#f6ead4,#dfc9a6);clip-path:polygon(0 0,100% 0,50% 58%);transform-origin:50% 0}.sl-part-flap{z-index:4;perspective:1200px}.sl-open .sl-part-flap{animation:env-out .8s ease-in 1.95s forwards,flap-z .8s .45s both}@keyframes flap-z{0%,50%{z-index:4}51%,to{z-index:1}}.sl-open .sl-env-flap{animation:flap-rot .8s var(--ease-inout) .45s both}@keyframes flap-rot{to{transform:rotateX(180deg);filter:brightness(.82)}}.sl-part-seal{z-index:5;pointer-events:none}.sl-part-seal .sl-seal{pointer-events:auto}.sl-seal{position:absolute;z-index:6;left:50%;top:58%;width:27%;aspect-ratio:1;margin:-13.5% 0 0 -13.5%;background:none;border:0;padding:0;cursor:pointer;border-radius:50%;animation:seal-throb 2s ease-in-out infinite;filter:drop-shadow(0 6px 8px rgba(80,0,20,.45))}@keyframes seal-throb{0%,to{transform:scale(1)}50%{transform:scale(1.07);filter:drop-shadow(0 0 18px rgba(214,51,78,.7))}}.sl-seal-half{position:absolute;inset:0}.sl-seal-l{clip-path:polygon(0 0,54% 0,44% 36%,56% 58%,46% 100%,0 100%)}.sl-seal-r{clip-path:polygon(54% 0,100% 0,100% 100%,46% 100%,56% 58%,44% 36%)}.sl-open .sl-seal{animation:none;cursor:default}.sl-open .sl-seal-l{animation:half-l 1s ease-in forwards}.sl-open .sl-seal-r{animation:half-r 1s ease-in forwards}@keyframes half-l{20%{transform:translate(-5px) rotate(-10deg)}to{transform:translate(-70px,65vh) rotate(-160deg);opacity:0}}@keyframes half-r{20%{transform:translate(5px) rotate(10deg)}to{transform:translate(70px,65vh) rotate(170deg);opacity:0}}.sl-sheet{position:absolute;left:5%;right:5%;top:calc(var(--sh) / 3);height:calc(var(--sh) / 3);z-index:2;transform-style:preserve-3d;transform:translateY(6%)}.sl-sealed .sl-sheet{visibility:hidden}.sl-open .sl-sheet{animation:sheet-out 1.9s var(--ease-inout) 1.05s both}@keyframes sheet-out{0%{transform:translateY(6%);z-index:2}45%{transform:translateY(-85%);z-index:2}46%{z-index:6}to{transform:translateY(0);z-index:6}}.sl-done .sl-sheet,.sl-writing .sl-sheet{transform:none;z-index:6}.sl-panel{position:absolute;left:0;right:0;height:100%;background:linear-gradient(90deg,transparent 1.15rem,rgba(214,51,78,.22) 1.15rem 1.25rem,transparent 1.25rem),linear-gradient(#fffdf7,#fbf2e1)}.sl-panel-mid{top:0;box-shadow:0 30px 50px -20px rgba(0,0,0,.6),inset 0 1px 0 rgba(0,0,0,.05),inset 0 -1px 0 rgba(0,0,0,.05)}.sl-panel-top{bottom:100%;transform-origin:50% 100%;transform:rotateX(-178deg);border-radius:3px 3px 0 0}.sl-panel-bot{top:100%;transform-origin:50% 0;transform:rotateX(178deg);border-radius:0 0 3px 3px;box-shadow:0 30px 50px -20px rgba(0,0,0,.6)}.sl-open .sl-panel-top{animation:unfold-top .85s var(--ease-out) 2.35s both}.sl-open .sl-panel-bot{animation:unfold-bot .85s var(--ease-out) 2.6s both}@keyframes unfold-top{0%{transform:rotateX(-178deg);filter:brightness(.94)}to{transform:rotateX(0)}}@keyframes unfold-bot{0%{transform:rotateX(178deg);filter:brightness(.9)}to{transform:rotateX(0)}}.sl-done .sl-panel-bot,.sl-done .sl-panel-top,.sl-writing .sl-panel-bot,.sl-writing .sl-panel-top{transform:none}.sl-text{position:absolute;left:0;right:0;top:-100%;bottom:-100%;z-index:3;padding:1.3rem 1.2rem 1.2rem 1.8rem;overflow-y:auto;font-family:var(--font-hand);font-size:clamp(1.12rem,4.6vw,1.32rem);line-height:1.5;color:hsl(var(--foreground));transform:translateZ(1px);cursor:pointer;scrollbar-width:thin}.sl-word{white-space:nowrap}.sl-ch,.sl-word{display:inline-block}.sl-ch{opacity:0;animation:ink .42s ease-out forwards}@keyframes ink{0%{opacity:0;filter:blur(3px);color:hsl(var(--primary));transform:translateY(2px) scale(1.35)}55%{opacity:1;filter:blur(0);color:hsl(var(--primary))}to{opacity:1;transform:none}}.sl-done .sl-ch{animation:none;opacity:1}.sl-sign{display:flex;flex-direction:column;align-items:flex-end;margin-top:.6rem}.sl-writing .sl-sign{display:none}.sl-done .sl-sign{animation:fade-up .8s var(--ease-out) backwards}.sl-swash{width:9rem;margin-top:-.2rem}.sl-swash path{stroke-dasharray:200;stroke-dashoffset:200;animation:dash-in .9s var(--ease-out) .4s forwards}.finale{overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.1rem;padding:3.8rem 1rem 5rem;background:radial-gradient(90% 55% at 50% 110%,#5a1f3f,transparent 70%),radial-gradient(60% 40% at 50% 0,#2a1240,transparent),#0e0614}.finale,.fn-canvas{position:absolute;inset:0}.fn-canvas{width:100%;height:100%;z-index:5;pointer-events:none}.fn-glitter span{position:absolute;border-radius:50%;background:#f6d77c;box-shadow:0 0 6px #f6d77c;animation:twinkle 2.2s ease-in-out infinite}.fn-card-wrap{--cw:min(80vw,330px,37vh);--ch:calc(var(--cw) * 0.78);--mx:0;--my:0;position:relative;z-index:2;flex-shrink:0;width:var(--cw);height:calc(var(--ch) * 2);perspective:1600px;cursor:pointer;animation:card-arrive 1.3s var(--ease-spring) .15s backwards;-webkit-tap-highlight-color:transparent}.fn-open .fn-card-wrap{cursor:default}@keyframes card-arrive{0%{transform:translateY(90vh) rotate(-16deg) scale(.8)}}.fn-card{position:absolute;inset:0;transform-style:preserve-3d;transform:translateY(calc(var(--ch) * -.5)) rotateX(calc(var(--my) * -7deg)) rotateY(calc(var(--mx) * 12deg));transition:transform 1.3s var(--ease-out)}.fn-open .fn-card{transform:translateY(0) rotateX(calc(9deg + var(--my) * -6deg)) rotateY(calc(var(--mx) * 9deg))}.fn-closed .fn-card{animation:card-wiggle 2.4s ease-in-out .5s infinite}@keyframes card-wiggle{0%,80%,to{rotate:0deg}85%{rotate:-2deg}90%{rotate:2deg}95%{rotate:-1deg}}.fn-inside{top:var(--ch);height:var(--ch);border-radius:3px 3px 10px 10px;background:radial-gradient(120% 90% at 50% 0,#fffdf8,#f5e8d2);box-shadow:0 34px 60px -24px rgba(0,0,0,.8);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:.8rem 1.1rem}.fn-inside,.fn-inside:before{position:absolute;left:0;right:0}.fn-inside:before{content:"";top:0;height:22px;background:linear-gradient(rgba(60,20,40,.14),transparent)}.fn-name{line-height:1.08;margin-bottom:.35rem;white-space:nowrap}.fn-name span{display:inline-block;padding:.04em .01em .1em;opacity:0}.fn-open .fn-name span{animation:name-stamp .75s var(--ease-spring) calc(1.5s + var(--i) * .07s) both,foil-sheen 7s linear infinite}@keyframes name-stamp{0%{opacity:0;transform:translateY(-.5em) scale(1.9) rotate(-10deg);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}.fn-line{opacity:0}.fn-open .fn-line{animation:fn-in .9s var(--ease-out) 2.3s forwards}.fn-open .fn-sign{animation-delay:2.75s}@keyframes fn-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.fn-cover{position:absolute;left:0;right:0;top:var(--ch);height:var(--ch);transform-origin:50% 0;transform-style:preserve-3d;transform:translateZ(1px) rotateX(0deg);transition:transform 1.7s cubic-bezier(.6,.05,.25,1)}.fn-open .fn-cover{transform:translateZ(1px) rotateX(180deg)}.fn-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden}.fn-front{border-radius:3px 3px 10px 10px;background:radial-gradient(rgba(232,180,76,.13) 1px,transparent 1.6px) 0 0 /14px 14px,radial-gradient(circle at 50% 40%,#3e1d48,#1a0920 75%);box-shadow:inset 0 0 0 7px #1d0b22,inset 0 0 0 8px rgba(232,180,76,.5),0 34px 60px -24px rgba(0,0,0,.85);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;overflow:hidden}.fn-corner{position:absolute;width:30px;height:30px;color:rgba(232,180,76,.75)}.fn-holo{position:absolute;inset:-50%;pointer-events:none;mix-blend-mode:color-dodge;opacity:.55;background:linear-gradient(115deg,transparent 30%,rgba(255,220,240,.35) 44%,rgba(185,166,232,.4) 50%,rgba(255,240,200,.35) 56%,transparent 70%);transform:translate(calc(var(--mx) * 18%),calc(var(--my) * 12%));animation:holo 5s ease-in-out infinite alternate}@keyframes holo{0%{translate:-18% -8%}to{translate:18% 8%}}.fn-back{transform:rotateX(180deg);transform-style:preserve-3d;border-radius:10px 10px 3px 3px;background:radial-gradient(rgba(214,51,78,.12) 1.5px,transparent 2px) 0 0 /18px 18px,radial-gradient(120% 90% at 50% 100%,#fffaf0,#f2e1c4)}.fn-back:after{content:"";position:absolute;left:0;right:0;bottom:0;height:22px;background:linear-gradient(transparent,rgba(60,20,40,.16))}.fn-pop{position:absolute;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform-origin:50% 100%;transform:translateZ(0) scaleY(0);transition:transform .9s var(--ease-spring);transition-delay:calc(1.05s + var(--k) * .14s)}.fn-open .fn-pop{transform:translateZ(var(--z)) scaleY(1)}.fn-bunting{left:0;top:0;width:100%;height:26%;transform-origin:50% 0}.fn-age{left:0;right:0;top:4%;text-align:center;font-family:var(--font-display);font-style:italic;font-weight:700;font-size:calc(var(--cw) * .3);line-height:1;color:rgba(232,180,76,.18);-webkit-text-stroke:1.5px #d9a441}.fn-papercake{left:17%;width:66%;bottom:3%;filter:drop-shadow(0 10px 8px rgba(80,20,40,.3))}.fn-stars{inset:0;width:100%;height:100%;transform-origin:50% 50%}.fn-flame{transform-box:fill-box;transform-origin:50% 100%;animation:flicker2 .6s ease-in-out infinite alternate}.fn-tap{position:absolute;left:50%;bottom:calc(var(--ch) * .5 - 3.9rem);translate:-50% 0;font-size:1.5rem;color:#f6d77c;white-space:nowrap;animation:blink 1.6s ease-in-out infinite;transition:opacity .4s}.fn-arrive .fn-tap,.fn-open .fn-tap{opacity:0}.fn-actions{position:relative;z-index:3;display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;opacity:0;transform:translateY(14px);pointer-events:none;transition:opacity .8s var(--ease-out) 3.3s,transform .8s var(--ease-out) 3.3s}.fn-open .fn-actions{opacity:1;transform:none;pointer-events:auto}.fn-actions .gp-chip{color:#fff}.fn-foot{position:absolute;left:0;right:0;bottom:2.6rem;z-index:3;display:flex;justify-content:center;gap:.6rem;font-size:.75rem;color:rgba(255,255,255,.55);opacity:0;transition:opacity .8s 3.8s}.fn-open .fn-foot{opacity:1}.fn-drawer{position:absolute;left:0;right:0;bottom:0;z-index:61;padding:1rem 1.5rem 2rem;border-radius:28px 28px 0 0;background:linear-gradient(#2a1438,#1a0b22);border-top:1px solid rgba(232,180,76,.3);animation:drawer-up .5s var(--ease-out) both}@keyframes drawer-up{0%{transform:translateY(100%)}}.fn-share{display:flex;flex-direction:column;align-items:center;gap:.5rem;font-size:.7rem;color:rgba(255,255,255,.75)}.fn-share span{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;color:#fff;background:var(--c);box-shadow:0 10px 20px -8px var(--c);transition:transform .35s var(--ease-spring)}.fn-share:hover span{transform:translateY(-4px) rotate(-6deg)}.sl-text{-webkit-mask-image:linear-gradient(180deg,#000 calc(100% - 3rem),transparent);mask-image:linear-gradient(180deg,#000 calc(100% - 3rem),transparent);padding-bottom:3rem}