@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Inter:wght@300;400;500;600&display=swap";*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Inter,sans-serif;background:#0d0809;color:#fff}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.app{overflow-x:hidden}.navbar{position:absolute;top:0;left:0;width:100%;height:80px;display:flex;align-items:center;justify-content:space-between;padding:0 6%;z-index:20;background:linear-gradient(to bottom,rgba(0,0,0,.55),transparent)}.logo{font-family:Cormorant Garamond,serif;font-size:28px;font-weight:600}.logo span{color:#ff6685;margin:0 4px}.nav-links{display:flex;gap:28px;font-size:12px;letter-spacing:1px}.nav-links a{opacity:.8;transition:.3s}.nav-links a:hover{color:#ff6685;opacity:1}.nav-private,.heart-button{border:1px solid rgba(255,255,255,.18);background:#ffffff14;color:#fff;border-radius:30px;padding:11px 15px;display:flex;gap:8px;align-items:center}.hero{height:100vh;min-height:700px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-image,.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center}.hero-overlay{background:linear-gradient(to bottom,#0000007a,#0003 40%,#0d0809eb)}.hero-content{position:relative;z-index:5;text-align:center;margin-top:80px}.small-title{font-size:11px;letter-spacing:6px;margin-bottom:20px}.hero h1{font-family:Cormorant Garamond,serif;font-size:clamp(65px,10vw,145px);line-height:.8;font-weight:500;text-shadow:0 8px 35px rgba(0,0,0,.4)}.hero h1 span{color:#ff6685;font-size:.55em;margin:0 12px}.hero-heart{margin:35px auto 18px;color:#ff6685;animation:heartbeat 1.8s infinite;filter:drop-shadow(0 0 15px rgba(255,102,133,.7))}.hero-text{font-family:Cormorant Garamond,serif;font-size:25px;margin-bottom:35px}.discover-button{display:inline-flex;align-items:center;gap:10px;padding:14px 24px;border:1px solid rgba(255,255,255,.5);border-radius:30px;font-size:12px;letter-spacing:1px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:.3s}.discover-button:hover{background:#fff;color:#170b0e}.scroll-indicator{position:absolute;bottom:25px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:5px;font-size:9px;letter-spacing:3px;opacity:.6}.intro,.memories,.timeline,.our-song,.letters{padding:130px 8%;text-align:center}.intro{background:#10090b}.memories{background:#160c0f}.timeline{background:#0d0809}.our-song{background:radial-gradient(circle at center,rgba(255,102,133,.08),transparent 55%)}.letters{background:#12090c}.section-label{display:flex;align-items:center;justify-content:center;gap:8px;color:#ff6685;font-size:11px;letter-spacing:4px;margin-bottom:25px}.section-label.left{justify-content:flex-start}section h2{font-family:Cormorant Garamond,serif;font-size:clamp(45px,6vw,75px);line-height:.95;font-weight:500}section h2 span{color:#ff6685}.placeholder-text{margin-top:25px;opacity:.5}.story-card{max-width:650px;margin:60px auto 0;padding:55px 40px;border:1px solid rgba(255,255,255,.1);border-radius:25px;background:#ffffff08}.story-card svg{color:#ff6685;margin-bottom:20px}.story-card h3{font-family:Cormorant Garamond,serif;font-size:35px;margin-bottom:15px}.story-card p{line-height:1.8;opacity:.65}.coming-soon{display:inline-block;margin-top:25px;font-size:9px;letter-spacing:3px;color:#ff6685}.memory-gallery{max-width:1100px;margin:60px auto 0;display:grid;grid-template-columns:repeat(2,1fr);grid-auto-rows:300px;gap:18px}.memory-card{position:relative;overflow:hidden;border-radius:20px;background:#ffffff08;border:1px solid rgba(255,255,255,.08)}.memory-card.large{grid-row:span 2}.memory-card img{width:100%;height:100%;object-fit:cover;transition:.7s}.memory-card:hover img{transform:scale(1.05)}.memory-caption{position:absolute;left:0;right:0;bottom:0;padding:30px;background:linear-gradient(transparent,#000000e0);text-align:left}.memory-caption span{font-size:9px;letter-spacing:3px;color:#ff6685}.memory-caption h3{font-family:Cormorant Garamond,serif;font-size:35px;margin-top:5px}.empty-memory{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:15px;color:#ff6685}.empty-memory span{font-size:9px;letter-spacing:3px;opacity:.7}.timeline-line{max-width:700px;margin:70px auto 0;text-align:left;position:relative}.timeline-line:before{content:"";position:absolute;left:18px;top:0;bottom:0;width:1px;background:#ff668566}.timeline-item{position:relative;display:flex;gap:35px;margin-bottom:65px}.timeline-dot{width:37px;height:37px;min-width:37px;border-radius:50%;background:#ff6685;color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;z-index:2}.timeline-date{font-size:9px;letter-spacing:3px;color:#ff6685}.timeline-item h3{font-family:Cormorant Garamond,serif;font-size:32px;margin:8px 0}.timeline-item p{opacity:.5;line-height:1.6}.music-player{max-width:850px;margin:65px auto 0;padding:35px;display:flex;align-items:center;gap:50px;text-align:left;border-radius:28px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);box-shadow:0 30px 80px #00000040}.album-art{width:280px;height:280px;min-width:280px;position:relative;border-radius:50%;overflow:hidden;box-shadow:0 15px 50px #00000080}.album-art img{width:100%;height:100%;object-fit:cover}.album-art.playing{animation:rotateAlbum 8s linear infinite}.vinyl-overlay{position:absolute;width:65px;height:65px;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;background:#0d0809;color:#ff6685;border:4px solid rgba(255,255,255,.8)}.song-details{flex:1}.now-playing{font-size:9px;letter-spacing:4px;color:#ff6685}.song-details h3{font-family:Cormorant Garamond,serif;font-size:45px;font-weight:500;margin-top:12px}.song-details p{opacity:.5;margin-top:5px}.music-progress{display:flex;align-items:center;gap:12px;margin-top:45px;font-size:10px;opacity:.6}.progress-bar{flex:1;height:3px;background:#ffffff26;border-radius:10px;overflow:hidden;cursor:pointer}.progress{height:100%;background:#ff6685}.play-button{width:60px;height:60px;margin-top:25px;border-radius:50%;border:none;background:#ff6685;color:#fff;font-size:18px;transition:.3s}.play-button:hover{transform:scale(1.08);box-shadow:0 0 30px #ff668566}.music-note{margin-top:25px;font-size:12px;opacity:.4}.letters-intro{margin-top:20px;opacity:.55}.letters-grid{max-width:900px;margin:65px auto 0;display:grid;grid-template-columns:repeat(2,1fr);gap:25px}.letter-envelope{position:relative;min-height:360px;border:1px solid rgba(255,102,133,.2);border-radius:24px;background:linear-gradient(145deg,#ffffff0f,#ffffff04);color:#fff;padding:50px 30px;overflow:hidden;transition:.4s}.letter-envelope:hover{transform:translateY(-10px);border-color:#ff668599;background:linear-gradient(145deg,#ff668514,#ffffff05)}.envelope-top{position:absolute;top:0;left:0;width:100%;height:1px;background:linear-gradient(90deg,transparent,#ff6685,transparent)}.letter-icon{width:75px;height:75px;margin:10px auto 25px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#ff6685;background:#ff668514;border:1px solid rgba(255,102,133,.2)}.letter-small{font-size:9px;letter-spacing:4px;color:#ff6685}.letter-envelope h3{font-family:Cormorant Garamond,serif;font-size:42px;font-weight:500;margin:12px 0 30px}.open-letter{font-size:9px;letter-spacing:3px;opacity:.6}.letter-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;padding:30px;display:flex;align-items:center;justify-content:center;background:#050203e0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:modalFade .3s ease}.letter-paper{position:relative;width:min(650px,100%);max-height:90vh;overflow-y:auto;padding:65px 55px;background:#f8eee8;color:#271417;border-radius:8px;box-shadow:0 30px 100px #00000080;animation:letterOpen .45s ease}.close-letter{position:absolute;top:20px;right:20px;width:38px;height:38px;border-radius:50%;border:none;background:#27141714;color:#271417;display:flex;align-items:center;justify-content:center}.modal-heart{color:#d94d6b;margin-bottom:20px}.letter-from{font-size:9px;letter-spacing:4px;color:#b34b63}.letter-paper h3{font-family:Cormorant Garamond,serif;font-size:45px;font-weight:500;margin:12px 0 30px}.letter-content{font-family:Cormorant Garamond,serif;font-size:20px;line-height:1.6;text-align:left}.letter-content p{margin-bottom:4px}.letter-signature{margin-top:35px;text-align:right;font-family:Cormorant Garamond,serif;font-size:18px;font-style:italic}.letter-signature span{font-size:25px;color:#b34b63}.dashboard{padding:120px 8%;background:#10090b}.dashboard-head{max-width:1100px;margin:auto;display:flex;justify-content:space-between;gap:30px;align-items:end}.dashboard h2{font-family:Cormorant Garamond,serif;font-size:55px;font-weight:500}.dashboard h2 span{color:#ff6685}.dashboard-head p{opacity:.5;margin-top:10px}.logout-button{border:1px solid rgba(255,255,255,.15);background:transparent;color:#fff;padding:11px 15px;border-radius:25px;display:flex;gap:8px;align-items:center}.dashboard-tabs{max-width:1100px;margin:45px auto 25px;display:flex;gap:10px}.dashboard-tabs button{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#fff;padding:12px 20px;border-radius:20px}.dashboard-tabs button.active{background:#ff6685;border-color:#ff6685}.notice{max-width:1100px;margin:0 auto 20px;padding:12px 15px;border-radius:10px;background:#ff668514;color:#ffb2c0}.admin-grid{max-width:1100px;margin:auto;display:grid;grid-template-columns:380px 1fr;gap:25px}.admin-form,.admin-list{background:#ffffff08;border:1px solid rgba(255,255,255,.09);border-radius:20px;padding:25px}.admin-form h3{font-family:Cormorant Garamond,serif;font-size:30px;display:flex;align-items:center;gap:8px;margin-bottom:20px}.admin-form input,.admin-form textarea,.admin-form select{width:100%;margin-bottom:12px;padding:13px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#171013;color:#fff;outline:none}.admin-form textarea{min-height:120px;resize:vertical}.admin-form button{width:100%;padding:13px;border:0;border-radius:10px;background:#ff6685;color:#fff}.admin-list{display:flex;flex-direction:column;gap:10px}.admin-item{display:flex;justify-content:space-between;align-items:center;padding:15px;border-radius:12px;background:#ffffff0a}.admin-item div{display:flex;flex-direction:column;gap:4px}.admin-item small{opacity:.5}.admin-item button{border:0;background:transparent;color:#ff6685}.muted{opacity:.45}.login-card{position:relative;width:min(450px,100%);padding:55px 45px;text-align:center;border-radius:28px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);box-shadow:0 30px 100px #0006}.login-heart{color:#ff6685;margin-bottom:20px}.login-label{font-size:9px;letter-spacing:4px;color:#ff6685}.login-card h1{font-family:Cormorant Garamond,serif;font-size:50px;font-weight:500;line-height:.95;margin:15px 0}.login-card h1 span{color:#ff6685}.login-description{opacity:.5;font-size:13px;margin-bottom:35px}.input-group{text-align:left;margin-bottom:20px}.input-group label{display:block;font-size:10px;letter-spacing:2px;margin-bottom:8px;opacity:.6}.input-group input{width:100%;padding:15px 16px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#ffffff0d;color:#fff;outline:none}.input-group input:focus{border-color:#ff6685}.login-button{width:100%;margin-top:10px;padding:15px;border:none;border-radius:12px;background:#ff6685;color:#fff;font-weight:600;display:flex;align-items:center;justify-content:center;gap:10px}.login-error{margin-bottom:15px;padding:10px;border-radius:8px;background:#ff3c5a1a;color:#ff8da3;font-size:12px}.loading-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;background:#0d0809;color:#ff6685}.loading-screen p{font-family:Cormorant Garamond,serif;font-size:20px;opacity:.6}footer{padding:50px 20px;display:flex;flex-direction:column;align-items:center;gap:12px;background:#080506;color:#ff6685;text-align:center}footer p{color:#fff;opacity:.6;font-family:Cormorant Garamond,serif;font-size:18px}footer span{font-size:25px}@keyframes heartbeat{0%,to{transform:scale(1)}15%{transform:scale(1.18)}30%{transform:scale(1)}45%{transform:scale(1.12)}}@keyframes rotateAlbum{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes modalFade{0%{opacity:0}to{opacity:1}}@keyframes letterOpen{0%{opacity:0;transform:translateY(30px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:800px){.nav-links{display:none}.navbar{padding:0 5%}.hero{min-height:650px}.hero h1{font-size:65px}.hero h1 span{display:block;margin:15px 0}.intro,.memories,.timeline,.our-song,.letters,.dashboard{padding:90px 6%}.memory-gallery,.letters-grid{grid-template-columns:1fr}.memory-card.large{grid-row:span 1}.memory-card{height:300px}section h2{font-size:48px}.music-player{flex-direction:column;text-align:center;padding:30px 20px;gap:35px}.album-art{width:230px;height:230px;min-width:230px}.dashboard-head{align-items:flex-start;flex-direction:column}.dashboard h2{font-size:45px}.admin-grid{grid-template-columns:1fr}.dashboard-tabs{overflow:auto}.letter-paper{padding:55px 25px}.letter-paper h3{font-size:37px}}
