/* ═══════════════════════════════════════════════════════════
   SCENE 08 — Falling in love
═══════════════════════════════════════════════════════════ */

#scene-08 {
  background: #0a0008;
  z-index: 44;
}

body.scene8-active #stage #scene-08 {
  animation: s8FadeIn 1.2s both;
  pointer-events: auto;
}
@keyframes s8FadeIn { from { opacity: 0; } to { opacity: 1; } }

/* ── Text lines ─────────────────────────────────────────── */
.s8-text {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  max-width: 620px;
  width: 88%;
  text-align: center;
  font-family: 'Georgia', serif;
  font-size: 21px;
  color: #f5eef8;
  line-height: 1.75;
  margin: 0;
}

#s8-line-1 { top: 44px; }

#s8-line-2 {
  bottom: 148px;
  opacity: 0;
  transition: opacity 0.7s ease;
  font-style: italic;
  color: #f0e6f5;
}
#s8-line-2.visible { opacity: 1; }

.s8-text.typing::after {
  content: '|';
  color: #f5eef8;
  animation: s8Blink 0.65s step-end infinite;
}
@keyframes s8Blink { 0%, 100% { opacity: 1; } 50% { opacity: 0; } }

/* ── Heart ──────────────────────────────────────────────── */
#s8-heart-wrap {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -48%);
  opacity: 0;
  transition: opacity 0.5s ease;
}
#s8-heart-wrap.visible { opacity: 1; }

#s8-heart-svg {
  display: block;
  /* CSS drop-shadow for glow — avoids SVG filter defs parsing issues */
  filter: drop-shadow(0 0 12px rgba(229, 57, 53, 0.5));
  transform-origin: center;
  transition: transform 0.85s cubic-bezier(0.34, 1.56, 0.64, 1);
}
#s8-heart-svg.s8-grow {
  transform: scale(1.45);
}
/* Gentle heartbeat once it's grown */
#s8-heart-svg.s8-beat {
  animation: s8Heartbeat 1.4s ease-in-out infinite;
}
@keyframes s8Heartbeat {
  0%, 100% { transform: scale(1.45);  }
  50%       { transform: scale(1.52);  }
}

/* ── View Question button ───────────────────────────────── */
.s8-view-btn {
  position: absolute;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  display: inline-flex;
  align-items: center;
  padding: 14px 44px;
  background: #c62828;
  color: #fff;
  font-family: 'Bangers', 'Impact', cursive;
  font-size: 36px;
  letter-spacing: 3px;
  border: 3px solid #000;
  border-radius: 6px;
  box-shadow: 5px 5px 0 #000;
  cursor: pointer;
  opacity: 0;
  transition: opacity 0.7s ease, box-shadow 0.08s, background 0.08s;
  pointer-events: none;
  z-index: 20;
}
.s8-view-btn.visible {
  opacity: 1;
  pointer-events: auto;
}
.s8-view-btn:hover  { background: #e53935; box-shadow: 7px 7px 0 #000; }
.s8-view-btn:active { background: #b71c1c; box-shadow: 2px 2px 0 #000; }

/* ── Portrait adjustments ───────────────────────────────── */
@media (orientation: portrait) {
  .s8-text    { font-size: 17px; }
  #s8-line-1  { top: 36px; }
  #s8-line-2  { bottom: 140px; }
  #s8-heart-svg { width: 180px !important; height: 162px !important; }
  .s8-view-btn { font-size: 30px; padding: 12px 32px; bottom: 18px; }
}
