@font-face{font-family:Outfit;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.0kjod.kaq1k69.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.0gx2haw2tmll8.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit Fallback;src:local(Arial);ascent-override:100.18%;descent-override:26.05%;line-gap-override:0.0%;size-adjust:99.82%}.outfit_8778cd42-module__wRojWG__className{font-family:Outfit,Outfit Fallback;font-style:normal}.outfit_8778cd42-module__wRojWG__variable{--font-outfit:"Outfit", "Outfit Fallback"}
@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/65c558afe41e89d6-s.113htgw8u-emy.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/14e23f9b59180572-s.08.c8psu~gif9.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/b49b0d9b851e4899-s.0yfy_qj1.2qn0.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/2a65768255d6b625-s.p.14by5b4al-y~f.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Playfair Display Fallback;src:local(Times New Roman);ascent-override:97.25%;descent-override:22.56%;line-gap-override:0.0%;size-adjust:111.26%}.playfair_display_dc3b86c2-module__wRxeBG__className{font-family:Playfair Display,Playfair Display Fallback;font-style:normal}.playfair_display_dc3b86c2-module__wRxeBG__variable{--font-playfair:"Playfair Display", "Playfair Display Fallback"}
:root{--background:#0f0c29;--background-gradient:linear-gradient(to right, #0f0c29, #302b63, #24243e);--text-primary:#fff;--text-secondary:#ffb6c1;--accent:#ff69b4;--glass-bg:#ffffff0d;--glass-border:#ffffff1a;--glass-shadow:0 8px 32px 0 #0000005e}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--background-gradient);color:var(--text-primary);font-family:var(--font-outfit), var(--font-playfair), sans-serif;flex-direction:column;min-height:100vh;display:flex;overflow-x:hidden}.glass-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:24px;padding:2rem}.page-container{flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:100vh;padding:2rem;display:flex;position:relative;overflow:hidden}.password-input{border:2px solid var(--accent);color:#fff;text-align:center;letter-spacing:.5rem;background:#0000004d;border-radius:12px;outline:none;width:100%;max-width:400px;padding:1rem;font-size:2rem;transition:all .3s}.password-input:focus{box-shadow:0 0 15px var(--accent)}.shake{animation:.5s cubic-bezier(.36,.07,.19,.97) both shake}@keyframes shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}.glow-button{color:#fff;cursor:pointer;background:linear-gradient(45deg,#ff1b6b,#45caff);border:none;border-radius:30px;margin-top:1.5rem;padding:15px 30px;font-size:1.2rem;font-weight:700;transition:all .3s;box-shadow:0 0 15px #ff1b6b80}.glow-button:hover{transform:translateY(-2px)scale(1.05);box-shadow:0 0 25px #ff1b6bcc}h1{text-align:center;text-shadow:0 2px 10px #00000080;background:-webkit-linear-gradient(#fff,#ffb6c1);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:1rem;font-size:clamp(2rem,5vw,4rem)}p{text-align:center;color:#fffc;font-size:1.2rem;line-height:1.6}.cake-container{cursor:pointer;width:250px;height:250px;transition:transform .5s;position:relative}.cake{background:linear-gradient(135deg,#ff9a9e 0%,#fecfef 100%);border-radius:16px 16px 4px 4px;width:100%;height:120px;position:absolute;bottom:0;box-shadow:inset 0 -20px #0000000f,0 12px 30px #0006}.cake:before{content:"";background:#fff;border-radius:16px 16px 20px 20px;width:100%;height:35px;position:absolute;top:0;left:0;box-shadow:0 4px 10px #0000000d}.cake:after{content:"🍓 🍓 🍓 🍓 🍓";text-align:center;letter-spacing:.4rem;pointer-events:none;width:100%;font-size:1.1rem;position:absolute;top:-8px;left:50%;transform:translate(-50%)}.candle{background:repeating-linear-gradient(45deg,#fff,#fff 6px,#ff69b4 6px 12px);border-radius:4px;width:14px;height:40px;position:absolute;top:-30px;left:50%;transform:translate(-50%);box-shadow:0 2px 5px #0003}.flame{z-index:2;background:radial-gradient(circle at bottom,#fc0 30%,#f60 80%);border-radius:50% 50% 20% 20%;width:16px;height:24px;animation:.12s ease-in-out infinite alternate flicker;position:absolute;top:-8px;left:50%;transform:translate(-50%);box-shadow:0 0 20px #fc0,0 0 40px #f60}.candle-glow{pointer-events:none;z-index:1;background:radial-gradient(circle,#ffcc0040 0%,#ff66000d 50%,#f000 70%);border-radius:50%;width:180px;height:180px;transition:opacity .6s;animation:2s ease-in-out infinite alternate glowPulse;position:absolute;top:-80px;left:50%;transform:translate(-50%)}@keyframes glowPulse{0%{opacity:.85;transform:translate(-50%)scale(.95)}to{opacity:1;transform:translate(-50%)scale(1.05)}}@keyframes flicker{0%{transform:translate(-50%)scale(1)rotate(-1deg)}to{opacity:.95;transform:translate(-50%)scale(1.1)rotate(1deg)}}.smoke{opacity:0;filter:blur(2px);background:#f0f0f0a6;border-radius:50%;width:8px;height:8px;position:absolute;top:-20px;left:50%;transform:translate(-50%)}.cake-cut .flame{display:none}.cake-cut .candle-glow{opacity:0;pointer-events:none}.cake-cut .smoke{animation:2.5s ease-out forwards smokeRise}.cake-cut .cake{animation:1.5s ease-in-out forwards cakeSlice}@keyframes smokeRise{0%{opacity:.8;transform:translate(-50%)translateY(0)scale(1)}30%{opacity:.5;filter:blur(3px);transform:translate(-40%)translateY(-25px)scale(2)}to{opacity:0;filter:blur(6px);transform:translate(-20%)translateY(-70px)scale(4)}}@keyframes cakeSlice{0%{clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}40%{clip-path:polygon(0 0,47% 0,47% 100%,0 100%,0 0,53% 0,100% 0,100% 100%,53% 100%)}to{clip-path:polygon(0 0,44% 0,40% 100%,0 100%,0 0,56% 0,100% 0,100% 100%,60% 100%);transform:scale(1.03)}}.envelope{cursor:pointer;background:#e6c27a;border-radius:10px;width:300px;height:200px;margin:0 auto;transition:all .5s;position:relative;box-shadow:0 10px 30px #00000080}.envelope-flap{transform-origin:top;z-index:3;border-top:100px solid #d4af37;border-left:150px solid #0000;border-right:150px solid #0000;width:0;height:0;transition:transform .6s;position:absolute;top:0;left:0}.envelope-seal{z-index:4;background:#a00;border-radius:50%;width:40px;height:40px;transition:opacity .3s;position:absolute;top:85px;left:50%;transform:translate(-50%);box-shadow:0 2px 5px #0000004d}.letter-content{color:#333;z-index:2;font-family:var(--font-playfair), serif;background:#fff8dc;border-radius:5px;padding:20px;transition:all .8s;position:absolute;inset:10px;overflow-y:auto;box-shadow:0 5px 15px #0003}.letter-open .envelope-flap{z-index:1;transform:rotateX(180deg)}.letter-open .envelope-seal{opacity:0}.letter-open .letter-content{z-index:10;width:350px;height:400px;left:-25px;transform:translateY(-150px)scale(1.5)}.fade-in{animation:1s ease-in forwards fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.star{animation:twinkle var(--duration,2s) infinite alternate;background:#fff;border-radius:50%;position:absolute}@keyframes twinkle{0%{opacity:.2;transform:scale(.8)}to{opacity:1;transform:scale(1.2);box-shadow:0 0 10px #fff}}.camera-preview-container{border:3px solid var(--accent);z-index:1000;background:#000;border-radius:50%;justify-content:center;align-items:center;width:120px;height:120px;transition:all .5s cubic-bezier(.175,.885,.32,1.275);display:flex;position:fixed;bottom:24px;right:24px;overflow:hidden;box-shadow:0 8px 32px #ff69b466}.camera-preview-video{object-fit:cover;width:100%;height:100%;transform:scaleX(-1)}.recording-indicator{z-index:1001;background-color:#ff3b30;border-radius:50%;width:10px;height:10px;animation:1.5s infinite alternate pulse-dot;position:absolute;top:8px;right:8px;box-shadow:0 0 8px #ff3b30}@keyframes pulse-dot{0%{opacity:.5;transform:scale(.8)}to{opacity:1;transform:scale(1.2);box-shadow:0 0 12px #ff3b30}}.review-overlay{-webkit-backdrop-filter:blur(12px);z-index:2000;background:#0f0c29d9;justify-content:center;align-items:center;width:100%;height:100%;padding:20px;display:flex;position:fixed;top:0;left:0}.review-modal{text-align:center;-webkit-backdrop-filter:blur(16px);background:#ffffff14;border:1px solid #ffffff26;border-radius:28px;width:100%;max-width:480px;padding:2rem;position:relative;box-shadow:0 20px 50px #00000080}.review-video-container{aspect-ratio:4/3;border:2px solid var(--accent);background:#000;border-radius:16px;width:100%;margin:1.5rem 0;overflow:hidden;box-shadow:0 4px 20px #ff69b433}.review-video{object-fit:cover;width:100%;height:100%;transform:scaleX(-1)}.button-group{justify-content:center;gap:1rem;margin-top:1.5rem;display:flex}.secondary-button{color:#fff;cursor:pointer;background:0 0;border:2px solid #ffffff4d;border-radius:30px;margin-top:1.5rem;padding:12px 24px;font-size:1rem;font-weight:700;transition:all .3s}.secondary-button:hover{background:#ffffff1a;border-color:#fff9;transform:translateY(-2px)scale(1.05)}.upload-loader-container{flex-direction:column;justify-content:center;align-items:center;padding:2rem 0;display:flex}.spinner{border:4px solid #ff69b41a;border-top-color:var(--accent);border-radius:50%;width:50px;height:50px;margin-bottom:1.5rem;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width:600px){.page-container{padding:1rem}.glass-card{border-radius:20px;width:95%;padding:1.5rem}h1{font-size:2rem!important}h2{font-size:1.5rem!important}p{font-size:1rem!important}.password-input{letter-spacing:.3rem;font-size:1.5rem}.glow-button{padding:12px 25px;font-size:1rem}.cake-container{transform:scale(.8)}.cake-container:hover{transform:scale(.85)}.envelope{width:280px;height:180px}.envelope-flap{border-top-width:90px;border-left-width:140px;border-right-width:140px}.letter-content{padding:15px}.letter-content h2{font-size:1.3rem!important}.letter-content p{font-size:.9rem!important}.letter-open .letter-content{width:270px;height:350px;left:5px;transform:translateY(-90px)scale(1.1)}.glass-card div[style*="display: grid"]{grid-template-columns:1fr!important;gap:.5rem!important}}@media (max-width:350px){.envelope{width:240px;height:160px}.envelope-flap{border-top-width:80px;border-left-width:120px;border-right-width:120px}.letter-open .letter-content{width:230px;height:320px;left:5px;transform:translateY(-80px)scale(1.05)}}
