.reveal-hidden {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}
.reveal-active {
    opacity: 1;
    transform: translateY(0);
}
.animate-fade-in {
    animation: fadeIn 1s ease-out forwards;
}
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Chinese Style Heritage Specifics */
.font-serif {
    font-family: "Noto Serif SC", "STSong", "Songti SC", serif;
}

.bg-rice-paper {
    background-image: url('https://www.transparenttextures.com/patterns/rice-paper.png');
}

/* Heritage Timeline (Chronicle) */
.heritage-timeline {
    position: relative;
    padding-left: 2rem;
}
.heritage-timeline::before {
    content: '';
    position: absolute;
    left: 0.5rem;
    top: 0;
    bottom: 0;
    width: 2px;
    background: linear-gradient(to bottom, #b91c1c 0%, #b91c1c 80%, transparent 100%);
}
.timeline-item {
    position: relative;
    padding-bottom: 3rem;
}
.timeline-dot {
    position: absolute;
    left: -2rem;
    top: 0.25rem;
    width: 1rem;
    height: 1rem;
    background: #b91c1c;
    border: 3px solid #fdfcf0;
    border-radius: 50%;
    box-shadow: 0 0 0 2px #b91c1c;
}

/* Hide scrollbar but allow scrolling */
.custom-scrollbar-hidden {
    -ms-overflow-style: none;
    scrollbar-width: none;
}
.custom-scrollbar-hidden::-webkit-scrollbar {
    display: none;
}

/* 增强分类图标的悬停细节 */
.group:hover .material-symbols-outlined {
    font-variation-settings: 'FILL' 1, 'wght' 600, 'GRAD' 0, 'opsz' 24;
}

/* 丝滑的图标属性过渡 */
.material-symbols-outlined {
    transition: font-variation-settings 0.3s ease, transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}