/* =============== General Body Styling =============== */
body {
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    background-color: #f5f5f5;
    font-family: Arial, sans-serif;
    flex-direction: column;
    overflow: hidden; /* No scrollbars for absolute-positioned elements */
  }
  
  /* =============== Heart Shape =============== */
  .heart {
    width: 100px;
    height: 100px;
    background-color: #ff6b6b;
    position: relative;
    transform: rotate(-45deg);
    filter: blur(4px); /* Adds a blur effect */
    cursor: pointer;
    transition: transform 0.3s ease, filter 0.3s ease;
    z-index: 10; /* Keep the heart behind lyrics */
  }
  .heart::before,
  .heart::after {
    content: "";
    width: 100px;
    height: 100px;
    background-color: #ff6b6b;
    border-radius: 50%;
    position: absolute;
  }
  .heart::before {
    top: -50px;
    left: 0;
  }
  .heart::after {
    top: 0;
    left: 50px;
  }
  .heart:hover {
    transform: rotate(-45deg) scale(1.1);
    filter: blur(2px); /* Reduces blur on hover */
  }
  
  /* =============== Heartbeat Animation =============== */
  @keyframes heartbeat {
    0%,
    100% {
      transform: rotate(-45deg) scale(1);
    }
    50% {
      transform: rotate(-45deg) scale(1.2);
    }
  }
  .heart.beating {
    animation: heartbeat 1s infinite ease-in-out;
  }
  
  /* =============== "I am sorry" Text =============== */
  
  
  /* =============== Lyrics Container & Story Lines =============== */
  .lyrics-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* We need clicks to go through to the heart */
    pointer-events: none;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 20; /* Above the heart */
  }
  
  .story-line {
    position: absolute;
    /* Use Montserrat, bold (700) */
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 32px;   /* 200% of 16px */
    color: #333;
    background: none;
    border-radius: 10px;
    padding: 10px 15px;
    max-width: 300px;
    text-align: center;
    opacity: 0;
    transition: opacity 0.5s;
    transform: translate(-50%, -50%);
    left: 50%;
    top: 50%;
    pointer-events: none; /* Let clicks pass through to the heart */
    z-index: 20;          /* Ensure it appears in front */
  }
  
  