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

:root {
    --navy: #020617;
    --blue: #2563eb;
    --cyan: #0891b2;
    --slate: #94a3b8;
}

body {
    font-family: 'Inter', 'Noto Sans KR', sans-serif;
    background-color: var(--navy);
    color: white;
    scroll-behavior: smooth;
}

.glass {
    background: rgba(15, 23, 42, 0.7);
    backdrop-filter: blur(15px);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.text-gradient {
    background: linear-gradient(135deg, #fff 0%, #3b82f6 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.chart-container {
    position: relative;
    width: 100%;
    max-width: 600px;
    height: 300px;
    margin: 0 auto;
}

.toggle-switch {
    position: relative;
    display: inline-block;
    width: 240px;
    height: 40px;
}

.toggle-switch input { opacity: 0; width: 0; height: 0; }

.slider {
    position: absolute;
    cursor: pointer;
    top: 0; left: 0; right: 0; bottom: 0;
    background-color: #1e293b;
    transition: .4s;
    border-radius: 34px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 20px;
    border: 1px solid rgba(59, 130, 246, 0.5);
}

.slider:before {
    position: absolute;
    content: "";
    height: 32px;
    width: 110px;
    left: 4px;
    bottom: 3px;
    background-color: #2563eb;
    transition: .4s;
    border-radius: 30px;
    z-index: 0;
}

input:checked + .slider:before {
    transform: translateX(122px);
    background-color: #0891b2;
}

.slider span {
    z-index: 1;
    font-size: 13px;
    font-weight: 700;
    transition: .3s;
}

.animate-pulse-subtle {
    animation: pulse-subtle 3s infinite;
}

@keyframes pulse-subtle {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.6; }
}

.card-hover:hover {
    transform: translateY(-5px);
    border-color: #3b82f6;
    box-shadow: 0 10px 30px -10px rgba(59, 130, 246, 0.3);
}
