/* ============================================
   语落心成 · 表白版 —— 样式
   ============================================ */
  * { margin: 0; padding: 0; box-sizing: border-box; }
  html, body {
    width: 100%; height: 100%; overflow: hidden;
    background: #0e0e10; color: #fff;
    font-family: "Microsoft YaHei", "PingFang SC", "Noto Sans SC", "Helvetica Neue", sans-serif;
    -webkit-tap-highlight-color: transparent;
  }
  body { touch-action: manipulation; user-select: none; -webkit-user-select: none; }
  #heart { position: fixed; inset: 0; width: 100%; height: 100%; display: block; }

  #title {
    position: fixed; top: max(4vh, 22px); left: 0; right: 0;
    text-align: center; pointer-events: none; z-index: 5;
    font-size: clamp(17px, 3.4vw, 26px);
    letter-spacing: 0.32em; text-indent: 0.32em;
    color: #ffd7e4;
    text-shadow: 0 0 18px rgba(255, 93, 120, .55), 0 0 42px rgba(255, 93, 120, .25);
    opacity: 0; animation: titleIn 2.2s ease .6s forwards;
  }
  #title small {
    display: block; margin-top: 10px;
    font-size: clamp(11px, 1.9vw, 14px); letter-spacing: 0.42em; text-indent: 0.42em;
    color: rgba(255, 180, 210, .62); text-shadow: none;
  }
  @keyframes titleIn {
    from { opacity: 0; transform: translateY(-14px); }
    to   { opacity: 1; transform: translateY(0); }
  }

  #hint {
    position: fixed; bottom: max(3.5vh, 18px); left: 0; right: 0;
    text-align: center; pointer-events: none; z-index: 5;
    font-size: clamp(11px, 2vw, 13px); letter-spacing: 0.3em; text-indent: 0.3em;
    color: rgba(255, 200, 225, .55);
    animation: hintBreath 2.6s ease-in-out infinite;
    opacity: 0; animation-delay: 0s;
  }
  @keyframes hintBreath {
    0%, 100% { opacity: .32; }
    50%      { opacity: .85; }
  }

  #love-line {
    position: fixed; left: 50%; bottom: max(9vh, 60px); transform: translateX(-50%) translateY(8px);
    z-index: 6; pointer-events: none; white-space: nowrap;
    font-size: clamp(15px, 2.9vw, 21px); letter-spacing: 0.14em;
    color: #ffe3ee;
    text-shadow: 0 0 16px rgba(255, 93, 120, .8), 0 0 40px rgba(255, 93, 120, .35);
    opacity: 0; transition: opacity .45s ease, transform .45s ease;
  }
  #love-line.show { opacity: 1; transform: translateX(-50%) translateY(0); }
