/* ============================================
   响应式设计
   ============================================ */

/* 平板设备 (768px - 1023px) */
@media (max-width: 1023px) {
    .container {
        max-width: 720px;
        padding: 0 var(--spacing-sm);
    }
    
    .title {
        font-size: 2.5rem;
    }
    
    .subtitle {
        font-size: 1.25rem;
    }
    
    .section-title {
        font-size: 2rem;
    }
    
    .demo-wrapper {
        grid-template-columns: 1fr;
    }
    
    .qualitative-results {
        grid-template-columns: 1fr;
    }
    
    .method-steps {
        grid-template-columns: 1fr;
    }
    
    .nav-links {
        gap: var(--spacing-sm);
    }
    
    .nav-links a {
        font-size: 0.9rem;
    }
}

/* 移动设备 (最大 767px) */
@media (max-width: 767px) {
    .container {
        padding: 0 var(--spacing-sm);
    }
    
    .hero {
        padding: 60px 15px 40px;
    }
    
    .title {
        font-size: 2rem;
        line-height: 1.3;
    }
    
    .title .title-line {
        white-space: normal;
    }
    
    .title .title-subtitle {
        font-size: 0.8em;
    }
    
    .author-list {
        font-size: 0.95rem;
        gap: var(--spacing-sm);
    }
    
    .btn-group {
        flex-direction: column;
        align-items: stretch;
    }
    
    .btn {
        width: 100%;
        justify-content: center;
    }
    
    .section-title {
        font-size: 1.75rem;
    }
    
    .subsection-title {
        font-size: 1.5rem;
    }
    
    .abstract-content {
        font-size: 1rem;
    }
    
    .nav-content {
        flex-direction: column;
        gap: var(--spacing-sm);
    }
    
    .nav-links {
        flex-wrap: wrap;
        justify-content: center;
        gap: var(--spacing-xs);
    }
    
    .nav-links a {
        font-size: 0.85rem;
        padding: 4px 8px;
    }
    
    .method-tabs {
        flex-direction: column;
        align-items: stretch;
    }
    
    .tab-btn {
        width: 100%;
    }
    
    .table-wrapper {
        font-size: 12px;
    }
    
    .results-table {
        min-width: 900px;
    }
    
    .results-table th,
    .results-table td {
        padding: 8px 10px;
    }
    
    .demo-controls {
        flex-direction: column;
        align-items: stretch;
    }
    
    .demo-controls select {
        width: 100%;
        min-width: auto;
    }
    
    .demo-3d,
    .demo-2d {
        min-height: 300px;
    }
    
    .footer-link-list {
        flex-direction: column;
        gap: var(--spacing-xs);
    }
    
    .bibtex-wrapper {
        margin: 0 var(--spacing-xs);
    }
    
    .bibtex-wrapper code {
        font-size: 0.8rem;
    }
}

/* 小屏移动设备 (最大 480px) */
@media (max-width: 480px) {
    .title {
        font-size: 1.75rem;
    }
    
    .title .title-line {
        white-space: normal;
    }
    
    .title .title-subtitle {
        font-size: 0.75em;
    }
    
    .subtitle {
        font-size: 1rem;
    }
    
    .section-title {
        font-size: 1.5rem;
    }
    
    .abstract-content {
        font-size: 0.95rem;
    }
    
    .step-card {
        padding: 20px;
    }
    
    .result-item {
        padding: var(--spacing-md);
    }
    
    .copy-btn {
        position: relative;
        top: auto;
        right: auto;
        width: 100%;
        justify-content: center;
        margin-bottom: var(--spacing-sm);
    }
}

/* 大屏设备 (1280px+) */
@media (min-width: 1280px) {
    .container {
        max-width: 1140px;
    }
    
    .title {
        font-size: 4rem;
    }
}

/* 超宽屏设备 (1920px+) */
@media (min-width: 1920px) {
    .container {
        max-width: 1400px;
    }
}

/* 横屏模式优化 */
@media (orientation: landscape) and (max-height: 600px) {
    .hero {
        min-height: auto;
        padding: 80px 20px 40px;
    }
    
    .title {
        font-size: 2rem;
    }
}

