:root{
  --pink1:#ff69b4;
  --pink2:#ff1493;
  --cream:#fdf5f0;
  --text:#4a0e2e;
}

*{margin:0;padding:0;box-sizing:border-box}

body{
  font-family:'Segoe UI',sans-serif;
  background:linear-gradient(160deg,var(--cream) 0%, #fde8e0 100%);
  min-height:100vh;
  display:flex;
  justify-content:center;
  align-items:flex-start;
  padding:22px;
  overflow-x:hidden;
}

.container{
  max-width:900px;
  width:100%;
}

.message-box{
  text-align:center;
  margin-top:10px;
}

.title{
  font-size:2.6rem;
  color:var(--pink2);
  margin-bottom:10px;
}

.dedication{
  font-size:1.2rem;
  color:#3b0f26;
  margin-bottom:16px;
}

/* FOTO */
.photo-container{
  position:relative;
  width:100%;
  max-width:680px;
  margin: 14px auto 10px;
  border-radius:22px;
  overflow:hidden;
  box-shadow: 0 18px 45px rgba(0,0,0,0.18);
  background:#fff;
}

.romantic-photo{
  width:100%;
  height:auto;
  display:block;
}

/* Canvas encima de la foto */
#fallingCanvas{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  pointer-events:none;
}

.counter-box,.question-box{
  background:#fff;
  padding:26px;
  border-radius:20px;
  margin:18px auto 0;
  text-align:center;
  box-shadow:0 8px 25px rgba(0,0,0,0.06);
  max-width:780px;
}

.counter-label{color:#6b2a4a;margin-bottom:6px}
.counter{
  font-size:1.25rem;
  font-weight:800;
  color:var(--pink2);
}

.question{
  font-size:1.65rem;
  margin-bottom:14px;
  color:var(--pink2);
}

.btn{
  padding:14px 38px;
  border:none;
  border-radius:50px;
  font-size:1.15rem;
  cursor:pointer;
  margin:10px;
  font-weight:800;
  transition:0.25s;
}

.btn-yes{
  background:linear-gradient(135deg,var(--pink1),var(--pink2));
  color:#fff;
}
.btn-yes:hover{transform:scale(1.06)}

.btn-no{background:#eee}

.response-message{
  margin-top:18px;
  padding:18px;
  border-radius:20px;
  background:linear-gradient(135deg,var(--pink1),var(--pink2));
  color:#fff;
  font-size:1.35rem;
  text-align:center;
}

.hidden{display:none}
