@import "https://fonts.googleapis.com/css2?family=Aref+Ruqaa:wght@400;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Aref+Ruqaa:wght@400;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Fredoka+One&family=Dancing+Script:wght@700&family=Great+Vibes&family=Cairo:wght@400;600;700&display=swap";.card-overlay{z-index:100000;background:#000000bf;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.card-scale-wrapper{justify-content:center;align-items:center;transition:transform .3s;display:flex}.birthday-card-3d{perspective:2000px;width:320px;height:460px;position:relative}.card-inside-right{z-index:1;background:#fff0f5;border:4px solid #fff;border-radius:15px;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0;box-shadow:0 15px 35px #0000004d}.card-cover{width:100%;height:100%;transform-style:preserve-3d;transform-origin:0;z-index:2;cursor:pointer;transition:transform .8s cubic-bezier(.175,.885,.32,1.275);position:absolute;top:0;left:0}.birthday-card-3d.is-open .card-cover{transform:rotateY(-180deg)}.card-face{backface-visibility:hidden;border-radius:15px;width:100%;height:100%;position:absolute;overflow:hidden;box-shadow:0 15px 35px #0000004d}.card-front{background:#fff;border:6px solid #ffb6c1;flex-direction:column;justify-content:center;align-items:center;display:flex}.card-inside-left{color:#fff;text-align:right;direction:rtl;background:#ff1744;flex-direction:column;justify-content:center;padding:20px;display:flex;transform:rotateY(180deg)}.front-photo{object-fit:cover;border:4px solid #ff3b6b;border-radius:50%;width:130px;height:130px;margin:20px 0}.inside-photo{object-fit:cover;border:3px solid #fff;border-radius:10px;width:85%;height:200px;margin-bottom:15px}.close-card-btn{color:#fff;cursor:pointer;z-index:10;background:#ff3b6b;border:none;border-radius:50%;width:35px;height:35px;font-size:16px;font-weight:700;transition:all .3s;position:absolute;top:-15px;right:-15px;box-shadow:0 4px 10px #0000004d}@media (width<=600px){.card-scale-wrapper{transform:scale(.55)}}.circles-container{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.bg-circle{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#ffffff38;border:1.5px solid #ffffff59;border-radius:50%;position:absolute}.landing-page{background:linear-gradient(160deg,#ff9a9e 0%,#fecfef 50%,#ffd6e7 100%);flex-direction:column;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.bunting{z-index:10;pointer-events:none;height:55px;position:fixed;top:0;left:0;right:0}.bunting-rope{background:linear-gradient(90deg,#ff5c8a,#ffb6c1,#ff5c8a);height:2px;position:absolute;top:12px;left:0;right:0;box-shadow:0 0 8px #ff5c8a66}.bunting-flags{justify-content:space-around;padding:0 8px;display:flex;position:absolute;top:0;left:0;right:0}.flag-item{transform-origin:top;filter:drop-shadow(0 2px 4px #ff3b6b40);border-top:22px solid #ff5c8a;border-left:13px solid #0000;border-right:13px solid #0000;width:0;height:0}.hero-content{z-index:5;flex-direction:column;align-items:center;width:100%;max-width:600px;padding:70px 20px 40px;display:flex;position:relative}.date-badge{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#ff3b6b;letter-spacing:2px;background:#ffffffd9;border:2px solid #ff5c8a4d;border-radius:999px;margin-bottom:18px;padding:6px 22px;font-size:.9rem;font-weight:700;box-shadow:0 4px 14px #ff5c8a33}.title-wrap{text-align:center;margin-bottom:10px;line-height:1}.happy-text{color:#fff;text-shadow:4px 4px #ff5c8a,0 0 40px #fff9;letter-spacing:3px;font-family:Fredoka One,cursive;font-size:clamp(3rem,12vw,6.5rem);display:block}.birthday-text{color:#ff3b6b;text-shadow:4px 4px #00000014,0 0 50px #ff3b6b66;letter-spacing:3px;font-family:Fredoka One,cursive;font-size:clamp(3rem,12vw,6.5rem);display:block;position:relative}.hb-char{display:inline-block}.party-hat-icon{transform-origin:bottom;font-size:2rem;animation:2s ease-in-out infinite hatBounce;position:absolute;top:-24px;right:-10px}@keyframes hatBounce{0%,to{transform:rotate(20deg)translateY(0)}50%{transform:rotate(20deg)translateY(-8px)}}.romantic-arabic-font{font-weight:700;font-family:Aref Ruqaa,serif!important}.name-subtitle{color:#78003cf2;text-align:center;direction:rtl;margin-bottom:28px;font-size:clamp(1.6rem,5vw,2.2rem)}.name-highlight{color:#ff3b6b;font-family:Dancing Script,cursive;font-size:1.3em;font-weight:700}.photo-section{justify-content:center;margin-bottom:32px;display:flex;position:relative}.photo-outer-ring{background:linear-gradient(135deg,#ff5c8a,#fff,#ffb6c1,#fff,#ff3b6b);border-radius:50%;width:200px;height:200px;padding:5px;animation:8s linear infinite ringRotate;box-shadow:0 0 0 4px #ff5c8a33,0 12px 40px #ff3b6b59}@keyframes ringRotate{to{background:linear-gradient(495deg,#ff5c8a,#fff,#ffb6c1,#fff,#ff3b6b)}}.photo-container{background:linear-gradient(135deg,#ffd6e7,#ffb6c1);border:5px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:190px;height:190px;display:flex;position:relative;overflow:hidden}.profile-photo{object-fit:cover;width:100%;height:100%;display:block}.photo-fallback{font-size:5rem;position:absolute}.photo-container.no-photo .photo-fallback{display:flex}.chic-cluster{z-index:3;pointer-events:none;flex-direction:column;align-items:center;display:flex;position:absolute}.cluster-left{transform-origin:bottom;animation:4s ease-in-out infinite alternate swayLeft;top:-30px;left:-45px}.cluster-right{transform-origin:bottom;animation:4s ease-in-out infinite alternate swayRight;top:-40px;right:-45px}.cluster-icons{justify-content:center;align-items:center;display:flex;position:relative}.b-main{filter:drop-shadow(0 4px 8px #00000026);font-size:3.5rem}.b-sub{filter:drop-shadow(0 2px 4px #00000026);font-size:2.2rem;position:absolute;bottom:-5px;left:-15px}.cluster-right .b-sub{left:auto;right:-15px}.b-twinkle,.b-heart{font-size:1.5rem;animation:1.5s infinite alternate pulseSparkle;position:absolute;top:-10px;right:-5px}.b-anchor-string{background:linear-gradient(#ff5c8a80,#fff0);width:2px;height:45px;margin-top:-5px}@keyframes swayLeft{0%{transform:rotate(-3deg)}to{transform:rotate(8deg)}}@keyframes swayRight{0%{transform:rotate(3deg)}to{transform:rotate(-8deg)}}@keyframes pulseSparkle{0%{opacity:.4;transform:scale(.8)}to{opacity:1;transform:scale(1.2)}}.buttons-wrap{flex-wrap:wrap;justify-content:center;gap:16px;margin-bottom:30px;display:flex}.btn-primary{cursor:pointer;color:#fff;letter-spacing:1px;background:linear-gradient(135deg,#ff3b6b,#ff5c8a);border:none;border-radius:999px;padding:14px 32px;font-family:Fredoka One,cursive;font-size:1.1rem;transition:transform .2s;box-shadow:0 10px 30px #ff3b6b73}.btn-secondary{cursor:pointer;color:#ff3b6b;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);letter-spacing:1px;background:#ffffffd9;border:3px solid #ff5c8a;border-radius:999px;padding:14px 32px;font-family:Fredoka One,cursive;font-size:1.1rem;transition:transform .2s;box-shadow:0 6px 20px #ff5c8a33}.floating-messages{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.float-msg{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#c0005a;direction:rtl;background:#ffffffbf;border:1.5px solid #ff5c8a4d;border-radius:999px;padding:6px 16px;font-size:.88rem;font-weight:600;box-shadow:0 4px 12px #ff3b6b26}@media (width<=480px){.photo-outer-ring{width:160px;height:160px}.photo-container{width:150px;height:150px}.buttons-wrap{flex-direction:column;align-items:center}.btn-primary,.btn-secondary{text-align:center;width:240px}.cluster-left{left:-25px}.cluster-right{right:-25px}}.envelope-page{background:radial-gradient(#c0001a 0%,#7b0012 50%,#3d0008 100%);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex;position:relative;overflow:hidden}.floating-hearts-bg{pointer-events:none;z-index:1;position:fixed;inset:0;overflow:hidden}.fheart{opacity:.4;animation:linear infinite fHeartRise;position:absolute;bottom:-20px}@keyframes fHeartRise{0%{opacity:.5;transform:translateY(0)rotate(0)}to{opacity:0;transform:translateY(-110vh)rotate(25deg)}}.back-btn{z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;cursor:pointer;direction:rtl;background:#ffffff26;border:1.5px solid #ffffff4d;border-radius:999px;padding:8px 18px;font-family:Cairo,sans-serif;font-size:.9rem;position:fixed;top:18px;right:18px}.heart-scene{z-index:5;flex-direction:column;align-items:center;gap:20px;display:flex;position:relative}.heart-label{color:#fffc;font-family:Dancing Script,cursive;font-size:1.5rem;animation:1.5s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:.7}50%{opacity:1}}.heart-svg{transform-origin:50%;filter:drop-shadow(0 0 20px #ff174499);width:200px;height:180px}.envelope-scene{z-index:5;flex-direction:column;align-items:center;gap:30px;padding:20px;display:flex;position:relative}.envelope-title{color:#fffffff2;text-align:center;text-shadow:0 0 20px #ff648280;font-size:clamp(1.4rem,5vw,1.8rem);font-family:Aref Ruqaa,serif!important}.envelope-3d-wrap{perspective:1000px;width:320px;height:220px;transform-style:preserve-3d;transition:transform .3s;position:relative}.envelope-3d-wrap:hover{transform:translateY(-4px)}.env-back{z-index:2;background:linear-gradient(160deg,#fff0f5,#ffd6e7);border-radius:10px;position:absolute;inset:0;box-shadow:0 20px 60px #00000080,0 0 0 1px #ffb6c14d}.env-letter{z-index:3;opacity:0;background:#fff;border-radius:10px;width:280px;padding:20px 18px;position:absolute;bottom:20px;left:50%;transform:translate(-50%)translateY(0);box-shadow:0 -4px 20px #ff3b6b26}.letter-content{text-align:right;direction:rtl}.letter-greeting{color:#ff3b6b;text-align:center;margin-bottom:10px;font-size:1.6rem;font-weight:700;font-family:Aref Ruqaa,serif!important}.letter-body{color:#7a2955;margin-bottom:14px;font-size:1.25rem;line-height:1.8;font-family:Aref Ruqaa,serif!important}.letter-signature{color:#ff5c8a;text-align:center;font-size:1.5rem;font-family:Aref Ruqaa,serif!important}.env-front{z-index:6;pointer-events:none;position:absolute;inset:0}.env-v-fold{width:0;height:0;position:absolute}.env-v-left{opacity:.5;border-top:110px solid #0000;border-bottom:110px solid #0000;border-left:160px solid #ffc2d8;top:0;left:0}.env-v-right{opacity:.5;border-top:110px solid #0000;border-bottom:110px solid #0000;border-right:160px solid #ffaac8;top:0;right:0}.env-v-bottom{opacity:.7;border-bottom:110px solid #ffb6c1;border-left:160px solid #0000;border-right:160px solid #0000;bottom:0;left:0}.env-flap{z-index:8;transform-origin:top;height:120px;transform-style:preserve-3d;position:absolute;top:0;left:0;right:0}.flap-triangle{filter:drop-shadow(0 4px 8px #ff5c8a33);backface-visibility:hidden;border-top:120px solid #ffcce0;border-left:160px solid #0000;border-right:160px solid #0000;width:0;height:0}.env-seal{z-index:9;filter:drop-shadow(0 4px 10px #ff174480);cursor:pointer;font-size:2.2rem;animation:1.5s ease-in-out infinite sealPulse;position:absolute;top:92px;left:50%;transform:translate(-50%)}@keyframes sealPulse{0%,to{transform:translate(-50%)scale(1)}50%{transform:translate(-50%)scale(1.1)}}.after-open-msgs{flex-direction:column;align-items:center;gap:14px;margin-top:10px;display:flex}.sparkle-row{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.final-msg{color:#fffffff2;text-shadow:0 0 20px #ff648299;text-align:center;direction:rtl;font-size:1.8rem;font-weight:700;font-family:Aref Ruqaa,serif!important}@media (width<=380px){.envelope-3d-wrap{width:280px;height:195px}.env-v-left{border-left-width:140px}.env-v-right{border-right-width:140px}.env-v-bottom,.flap-triangle{border-left-width:140px;border-right-width:140px}.env-letter{width:240px}}.typing-cursor{color:#ff1744;animation:1s infinite blink}@keyframes blink{50%{opacity:0}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;font-family:Cairo,sans-serif;overflow-x:hidden}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ff5c8a66;border-radius:10px}
