diff --git a/app/assets/css/variables.css b/app/assets/css/variables.css index 30dce2a..88a6536 100644 --- a/app/assets/css/variables.css +++ b/app/assets/css/variables.css @@ -1,10 +1,13 @@ -/* 全局CSS变量 - 统一配色方案 */ +/* 全局CSS变量 - 统一配色方案(默认浅色ClassicLight,不依赖data-theme也能正常显示) */ :root { + /* 强制浅色基准值 - 即使 data-theme 缺失也保持浅色 */ + color-scheme: light; + /* 主色调 */ - --primary: #3b82f6; - --primary-hover: #2563eb; - --primary-light: rgba(59, 130, 246, 0.1); - --primary-border: rgba(59, 130, 246, 0.2); + --primary: #1e40af; + --primary-hover: #1e3a8a; + --primary-light: rgba(30, 64, 175, 0.08); + --primary-border: rgba(30, 64, 175, 0.15); /* 成功色 */ --success: #10b981; @@ -30,25 +33,25 @@ --info-light: rgba(59, 130, 246, 0.1); --info-border: rgba(59, 130, 246, 0.2); - /* 背景色 */ - --bg-primary: #111111; - --bg-secondary: #1a1a1a; - --bg-tertiary: #2a2a2a; - --bg-quaternary: #3a3a3a; - --bg-hover: #1f1f1f; + /* 背景色 (默认 ClassicLight 浅色) */ + --bg-primary: #ffffff; + --bg-secondary: #f5f7fa; + --bg-tertiary: #edf0f5; + --bg-quaternary: #d9dee7; + --bg-hover: #f0f3f8; - /* 文字颜色 */ - --text-primary: #ffffff; - --text-secondary: #cccccc; - --text-tertiary: #888888; - --text-quaternary: #666666; - --text-disabled: #444444; + /* 文字颜色 (默认 ClassicLight 浅色) */ + --text-primary: #1a2332; + --text-secondary: #4a5568; + --text-tertiary: #6b7280; + --text-quaternary: #9ca3af; + --text-disabled: #c5cbd3; - /* 边框颜色 */ - --border-primary: #1f1f1f; - --border-secondary: #2a2a2a; - --border-tertiary: #3a3a3a; - --border-quaternary: #4a4a4a; + /* 边框颜色 (默认 ClassicLight 浅色) */ + --border-primary: #e5e7eb; + --border-secondary: #d1d5db; + --border-tertiary: #9ca3af; + --border-quaternary: #6b7280; /* 阴影 */ --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05); @@ -132,16 +135,16 @@ --card-hover-border: var(--border-tertiary); --card-shadow: var(--shadow-md); - /* 按钮颜色 */ + /* 按钮颜色 - 浅色基准 */ --btn-primary-bg: var(--primary); --btn-primary-hover: var(--primary-hover); - --btn-primary-text: var(--text-primary); + --btn-primary-text: #ffffff; --btn-primary-border: var(--primary-border); - --btn-secondary-bg: #3a3a3a; - --btn-secondary-hover: #4a4a4a; - --btn-secondary-text: var(--text-primary); - --btn-secondary-border: #555555; + --btn-secondary-bg: #f1f5f9; + --btn-secondary-hover: #e2e8f0; + --btn-secondary-text: #0f172a; + --btn-secondary-border: #cbd5e1; --btn-success-bg: var(--success); --btn-success-hover: var(--success-hover); @@ -161,12 +164,12 @@ --btn-disabled-bg: var(--bg-tertiary); --btn-disabled-text: var(--text-disabled); - /* 输入框颜色 */ - --input-bg: var(--bg-tertiary); - --input-border: var(--border-tertiary); + /* 输入框颜色 - 浅色基准 */ + --input-bg: #ffffff; + --input-border: #d1d5db; --input-border-focus: var(--primary); --input-text: var(--text-primary); - --input-placeholder: var(--text-quaternary); + --input-placeholder: #9ca3af; --input-shadow-focus: 0 0 0 3px var(--primary-light); /* 模态框颜色 */ @@ -197,12 +200,27 @@ --spinner-primary: var(--primary); --spinner-secondary: var(--bg-tertiary); - /* 滚动条颜色 */ - --scrollbar-track: var(--bg-tertiary); - --scrollbar-thumb: var(--bg-quaternary); - --scrollbar-thumb-hover: #4a4a4a; + /* 滚动条颜色 - 浅色基准 */ + --scrollbar-track: #f1f5f9; + --scrollbar-thumb: #cbd5e1; + --scrollbar-thumb-hover: #94a3b8; + + /* Surface 兼容别名 - 部分按钮/容器使用 surface-xxx */ + --surface-primary: var(--bg-primary); + --surface-secondary: var(--bg-secondary); + --surface-tertiary: var(--bg-tertiary); + --surface-quaternary: var(--bg-quaternary); } +/* 防深色兜底:覆盖 prefers-color-scheme: dark 对表单/根元素的自动影响 */ +@media (prefers-color-scheme: dark) { + :root { + color-scheme: light; + } +} + +/* 浅色主题叠加层(与 data-theme 无关,确保始终为浅色;保留 data-theme 变量覆盖以兼容切换) */ +:root, :root[data-theme='light'], :root[data-theme='ClassicLight'], :root[data-theme='ModernLight'] { diff --git a/app/components/Auth/LoginForm.vue b/app/components/Auth/LoginForm.vue index 4ec8d57..430e302 100644 --- a/app/components/Auth/LoginForm.vue +++ b/app/components/Auth/LoginForm.vue @@ -143,7 +143,7 @@ - +