:root{font-family: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}}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background-color:#ffb6c1;overflow-x:hidden}.main-container{width:100vw;height:100vh;position:relative;overflow:hidden;background:linear-gradient(135deg,#fff5f7,#fce4ec);display:flex;align-items:center;justify-content:center}.bouquet-screen{text-align:center}.bouquet-emoji{font-size:100px;animation:bouquetBounce 2s infinite}@keyframes bouquetBounce{0%,to{transform:scale(1)}50%{transform:scale(1.2) rotate(5deg)}}.bouquet-text{margin-top:20px;font-size:2.5rem;font-weight:900;color:#c9184a}.show-box{text-align:center}.shimmer-text{font-size:clamp(2.5rem,10vw,4.5rem);letter-spacing:5px;color:#c9184a;margin-bottom:10px;animation:shimmer 2s infinite}@keyframes shimmer{0%,to{opacity:.5}50%{opacity:1}}.name-reveal{font-size:clamp(2.5rem,10vw,4.5rem);font-weight:900;color:#dc3545}.sub-text{font-weight:40;color:#dc3545}.welcome-line{width:0;height:3px;background:#c9184a;margin:20px auto;animation:lineGrow 1.5s forwards}@keyframes lineGrow{to{width:160px}}.question-area{text-align:center;z-index:20}.main-title{font-size:2.5rem;margin-bottom:30px;color:#c9184a}.btn-group{display:flex;gap:40px;justify-content:center;align-items:center;position:relative}.yes-btn{background:#28a745;color:#fff;border:none;padding:18px 45px;border-radius:16px;font-weight:800;cursor:pointer;z-index:20;box-shadow:0 8px 25px #28a74559;transition:transform .2s ease}.no-btn{background:#dc3545;color:#fff;border:none;padding:15px 35px;border-radius:16px;font-weight:800;cursor:pointer;z-index:10}.emoji-display{font-size:70px;animation:bouquetBounce 10.09s infinite}.story-screen{width:100%;height:100vh;overflow-y:auto;padding:100px 0;position:relative}.story-title{text-align:center;font-size:2.8rem;color:#c9184a;margin-bottom:80px;font-weight:900;position:relative;z-index:10}.timeline{display:flex;flex-direction:column;align-items:center;gap:60px;position:relative;z-index:10}.memory-card{background:#ffe4e1;width:90%;max-width:400px;padding:15px 15px 35px;border-radius:6px;box-shadow:0 20px 40px #00000026;opacity:0;animation:cardReveal .8s ease forwards}.memory-card:nth-child(odd){transform:rotate(-3deg) translateY(30px)}.memory-card:nth-child(2n){transform:rotate(3deg) translateY(30px)}@keyframes cardReveal{to{opacity:1;transform:translateY(0) rotate(inherit)}}.img-wrapper img{width:100%;display:block}.card-caption p{margin-top:15px;text-align:center;font-style:italic;font-weight:600;color:#444}.bg-effects{position:fixed;inset:0;pointer-events:none;z-index:1;overflow:hidden}.float-item{position:absolute;bottom:-80px;font-size:22px;opacity:.6;animation:floatUp 14s linear infinite}@keyframes floatUp{0%{transform:translateY(0) rotate(0);opacity:0}10%{opacity:.6}90%{opacity:.6}to{transform:translateY(-120vh) rotate(360deg);opacity:0}}.float-item:nth-child(3n){left:10%;animation-delay:0s}.float-item:nth-child(3n+1){left:50%;animation-delay:4s}.float-item:nth-child(3n+2){left:85%;animation-delay:8s}.final-message{margin-top:120px;text-align:center;font-size:2rem;font-weight:900;color:#c9184a;position:relative;z-index:10}.fade-in-out{animation:fadeInOut 3s forwards}@keyframes fadeInOut{0%{opacity:0}20%,80%{opacity:1}to{opacity:0}}@media(max-width:600px){.btn-group{flex-direction:column;gap:40px}}
