:root{--blush: #fadadd;--deep-rose: #8b1e3f;--cream: #fff6f0;--gold: #d4af37;--shadow: rgba(139, 30, 63, .18)}.page{position:relative;overflow:hidden;padding:32px 20px 80px}.sparkle-layer{position:fixed;inset:0;pointer-events:none;background-image:radial-gradient(#fff6f0 1px,transparent 1px),radial-gradient(#d4af37 1px,transparent 1px);background-size:120px 120px,160px 160px;background-position:0 0,40px 60px;opacity:.35;animation:shimmer 12s linear infinite}@keyframes shimmer{0%{transform:translateY(0)}to{transform:translateY(-120px)}}.floating-hearts{position:fixed;inset:0;pointer-events:none;overflow:hidden}.floating-heart{position:absolute;bottom:-40px;animation-name:floatUp;animation-timing-function:ease-in;animation-iteration-count:infinite}@keyframes floatUp{0%{transform:translateY(0) scale(.95);opacity:0}15%{opacity:1}to{transform:translateY(-110vh) scale(1.1);opacity:0}}.hero{position:relative;text-align:center;padding:80px 20px 64px;max-width:900px;margin:0 auto 40px;background:#fff6f0bf;border-radius:32px;box-shadow:0 24px 60px var(--shadow);border:1px solid rgba(212,175,55,.35);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.hero-heart{position:absolute;width:220px;height:220px;background:radial-gradient(circle,#d4af374d,#fadadd00);top:-40px;left:50%;transform:translate(-50%);border-radius:50%;animation:heartbeat 2.6s ease-in-out infinite}@keyframes heartbeat{0%,to{transform:translate(-50%) scale(1)}50%{transform:translate(-50%) scale(1.08)}}.love-note{font-family:Dancing Script,cursive;font-size:28px;color:var(--deep-rose);margin-bottom:8px}h1{font-family:Dancing Script,cursive;font-size:clamp(40px,6vw,72px);margin:0 0 16px;color:var(--deep-rose)}h2{font-family:Dancing Script,cursive;font-size:clamp(28px,4vw,48px);margin-bottom:12px;color:var(--deep-rose)}h3{margin:16px 0 8px;color:var(--deep-rose)}.intro{margin:0 auto 24px;max-width:620px;font-size:18px}.section{max-width:980px;margin:0 auto 64px;text-align:center}.notes,.memories{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-top:24px}.note-card,.memory-card{background:var(--cream);border-radius:22px;padding:22px;box-shadow:0 18px 36px #8b1e3f1f;border:1px solid rgba(212,175,55,.3)}.memory-card{text-align:left}.memory-photo{height:140px;background:linear-gradient(135deg,#f6d1da,#fff6f0);border-radius:18px;border:2px dashed rgba(139,30,63,.3);display:grid;place-items:center;font-size:14px;color:#8b1e3f99;font-style:italic}.memory-photo.image{width:100%;height:140px;display:block;border:none;background:#fff6f0;object-fit:cover;object-position:top center}.question{position:relative;min-height:240px;padding:16px 20px 44px;border-radius:0;background:transparent;box-shadow:none;overflow:visible}.question-text{font-size:20px;margin-bottom:24px}.button-row{position:relative;min-height:140px;width:min(720px,100%);margin:0 auto;--btn-gap: 16px}.primary-button,.secondary-button,.ghost-button{border:none;padding:12px 30px;border-radius:999px;font-size:16px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.primary-button{background:linear-gradient(180deg,#ff7c9e,#e34a73);color:#fff;box-shadow:0 16px 28px #e34a7373,inset 0 2px #ffffffb3;animation:pulse 2.6s ease-in-out infinite;position:absolute;left:0;top:20px;width:120px;transform:translate(0)}.secondary-button{background:linear-gradient(180deg,#ff7c9e,#e34a73);color:#fff;border:1px solid rgba(255,255,255,.6);position:absolute;left:0;top:20px;width:120px;box-shadow:0 16px 28px #e34a7373,inset 0 2px #ffffffb3}.primary-button:after,.secondary-button:after{content:"";position:absolute;inset:3px 8px auto;height:40%;border-radius:999px;background:#ffffff73;pointer-events:none}.ghost-button{background:linear-gradient(180deg,#ff7c9e,#e34a73);color:#fff;border:1px solid rgba(255,255,255,.6);box-shadow:0 16px 28px #e34a7373,inset 0 2px #ffffffb3}.ghost-button:after{content:"";position:absolute;inset:3px 8px auto;height:40%;border-radius:999px;background:#ffffff73;pointer-events:none}.primary-button:hover,.secondary-button:hover,.ghost-button:hover{box-shadow:0 18px 28px #8b1e3f40}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}.helper{margin-top:10px;font-size:14px;color:#5a1c34b3}.helper span{font-family:SFMono-Regular,ui-monospace,monospace}.footer{text-align:center;font-size:14px;color:#5a1c34b3}.modal-backdrop{position:fixed;inset:0;background:#5c142c66;display:grid;place-items:center;padding:20px;z-index:10;overflow:hidden}.modal-stack{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:18px}.modal-stack .primary-button{position:static;transform:none;margin-top:6px}.confetti-layer{position:absolute;inset:0;pointer-events:none;overflow:hidden}.confetti-piece{position:absolute;top:-10%;border-radius:4px;opacity:.9;animation-name:confettiFall;animation-timing-function:ease-in;animation-iteration-count:infinite}@keyframes confettiFall{0%{transform:translateY(0) rotate(0)}to{transform:translateY(120vh) rotate(260deg)}}.modal{background:var(--cream);border-radius:28px;padding:32px;text-align:center;max-width:480px;box-shadow:0 20px 40px #8b1e3f59;border:1px solid rgba(212,175,55,.4)}.pop-heart{position:fixed;transform:translate(-50%,-50%);animation:pop 1.2s ease forwards;pointer-events:none;z-index:999}@keyframes pop{0%{transform:translate(-50%,-50%) scale(.6);opacity:1}to{transform:translate(-50%,-160%) scale(1.4);opacity:0}}@media(max-width:720px){.hero{padding:60px 18px 48px}.button-row{width:min(280px,100%);min-height:180px;margin:0 auto}.primary-button,.secondary-button{width:110px}.question-text{font-size:18px}}:root{font-family:Poppins,system-ui,sans-serif;color:#5a1c34;background-color:#fadadd}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top,#fff6f0,#fadadd 45%,#f3c0cd);color:inherit}#root{min-height:100vh}
