/* 기본 스타일 */
body {
    font-family: 'Noto Sans KR', sans-serif;
    background-color: #f8fafc;
    transition: background-color 0.3s, color 0.3s;
}

/* 다크 모드 */
.dark body, body.dark {
    background-color: #0f172a;
    color: #e2e8f0;
}

html.dark {
    background-color: #0f172a;
}

/* 카드 호버 효과 */
.card-hover:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
}

/* 그라데이션 텍스트 */
.gradient-text {
    background: linear-gradient(to right, #6366f1, #a855f7, #ec4899);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* 스크롤바 숨김 */
.scrollbar-hide::-webkit-scrollbar {
    display: none;
}

.scrollbar-hide {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* 페이드 인 애니메이션 */
.fade-in {
    animation: fadeIn 0.5s ease-in-out;
}

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

/* 스핀 애니메이션 */
.spin-animation {
    animation: spin 0.5s ease-in-out infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
