@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@300;400;700&display=swap');

body {
    font-family: 'Noto Serif SC', serif;
}

.fade-in {
    animation: fadeIn 0.6s ease-out forwards;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Custom scrollbar for a nicer reading experience */
::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-track {
    background: #fdfaf6; 
}
::-webkit-scrollbar-thumb {
    background: #e6e2d8; 
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: #c7c2b6; 
}

/* --- 3D Rotating Gallery Styling --- */
.perspective-container {
    perspective: 1000px;
    transform-style: preserve-3d;
}

.gallery-3d-stage {
    position: relative;
    width: 100%;
    height: 100%;
    transform-style: preserve-3d;
}

.gallery-3d-card {
    transition: transform 0.8s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.8s ease, filter 0.8s ease, box-shadow 0.5s ease;
    backface-visibility: hidden;
    will-change: transform, opacity, filter;
}

.gallery-card-active {
    z-index: 30;
    opacity: 1;
    filter: brightness(1);
    box-shadow: 0 20px 35px -5px rgba(0, 0, 0, 0.2), 0 10px 15px -5px rgba(0, 0, 0, 0.1);
}

.gallery-card-prev {
    z-index: 20;
    opacity: 0.75;
    filter: brightness(0.85);
    cursor: pointer;
}

.gallery-card-next {
    z-index: 20;
    opacity: 0.75;
    filter: brightness(0.85);
    cursor: pointer;
}

.gallery-card-hidden {
    z-index: 10;
    opacity: 0;
    pointer-events: none;
}

