/* === 全局样式 === */
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
        
        body {
            font-family: 'Inter', 'Noto Sans SC', -apple-system, BlinkMacSystemFont, sans-serif;
            background: #ffffff; /* 纯白色背景 */
            min-height: 100vh;
            line-height: 1.6;
            color: #000000; /* 黑色主要字体 */
            overflow-x: hidden;
        }
        
        /* 简洁优雅的背景动画 */
        body::before {
            content: '';
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: 
                radial-gradient(circle at 25% 25%, rgba(0,0,0,0.03) 1px, transparent 1px),
                radial-gradient(circle at 75% 75%, rgba(0,0,0,0.02) 1px, transparent 1px);
            background-size: 60px 60px, 100px 100px;
            pointer-events: none;
            z-index: -1;
        }

        /* === 主容器 === */
        .container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 2rem;
            min-height: 100vh;
        }

        /* === 简洁优雅的标题效果 === */
        .hero-title {
            font-size: 3rem;
            font-weight: 700;
            text-align: center;
            color: #000000; /* 黑色标题 */
            margin-bottom: 1rem;
            opacity: 0;
            transform: translateY(30px);
            animation: fadeInUp 0.6s ease-out 0.2s forwards;
        }
        
        .hero-subtitle {
            font-size: 1.2rem;
            text-align: center;
            color: #333333; /* 深灰色副标题 */
            margin-bottom: 0.5rem;
            opacity: 0;
            transform: translateY(30px);
            animation: fadeInUp 0.6s ease-out 0.4s forwards;
        }
        
        .hero-description {
            font-size: 1rem;
            text-align: center;
            color: #666666; /* 灰色描述 */
            max-width: 700px;
            margin: 0 auto 2rem;
            opacity: 0;
            transform: translateY(30px);
            animation: fadeInUp 0.6s ease-out 0.6s forwards;
        }

        /* === 个人成长主线 === */
        .story-overview {
            max-width: 980px;
            margin: -1rem auto 4.5rem;
            padding: 2.5rem 0;
            border-top: 1px solid rgba(0, 0, 0, 0.12);
            border-bottom: 1px solid rgba(0, 0, 0, 0.12);
            opacity: 0;
            transform: translateY(24px);
            animation: fadeInUp 0.7s ease-out 0.75s forwards;
        }

        .story-heading {
            max-width: 820px;
            margin: 0 auto 2rem;
            text-align: center;
        }

        .story-kicker {
            display: inline-block;
            margin-bottom: 0.65rem;
            color: #2563eb;
            font-size: 0.75rem;
            font-weight: 700;
            letter-spacing: 0.14em;
        }

        .story-title {
            margin-bottom: 1rem;
            font-size: 1.75rem;
            font-weight: 700;
            line-height: 1.35;
        }

        .story-copy {
            color: #374151;
            font-size: 1rem;
            line-height: 1.9;
            text-align: left;
        }

        .story-copy + .story-copy {
            margin-top: 0.85rem;
        }

        .capability-grid {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 0.8rem;
        }

        .capability-card {
            min-height: 132px;
            padding: 1.25rem 1.35rem;
            border: 1px solid rgba(0, 0, 0, 0.1);
            border-radius: 10px;
            background: rgba(255, 255, 255, 0.86);
        }

        .capability-card h3 {
            margin-bottom: 0.45rem;
            font-size: 1rem;
            font-weight: 700;
        }

        .capability-card p {
            color: #4b5563;
            font-size: 0.88rem;
            line-height: 1.7;
        }

        /* === 重构时间线设计 === */
        .timeline-container {
            position: relative;
            padding: 4rem 0;
        }

        /* 简洁的时间线轴 */
        .timeline-container::before {
            content: '';
            position: absolute;
            top: 0;
            left: 50%;
            transform: translateX(-50%);
            width: 2px;
            height: 100%;
            background: linear-gradient(to bottom, 
                rgba(0,0,0,0.1) 0%, 
                rgba(0,0,0,0.3) 50%, 
                rgba(0,0,0,0.1) 100%);
            border-radius: 1px;
        }

        /* 时间线项目 */
        .timeline-item {
            position: relative;
            width: 100%;
            padding: 2rem 0;
            opacity: 0;
            transform: translateY(30px);
            transition: all 0.3s ease;
        }

        .timeline-item.is-visible {
            opacity: 1;
            transform: translateY(0);
        }

        .timeline-item.compact {
            padding: 1.15rem 0;
        }

        .timeline-item.compact .timeline-content {
            padding: 1.35rem 1.5rem;
        }

        .timeline-item.compact .timeline-title {
            font-size: 1.05rem;
            margin-bottom: 0.65rem;
        }

        .timeline-item.compact .timeline-summary {
            font-size: 0.92rem;
            color: #4b5563;
            margin-bottom: 0.65rem;
        }

        .timeline-item.compact .timeline-card-footer {
            margin-top: 0.65rem;
        }

        /* 时间线卡片 */
        .timeline-content {
            background: #ffffff; /* 纯白色卡片背景 */
            border-radius: 12px;
            padding: 2rem;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
            border: 1px solid rgba(0, 0, 0, 0.05);
            position: relative;
            overflow: hidden;
        }

        .timeline-item.expanded .timeline-content {
            box-shadow: 0 10px 28px rgba(0, 0, 0, 0.09);
            border-color: rgba(0, 0, 0, 0.14);
        }
        
        .timeline-content::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 3px;
            background: linear-gradient(90deg, #333333, #666666);
        }
        
        .timeline-item:nth-child(even) .timeline-content {
            margin-left: auto;
            max-width: calc(50% - 40px);
        }
        
        .timeline-item:nth-child(odd) .timeline-content {
            margin-right: auto;
            max-width: calc(50% - 40px);
        }

        .timeline-item.side-left .timeline-content {
            margin-left: 0;
            margin-right: auto;
            max-width: calc(50% - 40px);
        }

        .timeline-item.side-right .timeline-content {
            margin-left: auto;
            margin-right: 0;
            max-width: calc(50% - 40px);
        }

        .experience-controls {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 1.5rem;
            margin: 0 auto 1rem;
            padding-bottom: 0.75rem;
            border-bottom: 1px solid rgba(0, 0, 0, 0.1);
        }

        .filter-tabs {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 0.25rem 1rem;
        }

        .filter-tab {
            appearance: none;
            border: 0;
            border-bottom: 2px solid transparent;
            background: transparent;
            color: #6b7280;
            padding: 0.5rem 0.1rem;
            font-size: 0.875rem;
            font-weight: 600;
            cursor: pointer;
            transition: color 0.2s ease, border-color 0.2s ease;
        }

        .filter-tab:hover,
        .filter-tab:focus-visible {
            color: #111827;
        }

        .filter-tab.active {
            color: #000000;
            border-bottom-color: #000000;
        }

        .experience-search {
            position: relative;
            width: min(100%, 520px);
            margin: 0 auto;
        }

        .experience-search i {
            position: absolute;
            left: 0.75rem;
            top: 50%;
            transform: translateY(-50%);
            color: #9ca3af;
            pointer-events: none;
        }

        .experience-search input {
            width: 100%;
            height: 2.5rem;
            border: 1px solid #d1d5db;
            border-radius: 6px;
            padding: 0 0.75rem 0 2.25rem;
            color: #111827;
            background: #ffffff;
            outline: none;
        }

        .experience-search input:focus {
            border-color: #2563eb;
            box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
        }

        .experience-summary {
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 1rem;
            color: #6b7280;
            font-size: 0.82rem;
            margin-top: 0.75rem;
        }

        .bottom-search {
            margin: 2rem auto 1rem;
            padding: 2.5rem 0 0;
            border-top: 1px solid rgba(0, 0, 0, 0.1);
        }

        .bottom-search .experience-search input {
            height: 3rem;
            border-color: #c7cbd1;
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
        }

        .year-divider {
            position: relative;
            display: flex;
            align-items: center;
            justify-content: center;
            width: 100%;
            padding: 2rem 0 0.75rem;
            opacity: 0;
            transform: translateY(12px);
            transition: opacity 0.35s ease, transform 0.35s ease;
            z-index: 12;
        }

        .year-divider.visible {
            opacity: 1;
            transform: translateY(0);
        }

        .year-divider span {
            background: #111827;
            color: #ffffff;
            min-width: 72px;
            padding: 0.35rem 0.8rem;
            border-radius: 4px;
            text-align: center;
            font-size: 0.8rem;
            font-weight: 700;
            letter-spacing: 0;
            box-shadow: 0 3px 8px rgba(0, 0, 0, 0.12);
        }

        .empty-state {
            position: relative;
            z-index: 12;
            text-align: center;
            color: #6b7280;
            padding: 4rem 1rem;
        }

        .progress-bar {
            position: fixed;
            top: 0;
            left: 0;
            width: 0;
            height: 3px;
            background: #2563eb;
            z-index: 100;
            transition: width 0.08s linear;
        }

        /* 时间线圆点 */
        .timeline-dot {
            position: absolute;
            width: 16px;
            height: 16px;
            background: #000000; /* 黑色圆点 */
            border-radius: 50%;
            border: 3px solid #ffffff;
            box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
            z-index: 10;
            left: calc(50% - 8px);
            top: 2.5rem;
            opacity: 0;
            animation: dotAppear 0.4s ease-out forwards;
        }
        
        .timeline-dot::after {
            content: '';
            position: absolute;
            top: -3px;
            left: -3px;
            width: 22px;
            height: 22px;
            border-radius: 50%;
            background: rgba(0, 0, 0, 0.1);
            z-index: -1;
            opacity: 0;
            animation: pulseRing 1s ease-out infinite;
            animation-delay: 0.5s;
        }

        /* 时间线标题 */
        .timeline-title {
            font-size: 1.25rem;
            font-weight: 700;
            color: #000000; /* 黑色标题 */
            margin-bottom: 0.75rem;
        }

        .timeline-summary {
            margin-bottom: 1rem;
            color: #374151;
            font-size: 0.96rem;
            line-height: 1.75;
        }

        .timeline-status {
            flex: 0 0 auto;
            border: 1px solid #e5e7eb;
            background: #ffffff;
            color: #374151;
        }

        .timeline-card-footer {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 0.75rem;
            margin-top: 1rem;
        }

        .timeline-toggle {
            display: inline-flex;
            align-items: center;
            gap: 0.45rem;
            flex: 0 0 auto;
            border: 0;
            border-bottom: 1px solid #9ca3af;
            background: transparent;
            color: #374151;
            padding: 0.25rem 0;
            font-size: 0.78rem;
            font-weight: 650;
            cursor: pointer;
            transition: color 0.2s ease, border-color 0.2s ease;
        }

        .timeline-toggle:hover,
        .timeline-toggle:focus-visible {
            color: #000000;
            border-bottom-color: #000000;
            outline: none;
        }

        .timeline-toggle i {
            transition: transform 0.2s ease;
        }

        .timeline-toggle[aria-expanded="true"] i {
            transform: rotate(180deg);
        }

        .timeline-details {
            margin-top: 1.25rem;
            padding-top: 1.25rem;
            border-top: 1px solid rgba(0, 0, 0, 0.1);
        }

        .timeline-details[hidden] {
            display: none;
        }

        .detail-grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 1rem 1.25rem;
        }

        .detail-block--wide {
            grid-column: 1 / -1;
        }

        .detail-label {
            display: block;
            margin-bottom: 0.28rem;
            color: #6b7280;
            font-size: 0.7rem;
            font-weight: 700;
            letter-spacing: 0.06em;
        }

        .detail-text,
        .detail-actions {
            color: #1f2937;
            font-size: 0.86rem;
            line-height: 1.7;
        }

        .detail-actions {
            margin: 0;
            padding-left: 1.1rem;
        }

        .detail-actions li + li {
            margin-top: 0.28rem;
        }

        /* 时间线标签 */
        .timeline-tags {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            align-content: flex-start;
            column-gap: 0.45rem;
            row-gap: 0.55rem;
        }

        .timeline-tag {
            background: #ffffff;
            background-clip: padding-box;
            color: #374151;
            padding: 0.3rem 0.65rem;
            border-radius: 9999px;
            font-size: 0.72rem;
            font-weight: 500;
            display: inline-flex;
            align-items: center;
            min-height: 1.55rem;
            border: 1px solid #e5e7eb;
            box-shadow: none;
            line-height: 1;
            white-space: nowrap;
        }
        
        .timeline-tag:hover {
            background: #f9fafb;
            border-color: #d1d5db;
        }
        
        /* 时间线日期文本 */
        .timeline-date {
            color: #2563eb; /* 蓝色日期文本 */
            font-weight: 500;
        }
        
        /* AI智能体标签特殊样式 */
        .timeline-tag:has(.fa-robot) {
            background: rgba(139, 92, 246, 0.1); /* 紫色背景 */
            color: #8b5cf6; /* 紫色文字 */
        }
        
        .timeline-tag:has(.fa-robot):hover {
            background: rgba(139, 92, 246, 0.2);
        }
        
        /* 物理研究标签特殊样式 */
        .timeline-tag:has(.fa-microscope) {
            background: rgba(16, 185, 129, 0.1); /* 绿色背景 */
            color: #10b981; /* 绿色文字 */
        }
        
        .timeline-tag:has(.fa-microscope):hover {
            background: rgba(16, 185, 129, 0.2);
        }
        
        /* 跨学科融合标签特殊样式 */
        .timeline-tag:has(.fa-cogs) {
            background: rgba(245, 158, 11, 0.1); /* 琥珀色背景 */
            color: #f59e0b; /* 琥珀色文字 */
        }
        
        .timeline-tag:has(.fa-cogs):hover {
            background: rgba(245, 158, 11, 0.2);
        }
        
        /* 数学建模标签特殊样式 */
        .timeline-tag:has(.fa-chart-bar) {
            background: rgba(59, 130, 246, 0.1); /* 蓝色背景 */
            color: #3b82f6; /* 蓝色文字 */
        }
        
        .timeline-tag:has(.fa-chart-bar):hover {
            background: rgba(59, 130, 246, 0.2);
        }
        
        /* 团队领导标签特殊样式 */
        .timeline-tag:has(.fa-user-friends) {
            background: rgba(139, 92, 246, 0.1); /* 紫色背景 */
            color: #8b5cf6; /* 紫色文字 */
        }
        
        .timeline-tag:has(.fa-user-friends):hover {
            background: rgba(139, 92, 246, 0.2);
        }
        
        /* 组织协调标签特殊样式 */
        .timeline-tag:has(.fa-handshake) {
            background: rgba(16, 185, 129, 0.1); /* 绿色背景 */
            color: #10b981; /* 绿色文字 */
        }
        
        .timeline-tag:has(.fa-handshake):hover {
            background: rgba(16, 185, 129, 0.2);
        }
        
        /* 优秀团队标签特殊样式 */
        .timeline-tag:has(.fa-trophy) {
            background: rgba(245, 158, 11, 0.1); /* 琥珀色背景 */
            color: #f59e0b; /* 琥珀色文字 */
        }
        
        .timeline-tag:has(.fa-trophy):hover {
            background: rgba(245, 158, 11, 0.2);
        }
        
        /* 团队领导标签特殊样式 (星标) */
        .timeline-tag:has(.fa-star) {
            background: rgba(236, 72, 153, 0.1); /* 粉色背景 */
            color: #ec4899; /* 粉色文字 */
        }
        
        .timeline-tag:has(.fa-star):hover {
            background: rgba(236, 72, 153, 0.2);
        }
        
        /* 省级二等奖标签特殊样式 */
        .timeline-tag:has(.fa-award) {
            background: rgba(139, 92, 246, 0.1); /* 紫色背景 */
            color: #8b5cf6; /* 紫色文字 */
        }
        
        .timeline-tag:has(.fa-award):hover {
            background: rgba(139, 92, 246, 0.2);
        }
        
        /* 国家级奖项标签特殊样式 */
        .timeline-tag:has(.fa-globe) {
            background: rgba(59, 130, 246, 0.1); /* 蓝色背景 */
            color: #3b82f6; /* 蓝色文字 */
        }
        
        .timeline-tag:has(.fa-globe):hover {
            background: rgba(59, 130, 246, 0.2);
        }

        /* === 页脚 === */
        .footer {
            text-align: center;
            padding: 3rem 2rem;
            color: #666666; /* 灰色页脚文字 */
            opacity: 0;
            transform: translateY(30px);
            animation: fadeInUp 0.6s ease-out 0.8s forwards;
            position: relative;
        }
        
        .footer::before {
            content: '';
            position: absolute;
            top: 0;
            left: 50%;
            transform: translateX(-50%);
            width: 60px;
            height: 3px;
            background: linear-gradient(90deg, #333333, #666666);
            border-radius: 2px;
        }

        /* === 动画定义 === */
        @keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translateY(20px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        @keyframes dotAppear {
            from {
                opacity: 0;
                transform: scale(0.7);
            }
            to {
                opacity: 1;
                transform: scale(1);
            }
        }
        
        @keyframes pulseRing {
            0% {
                transform: scale(0.8);
                opacity: 0.6;
            }
            100% {
                transform: scale(1.5);
                opacity: 0;
            }
        }

        /* === 响应式设计 === */
        @media screen and (max-width: 768px) {
            .story-overview {
                margin-top: -1.5rem;
                margin-bottom: 3.5rem;
                padding: 2rem 0;
            }

            .story-title {
                font-size: 1.5rem;
            }

            .capability-grid {
                grid-template-columns: 1fr;
            }

            .capability-card {
                min-height: 0;
            }

            .experience-controls {
                gap: 0.75rem;
            }

            .timeline-container {
                padding: 2rem 1rem;
            }
            
            .timeline-container::before {
                left: 20px;
            }
            
            .timeline-item {
                padding: 1rem 0;
                margin-bottom: 2rem;
            }
            
            .timeline-content {
                margin-left: 50px !important;
                margin-right: 0 !important;
                max-width: calc(100% - 70px) !important;
                padding: 1.5rem;
            }

            .timeline-item.compact .timeline-content {
                padding: 1.1rem 1.25rem;
            }
            
            .timeline-dot {
                left: 10px;
                top: 2rem;
            }
            
            .hero-title {
                font-size: 2.5rem;
            }
            
            .hero-subtitle {
                font-size: 1rem;
            }
            
            .timeline-title {
                font-size: 1.1rem;
            }
            
            .timeline-tags {
                column-gap: 0.35rem;
                row-gap: 0.5rem;
            }

            .detail-grid {
                grid-template-columns: 1fr;
            }

            .detail-block--wide {
                grid-column: auto;
            }
        }

        @media screen and (max-width: 480px) {
            .container {
                padding: 1rem;
            }
            
            .hero-title {
                font-size: 2rem;
            }
            
            .timeline-content {
                margin-left: 40px !important;
                padding: 1rem;
                max-width: calc(100% - 60px) !important;
            }
            
            .timeline-date {
                font-size: 0.75rem;
            }
            
            .timeline-title {
                font-size: 1rem;
            }
            
            .timeline-description {
                font-size: 0.875rem;
            }

            .story-copy {
                font-size: 0.92rem;
            }

            .timeline-summary {
                font-size: 0.88rem;
            }

            .timeline-card-footer {
                align-items: flex-start;
                flex-direction: column;
            }

            .timeline-toggle {
                align-self: flex-end;
            }

            .detail-text,
            .detail-actions {
                font-size: 0.82rem;
            }
            
            .timeline-tag {
                font-size: 0.68rem;
                min-height: 1.45rem;
                padding: 0.28rem 0.55rem;
                border-color: #e5e7eb;
            }
        }
        
        /* 大屏幕优化 */
        @media screen and (min-width: 1400px) {
            .container {
                max-width: 1400px;
            }
            
            .timeline-content {
                max-width: calc(50% - 50px);
            }
        }
        
        /* 滚动条样式 */
        ::-webkit-scrollbar {
            width: 6px;
        }
        
        ::-webkit-scrollbar-track {
            background: rgba(0,0,0,0.05);
            border-radius: 3px;
        }
        
        ::-webkit-scrollbar-thumb {
            background: rgba(0,0,0,0.2);
            border-radius: 3px;
        }
        
        ::-webkit-scrollbar-thumb:hover {
            background: rgba(0,0,0,0.3);
            border-radius: 3px;
        }

        /* === 首屏快捷入口 === */
.hero-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.25rem;
    margin-top: -0.75rem;
    opacity: 0;
    transform: translateY(24px);
    animation: fadeInUp 0.6s ease-out 0.72s forwards;
}

.hero-action {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.35rem 0;
    border-bottom: 1px solid #9ca3af;
    color: #374151;
    font-size: 0.82rem;
    font-weight: 650;
    transition: color 0.2s ease, border-color 0.2s ease;
}

.hero-action:hover,
.hero-action:focus-visible {
    color: #000000;
    border-bottom-color: #000000;
    outline: none;
}

.hero-action--primary {
    color: #000000;
    border-bottom-color: #000000;
}

.footer-page-link {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.3rem 0;
    border-bottom: 1px solid currentColor;
    font-size: 0.76rem;
    font-weight: 650;
}

.footer-page-link {
    margin-bottom: 1rem;
    color: #4b5563;
}

.footer-page-link:hover,
.footer-page-link:focus-visible {
    color: #000000;
    outline: none;
}

.footer-records {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.5rem 1rem;
    margin-top: 0.75rem;
    font-size: 0.875rem;
}

.footer-records a {
    border-bottom: 1px solid transparent;
    transition: color 0.2s ease, border-color 0.2s ease;
}

.footer-records a:hover,
.footer-records a:focus-visible {
    color: #000000;
    border-bottom-color: currentColor;
    outline: none;
}

.back-to-top {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    margin-top: 1.5rem;
    padding: 0.55rem 0.9rem;
    border: 1px solid #d1d5db;
    border-radius: 999px;
    background: #ffffff;
    color: #111827;
    font-size: 0.78rem;
    font-weight: 650;
    cursor: pointer;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.back-to-top:hover,
.back-to-top:focus-visible {
    border-color: #111827;
    background: #111827;
    color: #ffffff;
    outline: none;
    transform: translateY(-2px);
}

.data-loading,
.data-error {
    padding: 4rem 1rem;
    color: #6b7280;
    text-align: center;
    font-size: 0.86rem;
}

@media screen and (max-width: 480px) {
    .hero-actions {
        gap: 0.75rem 1rem;
    }

    .footer-records {
        flex-direction: column;
    }

}

/* 本地轻量布局工具，替代生产环境中的 Tailwind 在线运行脚本。 */
.mb-16 { margin-bottom: 4rem; }
.mb-8 { margin-bottom: 2rem; }
.mb-3 { margin-bottom: 0.75rem; }
.mr-1 { margin-right: 0.25rem; }
.mr-2 { margin-right: 0.5rem; }
.text-3xl { font-size: 1.875rem; line-height: 2.25rem; }
.font-bold { font-weight: 700; }
.text-center { text-align: center; }
.text-black { color: #000000; }
.opacity-0 { opacity: 0; }
.translate-y-6 { transform: translateY(1.5rem); }
.flex { display: flex; }
.items-center { align-items: center; }
.justify-between { justify-content: space-between; }
.justify-end { justify-content: flex-end; }
.flex-wrap { flex-wrap: wrap; }
.gap-2 { gap: 0.5rem; }
.gap-3 { gap: 0.75rem; }
.animate-fadeInUp { animation: fadeInUp 1.2s ease-out 0.9s forwards; }

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }

    .opacity-0 {
        opacity: 1;
    }

    .translate-y-6 {
        transform: none;
    }
}
