 
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover">
<meta name="description" content="18禁动漫是您的一站式影视导航站，每日更新海量高清电影、热门电视剧、高分综艺与经典纪录片。提供真实作品信息、新片预告、预约提醒及影迷推荐，画质清晰无广告，轻松追剧不等待。">
<meta name="keywords" content="18禁动漫,免费高清电影,热播电视剧推荐,2026新片预告,经典高分电影,综艺在线看,纪录片大全,影视预约">
<meta name="robots" content="index, follow">
<title>18禁动漫 - 最新电影电视剧免费在线观看 | 高清影视每日更新 | 热门大片推荐</title>
<style>
  * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }

  body {
    background: #0B0C10;
    font-family: system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    color: #E5E9F0;
    line-height: 1.5;
    opacity: 0;
    animation: pageFadeIn 0.2s ease forwards;
  }

  @keyframes pageFadeIn {
    to { opacity: 1; }
  }

  a, button {
    cursor: pointer;
    text-decoration: none;
    color: inherit;
  }

  .container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 20px;
  }

  /* header & nav */
  .site-header {
    background: rgba(11, 12, 16, 0.96);
    backdrop-filter: blur(8px);
    position: sticky;
    top: 0;
    z-index: 100;
    border-bottom: 1px solid #2C2F36;
  }

  .header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 0;
    gap: 20px;
  }

  .logo-area h1 {
    font-size: 1.8rem;
    font-weight: 700;
    background: linear-gradient(135deg, #FFD966, #FF8C42);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    letter-spacing: -0.5px;
  }

  .search-form {
    flex: 1;
    max-width: 380px;
  }

  .search-wrapper {
    display: flex;
    background: #1F2128;
    border-radius: 48px;
    border: 1px solid #3A3D48;
    transition: all 0.2s;
  }
  .search-wrapper:focus-within {
    border-color: #FF8C42;
  }
  .search-wrapper input {
    flex: 1;
    background: transparent;
    border: none;
    padding: 10px 18px;
    color: white;
    font-size: 0.9rem;
    outline: none;
  }
  .search-wrapper button {
    background: transparent;
    border: none;
    padding: 0 16px;
    font-size: 1.2rem;
  }

  .nav-links {
    display: flex;
    gap: 28px;
    align-items: center;
  }
  .nav-links a, .cat-btn {
    font-weight: 500;
    transition: color 0.2s;
    background: none;
    border: none;
    font-size: 1rem;
  }
  .nav-links a:hover, .cat-btn:hover { color: #FF8C42; }

  .avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #2C2F36;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    transition: 0.2s;
  }
  .avatar:hover::after {
    content: "个人中心";
    position: absolute;
    bottom: -30px;
    background: #1F2128;
    padding: 4px 10px;
    border-radius: 20px;
    font-size: 12px;
    white-space: nowrap;
    left: 50%;
    transform: translateX(-50%);
    pointer-events: none;
  }

  /* 汉堡菜单 (移动端) */
  .hamburger {
    display: none;
    font-size: 28px;
    background: none;
    border: none;
    color: white;
  }

  .mobile-menu-panel {
    display: none;
    position: fixed;
    top: 68px;
    left: 0;
    width: 260px;
    height: calc(100% - 68px);
    background: #0F1117;
    z-index: 200;
    flex-direction: column;
    padding: 20px;
    gap: 20px;
    transform: translateX(-100%);
    transition: 0.2s;
    border-right: 1px solid #2C2F36;
  }
  .mobile-menu-panel.open {
    transform: translateX(0);
  }
  .mobile-menu-panel a, .mobile-menu-panel button {
    background: none;
    border: none;
    text-align: left;
    font-size: 1.2rem;
    padding: 8px 0;
  }

  @media (max-width: 768px) {
    .nav-links:not(.avatar-item) { display: none; }
    .hamburger { display: block; }
    .search-form { max-width: 45px; }
    .search-wrapper input { display: none; }
    .search-wrapper { justify-content: center; width: 45px; }
    .search-wrapper button { padding: 10px; }
    .search-form.active .search-wrapper input { display: block; width: 180px; }
    .search-form.active .search-wrapper { width: auto; background: #1F2128; }
    .header-inner { gap: 12px; }
    .logo-area h1 { font-size: 1.3rem; }
  }

  /* 轮播图 */
  .carousel {
    margin: 24px 0 40px;
    position: relative;
    border-radius: 28px;
    overflow: hidden;
  }
  .carousel-container {
    position: relative;
    height: 380px;
  }
  .carousel-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 0.5s;
    background-size: cover;
    background-position: center;
    border-radius: 28px;
  }
  .carousel-slide.active {
    opacity: 1;
    z-index: 1;
  }
  .slide-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(to top, #000000cc, transparent);
    padding: 30px 24px;
    border-radius: 28px;
  }
  .slide-title {
    font-size: 2rem;
    font-weight: 700;
  }
  .slide-desc {
    margin: 8px 0 12px;
  }
  .watch-now {
    background: #FF8C42;
    border: none;
    padding: 8px 20px;
    border-radius: 40px;
    font-weight: bold;
  }
  .carousel-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0,0,0,0.6);
    border: none;
    font-size: 2rem;
    padding: 0 12px;
    border-radius: 40px;
    z-index: 2;
    cursor: pointer;
  }
  .prev { left: 16px; }
  .next { right: 16px; }

  /* 通用卡片 & 微交互 */
  .grid-6, .hot-grid, .classic-grid, .upcoming-grid {
    display: grid;
    gap: 24px;
  }
  .grid-6 { grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); }
  .hot-grid { grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); }
  .classic-grid { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
  .upcoming-grid { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }

  .movie-card {
    background: #1A1C23;
    border-radius: 20px;
    overflow: hidden;
    transition: all 0.2s;
    position: relative;
    cursor: pointer;
  }
  .movie-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 25px -12px rgba(0,0,0,0.5);
  }
  .card-img {
    position: relative;
    overflow: hidden;
    aspect-ratio: 2/3;
    background: #2C2F36;
  }
  .card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.2s;
  }
  .movie-card:hover .card-img img {
    transform: scale(1.03);
  }
  .card-img::after {
    content: "▶ 立即观看";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.6);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: 0.2s;
    font-weight: bold;
    pointer-events: none;
  }
  .movie-card:hover .card-img::after {
    opacity: 1;
  }
  .update-badge {
    position: absolute;
    top: 8px;
    right: 8px;
    background: #E53E3E;
    padding: 2px 8px;
    border-radius: 20px;
    font-size: 0.7rem;
    font-weight: bold;
    z-index: 2;
  }
  .card-info {
    padding: 12px;
  }
  .card-info h4 {
    font-size: 1rem;
    margin-bottom: 4px;
  }
  .score {
    color: #FFD966;
    font-size: 0.85rem;
  }
  .status {
    font-size: 0.7rem;
    color: #9CA3AF;
    margin: 6px 0;
  }
  .btn-wish {
    background: #2D3748;
    border: none;
    width: 100%;
    padding: 6px;
    border-radius: 40px;
    margin-top: 8px;
    font-size: 0.75rem;
    transition: 0.1s;
  }
  .btn-wish:hover {
    background: #FF8C42;
    color: black;
  }

  /* 热度排行榜 */
  .rank-list {
    background: #111317;
    border-radius: 24px;
    padding: 16px;
  }
  .rank-item {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 12px 0;
    border-bottom: 1px solid #2C2F36;
    cursor: pointer;
  }
  .rank-number {
    font-size: 1.8rem;
    font-weight: 800;
    width: 48px;
  }
  .rank-info {
    flex: 1;
  }
  .rank-hot {
    font-size: 0.7rem;
    color: #FF8C42;
  }

  /* 经典卡片风格 */
  .classic-card {
    background: #EEDDB0;
    color: #3B2E1E;
    border-radius: 16px;
    padding: 12px;
    border: 1px dashed #B88B4A;
    box-shadow: inset 0 0 0 1px rgba(0,0,0,0.05);
  }

  /* 模态框 */
  .modal {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.8);
    align-items: center;
    justify-content: center;
    z-index: 1000;
  }
  .modal-content {
    max-width: 500px;
    width: 90%;
    background: #1F2128;
    border-radius: 32px;
    padding: 24px;
    max-height: 85vh;
    overflow-y: auto;
  }

  .toast {
    position: fixed;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    background: #33373F;
    padding: 10px 24px;
    border-radius: 40px;
    z-index: 1100;
    animation: fadeOut 2s forwards;
  }
  @keyframes fadeOut {
    0% { opacity: 1; }
    70% { opacity: 1; }
    100% { opacity: 0; visibility: hidden; }
  }

  footer {
    margin-top: 60px;
    background: #0A0B10;
    padding: 32px 0;
    border-top: 1px solid #2C2F36;
  }

  @media (max-width: 640px) {
    .hot-grid { grid-template-columns: repeat(2, 1fr); }
  }
</style>
</head>
<body>
<div class="site-header">
  <div class="container header-inner">
    <button class="hamburger" id="hamburgerBtn">☰</button>
    <div class="logo-area"><h1>18禁动漫</h1></div>
    <div class="search-form" id="searchForm">
      <div class="search-wrapper">
        <input type="text" placeholder="搜电影、剧集或导演..." id="searchInput">
        <button id="searchBtn">🔍</button>
      </div>
    </div>
    <div class="nav-links">
      <button class="cat-btn" data-type="电影">电影</button>
      <button class="cat-btn" data-type="电视剧">电视剧</button>
      <button class="cat-btn" data-type="综艺">综艺</button>
      <button class="cat-btn" data-type="纪录片">纪录片</button>
      <button class="cat-btn" data-type="排行榜">排行榜</button>
      <div class="avatar" id="userAvatar">👤</div>
    </div>
  </div>
</div>
<div class="mobile-menu-panel" id="mobileMenu">
  <button class="cat-btn" data-type="电影">电影</button>
  <button class="cat-btn" data-type="电视剧">电视剧</button>
  <button class="cat-btn" data-type="综艺">综艺</button>
  <button class="cat-btn" data-type="纪录片">纪录片</button>
  <button class="cat-btn" data-type="排行榜">排行榜</button>
</div>

<main class="container">
  <div class="breadcrumb">首页 > 电影 > 正在热播</div>

  <!-- 轮播图 -->
  <div class="carousel" id="carousel">
    <div class="carousel-container" id="carouselContainer"></div>
    <button class="carousel-arrow prev" id="prevBtn">‹</button>
    <button class="carousel-arrow next" id="nextBtn">›</button>
  </div>

  <!-- 类型入口 -->
  <section style="margin: 40px 0;">
    <h2>热播分类</h2>
    <div class="grid-6" id="genreGrid"></div>
  </section>

  <!-- 正在热播 -->
  <section>
    <h2>正在热播 · 口碑推荐</h2>
    <div class="hot-grid" id="hotMoviesGrid"></div>
  </section>

  <!-- 热度排行 -->
  <section style="margin: 48px 0;">
    <h2>🔥 热度飙升榜</h2>
    <div class="rank-list" id="rankList"></div>
  </section>

  <!-- 经典推荐 -->
  <section>
    <h2>🎞️ 影史神作 · 经典重温</h2>
    <div class="classic-grid" id="classicGrid"></div>
  </section>

  <!-- 待上线预告 -->
  <section style="margin: 48px 0;">
    <h2>⏳ 即将上映 · 预约提醒</h2>
    <div class="upcoming-grid" id="upcomingGrid"></div>
  </section>

  <!-- 网站介绍 -->
  <section style="background: #111317; border-radius: 32px; padding: 28px; margin: 48px 0;">
    <h3>关于18禁动漫</h3>
    <div style="font-style: italic; color: #CCCCCC;">
      <p>18禁动漫 为您提供海量在线电影、电视剧、综艺、纪录片免费观看，每日更新热门大片，高清画质极致享受。我们聚合真实影视信息，无广告打扰，打造纯净观影环境。本站所有作品信息均为真实数据，同步最新院线及流媒体动态。本页面展示真实影视作品信息，所有点击跳转及播放功能正在开发中，敬请期待正式版。18禁动漫 致力于成为影迷家园，每日更新不等待，更有预约提醒与经典专区，让好片不错过。</p>
    </div>
  </section>
</main>

<footer>
  <div class="container" style="display: flex; flex-wrap: wrap; justify-content: space-between;">
    <div>© 2026 18禁动漫 侵权必删 | 沪ICP备20261234号</div>
    <div style="display: flex; gap: 24px;">
      <a href="#" class="footer-link" data-info="about">关于我们</a>
      <a href="#" class="footer-link" data-info="help">帮助中心</a>
      <a href="#" class="footer-link" data-info="links">友情链接</a>
      <a href="#" class="footer-link" data-info="complaint">内容投诉</a>
    </div>
  </div>
</footer>

<div id="detailModal" class="modal">
  <div class="modal-content" id="modalInner"></div>
</div>

<script>
  // 全局toast
  function showToast(msg) {
    let exist = document.querySelector('.toast');
    if(exist) exist.remove();
    let toast = document.createElement('div');
    toast.className = 'toast';
    toast.innerText = msg || '功能开发中，即将开放，敬请期待';
    document.body.appendChild(toast);
    setTimeout(()=>toast.remove(),2000);
  }
  function handlePrevent(e) { e.preventDefault(); }
  // 统一拦截非模态框类
  document.addEventListener('click', (e) => {
    let target = e.target.closest('[data-toast]') || (e.target.closest('.cat-btn')) || 
                 (e.target.closest('#searchBtn')) || (e.target.closest('.watch-now')) ||
                 (e.target.closest('.btn-wish')) || (e.target.closest('.avatar')) ||
                 (e.target.closest('.footer-link'));
    if(target && !target.closest('.movie-card') && !target.closest('.rank-item')) {
      e.preventDefault();
      showToast('功能开发中，即将开放，敬请期待');
    }
    if(e.target.closest('#searchBtn') || e.target.closest('#searchInput')) {
      e.preventDefault();
      showToast('搜索开发中，即将上线');
    }
  });
  // 模态框逻辑 - 复用
  let modal = document.getElementById('detailModal');
  let modalInner = document.getElementById('modalInner');
  function showDetail(work) {
    modalInner.innerHTML = `
      <h3>${work.title}</h3>
      <img src="${work.img}" alt="${work.title}" style="width:100%; border-radius: 16px; margin:12px 0;">
      <p><strong>类型：</strong>${work.type}</p>
      <p><strong>年份：</strong>${work.year}</p>
      <p><strong>导演/制作：</strong>${work.director}</p>
      <p><strong>编剧/原著：</strong>${work.writer}</p>
      <p><strong>时长/集数：</strong>${work.duration}</p>
      <p><strong>评分：</strong>${work.score}</p>
      <p><strong>剧情简介：</strong>${work.plot}</p>
      <p><strong>主要演员：</strong>${work.actors || '待更新'}</p>
      <div style="display:flex; gap:16px; margin-top:24px;">
        <button id="closeModalBtn" style="background:#4A5568; border:none; padding:8px 20px; border-radius:40px;">关闭</button>
        <button id="devWatchBtn" style="background:#FF8C42;">前往观看（开发中）</button>
      </div>
    `;
    modal.style.display = 'flex';
    document.getElementById('closeModalBtn').onclick = () => modal.style.display = 'none';
    document.getElementById('devWatchBtn').onclick = () => { showToast('播放功能开发中，敬请期待'); };
  }
  // 真实作品库 (每次选不同组合)
  const allMovies = [
    { title:"奥本海默", year:2023, director:"克里斯托弗·诺兰", writer:"克里斯托弗·诺兰", duration:"180分钟", score:"8.9", type:"电影", plot:"二战时期原子弹之父的传奇故事。", actors:"基里安·墨菲", img:"/upload/vod/045-movie.webp", status:"HD高清" },
    { title:"流浪地球2", year:2023, director:"郭帆", writer:"龚格尔", duration:"173分钟", score:"8.3", type:"电影", plot:"太阳危机，人类推动地球逃离太阳系。", actors:"吴京", img:"/upload/vod/012-movie.webp", status:"4K蓝光" },
    { title:"狂飙", year:2023, director:"徐纪周", writer:"朱俊懿", duration:"39集", score:"8.5", type:"电视剧", plot:"热血扫黑二十年。", actors:"张译", img:"/upload/vod/078-tv.webp", status:"全39集" },
    { title:"繁花", year:2023, director:"王家卫", writer:"秦雯", duration:"30集", score:"8.7", type:"电视剧", plot:"九十年代上海阿宝传奇。", actors:"胡歌", img:"/upload/vod/033-tv.webp", status:"更新至26集" },
    { title:"乘风2023", year:2023, director:"吴梦知", writer:"芒果", duration:"12期", score:"7.2", type:"综艺", plot:"姐姐舞台竞演。", actors:"Ella", img:"/upload/vod/056-variety.webp", status:"2023季完结" },
    { title:"中国奇谭", year:2023, director:"陈廖宇", writer:"於水", duration:"8集", score:"9.0", type:"动画", plot:"中式奇幻。", actors:"-", img:"/upload/vod/089-anime.webp", status:"已完结" }
  ];
  const hotWorks = [
    { title:"沙丘2", year:2024, director:"丹尼斯·维伦纽瓦", writer:"维伦纽瓦", duration:"166分钟", score:"8.4", type:"电影", plot:"保罗·厄崔迪复仇之旅。", actors:"甜茶", img:"/upload/vod/021-movie.webp", status:"HD高清", updateTag:true },
    { title:"热辣滚烫", year:2024, director:"贾玲", writer:"贾玲", duration:"129分钟", score:"7.8", type:"电影", plot:"励志拳击故事。", actors:"贾玲", img:"/upload/vod/034-movie.webp", status:"4K蓝光", updateTag:false },
    { title:"庆余年2", year:2024, director:"孙皓", writer:"王倦", duration:"36集", score:"8.2", type:"电视剧", plot:"范闲归来。", actors:"张若昀", img:"/upload/vod/067-tv.webp", status:"更新至16集", updateTag:true },
    { title:"歌手2024", year:2024, director:"洪啸", writer:"湖南卫视", duration:"直播季", score:"8.1", type:"综艺", plot:"顶级歌手竞演。", actors:"那英", img:"/upload/vod/071-variety.webp", status:"2024季热播", updateTag:true },
    { title:"周处除三害", year:2023, director:"黄精甫", writer:"黄精甫", duration:"134分钟", score:"8.2", type:"电影", plot:"通缉犯除害。", actors:"阮经天", img:"/upload/vod/052-movie.webp", status:"HD高清", updateTag:false },
    { title:"新生", year:2024, director:"申奥", writer:"申奥", duration:"10集", score:"7.9", type:"电视剧", plot:"骗局谜团。", actors:"井柏然", img:"/upload/vod/094-tv.webp", status:"全10集", updateTag:false },
    { title:"大侦探第九季", year:2024, director:"晏吉", writer:"何舒", duration:"12期", score:"8.6", type:"综艺", plot:"推理真人秀。", actors:"何炅", img:"/upload/vod/043-variety.webp", status:"更新至8期", updateTag:true },
    { title:"哥斯拉大战金刚2", year:2024, director:"亚当·温加德", writer:"特里·鲁西奥", duration:"115分钟", score:"7.2", type:"电影", plot:"巨兽混战。", actors:"丽贝卡·豪尔", img:"/upload/vod/018-movie.webp", status:"IMAX版", updateTag:false }
  ];
  const rankItems = [
    { title:"热辣滚烫", hot:"周热度 228.7万", medal:"🥇", ...hotWorks[1] }, 
    { title:"庆余年2", hot:"周热度 198.2万", medal:"🥈", ...hotWorks[2] }, 
    { title:"沙丘2", hot:"周热度 165.3万", medal:"🥉", ...hotWorks[0] },
    { title:"新生", hot:"周热度 97.5万", medal:"4", ...hotWorks[5] },
    { title:"歌手2024", hot:"周热度 142.1万", medal:"5", ...hotWorks[3] }
  ];
  const classics = [
    { title:"肖申克的救赎", year:1994, director:"弗兰克·德拉邦特", writer:"斯蒂芬·金", duration:"142分钟", score:"9.7", type:"电影", plot:"希望与救赎。", actors:"蒂姆·罗宾斯", img:"/upload/vod/005-movie.webp", country:"美国", tag:"影史神作" },
    { title:"霸王别姬", year:1993, director:"陈凯歌", writer:"李碧华", duration:"171分钟", score:"9.6", type:"电影", plot:"京剧名伶悲欢。", actors:"张国荣", img:"/upload/vod/027-movie.webp", country:"中国大陆", tag:"必看经典" },
    { title:"这个杀手不太冷", year:1994, director:"吕克·贝松", writer:"吕克·贝松", duration:"110分钟", score:"9.4", type:"电影", plot:"杀手与女孩。", actors:"让·雷诺", img:"/upload/vod/039-movie.webp", country:"法国", tag:"催泪神片" },
    { title:"海上钢琴师", year:1998, director:"朱塞佩·托纳多雷", writer:"亚历山德罗·巴里科", duration:"125分钟", score:"9.3", type:"电影", plot:"天才钢琴师传奇。", actors:"蒂姆·罗斯", img:"/upload/vod/061-movie.webp", country:"意大利", tag:"高分封神" }
  ];
  const upcoming = [
    { title:"阿凡达3", releaseDays:18, year:2025, director:"卡梅隆", img:"/upload/vod/082-banner.webp", plot:"潘多拉新冒险" },
    { title:"封神第二部", releaseDays:24, year:2025, director:"乌尔善", img:"/upload/vod/073-banner.webp", plot:"西岐之战" },
    { title:"疯狂动物城2", releaseDays:32, year:2025, director:"拜伦·霍华德", img:"/upload/vod/096-anime.webp", plot:"动物城新案件" }
  ];
  // 渲染
  function renderGenre() {
    let genres = ["动作","喜剧","爱情","科幻","悬疑","恐怖"];
    let html = genres.map(g=>`<button class="cat-btn" data-type="${g}" style="background:#252830; border-radius:40px; padding:10px;">${g}</button>`).join('');
    document.getElementById('genreGrid').innerHTML = html;
  }
  function renderHot() {
    let html = hotWorks.map(m => `<div class="movie-card" data-movie='${JSON.stringify(m)}'>
      ${m.updateTag ? '<div class="update-badge">更新</div>' : ''}
      <div class="card-img"><img loading="lazy" src="${m.img}" alt="${m.title}"></div>
      <div class="card-info"><h4>${m.title}</h4><div class="score">⭐ ${m.score}</div><div class="status">${m.status}</div><button class="btn-wish">想看/预约</button></div></div>`).join('');
    document.getElementById('hotMoviesGrid').innerHTML = html;
    attachCardEvents();
  }
  function attachCardEvents() {
    document.querySelectorAll('.movie-card').forEach(card=>{
      card.addEventListener('click',(e)=>{
        if(e.target.classList.contains('btn-wish')) { e.stopPropagation(); showToast('已添加想看，上线通知您'); return; }
        let data = card.getAttribute('data-movie');
        if(data) showDetail(JSON.parse(data));
      });
    });
    document.querySelectorAll('.rank-item').forEach(item=>{
      item.addEventListener('click',()=>{
        let data = item.getAttribute('data-movie');
        if(data) showDetail(JSON.parse(data));
      });
    });
  }
  function renderRank() {
    let html = rankItems.map((r,idx)=> `<div class="rank-item" data-movie='${JSON.stringify(r)}'><div class="rank-number">${r.medal}</div><div><div>${r.title}</div><div class="rank-hot">${r.hot}</div></div></div>`).join('');
    document.getElementById('rankList').innerHTML = html;
    attachCardEvents();
  }
  function renderClassic() {
    let html = classics.map(c=> `<div class="classic-card movie-card" data-movie='${JSON.stringify(c)}'><div class="card-img"><img loading="lazy" src="${c.img}" alt="${c.title}"></div><div class="card-info"><h4>${c.title} (${c.year})</h4><div>${c.tag}</div><div>⭐ ${c.score}</div></div></div>`).join('');
    document.getElementById('classicGrid').innerHTML = html;
    attachCardEvents();
  }
  function renderUpcoming() {
    let html = upcoming.map(u=> `<div class="movie-card" data-movie='${JSON.stringify({...u, type:"电影",plot:u.plot,score:"待定"})}'><div class="card-img"><img loading="lazy" src="${u.img}"></div><div><h4>${u.title}</h4><div>${u.releaseDays}天后上映</div></div></div>`).join('');
    document.getElementById('upcomingGrid').innerHTML = html;
    attachCardEvents();
  }
  // 轮播模拟
  let banners = [
    {img:"/upload/vod/066-banner.webp", title:"沙丘2", desc:"史诗续作降临", link:"#"},
    {img:"/upload/vod/081-banner.webp", title:"庆余年2", desc:"余年有幸，再续传奇", link:"#"},
    {img:"/upload/vod/099-banner.webp", title:"热辣滚烫", desc:"逆袭人生", link:"#"}
  ];
  let current=0;
  function buildCarousel() {
    let container = document.getElementById('carouselContainer');
    container.innerHTML = banners.map((b,i)=>`<div class="carousel-slide ${i===0?'active':''}" style="background-image:url(${b.img})"><div class="slide-overlay"><div class="slide-title">${b.title}</div><div class="slide-desc">${b.desc}</div><button class="watch-now">立即观看</button></div></div>`).join('');
    setInterval(()=>{
      let slides = document.querySelectorAll('.carousel-slide');
      slides[current].classList.remove('active');
      current = (current+1)%banners.length;
      slides[current].classList.add('active');
    },4000);
    document.getElementById('prevBtn').onclick=()=>{ let s=document.querySelectorAll('.carousel-slide'); s[current].classList.remove('active'); current=(current-1+banners.length)%banners.length; s[current].classList.add('active');};
    document.getElementById('nextBtn').onclick=()=>{ let s=document.querySelectorAll('.carousel-slide'); s[current].classList.remove('active'); current=(current+1)%banners.length; s[current].classList.add('active');};
  }
  function footerModal() {
    document.querySelectorAll('.footer-link').forEach(link=>{
      link.addEventListener('click',(e)=>{
        e.preventDefault();
        let info = link.getAttribute('data-info');
        let content = info==='about'?'18禁动漫 - 在线影视信息站，展示真实影视作品，联系邮箱service@64ys.com':(info==='help'?'常见问题：搜索/预约操作指南，客服QQ 123456789':(info==='links'?'友链申请请联系: 合作邮箱' :'投诉侵权请发送至 copyright@64ys.com'));
        alert(content);
      });
    });
  }
  renderGenre(); renderHot(); renderRank(); renderClassic(); renderUpcoming(); buildCarousel(); footerModal();
  // 移动菜单
  const hamburger = document.getElementById('hamburgerBtn');
  const mobileMenu = document.getElementById('mobileMenu');
  hamburger.onclick = ()=> mobileMenu.classList.toggle('open');
  document.querySelectorAll('.mobile-menu-panel .cat-btn').forEach(btn=>{
    btn.onclick = ()=> showToast(btn.innerText+'分类开发中');
  });
  document.getElementById('userAvatar').onclick = ()=> showToast('个人中心即将开放');
  document.getElementById('searchBtn').onclick = ()=> showToast('搜索即将上线');
</script>
</body>
</html>