@import "https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,700;1,400&family=Poppins:wght@300;400;600&display=swap";:root{--bg-color:#fff0f5;--bg-gradient:linear-gradient(135deg, #ffe4e1 0%, #ffb6c1 50%, #ff69b4 100%);--bg-dark-pink:#d81b60;--primary:#ff1493;--secondary:#ff69b4;--accent:gold;--text-dark:#4a0024;--text-light:#fff;--glass-bg:#fff6;--glass-border:#fff9;--shadow-pink:#ff14934d}html,body{scrollbar-width:none;-ms-overflow-style:none;overflow-x:hidden}html::-webkit-scrollbar{display:none}body::-webkit-scrollbar{display:none}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-gradient);color:var(--text-dark);background-attachment:fixed;width:100%;min-height:100vh;font-family:Poppins,sans-serif}h1,h2,h3{font-family:Playfair Display,serif}.app-container{flex-direction:column;align-items:center;width:100%;display:flex;position:relative}section{flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:100vh;padding:4rem 1rem;display:flex;position:relative}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(15px);border:1px solid var(--glass-border);box-shadow:0 15px 35px var(--shadow-pink);text-align:center;z-index:10;border-radius:30px;width:100%;max-width:900px;padding:3rem}h1{color:var(--bg-dark-pink);text-shadow:2px 2px 4px #ffffff80;margin-bottom:1rem;font-size:clamp(2.5rem,8vw,4.5rem);font-weight:700;line-height:1.1}h2{color:var(--primary);margin-bottom:1.5rem;font-size:clamp(1.8rem,5vw,3rem);line-height:1.2}p{color:var(--text-dark);margin-bottom:1.5rem;font-size:1.1rem;line-height:1.6}.letter-text{text-align:left;border-left:5px solid var(--primary);background:#ffffffb3;border-radius:15px;padding:2rem;font-family:Playfair Display,serif;font-size:1.3rem;font-style:italic;line-height:1.8}.btn-primary{background:linear-gradient(45deg, var(--primary), var(--secondary));color:#fff;cursor:pointer;box-shadow:0 8px 20px var(--shadow-pink);text-transform:uppercase;letter-spacing:1px;border:none;border-radius:50px;justify-content:center;align-items:center;gap:10px;padding:1rem 2rem;font-size:1.1rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex}.btn-primary:hover{background:linear-gradient(45deg, var(--secondary), var(--primary));transform:translateY(-5px);box-shadow:0 12px 25px #ff149380}.items-grid{flex-wrap:wrap;justify-content:center;gap:2rem;width:100%;margin-top:2rem;display:flex}.item-card{background:#fffc;border:2px solid #0000;border-radius:20px;width:100%;max-width:280px;padding:1.5rem;transition:all .4s cubic-bezier(.175,.885,.32,1.275);position:relative;box-shadow:0 10px 20px #0000000d}.item-card:hover{border-color:var(--primary);box-shadow:0 15px 30px var(--shadow-pink);transform:translateY(-10px)}.item-img{object-fit:cover;border-radius:15px;width:100%;height:200px;margin-bottom:1rem}.item-card h3{color:var(--bg-dark-pink);margin-bottom:.5rem;font-size:1.3rem}.masonry-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-auto-rows:200px;gap:1rem;width:100%;display:grid}.masonry-item{cursor:pointer;border-radius:15px;transition:transform .3s;overflow:hidden;box-shadow:0 8px 20px #0000001a}.masonry-item:hover{z-index:10;transform:scale(1.02)}.masonry-item img{object-fit:cover;width:100%;height:100%}.tall{grid-row:span 2}.wide{grid-column:span 2}.floating-heart{color:var(--primary);opacity:.6;z-index:1;pointer-events:none;animation:8s linear infinite floatUp;position:absolute}@keyframes floatUp{0%{opacity:0;transform:translateY(100vh)scale(.5)rotate(0)}10%{opacity:.6}90%{opacity:.6}to{opacity:0;transform:translateY(-20vh)scale(1.5)rotate(360deg)}}@media (width<=768px){section{min-height:auto;margin-bottom:2rem;padding:3rem 1rem}#gate,#welcome,#letter{min-height:100vh}.glass-panel{border-radius:20px;padding:2rem 1.5rem}p{font-size:1rem}.letter-text{padding:1.5rem;font-size:1.1rem}.items-grid{flex-direction:column;align-items:center;gap:1.5rem}.item-card{max-width:100%}.masonry-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px;gap:.8rem}.wide{grid-column:span 1}.masonry-item:nth-child(2n){grid-row:span 2}.btn-primary{width:100%;padding:1rem}}
