:root {
    --bg-color: #0f0f0f;      /* 稍微加深底色，反衬文字 */
    --text-primary: #f5f5f0;  /* 提升亮度：象牙白 */
    --text-dim: #b0b0a8;      /* 提升亮度：中性灰 */
    --accent: #d4c5a9;        /* 提升亮度：亮金铜 */
    --border-color: rgba(245, 245, 240, 0.2);
    --font-serif: 'Crimson Pro', serif;
    --font-sans: 'Inter', sans-serif;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

body {
    background-color: var(--bg-color);
    color: var(--text-primary);
    font-family: var(--font-sans);
    line-height: 1.8; /* 增加行间距 */
    -webkit-font-smoothing: antialiased;
}

/* 导航 */
/* 导航栏整体优化 */
.nav {
    padding: 30px 60px; /* 增加上下内边距，让大字有呼吸空间 */
    background: rgba(15, 15, 15, 0.98); /* 稍微降低透明度，增强易读性 */
    backdrop-filter: blur(15px);
    position: sticky;
    top: 0;
    z-index: 100;
    border-bottom: 1px solid var(--border-color);
}

.nav-inner {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* Logo 样式：更显眼、更有品牌感 */
.logo {
    font-size: 22px; /* 增大字号 */
    letter-spacing: 1.5px;
    font-weight: 700;
    color: var(--accent); /* 悬停变为亮金色 */
    font-family: var(--font-sans);
}

/* 导航链接：更亮、更大 */
.nav-links a {
    text-decoration: none;
    color: var(--text-dim); /* 初始为米灰色 */
    margin-left: 50px; /* 拉开链接间的距离 */
    font-size: 18px;  /* 增大字号，确保清晰 */
    font-weight: 600; /* 加强字重 */
    letter-spacing: 1px;
    transition: all 0.3s ease;
}

/* 悬停效果：亮金色渐变 */
.nav-links a:hover {
    color: var(--accent); /* 悬停变为亮金色 */
    text-shadow: 0 0 10px rgba(212, 197, 169, 0.3); /* 增加微弱发光感 */
}

/* 响应式调整 */
@media (max-width: 768px) {
    .nav { padding: 20px; }
    .logo { font-size: 18px; }
    .nav-links a { margin-left: 20px; font-size: 15px; }
}

/* 主容器 */
.container { max-width: 1100px; margin: 0 auto; padding: 0 40px; }

/* 标题区 */
.hero { padding: 120px 0 100px; }
.header-line { width: 60px; height: 2px; background: var(--accent); margin-bottom: 40px; }
.main-title {
    font-family: var(--font-serif);
    font-size: 64px; /* 进一步放大 */
    line-height: 1.15; font-weight: 500;
    margin-bottom: 60px; letter-spacing: -1.5px;
}
.main-title em { font-style: italic; color: var(--accent); }

.meta-row { display: flex; gap: 100px; }
.label { font-size: 12px; letter-spacing: 2px; color: var(--accent); margin-bottom: 12px; font-weight: 600; display: block; }
/* .meta-item p { font-size: 16px; color: var(--text-dim); font-weight: 400; } */

/* 视频接口区 */
.video-section { margin-bottom: 140px; }
.video-container {
    background: #181818;
    border: 1px solid var(--border-color);
    aspect-ratio: 16/9;
    position: relative;
    cursor: pointer;
    box-shadow: 0 20px 50px rgba(0,0,0,0.5);
}
.video-interface {
    position: absolute; inset: 0;
    display: flex; align-items: center; justify-content: center;
}
.play-trigger { text-align: center; color: var(--text-primary); }
.play-trigger svg { margin-bottom: 20px; filter: drop-shadow(0 0 10px rgba(212, 197, 169, 0.4)); }
.play-trigger p { font-size: 13px; font-weight: 600; letter-spacing: 3px; }

.video-caption {
    margin-top: 25px; font-size: 16px; color: var(--text-dim); text-align: center;
}

/* 网格板块 */
.grid-section {
    display: grid; grid-template-columns: repeat(3, 1fr);
    gap: 50px; margin-bottom: 140px;
}
.grid-card h2 { font-family: var(--font-serif); font-size: 28px; font-weight: 500; margin-bottom: 20px; color: var(--accent); }
.grid-card p { font-size: 16px; color: var(--text-primary); /* 象牙白 */ font-weight: 400; }

/* 详细信息行 */
.detail-row {
    display: grid; grid-template-columns: 240px 1fr;
    border-top: 1px solid var(--border-color);
    padding: 80px 0;
}
.side-label { font-size: 12px; font-weight: 700; letter-spacing: 2px; color: var(--accent); }
.main-body h3 { font-family: var(--font-serif); font-size: 38px; font-weight: 500; margin-bottom: 25px; }
.main-body p {
    font-size: 19px; /* 正文放大 */
    color: var(--text-dim); margin-bottom: 40px; max-width: 750px;
}

.image-placeholder {
    background: #1a1a1a; height: 400px;
    border: 1px solid var(--border-color);
    display: flex; align-items: center; justify-content: center;
    color: var(--accent); font-size: 14px; font-style: italic;
}

/* 引用块 */
.cite-block { background: #151515; padding: 50px; border-left: 3px solid var(--accent); }
pre { margin-top: 25px; font-size: 15px; line-height: 1.6; color: var(--text-dim); font-family: monospace; }


/* 在之前的 :root 基础上微调 */
:root {
    --hf-color: #ffbd2e; /* 类似 Hugging Face 标志的黄色，作为亮色点缀 */
}

.hero {
    padding: 120px 0 100px;
}

.main-title {
    font-family: var(--font-serif);
    font-size: 52px; /* 进一步放大，建立视觉中心 */
    line-height: 1.1;
    font-weight: 500;
    color: #ffffff; /* 标题设为纯白，最亮 */
    margin-bottom: 70px;
    letter-spacing: -2px;
}

.meta-row {
    display: flex;
    flex-wrap: wrap; /* 移动端自动换行 */
    gap: 80px;
    border-top: 1px solid var(--border-color);
    padding-top: 40px;
}

.label {
    font-size: 16px; /* 标签稍微大一点 */
    letter-spacing: 2px;
    color: var(--accent); /* 金色/米色标签 */
    text-transform: uppercase;
    font-weight: 700;
    margin-bottom: 12px;
    display: block;
}

.meta-item p {
    font-size: 20px; /* 内容字体显著放大 */
    color: var(--text-primary); /* 象牙白 */
    font-weight: 500;
}

/* Hugging Face 链接专用样式 */
.hf-link {
    color: var(--text-primary);
    text-decoration: none;
    position: relative;
    padding-bottom: 2px;
    transition: color 0.3s ease;
}

.hf-link::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: var(--accent);
    transform: scaleX(0.3);
    transform-origin: left;
    transition: transform 0.4s cubic-bezier(0.19, 1, 0.22, 1);
}

.hf-link:hover {
    color: #ffffff;
}

.hf-link:hover::after {
    transform: scaleX(1);
    background: #ffffff;
}

.video-container {
    background: #000;
    border: 1px solid var(--border-color);
    aspect-ratio: 16/9;
    position: relative;
    cursor: pointer;
    overflow: hidden; /* 确保视频不会超出边框 */
    transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.video-container:hover {
    border-color: var(--accent);
}

/* 视频标签样式 */
#main-video {
    width: 100%;
    height: 100%;
    object-fit: cover; /* 或者 contain，取决于你的视频比例 */
    display: block;
}

/* 遮罩层动画 */
.video-interface {
    position: absolute;
    inset: 0;
    background: rgba(15, 15, 15, 0.4); /* 初始给个微弱阴影 */
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.5s ease, visibility 0.5s;
    z-index: 2;
}

/* 当视频播放时隐藏遮罩 */
.video-container.is-playing .video-interface {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.play-trigger {
    text-align: center;
    color: #ffffff; /* 播放按钮设为纯白，更亮 */
}

.video-container {
    /* ... 之前的代码 ... */
    transition: transform 0.5s cubic-bezier(0.2, 0.8, 0.2, 1), border-color 0.3s ease;
}

/* 播放时轻轻放大，增强沉浸感 */
.video-container.is-playing {
    transform: scale(1.02);
    border-color: var(--accent);
}

/* 隐藏播放按钮后的鼠标指针，避免干扰视频 */
.video-container.is-playing .video-interface {
    cursor: default;
}

/* 容器居中 */
.method-container {
    max-width: 900px;
    margin: 120px auto; /* 增加上下边距 */
    text-align: center;
}

/* 顶部小标签 */
.side-label-top {
    display: block;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: 3px;
    color: var(--accent);
    margin-bottom: 20px;
}

/* 统一容器宽度对齐 */
.video-section,
.method-container {
    max-width: 1100px; /* 必须与之前定义的视频宽度数值完全一致 */
    margin: 0 auto 120px;
    width: 100%;
}

.image-placeholder {
    background: #151515;
    width: 100%;
    /* 1. 设置一个较大的最小高度，确保视觉上的冲击力 */
    min-height: 600px;

    border: 1px solid var(--border-color);
    border-radius: 4px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;

    /* 2. 增加垂直方向的内边距，让画框上下更厚实 */
    padding: 20px 15px;

    transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.preview-img {
    /* 3. 确保图片在高度变大后依然保持比例且不失真 */
    max-width: 100%;
    max-height: 100%;
    height: auto;
    width: auto;
    object-fit: contain;

    filter: brightness(1.05);
    transition: transform 0.6s ease;
}

/* 简单的悬浮效果，不再有复杂的遮罩动画 */
.method-image-link.no-overlay:hover .image-placeholder {
    border-color: var(--accent);
    background: #1a1a1a;
    transform: translateY(-5px); /* 微弱的位移增加互动感 */
}

.method-image-link.no-overlay:hover .preview-img {
    transform: scale(1.01); /* 极细微的放大 */
}

/* 大标题：更亮、更大 */
.method-title {
    font-family: var(--font-serif);
    font-size: 36px; /* 调大 */
    font-weight: 500;
    color: var(--accent);
    margin-bottom: 30px;
    text-align: left; /* 显式左对齐 */
}

/* 描述文字：更清爽 */
.method-description {
    font-size: 20px;
    color: var(--text-primary); /* 象牙白 */
    margin-left: 0;   /* 确保靠左 */
    margin-bottom: 60px;
    text-align: left; /* 显式左对齐 */
    line-height: 1.8;
    font-weight: 500;
}


/* 滚动容器 */
/* 1. 外部包装容器：负责居中和宽度控制 */
.video-scroll-outer {
    width: 140%; /* 这里的 120% 是相对于父容器 (1100px) 的 */
    position: relative;

    /* 关键居中逻辑：向右移动 50%，再向左平移自身的一半 */
    left: 50%;
    transform: translateX(-50%);

    background: #151515; /* 深色背景，作为视频的托盘 */
    border: 1px solid var(--border-color);
    border-radius: 4px;
    padding: 15px 0; /* 增加上下内边距 */
    margin: 30px 0;
    transition: border-color 0.3s ease;
}

.video-scroll-outer:hover {
    border-color: var(--accent);
}

/* 2. 内部滚动区域：负责横向滚动逻辑 */
.video-scroll-container {
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    cursor: grab;
    scrollbar-width: none; /* 隐藏滚动条 */
    padding: 0 15px; /* 让首尾视频不紧贴边框 */
}

.video-scroll-container::-webkit-scrollbar {
    display: none;
}

/* 3. 视频轨道 */
.video-track {
    display: flex;
    gap: 25px;

}

.video-card {
    flex: 0 0 450px; /* 调整视频卡片宽度 */
    background: #000;
    overflow: hidden;
    border-radius: 2px;
}

.video-card video {
    width: 100%;
    aspect-ratio: 16/9;
    display: block;
    object-fit: cover;
}

.video-info {
    padding: 15px 20px;
    background: #0f0f0f;
}

.video-info span {
    font-size: 14px;
    letter-spacing: 1px;
    color: var(--text-dim);
    text-transform: uppercase;
    font-weight: 500;
}

/* 滚动提示 */
.scroll-hint {
    margin-top: 20px;
    font-size: 12px;
    color: var(--accent);
    letter-spacing: 2px;
    opacity: 0.6;
}

.spotlight-video-box {
    width: 100%;
    max-width: 1100px; /* 严格对齐 */
    border: 1px solid var(--border-color);
    border-radius: 4px;
    position: relative;
    overflow: hidden;

    /* 核心修改：消除间隙的关键 */
    display: flex;          /* 使用 flex 布局彻底消除行内间隙 */
    align-items: flex-start; /* 确保内容从顶部对齐 */
    background: transparent; /* 移除可能的底色干扰 */

    height: auto;
    transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.spotlight-video {
    width: 100%;
    height: auto;      /* 保持原始比例 */
    display: block;    /* 必须设为 block */
    margin: 0;
    padding: 0;
    /* 消除视频渲染时可能存在的细微锯齿边缘 */
    vertical-align: bottom;
}

/* 悬停效果：仅改变边框，不产生位移抖动 */
.spotlight-video-box:hover {
    border-color: var(--accent);
    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.5);
}

.video-tag {
    position: absolute;
    top: 20px;
    right: 20px;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    padding: 5px 12px;
    font-size: 11px;
    color: var(--accent);
    letter-spacing: 1.5px;
    pointer-events: none;
    z-index: 10;
}



/* Responsive YouTube iframe */
.video-responsive {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%; /* 16:9 aspect ratio */
    height: 0;
    overflow: hidden;
}

.video-responsive iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
    border-radius: 4px;
}

.logo-link {
    display: inline-block;
    line-height: 0; /* 去除图片下方的空隙 */
}

.logo {
    height: 40px; /* 根据实际需要调整高度 */
    width: auto; /* 保持宽高比 */
    display: block;
}

/* 如果logo需要与原来的文字大小相似，可以调整高度值 */
