:root{--rose:#ad3659;--cherry:#872b48;--pink:#eeafbc;--blush:#f9e5e5;--paper:#fffaf6;--ink:#562f41;--soft:#957883;--line:#e6cbd0;--sans:Tajawal,Arial,sans-serif;--serif:Amiri,Georgia,serif;--ruqaa:"Aref Ruqaa",Amiri,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:22px}body{margin:0;color:var(--ink);background:var(--blush, #f9e5e5);font-family:var(--sans);-webkit-font-smoothing:antialiased}body.locked{overflow:hidden}[hidden]{display:none!important}h1,h2,h3,p,figure{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;font:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid var(--rose);outline-offset:7px}button:disabled{cursor:default}::selection{background:#e7aabd;color:#542237}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.gate{display:none}#confettiCanvas{position:fixed;inset:0;width:100%;height:100%;z-index:50;pointer-events:none}.js .gate{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;background:#fbe9e8;isolation:isolate;overflow-y:auto;transition:opacity .65s,transform .8s cubic-bezier(.5,0,.15,1)}.gate-scene,.hero-scene{position:absolute;inset:0;z-index:-2;background:url('assets/party-stage.webp') center/cover}.gate-scene:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 35%,#fff9f933,transparent 65%)}.gate-inner{text-align:center;width:min(100%,570px);padding:35px 30px 25px;position:relative}.occasion-pill{display:inline-flex;align-items:center;justify-content:center;gap:13px;font-size:11px;letter-spacing:.04em;color:#8e4f61}.occasion-pill>span{font-size:13px;color:#bd627f}.gate-english{font:italic 49px/1.2 Georgia,serif;color:var(--rose);margin:20px 0 0;letter-spacing:-.055em}.gate h2{font:400 65px/1.6 var(--ruqaa);color:var(--cherry);margin:2px 0 0}.gate-sub{font-size:15px;color:#9d6678}.cake-art{position:relative;direction:ltr;aspect-ratio:1;isolation:isolate}.cake-art>img{display:block;width:100%;height:100%;object-fit:contain;position:relative;z-index:1;filter:drop-shadow(0 18px 12px #a6576320)}.gate-cake{width:clamp(255px,32vh,360px);margin:23px auto 10px;transition:transform 1s cubic-bezier(.17,.8,.4,1);animation:cakeFloat 5s ease-in-out infinite}.cake-glow{position:absolute;inset:10% 0 0;border-radius:50%;z-index:-1;background:radial-gradient(ellipse,#ffc7c850,transparent 68%);filter:blur(8px)}.flame{position:absolute;z-index:3;width:10px;height:25px;background:radial-gradient(ellipse at 50% 80%,#fffdf0 0,#ffe6a2 35%,#ffbc60 67%,#ff8c3b66 82%,transparent 89%);border-radius:65% 35% 55% 45%;box-shadow:0 0 15px #ffb46b70;transform-origin:50% 100%;animation:flameDance 1.3s ease-in-out infinite alternate}.gate-cake>.flame{bottom:93.2%;margin-left:-5px;opacity:0;transition:opacity .25s}.flame-one{left:41.1%}.flame-two{left:49.5%}.flame-three{left:57.8%}.lighting .gate-cake{animation:none;transform:scale(1.07)}.lighting .gate-cake>.flame{opacity:1}.lighting .gate-cake>.flame-two{transition-delay:.25s}.lighting .gate-cake>.flame-three{transition-delay:.5s}.opened .gate{opacity:0;transform:scale(1.14);pointer-events:none}.party-button{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:52px;padding:15px 34px;border:1px solid #9e345c;border-radius:100px;background:linear-gradient(120deg,#b54869,#942c50);color:white;font-size:16px;box-shadow:0 8px 25px #9d35542b;transition:transform .2s,box-shadow .2s}.party-button:hover{transform:translateY(-3px);box-shadow:0 12px 30px #9d355442}.party-button:disabled{opacity:.75;transform:none}.party-button>span{font-size:18px}.gate-hint{font-size:11px;color:#a27b87;margin:15px 0 0}.gate-glint{position:absolute;pointer-events:none;color:#b86a7f;font-family:Georgia,serif;font-size:36px;animation:twinkle 3s ease-in-out infinite}.glint-one{left:26%;top:36%}.glint-two{right:27%;bottom:29%;font-size:19px;animation-delay:1.2s}
.hero{position:relative;isolation:isolate;overflow:hidden;min-height:100svh;padding:0 30px 35px;background:#ffedef}.hero-scene{background-position:center 46%;opacity:.94;transform:scale(1.035);animation:stageDrift 12s ease-in-out infinite alternate}.hero:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,#fff8f722,transparent 50%,#fff7f480 85%,#fff8f5 100%);pointer-events:none}.hero-header{max-width:1160px;display:flex;align-items:center;justify-content:space-between;margin:0 auto;padding-top:25px;color:#98485f}.header-occasion{font-size:11px;letter-spacing:.03em}.header-star{font:26px Georgia,serif}.hero-content{width:min(100%,660px);margin:0 auto;text-align:center;padding:23px 0 28px;position:relative}.hero-kicker{font-size:12px;color:#a2687c;margin-bottom:8px}.hero-english{font:italic 72px/.99 Georgia,serif;color:var(--rose);letter-spacing:-.065em;position:relative;z-index:5}.hero-english>span{display:inline-block}.portrait-stage{position:relative;width:310px;height:329px;margin:35px auto 12px;isolation:isolate}.portrait-ring{position:absolute;top:0;left:23px;width:265px;height:305px;overflow:hidden;border-radius:48% 48% 46% 46%;border:7px solid #fffaf7;box-shadow:0 0 0 1px #dea7b5,0 23px 45px #b86c7a30;transform:rotate(-5deg);z-index:2;container-type:inline-size}.portrait-ring:after{position:absolute;inset:0;content:"";box-shadow:inset 0 0 30px #50332433;pointer-events:none}.portrait-ring img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:50% 28%}.photo-halo{position:absolute;inset:10px -30px -10px;border-radius:50%;background:radial-gradient(ellipse,#e7a9ba55,transparent 68%);filter:blur(12px);z-index:0}.birthday-badge{position:absolute;right:-2px;bottom:0;z-index:3;width:116px;height:116px;border-radius:50%;background:#b44d6c;border:4px double #edbed0;box-shadow:0 4px 15px #86435233;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(9deg);font:italic 17px/1 Georgia,serif;color:#fff3eb}.birthday-badge>em{font-size:35px;line-height:1.1}.birthday-badge>i{font-style:normal;font-size:18px;margin-top:2px}.portrait-spark{position:absolute;font-family:Georgia,serif;z-index:4;color:#ae506a;animation:twinkle 3s ease-in-out infinite}.spark-one{top:-9px;right:-8px;font-size:35px}.spark-two{bottom:34px;left:-22px;font-size:50px;animation-delay:.5s}.floating-balloon{position:absolute;border-radius:48% 48% 47% 47%;width:75px;height:90px;z-index:1;background:radial-gradient(ellipse at 27% 22%,#ffffffed 0%,#ffffff22 17%,transparent 21%),radial-gradient(ellipse at 36% 31%,#fce6df,#dd9ca8 59%,#b55c78 83%,#de939e);box-shadow:inset -5px -6px 12px #9d586426,0 8px 22px #b0697214;animation:balloonFloat 5s ease-in-out infinite}.floating-balloon:before{position:absolute;content:"";bottom:-7px;left:45%;width:10px;height:9px;background:#d99da8;clip-path:polygon(50% 0,100% 100%,0 100%)}.floating-balloon>i{position:absolute;top:calc(100% + 6px);left:50%;width:12px;height:120px;border-left:1px solid #bc7b8877;border-radius:50%;transform:rotate(7deg)}.balloon-one{left:-58px;top:77px;transform:rotate(-13deg);--turn:-13deg}.balloon-two{right:-50px;top:4px;width:58px;height:71px;background:radial-gradient(ellipse at 29% 24%,white,#fff8f1 30%,#f4d4d8 66%,#e4bac5);--turn:9deg;animation-delay:-2s}.balloon-three{left:-32px;bottom:28px;width:54px;height:66px;--turn:7deg;animation-delay:-3s;z-index:3;background:radial-gradient(ellipse at 24% 20%,white,#edc1ab 23%,#bd7a66 44%,#f8dbcd 58%,#a76556 81%,#e3b0a4)}.hero-overline{font-size:12px;color:#b06d81;margin-top:17px}.hero h1{font:400 65px/1.6 var(--ruqaa);color:#923651;outline:none;margin:-2px 0 2px}.hero-tagline{font:20px/1.6 var(--serif);color:#855b6a}.hero-bottom{display:flex;align-items:center;justify-content:center;gap:20px;color:#b78692;font-size:8px;letter-spacing:.14em}.hero-bottom>span:first-child,.hero-bottom>span:last-child{font-size:17px}.opened .hero-content{animation:heroReveal 1s ease-out both}.opened .portrait-stage{animation:portraitReveal 1.1s cubic-bezier(.17,.8,.3,1) both}
.section-heading{text-align:center}.tiny-label{display:block;font-size:9px;letter-spacing:.22em;color:#b47a8c;margin-bottom:13px}.section-heading h2{font:400 41px/1.7 var(--serif);color:#66394c}.section-heading h2 span{color:#b24a6c}.section-heading>p{font-size:14px;line-height:1.9;color:#9e7683;margin-top:12px}.invitation-letter{position:relative;background:#fff8f5;text-align:center;padding:82px 28px 65px}.bow-divider{font:40px/1 Georgia,serif;color:#c26886;letter-spacing:-.1em;margin:12px 0 25px}.invitation-copy{max-width:590px;margin:0 auto;white-space:pre-line;font:25px/1.9 var(--serif);color:#755164}.invitation-copy>p{margin:0 0 21px}.invitation-copy>strong{font:400 41px/1.8 var(--ruqaa);color:var(--rose);display:block;margin:2px 0 0}.love-note{display:flex;align-items:center;justify-content:center;gap:19px;max-width:480px;margin:29px auto 0;padding-top:27px;border-top:1px dashed #dcaabb70}.love-note>span{font:43px/1 Georgia,serif;color:#cb7d96;transform:rotate(-12deg)}.love-note p{font-size:14px;line-height:2;color:#ad8090;text-align:right}
.party-details{background:#f8e8e9;text-align:center;padding:62px 25px 0;position:relative}.event-grid{display:grid;grid-template-columns:repeat(3,1fr);max-width:800px;margin:35px auto 22px}.event-item{padding:9px 15px;border-left:1px solid #d3abb55c}.event-item:last-child{border:0}.event-icon{display:block;margin-bottom:15px}.event-icon svg{width:27px;height:27px;stroke:#bb6882;stroke-width:1.4;fill:none;stroke-linecap:round}.event-item h3{font-size:12px;font-weight:400;color:#a87d8b;margin-bottom:10px}.event-item p{font:22px/1.7 var(--serif);color:#74475b}.event-item small{display:block;font-size:12px;line-height:1.8}.details-note{font-size:11px;color:#b38e9a;line-height:1.8}.detail-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:15px;margin:20px auto 0}.secondary-button{font:12px var(--sans);border:1px solid #cca0ae;border-radius:100px;padding:13px 20px;background:#fff4f0;color:#874b64}.secondary-button span{margin-right:10px}.countdown-section{padding:30px 15px 12px}.countdown-section>p{font-size:14px;color:#936476}.countdown{display:flex;justify-content:center;align-items:center;gap:18px;direction:ltr;margin-top:22px}.countdown>div{display:flex;flex-direction:column;gap:5px;min-width:40px}.countdown b{font:35px Georgia,serif;color:#a13e60}.countdown span{font-size:10px;color:#a7818e}.countdown i{font-style:normal;color:#ca9dad;font-size:23px}.party-strip{display:flex;justify-content:center;align-items:center;gap:27px;margin:45px auto 0;max-width:890px;border-top:1px solid #d8b9c170;padding:30px 0;color:#a36b80;font-size:13px}.party-strip i{font-style:normal;color:#c2869b;font-size:15px}
.cake-section{position:relative;text-align:center;overflow:hidden;background:radial-gradient(ellipse at 50% 47%,#fbe1e4 0,transparent 53%),#fff8f4;padding:68px 25px 54px}.wish-cake{width:min(410px,90vw);margin:38px auto 0}.candle-hit{position:absolute;z-index:4;top:0;width:45px;height:58px;border:0;background:transparent;padding:0;transform:translateX(-50%);cursor:pointer;display:none}.js .candle-hit{display:block}.candle-one{left:41.1%}.candle-two{left:49.5%}.candle-three{left:57.8%}.candle-hit>.flame{left:calc(50% - 5px);bottom:calc(100% - 6.8cqw);opacity:0;transition:opacity .2s}.wish-cake{container-type:inline-size}.candle-hit>.flame{top:calc(6.8cqw - 25px);bottom:auto}.candle-hit.lit>.flame{opacity:1}.candle-hit:not(.lit)>.smoke{animation:smokeRise 1.8s ease-out forwards}.smoke{position:absolute;left:50%;top:3px;width:8px;height:22px;border-left:2px solid #aa879077;border-radius:50%;filter:blur(2px);opacity:0}.blow-button{margin-top:8px;font-size:14px;min-height:47px}.wish-message{font:23px/1.8 var(--serif);color:#ab6b82;margin:23px auto 7px;min-height:40px}.text-button{border:0;border-bottom:1px solid #c490a657;padding:7px 0;background:none;color:#ad6a82;font-size:12px}.cake-section-spark{position:absolute;font:45px Georgia,serif;color:#c57993;animation:twinkle 4s ease-in-out infinite}.cake-spark-one{top:44%;left:15%}.cake-spark-two{top:62%;right:17%;font-size:25px;animation-delay:-1s}
.rsvp-section{text-align:center;background:#f7e3e7;padding:55px 25px 60px}.rsvp-heart{font:55px/1 Georgia,serif;color:#bc6283;display:block;margin-bottom:16px}.rsvp-section h2{font:33px/1.7 var(--serif);color:#6e4155}.rsvp-section h2 span{color:#b35375}.rsvp-section>p{font-size:13px;color:#a6798b;line-height:1.9;margin:10px 0 23px}.pending-badge{display:inline-flex;align-items:center;gap:7px;font-size:11px;color:#ae7a8e;padding:10px 18px;border-radius:100px;border:1px solid #dfbdc8;background:#fff7f640}.pending-badge:before{content:"";width:5px;height:5px;border-radius:50%;background:#c593a5}.closing{text-align:center;background:#fff8f5;padding:43px 20px 65px}.closing-english{font:italic 34px/1.3 Georgia,serif;color:#ae4c71;letter-spacing:-.035em}.closing>p:nth-child(2){font:22px/1.7 var(--serif);color:#a67e8e;margin-top:13px}.closing>.text-button{display:inline-flex;gap:16px;margin-top:25px}.music-toggle{position:fixed;bottom:19px;left:19px;z-index:30;width:43px;height:43px;border:1px solid #b8728c6b;border-radius:50%;display:none;align-items:center;justify-content:center;background:#fff5f2e8;backdrop-filter:blur(8px);box-shadow:0 4px 15px #aa607520;color:#a13e61}.js .music-toggle{display:flex}.locked .music-toggle{display:none}.music-bars{display:flex;align-items:center;justify-content:center;gap:3px;height:17px;direction:ltr}.music-bars>i{display:block;width:2px;height:5px;border-radius:2px;background:#b25474}.music-bars>i:nth-child(2){height:14px}.music-bars>i:nth-child(3){height:10px}.music-bars>i:nth-child(4){height:7px}.music-toggle[aria-pressed=true] .music-bars>i{animation:equalizer .65s ease-in-out infinite alternate}.music-bars>i:nth-child(2){animation-delay:.2s!important}.music-bars>i:nth-child(3){animation-delay:.4s!important}.js [data-reveal]{opacity:0;transform:translateY(23px);transition:transform .85s,opacity .85s}.js [data-reveal].in-view{opacity:1;transform:none}html:not(.js) #blowAll,html:not(.js) #replay,html:not(.js) .interactive-copy{display:none}
@keyframes balloonFloat{0%,100%{transform:translateY(0) rotate(var(--turn,0deg))}50%{transform:translate(4px,-15px) rotate(calc(var(--turn,0deg) + 5deg))}}@keyframes flameDance{to{transform:rotate(6deg) scaleY(.87)}}@keyframes twinkle{50%{opacity:.4;transform:rotate(13deg) scale(.8)}}@keyframes cakeFloat{50%{transform:translateY(-8px)}}@keyframes stageDrift{to{transform:scale(1.075) translateY(-7px)}}@keyframes heroReveal{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}@keyframes portraitReveal{from{opacity:0;transform:scale(.9) rotate(5deg)}to{opacity:1;transform:none}}@keyframes smokeRise{10%{opacity:.6}100%{opacity:0;transform:translate(-6px,-40px) scale(2)}}@keyframes equalizer{to{height:3px}}
@media(min-width:900px){.hero{min-height:1080px;padding-inline:60px}.hero-scene,.gate-scene{background-size:cover;background-position:center 45%}.hero:after{background:radial-gradient(ellipse at center,#fff5f15c 0,transparent 65%),linear-gradient(0deg,#fff8f5,transparent 25%)}.hero-content{padding-top:25px}.hero-english{font-size:95px}.portrait-stage{margin-top:36px;width:345px;height:345px}.portrait-ring{left:24px;width:295px;height:325px}.hero h1{font-size:77px}.hero-tagline{font-size:22px}.hero-overline{font-size:13px;margin-top:25px}.hero-bottom{margin-top:20px}.gate-inner{background:radial-gradient(ellipse at center,#fff5f355,transparent 70%)}.gate-english{font-size:63px}.gate h2{font-size:78px}.gate-cake{width:340px}.gate-sub{font-size:17px}.gate-glint.glint-one{left:35%}.gate-glint.glint-two{right:35%}.section-heading h2{font-size:45px}.invitation-letter{padding-top:95px;padding-bottom:85px}.invitation-copy{font-size:27px}}
@media(min-width:1200px){.hero-scene,.gate-scene{background-size:100% auto;background-position:center 40%}.gate-inner{padding-top:30px;padding-bottom:25px}.gate-cake{margin-top:13px;width:min(36vh,350px)}}
@media(max-width:640px){.gate-inner{padding:31px 25px 25px}.gate-english{font-size:39px;margin-top:23px}.gate h2{font-size:59px;margin-top:4px}.gate-sub{font-size:13px}.occasion-pill{font-size:10px;gap:11px}.gate-cake{width:min(305px,40svh);margin:26px auto 12px}.party-button{min-height:50px;font-size:15px;padding:14px 32px}.gate-hint{font-size:10px;margin-top:15px}.gate-glint{font-size:25px}.glint-one{left:12%;top:43%}.glint-two{right:12%;bottom:30%;font-size:18px}.hero{padding:0 23px 26px}.hero-header{padding-top:20px}.header-occasion{font-size:10px}.header-star{font-size:22px}.hero-content{padding:24px 0 28px}.hero-kicker{font-size:11px;margin-bottom:15px}.hero-english{font-size:58px;line-height:1.03;letter-spacing:-.062em}.hero-english>span{display:block;font-size:46px;line-height:.96}.portrait-stage{width:256px;height:300px;margin-top:33px;margin-bottom:10px}.portrait-ring{left:15px;width:230px;height:275px;border-width:6px}.birthday-badge{width:96px;height:96px;font-size:14px;right:-6px;bottom:0;border-width:3px}.birthday-badge>em{font-size:31px}.birthday-badge>i{font-size:15px}.balloon-one{left:-26px;top:70px;width:59px;height:73px}.balloon-two{right:-20px;top:3px;width:49px;height:60px}.balloon-three{left:-15px;bottom:23px;width:46px;height:55px}.floating-balloon>i{height:100px}.spark-one{right:-9px;top:-13px;font-size:30px}.spark-two{left:-11px;bottom:30px;font-size:42px}.hero-overline{font-size:11px;margin-top:16px}.hero h1{font-size:59px;line-height:1.7;margin-top:-3px}.hero-tagline{font-size:19px;line-height:1.7}.hero-bottom{font-size:6px;letter-spacing:.13em;gap:17px}.hero-bottom>span:first-child,.hero-bottom>span:last-child{font-size:14px}.section-heading h2{font-size:33px;line-height:1.65}.tiny-label{font-size:8px;letter-spacing:.17em;margin-bottom:12px}.invitation-letter{padding:61px 27px 47px}.bow-divider{font-size:35px;margin:16px 0 20px}.invitation-copy{font-size:22px;line-height:1.9}.invitation-copy>p{margin-bottom:21px}.invitation-copy>strong{font-size:36px}.love-note{margin-top:22px;padding-top:23px;gap:15px}.love-note>span{font-size:38px}.love-note p{font-size:12px}.party-details{padding:52px 22px 0}.event-grid{margin-top:32px}.event-item{padding:5px 6px}.event-icon{margin-bottom:11px}.event-icon svg{width:25px;height:25px}.event-item h3{font-size:11px;margin-bottom:8px}.event-item p{font-size:19px}.details-note{font-size:10px;max-width:290px;margin:0 auto}.party-strip{gap:12px;font-size:10px;margin-top:33px;padding:24px 0}.party-strip i{font-size:11px}.cake-section{padding:55px 20px 44px}.section-heading>p{font-size:12px;margin-top:13px}.wish-cake{width:330px;max-width:95%;margin-top:35px}.cake-section-spark{font-size:25px}.cake-spark-one{left:6%;top:47%}.cake-spark-two{right:8%;top:63%;font-size:19px}.blow-button{font-size:13px;margin-top:7px;min-height:45px}.wish-message{font-size:21px;margin-top:19px;min-height:38px}.rsvp-section{padding:41px 23px 46px}.rsvp-heart{font-size:48px}.rsvp-section h2{font-size:29px}.rsvp-section>p{font-size:12px;margin-bottom:20px}.pending-badge{font-size:10px}.closing{padding:39px 20px 60px}.closing-english{font-size:29px}.closing>p:nth-child(2){font-size:20px}.music-toggle{left:15px;bottom:15px;width:40px;height:40px}}
@media(max-width:360px){.hero-english{font-size:51px}.hero-english>span{font-size:41px}.portrait-stage{width:230px;height:270px}.portrait-ring{width:210px;height:250px;left:10px}.birthday-badge{width:86px;height:86px;right:-8px;font-size:12px}.birthday-badge>em{font-size:28px}.hero h1{font-size:53px}.gate h2{font-size:53px}.gate-english{font-size:35px}.gate-cake{width:min(265px,38svh)}.section-heading h2{font-size:29px}.invitation-copy{font-size:21px}.event-item p{font-size:18px}.party-strip{gap:9px;font-size:9px}.wish-message{font-size:19px}.gate-glint{display:none}}
@media(max-height:680px){.gate-inner{padding-top:24px;padding-bottom:20px}.gate-english{margin-top:12px;font-size:34px}.gate h2{font-size:50px}.gate-cake{width:min(230px,34svh);margin-top:15px;margin-bottom:4px}.gate-hint{margin-top:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js [data-reveal]{opacity:1;transform:none}}
/* المنصّة: زرّ موسيقاها العائم يتنحّى — زرّ التصميم نفسه يقودها (__da3waMusicGo/Pause).
   ونصّ بلا مسافات من المحرّر (رابط خرائط في حقل العنوان) لا يوسّع الصفحة على الجوال. */
#da3wa-music{display:none!important}#invite{overflow-wrap:anywhere;overflow-x:hidden;overflow-x:clip}#da3wa-rsvp,#da3wa-cal{position:relative;z-index:1}
#da3wa-cal{margin:22px auto 0}

/* ═══ بلا صورة: العمر شموعَ أرقامٍ وردية ذهبية داخل الإطار البيضوي، لكل رقمٍ فتيلٌ ولهب ═══ */
.ring-fill{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 36% 28%,var(--paper, #fffaf6) 0,#fbe8ea 46%,#f2c9d1 100%)}
.ring-fill:before{content:"";position:absolute;inset:9px;border-radius:inherit;border:1px solid #dea7b58c;border-radius:48% 48% 46% 46%}
.ring-fill:after{content:"";position:absolute;left:50%;top:34%;width:80%;aspect-ratio:2/1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(closest-side,#ffd9a85c,#ffd9a800);opacity:0;transition:opacity 1.2s ease .8s;pointer-events:none}
.opened .ring-fill:after{opacity:1}
.mono-num{position:relative;z-index:1;display:flex;gap:.04em;margin-top:.2em;font:400 104px/.74 Georgia,"Times New Roman",serif;font-size:46cqw;font-variant-numeric:lining-nums}
.mono-num.n3{font-size:33cqw}
.mono-num .d{position:relative;display:block}
.mono-num .g{display:block;padding-top:.05em;background:linear-gradient(180deg,#f7d5cb 0%,#e3a3a6 38%,#c06380 70%,#9a3a5b 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 3px 4px #a8576a33)}
.mono-num .d:before{content:"";position:absolute;left:50%;top:-.03em;width:2px;height:.12em;transform:translateX(-50%);border-radius:1px;background:linear-gradient(#3d2430,#6d4553)}
.mono-num .flame,.mono-candle .flame{left:50%;margin-left:-5px;opacity:0;transition:opacity .5s ease var(--d,0s)}
.mono-num .flame{top:calc(-.03em - 24px)}
.mono-candle{display:none;position:relative;z-index:1;width:15%;height:46%;margin-top:16%;border-radius:4px 4px 3px 3px;background:repeating-linear-gradient(135deg,#fff6f2 0 8px,var(--pink, #eeafbc) 8px 13px);box-shadow:inset -3px 0 6px #b5677a40,0 6px 12px #a8576a2e}
.mono-candle:before{content:"";position:absolute;left:50%;top:-11px;width:2px;height:11px;transform:translateX(-50%);background:linear-gradient(#3d2430,#6d4553)}
.mono-candle .flame{top:-34px}
.ring-fill.solo .mono-num{display:none}.ring-fill.solo .mono-candle{display:block}
.opened .ring-fill .flame{opacity:1}
.hero-age{font-size:13px;color:#a2687c;margin:-4px 0 10px}.hero-age>span:first-child{font:italic 26px/1 Georgia,serif;color:var(--rose);vertical-align:-3px}
.hero-tagline,.wish-message{white-space:pre-line}
/* «مرّر للأسفل» — طلب كرار «اجعلوها أوضح»: زرّ «اكتشفوا الدعوة» الباهت كان يضيع أسفل الواجهة
   ويختفي خلف شريط ديمو المعرض. كبسولةٌ بتدرّج أزرار التصميم ونصٍّ أبيض وسهمين يتتابعان، تطفو
   بعد الفتح وتتنحّى مع أوّل تمرير (كـ«وقار» #954)، وفوق شريط «أعجبك القالب؟» حين يظهر */
.scroll-cue{position:fixed;left:0;right:0;z-index:35;bottom:calc(18px + env(safe-area-inset-bottom,0px));width:max-content;margin:0 auto;display:flex;align-items:center;gap:11px;padding:11px 22px 11px 18px;border:1px solid #9e345c;border-radius:100px;background:linear-gradient(120deg,#b54869,#942c50);color:#fff;font:15px/1.4 var(--sans);box-shadow:0 10px 26px #86304f4d,0 0 0 4px #fff5f2b8;opacity:0;transform:translateY(16px);pointer-events:none;transition:opacity .6s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.opened .scroll-cue{opacity:1;transform:none;pointer-events:auto;transition-delay:1.1s}
.opened.is-scrolled .scroll-cue{opacity:0;transform:translateY(16px);pointer-events:none;transition-delay:0s}
.cue-arrows{display:flex;flex-direction:column;gap:1px;animation:cueNudge 1.4s ease-in-out infinite}
.cue-arrows svg{display:block;width:15px;height:7.5px}.cue-arrows svg:last-child{opacity:.6}
@keyframes cueNudge{50%{transform:translateY(3px)}}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ═══ برنامج الحفلة والتنويهات (من المحرّر) ═══ */
.program,.notes{max-width:520px;margin:38px auto 0;text-align:center}
.program-title{font:400 30px/1.6 var(--ruqaa);color:#923651}
.timeline,.notes-list{list-style:none;margin:14px 0 0;padding:0;text-align:right}
.timeline li{display:flex;align-items:baseline;gap:14px;padding:13px 4px;border-bottom:1px dashed #dcaabb70}
.timeline .t-title{flex:1;font:20px/1.6 var(--serif);color:#74475b}
.timeline .t-time{font-size:13px;color:var(--rose);white-space:nowrap}
.notes-list li{padding:10px 4px;font:18px/1.8 var(--serif);color:#755164;border-bottom:1px dashed #dcaabb70}
.notes-list li:before{content:"♡";color:#cb7d96;margin-left:10px;font-family:Georgia,serif}
.closing-hashtag{font-size:14px;color:var(--rose);margin-top:10px}.closing-host{font-size:13px;color:#ad8090;margin-top:6px}
.closing-hashtag:empty,.closing-host:empty{display:none}
@media(max-width:640px){.program-title{font-size:26px}.timeline .t-title{font-size:18px}.notes-list li{font-size:16px}}
