Files
projectAIpopular/webapp/src/style.css
T
tzt 943eecc5ef feat(v3): 配色体系对齐 deepseek-harness Web(D7 视觉)
- 提取 dsh design-platform 官方色板为设计令牌:品牌蓝 #4176e6、bluish 灰阶、
  语义状态色、透明描边(rgba 0.04-0.1)
- 侧栏改近白(sidebar-fill),扁平化阴影,悬停/滚动条/缓动全部对齐 dsh
- 六视图旧硬编码蓝批量令牌化,视觉单一来源
2026-09-01 21:48:05 +08:00

146 lines
4.8 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/* ============================================================
端云协同 LLM 系统 · 全局设计令牌与基础样式
配色体系对齐 deepseek-harness Webdesign-platform.css):
近白侧栏 + 纯白表面 + 极淡透明描边 + 近黑文字 + DeepSeek 品牌蓝
============================================================ */
:root {
/* —— DeepSeek 色板(取自 dsw-static-*)—— */
--ds-blue-50: #edf3fe; /* rgb(237,243,254) */
--ds-blue-100: #e4edfd; /* rgb(228,237,253) */
--ds-blue-300: #b7c8fe; /* rgb(183,200,254) */
--ds-blue-400: #6786fe; /* rgb(103,158,254) */
--ds-blue-500: #4176e6; /* rgb(65,118,230) 品牌主色 */
--ds-neutral-bluish-00: #ffffff;
--ds-neutral-bluish-50: #f9fafb;
--ds-neutral-bluish-60: #f5f6f7;
--ds-neutral-bluish-75: #f1f3f5;
--ds-neutral-bluish-100: #ebeef2;
--ds-neutral-bluish-200: #e1e5ee;
--ds-neutral-bluish-400: #adb2b8;
--ds-neutral-bluish-600: #818588;
--ds-neutral-bluish-700: #61666b;
--ds-neutral-bluish-1000: #0f1115;
/* —— 语义令牌(各视图使用)—— */
--c-bg: var(--ds-neutral-bluish-60); /* 页面底(模块平台灰) */
--c-surface: #ffffff; /* 卡片/面板 */
--c-border: rgba(16, 20, 26, 0.1); /* border-l2 */
--c-border-soft: rgba(16, 20, 26, 0.05); /* border-l1 */
--c-text: var(--ds-neutral-bluish-1000);
--c-text-2: var(--ds-neutral-bluish-700);
--c-text-3: var(--ds-neutral-bluish-600);
--c-caption: var(--ds-neutral-bluish-400);
--c-primary: var(--ds-blue-500);
--c-primary-strong: var(--ds-blue-400); /* 悬停(dsh:变亮) */
--c-primary-soft: var(--ds-blue-50);
--c-primary-tint: var(--ds-blue-100);
--c-primary-ring: rgba(65, 118, 230, 0.2);
--c-hover: rgba(38, 49, 72, 0.06); /* dsh 交互悬停 */
--c-ok: #22c55e;
--c-ok-soft: #e6faed;
--c-warn: #dd8629;
--c-warn-soft: #fef5e7;
--c-err: #ec1313;
--c-err-soft: #fef2f2;
/* —— 侧边栏(近白,dsh sidebar-fill)—— */
--c-side-bg: var(--ds-neutral-bluish-50);
--c-side-text: var(--ds-neutral-bluish-700);
--c-side-text-active: var(--ds-neutral-bluish-1000);
--c-side-active: var(--ds-neutral-bluish-100);
--c-side-hover: var(--ds-neutral-bluish-75);
--c-side-border: var(--c-border-soft);
--c-accent: var(--ds-blue-500);
/* —— 形状与影(dsh:扁平,描边负责层次)—— */
--radius: 10px;
--radius-sm: 7px;
--shadow-card: 0 1px 2px rgba(16, 24, 40, 0.03);
--shadow-pop: 0 8px 30px rgba(16, 24, 40, 0.12);
--font-mono: 'SF Mono', 'JetBrains Mono', 'Fira Code', Consolas,
'Liberation Mono', Menlo, Courier, 'PingFang SC', 'Microsoft YaHei', monospace;
--ds-ease: cubic-bezier(0.4, 0, 0.2, 1);
}
* { box-sizing: border-box; margin: 0; padding: 0; }
html, body, #app {
height: 100%;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC',
'Hiragino Sans GB', 'Microsoft YaHei', Roboto, sans-serif;
font-size: 14px;
color: var(--c-text);
background: var(--c-bg);
-webkit-font-smoothing: antialiased;
}
/* ---------- 统一滚动条(dshneutral-200 圆头) ---------- */
::-webkit-scrollbar { width: 9px; height: 9px; }
::-webkit-scrollbar-thumb {
background: #e5e5e5;
border-radius: 8px;
border: 2px solid transparent;
background-clip: content-box;
}
::-webkit-scrollbar-thumb:hover { background-color: #d4d4d4; }
::-webkit-scrollbar-track { background: transparent; }
/* ---------- 基础元素统一 ---------- */
button, input, select, textarea { font-family: inherit; color: inherit; }
h2 { font-size: 19px; font-weight: 700; letter-spacing: 0.2px; color: var(--c-text); }
a { color: var(--c-primary); }
code, pre { font-family: var(--font-mono); }
/* 焦点环统一 */
input:focus-visible, select:focus-visible, textarea:focus-visible, button:focus-visible {
outline: none;
box-shadow: 0 0 0 3px var(--c-primary-ring);
}
/* ---------- 通用卡片质感(供各页复用) ---------- */
.surface {
background: var(--c-surface);
border: 1px solid var(--c-border-soft);
border-radius: var(--radius);
box-shadow: var(--shadow-card);
}
/* 各页卡片统一描边与阴影(配合各自 scoped 样式) */
.settings-section,
.metric-card,
.ev-card {
box-shadow: var(--shadow-card);
border-radius: var(--radius);
}
/* 页面通用头 */
.page-head h2 {
display: flex;
align-items: center;
gap: 8px;
}
.page-head .sub { margin-top: 3px; }
.mono { font-family: var(--font-mono); }
/* 平滑出现(dsh 缓动曲线) */
@media (prefers-reduced-motion: no-preference) {
.ev-card, .metric-card, .settings-section {
animation: fade-up 0.2s var(--ds-ease) both;
}
}
@keyframes fade-up {
from { opacity: 0; transform: translateY(4px); }
to { opacity: 1; transform: translateY(0); }
}