@font-face{font-family:Plex;src:url('/assets/arabic.woff2') format('woff2');font-display:swap}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#fff;color:#4c183d;font-family:Plex,Tahoma,sans-serif}body{min-height:100svh;overflow-x:hidden;display:flex;flex-direction:column;isolation:isolate}.ambient{position:fixed;inset:0;z-index:-1;background:radial-gradient(ellipse at 8% 65%,#f4dce951,transparent 45%),radial-gradient(ellipse at 90% 30%,#e9e5ff70,transparent 42%),linear-gradient(115deg,#fff,#fdfbfe 55%,#fff)}.ambient:before,.ambient:after{content:'';position:absolute;width:38vw;height:38vw;border:1px solid #8d357815;transform:rotate(45deg);top:35%;left:-28vw;box-shadow:0 0 0 40px #8d357805,0 0 0 80px #8d357804}.ambient:after{left:auto;right:-28vw;top:18%}header{display:flex;align-items:center;justify-content:space-between;padding:28px clamp(22px,6vw,96px);direction:rtl}.brand{background-image:url('/assets/brand-reference.png');background-repeat:no-repeat;background-size:719.5px 271.5px}.deraah{width:78px;height:78px;background-image:url('/assets/deraah-transparent.png');background-size:98px 100px;background-position:-10px -14px}.derex{width:218px;height:62px;background-position:-10px -14px}.partnership{color:#b9a7b4;font:24px Georgia;position:absolute;left:50%;transform:translateX(-50%)}main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:18px 24px 35px}.eyebrow{display:flex;align-items:center;gap:16px;font-size:13px;letter-spacing:1px;color:#9a6e8d}.eyebrow span{width:40px;height:1px;background:#cfb6c8}h1{font-size:clamp(24px,3vw,42px);font-weight:400;margin:14px 0 22px}.ems{width:min(540px,68vw);mix-blend-mode:multiply;height:auto}.tagline{font-size:clamp(14px,1.6vw,20px);color:#92788c;margin:24px 0 30px}.action{min-height:116px}button{font-family:inherit;cursor:pointer;display:flex;align-items:center;gap:26px;padding:17px 35px;border:1px solid #ffffff50;border-radius:18px;color:white;background:linear-gradient(115deg,#451232,#792656 70%,#bd096f);font-size:clamp(22px,2.2vw,29px);box-shadow:0 14px 38px #641c4930,inset 0 1px 0 #ffffff25;transition:transform .25s,box-shadow .25s;position:relative;overflow:hidden}button:before{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,#ffffff20 48%,transparent 65%);transform:translateX(120%);animation:shine 5s infinite}button:hover:enabled{transform:translateY(-3px);box-shadow:0 20px 45px #641c4940}button:focus-visible{outline:3px solid #e60083;outline-offset:6px}button:disabled{cursor:wait;opacity:.65}button svg{width:29px;fill:none;stroke:currentColor;stroke-width:1.4}#status{font-size:12px;color:#a08a99;min-height:20px;margin:14px 0 0}footer{direction:ltr;display:flex;align-items:center;justify-content:center;gap:17px;color:#af9ba8;font:10px Arial;letter-spacing:2.5px;padding:20px 15px 26px}footer i{height:12px;width:1px;background:#d8cbd3}#celebration{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:5}#countdown[hidden]{display:none}#countdown{height:165px;animation:appear .5s ease}.count-ring{width:120px;height:120px;position:relative;margin:auto}.count-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.count-ring circle{fill:none;stroke-width:2}.track{stroke:#e8d9e3}.progress{stroke:#d80078;stroke-dasharray:515;stroke-dashoffset:0}.count-ring strong{position:absolute;inset:0;display:grid;place-items:center;font:64px Georgia;color:#5f1b47}#countdown p{margin:8px;color:#8e567d}body.launching .action{display:none}body.launching .tagline{margin-bottom:18px}#portal{position:fixed;inset:0;z-index:10;background:radial-gradient(ellipse at center,#a4126b,#511333 65%);clip-path:circle(0% at 50% 60%);transition:clip-path .85s cubic-bezier(.7,0,.2,1);display:grid;place-items:center;color:white;pointer-events:none}.portal-message{text-align:center;font-size:clamp(28px,4vw,52px);opacity:0;transform:translateY(12px);transition:all .5s .2s}.portal-message span{display:block;font-size:16px;color:#ecd4e3;margin-top:16px}body.departing #portal{clip-path:circle(150% at 50% 60%)}body.departing .portal-message{opacity:1;transform:none}@keyframes shine{0%,60%{transform:translateX(120%)}100%{transform:translateX(-120%)}}@keyframes appear{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media(max-width:600px){header{padding:23px 20px}.derex{transform:scale(.78);transform-origin:left center;width:218px;margin-right:-45px}.deraah{transform:scale(.85);transform-origin:right center}.partnership{display:none}main{padding-top:25px}h1{margin-bottom:24px}.ems{width:88vw}.tagline{max-width:260px;line-height:1.9;margin:26px 0}button{padding:17px 24px;gap:15px}footer{font-size:8px;letter-spacing:1.5px}}@media(prefers-reduced-motion:reduce){*,*:before{animation:none!important;transition:none!important}#celebration{display:none}}

@font-face{font-family:Cairo;src:url('/assets/Cairo-Variable.ttf') format('truetype');font-weight:200 1000;font-display:swap}#launch{font-family:Cairo,Tahoma,sans-serif;font-weight:600}.action{margin-top:30px}#status:empty{visibility:hidden}

#sound{position:fixed;bottom:15px;right:18px;z-index:20;font:13px Cairo,Tahoma,sans-serif;padding:8px 14px;border-radius:24px;background:#fff;color:#68244f;border:1px solid #cfb6c8;box-shadow:0 3px 12px #641c4915}#sound:before{display:none}body.launching #celebration{z-index:12}

body{opacity:1;transition:opacity 1.8s ease-in-out}body.fading-out{opacity:0;pointer-events:none}

.ems-stage{position:relative;isolation:isolate;display:grid;place-items:center;width:min(540px,68vw)}.ems-stage .ems{display:block;width:100%;position:relative;z-index:1}.ems-stage:before{content:'';position:absolute;inset:-14% -8%;z-index:0;border-radius:50%;background:radial-gradient(ellipse,#d99bc94a 0%,#c2b0ef30 40%,transparent 70%);opacity:0;pointer-events:none}.ems-stage:after{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(110deg,transparent 34%,#ffffff18 43%,#ffffffa6 50%,#ffffff18 57%,transparent 66%);background-size:300% 100%;background-position:100% 0;opacity:0;mask-image:url('/assets/ems.png');mask-size:100% 100%;mask-repeat:no-repeat}.celebrating .ems-stage:before{animation:ems-halo 2.8s ease-out both}.celebrating .ems-stage:after{animation:ems-shine 1.7s ease-in-out .15s both}@keyframes ems-halo{0%{opacity:0;transform:scale(.82)}30%{opacity:.85}100%{opacity:0;transform:scale(1.35)}}@keyframes ems-shine{0%{opacity:0;background-position:100% 0}20%{opacity:.55}75%{opacity:.55}100%{opacity:0;background-position:0% 0}}@media(max-width:600px){.ems-stage{width:88vw}}@media(prefers-reduced-motion:reduce){.ems-stage:before,.ems-stage:after{animation:none!important;opacity:0!important}}
.ems-stage{mix-blend-mode:multiply}

@font-face{font-family:Amiri;src:url('/assets/Amiri-Bold.ttf') format('truetype');font-weight:700;font-display:swap}#launch{font-family:Cairo,Tahoma,sans-serif;font-weight:600;font-size:clamp(25px,2.6vw,34px);line-height:1.65;max-width:100%;justify-content:center}
.action{max-width:100%}#launch span{min-width:0;white-space:normal}
.action{margin-top:46px}

/* Flexible ribbon and articulated metal scissors. */
.opening-ribbon{position:absolute;inset:48% -12% auto;z-index:3;pointer-events:none;filter:drop-shadow(0 5px 5px #4d15432a)}
.opening-ribbon svg{display:block;width:100%;height:auto;overflow:visible}
.opening-ribbon path{fill:url(#ribbon-satin);stroke:#dc9c77;stroke-width:1}
.ribbon-scissors{position:absolute;left:50%;top:calc(48% - 9px);z-index:4;width:88px;height:97px;opacity:0;transform:translate(-50%,35px) rotate(-8deg);transition:opacity .3s,transform .7s cubic-bezier(.2,.7,.2,1);pointer-events:none;filter:drop-shadow(2px 5px 3px #43203340)}
.ribbon-scissors svg{width:100%;height:100%;overflow:visible}
.ribbon-scissors .blade{fill:url(#scissor-metal);stroke:#858995;stroke-width:.7}
.ribbon-scissors .handle,.ribbon-scissors .handle-neck{fill:none;stroke:#b29354;stroke-width:5}
.ribbon-scissors .pivot{fill:#d6c28f;stroke:#7b704f;stroke-width:1.5}
.scissor-arm{transform-origin:50px 68px}
.ribbon-ready .ribbon-scissors{opacity:1;transform:translate(-50%,0) rotate(0deg)}
.celebrating .ribbon-scissors{animation:ribbon-tool-away 1.15s ease var(--ribbon-elapsed,0ms) both}
.celebrating .scissor-arm.upper{animation:ribbon-snip-upper .22s ease-in-out var(--ribbon-elapsed,0ms) both}
.celebrating .scissor-arm.lower{animation:ribbon-snip-lower .22s ease-in-out var(--ribbon-elapsed,0ms) both}
@keyframes ribbon-tool-away{0%,45%{opacity:1;transform:translate(-50%,0)}100%{opacity:0;transform:translate(-50%,45px) rotate(-10deg)}}
@keyframes ribbon-snip-upper{to{transform:rotate(23deg)}}
@keyframes ribbon-snip-lower{to{transform:rotate(-23deg)}}
@media(max-width:600px){.opening-ribbon{inset-inline:-4%}.ribbon-scissors{width:66px;height:73px;top:calc(48% - 12px)}}
@media(prefers-reduced-motion:reduce){.ribbon-scissors{display:none}.celebrating .opening-ribbon{display:none}}
/* Reveal the ceremony artwork only once the ribbon has been cut. Keep its
   layout space so the ribbon and countdown never jump during the reveal. */
.ambient,header,main>.eyebrow,main>h1,.ems-stage>.ems,footer{opacity:0;transition:opacity .9s ease-out}
.celebrating .ambient,.celebrating header,.celebrating main>.eyebrow,.celebrating main>h1,.celebrating .ems-stage>.ems,.celebrating footer{opacity:1}

html{overflow-x:clip}
#link-setup{width:min(420px,100%);margin:12px auto 24px;padding:16px;border:1px solid #cfb6c8;border-radius:16px;text-align:right}
#link-setup[hidden],#link-result[hidden]{display:none}
#link-setup label{display:block;margin-bottom:8px;font-size:14px}
#link-setup input{width:100%;min-width:0;padding:10px;border:1px solid #cfb6c8;border-radius:8px;font:16px Tahoma,sans-serif}
#link-setup button{font-size:16px;padding:10px 18px;margin-top:12px;max-width:100%}
#link-result{margin-top:16px}
#link-feedback,#launch-error{font-size:13px;overflow-wrap:anywhere}
main{position:relative}
body.launching .action{display:block;visibility:hidden}
#countdown{position:absolute;bottom:35px;left:0;right:0}
