:root{
  --bg1:#ffe6f0;
  --bg2:#fff1f6;
  --accent:#ff4d80;
}
*{box-sizing:border-box}
html,body{height:100%;margin:0;font-family:Inter,Segoe UI,system-ui,Roboto,-apple-system,'Helvetica Neue',Arial}
.body-bg{background:linear-gradient(180deg,var(--bg1),var(--bg2));color:#222}
.stage{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;padding:40px 20px}
.card{background:rgba(255,255,255,0.7);backdrop-filter:blur(6px);border-radius:18px;padding:40px 48px;box-shadow:0 10px 40px rgba(0,0,0,0.08);max-width:720px;width:100%;text-align:center;position:relative;z-index:2}
.question{font-size:2.2rem;margin:0 0 1.5rem;text-align:center;color:#3b2340}
.buttons{display:flex;align-items:center;justify-content:space-between;width:360px;gap:0;position:relative;margin:6px auto 0}
.btn{padding:12px 22px;border-radius:12px;border:0;font-size:1rem;cursor:pointer;box-shadow:0 8px 22px rgba(59,35,64,0.08);transition:transform .12s ease, left .06s linear, top .06s linear;min-width:150px;--btn-scale:1;transform-origin:center;transform:scale(var(--btn-scale))}
.btn.yes{background:linear-gradient(180deg,var(--accent),#ff6aa0);color:white;padding:14px 28px;font-weight:600;min-width:150px}
.btn.no{position:fixed;background:white;color:var(--accent);border:2px solid rgba(255,77,128,0.12);min-width:150px;z-index:3}
.placeholder{visibility:hidden}
.btn:active{transform:scale(calc(var(--btn-scale) * 0.98))}
.pop{animation:pop .28s ease;transform-origin:center}
@keyframes pop{0%{transform:scale(calc(var(--btn-scale) * 0.8))}50%{transform:scale(calc(var(--btn-scale) * 1.12))}100%{transform:scale(calc(var(--btn-scale) * 1))}
}

/* small responsive tweaks */
@media (max-width:480px){
  .card{padding:26px}
  .question{font-size:1.6rem}
  .buttons{width:260px}
}

/* decorative heart accent */
.heart-emoji{font-size:1.4rem;margin-left:8px;vertical-align:middle}

/* hearts layer */
#hearts{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:0}
.heart{position:absolute;will-change:transform,opacity;pointer-events:none;font-size:20px;opacity:.9;transform-origin:center}
.heart.small{font-size:14px;opacity:.8}
.heart.big{font-size:30px;opacity:1}

/* small blurbs that appear when the No button shrinks */
.blurbs{position:absolute;left:50%;transform:translateX(-50%);width:360px;pointer-events:none;z-index:6}
.blurb{display:block;background:rgba(255,77,128,0.08);color:var(--accent);padding:8px 12px;border-radius:999px;font-size:0.92rem;margin:4px auto;opacity:0;transform:translateY(8px);transition:opacity .36s ease, transform .36s ease}
.blurb.hide{opacity:0;transform:translateY(-8px)}
.blurb.pulse{animation:pop .32s ease}
.blurb.hide{opacity:0;transform:translateY(0)}

/* pink celebration mode */
body{transition:background 600ms ease}
body.pink-mode{background:linear-gradient(180deg,#ffe6f6,#fff0f8)}
body.pink-mode .card{background:linear-gradient(180deg,rgba(255,255,255,0.9),rgba(255,250,252,0.9))}
body.pink-mode .heart{color:#ff4d80;text-shadow:0 4px 18px rgba(255,77,128,0.12)}
body.pink-mode .btn.yes{box-shadow:0 12px 30px rgba(255,77,128,0.12)}
