/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-pan-x:initial;--tw-pan-y:initial;--tw-pinch-zoom:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--text-7xl:4.5rem;--text-7xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--tracking-wide:.025em;--leading-relaxed:1.625;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.z-10{z-index:10}.z-20{z-index:20}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.my-auto{margin-block:auto}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.block{display:block}.flex{display:flex}.hidden{display:none}.h-full{height:100%}.h-svh{height:100svh}.max-h-full{max-height:100%}.min-h-6{min-height:calc(var(--spacing) * 6)}.min-h-\[7rem\]{min-height:7rem}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-md{max-width:var(--container-md)}.max-w-xl{max-width:var(--container-xl)}.shrink-0{flex-shrink:0}.touch-pan-y{--tw-pan-y:pan-y;touch-action:var(--tw-pan-x,) var(--tw-pan-y,) var(--tw-pinch-zoom,)}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-none{overscroll-behavior:none}.rounded-\[2rem\]{border-radius:2rem}.border{border-style:var(--tw-border-style);border-width:1px}.object-contain{object-fit:contain}.p-6{padding:calc(var(--spacing) * 6)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-4{padding-block:calc(var(--spacing) * 4)}.pt-24{padding-top:calc(var(--spacing) * 24)}.text-center{text-align:center}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.2em\]{--tw-tracking:.2em;letter-spacing:.2em}.tracking-\[0\.3em\]{--tw-tracking:.3em;letter-spacing:.3em}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.whitespace-pre-line{white-space:pre-line}.text-white{color:var(--color-white)}.text-white\/40{color:#fff6}@supports (color:color-mix(in lab, red, red)){.text-white\/40{color:color-mix(in oklab, var(--color-white) 40%, transparent)}}.text-white\/45{color:#ffffff73}@supports (color:color-mix(in lab, red, red)){.text-white\/45{color:color-mix(in oklab, var(--color-white) 45%, transparent)}}.text-white\/50{color:#ffffff80}@supports (color:color-mix(in lab, red, red)){.text-white\/50{color:color-mix(in oklab, var(--color-white) 50%, transparent)}}.text-white\/55{color:#ffffff8c}@supports (color:color-mix(in lab, red, red)){.text-white\/55{color:color-mix(in oklab, var(--color-white) 55%, transparent)}}.text-white\/60{color:#fff9}@supports (color:color-mix(in lab, red, red)){.text-white\/60{color:color-mix(in oklab, var(--color-white) 60%, transparent)}}.text-white\/70{color:#ffffffb3}@supports (color:color-mix(in lab, red, red)){.text-white\/70{color:color-mix(in oklab, var(--color-white) 70%, transparent)}}.text-white\/90{color:#ffffffe6}@supports (color:color-mix(in lab, red, red)){.text-white\/90{color:color-mix(in oklab, var(--color-white) 90%, transparent)}}.uppercase{text-transform:uppercase}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (width>=40rem){.sm\:mt-3{margin-top:calc(var(--spacing) * 3)}.sm\:mt-7{margin-top:calc(var(--spacing) * 7)}.sm\:mt-10{margin-top:calc(var(--spacing) * 10)}.sm\:mt-14{margin-top:calc(var(--spacing) * 14)}.sm\:mb-3{margin-bottom:calc(var(--spacing) * 3)}.sm\:mb-4{margin-bottom:calc(var(--spacing) * 4)}.sm\:mb-8{margin-bottom:calc(var(--spacing) * 8)}.sm\:min-h-8{min-height:calc(var(--spacing) * 8)}.sm\:min-h-\[8rem\]{min-height:8rem}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:pt-28{padding-top:calc(var(--spacing) * 28)}.sm\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.sm\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.sm\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.sm\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.sm\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.sm\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}@media (width>=48rem){.md\:mb-5{margin-bottom:calc(var(--spacing) * 5)}.md\:mb-6{margin-bottom:calc(var(--spacing) * 6)}.md\:min-h-\[10rem\]{min-height:10rem}.md\:p-8{padding:calc(var(--spacing) * 8)}.md\:pt-32{padding-top:calc(var(--spacing) * 32)}.md\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.md\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.md\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.md\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.md\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}@media (width>=64rem){.lg\:mb-6{margin-bottom:calc(var(--spacing) * 6)}.lg\:min-h-\[11rem\]{min-height:11rem}.lg\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.lg\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.lg\:text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--line-height))}}}:root{--color-primary:#e59ab0;--color-secondary:#a78bfa;--color-accent:#f6c56f;--color-bg:#110d17;--color-surface:#1c1624;--color-text:#fff8fb;--color-text-soft:#cbbecb;--gradient-primary:linear-gradient(135deg, var(--color-primary), var(--color-accent));--gradient-background:radial-gradient(circle at 15% 20%, #e59ab038, transparent 35%), radial-gradient(circle at 85% 25%, #a78bfa33, transparent 38%), radial-gradient(circle at 50% 90%, #f6c56f1f, transparent 35%), var(--color-bg);--shadow-soft:0 20px 60px #0000004d;--shadow-glow:0 0 50px #e59ab073;--font-title:"Cormorant Garamond", serif;--font-body:"Inter", sans-serif}html,body{overscroll-behavior:none;width:100%;min-height:100%;margin:0}body{background:var(--gradient-background);color:var(--color-text);font-family:var(--font-body);overflow:hidden}.font-title{font-family:var(--font-title)}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-soft)}.glass-card{backdrop-filter:blur(10px);box-shadow:var(--shadow-soft);background:#ffffff6b}@media (width<=640px){.glass-card{backdrop-filter:blur(8px)}}.ambient-background{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.ambient{filter:blur(48px);opacity:.42;will-change:transform;border-radius:9999px;width:clamp(22rem,55vw,58rem);height:clamp(22rem,55vw,58rem);margin-top:clamp(-29rem,-27.5vw,-11rem);margin-left:clamp(-29rem,-27.5vw,-11rem);position:absolute;top:0;left:0}.ambient-1{background:var(--color-primary);animation:28s ease-in-out infinite alternate ambientOne}.ambient-2{background:var(--color-secondary);animation:32s ease-in-out -8s infinite alternate ambientTwo}.ambient-3{background:var(--color-accent);animation:36s ease-in-out -18s infinite alternate ambientThree}@keyframes ambientOne{0%{transform:translate(5vw,20vh)scale(1)}50%{transform:translate(50vw,45vh)scale(1.2)}to{transform:translate(95vw,25vh)scale(1.05)}}@keyframes ambientTwo{0%{transform:translate(95vw,55vh)scale(1.15)}50%{transform:translate(50vw,20vh)scale(.95)}to{transform:translate(5vw,60vh)scale(1.1)}}@keyframes ambientThree{0%{transform:translate(10vw,85vh)scale(1)}50%{transform:translate(50vw,60vh)scale(1.2)}to{transform:translate(90vw,80vh)scale(1.05)}}@media (prefers-reduced-motion:reduce){.ambient{will-change:auto;animation:none}.ambient-1{transform:translate(15vw,20vh)}.ambient-2{transform:translate(85vw,35vh)}.ambient-3{transform:translate(50vw,85vh)}}.confetti-background{pointer-events:none;z-index:1;width:100%;height:100%;position:fixed;inset:0;overflow:hidden}.fireworks-container{pointer-events:none;z-index:30;width:100%;height:100%;position:absolute;inset:0}.ufo-layer{pointer-events:none;z-index:25;position:fixed;inset:0;overflow:hidden}.ufo{opacity:0;will-change:transform, opacity;width:120px;height:120px;position:absolute}.ufo-canvas{width:100%;height:100%;display:block}.birthday-popper{aspect-ratio:933/390;pointer-events:none;width:clamp(7rem,30vw,10rem);height:auto;position:absolute;top:clamp(.5rem,8vh,3rem)}.birthday-popper-left{left:clamp(.25rem,2vw,2rem)}.birthday-popper-right{right:clamp(.25rem,2vw,2rem);transform:scaleX(-1)}@media (width>=640px){.birthday-popper{width:clamp(8rem,22vw,12rem);top:clamp(.75rem,14vh,5rem)}}@media (width>=768px){.birthday-popper{width:clamp(9rem,18vw,14rem);top:clamp(1rem,16vh,6rem)}}@media (width>=1024px){.birthday-popper{width:clamp(200px,18vw,240px)}}.ufo-1{width:clamp(70px,18vw,140px);height:clamp(70px,18vw,140px);top:55%;left:0}.ufo-layer.is-active .ufo-1{animation:15s linear forwards ufoPathOne}@keyframes ufoPathOne{0%{opacity:0;transform:translate(-180px,15vh)rotate(-8deg)scale(.9)}8%{opacity:1}30%{transform:translate(30vw,-12vh)rotate(4deg)scale(1)}55%{transform:translate(62vw,-4vh)rotate(-3deg)scale(1.05)}92%{opacity:1}to{opacity:1;transform:translate(130vw,-45vh)rotate(8deg)scale(.85)}}.ufo-2{width:clamp(50px,14vw,90px);height:clamp(50px,14vw,90px);top:10%;right:0}.ufo-layer.is-active .ufo-2{animation:17s linear 1.4s forwards ufoPathTwo}@keyframes ufoPathTwo{0%{opacity:0;transform:translate(140px)rotate(6deg)scale(.65)}10%{opacity:.7}35%{transform:translate(-30vw,18vh)rotate(-4deg)scale(.75)}65%{transform:translate(-65vw,8vh)rotate(4deg)scale(.65)}92%{opacity:.7}to{opacity:.7;transform:translate(-130vw,40vh)rotate(-8deg)scale(.55)}}.ufo-3{width:clamp(60px,16vw,110px);height:clamp(60px,16vw,110px);bottom:-140px;left:20%}.ufo-layer.is-active .ufo-3{animation:16s ease-in-out 2.8s forwards ufoPathThree}@keyframes ufoPathThree{0%{opacity:0;transform:translateY(120px)rotate(-5deg)scale(.7)}12%{opacity:.85}35%{transform:translate(18vw,-35vh)rotate(5deg)scale(.85)}60%{transform:translate(48vw,-62vh)rotate(-3deg)scale(1)}92%{opacity:.85}to{opacity:.85;transform:translate(90vw,-130vh)rotate(8deg)scale(.6)}}.ufo-4{z-index:2;width:clamp(90px,22vw,180px);height:clamp(90px,22vw,180px);top:50%;left:50%}.ufo-layer.is-active .ufo-4{animation:18s ease-in-out 4.2s forwards ufoPathFour}@keyframes ufoPathFour{0%{opacity:0;transform:translate(-58vw,-20vh)rotate(-6deg)scale(.55)}8%{opacity:.9}25%{transform:translate(30vw,-28vh)rotate(5deg)scale(.75)}45%{transform:translate(34vw,16vh)rotate(-4deg)scale(.9)}62%{transform:translate(-10vw,22vh)rotate(3deg)scale(.95)}78%{transform:translate(-4vw,-12vh)rotate(-2deg)scale(1)}84%,90%{opacity:.9;transform:translate(-90px,-18vh)rotate(0)scale(1)}to{opacity:.9;transform:translate(55vw,-75vh)rotate(6deg)scale(.8)}}.ufo-5{width:clamp(55px,12vw,100px);height:clamp(55px,12vw,100px);top:38%;left:0}.ufo-layer.is-active .ufo-5{animation:15s linear 6s forwards ufoPathOne}.ufo-6{width:clamp(45px,11vw,80px);height:clamp(45px,11vw,80px);top:22%;right:0}.ufo-layer.is-active .ufo-6{animation:17s linear 7.5s forwards ufoPathTwo}.ufo-7{width:clamp(50px,13vw,95px);height:clamp(50px,13vw,95px);bottom:-120px;left:8%}.ufo-layer.is-active .ufo-7{animation:16s ease-in-out 8.5s forwards ufoPathThree}.ufo-8{width:clamp(60px,15vw,120px);height:clamp(60px,15vw,120px);top:30%;left:50%}.ufo-layer.is-active .ufo-8{animation:18s ease-in-out 9.5s forwards ufoPathFour}.scene{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .85s,transform .85s,visibility .85s;transform:translateY(18px)scale(.985)}.scene-active{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)scale(1)}.scene-exit{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-18px)scale(1.015)}.birthday-content{opacity:0;will-change:opacity, transform;transform:translateY(28px)scale(.97)}.scene-active .birthday-content{animation:11.5s ease-out forwards birthdayContentReveal}@keyframes birthdayContentReveal{0%{opacity:0;transform:translateY(28px)scale(.97)}10%{opacity:.15}30%{opacity:.55;transform:translateY(14px)scale(.985)}60%{opacity:.88;transform:translateY(5px)scale(.995)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.scene-active .birthday-content{animation:none}.birthday-content{opacity:1;will-change:auto;transform:none}}.gift-button{cursor:pointer;background:0 0;border:0;width:220px;height:220px;padding:0;transition:transform .35s,filter .35s;position:relative}.gift-image{z-index:2;object-fit:contain;filter:drop-shadow(0 20px 35px #0006);width:100%;height:100%;transition:transform .35s;animation:3s ease-in-out infinite giftFloat;position:relative}.gift-glow{z-index:1;background:var(--color-primary);opacity:.35;filter:blur(24px);border-radius:9999px;transition:opacity .35s,transform .35s;position:absolute;inset:20%}.gift-button:hover{transform:translateY(-8px)scale(1.04)}.gift-button:hover .gift-image{transform:rotate(-3deg)scale(1.04)}.gift-button:hover .gift-glow{opacity:.65;transform:scale(1.25)}.gift-opening{animation:.8s forwards giftOpening}.gift-opening .gift-image{animation:none}@keyframes giftFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes giftOpening{0%{transform:scale(1)}35%{transform:scale(.9)rotate(-5deg)}60%{transform:scale(1.15)rotate(4deg)}to{opacity:0;transform:scale(1.8)}}.gift-shake{animation:giftShake var(--gift-shake-duration,.45s) ease}@keyframes giftShake{0%,to{transform:translate(0)rotate(0)}25%{transform:translate3d(calc(var(--gift-shake-x,6px) * -1), 0, 0) rotate(calc(var(--gift-shake-r,2deg) * -1))}75%{transform:translate3d(var(--gift-shake-x,6px), 0, 0) rotate(var(--gift-shake-r,2deg))}}.flash-overlay{z-index:60;pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 55%,#fffffff5,#ffebcdb8 35%,#0000 70%);position:absolute;inset:0}.flash-active{animation:.8s ease-out forwards flashBurst}@keyframes flashBurst{0%{opacity:0}15%{opacity:.95}to{opacity:0}}@media (prefers-reduced-motion:reduce){.gift-shake,.gift-opening,.gift-opening .gift-image,.flash-active{animation:none!important}.flash-overlay{opacity:0}.ufo-layer{display:none}}.message-wrapper{opacity:0;transition:opacity .9s,transform .9s;transform:translateY(24px)scale(.98)}.scene-active .message-wrapper{opacity:1;transform:translateY(0)scale(1)}.message-media{opacity:0;width:clamp(11rem,52vw,14rem);height:clamp(11rem,52vw,14rem);transition:opacity .8s .15s,transform .8s .15s;transform:translateY(-15px)scale(.9)}@media (width>=768px){.message-media{width:clamp(13.75rem,24vw,16.25rem);height:clamp(13.75rem,24vw,16.25rem)}}@media (width>=1024px){.message-media{width:clamp(16.25rem,28vw,20rem);height:clamp(16.25rem,28vw,20rem)}}.scene-active .message-media{opacity:1;transform:translateY(0)scale(1)}.message-title{opacity:0;transition:opacity .8s .35s,transform .8s .35s;transform:translateY(15px)}.scene-active .message-title{opacity:1;transform:translateY(0)}.typing-text,.typing-attribution{position:relative}.typing-text.is-typing:after,.typing-attribution.is-typing:after{content:"";vertical-align:-.1em;background:var(--color-primary);width:2px;height:1em;margin-left:5px;animation:.8s step-end infinite typingCursor;display:inline-block}@keyframes typingCursor{0%,50%{opacity:1}51%,to{opacity:0}}.message-next-arrow{animation:1.6s ease-in-out infinite messageArrow;display:inline-block}@keyframes messageArrow{0%,to{opacity:.45;transform:translateY(0)}50%{opacity:1;transform:translateY(6px)}}.scene-navigation{bottom:max(1.5rem, env(safe-area-inset-bottom));z-index:60;opacity:0;pointer-events:none;transition:opacity .5s,transform .5s;position:fixed;left:50%;transform:translate(-50%)translateY(10px)}.scene-navigation.navigation-visible{opacity:1;transform:translate(-50%)translateY(0)}.scene-indicator{background:#ffffff4d;border-radius:9999px;width:6px;height:6px;transition:width .4s,background .4s;display:block}.scene-indicator.indicator-active{background:var(--color-primary);width:24px}.message-continue{opacity:0;pointer-events:none;transition:opacity .5s,transform .5s;transform:translateY(8px)}.message-scene.typing-complete .message-continue{opacity:1;pointer-events:auto;transform:translateY(0)}.music-player{background:linear-gradient(145deg,#1c1624a6,#110d17b8);border:1px solid #e59ab029}.music-cover-wrapper{width:190px;height:190px;position:relative}.music-cover{z-index:2;object-fit:cover;border-radius:9999px;width:100%;height:100%;transition:transform .4s;position:relative;box-shadow:0 20px 50px #0006}.music-glow{z-index:1;background:var(--gradient-primary);opacity:.45;filter:blur(22px);border-radius:9999px;transition:opacity .4s,transform .4s;position:absolute;inset:10%;transform:scale(.9)}.music-center-dot{z-index:3;background:#0f0a14f2;border:4px solid #ffffffbf;border-radius:9999px;width:28px;height:28px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.music-playing .music-cover{animation:12s linear infinite musicSpin}.music-playing .music-glow{opacity:.8;transform:scale(1.15)}@keyframes musicSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.music-progress-track{cursor:pointer;touch-action:pan-y;background:0 0;width:100%;margin:-12px 0;padding:14px 0;position:relative}.music-progress-track:before{content:"";background:0 0;position:absolute;inset:-14px 0}.music-progress-bar{background:#ffffff24;border-radius:9999px;width:100%;height:6px;overflow:hidden}.music-progress-fill{border-radius:inherit;background:var(--gradient-primary);width:0%;height:100%;transition:width .1s linear}.music-play-button{cursor:pointer;color:#fff;background:var(--gradient-primary);width:64px;height:64px;box-shadow:var(--shadow-glow);border:none;border-radius:9999px;justify-content:center;align-items:center;font-size:1.25rem;transition:transform .25s,box-shadow .25s;display:flex}.music-play-button:hover{transform:scale(1.08);box-shadow:0 0 55px #e59ab099}.music-play-button:active{transform:scale(.96)}@media (width<=640px){.music-cover-wrapper{width:155px;height:155px}.music-play-button{width:58px;height:58px}.gift-button{width:clamp(220px,76vw,264px);height:clamp(220px,76vw,264px)}}.ufo-4,.ufo-5,.ufo-6,.ufo-7,.ufo-8{display:none}.ufo-layer.is-cheap .ufo-4,.ufo-layer.is-cheap .ufo-5,.ufo-layer.is-cheap .ufo-6,.ufo-layer.is-cheap .ufo-7,.ufo-layer.is-cheap .ufo-8{display:block}@media (width<=640px){.ufo-layer.is-cheap .ufo-4,.ufo-layer.is-cheap .ufo-5,.ufo-layer.is-cheap .ufo-6,.ufo-layer.is-cheap .ufo-7,.ufo-layer.is-cheap .ufo-8{display:none}}@media (height<=700px){.message-wrapper{padding-top:.75rem;padding-bottom:.75rem}.message-media{margin-bottom:.5rem}.message-title{margin-bottom:.75rem}.music-cover-wrapper{width:140px;height:140px}.birthday-content>p:first-of-type{margin-bottom:.5rem}.birthday-content>h2{font-size:2.25rem}.birthday-content>p:last-of-type{margin-top:.5rem;font-size:1rem}}@property --tw-pan-x{syntax:"*";inherits:false}@property --tw-pan-y{syntax:"*";inherits:false}@property --tw-pinch-zoom{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}
