/* ============================================
   响应式样式文件
   移动端和平板端适配
   ============================================ */

/* 平板端样式 (768px - 1024px) */
@media screen and (max-width: 1024px) {
    :root {
        --font-size-h1: 56px;
        --font-size-h2: 40px;
        --spacing-section: 120px;
        --spacing-element: 50px;
    }

    .container {
        padding: 0 30px;
    }

    .nav-container {
        padding: 20px 30px;
    }

    .works-grid {
        gap: 30px;
    }

    .hero-title {
        font-size: 56px;
    }

    .hero-subtitle {
        font-size: 24px;
    }
}

/* 移动端样式 (最大宽度 767px) */
@media screen and (max-width: 767px) {
    :root {
        --font-size-h1: 40px;
        --font-size-h2: 32px;
        --font-size-h3: 20px;
        --font-size-body: 16px;
        --spacing-section: 80px;
        --spacing-element: 30px;
    }

    /* 导航栏移动端样式 */
    .nav-container {
        padding: 15px 20px;
    }

    .nav-menu {
        position: fixed;
        left: -100%;
        top: 70px;
        flex-direction: column;
        background-color: var(--color-white);
        width: 100%;
        text-align: center;
        transition: 0.3s;
        box-shadow: 0 10px 27px rgba(0, 0, 0, 0.05);
        padding: 40px 0;
        gap: 0;
    }

    .nav-menu.active {
        left: 0;
    }

    .nav-menu li {
        margin: 20px 0;
    }

    .nav-toggle {
        display: flex;
    }

    .nav-toggle.active span:nth-child(1) {
        transform: rotate(45deg) translate(5px, 5px);
    }

    .nav-toggle.active span:nth-child(2) {
        opacity: 0;
    }

    .nav-toggle.active span:nth-child(3) {
        transform: rotate(-45deg) translate(7px, -6px);
    }

    /* Hero区域移动端 */
    .hero {
        min-height: 90vh;
        padding-top: 60px;
    }

    .hero-content {
        padding: 0 20px;
    }

    .hero-title {
        font-size: 40px;
        letter-spacing: -1px;
        margin-bottom: 15px;
    }

    .hero-subtitle {
        font-size: 20px;
        margin-bottom: 40px;
    }

    .scroll-indicator {
        margin-top: 60px;
    }

    /* 容器移动端 */
    .container {
        padding: 0 20px;
    }

    /* 关于我区域移动端 */
    .about-text {
        font-size: 16px;
        margin-bottom: 30px;
    }

    .quote {
        font-size: 20px;
        padding: 30px 20px;
        margin: 40px 0;
    }

    /* 作品展示移动端 */
    .works-grid {
        grid-template-columns: 1fr;
        gap: 30px;
        margin-top: 40px;
    }

    .work-image,
    .work-video {
        height: 250px;
    }

    /* 移动端图片自适应 */
    .work-image img {
        object-fit: cover;
        object-position: center;
    }

    /* 移动端视频自适应 */
    .work-video video {
        object-fit: cover;
        object-position: center;
    }

    .work-info {
        padding: 25px;
    }

    .work-title {
        font-size: 20px;
    }

    .work-description {
        font-size: 15px;
    }

    /* 时间线移动端 */
    .timeline-container {
        padding-left: 30px;
    }

    .timeline-item {
        padding-left: 40px;
        margin-bottom: 40px;
    }

    .timeline-year {
        font-size: 16px;
    }

    .timeline-title {
        font-size: 20px;
    }

    .timeline-description {
        font-size: 15px;
    }

    /* 技能区域移动端 */
    .skills-container {
        gap: 15px;
    }

    .skill-tag {
        padding: 10px 20px;
        font-size: 14px;
    }

    /* 联系方式移动端 */
    .contact-links {
        flex-direction: column;
        gap: 20px;
        align-items: stretch;
    }

    .contact-link {
        justify-content: center;
        padding: 12px 25px;
        font-size: 16px;
    }

    /* 页脚移动端 */
    .footer {
        padding: 30px 0;
    }

    .footer-text {
        font-size: 12px;
    }
}

/* 小屏幕移动端 (最大宽度 480px) */
@media screen and (max-width: 480px) {
    :root {
        --font-size-h1: 32px;
        --font-size-h2: 28px;
        --spacing-section: 60px;
    }

    .hero-title {
        font-size: 32px;
    }

    .hero-subtitle {
        font-size: 18px;
    }

    .section-title {
        font-size: 28px;
    }

    .quote {
        font-size: 18px;
        padding: 20px 15px;
    }

    .work-image {
        height: 200px;
    }
}

