:root, .light {
    --color-bg-primary: #ffffff;
    --color-bg-secondary: #f8fafc;
    --color-text-primary: #1f2937;
    --color-text-secondary: #6b7280;
    --color-border: #e5e7eb;
    --color-accent: #3b82f6;
}

.dark {
    --color-bg-primary: #111827;
    --color-bg-secondary: #1f2937;
    --color-text-primary: #f9fafb;
    --color-text-secondary: #d1d5db;
    --color-border: #374151;
    --color-accent: #60a5fa;
}

body {
    background-color: var(--color-bg-primary);
    color: var(--color-text-primary);
    transition: background-color 0.3s ease, color 0.3s ease;
}

header, footer {
    background-color: var(--color-bg-primary) !important;
    border-color: var(--color-border) !important;
}

.text-gray-600, .text-gray-700, .text-gray-500 {
    color: var(--color-text-secondary) !important;
}

.bg-white {
    background-color: var(--color-bg-primary) !important;
}

* {
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

input, textarea, select {
    background-color: var(--color-bg-secondary);
    color: var(--color-text-primary);
    border-color: var(--color-border);
}

input:focus, textarea:focus, select:focus {
    border-color: var(--color-accent);
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

a {
    color: var(--color-text-primary);
}

a:hover {
    color: var(--color-accent);
}

button {
    background-color: var(--color-bg-secondary);
    color: var(--color-text-primary);
    border-color: var(--color-border);
}

button:hover {
    background-color: var(--color-accent);
    color: white;
}

.dark input, .dark textarea, .dark select {
    background-color: var(--color-bg-secondary);
    color: var(--color-text-primary);
    border-color: var(--color-border);
}

.dark input:focus, .dark textarea:focus, .dark select:focus {
    border-color: var(--color-accent);
    box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.1);
}

::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: var(--color-bg-secondary);
}

::-webkit-scrollbar-thumb {
    background: var(--color-border);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--color-text-secondary);
}

::selection {
    background-color: var(--color-accent);
    color: white;
}

::placeholder {
    color: var(--color-text-secondary);
    opacity: 1;
}

/* 移除了可能导致深色主题颜色异常的全局!important规则 */

/* 排除遮罩层元素，保持其原有背景色 */
.light #mobile-menu-overlay {
    background-color: rgba(0, 0, 0, 0.5);
}