@import 'tailwindcss'; @import '@fontsource-variable/geist'; @import '@fontsource-variable/geist-mono'; /* ------------------------------------------------------------------ */ /* 设计 tokens(taste-skill 产出) */ /* 三主题 dark / light / system(data-theme 切换) */ /* 令牌值在 @theme 内写实色字面量 → 透明度修饰符(如 bg-accent-soft)可用; */ /* [data-theme=light] 覆盖同一批 --color-* 变量实现主题切换。 */ /* 圆角:卡片 8 / 控件 6 / 徽章 pill */ /* ------------------------------------------------------------------ */ @theme { --font-sans: 'Geist Variable', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif; --font-mono: 'Geist Mono Variable', ui-monospace, SFMono-Regular, Menlo, monospace; /* 深色(默认)语义令牌 */ --color-bg: #09090b; --color-surface: #18181b; --color-surface2: #27272a; --color-edge: #27272a; --color-edge2: #3f3f46; --color-ink: #f4f4f5; --color-muted: #a1a1aa; --color-accent: oklch(0.72 0.17 152); --color-accent-strong: oklch(0.64 0.19 152); --color-accent-ink: #09090b; --color-ok: oklch(0.72 0.17 152); --color-warn: #fbbf24; --color-err: #f87171; /* 软色(color-mix 运行时解析,随主题自适应) */ --color-accent-soft: color-mix(in oklab, var(--color-accent) 15%, transparent); --color-ok-soft: color-mix(in oklab, var(--color-ok) 15%, transparent); --color-warn-soft: color-mix(in oklab, var(--color-warn) 15%, transparent); --color-err-soft: color-mix(in oklab, var(--color-err) 12%, transparent); } /* 默认深色 */ :root { color-scheme: dark; } /* 浅色:覆盖同一批语义令牌 */ [data-theme='light'] { color-scheme: light; --color-bg: #fafafa; --color-surface: #ffffff; --color-surface2: #f4f4f5; --color-edge: #e4e4e7; --color-edge2: #d4d4d8; --color-ink: #18181b; --color-muted: #52525b; --color-accent: oklch(0.52 0.14 152); --color-accent-strong: oklch(0.47 0.14 152); --color-accent-ink: #ffffff; --color-ok: oklch(0.52 0.14 152); --color-warn: #d97706; --color-err: #dc2626; } body { background-color: var(--color-bg); color: var(--color-ink); font-family: var(--font-sans); -webkit-font-smoothing: antialiased; } /* 全站统一键盘焦点可见性 */ :focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; border-radius: 4px; } /* 通用组件视觉基元 */ @layer components { .card { @apply rounded-lg border border-edge bg-surface; } .mono-num { @apply font-mono tabular-nums; } .table-row { @apply border-b border-edge last:border-0 hover:bg-surface2; } } @media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; } }