:root{--pink-50:#fff1f5;--pink-100:#ffe4ec;--pink-300:#ff9ec0;--pink-500:#ff6b9d;--rose-600:#e11d48;--text:#4a1d2e;--card-bg:#ffffffd1;--font-title:"Dancing Script", cursive;--font-body:"Quicksand", system-ui, sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{-webkit-text-size-adjust:100%;touch-action:manipulation}html,body,#root{min-height:100%;margin:0}:focus-visible{outline:3px solid var(--rose-600);outline-offset:2px}body{font-family:var(--font-body);color:var(--text);background:linear-gradient(135deg, var(--pink-50), var(--pink-100) 50%, #ffd6e5);min-height:100svh;overflow-x:hidden}.layout{min-height:100svh;position:relative}.page{z-index:1;min-height:100svh;padding:max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));place-items:center;display:grid;position:relative}.card{background:var(--card-bg);text-align:center;border-radius:24px;flex-direction:column;align-items:center;gap:16px;width:min(520px,100%);padding:28px 16px;display:flex;box-shadow:0 20px 50px #e11d4826}.title{font-family:var(--font-title);color:var(--rose-600);text-wrap:balance;margin:0;font-size:clamp(2.2rem,7vw,3.2rem)}.subtitle{text-wrap:balance;margin:0;font-size:1.05rem}.subtitle.big{font-size:1.35rem;font-weight:600}.btn{min-height:48px;font:600 1rem var(--font-body);text-align:center;white-space:nowrap;cursor:pointer;border:none;border-radius:999px;padding:12px 28px;text-decoration:none;transition:transform .25s,box-shadow .25s,filter .1s;display:inline-block}.btn:active{filter:brightness(.92)}.btn-primary{background:linear-gradient(135deg, var(--pink-500), var(--rose-600));color:#fff;box-shadow:0 8px 20px #e11d484d}.btn-primary:hover{box-shadow:0 10px 26px #e11d4873}.btn-ghost{color:var(--rose-600);border:2px solid var(--pink-300);background:#fff}.answers{flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;margin-top:12px;display:flex}.answers-stacked{flex-direction:column}.heart-button{cursor:pointer;filter:drop-shadow(0 10px 20px #e11d4859);background:0 0;border:none;padding:0;animation:1.2s ease-in-out infinite beat}.heart-svg{width:100%;height:100%}.beat{animation:1.2s ease-in-out infinite beat}.big-emoji{font-size:4.5rem}@keyframes beat{0%,to{transform:scale(1)}15%{transform:scale(1.15)}30%{transform:scale(1)}45%{transform:scale(1.1)}}.floating-hearts{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.floating-hearts span{color:var(--pink-300);opacity:.6;animation:linear infinite float-up;position:absolute;bottom:-40px}@keyframes float-up{to{opacity:0;transform:translateY(-110vh)rotate(25deg)}}.letter{text-align:left;align-items:flex-start}.letter .btn{align-self:center}.letter-line{opacity:0;margin:0;line-height:1.6;animation:.8s forwards fade-in}.signature{font-family:var(--font-title);color:var(--rose-600);align-self:flex-end;margin:8px 0;font-size:1.6rem}.details{gap:10px;width:100%;margin:0;padding:0;list-style:none;display:grid}.details li{text-align:left;background:#fff;border-radius:14px;grid-template-columns:28px 96px 1fr;align-items:center;padding:10px;display:grid}.details-label{color:var(--rose-600);font-weight:600}.plan-chooser{gap:18px;width:100%;margin-top:6px;display:grid}.plan-send{bottom:max(12px, env(safe-area-inset-bottom));z-index:2;justify-content:center;align-items:center;min-height:56px;font-size:1.1rem;display:flex;position:sticky}.plan-secondary{grid-auto-columns:1fr;grid-auto-flow:column;gap:10px;display:grid}.plan-secondary .btn{white-space:normal;justify-content:center;align-items:center;padding:10px 8px;display:flex}.choice-group{border:none;gap:8px;min-width:0;margin:0;padding:0;display:grid}.choice-group-title{float:left;text-align:left;width:100%;color:var(--rose-600);margin-bottom:4px;padding:0;font-weight:600}.choice-option{text-align:left;border:2px solid var(--pink-100);cursor:pointer;background:#fff;border-radius:12px;align-items:center;gap:12px;min-height:48px;padding:10px 12px;display:flex}.choice-option:has(input:checked){border-color:var(--pink-500);background:var(--pink-50)}.choice-option input{width:20px;height:20px;accent-color:var(--rose-600);flex-shrink:0;margin:0}.choice-custom{border:2px solid var(--pink-300);width:100%;min-height:48px;font:1rem var(--font-body);color:var(--text);border-radius:12px;padding:10px 12px}.floating-hearts span:nth-child(n+10){display:none}@media (width>=600px){.page{padding:24px 16px}.card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:40px 28px}.floating-hearts span:nth-child(n+10){display:inline}}.fade-in{animation:.7s both fade-in}@keyframes fade-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.letter-line{opacity:1}}
