:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.Screen{display:flex;flex-direction:column;width:100vw;height:100vh;background:#fde4e4;align-items:center;justify-content:center;z-index:1001}.rsvp{color:#f92f60;text-align:center;font-size:1.5rem}.Screen h1{font-size:1.8rem;color:#ff4d4d;z-index:2}.Screen h2{font-size:.9rem;color:#111;width:80%;text-align:center}.Buttons{display:flex;justify-content:center;margin-top:20px;gap:1.5em}.yes{z-index:1001;transition:transform .3s ease}.Backdrop{position:fixed;top:0;left:0;width:100%;height:100%;overflow:hidden;z-index:0}@keyframes fall{0%{transform:translateY(-100%) rotate(0);opacity:0}to{transform:translateY(100vh) rotate(360deg);opacity:1}}.falling-quote{position:absolute;color:#fff;opacity:.7;font-size:1rem;text-shadow:2px 2px 4px rgba(0,0,0,.5);white-space:nowrap;animation:fall 8s linear infinite}@media (max-width: 768px){.Screen h1{font-size:1.5rem}.Screen h2{font-size:.8rem;width:90%}.Buttons{flex-direction:column;gap:1em}.falling-quote{font-size:.9rem}}@media (max-width: 480px){.Screen h1{font-size:1.2rem}.Screen h2{font-size:.7rem}.falling-quote{font-size:.8rem}}.timeline-container{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:hidden;z-index:10}.timeline-scroll{position:relative;min-width:100%;height:100%}.flowers-area{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.flowers-area canvas{position:absolute;top:0;left:0;display:block}.stem-canvas{z-index:1}.flower-canvas{z-index:2}.flower-card{position:absolute;width:160px;background:#fffffff2;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-radius:12px;border:1px solid rgba(255,255,255,.8);box-shadow:0 8px 24px #00000026;overflow:hidden;z-index:100;pointer-events:none}.card-image{width:100%;height:120px;overflow:hidden;background:linear-gradient(135deg,#ffe4e1,#ffc7d7)}.card-image img{width:100%;height:100%;object-fit:cover}.card-info{padding:12px;text-align:center}.card-month{margin:0 0 4px;font-size:.85rem;font-weight:600;color:#666}.card-date{margin:0;font-size:.75rem;color:#999}@media (max-width: 1024px){.timeline-container{font-size:.9rem}.flower-card{width:140px}.card-image{height:100px}}@media (max-width: 768px){.flowers-area{height:300px;margin-top:80px}.flower-card{width:120px}.card-image{height:80px}.card-info{padding:8px}.card-month{font-size:.75rem}.card-date{font-size:.65rem}}@media (max-width: 480px) and (orientation: landscape){.flowers-area{height:250px;margin-top:40px}.flower-card{width:100px}.card-image{height:60px}.card-info{padding:6px}.card-month{font-size:.7rem}.card-date{font-size:.6rem}}.garden-container{position:relative;width:100vw;height:100vh;overflow:hidden;--ground-height: 43vh;display:flex;align-items:center;justify-content:center}.garden-bg{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(180deg,#fdfd96,#ffc7d7);z-index:0;animation:breathe 8s ease-in-out infinite}@keyframes breathe{0%,to{filter:saturate(100%) brightness(100%)}50%{filter:saturate(110%) brightness(105%)}}.garden-bg:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(255,255,255,.03) 2px,rgba(255,255,255,.03) 4px);opacity:.5;pointer-events:none}.ground{position:absolute;bottom:0;left:0;right:0;height:var(--ground-height);background:linear-gradient(180deg,#8b45134d,#8b451380,#654321b3);z-index:5;box-shadow:inset 0 4px 8px #0000001a}.ground:after{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:#6b8e2366}.nav-arrow{position:absolute;top:50%;transform:translateY(-50%);width:60px;height:60px;border-radius:50%;background:#ffffff4d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.5);color:#333;font-size:2rem;font-weight:300;cursor:pointer;z-index:100;transition:all .3s ease;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #0000001a}.nav-arrow:hover{background:#ffffff80;transform:translateY(-50%) scale(1.1)}.nav-arrow:active{transform:translateY(-50%) scale(.95)}.nav-arrow-left{left:20px}.nav-arrow-right{right:20px}.year-indicator{position:absolute;bottom:100px;left:50%;transform:translate(-50%);padding:12px 24px;background:#fff6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.6);border-radius:20px;color:#666;font-size:.9rem;font-weight:500;z-index:10;box-shadow:0 4px 16px #00000014}.rotation-prompt{position:fixed;top:0;left:0;width:100vw;height:100vh;background:linear-gradient(180deg,#fdfd96,#ffc7d7);z-index:9999;display:none;flex-direction:column;align-items:center;justify-content:center;padding:20px;text-align:center}.rotation-prompt-icon{font-size:4rem;margin-bottom:20px;animation:rotate-phone 2s ease-in-out infinite}@keyframes rotate-phone{0%,to{transform:rotate(0)}50%{transform:rotate(90deg)}}.rotation-prompt-text{font-size:1.2rem;font-weight:600;color:#666;margin-bottom:10px}.rotation-prompt-subtext{font-size:.9rem;color:#999}@media (max-width: 768px){.nav-arrow{width:50px;height:50px;font-size:1.5rem}.nav-arrow-left{left:10px}.nav-arrow-right{right:10px}.year-indicator{bottom:80px;font-size:.8rem;padding:10px 20px}}@media (max-width: 480px){.nav-arrow{width:40px;height:40px;font-size:1.2rem}.year-indicator{bottom:60px;font-size:.75rem;padding:8px 16px}}@media (max-width: 768px) and (orientation: portrait){.rotation-prompt{display:flex}.garden-container{display:none}}
