Files
Hermes-ui/packages/client/src/styles/variables.scss
T
ekko b4f809d8b5 fix: improve chat scroll behavior and dark mode readability
- Smart auto-scroll: only follow SSE stream when user is near bottom (200px threshold), scroll once on send/switch session
- Brighten dark mode text colors (primary #e0→#f0, secondary #a0→#c0, muted #66→#88)
- Fix tool-call panel height to match thinking video (120px→213px)
- Fix tool-call item background invisible in dark mode
- Fix gateway start button using hardcoded dark color

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-19 10:46:33 +08:00

167 lines
3.6 KiB
SCSS

// 黑白水墨 — Pure Ink
// 纯黑白灰,无彩色
// 支持 light / dark 双主题
// ─── CSS Custom Properties ─────────────────────────────────────
:root {
// Backgrounds
--bg-primary: #fafafa;
--bg-secondary: #f0f0f0;
--bg-sidebar: #f5f5f5;
--bg-card: #ffffff;
--bg-card-hover: #fafafa;
--bg-input: #ffffff;
// Borders
--border-color: #e0e0e0;
--border-light: #ebebeb;
// Accent
--accent-primary: #333333;
--accent-hover: #1a1a1a;
--accent-muted: #888888;
// Text
--text-primary: #1a1a1a;
--text-secondary: #666666;
--text-muted: #999999;
// Status
--success: #2e7d32;
--error: #c62828;
--warning: #f57f17;
// Message bubbles
--msg-user-bg: #f5f5f5;
--msg-assistant-bg: #f5f5f5;
--msg-system-border: #bdbdbd;
// Code
--code-bg: #f4f4f4;
// Utility
--text-on-accent: #ffffff;
--text-on-overlay: #ffffff;
--accent-info: #4a90d9;
// RGB components (for rgba() usage)
--accent-primary-rgb: 51, 51, 51;
--accent-hover-rgb: 26, 26, 26;
--text-primary-rgb: 26, 26, 26;
--text-muted-rgb: 153, 153, 153;
--success-rgb: 46, 125, 50;
--error-rgb: 198, 40, 40;
--warning-rgb: 245, 127, 23;
--accent-info-rgb: 74, 144, 217;
}
.dark {
// Backgrounds
--bg-primary: #1a1a1a;
--bg-secondary: #252525;
--bg-sidebar: #202020;
--bg-card: #333333;
--bg-card-hover: #333333;
--bg-input: #2a2a2a;
// Borders
--border-color: #3a3a3a;
--border-light: #333333;
// Accent
--accent-primary: #e0e0e0;
--accent-hover: #f5f5f5;
--accent-muted: #888888;
// Text
--text-primary: #f0f0f0;
--text-secondary: #c0c0c0;
--text-muted: #888888;
// Status
--success: #66bb6a;
--error: #ef5350;
--warning: #ffb74d;
// Message bubbles
--msg-user-bg: #252525;
--msg-assistant-bg: #252525;
--msg-system-border: #555555;
// Code
--code-bg: #1e1e1e;
// Utility
--text-on-accent: #1a1a1a;
--text-on-overlay: #ffffff;
--accent-info: #6ba3d6;
// RGB components
--accent-primary-rgb: 240, 240, 240;
--accent-hover-rgb: 245, 245, 245;
--text-primary-rgb: 240, 240, 240;
--text-muted-rgb: 136, 136, 136;
--success-rgb: 102, 187, 106;
--error-rgb: 239, 83, 80;
--warning-rgb: 255, 183, 77;
--accent-info-rgb: 107, 163, 214;
}
// ─── SCSS Variables (delegate to CSS custom properties) ────────
// Backgrounds
$bg-primary: var(--bg-primary);
$bg-secondary: var(--bg-secondary);
$bg-sidebar: var(--bg-sidebar);
$bg-card: var(--bg-card);
$bg-card-hover: var(--bg-card-hover);
$bg-input: var(--bg-input);
// Borders
$border-color: var(--border-color);
$border-light: var(--border-light);
// Accent
$accent-primary: var(--accent-primary);
$accent-hover: var(--accent-hover);
$accent-muted: var(--accent-muted);
// Text
$text-primary: var(--text-primary);
$text-secondary: var(--text-secondary);
$text-muted: var(--text-muted);
// Status
$success: var(--success);
$error: var(--error);
$warning: var(--warning);
$info: $accent-primary;
// Message bubbles
$msg-user-bg: var(--msg-user-bg);
$msg-assistant-bg: var(--msg-assistant-bg);
$msg-system-border: var(--msg-system-border);
// Code
$code-bg: var(--code-bg);
// Typography
$font-ui: 'Inter', system-ui, -apple-system, sans-serif;
$font-code: 'JetBrains Mono', 'Fira Code', 'Consolas', monospace;
// Layout
$sidebar-width: 240px;
$sidebar-collapsed-width: 64px;
$header-height: 60px;
$breakpoint-mobile: 768px;
// Radius
$radius-sm: 6px;
$radius-md: 10px;
$radius-lg: 14px;
// Transition
$transition-fast: 0.15s ease;
$transition-normal: 0.25s ease;