*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media (min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.block{display:block}.flex{display:flex}.table{display:table}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.border{border-width:1px}.italic{font-style:italic}.outline{outline-style:solid}.blur{--tw-blur:blur(8px)}.blur,.drop-shadow{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)}.drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px rgb(0 0 0/0.1)) drop-shadow(0 1px 1px rgb(0 0 0/0.06))}.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)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{--rose-champagne:#f7e7e1;--rose-blush:#f5cfd6;--rose-petal:#f4a3b8;--rose-fuchsia:#e8528b;--rose-deep:#c8316f;--rose-wine:#7a1f44;--gold-rich:#d4af37;--gold-light:#f0d9a8;--cream:#fff8f3;--ink:#2a0a1a;--party-purple:#b975e0;--party-mint:#7fd9b8;--party-yellow:#ffd966;--party-coral:#ff8a7a}*{box-sizing:border-box;margin:0;padding:0}body,html{background:var(--cream);color:var(--ink);font-family:var(--font-tajawal),"Tajawal",sans-serif;overflow-x:hidden;-webkit-font-smoothing:antialiased}.font-display{font-family:var(--font-amiri),"Amiri",serif}.font-accent{font-family:var(--font-reem-kufi),"Reem Kufi",sans-serif}.font-fun{font-family:var(--font-fredoka),"Fredoka",sans-serif}.gate{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#2a0a1a,#7a1f44 50%,#c8316f);overflow:hidden;transition:opacity .8s ease,visibility .8s ease}.gate.unlocked{opacity:0;visibility:hidden}.gate-bg-shape{position:absolute;border-radius:50%;filter:blur(60px)}.gate-shape-1{width:400px;height:400px;background:radial-gradient(circle,rgba(232,82,139,.6),transparent);top:-100px;right:-100px;animation:gate-float 8s ease-in-out infinite}.gate-shape-2{width:500px;height:500px;background:radial-gradient(circle,rgba(212,175,55,.4),transparent);bottom:-150px;left:-150px;animation:gate-float 10s ease-in-out infinite reverse}@keyframes gate-float{0%,to{transform:translate(0) scale(1)}50%{transform:translate(40px,-30px) scale(1.1)}}.gate-icon{position:absolute;opacity:.4;pointer-events:none;animation:gate-icon-float linear infinite}@keyframes gate-icon-float{0%{transform:translateY(110vh) rotate(0deg)}to{transform:translateY(-20vh) rotate(1turn)}}.gate-card{position:relative;z-index:5;width:90%;max-width:420px;padding:48px 32px;background:linear-gradient(135deg,rgba(255,248,243,.95),rgba(247,231,225,.9));backdrop-filter:blur(20px);border-radius:32px;box-shadow:0 30px 80px -10px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.8);text-align:center;animation:gate-card-in .8s cubic-bezier(.16,1,.3,1)}@keyframes gate-card-in{0%{opacity:0;transform:translateY(40px) scale(.95)}}.gate-card:before{content:"";position:absolute;inset:-2px;border-radius:inherit;padding:2px;background:linear-gradient(135deg,#d4af37,#f0d9a8,#d4af37,#a8842a);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.gate-lock{width:80px;height:80px;margin:0 auto 20px;border-radius:50%;background:linear-gradient(135deg,var(--rose-petal),var(--rose-deep));display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(200,49,111,.4),inset 0 -4px 8px rgba(0,0,0,.1);animation:lock-bounce 2s ease-in-out infinite}@keyframes lock-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.gate-lock svg{color:white}.gate-title{font-family:var(--font-fredoka),"Fredoka",sans-serif;font-weight:600;font-size:30px;color:var(--rose-deep);margin-bottom:8px}.gate-sub{font-size:16px;color:rgba(42,10,26,.7);margin-bottom:28px}.gate-input,.gate-sub{font-family:var(--font-tajawal),"Tajawal",sans-serif}.gate-input{width:100%;padding:16px 20px;border:2px solid rgba(200,49,111,.2);border-radius:16px;background:rgba(255,255,255,.7);font-size:18px;font-weight:500;color:var(--ink);text-align:center;letter-spacing:4px;transition:all .3s}.gate-input:focus{outline:none;border-color:var(--rose-deep);box-shadow:0 0 0 4px rgba(200,49,111,.15)}.gate-input.shake{animation:shake .5s}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-10px)}75%{transform:translateX(10px)}}.gate-btn{width:100%;margin-top:16px;padding:16px;border:none;border-radius:16px;cursor:pointer;background:linear-gradient(135deg,var(--rose-deep),var(--rose-fuchsia));color:white;font-family:var(--font-fredoka),"Fredoka",sans-serif;font-weight:600;font-size:17px;letter-spacing:0;line-height:1.4;box-shadow:0 10px 25px -5px rgba(200,49,111,.5);transition:all .3s}.gate-btn:hover{transform:translateY(-2px);box-shadow:0 15px 30px -5px rgba(200,49,111,.6)}.gate-btn:active{transform:translateY(0)}.gate-error{margin-top:12px;min-height:20px;font-family:var(--font-tajawal),"Tajawal",sans-serif;font-size:14px;color:var(--rose-deep);opacity:0;transition:opacity .3s}.gate-error.show{opacity:1}.gate-hint{margin-top:20px;font-family:var(--font-tajawal),"Tajawal",sans-serif;font-size:12px;color:rgba(42,10,26,.5)}.atmosphere{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:linear-gradient(135deg,var(--cream) 0,var(--rose-champagne) 50%,var(--rose-blush) 100%)}.bloom{position:absolute;border-radius:50%;filter:blur(80px)}.bloom-1{width:600px;height:600px;top:-200px;right:-200px;background:radial-gradient(circle,rgba(232,82,139,.5) 0,rgba(244,163,184,.2) 40%,transparent 70%);animation:bloom-1 12s ease-in-out infinite}.bloom-2{width:700px;height:700px;bottom:-200px;left:-200px;background:radial-gradient(circle,rgba(212,175,55,.4) 0,rgba(240,217,168,.18) 40%,transparent 70%);animation:bloom-2 15s ease-in-out infinite}.bloom-3{width:500px;height:500px;top:30%;left:50%;transform:translateX(-50%);background:radial-gradient(circle,rgba(185,117,224,.3) 0,transparent 60%);animation:bloom-3 9s ease-in-out infinite}.bloom-4{width:400px;height:400px;top:60%;right:20%;background:radial-gradient(circle,rgba(127,217,184,.2) 0,transparent 60%);animation:bloom-4 11s ease-in-out infinite}@keyframes bloom-1{0%,to{transform:scale(1) translate(0)}50%{transform:scale(1.15) translate(30px,20px)}}@keyframes bloom-2{0%,to{transform:scale(1) translate(0)}50%{transform:scale(1.2) translate(-20px,-30px)}}@keyframes bloom-3{0%,to{transform:translateX(-50%) scale(1);opacity:.3}50%{transform:translateX(-50%) scale(1.1);opacity:.5}}@keyframes bloom-4{0%,to{transform:scale(1);opacity:.2}50%{transform:scale(1.15);opacity:.4}}.vignette{background:radial-gradient(ellipse at center,transparent 40%,rgba(122,31,68,.18) 100%)}.grain,.vignette{position:fixed;inset:0;z-index:1;pointer-events:none}.grain{opacity:.05;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}#glitter-canvas{z-index:2}#glitter-canvas,.floating-party{position:fixed;inset:0;pointer-events:none}.floating-party{z-index:3;overflow:hidden}.balloon{position:absolute;bottom:-150px;animation:balloon-rise linear infinite;transform-origin:center}@keyframes balloon-rise{0%{transform:translateY(0) translateX(0) rotate(-3deg)}25%{transform:translateY(-25vh) translateX(15px) rotate(3deg)}50%{transform:translateY(-50vh) translateX(-15px) rotate(-3deg)}75%{transform:translateY(-75vh) translateX(15px) rotate(3deg)}to{transform:translateY(-110vh) translateX(0) rotate(-3deg)}}.floating-emoji{position:absolute;font-size:28px;opacity:.7;animation:emoji-float linear infinite}@keyframes emoji-float{0%{transform:translateY(110vh) rotate(0deg);opacity:0}10%{opacity:.8}90%{opacity:.8}to{transform:translateY(-20vh) rotate(1turn);opacity:0}}.intro{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#7a1f44 0,#2a0a1a 70%,#1a0510 100%);transition:opacity 1s cubic-bezier(.16,1,.3,1);overflow:hidden}.intro.fade{opacity:0;pointer-events:none}.intro-confetti{position:absolute;width:12px;height:12px;animation:intro-confetti-fall linear forwards}@keyframes intro-confetti-fall{0%{transform:translateY(-100px) rotate(0deg);opacity:1}to{transform:translateY(110vh) rotate(2turn);opacity:.5}}.intro-glow{position:absolute;width:700px;height:700px;border-radius:50%;filter:blur(80px);background:radial-gradient(circle,rgba(244,163,184,.5) 0,rgba(232,82,139,.25) 40%,transparent 70%);transform:scale(0);opacity:0;animation:intro-glow 2s cubic-bezier(.16,1,.3,1) .4s forwards}@keyframes intro-glow{0%{transform:scale(.4);opacity:0}50%{transform:scale(1.1);opacity:.9}to{transform:scale(1);opacity:.9}}.barbie-wrap{position:absolute;z-index:10;width:min(260px,52vw);transform:translateX(60vw) scale(.7);opacity:0;animation:barbie-walk 1.6s cubic-bezier(.16,1,.3,1) .4s forwards,barbie-twirl 2.5s ease-in-out 2.5s forwards,princess-to-corner 1.6s cubic-bezier(.7,0,.3,1) 5.6s forwards}.princess-intro-img{width:100%;height:auto;max-height:62vh;-o-object-fit:contain;object-fit:contain;display:block;filter:drop-shadow(0 30px 60px rgba(200,49,111,.5))}@keyframes barbie-walk{to{transform:translateX(0) scale(1);opacity:1}}@keyframes barbie-twirl{0%{transform:rotate(0deg);opacity:1;filter:brightness(1)}15%{transform:rotate(-4deg);opacity:.32;filter:brightness(.65)}85%{transform:rotate(4deg);opacity:.32;filter:brightness(.65)}to{transform:rotate(0deg);opacity:.32;filter:brightness(.65)}}@keyframes princess-to-corner{0%{transform:translateX(0) translateY(0) scale(1);opacity:.32;filter:brightness(.65)}to{transform:translateX(44vw) translateY(42vh) scale(.22);opacity:.9;filter:brightness(1)}}@media (max-width:640px){.barbie-wrap{width:min(200px,50vw)}@keyframes princess-to-corner{0%{transform:translateX(0) translateY(0) scale(1);opacity:1}to{transform:translateX(40vw) translateY(44vh) scale(.28);opacity:.9}}}.intro-content{position:relative;z-index:20;text-align:center;padding:0 24px}.intro-welcome{font-size:56px;color:var(--rose-champagne);margin-top:120px;transform:translateY(60px);animation:rise 1s cubic-bezier(.16,1,.3,1) 3s forwards}.intro-name,.intro-welcome{font-family:var(--font-amiri),"Amiri",serif;opacity:0}.intro-name{font-weight:700;font-size:clamp(56px,22vw,140px);line-height:1.1;letter-spacing:0;transform:translateY(100px) scale(.85);margin-top:16px;padding:0 16px 8px;background:linear-gradient(135deg,#f0d9a8,#ffffff 30%,#f4a3b8 60%,#d4af37);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:rise-name 1.6s cubic-bezier(.16,1,.3,1) 4.2s forwards;max-width:90vw;word-break:keep-all}@media (max-width:640px){.intro-name{font-size:clamp(48px,18vw,80px)}.intro-welcome{font-size:42px;margin-top:100px}.intro-invited{font-size:18px!important;letter-spacing:.3em!important}}.intro-line{width:0;height:1px;margin:32px auto 0;background:linear-gradient(90deg,transparent,var(--gold-rich),transparent);animation:line-grow 1.4s cubic-bezier(.16,1,.3,1) 4.8s forwards}.intro-invited{font-family:var(--font-reem-kufi),"Reem Kufi",sans-serif;font-weight:500;font-size:26px;letter-spacing:.4em;color:var(--rose-champagne);opacity:0;transform:translateY(40px);margin-top:24px;animation:rise 1s cubic-bezier(.16,1,.3,1) 5.8s forwards}@keyframes rise{to{opacity:1;transform:translateY(0)}}@keyframes rise-name{to{opacity:1;transform:translateY(0) scale(1)}}@keyframes line-grow{to{width:280px}}.intro-skip{position:absolute;bottom:32px;left:32px;font-family:var(--font-fredoka),"Fredoka",sans-serif;font-weight:600;font-size:18px;color:var(--rose-champagne);background:rgba(244,163,184,.15);border:2px solid rgba(247,231,225,.5);border-radius:999px;cursor:pointer;letter-spacing:.2em;padding:14px 32px;transition:all .3s;opacity:0;animation:rise .5s 2s forwards;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:30}.intro-skip:hover{background:rgba(247,231,225,.25);border-color:var(--rose-champagne);transform:scale(1.05);box-shadow:0 10px 30px rgba(232,82,139,.3)}@media (max-width:640px){.intro-skip{bottom:24px;left:24px;font-size:16px;padding:12px 24px}}.main{position:relative;z-index:10;opacity:0;transition:opacity 1s cubic-bezier(.16,1,.3,1) .3s}.main.show{opacity:1}.hero{min-height:100vh;padding:80px 24px 96px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:48px;max-width:900px;margin:0 auto;position:relative}.hero,.hero-text{text-align:center}.hero-text{width:100%}.hat-decoration{position:absolute;top:30px;left:30px;animation:hat-wobble 3s ease-in-out infinite;z-index:5}@keyframes hat-wobble{0%,to{transform:rotate(-12deg)}50%{transform:rotate(12deg)}}@media (max-width:640px){.hat-decoration{top:16px;left:16px;transform:scale(.7)}}.gift-decoration{position:absolute;top:40px;right:30px;animation:gift-bounce 2.5s ease-in-out infinite;z-index:5}@keyframes gift-bounce{0%,to{transform:translateY(0) rotate(8deg)}50%{transform:translateY(-15px) rotate(-8deg)}}@media (max-width:640px){.gift-decoration{top:16px;right:16px;transform:scale(.7)}}.flourish{width:80px;height:20px;margin:0 auto 16px;display:block}.hero-greeting{font-family:var(--font-amiri),"Amiri",serif;font-size:clamp(24px,5vw,38px);color:var(--rose-deep);opacity:0;transform:translateY(20px);animation:rise 1s cubic-bezier(.16,1,.3,1) .4s forwards}.hero-celebrating{font-family:var(--font-reem-kufi),"Reem Kufi",sans-serif;font-weight:500;font-size:17px;letter-spacing:.5em;color:rgba(200,49,111,.7);margin:32px 0 12px;opacity:0;animation:rise 1s cubic-bezier(.16,1,.3,1) .7s forwards}.hero-name{font-family:var(--font-amiri),"Amiri",serif;font-weight:700;font-size:180px;line-height:.9;background:linear-gradient(100deg,#d4af37,#f4a3b8 25%,#e8528b 50%,#f4a3b8 75%,#d4af37);background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shimmer 4s linear infinite,rise-block 1.4s cubic-bezier(.16,1,.3,1) .8s backwards,name-pulse 3s ease-in-out 2.5s infinite;display:inline-block}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}@keyframes rise-block{0%{opacity:0;transform:translateY(60px)}}@keyframes name-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}@media (max-width:1023px){.hero-name{font-size:110px}}@media (max-width:640px){.hero-name{font-size:88px}}.hero-turns{display:flex;align-items:center;gap:16px;margin-top:16px;justify-content:center;opacity:0;animation:rise 1s 1.4s forwards}.hero-turns .line{height:1px;width:48px;background:rgba(200,49,111,.4)}.hero-turns .text{font-family:var(--font-amiri),"Amiri",serif;font-size:36px;color:var(--rose-deep)}.hero-quote{font-family:var(--font-tajawal),"Tajawal",sans-serif;font-weight:500;font-size:19px;line-height:1.7;color:rgba(42,10,26,.7);margin:32px auto 0;max-width:480px;opacity:0;animation:rise 1s 1.6s forwards}.scroll-cue{margin-top:48px;gap:12px;justify-content:center;opacity:0;animation:rise 1s 2s forwards;color:rgba(200,49,111,.6)}.scroll-cue,.scroll-cue .col{display:flex;align-items:center}.scroll-cue .col{flex-direction:column;gap:8px;animation:bounce 2s ease-in-out infinite}.scroll-cue .label{font-family:var(--font-reem-kufi),"Reem Kufi",sans-serif;font-size:12px;letter-spacing:0;line-height:1.5}.scroll-cue-btn{margin-top:48px;display:inline-flex;flex-direction:column;align-items:center;gap:12px;padding:20px 48px;border-radius:999px;border:2px solid rgba(200,49,111,.35);background:rgba(255,255,255,.45);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--rose-deep);cursor:pointer;font-family:var(--font-fredoka),"Fredoka",sans-serif;font-weight:600;font-size:20px;letter-spacing:0;line-height:1.4;opacity:0;animation:rise 1s 2s forwards,bounce 2.5s ease-in-out 3s infinite;transition:background .3s,border-color .3s,transform .3s;box-shadow:0 8px 32px -8px rgba(200,49,111,.2)}.scroll-cue-btn:hover{background:rgba(255,255,255,.7);border-color:var(--rose-deep);transform:translateY(-4px);box-shadow:0 16px 40px -8px rgba(200,49,111,.35)}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}.portrait-wrap{max-width:320px;margin:0 auto;opacity:0;animation:rise-block 1.4s cubic-bezier(.16,1,.3,1) .6s forwards}.portrait,.portrait-wrap{position:relative;width:100%}.portrait{aspect-ratio:4/5}.portrait-glow{position:absolute;inset:32px;border-radius:50%;opacity:.6;filter:blur(80px);background:radial-gradient(circle,rgba(244,163,184,.7) 0,rgba(232,82,139,.3) 40%,transparent 70%);animation:portrait-glow 5s ease-in-out infinite}@keyframes portrait-glow{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.portrait-figure{position:relative;height:100%;width:100%;animation:portrait-twirl 6s ease-in-out infinite;transform-origin:center bottom}@keyframes portrait-twirl{0%,to{transform:rotate(-3deg) translateY(0)}25%{transform:rotate(0deg) translateY(-5px)}50%{transform:rotate(3deg) translateY(0)}75%{transform:rotate(0deg) translateY(-5px)}}.heart-particle{position:absolute;pointer-events:none;animation:heart-float 4s ease-in-out infinite}@keyframes heart-float{0%{transform:translateY(20px) scale(0);opacity:0}20%{opacity:1;transform:translateY(0) scale(1)}80%{opacity:1;transform:translateY(-60px) scale(1)}to{opacity:0;transform:translateY(-100px) scale(.5)}}.age-badge{position:absolute;bottom:-16px;right:8px;z-index:20;width:128px;height:128px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle,var(--cream) 0,var(--rose-champagne) 100%);box-shadow:0 0 0 2px var(--gold-rich),0 0 0 6px var(--cream),0 0 0 8px rgba(212,175,55,.4),0 20px 40px -10px rgba(200,49,111,.4);animation:badge-float 5s ease-in-out infinite;cursor:pointer}.age-badge:hover{animation-play-state:paused}@keyframes badge-float{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-8px) rotate(2deg)}}.age-badge .num{font-family:var(--font-fredoka),"Fredoka",sans-serif;font-weight:700;font-size:56px;line-height:1;color:var(--rose-deep)}.age-badge .label{font-family:var(--font-reem-kufi),"Reem Kufi",sans-serif;font-weight:500;font-size:14px;color:var(--rose-fuchsia)}.frame-sparkle{position:absolute;z-index:20;animation:float-spark 4s ease-in-out infinite}@keyframes float-spark{0%,to{transform:scale(.8) rotate(0deg);opacity:.6}50%{transform:scale(1.2) rotate(180deg);opacity:1}}.music-note{position:absolute;z-index:25;pointer-events:none;color:var(--rose-fuchsia);font-size:24px;animation:music-rise 5s ease-in-out infinite;opacity:0}@keyframes music-rise{0%{transform:translateY(0) rotate(-10deg);opacity:0}20%{opacity:.8}to{transform:translateY(-150px) rotate(20deg);opacity:0}}.details{padding:80px 24px 112px;max-width:1024px;margin:0 auto;position:relative}.divider{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:32px}.divider .seg{height:1px;width:96px}.divider .seg-l{background:linear-gradient(90deg,transparent,rgba(200,49,111,.4))}.divider .seg-r{background:linear-gradient(270deg,transparent,rgba(200,49,111,.4))}.divider svg{animation:spin-slow 8s linear infinite}@keyframes spin-slow{to{transform:rotate(1turn)}}.section-eyebrow{font-family:var(--font-reem-kufi),"Reem Kufi",sans-serif;font-weight:500;font-size:14px;letter-spacing:0;color:rgba(200,49,111,.7);margin-bottom:12px;text-align:center}.section-title{font-family:var(--font-fredoka),"Fredoka",sans-serif;font-weight:600;font-size:64px;line-height:1;text-align:center;margin-bottom:64px}.section-title .rose{background:linear-gradient(135deg,#c8316f,#e8528b 50%,#f4a3b8);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;display:inline-block;animation:title-bounce 3s ease-in-out infinite}@keyframes title-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.section-title em{font-family:var(--font-amiri),"Amiri",serif;font-style:italic;font-size:80px;color:var(--rose-fuchsia);display:block;margin-top:8px}@media (max-width:640px){.section-title{font-size:44px}.section-title em{font-size:52px}}.cake-wrap{margin:0 auto 40px;width:120px;height:140px;position:relative;animation:cake-bounce 2.5s ease-in-out infinite}@keyframes cake-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:64px;direction:ltr}.count-label{font-family:var(--font-reem-kufi),"Reem Kufi",sans-serif;font-weight:500;font-size:13px;letter-spacing:0;color:rgba(200,49,111,.7);text-align:center;margin-bottom:24px}.count-card{position:relative;padding:24px 16px;text-align:center;background:linear-gradient(135deg,rgba(255,255,255,.55),rgba(255,248,243,.35));backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.6);border-radius:16px;box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 20px 60px -10px rgba(200,49,111,.15);transition:transform .3s}.count-card:hover{transform:translateY(-4px) scale(1.05)}.count-card:before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(135deg,#d4af37,#f0d9a8,#d4af37,#a8842a);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.count-num{font-family:var(--font-fredoka),"Fredoka",sans-serif;font-weight:700;font-size:64px;line-height:1;color:var(--rose-deep);display:inline-block}.count-num.tick{animation:num-tick .4s ease-out}@keyframes num-tick{0%{transform:scale(1)}50%{transform:scale(1.2);color:var(--rose-fuchsia)}to{transform:scale(1)}}@media (max-width:640px){.count-num{font-size:36px}.count-card{padding:16px 8px}}.count-text{font-family:var(--font-reem-kufi),"Reem Kufi",sans-serif;font-weight:500;font-size:12px;letter-spacing:.3em;color:rgba(200,49,111,.6);margin-top:8px}@media (max-width:640px){.count-text{font-size:10px}}.detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:64px}@media (max-width:1023px){.detail-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.detail-grid{grid-template-columns:1fr}}.detail-card{position:relative;padding:32px 24px;text-align:center;border-radius:24px;background:linear-gradient(135deg,rgba(255,255,255,.55),rgba(255,248,243,.35));backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.6);box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 20px 60px -10px rgba(200,49,111,.15);transition:transform .5s,box-shadow .5s;opacity:0;transform:translateY(40px);animation:card-in .8s cubic-bezier(.16,1,.3,1) forwards}.detail-card:first-child{animation-delay:.1s}.detail-card:nth-child(2){animation-delay:.25s}.detail-card:nth-child(3){animation-delay:.4s}.detail-card:nth-child(4){animation-delay:.55s}@keyframes card-in{to{opacity:1;transform:translateY(0)}}.detail-card:hover{transform:translateY(-12px) rotate(-2deg);box-shadow:0 30px 60px -10px rgba(200,49,111,.3)}.detail-card:nth-child(2n):hover{transform:translateY(-12px) rotate(2deg)}.detail-card:before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(135deg,#d4af37,#f0d9a8,#d4af37,#a8842a);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.detail-icon{width:64px;height:64px;margin:0 auto 20px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--cream),var(--rose-champagne));box-shadow:0 0 0 1px var(--gold-rich),inset 0 0 20px rgba(212,175,55,.15);color:var(--rose-deep);transition:transform .6s;animation:icon-pulse 3s ease-in-out infinite}@keyframes icon-pulse{0%,to{box-shadow:0 0 0 1px var(--gold-rich),inset 0 0 20px rgba(212,175,55,.15)}50%{box-shadow:0 0 0 2px var(--gold-rich),0 0 20px rgba(232,82,139,.4),inset 0 0 20px rgba(212,175,55,.2)}}.detail-card:hover .detail-icon{transform:rotate(1turn) scale(1.1)}.detail-label{font-family:var(--font-reem-kufi),"Reem Kufi",sans-serif;font-weight:500;font-size:12px;letter-spacing:.4em;color:rgba(200,49,111,.7);margin-bottom:12px}.detail-primary{font-family:var(--font-fredoka),"Fredoka",sans-serif;font-weight:600;font-size:26px;line-height:1.3;color:var(--ink)}.detail-secondary{font-family:var(--font-tajawal),"Tajawal",sans-serif;font-weight:500;font-size:18px;color:var(--rose-fuchsia);margin-top:8px}.activities{display:flex;gap:24px;justify-content:center;flex-wrap:wrap;margin:80px 0}.activity-chip{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 24px;background:linear-gradient(135deg,rgba(255,255,255,.7),rgba(247,231,225,.5));border-radius:24px;border:2px dashed rgba(200,49,111,.3);transition:all .3s;cursor:default;min-width:120px}.activity-chip:hover{transform:translateY(-8px) scale(1.05);border-style:solid;border-color:var(--rose-deep);box-shadow:0 20px 40px -10px rgba(200,49,111,.3)}.activity-emoji{font-size:48px;line-height:1;animation:activity-wiggle 2s ease-in-out infinite}.activity-chip:first-child .activity-emoji{animation-delay:0s}.activity-chip:nth-child(2) .activity-emoji{animation-delay:.4s}.activity-chip:nth-child(3) .activity-emoji{animation-delay:.8s}.activity-chip:nth-child(4) .activity-emoji{animation-delay:1.2s}.activity-chip:nth-child(5) .activity-emoji{animation-delay:1.6s}@keyframes activity-wiggle{0%,to{transform:rotate(-8deg) scale(1)}50%{transform:rotate(8deg) scale(1.1)}}.activity-text{font-family:var(--font-fredoka),"Fredoka",sans-serif;font-weight:500;font-size:14px;color:var(--rose-deep)}.cta-row{display:flex;flex-direction:row;gap:24px;justify-content:center;flex-wrap:wrap}@media (max-width:640px){.cta-row{flex-direction:column;align-items:stretch}}.btn{position:relative;padding:20px 40px;border-radius:999px;border:none;cursor:pointer;overflow:visible;font-family:var(--font-fredoka),"Fredoka",sans-serif;font-weight:600;font-size:15px;letter-spacing:0;line-height:1.4;transition:transform .3s}.btn:hover{transform:translateY(-4px) scale(1.02)}.btn:active{transform:translateY(0) scale(.98)}.btn-primary{background:linear-gradient(135deg,#c8316f,#e8528b 50%,#c8316f);background-size:200% 200%;color:var(--cream);box-shadow:0 20px 40px -10px rgba(200,49,111,.5),inset 0 1px 0 rgba(255,255,255,.3);animation:btn-pulse 2s ease-in-out infinite}@keyframes btn-pulse{0%,to{box-shadow:0 20px 40px -10px rgba(200,49,111,.5),inset 0 1px 0 rgba(255,255,255,.3)}50%{box-shadow:0 25px 50px -10px rgba(200,49,111,.7),0 0 0 8px rgba(232,82,139,.15),inset 0 1px 0 rgba(255,255,255,.3)}}.btn-primary:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transform:translateX(-100%);transition:transform 1s}.btn-primary:hover:before{transform:translateX(100%)}.btn-primary span{position:relative;display:flex}.btn-primary span,.btn-secondary{align-items:center;justify-content:center;gap:12px}.btn-secondary{background:rgba(255,248,243,.4);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(200,49,111,.4);color:var(--rose-deep);text-decoration:none;display:inline-flex}.btn-secondary:hover{border-color:var(--rose-deep);background:rgba(255,248,243,.6)}.address{text-align:center;margin-top:32px;font-family:var(--font-tajawal),"Tajawal",sans-serif;font-weight:500;font-size:17px;color:rgba(200,49,111,.7)}.personal-note{margin-top:80px;max-width:576px;margin-left:auto;margin-right:auto;text-align:center}.personal-note .note{font-family:var(--font-tajawal),"Tajawal",sans-serif;font-weight:500;font-size:24px;line-height:1.6;color:var(--rose-deep);margin-top:24px}.personal-note .signed{font-family:var(--font-reem-kufi),"Reem Kufi",sans-serif;font-weight:500;font-size:12px;letter-spacing:0;line-height:1.6;color:rgba(200,49,111,.6);margin-top:12px}footer{text-align:center;padding:32px 24px 64px}footer .with-love{font-family:var(--font-fredoka),"Fredoka",sans-serif;font-weight:500;font-size:32px;color:var(--rose-deep);margin-top:32px;animation:heart-beat 1.5s ease-in-out infinite}@keyframes heart-beat{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}footer .awaits{font-family:var(--font-reem-kufi),"Reem Kufi",sans-serif;font-weight:500;font-size:14px;letter-spacing:0;line-height:1.6;color:rgba(200,49,111,.6);margin-top:12px}.modal{position:fixed;inset:0;z-index:50;display:none;align-items:center;justify-content:center;padding:16px}.modal.open{display:flex}.modal-backdrop{position:absolute;inset:0;background:rgba(42,10,26,.6);backdrop-filter:blur(12px)}.modal-card{position:relative;max-width:448px;width:100%;padding:40px;background:linear-gradient(135deg,rgba(255,248,243,.95),rgba(247,231,225,.9));backdrop-filter:blur(20px);border-radius:24px;border:1px solid rgba(255,255,255,.6);animation:modal-pop .4s cubic-bezier(.16,1,.3,1)}.modal-card:before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(135deg,#d4af37,#f0d9a8,#d4af37,#a8842a);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}@keyframes modal-pop{0%{opacity:0;transform:scale(.92) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-close{position:absolute;top:20px;left:20px;background:none;border:none;cursor:pointer;color:rgba(200,49,111,.4);transition:color .3s}.modal-close:hover{color:var(--rose-deep);transform:rotate(90deg)}.modal-title{font-family:var(--font-fredoka),"Fredoka",sans-serif;font-weight:600;font-size:28px;text-align:center;color:var(--rose-deep);margin-top:16px}.modal-sub{font-family:var(--font-tajawal),"Tajawal",sans-serif;font-weight:500;font-size:18px;color:var(--rose-fuchsia);text-align:center;margin-top:8px;margin-bottom:24px}.yn-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px}.yn-btn{padding:16px;border:1px solid rgba(200,49,111,.3);border-radius:16px;background:transparent;cursor:pointer;font-family:var(--font-fredoka),"Fredoka",sans-serif;font-weight:500;font-size:15px;letter-spacing:.1em;color:var(--rose-deep);transition:all .3s}.yn-btn:hover{border-color:rgba(200,49,111,.6);transform:translateY(-2px)}.yn-btn.active{background:var(--rose-deep);color:var(--cream);border-color:var(--rose-deep);transform:scale(1.05)}.form-section{display:none}.form-section.show{display:block;animation:rise .4s forwards}.form-label{font-family:var(--font-reem-kufi),"Reem Kufi",sans-serif;font-weight:500;font-size:12px;letter-spacing:.3em;color:rgba(200,49,111,.7);margin-bottom:8px;display:block}.party-control{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:16px}.party-btn{width:40px;height:40px;border-radius:50%;border:1px solid rgba(200,49,111,.3);background:transparent;cursor:pointer;color:var(--rose-deep);font-size:18px;transition:all .3s}.party-btn:hover{background:var(--rose-deep);color:var(--cream);transform:scale(1.1)}.party-num{font-family:var(--font-fredoka),"Fredoka",sans-serif;font-weight:700;font-size:36px;color:var(--rose-deep)}.form-textarea{width:100%;padding:12px 16px;border:1px solid rgba(200,49,111,.2);background:rgba(255,248,243,.6);border-radius:12px;resize:none;font-family:var(--font-tajawal),"Tajawal",sans-serif;font-size:15px;color:var(--ink)}.form-textarea:focus{outline:none;border-color:rgba(200,49,111,.5)}.form-textarea::-moz-placeholder{color:rgba(200,49,111,.4)}.form-textarea::placeholder{color:rgba(200,49,111,.4)}.submit-btn{margin-top:24px;width:100%;padding:16px;border-radius:999px;border:none;cursor:pointer;background:var(--rose-deep);color:var(--cream);font-family:var(--font-fredoka),"Fredoka",sans-serif;font-weight:600;font-size:15px;letter-spacing:0;line-height:1.4;transition:all .3s}.submit-btn:hover:not(:disabled){background:var(--rose-wine);transform:translateY(-2px);box-shadow:0 10px 25px -5px rgba(200,49,111,.5)}.submit-btn:disabled{opacity:.4;cursor:not-allowed}.success-screen{display:none;padding:32px 0;text-align:center}.success-screen.show{display:block;animation:rise .5s forwards}.success-screen .title{font-family:var(--font-fredoka),"Fredoka",sans-serif;font-weight:600;font-size:36px;color:var(--rose-deep)}.success-screen .sub{font-family:var(--font-tajawal),"Tajawal",sans-serif;font-weight:500;font-size:22px;color:var(--rose-fuchsia);margin-top:12px}@keyframes music-pulse{0%,to{transform:scale(1);box-shadow:0 4px 20px rgba(200,49,111,.25)}50%{transform:scale(1.12);box-shadow:0 4px 28px rgba(200,49,111,.45)}}@keyframes fp-float{0%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-18px) rotate(1deg)}to{transform:translateY(0) rotate(-1deg)}}@keyframes fp-drift{0%{transform:translateX(0)}50%{transform:translateX(10px)}to{transform:translateX(0)}}@keyframes fp-aura{0%,to{opacity:.45;transform:scale(1)}50%{opacity:.7;transform:scale(1.12)}}