@import"https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700&family=Playfair+Display:ital,wght@0,400;0,700;1,400&display=swap";:root{--bg-color: #f1f8e9;--primary-green: #2e7d32;--light-green: #81c784;--earth-brown: #5d4037;--sand-beige: #d7ccc8;--text-main: #37474f;--text-muted: #607d8b;--card-bg: rgba(255, 255, 255, .9);--paper-shadow: 0 4px 20px rgba(46, 125, 50, .1);--color-milestone: #f9a825;--color-funny: #d81b60;--color-learning: #0277bd}body{margin:0;font-family:Lato,sans-serif;color:var(--text-main);background-color:var(--bg-color);overflow-x:hidden}h1,h2,h3{font-family:Playfair Display,serif}.nature-background{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(to bottom,#f1f8e9,#dcedc8);overflow:hidden}.noise-texture{position:absolute;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.05'/%3E%3C/svg%3E");opacity:.6;pointer-events:none}.leaf{position:absolute;top:-10%;width:15px;height:15px;background:#a5d6a7;border-radius:2px 15px;opacity:.6;animation:fall linear infinite}@keyframes fall{0%{transform:translateY(0) rotate(0);opacity:0}10%{opacity:.8}to{transform:translateY(110vh) rotate(360deg);opacity:0}}.intro-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px}.intro-card{max-width:500px;text-align:center;padding:60px 40px;border:1px solid rgba(255,255,255,.6)}.intro-icon{font-size:4rem;margin-bottom:20px;color:var(--primary-green)}.intro-screen h1{font-size:3rem;color:var(--primary-green);margin:0 0 20px}.intro-text{font-size:1.2rem;line-height:1.6;margin-bottom:10px}.intro-subtext{font-style:italic;color:var(--text-muted);margin-bottom:40px}.start-btn{background:var(--primary-green);color:#fff;border:none;padding:15px 40px;font-size:1.1rem;border-radius:30px;cursor:pointer;display:inline-flex;align-items:center;gap:10px;font-family:Playfair Display,serif;font-weight:700;letter-spacing:1px;transition:transform .2s,background .2s,box-shadow .2s;box-shadow:0 4px 15px #2e7d3266}.start-btn:hover{background:#1b5e20;transform:translateY(-2px);box-shadow:0 6px 20px #2e7d3280}.fade-screen-enter-active,.fade-screen-leave-active{transition:opacity .8s ease}.fade-screen-enter-from,.fade-screen-leave-to{opacity:0}.main-container{max-width:900px;margin:0 auto;padding:0 20px;position:relative;z-index:1;min-height:100vh}.header{padding:80px 0 60px;text-align:center}.header h1{font-size:3.5rem;color:var(--primary-green);margin:0}.subtitle{font-family:Lato,sans-serif;font-size:1.2rem;color:var(--text-muted);margin-top:10px;letter-spacing:2px;text-transform:uppercase;font-size:.9rem}.timeline{position:relative;padding:20px 0 60px}.line-container{position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%);width:4px;background:#8d6e63;border-radius:2px;opacity:.3}.month-separator{margin:50px 0;display:flex;justify-content:center;position:relative;z-index:2}.month-badge{background:#f1f8e9;border:2px solid var(--primary-green);color:var(--primary-green);padding:8px 24px;border-radius:0;font-family:Playfair Display,serif;font-weight:700;letter-spacing:1px;box-shadow:0 4px 10px #0000000d}.event-wrapper{position:relative;margin-bottom:80px;width:50%;opacity:0;transform:translateY(40px);transition:all .8s ease;box-sizing:border-box;--theme-color: var(--primary-green);z-index:2}.event-wrapper.milestone{--theme-color: var(--color-milestone)}.event-wrapper.funny{--theme-color: var(--color-funny)}.event-wrapper.learning{--theme-color: var(--color-learning)}.event-wrapper.visible{opacity:1;transform:translateY(0)}.event-wrapper.left{left:0;padding-right:50px;text-align:right}.event-wrapper.right{left:50%;padding-left:50px;text-align:left}.dot-wrapper{position:absolute;top:24px;z-index:3;display:flex;align-items:center}.event-wrapper.left .dot-wrapper{right:-22px;justify-content:flex-end}.event-wrapper.right .dot-wrapper{left:-22px;justify-content:flex-start}.dot{width:40px;height:40px;background:#fff;border:2px solid var(--theme-color);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px #0000001a;font-size:1.2rem}.connector{position:absolute;height:2px;width:22px;background:var(--theme-color);top:50%;opacity:.5;z-index:-1}.event-wrapper.left .connector{right:38px}.event-wrapper.right .connector{left:38px}.glass-panel{background:var(--card-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;box-shadow:var(--paper-shadow);border:1px solid rgba(255,255,255,.8)}.card{padding:24px;border-left:4px solid var(--theme-color);transition:transform .3s ease}.event-wrapper.right .card{border-left:1px solid rgba(255,255,255,.8);border-right:4px solid var(--theme-color)}.card:hover{transform:translateY(-5px);box-shadow:0 10px 25px #2e7d3233}.date-badge{font-weight:700;color:var(--theme-color);font-size:.9rem;text-transform:uppercase;letter-spacing:1px}.type-badge{margin-left:10px;background:#eceff1;color:#546e7a;padding:2px 8px;border-radius:4px;font-size:.75rem;vertical-align:middle}.card-title{margin:12px 0;font-size:1.6rem;color:var(--text-main);line-height:1.2}.description{margin-top:15px;color:#546e7a;font-style:italic;line-height:1.6}.gallery{display:flex;flex-wrap:wrap;justify-content:center;gap:15px;margin-bottom:25px;padding:10px}.gallery.single .image-item{width:100%;transform:rotate(-1deg);max-width:400px}.gallery.grid .image-item{width:42%}.image-item{position:relative;cursor:zoom-in;background:#fff;padding:8px 8px 30px;box-shadow:3px 5px 15px #00000026;transition:all .4s cubic-bezier(.175,.885,.32,1.275);border-radius:2px}.image-item:nth-child(odd){transform:rotate(-3deg) translateY(5px);z-index:1}.image-item:nth-child(2n){transform:rotate(4deg) translateY(-5px);z-index:2}.image-item:nth-child(3n){transform:rotate(-2deg) scale(.98);z-index:1}.image-item:hover{transform:scale(1.15) rotate(0)!important;z-index:100!important;box-shadow:0 15px 35px #0000004d}.image-item img{width:100%;height:150px;object-fit:cover;object-position:top;border:1px solid #eee}.gallery.single .image-item img{height:auto;max-height:350px}.zoom-hint{position:absolute;bottom:8px;right:10px;color:#aaa;font-size:.8rem;opacity:.5}.footer{margin-top:60px;padding:60px 20px 100px;text-align:center;position:relative;z-index:100;border-top:4px solid var(--primary-green)}.footer h1{color:var(--primary-green);margin-bottom:20px}.footer p{font-size:1.2rem;line-height:1.8;max-width:600px;margin:0 auto 30px}.signature{margin-top:30px;opacity:.8;font-weight:700;color:var(--earth-brown)}.fireworks-canvas{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:50}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000f2;z-index:9999;display:flex;align-items:center;justify-content:center}.lightbox-content{position:relative;max-width:90vw;height:90vh;display:flex;flex-direction:column;align-items:center;justify-content:center}.zoom-wrapper{overflow:visible;display:flex;align-items:center;justify-content:center;width:100%;height:100%}.lightbox-img{max-width:100%;max-height:85vh;border-radius:4px;box-shadow:0 0 30px #ffffff1a;-webkit-user-select:none;user-select:none}.zoom-tip{position:absolute;bottom:-40px;color:#ffffff80;font-size:.9rem;pointer-events:none}.counter{position:absolute;top:-40px;color:#fff;background:#fff3;padding:5px 12px;border-radius:20px}.close-btn,.nav-btn{background:#ffffff26;border:none;color:#fff;cursor:pointer;position:absolute;z-index:101;transition:.2s}.close-btn{top:20px;right:20px;width:44px;height:44px;border-radius:50%;font-size:1.5rem}.nav-btn{top:50%;transform:translateY(-50%);width:50px;height:80px;font-size:2rem;border-radius:8px}.nav-btn:hover,.close-btn:hover{background:#ffffff4d}.nav-btn.prev{left:20px}.nav-btn.next{right:20px}@media (max-width: 768px){.line-container{left:20px}.month-separator{justify-content:flex-start;padding-left:50px}.event-wrapper{width:100%;padding-left:60px;padding-right:0;text-align:left}.event-wrapper.left,.event-wrapper.right{left:0}.event-wrapper.left .dot-wrapper,.event-wrapper.right .dot-wrapper{left:2px;right:auto;justify-content:flex-start}.event-wrapper.left .connector,.event-wrapper.right .connector{left:20px;right:auto}.event-wrapper.right .card{border-left:4px solid var(--theme-color);border-right:1px solid rgba(255,255,255,.8)}.intro-card{margin:0 20px}.gallery.grid .image-item{width:45%}}
