.floating-hearts{position:fixed;width:100%;height:100%;overflow:hidden;z-index:1;pointer-events:none}.heart{position:absolute;font-size:20px;animation:float 15s infinite;opacity:.3}@keyframes float{0%{transform:translateY(100vh) rotate(0deg);opacity:0}10%{opacity:.3}90%{opacity:.3}to{transform:translateY(-100vh) rotate(2turn);opacity:0}}.hero{text-align:center;padding:50px 20px 40px;position:relative;z-index:10}.hero h1{font-family:Dancing Script,cursive;font-size:clamp(2.5rem,6vw,3.5rem);color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.2);margin-bottom:15px;animation:fadeInDown 1s ease}.hero .subtitle{font-size:1rem;color:hsla(0,0%,100%,.9);font-weight:300;letter-spacing:1.5px;animation:fadeInUp 1s ease .5s both}.intro-message{max-width:550px;margin:0 auto 40px;padding:25px;background:var(--card-bg);border-radius:18px;box-shadow:0 15px 30px rgba(0,0,0,.1);position:relative;z-index:10;animation:fadeIn 1s ease 1s both}.intro-message p{font-size:.95rem;line-height:1.7;color:var(--text-dark);margin-bottom:12px}.intro-message .signature{font-family:Dancing Script,cursive;font-size:1.3rem;color:var(--primary-color);text-align:right;margin-top:15px}.timeline-container{max-width:1000px;margin:0 auto;padding:0 20px 60px;position:relative;z-index:10}.timeline{position:relative;padding:20px 0}.timeline:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--primary-color),var(--secondary-color));transform:translateX(-50%);border-radius:2px}.memory-card{position:relative;margin-bottom:35px;opacity:0;animation:fadeInUp .8s ease forwards}.memory-card:nth-child(2n){animation:fadeInLeft .8s ease forwards}.memory-card:nth-child(odd){animation:fadeInRight .8s ease forwards}.memory-content{background:var(--card-bg);border-radius:18px;padding:20px;box-shadow:0 8px 25px rgba(0,0,0,.1);position:relative;width:calc(50% - 35px);transition:transform .3s ease,box-shadow .3s ease}.memory-content:hover{transform:translateY(-5px);box-shadow:0 15px 40px rgba(0,0,0,.15)}.memory-card:nth-child(odd) .memory-content{margin-left:auto}.memory-card:nth-child(2n) .memory-content{margin-right:auto}.memory-dot{left:50%;transform:translateX(-50%);width:16px;height:16px;background:var(--primary-color);border:3px solid #fff;border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.2);z-index:1}.memory-date,.memory-dot{position:absolute;top:25px}.memory-date{font-family:Dancing Script,cursive;font-size:1.1rem;font-weight:700;color:var(--primary-color);background:#fff;padding:4px 12px;border-radius:18px;box-shadow:0 2px 8px rgba(0,0,0,.1)}.memory-card:nth-child(odd) .memory-date{right:calc(50% + 35px)}.memory-card:nth-child(2n) .memory-date{left:calc(50% + 35px)}.memory-photo{width:100%;max-height:400px;height:auto;-o-object-fit:contain;object-fit:contain;background:linear-gradient(135deg,rgba(255,107,157,.05),rgba(255,159,243,.05));border-radius:12px;margin-bottom:15px;cursor:pointer;transition:transform .3s ease}.memory-photo:hover{transform:scale(1.02)}.memory-caption{font-size:.95rem;color:var(--text-light);margin-bottom:12px;line-height:1.5}.audio-player{background:linear-gradient(135deg,var(--primary-color),var(--accent-color));border-radius:45px;padding:12px 18px;display:flex;align-items:center;gap:12px;box-shadow:0 4px 12px rgba(255,107,157,.3);margin-bottom:8px;cursor:pointer;transition:transform .3s ease}.audio-player:hover{transform:scale(1.02)}.play-button{width:35px;height:35px;background:#fff;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .3s ease;box-shadow:0 2px 8px rgba(0,0,0,.1)}.play-button:hover{transform:scale(1.1)}.play-button svg{width:20px;height:20px;fill:var(--primary-color)}.audio-info{flex:1;color:#fff}.audio-title{font-size:.9rem;font-weight:600;margin-bottom:5px}.audio-duration{font-size:.8rem;opacity:.9}.lightbox{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.95);z-index:1000;align-items:center;justify-content:center;animation:fadeIn .3s ease}.lightbox.active{display:flex}.lightbox-content{max-width:90%;max-height:90%;position:relative}.lightbox-image{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;border-radius:10px}.lightbox-close{position:absolute;top:-40px;right:0;color:#fff;font-size:30px;cursor:pointer;transition:transform .3s ease}.lightbox-close:hover{transform:scale(1.2)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@media (max-width:768px){.hero{padding:60px 20px 40px;margin-top:20px}.hero h1{font-size:2.5rem}.subtitle{font-size:1rem}.intro-message{margin:20px 15px 40px;padding:25px;font-size:.95rem;border-radius:15px}.timeline-container{padding:0 15px 80px;margin:0}.timeline{padding:0;margin:0}.timeline:before{display:none}.memory-card{width:100%;margin:0 0 25px;padding:0;opacity:1}.memory-card,.memory-card:nth-child(2n),.memory-card:nth-child(odd){animation:fadeInUp .5s ease forwards}.memory-content{width:100%;margin:0!important;padding:0;background:#fff;border-radius:15px;overflow:hidden;box-shadow:0 4px 15px rgba(0,0,0,.1)}.memory-dot{display:none}.memory-date{position:relative;top:auto;left:auto!important;right:auto!important;display:inline-block;margin:0 0 15px;font-size:1rem;padding:8px 16px;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));color:#fff;border-radius:20px;box-shadow:0 3px 10px rgba(255,107,157,.3)}.memory-card:nth-child(2n) .memory-date,.memory-card:nth-child(odd) .memory-date{left:auto;right:auto}.memory-photo{width:100%;height:auto;max-height:500px;-o-object-fit:contain;object-fit:contain;background:linear-gradient(135deg,rgba(255,107,157,.05),rgba(255,159,243,.05));margin:0;border-radius:0}.memory-caption{padding:20px;font-size:1rem;line-height:1.6;margin:0}.audio-player{margin:0 20px 20px;padding:12px 15px}.audio-title{font-size:.9rem}.play-button{width:40px;height:40px;min-width:40px}.today-memory .memory-date{background:linear-gradient(135deg,var(--secondary-color),var(--primary-color))}.scroll-to-top{bottom:20px;right:20px;width:45px;height:45px}}.jump-to-today{position:fixed;top:100px;right:30px;background:linear-gradient(135deg,var(--secondary-color),var(--accent-color));color:#fff;border:none;border-radius:25px;padding:12px 24px;cursor:pointer;font-weight:600;transition:all .3s ease;box-shadow:0 5px 15px rgba(254,202,87,.3);font-family:Quicksand,sans-serif;z-index:100}.jump-to-today:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(254,202,87,.4)}.today-memory .memory-dot{background:var(--secondary-color);width:20px;height:20px}.scroll-to-top{position:fixed;bottom:30px;right:30px;width:50px;height:50px;background:var(--primary-color);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;opacity:0;transition:opacity .3s ease,transform .3s ease;z-index:100;box-shadow:0 5px 15px rgba(0,0,0,.2)}.scroll-to-top.visible{opacity:1}.scroll-to-top:hover{transform:scale(1.1)}