*{box-sizing:border-box;margin:0;padding:0}:root{--pink:#ff79b8;--soft:#ffd7ea;--glass:rgba(255,255,255,.06)}html{scroll-behavior:auto}body{font-family:Georgia,Times New Roman,serif;background:#030208;color:#fff;overflow-x:hidden}#bgPhoto{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-4;background:linear-gradient(#05020a8f,#05020a8f),radial-gradient(circle at 50% 15%,rgba(58,12,53,.72) 0,transparent 40%),radial-gradient(circle at 20% 80%,rgba(23,11,50,.72) 0,transparent 40%),url(/assets/bg-CRkqWQfT.jpg) center center / cover no-repeat;opacity:0;transition:opacity 2.2s ease}body.unlocked #bgPhoto{opacity:1}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-3;background:radial-gradient(circle at 50% 15%,rgba(58,12,53,.35) 0,transparent 40%),radial-gradient(circle at 20% 80%,rgba(23,11,50,.35) 0,transparent 40%)}#stars,#hearts,#sparkles{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:20}.star{position:absolute;width:2px;height:2px;background:#fff;border-radius:50%;opacity:.7;animation:twinkle 3s infinite}@keyframes twinkle{50%{opacity:.1;transform:scale(.4)}}.heart{position:absolute;animation:rise 7s linear forwards;font-size:18px;filter:drop-shadow(0 0 9px #ff4d9b)}@keyframes rise{0%{transform:translateY(110vh) rotate(0);opacity:0}15%{opacity:1}to{transform:translateY(-15vh) rotate(25deg);opacity:0}}section{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:70px 20px;position:relative}.wrap{width:min(1000px,94vw);margin:auto}.center{text-align:center}.kicker{text-transform:uppercase;letter-spacing:6px;font-size:.7rem;color:#ff9bc9;margin-bottom:6px}h1{font-size:clamp(4rem,18vw,10rem);line-height:.84;margin:18px 0 24px;background:linear-gradient(135deg,#fff,#ff86c3,#fff);-webkit-background-clip:text;background-clip:text;color:transparent}h2{font-size:clamp(2.2rem,7vw,5rem);color:#ffd8e9;margin-bottom:22px;line-height:1.1}h3{color:#ffd5e7;font-size:1.3rem;margin-bottom:8px;font-weight:400}p{line-height:1.9;color:#f0dce9}.btn{display:inline-block;margin:25px 8px 0;padding:15px 28px;border:1px solid rgba(255,175,210,.4);border-radius:999px;color:#fff;text-decoration:none;background:#ffffff0d;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;font-family:inherit;font-size:1rem;position:relative;overflow:hidden;transition:border-color .4s,box-shadow .4s}.btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 0%,rgba(255,200,230,.14) 50%,transparent 100%);transform:translate(-120%);transition:transform .65s cubic-bezier(.16,1,.3,1)}.btn:hover{border-color:#ffafd2cc;box-shadow:0 12px 40px #ff3d8d33}.btn:hover:after{transform:translate(120%)}.glass{background:linear-gradient(135deg,#ffffff0e,#05020a40);border:1px solid rgba(255,181,213,.13);border-radius:32px;padding:50px;-webkit-backdrop-filter:blur(28px) saturate(1.3);backdrop-filter:blur(28px) saturate(1.3);box-shadow:0 32px 100px #00000080,inset 0 1px #ffffff17}.scroll{margin-top:40px;font-size:.8rem;color:#c7a9bb;animation:bounce 2s infinite}@keyframes bounce{50%{transform:translateY(8px)}}#shootingStars{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2;overflow:hidden}.shooting-star{position:absolute;height:1.5px;border-radius:999px;background:linear-gradient(to right,white,rgba(255,255,255,.4),transparent);transform:rotate(-42deg);animation:shoot var(--dur,.9s) linear forwards}@keyframes shoot{0%{transform:rotate(-42deg) translate(0);opacity:0}8%{opacity:1}85%{opacity:.7}to{transform:rotate(-42deg) translate(650px);opacity:0}}#lockBox{margin-top:0;display:flex;flex-direction:column;align-items:center}.env-wrap{width:240px;height:165px;margin:0 auto 40px;position:relative;animation:envFloat 4s ease-in-out infinite;filter:drop-shadow(0 20px 50px rgba(255,255,255,.06)) drop-shadow(0 0 80px rgba(255,160,200,.07))}@keyframes envFloat{0%,to{transform:translateY(0) rotate(-1.5deg)}50%{transform:translateY(-14px) rotate(1.5deg)}}.env{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(155deg,#ffffff17,#ffffff08);border:1px solid rgba(255,255,255,.14);border-radius:5px;overflow:hidden;box-shadow:inset 0 1px #ffffff1f}.env-flap{position:absolute;top:0;left:0;width:0;height:0;border-left:120px solid transparent;border-right:120px solid transparent;border-top:90px solid rgba(255,255,255,.075);transform-origin:50% 0;transition:transform .9s cubic-bezier(.23,1,.32,1);z-index:2}.env-crease-l{position:absolute;bottom:0;left:0;width:0;height:0;border-bottom:76px solid rgba(255,255,255,.045);border-right:120px solid transparent}.env-crease-r{position:absolute;bottom:0;right:0;width:0;height:0;border-bottom:76px solid rgba(255,255,255,.045);border-left:120px solid transparent}.env-seal{position:absolute;top:50%;left:50%;transform:translate(-50%,-28%);font-size:2.1rem;z-index:3;animation:sealPulse 2.6s ease-in-out infinite}@keyframes sealPulse{0%,to{transform:translate(-50%,-28%) scale(1);filter:drop-shadow(0 0 8px rgba(255,80,120,.55))}50%{transform:translate(-50%,-28%) scale(1.18);filter:drop-shadow(0 0 22px rgba(255,80,120,.9))}}.lock-sub{font-size:.85rem;color:#ffffff73;letter-spacing:3px;text-transform:uppercase;margin-bottom:36px}.lock-hint{font-size:.72rem;color:#fff3;letter-spacing:2px;text-transform:uppercase;margin-top:36px}.countdown{display:flex;justify-content:center;align-items:flex-start;gap:0;flex-wrap:wrap}.time{display:flex;flex-direction:column;align-items:center;padding:0 18px}.time strong{font-size:4rem;font-weight:100;letter-spacing:-2px;color:#fff;display:block;line-height:1;text-shadow:0 0 40px rgba(255,255,255,.22),0 0 80px rgba(255,255,255,.08);font-family:Georgia,serif;transition:transform .15s ease}.time strong.flip{transform:scaleY(.1)}.time span{font-size:.58rem;letter-spacing:4px;text-transform:uppercase;color:#ffffff47;margin-top:10px}.time-sep{font-size:3.2rem;font-weight:100;color:#ffffff26;line-height:1;padding-top:2px;align-self:flex-start}.mem-intro{min-height:55vh}.memory-slides{display:flex;flex-direction:column}.memory-slide{display:grid;grid-template-columns:58% 42%;min-height:100vh;position:relative;overflow:hidden}.memory-slide.flip{grid-template-columns:42% 58%}.memory-slide.flip .mem-photo{order:2}.memory-slide.flip .mem-text{order:1}.mem-photo{position:relative;overflow:hidden;cursor:zoom-in}.mem-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1s cubic-bezier(.16,1,.3,1)}.mem-photo:hover img{transform:scale(1.04)}.mem-photo:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(to right,transparent 65%,rgba(5,2,10,.6) 100%)}.memory-slide.flip .mem-photo:after{background:linear-gradient(to left,transparent 65%,rgba(5,2,10,.6) 100%)}.mem-text{display:flex;flex-direction:column;justify-content:center;padding:70px 55px;background:linear-gradient(135deg,rgba(5,2,10,.12),transparent)}.mem-num{font-size:5.5rem;line-height:1;color:#ff9bc921;font-family:Georgia,serif;letter-spacing:-2px;display:block;margin-bottom:26px;-webkit-user-select:none;user-select:none}.mem-dialogue{font-size:1.15rem;line-height:2.1;color:#ecdde7;font-style:italic;border-left:2px solid rgba(255,155,201,.28);padding-left:22px}.memory-slide:before{content:"";position:absolute;bottom:0;left:5%;right:5%;height:1px;background:linear-gradient(to right,transparent,rgba(255,155,201,.1),transparent);pointer-events:none}#lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000eb;display:none;align-items:center;justify-content:center;z-index:300;padding:30px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}#lightbox img{max-width:90vw;max-height:88vh;border-radius:16px;box-shadow:0 30px 100px #000000b3;animation:lbIn .4s cubic-bezier(.16,1,.3,1)}@keyframes lbIn{0%{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}#lightbox .close{position:absolute;top:22px;right:30px;font-size:2.2rem;color:#fff;cursor:pointer;opacity:.7;transition:.2s}#lightbox .close:hover{opacity:1;transform:scale(1.2)}@media(max-width:800px){.memory-slide,.memory-slide.flip{grid-template-columns:1fr;grid-template-rows:65vw auto}.memory-slide.flip .mem-photo,.memory-slide.flip .mem-text{order:unset}.mem-photo:after,.memory-slide.flip .mem-photo:after{background:linear-gradient(to bottom,transparent 55%,rgba(5,2,10,.75) 100%)}.mem-text{padding:36px 26px}.mem-num{font-size:3.5rem}.mem-dialogue{font-size:1rem}}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:32px;perspective:1200px}.card{padding:30px;border-radius:24px;background:linear-gradient(145deg,#ffffff12,#ff4f9b0a);border:1px solid rgba(255,182,213,.12);position:relative;overflow:hidden;--gx:50%;--gy:50%;transition:border-color .4s,box-shadow .4s,transform .5s cubic-bezier(.16,1,.3,1)}.card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:radial-gradient(circle at var(--gx) var(--gy),rgba(255,154,194,.11) 0%,transparent 65%);opacity:0;transition:opacity .35s;pointer-events:none}.card:hover:before{opacity:1}.card:hover{border-color:#ff9bc98c;box-shadow:0 20px 60px #1a021266,0 0 0 1px #ff5fa32e}.icon{font-size:2.2rem;margin-bottom:14px;display:block}.timeline{margin-top:35px;padding-left:28px;position:relative}.tl-line{position:absolute;left:0;top:0;width:1px;height:0%;background:linear-gradient(to bottom,#ff9bc9,#ff5fa34d)}.event{position:relative;margin:0 0 32px}.event:before{content:"";position:absolute;left:-36px;top:6px;width:12px;height:12px;border-radius:50%;background:#ff8fc5;box-shadow:0 0 18px #ff3f99;transition:box-shadow .3s}.event:hover:before{box-shadow:0 0 30px #ff3f99cc}.event .date{font-size:.72rem;letter-spacing:3px;text-transform:uppercase;color:#ff9bc9;margin-bottom:6px}.letter{font-size:1.12rem;line-height:2.1;text-align:left}.letter p{margin:20px 0}.pink{color:#ff9dcc;font-weight:700}#loveSlider{-webkit-appearance:none;width:100%;max-width:480px;height:10px;border-radius:999px;background:linear-gradient(90deg,#ff2d78,#ff9bc9);outline:none;margin-top:30px;cursor:pointer}#loveSlider::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;border-radius:50%;background:#fff;box-shadow:0 0 18px #ff3f99;cursor:pointer;border:3px solid #ff5fa3}#loveSlider::-moz-range-thumb{width:28px;height:28px;border-radius:50%;background:#fff;box-shadow:0 0 18px #ff3f99;cursor:pointer;border:3px solid #ff5fa3}#loveResult{min-height:1.6rem;margin-top:14px;font-size:1.05rem}.gift{font-size:7rem;cursor:pointer;display:inline-block;transition:.4s;filter:drop-shadow(0 0 28px #ff4c9a)}.gift:hover{transform:scale(1.1) rotate(-5deg)}#secret{display:none;margin-top:25px;animation:appear 1s}@keyframes appear{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.final h2{font-size:clamp(3rem,10vw,7rem)}.signature{font-size:1.5rem;color:#ff9dcc;margin-top:32px;line-height:1.7}#music{position:fixed;right:18px;bottom:18px;z-index:50;width:52px;height:52px;border:1px solid rgba(255,181,213,.3);border-radius:50%;background:#120713e0;color:#fff;font-size:18px;cursor:pointer;transition:.3s;letter-spacing:0}#music:hover{border-color:#ffb5d5b3;box-shadow:0 0 24px #ff3f9959}#music.playing{border-color:#ff64aab3;box-shadow:0 0 24px #ff3f9973;animation:musicPulse 2s ease-in-out infinite}@keyframes musicPulse{0%,to{box-shadow:0 0 20px #ff3f9966}50%{box-shadow:0 0 36px #ff3f99b3}}#navDots{position:fixed;right:22px;top:50%;transform:translateY(-50%);z-index:60;display:none;flex-direction:column;gap:14px}#navDots a{width:10px;height:10px;border-radius:50%;background:#fff3;border:1px solid rgba(255,181,213,.3);position:relative;transition:.3s;display:block}#navDots a.active{background:#ff5fa3;box-shadow:0 0 14px #ff3f99;transform:scale(1.35)}#navDots a:hover:after{content:attr(data-label);position:absolute;right:20px;top:50%;transform:translateY(-50%);background:#150a17;padding:4px 10px;border-radius:8px;font-size:.7rem;white-space:nowrap;border:1px solid rgba(255,181,213,.2)}.sparkle-dot{position:fixed;pointer-events:none;z-index:150;font-size:12px}#mainContent{display:none}@media(max-width:900px){#navDots{display:none!important}.cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.gallery{grid-template-columns:1fr;grid-template-areas:"p1""p2""p3""p4""p5""p6"}.photo:nth-child(1),.photo:nth-child(2),.photo:nth-child(3),.photo:nth-child(4),.photo:nth-child(5),.photo:nth-child(6){min-height:280px}.cards{grid-template-columns:1fr}.glass{padding:28px 20px}}
