/* Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+KR:wght@300;400;600;700&family=Noto+Sans+KR:wght@300;400;500;700&display=swap');

/* Global Styles */
body {
    background-color: #fdfbf7; /* Hanji Cream */
    color: #2c2c2c; /* Ink Black */
    font-family: 'Noto Sans KR', sans-serif;
    line-height: 1.6;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Noto Serif KR', serif;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-track {
    background: #f4f1ea;
}
::-webkit-scrollbar-thumb {
    background: #cbd5e0;
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: #a0aec0;
}

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

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

.hover-lift {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.hover-lift:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
}

/* 5 Elements Colors (Utility Helpers if Tailwind config misses) */
.text-wood { color: #388e3c; }
.text-fire { color: #d32f2f; }
.text-earth { color: #fbc02d; }
.text-metal { color: #78909c; }
.text-water { color: #1976d2; }

.bg-wood-light { background-color: #e8f5e9; }
.bg-fire-light { background-color: #ffebee; }
.bg-earth-light { background-color: #fffde7; }
.bg-metal-light { background-color: #eceff1; }
.bg-water-light { background-color: #e3f2fd; }
