@font-face{font-family:Amiri;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/amiri-arabic-400-normal-D0NIBXga.woff2) format("woff2"),url(/assets/amiri-arabic-400-normal-C_1DQziU.woff) format("woff")}@font-face{font-family:Noto Sans Arabic;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-arabic-arabic-400-normal-AAMxebZb.woff2) format("woff2"),url(/assets/noto-sans-arabic-arabic-400-normal-hsqIUL9Q.woff) format("woff")}:root{font-family:Noto Sans Arabic,sans-serif;color:#f5eaf4;background:#171023;font-synthesis:none;--pink:#e5b9cc;--muted:#c5b2ce;--line:#b6a0c52b;color-scheme:dark}*{box-sizing:border-box}body{margin:0;min-width:320px}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;border:0;background:none;touch-action:manipulation}button:focus-visible{outline:2px solid #f6d8e8;outline-offset:5px}button:active{filter:brightness(1.2)}svg{width:24px;height:24px;flex-shrink:0}h1,p{margin:0}h1{font-family:Amiri,serif;font-weight:400;font-size:clamp(30px,5vw,48px);line-height:1.7;text-wrap:balance}p{line-height:1.9}img{display:block;max-width:100%}.sky{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;background:radial-gradient(ellipse at 20% 10%,#69447033,transparent 50%),radial-gradient(ellipse at 85% 65%,#57364d33,transparent 48%),linear-gradient(150deg,#20152f,#151020 65%,#21152c)}.sky:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' opacity='.035' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E");opacity:.35}.sky i{position:absolute;width:2px;height:2px;background:#f6e5f4;border-radius:50%;box-shadow:0 0 6px #cbb7ec;animation:twinkle 6s ease-in-out infinite alternate}header{height:72px;max-width:1000px;margin:auto;padding:max(16px,env(safe-area-inset-top)) 24px 0;display:flex;align-items:center;justify-content:space-between}.icon-button{width:44px;height:44px;display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--muted)}.stage-dots{display:flex;gap:9px;direction:ltr}.stage-dots i{width:4px;height:4px;background:#b49ac04d;border-radius:50%}.stage-dots .active{background:var(--pink);box-shadow:0 0 8px #edc4e5}.stage{max-width:880px;margin:auto;padding:20px 24px max(32px,env(safe-area-inset-bottom));text-align:center;outline:none;animation:arrive .85s ease both;min-height:calc(100svh - 72px)}.stage-0{padding-top:0;min-height:100svh;display:grid;place-items:center}.entry{width:100%;max-width:620px;padding:40px 0}.entry h1{font-size:clamp(36px,6vw,58px);margin:35px auto 18px;max-width:460px}.entry>p{color:var(--muted);font-size:15px}.orbital{position:relative;width:170px;height:170px;margin:auto;border:1px solid #d1aedc1a;border-radius:50%;display:grid;place-items:center;box-shadow:0 0 90px #c29cdf0c,inset 0 0 60px #b77bcb0a}.orbital:before{content:"";position:absolute;top:17px;right:17px;bottom:17px;left:17px;border:1px solid #e0b7dd22;border-radius:50%;transform:rotate(-35deg) scaleX(.7)}.orbital>svg{width:39px;height:39px;color:var(--pink);filter:drop-shadow(0 0 15px #dab7ed)}.orbital span{position:absolute;top:30px;left:19px;width:5px;height:5px;background:var(--pink);border-radius:50%;box-shadow:0 0 18px var(--pink)}.entry-actions{display:flex;justify-content:center;gap:20px;margin-top:34px}.primary,.no{min-width:88px;min-height:48px;border-radius:28px;padding:9px 24px}.primary{background:linear-gradient(135deg,#e5bfd3,#bda5d2);color:#302138;box-shadow:0 5px 30px #b78cbd1a}.no{border:1px solid #bba4ca55;transition:left .22s ease,top .22s ease;color:var(--muted)}.attempt{min-height:65px;padding-top:28px;font-size:14px!important}.galaxy-copy{position:relative;z-index:1}.eyebrow{font-size:15px;color:var(--muted)}.galaxy-copy h1{font-size:48px;color:#efd3e7;animation:arrive 1.3s .15s both}.subline{font-size:12px;animation:arrive 1.3s .4s both}.constellation{position:relative;height:330px;max-width:550px;margin:8px auto 16px}.constellation-lines{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;fill:none;stroke:#d2b8df16;stroke-width:.2;stroke-dasharray:1 2}.big-star{position:absolute;width:48px;height:48px;transform:translate(-50%,-50%);display:grid;place-items:center;z-index:2}.big-star svg{width:26px;height:26px;color:#f7d8e7;fill:#e8bddd66;filter:drop-shadow(0 0 8px #efbdd7);animation:star-breathe 4s var(--delay) infinite alternate}.big-star.discovered svg{fill:#e9bfdb;color:#fff4f7}.welcome-photo{position:absolute;width:140px;left:50%;top:45%;transform:translate(-50%,-50%) rotate(-6deg);padding:7px 7px 22px;background:#f5edf0;box-shadow:0 12px 50px #05030d66}.welcome-crop{aspect-ratio:.79;overflow:hidden}.welcome-crop img{width:100%;max-width:none;transform:translateY(-19%)}.film-heading{display:flex;align-items:center;gap:12px;max-width:480px;margin:0 auto 15px}.film-heading p{font-family:Amiri,serif;font-size:18px;line-height:1.8;flex:1}.film-heading .icon-button{width:40px;height:40px;flex-shrink:0}.film{display:flex;gap:9px;overflow:auto;padding:17px 9px;background:#08070c;border-top:1px solid #ac8eae28;border-bottom:1px solid #ac8eae28;scrollbar-width:none;position:relative;max-width:100%;overscroll-behavior-x:contain;background-image:repeating-linear-gradient(90deg,transparent 0 7px,#aaa0b566 7px 13px,transparent 13px 20px),repeating-linear-gradient(90deg,transparent 0 7px,#aaa0b566 7px 13px,transparent 13px 20px);background-size:100% 5px;background-position:0 5px,0 calc(100% - 5px);background-repeat:no-repeat}.film::-webkit-scrollbar{display:none}.film button{padding:0;flex:0 0 90px;height:100px;overflow:hidden;border-radius:4px;background:#15111b}.film img{width:100%;height:100%;object-fit:contain;-webkit-user-select:none;user-select:none}.film-caption{font-family:Amiri,serif;color:var(--pink);margin:12px 0;font-size:20px}.next{display:flex;align-items:center;justify-content:center;gap:15px;min-height:48px;font-size:12px;margin:24px auto 0;color:#dfc6df;border-bottom:1px solid #bd9dbb44;padding:10px 8px}.next svg{width:20px}.centered{min-height:calc(100svh - 130px);display:flex;flex-direction:column;justify-content:center;align-items:center;padding:30px 0;gap:30px}.centered h1{max-width:540px}.rose{width:220px;height:230px;position:relative;margin:0 auto;isolation:isolate}.rose-glow{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse,#d78fbe20,transparent 65%);transform:scale(1.8)}.rose i{position:absolute;left:67px;top:40px;width:86px;height:110px;background:linear-gradient(calc(var(--i)*30deg),#6c375b,#d79dbb 65%,#ecc1d2);border-radius:70% 28% 65% 35%;transform-origin:50% 70%;transform:rotate(calc(var(--i)*30deg)) scale(calc(.42 + var(--i)*.049));box-shadow:inset 2px 2px 7px #f6d2e433,3px 6px 10px #29132e44;animation:bloom 1.7s both}.rose b{position:absolute;width:1px;height:75px;left:50%;top:143px;background:linear-gradient(#c0a1c0,#c0a1c000);z-index:-1}.wish-garden{position:relative;width:100%;max-width:400px}.butterfly{position:absolute;width:50px;height:50px;top:45px;left:8%;color:#dcb4de;filter:drop-shadow(0 0 10px #bc80d3)}.butterfly svg{width:40px;height:40px;fill:currentColor;animation:flutter 2s infinite alternate}.butterfly-1{left:auto;right:5%;top:140px;transform:rotate(25deg) scale(.7)}.wish-response{min-height:35px;color:var(--pink);font-family:Amiri;font-size:25px}.wishes h1{font-size:30px}.cake-intro{font-size:12px;max-width:460px;margin:auto;color:var(--muted)}.cake-wish{font-size:27px;margin:14px auto 0;max-width:450px}.cake-canvas{height:340px;max-width:550px;margin:auto;touch-action:pan-y;cursor:grab}.cake-canvas canvas{display:block;width:100%;height:100%}.rotation-controls{display:flex;justify-content:center;gap:12px;margin-top:-25px;position:relative}.rotation-controls button{font-size:25px;width:44px;height:44px;color:var(--muted)}.before-blow{font-size:13px;margin-top:12px}.blow-count{display:flex;direction:ltr;gap:8px;justify-content:center;font-family:Amiri;font-size:26px;color:var(--pink);margin:6px}.blow-count span+span{color:#a08ba9}.blow-response{font-size:13px;min-height:45px;max-width:480px;margin:auto;color:var(--pink)}.mic-button{display:flex;align-items:center;justify-content:center;gap:12px;min-height:50px;padding:10px 25px;border:1px solid #c4a0c566;border-radius:30px;margin:12px auto;font-size:14px}.mic-button.listening{background:#c994bc24;box-shadow:0 0 0 calc(5px + var(--level)*20px) #e0b6de15}.touch-fallback{font-size:11px;min-height:44px;color:var(--muted);text-decoration:underline;text-underline-offset:6px;max-width:100%}.poem-section{max-width:580px;margin:auto;padding:30px 0}.poem-section>svg{color:var(--pink);width:35px;height:35px;margin-bottom:25px}.poem-section h1{font-size:29px;margin-bottom:42px}.poem{white-space:pre-wrap;font-family:Amiri,serif;font-size:clamp(21px,4.8vw,30px);line-height:1.9;color:#ecdcec;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:35px 0}.envelope{width:min(310px,90%);height:200px;position:relative;background:linear-gradient(135deg,#d7b8cf,#b99dbd);color:#402940;box-shadow:0 20px 60px #05010c66;border-radius:3px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:22px;font-family:Amiri;font-size:23px}.envelope-fold{position:absolute;top:0;right:0;bottom:0;left:0;clip-path:polygon(0 0,100% 0,50% 63%);background:linear-gradient(#ebd0e0,#bc9dbd);filter:drop-shadow(0 4px 3px #30203a)}.seal{position:absolute;top:80px;background:#795372;border:1px solid #deb5cd;border-radius:50%;width:42px;height:42px;display:grid;place-items:center;color:#e9c7d8}.seal svg{width:22px}.gift .rose{height:170px;transform:scale(.8)}.letter-section{max-width:620px;margin:20px auto}.letter-photo{height:220px;width:80%;margin:0 auto -30px;transform:rotate(-3deg);padding:8px;background:#ebdbe4;box-shadow:0 12px 40px #08031066}.letter-photo img{height:100%;width:100%;object-fit:contain;background:#1d1722}.letter{position:relative;padding:45px 24px 35px;background:linear-gradient(145deg,#f0e1e9,#e3d3e3);color:#49364d;text-align:right;box-shadow:0 15px 70px #09031155;border-radius:3px}.letter>svg{color:#91627f;display:block;margin:0 auto 20px}.letter h1{font-size:29px;text-align:center;margin-bottom:26px}.letter p{font-family:Amiri,serif;font-size:23px;line-height:2.05;white-space:pre-wrap}.ending .revisit{margin-top:6px}.photo-dialog{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;max-width:none;height:100%;max-height:none;border:0;padding:24px;background:transparent;overflow:auto;color:#463448}.photo-dialog[open]{display:grid;place-items:center}.photo-dialog::backdrop{background:#0a0613b8;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.photo-card{position:relative;width:246px;max-width:90vw;background:#fff9fb;padding:12px 12px 16px;transform:rotate(-3deg);box-shadow:0 25px 80px #0008;animation:card-in .5s both}.polaroid-image img{max-height:52svh;object-fit:contain;width:100%}.first-image{height:290px;overflow:hidden}.first-image img{max-height:none;transform:translateY(-19%);width:100%}.photo-card p{font-family:Amiri;font-size:21px;margin:15px -4px 7px;line-height:1.5}.photo-close{position:absolute;left:-17px;top:-21px;background:#39283f;color:#fff;z-index:2}.close-copy{font-size:10px;color:#765b72;min-height:44px}.petal-transition{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:30;overflow:hidden}.petal-transition i{position:absolute;width:28px;height:46px;left:calc(var(--i)*7.7%);top:-10%;border-radius:80% 15% 70% 25%;background:linear-gradient(135deg,#e7bfd2aa,#8f5f9b55);animation:petal 1.1s calc(var(--i)*14ms) both}.confetti{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:20}.confetti i{position:absolute;width:5px;height:10px;background:#d9b3c8;left:calc(var(--i)*2.3%);top:-20px;animation:confetti 3s calc(var(--i)*17ms) both}.confetti i:nth-child(3n){background:#b49dcc}.confetti i:nth-child(2n){background:#cbb085;border-radius:50%}.fallback-cake{padding-top:90px;max-width:290px;margin:auto;transform-style:preserve-3d}.fallback-cake>div:not(.candle-row){height:57px;border-radius:50%/22%;background:linear-gradient(90deg,#af82ad,#f5d4e3,#ba97c7);border-top:8px solid #efcadd;width:100%}.fallback-cake>div:nth-child(2){width:55%;margin:auto}.fallback-cake>div:nth-child(3){width:78%;margin:auto}.candle-row{display:flex;gap:5px;justify-content:center}.candle-row i{width:4px;height:32px;background:#eec9dd;position:relative}.candle-row i:before{content:"";position:absolute;top:-12px;width:5px;height:10px;background:#ffe0a2;border-radius:50%;box-shadow:0 0 10px #ffd98a}.candle-row .out:before{display:none}@keyframes arrive{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes twinkle{to{opacity:.2}}@keyframes star-breathe{to{filter:drop-shadow(0 0 14px #e9b8e5);opacity:.7}}@keyframes bloom{0%{opacity:0;scale:.3}to{opacity:1;scale:1}}@keyframes flutter{to{transform:scaleX(.55) rotate(-8deg)}}@keyframes card-in{0%{opacity:0;transform:translateY(20px) rotate(-8deg) scale(.85)}to{opacity:1;transform:rotate(-3deg)}}@keyframes petal{to{top:110%;transform:translate(40px) rotate(220deg)}}@keyframes confetti{0%{opacity:0;transform:translateY(0) rotate(0)}10%{opacity:1}to{opacity:0;transform:translateY(90svh) rotate(480deg)}}@media(min-width:700px){.stage-1{max-width:900px}.constellation{height:380px}.welcome-photo{width:170px}.film{max-width:650px;margin:auto}.film button{flex-basis:115px;height:125px}.stage{padding-top:30px}.letter{padding:55px}.cake-canvas{height:400px}}@media(max-height:700px){.orbital{width:120px;height:120px}.entry h1{margin-top:24px}.constellation{height:290px}.cake-canvas{height:280px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.petal-transition,.confetti{display:none}}.stage-0{animation-name:entry-fade}@keyframes entry-fade{0%{opacity:0}to{opacity:1}}.rose i{z-index:calc(12 - var(--i))}
