/* 全局样式重置或基础样式(可省) */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }
  
  /* 通用字体等 */
  body {
    font-family: Arial, sans-serif;
    line-height: 1.6;
    color: #333;
  }
  
  /* 导航栏样式 */
  nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #eee;
    padding: 10px 20px;
  }
  nav .logo {
    font-size: 1.2rem;
    font-weight: bold;
    color: #333;
    text-decoration: none;
  }
  .nav-links a {
    margin-left: 10px;
    text-decoration: none;
    color: #333;
  }
  .nav-links a:hover {
    text-decoration: underline;
  }
  
  /* 主页头像与简介 */
  .about-me {
    display: flex;
    align-items: flex-start;
    padding: 20px;
    max-width: 1000px;
    margin: 0 auto;
  }
  .avatar {
    width: 150px;
    height: 150px;
    border-radius: 50%;
    margin-right: 20px;
    object-fit: cover;
  }
  .intro {
    flex: 1;
  }
  .intro h1 {
    margin-bottom: 10px;
  }
  
  /* 让 GitHub | Email 居中显示 */
.contact-line {
    text-align: center;     /* 水平居中 */
    margin-top: 15px;       /* 与段落分开一些 */
    font-size: 1rem;
  }
  .contact-line a {
    color: #007acc;
    text-decoration: none;
    margin: 0 8px;          /* 适当间距 */
  }
  .contact-line a:hover {
    text-decoration: underline;
  }
  
  
  /* Projects 概览 */
  .projects {
    padding: 20px;
    max-width: 1000px;
    margin: 0 auto;
  }
  .project-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .project-item {
    border: 1px solid #ccc;
    padding: 15px;
    border-radius: 4px;
  }
  .project-item h3 {
    margin-bottom: 10px;
  }
  .project-item p {
    margin-bottom: 10px;
  }
  .project-item a {
    text-decoration: none;
    font-weight: bold;
    color: #0066cc;
  }
  .project-item a:hover {
    text-decoration: underline;
  }
  
  /* 各项目单独页面 */
  .project-page {
    max-width: 800px;
    margin: 20px auto;
    padding: 20px;
  }
  .media-container {
    margin: 20px 0;
    text-align: center;
  }
  .media-container img,
  .media-container video,
  .media-container iframe {
    max-width: 100%;
    height: auto;
  }
  
  /* 页脚 */
  footer {
    text-align: center;
    padding: 15px;
    background: #eee;
    margin-top: 30px;
  }
  

  /* 一行三列排列的容器 */
.image-row {
    display: flex;             /* 使用 Flexbox 布局 */
    justify-content: space-between; 
    align-items: flex-start;
    gap: 20px;                 /* 图片之间的间距 */
    margin: 20px 0;            /* 上下留白 */
  }
  
  /* 每个 figure 的基本样式 */
  .image-row figure {
    flex: 1;                   /* 让三个 figure 等宽 */
    text-align: center;        /* 图片和标题居中 */
  }
  
  /* 图片自适应缩放 */
  .image-row img {
    max-width: 100%;           /* 防止图片溢出容器 */
    height: auto;
    border: 1px solid #ccc;    /* 可加个边框，方便区分 */
    border-radius: 4px;        /* 视觉美观 */
    display: block;            /* 去掉默认行内空隙 */
    margin: 0 auto;            /* 让图片在 figure 中水平居中 */
  }
  
  /* 图注（figcaption）的样式，可根据喜好定制 */
  .image-row figcaption {
    margin-top: 8px;
    font-size: 0.9rem;
    color: #666;
  }

  /* 让整个页面居中并限制最大宽度 */
.container {
    max-width: 600px; /* 你可以改成 500px, 700px 等数值 */
    margin: 0 auto;
    padding: 20px;
  }
  
  /* Visualization 部分的通用样式 */
  .visualization figure {
    margin: 20px 0;      /* 每个 figure 上下留空 */
    text-align: center;  /* 图片及说明文字居中 */
  }
  
  /* 让图片自动缩放到容器宽度 */
  .visualization img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto; /* 让图片在 figure 内水平居中 */
    border: 1px solid #ccc; /* 可选：加个边框 */
    border-radius: 4px;     /* 可选：圆角 */
  }
  
  /* 让 figcaption 看起来更淡一些 */
  .visualization figcaption {
    font-size: 0.9rem;
    color: #666;
    margin-top: 8px;
  }
  
  /* 如果想要整页都比较窄，并竖屏风格，可以也给 body 一个背景或限制 */
  body {
    background-color: #fafafa; /* 可选:给body设置背景色 */
    /* 如果想进一步强制全局宽度，可加：
       max-width: 600px; 
       margin: 0 auto;
    */
  }

  
 
 
 
/* 经验区整体 */
.experience-section {
    background: #fff;      /* 背景白色 */
    color: #000;           /* 文字黑色 */
    padding: 40px 0;       /* 上下留白 */
  }
  
  /* 标题 */
  .projects h1,
  .experience-section h1 {
    text-align: center;
    font-size: 2rem;
    letter-spacing: 2px;
    margin-bottom: 40px;
    color: #000;  /* 确保标题也为黑色 */
  }
  
  /* 限制最大宽度 + 居中 */
  .container {
    max-width: 900px;  /* 可根据需要改成700,800等 */
    margin: 0 auto;
    padding: 0 20px;
  }
  
  /* 时间线容器：左边一条竖线 */
  .timeline {
    position: relative;
    margin: 0 auto;
    padding: 0 0 20px 40px;  
    border-left: 2px solid #000; /* 黑色竖线 */
  }
  
  /* 单个时间线项 */
  .timeline-item {
    margin-bottom: 60px; /* 每段经历的间距 */
    position: relative;
  }
  
  /* 圆形图标（黑球） */
  .timeline-icon {
    width: 20px;
    height: 20px;
    background: #000;     /* 黑色球 */
    border-radius: 50%;
    border: 2px solid #000; /* 外边框（可选，用于加粗） */
    position: absolute;
    left: -11px;   /* 让圆心和竖线对齐 */
    top: 0;        
  }
  
  /* 时间线右侧内容区域 */
  .timeline-content {
    margin-left: 30px;
  }
  
  /* 时间（h2）和公司/学校名称（h3） */
  .timeline-content h2 {
    font-size: 1.1rem;
    margin-bottom: 5px;
    color: #555;   /* 可以用深灰，或改黑 */
    font-weight: bold;
  }
  .timeline-content h3 {
    font-size: 1.3rem;
    margin-bottom: 10px;
    color: #000;   /* 标题用纯黑 */
    font-weight: bold;
  }
  
  /* 段落文字 */
  .timeline-content p {
    line-height: 1.6;
    margin-bottom: 0;
    color: #333;  /* 一般正文深灰色，可改成#000纯黑 */
  }
  
  /* 响应式：小屏时可以适当调整 */
  @media (max-width: 600px) {
    .experience-section h1 {
      font-size: 1.5rem;
    }
    .timeline {
      padding-left: 20px; /* 减小左边空白 */
    }
    .timeline-item {
      margin-bottom: 40px;
    }
    .timeline-icon {
      left: -11px; 
    }
    .timeline-content {
      margin-left: 25px;
    }
  }

  /* 初始隐藏状态 */
.hidden {
    opacity: 0;
  }
  
  /* 从左侧进场的区块：初始左移 + 渐显过渡 */
  .animate-left {
    transform: translateX(-500px);
    transition: all 0.8s ease-out;  /* 动画时长0.8s，可自由调整 */
  }
  
  /* 从右侧进场的区块：初始右移 + 渐显过渡 */
  .animate-right {
    transform: translateX(500px);
    transition: all 0.8s ease-out;
  }
  
  /* 当元素进入视口后，会加上.show，变为原位 + 不透明 */
  .animate-left.show,
  .animate-right.show {
    opacity: 1;
    transform: translateX(0);
  }