.am-birthday{background:radial-gradient(circle at 50% 20%, var(--color-surface-alt), var(--color-bg));justify-content:center;align-items:center;min-height:100dvh;padding:32px;display:flex;position:relative;overflow:hidden}.am-birthday-card{z-index:3;text-align:center;max-width:560px;animation:1s both amrise;position:relative}.am-birthday-emojis{margin:0 0 8px;font-size:34px;line-height:1;animation:2.2s ease-in-out infinite am-bounce}.am-birthday-emojis span,.am-birthday-emojis{display:inline-block}.am-birthday-eyebrow{letter-spacing:.3em;text-transform:uppercase;color:var(--color-gold);margin:0 0 18px;font-size:13px;font-weight:600}.am-birthday-title{font-family:var(--font-display);color:var(--color-text);margin:0 0 22px;font-size:clamp(40px,7vw,76px);font-style:italic;font-weight:500;line-height:1.08;animation:.9s cubic-bezier(.2,.8,.2,1) .15s both am-pop-in}.am-birthday-text{color:var(--color-muted);margin:0 0 36px;font-size:17px;line-height:1.6}.am-birthday button.am-cta{cursor:pointer;font-family:var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:#fbf7ef;background:var(--color-gold);border:none;border-radius:2px;justify-content:center;align-items:center;gap:8px;min-width:260px;padding:16px 28px;font-size:12px;text-decoration:none;animation:2.6s ease-in-out infinite am-cta-glow;display:inline-flex}.am-music-toggle{border:1px solid var(--color-border-strong);background:var(--color-surface);width:fit-content;color:var(--color-muted);font-family:var(--font-body);letter-spacing:.08em;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;margin:32px auto 0;padding:10px 16px;font-size:12px;display:flex;box-shadow:0 8px 20px #2d26201f}.am-music-toggle[aria-pressed=true]{background:var(--color-sage);color:#fbf7ef;border-color:var(--color-sage)}.am-yt-player{width:1px;height:1px;position:fixed;left:-9999px;overflow:hidden}.am-confetti,.am-balloons{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.am-confetti-piece{opacity:.95;width:9px;height:14px;animation-name:am-confetti-fall;animation-timing-function:linear;animation-iteration-count:infinite;position:absolute;top:-20px}.am-confetti-piece.is-ribbon{border-radius:3px;width:5px;height:26px;animation-name:am-ribbon-fall}.am-confetti-piece.is-burst{animation-name:am-confetti-burst;animation-timing-function:cubic-bezier(.2,.8,.2,1);animation-iteration-count:1}.am-balloon{opacity:.85;border-radius:50%/58% 58% 42% 42%;width:54px;height:66px;animation-name:am-balloon-float;animation-timing-function:ease-in-out;animation-iteration-count:infinite;position:absolute;bottom:-140px}.am-balloon:before{content:"";background:inherit;clip-path:polygon(50% 100%,0 0,100% 0);width:6px;height:6px;position:absolute;bottom:-1px;left:50%;transform:translate(-50%)}.am-balloon:after{content:"";background:var(--color-faint);opacity:.6;width:1px;height:90px;position:absolute;top:100%;left:50%}@keyframes am-confetti-fall{0%{transform:translateY(-10vh)translate(0)rotate(0)}50%{transform:translateY(50vh)translate(24px)rotate(270deg)}to{transform:translateY(110vh)translate(-12px)rotate(540deg)}}@keyframes am-ribbon-fall{0%{transform:translateY(-10vh)rotate(0)scaleY(1)}50%{transform:translateY(50vh)rotate(180deg)scaleY(.9)}to{transform:translateY(110vh)rotate(360deg)scaleY(1)}}@keyframes am-confetti-burst{0%{opacity:1;transform:translate(0)rotate(0)}to{transform:translate(var(--am-burst-x), var(--am-burst-y)) rotate(720deg);opacity:0}}@keyframes am-balloon-float{0%{transform:translateY(0)translate(0)rotate(-3deg)}50%{transform:translateY(-60vh)translate(30px)rotate(3deg)}to{transform:translateY(-130vh)translate(-20px)rotate(-3deg)}}@keyframes am-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes am-pop-in{0%{opacity:0;transform:scale(.7)}70%{opacity:1;transform:scale(1.05)}to{transform:scale(1)}}@keyframes am-cta-glow{0%,to{box-shadow:0 0 #b89a5759}50%{box-shadow:0 0 0 10px #b89a5700}}@media (prefers-reduced-motion:reduce){.am-confetti-piece,.am-balloon,.am-birthday-emojis,.am-birthday-title,.am-birthday button.am-cta{animation:none!important}}
