*{box-sizing:border-box} :root{--cream:#fff9f2;--rose:#c96b86;--dark:#654950;--pink:#f4a9bf}
html,body{margin:0;min-height:100%;font-family:Quicksand,sans-serif;color:var(--dark);background:radial-gradient(circle at 10% 10%,#ffe8ef 0 8%,transparent 28%),radial-gradient(circle at 90% 90%,#eaf4e5 0 8%,transparent 28%),var(--cream);overflow-x:hidden}
button{font:inherit;border:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
.app{width:min(680px,100%);min-height:100vh;margin:auto;padding:28px 18px 45px;display:flex;align-items:center;justify-content:center}
.screen{width:100%;display:none;text-align:center;animation:appear .5s ease both}.screen.active{display:block}
@keyframes appear{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}
.character{font-size:clamp(72px,18vw,115px);line-height:1;margin-bottom:12px;animation:float 3.5s ease-in-out infinite;filter:drop-shadow(0 8px 7px #6b4a5020)}.character.big{font-size:125px}
@keyframes float{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-9px) rotate(2deg)}}
.eyebrow{text-transform:uppercase;letter-spacing:3px;font-size:11px;font-weight:800;color:var(--rose);margin-bottom:10px}
h1,h2,h3{font-family:"Baloo 2",cursive;line-height:1.05;margin:0}h1{font-size:clamp(45px,12vw,74px)}h1 b{color:var(--rose)}h2{font-size:clamp(31px,8vw,48px);margin-bottom:14px}h3{font-size:28px}
p,.letter{font-size:16px;line-height:1.8}.letter{max-width:570px;margin:12px auto}
.primary,.secondary{display:inline-block;margin:17px 5px 0;padding:14px 25px;border-radius:999px;font-weight:800;transition:.2s}
.primary{color:white;background:linear-gradient(135deg,#d77c96,#bb5f7b);box-shadow:0 9px 22px #bf5f7b40}.secondary{background:#fff;color:var(--rose);box-shadow:0 8px 20px #64464b12}.primary:hover,.secondary:hover{transform:translateY(-2px)}.primary:active,.secondary:active{transform:scale(.96)}
.mini{font-size:36px;margin-top:20px}.card{background:#ffffffc7;border:1px solid #c96b861c;border-radius:28px;padding:24px 15px;margin:25px auto 0;max-width:470px;box-shadow:0 18px 50px #7b4d591f;backdrop-filter:blur(8px)}.crown{font-size:35px}.buttons{min-height:65px;margin-top:17px;display:flex;align-items:center;justify-content:center;gap:12px}.yes,.no{min-width:125px;padding:13px 20px;border-radius:999px;font-weight:800}.yes{background:#f3a8bd;color:#fff}.no{background:#f0e8e9;color:#765c62;position:relative}.noMsg{min-height:22px;color:var(--rose);font-size:13px;font-weight:700;margin-top:9px}
.flowers{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin:30px auto;max-width:590px}.flower{min-height:145px;border-radius:22px;background:#fff;box-shadow:0 10px 25px #5b414712;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:.22s;border:2px solid transparent}.flower:hover{transform:translateY(-7px) rotate(-1deg);box-shadow:0 16px 30px #5b414723}.flower:active{transform:scale(.94)}.flower span{font-size:55px;line-height:1}.flower small{margin-top:9px;font-weight:800}.pink{border-color:#f6cad7}.purple{border-color:#d8c9ec}.yellow{border-color:#f2e0a6}.white{border-color:#e7e2dc}.red{border-color:#e8b0b0}.purple span{filter:hue-rotate(245deg) saturate(.8)}.yellow span{filter:hue-rotate(35deg) saturate(1.5)}.white span{filter:grayscale(.75) brightness(1.25)}.red span{filter:hue-rotate(315deg) saturate(1.4)}
.bunny{font-size:44px}.messageCard{max-width:570px;margin:20px auto;padding:26px 24px;background:#ffffffe0;border-radius:28px;box-shadow:0 18px 50px #7b4d591f;text-align:left;line-height:1.85;font-size:16px}.messageCard p{margin:0}.final{text-align:center}.final p+p{margin-top:18px}.signature{margin-top:22px;font-family:"Baloo 2",cursive;font-size:22px}.hearts{color:var(--rose);margin-top:12px}
.floating{position:fixed;inset:0;pointer-events:none;overflow:hidden}.floating span{position:absolute;color:#c96b8638;font-size:21px;animation:drift 8s linear infinite}.floating span:nth-child(1){left:8%;top:15%}.floating span:nth-child(2){left:88%;top:24%;animation-delay:-4s}.floating span:nth-child(3){left:18%;top:78%;animation-delay:-2s}.floating span:nth-child(4){left:78%;top:72%;animation-delay:-5s}.floating span:nth-child(5){left:50%;top:8%;animation-delay:-6s}@keyframes drift{0%{transform:translateY(20px);opacity:.2}50%{opacity:.6}100%{transform:translateY(-35px) rotate(25deg);opacity:.2}}
.toast{position:fixed;left:50%;bottom:25px;transform:translate(-50%,20px);background:#654950;color:#fff;padding:11px 17px;border-radius:999px;font-size:13px;font-weight:700;opacity:0;pointer-events:none;transition:.3s;z-index:5}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:600px){.app{padding-top:20px}.flowers{grid-template-columns:repeat(2,1fr)}.flower:last-child{grid-column:1/-1;width:48%;justify-self:center}.messageCard{padding:22px 19px}}

/* Cat + capybara theme */
.character, .mini, .bunny { user-select:none; }
