<!DOCTYPE html>

<html lang="zh-CN">

<head>

  <meta charset="UTF-8">

  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <title>Dating with me~</title>

  <style>

    * {

      margin: 0;

      padding: 0;

      box-sizing: border-box;

      font-family: "PingFang SC", "Microsoft YaHei", sans-serif;

    }


    body {

      min-height: 100vh;

      background: linear-gradient(135deg, #fce8ef, #f5f0f8);

      display: flex;

      align-items: center;

      justify-content: center;

      padding: 20px;

      position: relative;

      overflow-x: hidden;

    }


    /* 散落装饰小花 */

    .flower {

      position: absolute;

      color: #ff66b2;

      font-size: 22px;

      animation: float 4s ease-in-out infinite;

      z-index: 0;

    }


    @keyframes float {

      0%, 100% { transform: translateY(0); }

      50% { transform: translateY(-10px); }

    }


    /* 主卡片容器 */

    .main-card {

      width: min(85vw, 720px);

      background: #fff;

      border: 4px solid #000;

      border-radius: 32px;

      padding: 40px 30px;

      box-shadow: 8px 8px 0 #000;

      position: relative;

      z-index: 1;

    }


    /* 页面切换控制 */

    .page {

      display: none;

      animation: fadeUp 0.5s ease;

    }


    .page.active {

      display: block;

    }


    @keyframes fadeUp {

      from {

        opacity: 0;

        transform: translateY(20px);

      }

      to {

        opacity: 1;

        transform: translateY(0);

      }

    }


    /* 头像样式 */

    .avatar-box {

      width: 140px;

      height: 140px;

      margin: 0 auto 24px;

      border-radius: 24px;

      border: 4px solid #ff66b2;

      padding: 6px;

      background: #fff;

      overflow: hidden;

    }


    .avatar-box img {

      width: 100%;

      height: 100%;

      border-radius: 18px;

      object-fit: cover;

    }


    h1 {

      font-size: 42px;

      font-weight: 900;

      text-align: center;

      line-height: 1.2;

      margin-bottom: 12px;

    }

    /* 标题两侧大花样式 */

    .title-flower{

      font-size:52px;

      color:#ff77bb;

      vertical-align:middle;

      margin:0 8px;

    }


    .tip-text {

      text-align: center;

      color: #555;

      font-size: 16px;

      margin-bottom: 36px;

    }


    /* 按钮组通用样式 */

    .btn-group {

      display: flex;

      gap: 24px;

      justify-content: center;

      flex-wrap: wrap;

      position: relative;

      min-height: 80px;

    }


    .btn {

      padding: 14px 48px;

      border-radius: 50px;

      border: 3px solid #000;

      font-size: 20px;

      font-weight: bold;

      cursor: pointer;

      box-shadow: 4px 4px 0 #000;

      transition: all 0.2s ease;

    }


    .btn:active {

      transform: translate(2px, 2px);

      box-shadow: 2px 2px 0 #000;

    }


    .btn-primary {

      background: #ff33aa;

      color: #fff;

    }


    .btn-secondary {

      background: #fff;

      color: #000;

      position: relative;

      user-select: none;

    }


    /* 表单输入框/下拉框 */

    .input-item {

      width: 100%;

      margin: 18px 0;

    }


    .input-item label {

      display: block;

      margin-bottom: 8px;

      font-size: 18px;

    }


    .input-item input,

    .input-item select {

      width: 100%;

      padding: 16px 20px;

      border: 3px solid #000;

      border-radius: 18px;

      font-size: 18px;

      box-shadow: 4px 4px 0 #000;

      background: #fff;

    }


    /* 美食九宫格 */

    .food-grid {

      display: grid;

      grid-template-columns: repeat(3, 1fr);

      gap: 16px;

      margin-top: 30px;

    }


    .food-item {

      border: 3px solid #000;

      border-radius: 18px;

      padding: 20px 10px;

      text-align: center;

      box-shadow: 4px 4px 0 #000;

      cursor: pointer;

      transition: 0.2s;

      background: #fff;

    }


    .food-item:hover {

      transform: scale(1.05);

      background: #ffe8f4;

    }


    .food-item .emoji {

      font-size: 32px;

      margin-bottom: 8px;

    }


    /* 结果信息卡片 */

    .info-box {

      border: 3px solid #000;

      border-radius: 20px;

      padding: 24px;

      margin: 24px 0;

      box-shadow: 6px 6px 0 #000;

      display: grid;

      grid-template-columns: 1fr 1fr;

      gap: 16px;

    }


    .info-cell {

      padding: 12px;

      border: 2px solid #000;

      border-radius: 14px;

      background: #fff;

    }


    .info-cell small {

      color: #ff33aa;

      font-weight: bold;

    }


    .heart-row {

      display: flex;

      justify-content: center;

      gap: 10px;

      margin-top: 20px;

      color: #ff33aa;

      font-size: 22px;

    }

  </style>

</head>

<body>

  <!-- 装饰小花 -->

  <div class="flower" style="top: 10%; left: 50%;">🌸</div>

  <div class="flower" style="top: 80%; left: 10%;">🌸</div>

  <div class="flower" style="top: 85%; right: 8%;">🌸</div>


  <div class="main-card">

    <!-- 页面1:初始邀约页 → 本地12.jpg -->

    <div class="page page1 active">

      <div class="avatar-box">

        <img src="12.jpg" alt="戳手手小黄脸表情包">

      </div>

      <h1><span class="title-flower">🌼</span>可以和我一起约会嘛?!<span class="title-flower">🌼</span></h1>

      <p class="tip-text">系统检测到:对方已经紧张到开始写网页了。</p>

      <div class="btn-group">

        <button class="btn btn-primary" id="btn-yes">愿意 ❤</button>

        <button class="btn btn-secondary" id="btn-no">不要 💡</button>

      </div>

    </div>


    <!-- 页面5:惊喜反差页 -->

    <div class="page page5">

      <div style="width: 100px; height: 100px; margin: 0 auto 24px; background: #ed3333; border-radius: 20px; border: 3px solid #000; display: flex; align-items: center; justify-content: center; font-size: 45px;">🥜</div>

      <h1>等下,你真的点了愿意??😭</h1>

      <p class="tip-text">我都已经准备好被你点“不要”了。</p>

      <div class="btn-group">

        <button class="btn btn-primary" id="btn-next-time">好啦好啦 →</button>

      </div>

    </div>


    <!-- 页面4:选择时间页 -->

    <div class="page page4">

      <div style="width: 110px; height: 110px; margin: 0 auto 24px; background: #ff33aa; border-radius: 20px; border: 3px solid #000; display: flex; align-items: center; justify-content: center; font-size: 45px;">📅</div>

      <h1>所以...你什么时候有空?😊</h1>

      <div class="input-item">

        <label>选一天 📅</label>

        <input type="date" id="date-select">

      </div>

      <div class="input-item">

        <label>几点见?⏰</label>

        <select id="time-select">

          <option value="">选择时间...</option>

          <option value="12:00">12:00</option>

          <option value="12:30">12:30</option>

          <option value="13:00">13:00</option>

          <option value="13:30">13:30</option>

          <option value="14:00">14:00</option>

          <option value="14:30">14:30</option>

          <option value="15:00">15:00</option>

          <option value="15:30">15:30</option>

          <option value="16:00">16:00</option>

          <option value="16:30">16:30</option>

          <option value="17:00">17:00</option>

          <option value="17:30">17:30</option>

          <option value="18:00">18:00</option>

          <option value="18:30">18:30</option>

          <option value="19:00">19:00</option>

          <option value="19:30">19:30</option>

          <option value="20:00">20:00</option>

        </select>

      </div>

      <div class="btn-group">

        <button class="btn btn-primary" id="btn-confirm-time">确定时间 ❤</button>

      </div>

    </div>


    <!-- 页面3:选择美食页 -->

    <div class="page page3">

      <h1>我们吃点什么?🍽️✨</h1>

      <p class="tip-text">挑一个今天的约会氛围。</p>

      <div class="food-grid">

        <div class="food-item" data-food="披萨"><div class="emoji">🍕</div>披萨</div>

        <div class="food-item" data-food="寿司"><div class="emoji">🍣</div>寿司</div>

        <div class="food-item" data-food="火锅"><div class="emoji">🍲</div>火锅</div>

        <div class="food-item" data-food="烤肉"><div class="emoji">🥩</div>烤肉</div>

        <div class="food-item" data-food="早茶"><div class="emoji">🥟</div>早茶</div>

        <div class="food-item" data-food="拉面"><div class="emoji">🍜</div>拉面</div>

        <div class="food-item" data-food="麻辣烫"><div class="emoji">🌶️</div>麻辣烫</div>

        <div class="food-item" data-food="小龙虾"><div class="emoji">🦞</div>小龙虾</div>

        <div class="food-item" data-food="烧烤"><div class="emoji">🍡</div>烧烤</div>

        <div class="food-item" data-food="其他"><div class="emoji">🍳</div>其他</div>

      </div>

    </div>


    <!-- 页面2:最终约会结果页 → 本地13.jpg -->

    <div class="page page2">

      <div class="avatar-box">

        <img src="13.jpg" alt="小刘鸭比心表情包">

      </div>

      <h1>真开心你没有拒绝~我会准时来接你!</h1>

      <p class="tip-text" id="result-desc">我们去吃好吃的,带好胃口,我带好路线。</p>

      <div class="info-box">

        <div class="info-cell"><small>DATE</small><p id="res-date"></p></div>

        <div class="info-cell"><small>TIME</small><p id="res-time"></p></div>

        <div class="info-cell"><small>MENU</small><p id="res-food"></p></div>

      </div>

      <div class="heart-row">❤️❤️❤️❤️❤️</div>

    </div>

  </div>


  <script>

    // 全局存储选中信息

    let selectDate = '';

    let selectTime = '';

    let selectFood = '';


    const page1 = document.querySelector('.page1');

    const page2 = document.querySelector('.page2');

    const page3 = document.querySelector('.page3');

    const page4 = document.querySelector('.page4');

    const page5 = document.querySelector('.page5');


    const btnYes = document.getElementById('btn-yes');

    const btnNo = document.getElementById('btn-no');

    const btnNextTime = document.getElementById('btn-next-time');

    const btnConfirmTime = document.getElementById('btn-confirm-time');


    const dateSelect = document.getElementById('date-select');

    const timeSelect = document.getElementById('time-select');

    const foodItems = document.querySelectorAll('.food-item');


    // 拒绝按钮4阶段循环文案

    const noButtonTexts = [

      "不要 💡",

      "再想想 🤔",

      "点不到吧 🫵",

      "不要碰 😤"

    ];


    let noButtonStage = 0;

    let hoverCount = 0;


    // 切换页面工具函数

    function switchPage(nowPage, targetPage) {

      nowPage.classList.remove('active');

      targetPage.classList.add('active');

    }


    // 阻止拒绝按钮点击

    btnNo.addEventListener('click', e => {

      e.preventDefault();

      e.stopPropagation();

      return false;

    });


    // 拒绝按钮鼠标悬浮躲避 + 阶段切换

    btnNo.addEventListener('mouseenter', () => {

      hoverCount++;


      noButtonStage = (noButtonStage + 1) % noButtonTexts.length;

      btnNo.innerText = noButtonTexts[noButtonStage];


      const distanceFactor = Math.min(hoverCount, 6);


      const maxX = window.innerWidth - btnNo.offsetWidth - 100;

      const maxY = window.innerHeight - btnNo.offsetHeight - 100;


      const randomX = (Math.random() - 0.5) * maxX * distanceFactor * 0.45;

      const randomY = (Math.random() - 0.5) * maxY * distanceFactor * 0.45;


      btnNo.style.transform = `translate(${randomX}px, ${randomY}px)`;

      btnNo.style.transition = 'transform 0.35s ease-out';


      // 抖动效果

      btnNo.animate(

        [

          { transform: `translate(${randomX}px, ${randomY}px) rotate(0deg)` },

          { transform: `translate(${randomX}px, ${randomY}px) rotate(-3deg)` },

          { transform: `translate(${randomX}px, ${randomY}px) rotate(3deg)` },

          { transform: `translate(${randomX}px, ${randomY}px) rotate(0deg)` }

        ],

        {

          duration: 300,

          easing: 'ease-in-out'

        }

      );

    });


    // 鼠标离开后按钮复位

    btnNo.addEventListener('mouseleave', () => {

      setTimeout(() => {

        btnNo.style.transform = 'translate(0, 0)';

        btnNo.style.transition = 'transform 0.4s ease';

      }, 600);

    });


    // 愿意按钮跳转反差页

    btnYes.addEventListener('click', () => {

      switchPage(page1, page5);

    });


    // 反差页进入选时间页

    btnNextTime.addEventListener('click', () => {

      switchPage(page5, page4);

    });


    // 确认时间进入选美食页(校验下拉时间)

    btnConfirmTime.addEventListener('click', () => {

      selectDate = dateSelect.value;

      selectTime = timeSelect.value;


      if (!selectDate || !selectTime) {

        alert('记得选好日期和时间哦🥰');

        return;

      }


      switchPage(page4, page3);

    });


    // 选中美食进入结果页并回填数据

    foodItems.forEach(item => {

      item.addEventListener('click', () => {

        selectFood = item.dataset.food;


        document.getElementById('res-date').innerText = selectDate;

        document.getElementById('res-time').innerText = selectTime;

        document.getElementById('res-food').innerText = selectFood;


        switchPage(page3, page2);

      });

    });

  </script>

</body>

</html>