/* ============================================ 文件: css/themes.css 说明: 界面配色主题(5 套经典配色)。 生效方式:(由 lib/theme.php 的 themeAttr() 输出)。 本文件必须排在 css/style.css **之后**加载:[data-theme] 与 style.css 里作为 兜底的 :root 优先级相同(都是 0,1,0),靠「后出现者胜」来覆盖。 每套主题都要给全下面这一组变量,缺一个就会退回 style.css 的默认值: --primary / --primary-dark / --primary-light / --primary-rgb --bg-primary / --bg-secondary / --card-bg / --input-bg / --nav-bg --text-primary / --text-secondary / --border-color --shadow / --shadow-hover --scroll-thumb / --scroll-thumb-hover 注意 --primary-rgb 必须与 --primary 同色(写成 "R, G, B"), 页面里的淡色底/光晕一律用 rgba(var(--primary-rgb), α) 取色。 另外每套都要声明 color-scheme:它决定浏览器原生控件(下拉、日期选择器、 滚动条)走明色还是暗色渲染 —— 暗色主题少了这一条,日期输入框会是刺眼的白底。 ============================================ */ /* ---------- 1. 复古票根(默认):暖橙 + 浅灰白 ---------- */ [data-theme="ticket"] { color-scheme: light; --primary: #e67e22; --primary-dark: #d35400; --primary-light: #f39c12; --primary-rgb: 230, 126, 34; --bg-primary: #f0f2f5; --bg-secondary: #e8eaed; --card-bg: #ffffff; --input-bg: #ffffff; --nav-bg: rgba(255, 255, 255, 0.92); --text-primary: #1a1a2e; --text-secondary: #6b7280; --border-color: #e5e7eb; --shadow: 0 4px 24px rgba(0, 0, 0, 0.06), 0 1px 4px rgba(0, 0, 0, 0.04); --shadow-hover: 0 12px 48px rgba(0, 0, 0, 0.12); --scroll-thumb: #d1d5db; --scroll-thumb-hover: #b0b4ba; } /* ---------- 2. 靛蓝:经典蓝 + 冷调浅灰 ---------- */ [data-theme="indigo"] { color-scheme: light; --primary: #2563eb; --primary-dark: #1d4ed8; --primary-light: #60a5fa; --primary-rgb: 37, 99, 235; --bg-primary: #f4f6fb; --bg-secondary: #e7ecf6; --card-bg: #ffffff; --input-bg: #ffffff; --nav-bg: rgba(255, 255, 255, 0.92); --text-primary: #141a2e; --text-secondary: #64748b; --border-color: #e2e8f4; --shadow: 0 4px 24px rgba(30, 58, 138, 0.07), 0 1px 4px rgba(30, 58, 138, 0.05); --shadow-hover: 0 12px 48px rgba(30, 58, 138, 0.14); --scroll-thumb: #c7d2e4; --scroll-thumb-hover: #a8b8d2; } /* ---------- 3. 松林:墨绿 + 米灰白 ---------- */ [data-theme="forest"] { color-scheme: light; --primary: #2f855a; --primary-dark: #276749; --primary-light: #48bb78; --primary-rgb: 47, 133, 90; --bg-primary: #f2f6f3; --bg-secondary: #e6eee9; --card-bg: #ffffff; --input-bg: #ffffff; --nav-bg: rgba(255, 255, 255, 0.92); --text-primary: #15251d; --text-secondary: #647a70; --border-color: #dfe8e2; --shadow: 0 4px 24px rgba(20, 60, 40, 0.07), 0 1px 4px rgba(20, 60, 40, 0.05); --shadow-hover: 0 12px 48px rgba(20, 60, 40, 0.14); --scroll-thumb: #cbd8d0; --scroll-thumb-hover: #aec2b6; } /* ---------- 4. 绛红:酒红 + 暖白 ---------- */ [data-theme="wine"] { color-scheme: light; --primary: #b03a5b; --primary-dark: #8e2d48; --primary-light: #d45c7d; --primary-rgb: 176, 58, 91; --bg-primary: #faf5f6; --bg-secondary: #f2e7ea; --card-bg: #ffffff; --input-bg: #ffffff; --nav-bg: rgba(255, 255, 255, 0.92); --text-primary: #26161c; --text-secondary: #7a6a70; --border-color: #ece0e4; --shadow: 0 4px 24px rgba(90, 20, 40, 0.07), 0 1px 4px rgba(90, 20, 40, 0.05); --shadow-hover: 0 12px 48px rgba(90, 20, 40, 0.14); --scroll-thumb: #e0cdd4; --scroll-thumb-hover: #cbb0b9; } /* ---------- 5. 暗夜:深灰蓝底 + 靛紫点缀 ---------- */ [data-theme="midnight"] { color-scheme: dark; --primary: #7c5cf5; --primary-dark: #6a45e0; --primary-light: #9d84f8; --primary-rgb: 124, 92, 245; --bg-primary: #14161c; --bg-secondary: #1b1e26; --card-bg: #22262f; --input-bg: #1b1e26; --nav-bg: rgba(34, 38, 47, 0.92); --text-primary: #e8eaf0; --text-secondary: #9aa3b2; --border-color: #333846; --shadow: 0 4px 24px rgba(0, 0, 0, 0.45), 0 1px 4px rgba(0, 0, 0, 0.3); --shadow-hover: 0 12px 48px rgba(0, 0, 0, 0.6); --scroll-thumb: #3a3f4d; --scroll-thumb-hover: #4a5060; }