/* 공통 CSS 설정 */
body {
    font-family: 'Noto Sans JP', sans-serif;
    letter-spacing: -1px;
    line-height: 1.6;
}

/* 무한 반복 흐르는 텍스트 (Marquee) */
@keyframes marquee {
    0% {
        transform: translateX(0%);
    }

    100% {
        transform: translateX(-50%);
    }
}

.animate-marquee {
    display: flex;
    width: max-content;
    animation: marquee 120s linear infinite;
}

.animate-marquee:hover {
    animation-play-state: paused;
}

.noto-sans-jp {
    font-family: 'Noto Sans JP', sans-serif;
}

.material-symbols-outlined {
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

/* 애니메이션 유틸리티 */
.fade-in {
    animation: fadeIn 0.5s ease-in;
}

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

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.slide-in {
    animation: slideIn 0.3s ease-out;
}

@keyframes slideIn {
    from {
        transform: translateX(-100%);
    }

    to {
        transform: translateX(0);
    }
}