/* Theme Variables CSS */

/* Light Theme (Default) */
:root, 
[data-theme="light"] {
    /* Primary Colors */
    --bg-primary: #ffffff;
    --bg-secondary: #f8f9fa;
    --bg-tertiary: #e9ecef;
    
    /* Text Colors */
    --text-primary: #212529;
    --text-secondary: #6c757d;
    --text-muted: #adb5bd;
    --text-inverse: #ffffff;
    
    /* Border Colors */
    --border-color: #dee2e6;
    --border-color-dark: #ced4da;
    
    /* Component Colors */
    --card-bg: #ffffff;
    --card-border: #rgba(0,0,0,.125);
    --navbar-bg: #f8f9fa;
    --footer-bg: #f8f9fa;
    --modal-bg: #ffffff;
    --input-bg: #ffffff;
    --input-border: #ced4da;
    --input-focus-border: #80bdff;
    
    /* Button Colors */
    --btn-primary-bg: #007bff;
    --btn-primary-text: #ffffff;
    --btn-secondary-bg: #6c757d;
    --btn-secondary-text: #ffffff;
    
    /* Status Colors */
    --success-bg: #d4edda;
    --success-text: #155724;
    --success-border: #c3e6cb;
    --warning-bg: #fff3cd;
    --warning-text: #856404;
    --warning-border: #ffeeba;
    --danger-bg: #f8d7da;
    --danger-text: #721c24;
    --danger-border: #f5c6cb;
    --info-bg: #d1ecf1;
    --info-text: #0c5460;
    --info-border: #bee5eb;
    
    /* Shadow and Overlay */
    --shadow-sm: 0 .125rem .25rem rgba(0,0,0,.075);
    --shadow: 0 .5rem 1rem rgba(0,0,0,.15);
    --shadow-lg: 0 1rem 3rem rgba(0,0,0,.175);
    --overlay-bg: rgba(0,0,0,0.5);
    
    /* Code Colors */
    --code-bg: #f8f9fa;
    --code-text: #e83e8c;
    --pre-bg: #f4f4f4;
    --pre-text: #212529;
    
    /* Link Colors */
    --link-color: #007bff;
    --link-hover-color: #0056b3;
    
    /* Quiz Specific */
    --question-bg: #ffffff;
    --option-bg: #f8f9fa;
    --option-hover-bg: #e9ecef;
    --option-selected-bg: #007bff;
    --option-selected-text: #ffffff;
    --correct-bg: #d4edda;
    --incorrect-bg: #f8d7da;
    
    /* AI Assistant Colors */
    --ai-bg: #f0f8ff;
    --ai-border: #b8daff;
    --ai-text: #004085;
    
    /* Transition for smooth theme switching */
    --theme-transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

/* Dark Theme */
[data-theme="dark"] {
    /* Primary Colors */
    --bg-primary: #1a1a1a;
    --bg-secondary: #2d2d2d;
    --bg-tertiary: #3a3a3a;
    
    /* Text Colors */
    --text-primary: #e0e0e0;
    --text-secondary: #b0b0b0;
    --text-muted: #808080;
    --text-inverse: #1a1a1a;
    
    /* Border Colors */
    --border-color: #404040;
    --border-color-dark: #555555;
    
    /* Component Colors */
    --card-bg: #2d2d2d;
    --card-border: rgba(255,255,255,.125);
    --navbar-bg: #2d2d2d;
    --footer-bg: #2d2d2d;
    --modal-bg: #2d2d2d;
    --input-bg: #3a3a3a;
    --input-border: #555555;
    --input-focus-border: #0a84ff;
    
    /* Button Colors (slightly adjusted for dark mode) */
    --btn-primary-bg: #0a84ff;
    --btn-primary-text: #ffffff;
    --btn-secondary-bg: #8e8e93;
    --btn-secondary-text: #ffffff;
    
    /* Status Colors (adjusted for dark mode) */
    --success-bg: #1e4620;
    --success-text: #a3d9a5;
    --success-border: #2d5a2f;
    --warning-bg: #4a3c28;
    --warning-text: #f0c674;
    --warning-border: #5d4e37;
    --danger-bg: #4a2328;
    --danger-text: #f5a5a5;
    --danger-border: #5d2e37;
    --info-bg: #1e3a4a;
    --info-text: #a5c9ea;
    --info-border: #2d4a5d;
    
    /* Shadow and Overlay */
    --shadow-sm: 0 .125rem .25rem rgba(0,0,0,.3);
    --shadow: 0 .5rem 1rem rgba(0,0,0,.4);
    --shadow-lg: 0 1rem 3rem rgba(0,0,0,.5);
    --overlay-bg: rgba(0,0,0,0.7);
    
    /* Code Colors */
    --code-bg: #3a3a3a;
    --code-text: #ff79c6;
    --pre-bg: #2d2d2d;
    --pre-text: #e0e0e0;
    
    /* Link Colors */
    --link-color: #0a84ff;
    --link-hover-color: #409cff;
    
    /* Quiz Specific */
    --question-bg: #2d2d2d;
    --option-bg: #3a3a3a;
    --option-hover-bg: #404040;
    --option-selected-bg: #0a84ff;
    --option-selected-text: #ffffff;
    --correct-bg: #1e4620;
    --incorrect-bg: #4a2328;
    
    /* AI Assistant Colors */
    --ai-bg: #1e3a4a;
    --ai-border: #2d4a5d;
    --ai-text: #a5c9ea;
}

/* Theme-aware utility classes */
.theme-transition * {
    transition: var(--theme-transition) !important;
}

/* Override Bootstrap classes for dark mode */
[data-theme="dark"] {
    /* Cards */
    .card {
        background-color: var(--card-bg);
        border-color: var(--card-border);
        color: var(--text-primary);
    }
    
    /* Modals */
    .modal-content {
        background-color: var(--modal-bg);
        border-color: var(--border-color);
        color: var(--text-primary);
    }
    
    .modal-header,
    .modal-footer {
        border-color: var(--border-color);
    }
    
    /* Forms */
    .form-control,
    .form-select {
        background-color: var(--input-bg);
        border-color: var(--input-border);
        color: var(--text-primary);
    }
    
    .form-control:focus,
    .form-select:focus {
        background-color: var(--input-bg);
        border-color: var(--input-focus-border);
        color: var(--text-primary);
        box-shadow: 0 0 0 0.25rem rgba(10, 132, 255, 0.25);
    }
    
    /* Tables */
    .table {
        color: var(--text-primary);
        border-color: var(--border-color);
    }
    
    .table-striped > tbody > tr:nth-of-type(odd) > * {
        background-color: rgba(255, 255, 255, 0.05);
    }
    
    /* Dropdowns */
    .dropdown-menu {
        background-color: var(--bg-secondary);
        border-color: var(--border-color);
    }
    
    .dropdown-item {
        color: var(--text-primary);
    }
    
    .dropdown-item:hover {
        background-color: var(--bg-tertiary);
        color: var(--text-primary);
    }
    
    /* Navbar */
    .navbar-light {
        background-color: var(--navbar-bg) !important;
    }
    
    .navbar-light .navbar-brand,
    .navbar-light .navbar-nav .nav-link {
        color: var(--text-primary);
    }
    
    /* Badges */
    .badge {
        color: var(--text-primary);
    }
    
    /* Alerts */
    .alert-success {
        background-color: var(--success-bg);
        border-color: var(--success-border);
        color: var(--success-text);
    }
    
    .alert-warning {
        background-color: var(--warning-bg);
        border-color: var(--warning-border);
        color: var(--warning-text);
    }
    
    .alert-danger {
        background-color: var(--danger-bg);
        border-color: var(--danger-border);
        color: var(--danger-text);
    }
    
    .alert-info {
        background-color: var(--info-bg);
        border-color: var(--info-border);
        color: var(--info-text);
    }
}