@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9f2c937bd69b4770-s.03p0c7k0~m58u.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:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/166808bd4a3ffbee-s.01fq7_8dgzy9y.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:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/a6041e237e27a445-s.p.0u37ayw1ehnf7.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:Fraunces Fallback;src:local(Times New Roman);ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.0%;size-adjust:115.45%}.fraunces_4a0dbd2f-module__9DfNhG__className{font-family:Fraunces,Fraunces Fallback;font-style:normal}.fraunces_4a0dbd2f-module__9DfNhG__variable{--font-fraunces:"Fraunces", "Fraunces Fallback"}
@font-face{font-family:Great Vibes;font-style:normal;font-weight:400;font-display:swap;src:url(../media/a1e5f881e1ca6a9a-s.13fuw45rznnbw.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Great Vibes;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2efc0c479abd2474-s.00_s7u0207b06.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Great Vibes;font-style:normal;font-weight:400;font-display:swap;src:url(../media/70963ccca14000df-s.0.c8snxkpy0.1.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Great Vibes;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9a146d0fd3ff96e4-s.130eupr26to7g.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:Great Vibes;font-style:normal;font-weight:400;font-display:swap;src:url(../media/0474ff9f7224a0da-s.0b9ze1zw0~l1a.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:Great Vibes;font-style:normal;font-weight:400;font-display:swap;src:url(../media/f48d461c03e0a8ec-s.p.13m1ppbimti50.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:Great Vibes Fallback;src:local(Arial);ascent-override:124.79%;descent-override:58.8%;line-gap-override:0.0%;size-adjust:68.19%}.great_vibes_e188094b-module__L8KftW__className{font-family:Great Vibes,Great Vibes Fallback;font-style:normal;font-weight:400}.great_vibes_e188094b-module__L8KftW__variable{--font-great-vibes:"Great Vibes", "Great Vibes Fallback"}
@font-face{font-family:Dancing Script;font-style:normal;font-weight:400 700;font-display:swap;src:url(../media/32fe63294b6cd18c-s.090h5ho-armea.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:Dancing Script;font-style:normal;font-weight:400 700;font-display:swap;src:url(../media/73091b67359a1d13-s.0oa818ucctjip.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:Dancing Script;font-style:normal;font-weight:400 700;font-display:swap;src:url(../media/406d3fc8d5ec9f59-s.p.06~5xv2ritwv5.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:Dancing Script Fallback;src:local(Arial);ascent-override:112.99%;descent-override:34.39%;line-gap-override:0.0%;size-adjust:81.43%}.dancing_script_f251a9e9-module__rJHZDa__className{font-family:Dancing Script,Dancing Script Fallback;font-style:normal}.dancing_script_f251a9e9-module__rJHZDa__variable{--font-dancing:"Dancing Script", "Dancing Script Fallback"}
:root{--primary:#e84393;--secondary:#fdcb6e;--background:#2d3436;--text:#fff;--glass-bg:#ffffff1a;--glass-border:#fff3}*{box-sizing:border-box;margin:0;padding:0}body{color:var(--text);background:radial-gradient(circle,#fffafb 0%,#fdeaf1 100%);justify-content:center;align-items:center;min-height:100vh;font-family:Inter,system-ui,-apple-system,sans-serif;display:flex;overflow:hidden}.container{z-index:10;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100vh;padding:2rem;display:flex;position:relative}.glass-panel{-webkit-backdrop-filter:blur(16px);text-align:center;background:#ffffff80;border:1px solid #fffc;border-radius:24px;max-width:90vw;padding:3rem 4rem;animation:6s ease-in-out infinite float;box-shadow:0 8px 32px #f8bbd04d}.title{letter-spacing:2px;color:#d81b60;text-shadow:0 0 10px #f48fb166;font-size:2.5rem;font-weight:300;font-family:var(--font-fraunces), serif;margin-bottom:2rem}.timer{justify-content:center;gap:2rem;display:flex}.time-box{flex-direction:column;align-items:center;display:flex}.time-value{background:linear-gradient(135deg,#ec407a,#f48fb1);-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 4px #0000000d);-webkit-background-clip:text;font-size:5rem;font-weight:700;line-height:1}.time-label{text-transform:uppercase;letter-spacing:3px;opacity:.8;color:#d81b60;margin-top:.5rem;font-size:1rem}.paper-letter{-webkit-backdrop-filter:blur(5px);color:#2c3e50;transform-origin:top;text-align:left;background:#fdfbf7d9 url("data:image/svg+xml,%3Csvg width='100' height='100' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100' height='100' filter='url(%23noise)' opacity='0.05'/%3E%3C/svg%3E");flex-direction:column;align-items:center;width:100%;max-width:100%;height:100%;padding:5rem 0;animation:1.5s cubic-bezier(.175,.885,.32,1.275) forwards unfold;display:flex;position:relative;overflow:hidden auto}.paper-letter:before{content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 50px #8b73550d}.letter-content-wrapper{width:90%;max-width:750px;position:relative}.paper-letter h1{color:#d81b60;font-size:4.5rem;font-family:var(--font-great-vibes), cursive;text-align:left;text-shadow:1px 1px 2px #f48fb133;margin-bottom:1.5rem;font-weight:400}.paper-letter .body-text{font-family:var(--font-fraunces), serif;color:#5c4d4d;text-indent:0;text-align:justify;margin-bottom:2rem;font-size:1.45rem;line-height:2.1}.drop-cap:first-letter{font-family:var(--font-great-vibes), cursive;color:#d81b60;float:left;text-shadow:1px 1px 2px #f48fb133;margin-top:.5rem;margin-right:.8rem;font-size:5.5rem;line-height:.7}.paper-letter .signature{font-family:var(--font-great-vibes), cursive;color:#d81b60;text-align:right;margin-top:4.5rem;padding-right:2rem;font-size:3.5rem;line-height:1.2}.polaroid-container{z-index:10;gap:30px;display:flex;position:absolute;top:-30px;right:-20px}.polaroid{background:#fff;border:1px solid #f0f0f0;padding:10px 10px 30px;transition:transform .3s;box-shadow:2px 8px 20px #0000001a}.polaroid:hover{z-index:20!important;transform:scale(1.05)rotate(0)!important}.polaroid.p1{z-index:1;width:150px;height:180px;transform:rotate(-4deg)}.polaroid.p2{z-index:2;width:160px;height:190px;margin-left:0;transform:rotate(6deg)}.polaroid-img{border-radius:2px;width:100%;height:100%;position:relative;overflow:hidden}.heart{color:#b33939;animation:1.5s infinite pulse;display:inline-block}.global-footer{text-align:center;width:100%;font-family:var(--font-fraunces), serif;color:#d81b60;z-index:10;pointer-events:none;opacity:1;text-shadow:0 0 10px #ffffff80;font-size:1.1rem;transition:opacity .8s;position:absolute;bottom:2rem;left:0}.global-footer.hidden{opacity:0}.heart-explosion-container{z-index:90;pointer-events:none;width:0;height:0;position:fixed;top:50%;left:50%}.exploding-heart{opacity:0;animation:2s cubic-bezier(.1,.8,.3,1) forwards burst;position:absolute;top:0;left:0;transform:translate(-50%,-50%)scale(0)}@keyframes burst{0%{opacity:1;transform:translate(-50%,-50%)rotate(0)scale(0)}70%{opacity:1}to{transform:translate(calc(-50% + var(--tx)), calc(-50% + var(--ty))) rotate(var(--r)) scale(1.5);opacity:0}}.particles{pointer-events:none;z-index:1;width:100vw;height:100vh;position:fixed;top:0;left:0;overflow:hidden}.particle{opacity:0;border-radius:50%;animation-name:rise;animation-timing-function:linear;animation-iteration-count:infinite;animation-fill-mode:both;position:absolute;bottom:-100px}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes unfold{0%{opacity:0;transform:perspective(1000px)rotateX(-90deg)}to{opacity:1;transform:perspective(1000px)rotateX(0)}}@keyframes rise{0%{opacity:0;bottom:-100px;transform:translate(0)scale(.8)}10%{opacity:var(--max-opacity,.6);transform:translateX(calc(var(--drift,-20px) * .2)) scale(1)}90%{opacity:var(--max-opacity,.6);transform:translateX(calc(var(--drift,-20px) * .8)) scale(1)}to{transform:translateX(var(--drift,-20px)) scale(.8);opacity:0;bottom:100vh}}.password-modal{z-index:50;-webkit-backdrop-filter:blur(10px);background:#ffffffd9;border:1px solid #ffffffe6;border-radius:16px;flex-direction:column;align-items:center;padding:2.5rem 3.5rem;animation:.5s ease-out unfold;display:flex;position:absolute;box-shadow:0 10px 40px #0000001a}.password-input{font-size:1.2rem;font-family:var(--font-fraunces), serif;text-align:center;color:#5c4d4d;background:#ffffffe6;border:2px solid #f8bbd0;border-radius:30px;outline:none;padding:.8rem 1.5rem;transition:all .3s}.password-input:focus{border-color:#d81b60;box-shadow:0 0 15px #d81b6033}.password-input.error{color:#e74c3c;border-color:#e74c3c}.unlock-btn{color:#fff;font-size:1.1rem;font-family:var(--font-fraunces), serif;cursor:pointer;background:linear-gradient(135deg,#f48fb1,#d81b60);border:none;border-radius:30px;padding:.8rem 2rem;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 15px #d81b604d}.unlock-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #d81b6066}.envelope-wrapper.blurred{filter:blur(8px);pointer-events:none}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}.shake{animation:.4s ease-in-out shake}.envelope-container{perspective:1000px;justify-content:center;align-items:center;height:100vh;display:flex}.envelope-wrapper{cursor:pointer;width:400px;height:250px;transition:transform .5s;position:relative}.envelope-wrapper:hover{transform:translateY(-5px)}.envelope{z-index:2;background:#f8cdd6;border-radius:8px;width:100%;height:100%;position:absolute;box-shadow:0 15px 35px #0003}.envelope:before{content:"";z-index:3;border-bottom:130px solid #f2bac5;border-left:200px solid #0000;border-right:200px solid #0000;border-radius:0 0 8px 8px;position:absolute;bottom:0;left:0}.envelope:after{content:"";z-index:2;border:125px solid #0000;border-left:200px solid #f6c1cd;border-right:200px solid #f6c1cd;border-radius:8px;position:absolute;top:0;left:0}.flap-top{z-index:4;transform-origin:top;filter:drop-shadow(0 5px 5px #0000000d);border-top:135px solid #fdbccb;border-left:200px solid #0000;border-right:200px solid #0000;border-radius:8px 8px 0 0;width:0;height:0;transition:transform .8s ease-in-out;position:absolute;top:0;left:0}.envelope-wrapper.open .flap-top{z-index:1;transform:rotateX(180deg)}.heart-seal{color:#e84393;z-index:5;pointer-events:none;filter:drop-shadow(0 2px 4px #0003);font-size:3.5rem;transition:opacity .4s,transform .4s;position:absolute;top:105px;left:50%;transform:translate(-50%)}.envelope-wrapper.open .heart-seal{opacity:0;transform:translate(-50%)scale(0)}.letter-stub{z-index:1;background:#fdfbf7;border-radius:4px;justify-content:center;align-items:flex-start;width:85%;height:90%;padding-top:20px;transition:transform 1.2s ease-in-out .6s;display:flex;position:absolute;bottom:10px;left:50%;transform:translate(-50%);box-shadow:0 0 10px #0000001a}.envelope-wrapper.open .letter-stub{transform:translate(-50%)translateY(-150px)}.full-letter-overlay{z-index:100;opacity:0;pointer-events:none;background:0 0;justify-content:center;align-items:center;transition:opacity .8s;display:flex;position:fixed;inset:0}.full-letter-overlay.show{opacity:1;pointer-events:all}@media (max-width:768px){.title{font-size:2rem}.glass-panel{width:90vw;padding:2rem}.timer{flex-wrap:wrap;gap:1rem}.time-box{min-width:80px;padding:1rem}.time-value{font-size:2rem}.time-label{font-size:.9rem}.envelope-wrapper{transform:scale(.85)}.envelope-wrapper:hover{transform:scale(.85)translateY(-5px)}.password-modal{width:90vw;padding:1.5rem}.password-input{width:100%;font-size:1rem}.paper-letter{padding:2rem 0}.letter-content-wrapper{width:95%}.paper-letter h1{text-align:center;font-size:3rem}.paper-letter .body-text{text-align:left;font-size:1.15rem;line-height:1.6}.drop-cap:first-letter{margin-top:.2rem;margin-right:.5rem;font-size:4.5rem}.paper-letter .signature{text-align:center;margin-top:3rem;padding-right:0;font-size:2.5rem}.polaroid-container{justify-content:center;margin-bottom:2rem;position:relative;top:auto;right:auto;transform:scale(.85)}.polaroid.p1{transform:rotate(-3deg)}.polaroid.p2{transform:rotate(3deg)}.global-footer{font-size:.9rem}}
