@import "https://fonts.googleapis.com/css2?family=Dancing+Script:wght@400;700&family=Lato:wght@300;400;700&display=swap";:root{--primary-color:#e91e63;--secondary-color:#c2185b;--bg-color:#fff0f5;--text-color:#4a4a4a;--card-bg:#fff}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-color);flex-direction:column;min-height:100vh;font-family:Lato,sans-serif;display:flex;overflow-x:hidden}.hero{text-align:center;z-index:10;padding:4rem 2rem;position:relative}.title{color:var(--primary-color);text-shadow:2px 2px 4px #0000001a;margin-bottom:1rem;font-family:Dancing Script,cursive;font-size:4rem;animation:1.5s ease-out fadeInDown}.subtitle{color:var(--secondary-color);font-size:1.5rem;font-weight:300;animation:1.5s ease-out .5s both fadeInUp}.profile-pic{object-fit:cover;border:5px solid #fff;border-radius:50%;width:200px;height:200px;margin-bottom:1.5rem;animation:1.5s ease-out zoomIn;box-shadow:0 5px 15px #e91e6366}.filters{flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:20px;display:flex}.filter-chip{background-color:var(--card-bg);color:var(--secondary-color);border:1px solid var(--primary-color);cursor:pointer;border-radius:25px;padding:10px 20px;font-family:Lato,sans-serif;font-weight:700;transition:all .3s;box-shadow:0 2px 5px #0000001a}.filter-chip:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.filter-chip.active{background-color:var(--primary-color);color:#fff}.gallery-container{z-index:10;flex:1;width:100%;max-width:1200px;margin:0 auto;padding:2rem}.gallery{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;display:grid}.gallery-item{cursor:pointer;background:var(--card-bg);aspect-ratio:3/4;border-radius:15px;transition:transform .3s,box-shadow .3s;position:relative;overflow:hidden;box-shadow:0 4px 15px #0000001a}.gallery-item img{object-fit:cover;width:100%;height:100%;transition:transform .5s;display:block}.gallery-item:hover{transform:translateY(-5px);box-shadow:0 10px 25px #e91e634d}.gallery-item:hover img{transform:scale(1.1)}.lightbox{z-index:1000;background-color:#000000e6;width:100%;height:100%;padding-top:50px;animation:.3s fadeIn;display:none;position:fixed;top:0;left:0;overflow:auto}.lightbox-content{border-radius:5px;max-width:90%;max-height:80vh;margin:auto;animation:.3s zoomIn;display:block;box-shadow:0 0 20px #fff3}.close{color:#f1f1f1;cursor:pointer;font-size:40px;font-weight:700;transition:all .3s;position:absolute;top:20px;right:35px}.close:hover,.close:focus{color:var(--primary-color);cursor:pointer;text-decoration:none}.footer{text-align:center;color:var(--secondary-color);z-index:10;padding:2rem;font-family:Dancing Script,cursive;font-size:1.5rem}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes zoomIn{0%{transform:scale(0)}to{transform:scale(1)}}.hearts-container{pointer-events:none;z-index:0;width:100%;height:100%;position:fixed;top:0;left:0;overflow:hidden}.heart{width:30px;height:30px;transform:rotate(-45deg) scale(var(--heart-scale,1));background-color:#e91e6380;margin:0 10px;animation:15s linear forwards float;display:inline-block;position:absolute;bottom:-100px}.heart:before,.heart:after{content:"";background-color:inherit;border-radius:50%;width:30px;height:30px;position:absolute}.heart:before{top:-15px;left:0}.heart:after{top:0;left:15px}@keyframes float{0%{opacity:0;translate:0}10%{opacity:.8}90%{opacity:.8}to{opacity:0;translate:0 -120vh}}@media (width<=768px){.title{font-size:3rem}.gallery{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}}.music-control-container{z-index:1000;flex-direction:column;align-items:flex-end;gap:10px;display:flex;position:fixed;bottom:20px;right:20px}.music-toggle-btn{background-color:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;font-size:24px;transition:all .3s;display:flex;box-shadow:0 4px 10px #0000004d}.music-toggle-btn:hover{background-color:var(--secondary-color);transform:scale(1.1)}.music-toggle-btn:active{transform:scale(.95)}#spotify-player-container{transform-origin:100% 100%;transition:opacity .3s,transform .3s}.spotify-player-hidden{opacity:0;display:none;transform:scale(0)}.spotify-player-visible{opacity:1;border-radius:12px;width:300px;margin-bottom:10px;display:block;overflow:hidden;transform:scale(1);box-shadow:0 4px 15px #0003}@media (width<=480px){.music-control-container{bottom:15px;right:15px}.spotify-player-visible{width:280px}}.theme-toggle-btn{background-color:var(--primary-color);color:#fff;z-index:999;border-radius:25px;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-family:Lato,sans-serif;font-size:1rem;font-weight:700;text-decoration:none;transition:all .3s;display:flex;position:fixed;top:20px;right:20px;box-shadow:0 4px 10px #e91e634d}.theme-toggle-btn:hover{background-color:var(--secondary-color);color:#fff;transform:translateY(-2px);box-shadow:0 6px 15px #e91e6366}.theme-toggle-btn:active{transform:scale(.95)}@media (width<=480px){.theme-toggle-btn{padding:8px 15px;font-size:.9rem;top:15px;right:15px}}.calendar-toggle-container{text-align:center;margin-top:20px}.action-btn{background-color:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:25px;padding:12px 30px;font-family:Lato,sans-serif;font-size:1.1rem;font-weight:700;transition:all .3s;display:inline-block;box-shadow:0 4px 10px #e91e634d}.action-btn:hover{background-color:var(--secondary-color);transform:translateY(-2px);box-shadow:0 6px 15px #e91e6366}.action-btn:active{transform:scale(.95)}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:20px;padding:0 20px;display:flex}.calendar-header h2{color:var(--primary-color);font-family:Dancing Script,cursive;font-size:2rem}.calendar-header button{background-color:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:50%;width:40px;height:40px;font-size:1.2rem;transition:all .2s;box-shadow:0 2px 5px #e91e634d}.calendar-header button:hover{background-color:var(--secondary-color);transform:scale(1.1)}.calendar-weekdays{text-align:center;color:var(--secondary-color);grid-template-columns:repeat(7,1fr);margin-bottom:10px;font-weight:700;display:grid}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:10px;margin-bottom:30px;display:grid}.calendar-day{aspect-ratio:1;color:#888;background-color:#f0f0f0;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;font-size:.9rem;font-weight:700;display:flex;position:relative;overflow:hidden}.calendar-day.empty-day{opacity:0;pointer-events:none;background-color:#0000}.calendar-day.has-photos{cursor:pointer;background-color:#fff;border:2px solid #0000;transition:transform .2s;box-shadow:0 2px 8px #0000001a}.calendar-day.has-photos:hover{border-color:var(--primary-color);transform:translateY(-3px);box-shadow:0 5px 15px #e91e6333}.calendar-day.active{border-color:var(--primary-color);box-shadow:0 0 10px #e91e6366}.calendar-day-number{z-index:2;width:24px;height:24px;color:var(--text-color);background-color:#fffc;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:5px;right:8px;box-shadow:0 1px 3px #0000001a}.calendar-day img{object-fit:cover;z-index:1;opacity:.9;width:100%;height:100%;transition:opacity .3s;position:absolute;top:0;left:0}.calendar-day.has-photos:hover img{opacity:1}@media (width<=768px){.calendar-grid{gap:5px}.calendar-day-number{width:20px;height:20px;font-size:.8rem;top:3px;right:3px}}.polaroid-wall{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:30px;max-width:1200px;margin:20px auto;padding:40px;display:flex}.polaroid-card{text-align:center;cursor:pointer;background:#fff;border-radius:2px;flex-direction:column;width:280px;padding:20px 20px 30px;transition:transform .3s,box-shadow .3s;display:flex;box-shadow:0 4px 8px #0003,0 6px 20px #00000030}.polaroid-card:hover{z-index:10;box-shadow:0 8px 16px #0000004d,0 12px 40px #00000040;transform:scale(1.05)rotate(0)!important}.polaroid-img,.polaroid-card img,.polaroid-card canvas{object-fit:contain;border:1px solid #eee;width:100%;height:auto;display:block}.polaroid-caption{color:#333;flex-direction:column;align-items:center;margin-top:15px;font-family:Dancing Script,cursive;line-height:1.2;display:flex}.polaroid-category{color:var(--primary-color);font-size:1.8rem;font-weight:700}.polaroid-date{color:#666;margin-top:5px;font-size:1.2rem}@media (width<=768px){.polaroid-card{width:220px}}
