/* 기본 스타일링 및 유틸리티 */
body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}

/* 스크롤바 커스텀 (다크 테마) */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}
::-webkit-scrollbar-track {
    background: #1f2937; /* gray-800 */
}
::-webkit-scrollbar-thumb {
    background: #4b5563; /* gray-600 */
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: #6b7280; /* gray-500 */
}

/* 깜빡임 애니메이션 (주가 상승/하락 알림용) */
@keyframes flash-green {
    0% { background-color: rgba(16, 185, 129, 0.5); }
    100% { background-color: transparent; }
}

@keyframes flash-red {
    0% { background-color: rgba(239, 68, 68, 0.5); }
    100% { background-color: transparent; }
}

.flash-up {
    animation: flash-green 1s ease-out;
}

.flash-down {
    animation: flash-red 1s ease-out;
}

/* 하트 비트 효과 */
@keyframes heartbeat {
    0% { transform: scale(1); }
    25% { transform: scale(1.1); }
    50% { transform: scale(1); }
    75% { transform: scale(1.1); }
    100% { transform: scale(1); }
}
.heartbeat {
    animation: heartbeat 0.5s ease-in-out;
}
