:root{--ink:#fff;--muted:#ded3f7;--lavender:#c4a5ff;--pink:#f0a6e6;--purple:#6d28d9;--deep:#17052f}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;color:var(--ink);font-family:"DM Sans",sans-serif;background:radial-gradient(circle at 50% -10%,#8b5cf6 0,#5b21b6 28%,#35106f 58%,var(--deep) 100%);overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.16;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%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.25'/%3E%3C/svg%3E")}
.ambient{position:fixed;inset:0;overflow:hidden;pointer-events:none}.orb{position:absolute;border-radius:50%;filter:blur(3px);opacity:.35}.orb-one{width:420px;height:420px;background:#a855f7;top:-180px;left:-120px}.orb-two{width:320px;height:320px;background:#ec4899;right:-170px;top:34%}.orb-three{width:300px;height:300px;background:#7c3aed;left:10%;bottom:-180px}
header{position:absolute;z-index:5;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:24px clamp(22px,5vw,72px)}.mini-brand{color:white;text-decoration:none;font-weight:600;letter-spacing:.02em}.mini-brand span{display:inline-grid;place-items:center;width:34px;height:34px;margin-right:8px;border:1px solid #ffffff50;border-radius:50%;font-family:"Playfair Display",serif}.music-button{display:flex;align-items:center;gap:10px;border:1px solid #ffffff38;border-radius:999px;background:#ffffff12;backdrop-filter:blur(12px);color:white;padding:10px 16px;font:600 13px "DM Sans";cursor:pointer;transition:.25s}.music-button:hover{background:#ffffff24;transform:translateY(-2px)}.music-icon{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:white;color:#6d28d9;font-size:16px}.music-button.playing .music-icon{animation:pulse 1.2s infinite}
.hero{position:relative;z-index:1;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:120px 20px 70px}.eyebrow,.section-label{text-transform:uppercase;letter-spacing:.22em;font-size:11px;font-weight:700;color:#e9ddff}.eyebrow{display:flex;align-items:center;gap:12px}.eyebrow span{width:28px;height:1px;background:#d8b4fe}.gaelic{margin:30px 0 12px;font:italic 600 clamp(21px,3vw,32px) "Playfair Display",serif;color:#eadcff}.hero h1,.finale h2{margin:0;font:600 clamp(54px,9.2vw,116px)/.9 "Playfair Display",serif;letter-spacing:-.055em;text-shadow:0 12px 38px #1c073f55}.hero h1 em,.finale h2 em,.wish-copy h2 em{font-weight:600;background:linear-gradient(90deg,#fff,#e9c8ff 47%,#f8bde8);-webkit-background-clip:text;background-clip:text;color:transparent}.intro{max-width:630px;margin:30px auto 30px;color:var(--muted);font-size:17px;line-height:1.75}.primary,.secondary{border:0;border-radius:999px;cursor:pointer;font:700 14px "DM Sans";transition:.25s}.primary{padding:16px 24px;background:white;color:#54209e;box-shadow:0 14px 35px #1d073f55}.primary:hover{transform:translateY(-3px);box-shadow:0 18px 40px #1d073f77}.primary span{margin-left:8px}.scroll-note{position:absolute;bottom:24px;color:#cdbbea;font-size:11px;text-transform:uppercase;letter-spacing:.16em}.scroll-note span{display:block;margin-top:7px;font-size:18px;animation:bob 1.7s infinite}
.wish-section{position:relative;z-index:1;max-width:1120px;margin:0 auto;padding:130px clamp(24px,7vw,80px);display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:center}.wish-copy h2{font:600 clamp(42px,6vw,72px)/1.02 "Playfair Display",serif;letter-spacing:-.04em;margin:18px 0 26px}.wish-copy p{color:var(--muted);font-size:16px;line-height:1.8;max-width:560px}.cake-wrap{position:relative;height:390px;display:flex;flex-direction:column;align-items:center;justify-content:center;filter:drop-shadow(0 28px 35px #12032688)}.cake-body{position:relative;width:260px;height:145px;background:linear-gradient(90deg,#bd87ee,#ead0ff 48%,#aa68e5);border-radius:12px 12px 28px 28px;display:grid;place-items:center}.cake-body:before{content:"";position:absolute;top:14px;width:100%;height:18px;background:radial-gradient(circle at 14px 0,#fff 0 10px,transparent 11px) 0 0/28px 20px repeat-x;opacity:.7}.cake-body span{font:italic 600 66px "Playfair Display",serif;color:#6b21a8;text-shadow:0 2px #fff9}.cake-top{width:260px;height:28px;border-radius:50%;margin-bottom:-14px;z-index:2;background:linear-gradient(90deg,#d9b8fa,#fff 50%,#cf9ff5)}.cake-plate{width:320px;height:24px;margin-top:-5px;border-radius:50%;background:linear-gradient(90deg,#ab74de,#f2e6ff,#a45fd7)}.candles{display:flex;gap:38px;margin-bottom:2px}.candle{position:relative;width:13px;height:62px;border-radius:4px;background:repeating-linear-gradient(135deg,#fff 0 7px,#d89cf2 8px 14px)}.flame{position:absolute;width:17px;height:26px;left:-2px;top:-31px;border-radius:55% 45% 55% 45%;background:radial-gradient(circle at 50% 70%,#fff 0 16%,#fde68a 18% 48%,#f59e0b 60%,transparent 64%);filter:drop-shadow(0 0 10px #fcd34d);animation:flicker .8s ease-in-out infinite alternate;transform-origin:bottom}.sparkles i{position:absolute;font-style:normal;color:#f5d0fe;animation:twinkle 1.8s infinite}.sparkles i:nth-child(1){top:48px;left:10%}.sparkles i:nth-child(2){top:90px;right:4%;animation-delay:.4s}.sparkles i:nth-child(3){bottom:50px;right:14%;animation-delay:.8s}.sparkles i:nth-child(4){bottom:80px;left:3%;animation-delay:1.2s}
.message-section{position:relative;z-index:1;padding:90px 22px}.message-card{position:relative;max-width:880px;margin:auto;padding:clamp(45px,7vw,84px);text-align:center;border:1px solid #ffffff2e;border-radius:32px;background:linear-gradient(145deg,#ffffff18,#ffffff08);box-shadow:0 30px 100px #12032666;backdrop-filter:blur(20px)}.message-card:before{content:"";position:absolute;inset:10px;border:1px solid #ffffff12;border-radius:24px;pointer-events:none}.quote-mark{position:absolute;top:15px;left:50%;transform:translateX(-50%);font:italic 110px/1 "Playfair Display",serif;color:#d8b4fe35}.message-card>p{position:relative;margin:0 auto;max-width:700px;font:italic 600 clamp(26px,4vw,43px)/1.38 "Playfair Display",serif}.signature{margin-top:38px;display:flex;flex-direction:column;gap:5px;color:#d8c9ef}.signature strong{font:italic 600 28px "Playfair Display",serif;color:#f2d6ff}.finale{position:relative;z-index:1;text-align:center;padding:150px 22px 140px}.finale h2{font-size:clamp(54px,8vw,100px);margin:24px 0}.hearts{color:#e7c4ff;font-size:24px;margin:20px}.secondary{padding:14px 24px;background:transparent;color:white;border:1px solid #ffffff60}.secondary:hover{background:#fff;color:#5b21b6}footer{position:relative;z-index:1;text-align:center;padding:25px;color:#c7b3df;font-size:12px;border-top:1px solid #ffffff16}
.balloons span{position:fixed;z-index:0;bottom:-160px;left:var(--x);width:65px;height:82px;border-radius:50% 50% 48% 48%;background:linear-gradient(135deg,#ffffffaa,#c084fc 38%,#7e22ce);opacity:.28;transform:scale(var(--s));animation:floatUp 15s var(--d) infinite linear}.balloons span:after{content:"";position:absolute;top:79px;left:31px;width:1px;height:85px;background:#e9d5ff80}.balloons span:nth-child(even){background:linear-gradient(135deg,#ffffffaa,#f0abfc 38%,#a21caf);animation-duration:18s}
#confetti{position:fixed;inset:0;pointer-events:none;z-index:20;overflow:hidden}.confetti-piece{position:absolute;top:-20px;width:9px;height:15px;border-radius:2px;animation:confettiFall var(--fall,3s) ease-in forwards}
@keyframes floatUp{to{transform:translateY(calc(-100vh - 260px)) scale(var(--s)) rotate(12deg)}}@keyframes flicker{to{transform:rotate(5deg) scale(.92,1.08)}}@keyframes twinkle{50%{opacity:.25;transform:scale(.65)}}@keyframes bob{50%{transform:translateY(6px)}}@keyframes pulse{50%{box-shadow:0 0 0 7px #fff3}}@keyframes confettiFall{to{transform:translate(var(--drift),105vh) rotate(700deg);opacity:.8}}
@media(max-width:760px){header{padding:18px}.music-button{padding:8px 12px;font-size:12px}.wish-section{grid-template-columns:1fr;gap:30px;padding-top:80px;text-align:center}.cake-wrap{height:330px;transform:scale(.85)}.wish-copy p{margin-left:auto;margin-right:auto}.hero h1{font-size:clamp(50px,15vw,75px)}.gaelic{margin-top:24px}.intro{font-size:15px}.message-card>p{font-size:27px}.finale{padding-top:110px}.balloons span{opacity:.18}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.balloons,.sparkles{display:none}.flame,.music-button.playing .music-icon,.scroll-note span{animation:none}}

/* Refined editorial layout */
body{background:radial-gradient(circle at 78% 15%,#8d5ee9 0,transparent 26%),radial-gradient(circle at 8% 68%,#59229a 0,transparent 34%),linear-gradient(145deg,#250745 0%,#4b1689 48%,#1b052f 100%)}
header{position:fixed;background:linear-gradient(180deg,#21063fd9,transparent);transition:.25s}.mini-brand{font-family:"Playfair Display",serif;font-size:17px}.music-button{background:#21103fa8;border-color:#ffffff46;box-shadow:0 8px 30px #10021f40}
.hero{padding-left:clamp(24px,6vw,88px);padding-right:clamp(24px,6vw,88px);padding-bottom:130px}.hero-layout{width:min(1180px,100%);display:grid;grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr);align-items:center;gap:clamp(45px,7vw,110px)}.hero-copy{text-align:left}.hero .eyebrow{justify-content:flex-start}.hero .gaelic{margin:28px 0 12px}.hero h1{font-size:clamp(58px,7.7vw,108px);line-height:.92}.hero .intro{margin:28px 0 30px;max-width:590px}.birthday-seal{position:relative;justify-self:center;width:clamp(300px,31vw,410px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#ffffff22,#ffffff08);border:1px solid #ffffff3b;box-shadow:inset 0 0 0 12px #ffffff08,0 35px 100px #12002070}.birthday-seal:before,.birthday-seal:after{content:"";position:absolute;border-radius:50%;pointer-events:none}.birthday-seal:before{inset:24px;border:1px solid #ffffff28}.birthday-seal:after{inset:-16px;border:1px solid #e9d5ff1f}.seal-center{display:flex;flex-direction:column;align-items:center}.seal-center small{text-transform:uppercase;letter-spacing:.22em;font-size:11px;color:#e9dcff;font-weight:700}.seal-center strong{font:italic 600 clamp(105px,13vw,165px)/.82 "Playfair Display",serif;letter-spacing:-.08em;background:linear-gradient(155deg,#fff 20%,#e4c3ff 58%,#f2aee6);background-clip:text;-webkit-background-clip:text;color:transparent}.seal-orbit{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;padding:24px;color:#d8c4f6;font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;transform:rotate(-23deg)}.seal-orbit span:last-child{transform:rotate(180deg)}.occasion-strip{position:absolute;left:50%;bottom:42px;transform:translateX(-50%);width:min(880px,calc(100% - 48px));display:grid;grid-template-columns:repeat(3,1fr);padding:17px 10px;border-top:1px solid #ffffff2f;border-bottom:1px solid #ffffff2f;background:#ffffff08;backdrop-filter:blur(10px)}.occasion-strip div{display:flex;flex-direction:column;gap:3px;text-align:center;border-right:1px solid #ffffff24}.occasion-strip div:last-child{border:0}.occasion-strip span{color:#cdb8eb;font-size:10px;text-transform:uppercase;letter-spacing:.18em}.occasion-strip strong{font:600 14px "DM Sans",sans-serif}.scroll-note{display:none}
.wish-section{border-top:1px solid #ffffff12}.wish-copy{padding:10px 0}.wish-copy .section-label,.finale .section-label{display:inline-block;padding:7px 10px;border:1px solid #ffffff29;border-radius:999px;background:#ffffff09}.message-section{padding-top:120px;padding-bottom:120px}.message-card{border-radius:18px;background:linear-gradient(145deg,#4d2180cc,#2a104fdd);box-shadow:0 40px 100px #11022180,inset 0 1px #ffffff20}.card-kicker{position:relative;margin-bottom:38px;color:#d9c1f5;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.22em}.message-card>p{font-size:clamp(25px,3.5vw,39px);line-height:1.46}.quote-mark{top:48px}.signature{border-top:1px solid #ffffff24;padding-top:28px;max-width:290px;margin-left:auto;margin-right:auto}.finale:before{content:"";display:block;width:1px;height:70px;margin:0 auto 70px;background:linear-gradient(transparent,#e8d5ff)}
@media(max-width:850px){.hero{padding-top:125px;min-height:auto}.hero-layout{grid-template-columns:1fr;text-align:center}.hero-copy{text-align:center}.hero .eyebrow{justify-content:center}.hero .intro{margin-left:auto;margin-right:auto}.birthday-seal{width:min(330px,80vw)}.occasion-strip{position:relative;left:auto;bottom:auto;transform:none;margin-top:65px}.wish-section{padding-top:100px}}
@media(max-width:560px){header{background:#21063fda;backdrop-filter:blur(12px)}.mini-brand{font-size:13px;white-space:nowrap}.mini-brand span{font-size:12px;margin-right:5px}.hero{padding:110px 18px 70px}.hero-layout{gap:52px}.hero h1{font-size:clamp(46px,14.7vw,68px)}.hero .gaelic{font-size:21px}.birthday-seal{width:min(285px,78vw)}.seal-center strong{font-size:112px}.occasion-strip{width:100%;grid-template-columns:1fr;margin-top:58px}.occasion-strip div{padding:10px;border-right:0;border-bottom:1px solid #ffffff1f}.occasion-strip div:last-child{border:0}.wish-section{padding-top:75px}.message-section{padding-top:70px;padding-bottom:70px}.message-card{border-radius:16px}.card-kicker{margin-bottom:28px}}

/* Premium purple atmosphere and motion */
:root{--violet-bright:#b995ff;--violet-rich:#7c3aed;--violet-deep:#2b0754;--magenta:#e879f9}
body{background:#160225;background-image:radial-gradient(circle at 72% 12%,#8b5cf688 0,transparent 26%),radial-gradient(circle at 14% 48%,#6d28d980 0,transparent 32%),radial-gradient(circle at 75% 82%,#a21caf55 0,transparent 30%),linear-gradient(145deg,#19022f 0%,#411077 48%,#160225 100%);background-attachment:fixed}
.ambient:before{content:"";position:absolute;inset:0;opacity:.38;background-image:radial-gradient(circle,#fff 0 1px,transparent 1.6px),radial-gradient(circle,#e9d5ff 0 1px,transparent 1.8px);background-position:0 0,38px 46px;background-size:96px 96px,130px 130px;mask-image:linear-gradient(to bottom,#000,transparent 88%);animation:starDrift 30s linear infinite}.ambient:after{content:"";position:absolute;width:58vw;height:58vw;right:-12vw;top:-20vw;border-radius:50%;background:conic-gradient(from 90deg,#c084fc00,#c084fc40,#ec489930,#8b5cf640,#c084fc00);filter:blur(55px);animation:auroraSpin 22s linear infinite}.orb{mix-blend-mode:screen;filter:blur(35px)}.orb-one{background:#9f67ff;animation:orbFloat 11s ease-in-out infinite}.orb-two{background:#e056d7;animation:orbFloat 14s ease-in-out -4s infinite}.orb-three{background:#7c3aed;animation:orbFloat 13s ease-in-out -7s infinite}.light-beam{position:absolute;width:1px;height:60vh;top:8%;background:linear-gradient(transparent,#e9d5ff88,transparent);box-shadow:0 0 20px #d8b4fe;transform:rotate(28deg);opacity:.3}.beam-one{left:18%;animation:beamPulse 5s ease-in-out infinite}.beam-two{right:24%;transform:rotate(-24deg);animation:beamPulse 6s ease-in-out -2s infinite}
.hero h1 em{background-image:linear-gradient(100deg,#fff 5%,#d8b4fe 32%,#f5c2ff 48%,#b89bff 66%,#fff 95%);background-size:220% auto;animation:textShimmer 7s linear infinite}.gaelic{filter:drop-shadow(0 0 16px #d8b4fe4d)}.eyebrow span{box-shadow:0 0 14px #d8b4fe}
.birthday-seal{background:radial-gradient(circle at 37% 28%,#ffffff2e,#a855f715 50%,#3b076455);border-color:#e9d5ff66;box-shadow:inset 0 0 50px #c084fc18,inset 0 0 0 12px #ffffff08,0 0 90px #a855f738,0 35px 100px #12002070;transition:transform .22s ease,box-shadow .4s ease;will-change:transform}.birthday-seal:hover{box-shadow:inset 0 0 65px #d8b4fe25,inset 0 0 0 12px #ffffff0c,0 0 120px #c084fc50,0 35px 100px #12002070}.birthday-seal:after{border-style:dashed;border-color:#e9d5ff45;animation:slowSpin 28s linear infinite}.seal-orbit{animation:reverseSpin 35s linear infinite}.seal-orbit span:last-child{transform:rotate(180deg)}.seal-center strong{filter:drop-shadow(0 5px 22px #e879f944)}
.primary{position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(110deg,#fff,#ecddff 55%,#fff);box-shadow:0 14px 42px #b65cff38,0 0 0 1px #ffffff88}.primary:hover{box-shadow:0 20px 52px #c65dff58,0 0 0 1px #fff}.primary .button-glow{position:absolute;inset:-2px;z-index:-1;background:linear-gradient(100deg,transparent 25%,#ffffffd9 48%,transparent 70%);transform:translateX(-130%);animation:buttonSweep 4.5s ease-in-out infinite}.primary b{margin-left:8px;font-weight:400}.occasion-strip{border-color:#d8b4fe38;background:linear-gradient(90deg,#ffffff08,#c084fc12,#ffffff08);box-shadow:0 15px 50px #10021d35}
.cake-wrap{transition:transform .35s ease}.cake-wrap:hover{transform:translateY(-6px)}.cake-body{box-shadow:inset 0 2px #fff8,0 18px 35px #16012660}.flame{filter:drop-shadow(0 0 13px #fcd34d)}
.message-card{overflow:hidden}.message-card:after{content:"";position:absolute;width:360px;height:360px;right:-220px;top:-220px;border-radius:50%;background:#c084fc25;filter:blur(12px);transition:.6s}.message-card:hover:after{transform:scale(1.3);background:#e879f92a}.message-card>p,.signature,.card-kicker{z-index:1}.secondary{background:#ffffff08;box-shadow:inset 0 1px #ffffff18}.secondary:hover{box-shadow:0 12px 35px #a855f74d}
.confetti-piece{box-shadow:0 0 8px currentColor}
@keyframes starDrift{to{background-position:96px 96px,168px 176px}}@keyframes auroraSpin{to{transform:rotate(360deg)}}@keyframes orbFloat{50%{transform:translate3d(25px,-34px,0) scale(1.08)}}@keyframes beamPulse{50%{opacity:.12;filter:blur(2px)}}@keyframes textShimmer{to{background-position:220% center}}@keyframes slowSpin{to{transform:rotate(360deg)}}@keyframes reverseSpin{to{transform:rotate(-360deg)}}@keyframes buttonSweep{0%,55%{transform:translateX(-130%)}85%,100%{transform:translateX(130%)}}
@media(prefers-reduced-motion:reduce){.ambient:before,.ambient:after,.orb,.light-beam,.hero h1 em,.birthday-seal:after,.seal-orbit,.primary .button-glow{animation:none}.birthday-seal{transform:none!important}}

/* Clean birthday medallion */
.birthday-seal{overflow:hidden;background:radial-gradient(circle at 50% 34%,#9f7aea35,transparent 40%),linear-gradient(150deg,#5d2994e6,#2e105de8);box-shadow:inset 0 0 0 1px #fff1,inset 0 0 70px #d8b4fe18,0 0 0 14px #ffffff07,0 32px 90px #12002065}.birthday-seal:before{inset:18px;border-color:#ffffff22}.birthday-seal:after{inset:34px;border-style:solid;border-color:#ffffff1c;animation:none}.seal-center{position:relative;z-index:2}.seal-center strong{font-style:normal;font-size:clamp(112px,13vw,165px);line-height:.78;letter-spacing:-.065em}.seal-center small{font-size:11px;letter-spacing:.25em}.seal-rule{width:54px;height:1px;margin:20px 0 16px;background:linear-gradient(90deg,transparent,#e9d5ff,transparent)}.seal-name{position:absolute;z-index:2;bottom:23px;left:50%;transform:translateX(-50%);font:italic 600 19px "Playfair Display",serif;color:#eadcff}.seal-stars{position:absolute;z-index:2;top:25px;left:50%;width:54%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;color:#dec6ff;font-size:10px}.seal-stars span{height:1px;flex:1;background:linear-gradient(90deg,transparent,#ffffff65,transparent)}
.primary .button-glow{margin-left:0}.message-card>p,.signature,.card-kicker{position:relative}.hero-copy{position:relative;z-index:2}
@media(max-width:850px){.hero{padding-top:140px}.birthday-seal{transform:none!important}.occasion-strip{border-radius:14px;overflow:hidden}}
@media(max-width:560px){.hero{padding-top:125px}.birthday-seal{width:min(270px,76vw)}.seal-center strong{font-size:108px}.seal-name{bottom:20px}.occasion-strip{margin-top:44px}.hero-layout{gap:46px}}
.mini-brand span{display:inline;color:#d8b4fe;width:auto;height:auto;margin-right:7px;border:0;border-radius:0}.mini-brand{display:flex;align-items:center}

/* Candle wish interaction */
.candle:before{content:"";position:absolute;z-index:2;top:-5px;left:5px;width:3px;height:8px;border-radius:3px;background:#352047}.candle:after{content:"";position:absolute;z-index:4;left:4px;top:-20px;width:8px;height:18px;border-radius:50%;border-left:2px solid #e9d5ff;opacity:0;filter:blur(.3px)}.cake-wrap.wish-made .flame{animation:blowOut .45s ease-out forwards}.cake-wrap.wish-made .candle:after{animation:smokeRise 1.9s .2s ease-out forwards}.cake-wrap.wish-made .candle:nth-child(2):after{animation-delay:.35s}.cake-wrap.wish-made .candle:nth-child(3):after{animation-delay:.5s}.wish-confirmation{position:absolute;bottom:-8px;left:50%;width:max-content;max-width:90%;transform:translate(-50%,12px);padding:10px 16px;border:1px solid #ffffff2e;border-radius:999px;background:#2f0c59cc;color:#eadcff;font-size:12px;font-weight:700;letter-spacing:.04em;opacity:0;box-shadow:0 12px 30px #10021f50;transition:opacity .45s 1s ease,transform .45s 1s ease}.cake-wrap.wish-made .wish-confirmation{opacity:1;transform:translate(-50%,0)}.primary.wish-complete{pointer-events:none;background:#eee6f7;color:#6d4a8e;box-shadow:none}
@keyframes blowOut{0%{opacity:1;transform:scale(1)}45%{transform:translateX(12px) scale(.65) rotate(35deg);opacity:.65}100%{transform:translateX(18px) scale(.1);opacity:0}}@keyframes smokeRise{0%{opacity:0;transform:translate(0,5px) scale(.6)}25%{opacity:.7}100%{opacity:0;transform:translate(10px,-35px) scale(1.8)}}
.primary.wish-pending{pointer-events:none;opacity:.82}
