:root {
    /* Light Mode (Default) */
    --task-color: #F5A623;
    --talk-color: #4A90E2;
    --net-color: #7ED321;
    --base-color: #0A2A54;
    --text-color: #333;
    --text-light: #555;
    --background-gradient: linear-gradient(-45deg, #e3eeff, #f2f0ff, #e3eeff, #f2f0ff);
    --background-card: rgba(255, 255, 255, 0.5);
    --background-card-hover: #fff;
    --border-color: rgba(255, 255, 255, 0.2);
    --shadow-color: rgba(0, 0, 0, 0.15);
    --footer-text-color: #888;
}

/* --- '레옹' 테마 다크 모드 (수정) --- */
body.dark-mode {
    --leon-green: #22c55e; /* 레옹의 화분 색상 */
    
    /* 서비스별 색상을 레옹 테마에 맞게 재정의 */
    --task-color: #f59e0b; /* 따뜻한 골드 (실내 조명 느낌) */
    --talk-color: #3b82f6; /* 차분한 블루 */
    --net-color: var(--leon-green); /* 핵심 포인트 색상 */
    
    /* 기본 UI 색상 재정의 */
    --base-color: var(--leon-green); /* 로고 등 주요 색상을 포인트 색상으로 */
    --text-color: #e5e7eb; /* 가독성 높은 밝은 회색 */
    --text-light: #9ca3af; /* 보조 텍스트 색상 */
    --background-gradient: linear-gradient(-45deg, #111827, #1f2937, #111827, #1f2937); /* 깊은 네이비/차콜 */
    --background-card: rgba(31, 41, 55, 0.5); /* 반투명 카드 배경 */
    --background-card-hover: #374151; /* 호버 시 카드 배경 */
    --border-color: rgba(255, 255, 255, 0.1); /* 카드 테두리 */
    --shadow-color: rgba(0, 0, 0, 0.4); /* 더 짙은 그림자 */
    --footer-text-color: #9ca3af;
}
/* --- 수정 끝 --- */

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    height: 100%;
}

body { 
    font-family: 'Noto Sans KR', sans-serif;
    color: var(--text-color);
    background: var(--background-gradient);
    background-size: 400% 400%;
    animation: gradient-animation 15s ease infinite;
    transition: background-color 0.3s ease, color 0.3s ease;
}

@keyframes gradient-animation {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

@keyframes fade-in-up {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}