@import"https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;600&family=Playfair+Display:ital,wght@0,400;0,700;1,400&display=swap";:root{--primary: #ff4d6d;--secondary: #1a1a2e;--accent: #ffdfd3;--text-light: #ffffff;--text-muted: rgba(255, 255, 255, .7);--font-serif: "Playfair Display", serif;--font-sans: "Montserrat", sans-serif;--transition-slow: 1.2s cubic-bezier(.22, 1, .36, 1);--transition-med: .6s cubic-bezier(.34, 1.56, .64, 1)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-sans);background-color:var(--secondary);color:var(--text-light);overflow-x:hidden;height:100vh;width:100vw}h1,h2,h3{font-family:var(--font-serif)}#app{width:100%;height:100%;position:relative}.screen{position:absolute;top:0;left:0;width:100%;height:100%;padding:2rem;display:none;flex-direction:column;justify-content:center;align-items:center;text-align:center;overflow-y:auto;opacity:0;z-index:10;visibility:hidden;pointer-events:none}.screen[id]>*{max-width:1000px;width:auto}.screen.active{opacity:1;visibility:visible;pointer-events:all;display:flex}.screen>:first-child{margin-top:auto}.screen>:last-child{margin-bottom:auto}.bg-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at center,rgba(255,77,109,.1) 0%,transparent 70%);z-index:0;pointer-events:none}.particles-canvas{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}#screen-preload{background:var(--secondary)}.glow-text{text-shadow:0 0 20px rgba(255,77,109,.5);font-size:1.5rem;letter-spacing:2px}.btn{background:var(--primary);color:#fff;border:none;padding:1rem 2.5rem;border-radius:50px;font-family:var(--font-sans);font-weight:600;cursor:pointer;transition:all .3s ease;margin:2rem 0;box-shadow:0 10px 20px #ff4d6d4d;width:fit-content;display:inline-block}.btn:hover{transform:translateY(-3px);box-shadow:0 15px 30px #ff4d6d80}.memory-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2.5rem;width:100%;max-width:1100px;margin:3rem auto;align-items:center}.memory-card{background:#fff;padding:10px 10px 45px;box-shadow:0 10px 40px #0003;transition:transform .4s cubic-bezier(.175,.885,.32,1.275);cursor:pointer;-webkit-user-select:none;user-select:none;width:100%;position:relative;min-height:200px}@media(min-width:769px){.memory-card:nth-child(2n){transform:rotate(3deg)}.memory-card:nth-child(odd){transform:rotate(-3deg)}.memory-card:hover{transform:translateY(-10px) rotate(0) scale(1.05);z-index:15}}@media(max-width:768px){.memory-grid{display:block;position:relative;height:380px;width:100%;max-width:none;margin:2rem 0;perspective:1000px}.memory-card{position:absolute;top:0;left:50%;width:280px;transform-origin:center bottom;z-index:auto}}.memory-card img{width:100%;aspect-ratio:1;object-fit:cover;pointer-events:none}.memory-card p{font-family:var(--font-serif);color:#333;margin-top:1rem;font-size:.9rem;text-align:center}.timeline{display:flex;flex-direction:column;gap:2rem;padding:2rem 0;position:relative;width:100%;max-width:500px;margin:0 auto}.timeline:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:2px;background:#fff3;transform:translate(-50%);z-index:0}.timeline-node{background:#ff4d6d26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);padding:1.5rem;border-radius:15px;position:relative;z-index:1;width:100%;box-shadow:0 8px 32px #0000005e}.timeline-node h3{font-size:1.2rem;margin-bottom:.5rem}#heartbeat-canvas{width:300px;height:300px;margin-bottom:2rem}@media(max-width:600px){.memory-grid{grid-template-columns:1fr;padding:0 1rem}}h1{font-size:clamp(2.5rem,8vw,4rem);line-height:1.1}h2{font-size:clamp(1.5rem,5vw,2.5rem);line-height:1.2}.glow-text{text-shadow:0 0 20px rgba(255,77,109,.5);font-size:clamp(1rem,4vw,1.5rem);letter-spacing:2px}.btn{background:var(--primary);color:#fff;border:none;padding:1rem 2.5rem;border-radius:50px;font-family:var(--font-sans);font-weight:600;cursor:pointer;transition:all .3s ease;margin:.5rem 0;box-shadow:0 10px 20px #ff4d6d4d;width:fit-content;display:inline-block;font-size:1rem;touch-action:manipulation}.button-group{display:flex;gap:.8rem;justify-content:center;align-items:center;flex-wrap:wrap;width:100%}@media(max-width:768px){.timeline{padding-left:10px;padding-right:10px}.timeline-node{padding:1.2rem;width:95%}.timeline:before{left:20px}}@media(max-width:480px){.screen{padding:5rem 1.5rem}#heartbeat-canvas{width:250px;height:250px}}
