@import"https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700;800&family=Poppins:wght@300;400;500;600;700&family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400&display=swap";.app{position:relative;min-height:100vh;overflow:hidden;-webkit-overflow-scrolling:touch;touch-action:pan-y}.app:before{content:"";position:fixed;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(237,100,166,.03) 1px,transparent 1px),radial-gradient(circle,rgba(120,119,198,.03) 1px,transparent 1px);background-size:50px 50px,80px 80px;background-position:0 0,25px 25px;animation:backgroundMove 60s linear infinite;pointer-events:none;z-index:0}@keyframes backgroundMove{0%{transform:translate(0)}to{transform:translate(50px,50px)}}.hearts-container{position:fixed;width:100%;height:100%;pointer-events:none;z-index:1;overflow:hidden}.floating-heart{position:absolute;bottom:-50px;animation:floatUp linear forwards;opacity:.6;pointer-events:none}@keyframes floatUp{0%{transform:translateY(0) rotate(0);opacity:.6}50%{opacity:.8}to{transform:translateY(-100vh) rotate(360deg);opacity:0}}.content{position:relative;z-index:2;max-width:1200px;margin:0 auto;padding:20px}.hero-section{text-align:center;padding:80px 20px;animation:fadeInDown 1s ease-out}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.main-title{font-family:Playfair Display,serif;font-size:clamp(3rem,8vw,6rem);font-weight:700;color:#fff;margin-bottom:20px;text-shadow:0 2px 40px rgba(237,100,166,.5),0 0 80px rgba(120,119,198,.3);display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:30px;letter-spacing:2px;width:100%;text-align:center}.name{animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.heart-icon{font-size:clamp(2rem,6vw,4rem);animation:heartbeat 1.5s ease-in-out infinite}@keyframes heartbeat{0%,to{transform:scale(1)}25%{transform:scale(1.2)}50%{transform:scale(1)}75%{transform:scale(1.15)}}.family-name{font-size:clamp(1.8rem,4vw,2.8rem);font-family:Playfair Display,serif;font-weight:600;background:linear-gradient(135deg,#fff,#f093fb,#ed64a6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-top:25px;margin-bottom:15px;letter-spacing:4px;text-transform:uppercase;animation:fadeInDown 1.2s ease-out;text-shadow:0 2px 30px rgba(240,147,251,.4);text-align:center;width:100%}.subtitle{font-size:clamp(1.1rem,2.5vw,1.5rem);font-family:Cormorant Garamond,serif;font-style:italic;color:#ffffffbf;margin-bottom:40px;font-weight:400;letter-spacing:2px;text-transform:uppercase;text-align:center;width:100%}.days-counter{display:flex;justify-content:center;gap:20px;margin-top:40px}.counter-box{background:#ffffff0d;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-radius:24px;padding:40px 60px;border:1px solid rgba(255,255,255,.18);box-shadow:0 8px 32px #1f26875e,inset 0 1px #ffffff1a;display:flex;flex-direction:column;align-items:center;transition:all .5s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.counter-box:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .7s ease}.counter-box:hover:before{left:100%}.counter-box:hover{transform:translateY(-12px);box-shadow:0 15px 50px #ed64a666,0 0 80px #7877c64d,inset 0 1px #fff3;border-color:#ffffff4d}.counter-number{font-size:clamp(3rem,6vw,5rem);font-weight:700;color:#fff;display:block;font-family:Playfair Display,serif;background:linear-gradient(135deg,#fff,#ed64a6,#7877c6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative;z-index:1}.counter-label{font-size:clamp(.9rem,2vw,1.1rem);color:#fffc;margin-top:12px;font-weight:400;letter-spacing:2px;text-transform:uppercase}.love-message{margin:60px 0;animation:fadeIn 1.5s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.message-card{position:relative;background:#ffffff14;backdrop-filter:blur(30px) saturate(180%);-webkit-backdrop-filter:blur(30px) saturate(180%);border-radius:32px;padding:60px;border:1px solid rgba(255,255,255,.15);box-shadow:0 8px 32px #1f26875e,0 20px 60px #0006,inset 0 1px #ffffff1a;transition:all .5s cubic-bezier(.4,0,.2,1);overflow:hidden}.message-card:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(237,100,166,.05),transparent,rgba(120,119,198,.05),transparent);animation:shimmer 8s linear infinite}@keyframes shimmer{0%{transform:translate(-100%) translateY(-100%) rotate(0)}to{transform:translate(100%) translateY(100%) rotate(360deg)}}.card-decoration{position:absolute;top:20px;right:20px;font-size:3rem;opacity:.2;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.message-card:hover{transform:translateY(-8px);box-shadow:0 8px 32px #1f26875e,0 30px 80px #ed64a666,inset 0 1px #fff3;border-color:#ffffff40}.message-card h2{position:relative;font-family:Playfair Display,serif;font-size:clamp(2.2rem,4vw,3.5rem);font-weight:700;background:linear-gradient(135deg,#ed64a6,#f093fb,#7877c6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:35px;letter-spacing:1px}.message-card p{position:relative;font-size:clamp(1.05rem,2vw,1.25rem);line-height:2;color:#ffffffe6;margin-bottom:24px;font-weight:300;letter-spacing:.3px}.signature{position:relative;font-family:Cormorant Garamond,serif;font-size:clamp(1.4rem,3vw,2rem);font-style:italic;background:linear-gradient(135deg,#ed64a6,#7877c6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-top:35px;font-weight:500;letter-spacing:.5px}.love-button{position:relative;margin-top:35px;padding:16px 48px;font-size:1rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#ed64a6,#f093fb,#7877c6);background-size:200% 200%;border:none;border-radius:50px;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 20px #ed64a666;letter-spacing:1px;text-transform:uppercase;overflow:hidden;-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;user-select:none}.love-button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#fff3;transform:translate(-50%,-50%);transition:width .6s,height .6s}.love-button:hover:before{width:300px;height:300px}.love-button:hover{transform:translateY(-4px);box-shadow:0 8px 30px #ed64a699;background-position:100% 0}.love-button:active{transform:translateY(-2px)}.hidden-note{position:relative;margin-top:30px;padding:35px;background:#ed64a614;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:24px;border:1px solid rgba(237,100,166,.3);box-shadow:0 8px 32px #ed64a633,inset 0 1px #ffffff1a;animation:slideDown .6s cubic-bezier(.4,0,.2,1)}@keyframes slideDown{0%{opacity:0;transform:translateY(-30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.hidden-note p{font-family:Cormorant Garamond,serif;font-style:italic;font-size:clamp(1.1rem,2vw,1.3rem);color:#fffffff2;font-weight:400;margin:0;line-height:1.9;letter-spacing:.3px}.photo-gallery{margin:80px 0}.gallery-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:60px;flex-wrap:wrap;gap:20px}.gallery-title{font-family:Playfair Display,serif;font-size:clamp(2.8rem,5vw,4rem);font-weight:700;color:#fff;text-shadow:0 2px 40px rgba(237,100,166,.5);display:flex;align-items:center;justify-content:center;gap:25px;letter-spacing:2px;margin:0}.upload-button{padding:14px 32px;font-size:1rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#ed64a6,#f093fb,#7877c6);background-size:200% 200%;border:none;border-radius:50px;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 20px #ed64a666;letter-spacing:.5px;white-space:nowrap}.upload-button:hover{transform:translateY(-4px);box-shadow:0 8px 30px #ed64a699;background-position:100% 0}.upload-button:active{transform:translateY(-2px)}.title-decoration{display:inline-block;font-size:.8em;background:linear-gradient(135deg,#ed64a6,#f093fb,#7877c6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:sparkle 3s ease-in-out infinite}@keyframes sparkle{0%,to{transform:scale(1) rotate(0);opacity:.8}50%{transform:scale(1.3) rotate(180deg);opacity:1}}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:35px;margin-bottom:40px}.photo-item{position:relative;aspect-ratio:1;background:#ffffff08;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:24px;overflow:hidden;border:1px solid rgba(255,255,255,.15);transition:all .6s cubic-bezier(.4,0,.2,1);box-shadow:0 8px 32px #1f26875e,0 15px 40px #0006;cursor:pointer}.photo-item:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:24px;padding:1px;background:linear-gradient(135deg,#ed64a680,#7877c680);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .6s ease}.photo-item:hover:after{opacity:1}.photo-item:hover{transform:translateY(-15px);box-shadow:0 8px 32px #1f26875e,0 25px 70px #ed64a680,0 0 80px #7877c64d}.photo-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}.photo-item:hover img{transform:scale(1.15)}.photo-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#ed64a6d9,#f093fbd9,#7877c6d9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .5s cubic-bezier(.4,0,.2,1)}.photo-item:hover .photo-overlay{opacity:1}.overlay-text{font-size:4.5rem;filter:drop-shadow(0 4px 20px rgba(255,255,255,.5));animation:heartPulse 1.2s ease-in-out infinite}@keyframes heartPulse{0%,to{transform:scale(1)}50%{transform:scale(1.4)}}.reasons-section{margin:80px 0;padding:60px 0}.reasons-title{font-family:Playfair Display,serif;font-size:clamp(2.8rem,5vw,4rem);font-weight:700;color:#fff;text-align:center;margin-bottom:70px;text-shadow:0 2px 40px rgba(237,100,166,.5);animation:fadeIn 1s ease-out;letter-spacing:2px}.reasons-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:30px}.reason-card{background:#ffffff0f;backdrop-filter:blur(25px) saturate(180%);-webkit-backdrop-filter:blur(25px) saturate(180%);border-radius:28px;padding:50px 35px;text-align:center;transition:all .5s cubic-bezier(.4,0,.2,1);border:1px solid rgba(255,255,255,.15);box-shadow:0 8px 32px #1f26875e,0 15px 40px #0000004d,inset 0 1px #ffffff1a;cursor:pointer;position:relative;overflow:hidden}.reason-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(237,100,166,.1),transparent);transition:left .6s ease}.reason-card:hover:before{left:100%}.reason-card:hover{transform:translateY(-18px);box-shadow:0 8px 32px #1f26875e,0 25px 60px #ed64a680,0 0 80px #7877c64d,inset 0 1px #fff3;border-color:#ffffff40}.reason-icon{font-size:4.5rem;margin-bottom:25px;display:inline-block;transition:all .5s cubic-bezier(.4,0,.2,1);filter:drop-shadow(0 4px 15px rgba(237,100,166,.3))}.reason-card:hover .reason-icon{transform:scale(1.3) rotate(15deg);filter:drop-shadow(0 8px 25px rgba(237,100,166,.6))}.reason-card h3{font-family:Playfair Display,serif;font-size:clamp(1.6rem,3vw,2.2rem);font-weight:700;background:linear-gradient(135deg,#ed64a6,#7877c6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:18px;letter-spacing:1px}.reason-card p{font-size:1.05rem;line-height:1.8;color:#ffffffd9;font-weight:300;letter-spacing:.3px}.timeline{margin:80px 0}.timeline-header-section{display:flex;justify-content:space-between;align-items:center;margin-bottom:70px;flex-wrap:wrap;gap:20px}.timeline-title{font-family:Playfair Display,serif;font-size:clamp(2.8rem,5vw,4rem);font-weight:700;color:#fff;text-shadow:0 2px 40px rgba(237,100,166,.5);letter-spacing:2px;margin:0}.add-timeline-button{padding:14px 32px;font-size:1rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#ed64a6,#f093fb,#7877c6);background-size:200% 200%;border:none;border-radius:50px;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 20px #ed64a666;letter-spacing:.5px;white-space:nowrap}.add-timeline-button:hover{transform:translateY(-4px);box-shadow:0 8px 30px #ed64a699;background-position:100% 0}.timeline-container{position:relative;padding-left:50px}.timeline-container:before{content:"";position:absolute;left:20px;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,#ed64a699,#f093fb66,#7877c699);box-shadow:0 0 10px #ed64a680}.timeline-item{position:relative;margin-bottom:50px;animation:slideInRight .8s ease-out}@keyframes slideInRight{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}.timeline-icon{position:absolute;left:-38px;top:0;width:50px;height:50px;background:linear-gradient(135deg,#ed64a6,#f093fb,#7877c6);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;box-shadow:0 4px 20px #ed64a680,0 0 30px #7877c64d;z-index:1;border:2px solid rgba(255,255,255,.3);transition:all .4s ease}.timeline-item:hover .timeline-icon{transform:scale(1.15) rotate(15deg);box-shadow:0 6px 30px #ed64a6b3,0 0 40px #7877c680}.timeline-content{background:#ffffff0f;backdrop-filter:blur(25px) saturate(180%);-webkit-backdrop-filter:blur(25px) saturate(180%);padding:35px;border-radius:24px;border:1px solid rgba(255,255,255,.15);box-shadow:0 8px 32px #1f26875e,0 15px 40px #0000004d,inset 0 1px #ffffff1a;transition:all .5s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.timeline-delete-btn{position:absolute;top:20px;right:20px;width:36px;height:36px;border:none;background:#ff323233;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:50%;color:#fff;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid rgba(255,50,50,.3);opacity:0;z-index:10}.timeline-item:hover .timeline-delete-btn{opacity:1}.timeline-delete-btn:hover{background:#ff3232e6;transform:scale(1.1);box-shadow:0 4px 15px #ff323299}.no-timeline{text-align:center;padding:80px 20px;background:#ffffff0d;border-radius:24px;border:1px solid rgba(255,255,255,.1)}.no-timeline p{color:#ffffffb3;font-size:1.3rem;margin-bottom:15px}.timeline-hint{color:#ed64a6cc;font-size:1rem!important}.timeline-form{display:flex;flex-direction:column;gap:20px}.timeline-modal{max-width:600px!important}.timeline-content:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(to bottom,#ed64a6,#f093fb,#7877c6);transition:all .5s ease;box-shadow:0 0 15px #ed64a680}.timeline-content:hover:before{width:100%;opacity:.08}.timeline-content:hover{transform:translate(20px);box-shadow:0 8px 32px #1f26875e,0 20px 50px #ed64a680,0 0 60px #7877c64d,inset 0 1px #fff3;border-color:#ffffff40}.timeline-content h3{font-family:Playfair Display,serif;font-size:clamp(1.6rem,3vw,2.2rem);font-weight:700;background:linear-gradient(135deg,#ed64a6,#7877c6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:12px;position:relative;z-index:1;letter-spacing:1px}.timeline-date{font-size:.95rem;color:#ed64a6e6;font-weight:600;margin-bottom:18px;display:block;letter-spacing:1px;text-transform:uppercase;position:relative;z-index:1}.timeline-content p{font-size:1.05rem;line-height:1.8;color:#ffffffd9;font-weight:300;position:relative;z-index:1;letter-spacing:.3px}.footer{text-align:center;padding:80px 20px;color:#fff;position:relative;margin-top:80px}.footer:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:80%;height:1px;background:linear-gradient(90deg,transparent,rgba(237,100,166,.5),rgba(120,119,198,.5),transparent);box-shadow:0 0 20px #ed64a64d}.footer-heart{font-size:3.5rem;margin-bottom:25px;animation:heartbeat 1.5s ease-in-out infinite;filter:drop-shadow(0 4px 20px rgba(237,100,166,.5))}.footer p{font-family:Playfair Display,serif;font-size:clamp(1.4rem,3vw,2rem);margin-bottom:15px;font-weight:500;letter-spacing:1px}.footer-date{font-family:Poppins,sans-serif;font-size:1rem;color:#ffffffb3;font-weight:300;letter-spacing:1px}.lightbox-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000f2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:9999;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease-out;cursor:zoom-out}.lightbox-content{max-width:90vw;max-height:90vh;position:relative;animation:zoomIn .4s cubic-bezier(.4,0,.2,1);cursor:default}@keyframes zoomIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.lightbox-content img{max-width:100%;max-height:90vh;width:auto;height:auto;object-fit:contain;border-radius:16px;box-shadow:0 25px 100px #ed64a666,0 0 150px #7877c64d,0 50px 150px #0009;border:1px solid rgba(255,255,255,.1)}.lightbox-close{position:fixed;top:30px;right:30px;width:50px;height:50px;border:none;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:50%;color:#fff;font-size:28px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid rgba(255,255,255,.2);z-index:10001;line-height:1;font-weight:300}.lightbox-close:hover{background:#ed64a6e6;transform:rotate(90deg) scale(1.1);box-shadow:0 4px 20px #ed64a699;border-color:#ffffff4d}.lightbox-nav{position:fixed;top:50%;left:0;right:0;transform:translateY(-50%);display:flex;justify-content:space-between;padding:0 30px;pointer-events:none;z-index:10000}.lightbox-prev,.lightbox-next{pointer-events:all;width:60px;height:60px;border:none;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:50%;color:#fff;font-size:40px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid rgba(255,255,255,.2);line-height:1;font-weight:300}.lightbox-prev:hover,.lightbox-next:hover{background:#ed64a6e6;transform:scale(1.15);box-shadow:0 8px 30px #ed64a699;border-color:#ffffff4d}.lightbox-prev:active,.lightbox-next:active{transform:scale(1.05)}.lightbox-counter{position:fixed;top:30px;left:50%;transform:translate(-50%);background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:12px 30px;border-radius:50px;color:#fff;font-size:16px;font-weight:500;border:1px solid rgba(255,255,255,.2);z-index:10001;letter-spacing:1px;animation:fadeIn .5s ease-out}.lightbox-delete{position:fixed;top:30px;left:30px;width:50px;height:50px;border:none;background:#ff323233;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:50%;color:#fff;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid rgba(255,50,50,.3);z-index:10001;line-height:1}.lightbox-delete:hover{background:#ff3232e6;transform:scale(1.1);box-shadow:0 4px 20px #ff323299;border-color:#ff323280}.lightbox-hint{position:fixed;bottom:30px;left:50%;transform:translate(-50%);background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:10px 25px;border-radius:50px;color:#ffffffb3;font-size:13px;border:1px solid rgba(255,255,255,.1);z-index:10001;animation:fadeIn .8s ease-out;letter-spacing:.5px}@media (max-width: 768px){.lightbox-close{top:15px;right:15px;width:45px;height:45px;font-size:24px}.lightbox-delete{top:15px;left:15px;width:45px;height:45px;font-size:20px}.lightbox-counter{top:15px;padding:10px 24px;font-size:14px}.lightbox-hint{bottom:20px;font-size:11px;padding:8px 20px;max-width:90%;text-align:center}.lightbox-nav{padding:0 10px}.lightbox-prev,.lightbox-next{width:50px;height:50px;font-size:32px}.lightbox-content{max-width:95vw;max-height:80vh}.lightbox-content img{max-height:80vh;border-radius:12px}}@media (max-width: 768px){.hero-section{padding:60px 20px}.main-title{gap:15px}.message-card{padding:40px 30px;border-radius:24px}.timeline-container{padding-left:40px}.timeline-icon{width:45px;height:45px;left:-35px;font-size:1.3rem}.timeline-content{padding:28px}.timeline-header-section{flex-direction:column;align-items:center;text-align:center}.add-timeline-button{width:100%}.timeline-delete-btn{opacity:1;top:15px;right:15px}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:20px}.reasons-grid{grid-template-columns:1fr;gap:25px}.reason-card{padding:40px 28px}.counter-box{padding:30px 40px}.love-button{padding:14px 36px;font-size:.95rem}.gallery-header{flex-direction:column;align-items:center;text-align:center}.gallery-title{flex-direction:column;gap:15px}.upload-button{width:100%;padding:12px 28px}.upload-modal{padding:40px 30px}.upload-modal h2{font-size:2rem}.footer{padding:60px 20px}}.toggle-auth-button{margin-top:15px;padding:10px 20px;font-size:.9rem;color:#fffc;background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:12px;cursor:pointer;transition:all .3s ease;letter-spacing:.3px}.toggle-auth-button:hover{background:#ffffff0d;border-color:#ed64a680;color:#fff}.login-footer-message{margin-top:25px;padding:16px;background:#ed64a61a;border:1px solid rgba(237,100,166,.3);border-radius:12px;color:#ffffffd9;font-size:.9rem;text-align:center;line-height:1.6;letter-spacing:.3px}.notes-section{margin:80px 0;padding:60px 0}.notes-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:60px;flex-wrap:wrap;gap:20px}.notes-title{font-family:Playfair Display,serif;font-size:clamp(2.8rem,5vw,4rem);font-weight:700;color:#fff;text-shadow:0 2px 40px rgba(237,100,166,.5);display:flex;align-items:center;justify-content:center;gap:25px;letter-spacing:2px;margin:0}.add-note-button{padding:14px 32px;font-size:1rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#ed64a6,#f093fb,#7877c6);background-size:200% 200%;border:none;border-radius:50px;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 20px #ed64a666;letter-spacing:.5px;white-space:nowrap}.add-note-button:hover{transform:translateY(-4px);box-shadow:0 8px 30px #ed64a699;background-position:100% 0}.notes-container{display:flex;flex-direction:column;gap:30px;max-width:900px;margin:0 auto}.no-notes{text-align:center;padding:80px 20px;background:#ffffff0d;border-radius:24px;border:1px solid rgba(255,255,255,.1)}.no-notes p{color:#ffffffb3;font-size:1.3rem;margin-bottom:15px}.note-hint{color:#ed64a6cc;font-size:1rem!important}.note-card{position:relative;background:#ffffff0f;backdrop-filter:blur(25px) saturate(180%);-webkit-backdrop-filter:blur(25px) saturate(180%);border-radius:24px;padding:30px;border:1px solid rgba(255,255,255,.15);box-shadow:0 8px 32px #1f26875e,0 15px 40px #0000004d,inset 0 1px #ffffff1a;transition:all .5s cubic-bezier(.4,0,.2,1);animation:slideInRight .6s ease-out}.note-card:hover{transform:translateY(-8px);box-shadow:0 8px 32px #1f26875e,0 25px 60px #ed64a680,0 0 80px #7877c64d,inset 0 1px #fff3;border-color:#ffffff40}.note-baha{border-left:4px solid #6bb6ff}.note-aysenur{border-left:4px solid #ed64a6}.note-header-card{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;flex-wrap:wrap;gap:10px}.note-author{font-size:1.1rem;font-weight:600;color:#fff;letter-spacing:.5px}.note-date{font-size:.85rem;color:#fff9;letter-spacing:.3px}.note-message{font-size:1.1rem;line-height:1.8;color:#ffffffe6;font-weight:300;letter-spacing:.3px;white-space:pre-wrap;word-break:break-word;margin:0;user-select:text;-webkit-user-select:text;cursor:text}.note-delete-btn{position:absolute;top:20px;right:20px;width:36px;height:36px;border:none;background:#ff323233;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:50%;color:#fff;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid rgba(255,50,50,.3);opacity:0}.note-card:hover .note-delete-btn{opacity:1}.note-delete-btn:hover{background:#ff3232e6;transform:scale(1.1);box-shadow:0 4px 15px #ff323299}.note-form{display:flex;flex-direction:column;gap:20px}.note-textarea{width:100%;padding:20px;background:#ffffff0d;border:1px solid rgba(255,255,255,.2);border-radius:16px;color:#fff;font-size:1rem;font-family:Poppins,sans-serif;line-height:1.6;resize:vertical;min-height:150px;transition:all .3s cubic-bezier(.4,0,.2,1);outline:none}.note-textarea::placeholder{color:#fff6}.note-textarea:focus{background:#ffffff14;border-color:#ed64a699;box-shadow:0 0 0 3px #ed64a61a,0 4px 20px #ed64a64d}button,a,.photo-item,.note-card,.reason-card,.timeline-item{-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;user-select:none}input,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;touch-action:manipulation}@media (max-width: 768px){input,textarea,select{font-size:16px!important}}@media (max-width: 768px){.notes-header{flex-direction:column;align-items:center;text-align:center}.add-note-button{width:100%}.note-card{padding:25px 20px}.note-delete-btn{opacity:1;top:15px;right:15px}}.login-container{position:fixed;top:0;left:0;width:100%;height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;background:linear-gradient(135deg,#14141ef2,#281432f2,#1e1428f2)}.login-hearts-bg{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden}.login-heart{position:absolute;bottom:-50px;font-size:2rem;animation:floatUpLogin 8s ease-in-out infinite;opacity:0;will-change:transform,opacity}@keyframes floatUpLogin{0%{transform:translateY(0) rotate(0);opacity:0}10%{opacity:.3}50%{opacity:.5}90%{opacity:.2}to{transform:translateY(-110vh) rotate(360deg);opacity:0}}.login-box{position:relative;z-index:10;width:90%;max-width:450px;background:#ffffff14;backdrop-filter:blur(30px) saturate(180%);-webkit-backdrop-filter:blur(30px) saturate(180%);border-radius:32px;padding:50px 40px;border:1px solid rgba(255,255,255,.15);box-shadow:0 8px 32px #1f26875e,0 20px 60px #0006,inset 0 1px #ffffff1a;animation:slideInUp .8s cubic-bezier(.4,0,.2,1)}@keyframes slideInUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:40px}.login-icon{font-size:4rem;margin-bottom:20px;animation:heartbeat 1.5s ease-in-out infinite;filter:drop-shadow(0 4px 20px rgba(237,100,166,.5))}.login-header h1{font-family:Playfair Display,serif;font-size:2.5rem;font-weight:700;background:linear-gradient(135deg,#ed64a6,#f093fb,#7877c6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:10px;letter-spacing:2px}.login-header p{font-family:Cormorant Garamond,serif;font-style:italic;color:#ffffffb3;font-size:1.1rem;letter-spacing:1px}.login-form{display:flex;flex-direction:column;gap:25px}.input-group{display:flex;flex-direction:column;gap:10px}.input-group label{color:#ffffffe6;font-size:.95rem;font-weight:500;letter-spacing:.5px;padding-left:5px}.input-group input{width:100%;padding:16px 20px;background:#ffffff0d;border:1px solid rgba(255,255,255,.2);border-radius:16px;color:#fff;font-size:1rem;font-family:Poppins,sans-serif;transition:all .3s cubic-bezier(.4,0,.2,1);outline:none}.input-group input::placeholder{color:#fff6}.input-group input:focus{background:#ffffff14;border-color:#ed64a699;box-shadow:0 0 0 3px #ed64a61a,0 4px 20px #ed64a64d;transform:translateY(-2px)}.login-error{background:#ff326426;border:1px solid rgba(255,50,100,.3);color:#ffb3c1;padding:14px 18px;border-radius:12px;font-size:.9rem;text-align:center;animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}.login-button{padding:16px 32px;font-size:1.1rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#ed64a6,#f093fb,#7877c6);background-size:200% 200%;border:none;border-radius:16px;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 20px #ed64a666;letter-spacing:1px;margin-top:10px;position:relative;overflow:hidden}.login-button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#fff3;transform:translate(-50%,-50%);transition:width .6s,height .6s}.login-button:hover:before{width:400px;height:400px}.login-button:hover{transform:translateY(-4px);box-shadow:0 8px 30px #ed64a699;background-position:100% 0}.login-button:active{transform:translateY(-2px)}.login-hint{margin-top:25px;padding:16px;background:#7877c61a;border:1px solid rgba(120,119,198,.3);border-radius:12px;color:#ffffffb3;font-size:.85rem;text-align:center;line-height:1.6}.login-hint strong{color:#f093fb;font-weight:600}.logout-button{margin-top:30px;padding:12px 32px;font-size:.95rem;font-weight:500;color:#fffc;background:#ffffff0d;border:1px solid rgba(255,255,255,.2);border-radius:50px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);letter-spacing:.5px}.logout-button:hover{background:#ed64a633;border-color:#ed64a680;color:#fff;transform:translateY(-2px);box-shadow:0 4px 15px #ed64a64d}.logout-button:active{transform:translateY(0)}.upload-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000e6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10000;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease-out}.upload-modal{position:relative;background:#ffffff14;backdrop-filter:blur(30px) saturate(180%);-webkit-backdrop-filter:blur(30px) saturate(180%);border-radius:32px;padding:50px 40px;border:1px solid rgba(255,255,255,.15);box-shadow:0 8px 32px #1f26875e,0 20px 60px #0006,inset 0 1px #ffffff1a;max-width:500px;width:90%;animation:slideInUp .4s cubic-bezier(.4,0,.2,1);text-align:center}.upload-modal-close{position:absolute;top:20px;right:20px;width:40px;height:40px;border:none;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:50%;color:#fff;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid rgba(255,255,255,.2)}.upload-modal-close:hover{background:#ed64a6e6;transform:rotate(90deg) scale(1.1);box-shadow:0 4px 20px #ed64a699}.upload-modal h2{font-family:Playfair Display,serif;font-size:2.5rem;font-weight:700;background:linear-gradient(135deg,#ed64a6,#f093fb,#7877c6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:15px;letter-spacing:1px}.upload-modal p{color:#fffc;font-size:1.1rem;margin-bottom:35px;letter-spacing:.3px}.upload-area{margin-bottom:25px}.upload-label{display:flex;flex-direction:column;align-items:center;gap:15px;padding:50px 30px;background:#ffffff0d;border:2px dashed rgba(255,255,255,.3);border-radius:24px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.upload-label:hover{background:#ffffff14;border-color:#ed64a699;transform:translateY(-4px);box-shadow:0 8px 30px #ed64a64d}.upload-label.uploading{pointer-events:none;opacity:.7}.upload-icon{font-size:4rem;filter:drop-shadow(0 4px 20px rgba(237,100,166,.5))}.upload-label span:last-child{color:#fff;font-size:1.2rem;font-weight:600;letter-spacing:.5px}.upload-spinner{width:50px;height:50px;border:4px solid rgba(255,255,255,.1);border-top:4px solid #ed64a6;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.upload-hint{background:#7877c61a;border:1px solid rgba(120,119,198,.3);border-radius:12px;padding:14px;color:#ffffffb3;font-size:.9rem;line-height:1.6}@media (max-width: 768px){.login-box{padding:40px 30px;max-width:90%}.login-header h1{font-size:2rem}.login-icon{font-size:3rem}.input-group input{padding:14px 18px}.login-button{padding:14px 28px;font-size:1rem}.login-hint{font-size:.8rem;padding:14px}}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}@supports (-webkit-touch-callout: none){body{min-height:-webkit-fill-available}}html{scroll-behavior:smooth;background-color:#0f0c29;min-height:100%;height:100%;overflow-x:hidden}body{font-family:Poppins,sans-serif;background:#0f0c29;background:linear-gradient(to bottom,#0f0c29,#302b63,#24243e);background-attachment:fixed;background-size:100% 100%;background-repeat:no-repeat;min-height:100vh;min-height:-webkit-fill-available;overflow-x:hidden;position:relative}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(circle at 20% 50%,rgba(120,119,198,.1) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(237,100,166,.1) 0%,transparent 50%),radial-gradient(circle at 40% 20%,rgba(189,195,199,.05) 0%,transparent 50%);pointer-events:none;z-index:0}#root{width:100%;min-height:100vh;min-height:-webkit-fill-available;position:relative;z-index:1;background:transparent}
