diff --git a/src/components/ui/alert-dialog.tsx b/src/components/ui/alert-dialog.tsx
index 39521fb..ce3d0e9 100644
--- a/src/components/ui/alert-dialog.tsx
+++ b/src/components/ui/alert-dialog.tsx
@@ -21,7 +21,7 @@ const AlertDialogOverlay = React.forwardRef<
ref={ref}
data-slot="alert-dialog-overlay"
className={cn(
- 'fixed inset-0 z-50 bg-ink/60 backdrop-blur-sm',
+ 'fixed inset-0 z-50 bg-overlay/60 backdrop-blur-sm',
'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0',
className
)}
diff --git a/src/components/ui/button.test.tsx b/src/components/ui/button.test.tsx
index 064e132..60360cd 100644
--- a/src/components/ui/button.test.tsx
+++ b/src/components/ui/button.test.tsx
@@ -28,8 +28,8 @@ describe('Button Component', () => {
it('should apply secondary variant styles', () => {
render(
);
const button = screen.getByRole('button');
- // secondary variant 使用 bg-ink
- expect(button).toHaveClass('bg-ink');
+ // secondary variant 使用 bg-dark-bg(深色区块 token,不随暗黑模式反色)
+ expect(button).toHaveClass('bg-dark-bg');
});
it('should apply outline variant styles', () => {
diff --git a/src/components/ui/button.tsx b/src/components/ui/button.tsx
index f9343b2..0fcb159 100644
--- a/src/components/ui/button.tsx
+++ b/src/components/ui/button.tsx
@@ -13,9 +13,9 @@ const buttonVariants = cva(
primary:
'bg-brand text-white shadow-sm hover:bg-brand-hover hover:shadow-brand-hover hover:-translate-y-px active:translate-y-0 active:scale-[0.97] active:shadow-sm transition-all duration-fast ease-standard',
secondary:
- 'bg-ink text-white shadow-sm hover:bg-ink-light hover:shadow-md hover:-translate-y-px active:translate-y-0 active:scale-[0.97] active:shadow-sm transition-all duration-fast ease-standard',
+ 'bg-dark-bg text-white shadow-sm hover:bg-dark-bg-secondary hover:shadow-md hover:-translate-y-px active:translate-y-0 active:scale-[0.97] active:shadow-sm transition-all duration-fast ease-standard',
outline:
- 'border border-border-accent bg-transparent text-text-primary hover:bg-ink hover:text-white hover:border-ink hover:-translate-y-px hover:shadow-md active:translate-y-0 active:scale-[0.97] active:shadow-sm transition-all duration-fast ease-standard',
+ 'border border-border-accent bg-transparent text-text-primary hover:bg-dark-bg hover:text-white hover:border-dark-bg hover:-translate-y-px hover:shadow-md active:translate-y-0 active:scale-[0.97] active:shadow-sm transition-all duration-fast ease-standard',
ghost:
'text-text-secondary hover:bg-bg-secondary hover:text-text-primary active:scale-[0.97] transition-all duration-fast ease-standard',
link:
diff --git a/src/components/ui/dialog.tsx b/src/components/ui/dialog.tsx
index 8570d5c..4f36391 100644
--- a/src/components/ui/dialog.tsx
+++ b/src/components/ui/dialog.tsx
@@ -22,7 +22,7 @@ const DialogOverlay = React.forwardRef<
ref={ref}
data-slot="dialog-overlay"
className={cn(
- 'fixed inset-0 z-50 bg-ink/60 backdrop-blur-sm',
+ 'fixed inset-0 z-50 bg-overlay/60 backdrop-blur-sm',
'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0',
className
)}
diff --git a/src/components/ui/metric-card.tsx b/src/components/ui/metric-card.tsx
index 71785dd..5b35191 100644
--- a/src/components/ui/metric-card.tsx
+++ b/src/components/ui/metric-card.tsx
@@ -66,7 +66,7 @@ export function MetricCard({
className={cn(
'group relative overflow-hidden rounded-sm border p-6 sm:p-7 transition-all duration-300 ease-out',
isDark
- ? 'bg-ink/50 border-white/[0.08] hover:border-white/20 hover:bg-ink'
+ ? 'bg-overlay/50 border-white/[0.08] hover:border-white/20 hover:bg-overlay'
: 'border-border-primary bg-bg-primary hover:bg-bg-secondary',
className
)}
diff --git a/src/components/ui/milestone-timeline.tsx b/src/components/ui/milestone-timeline.tsx
index 9eeb16a..528bd01 100644
--- a/src/components/ui/milestone-timeline.tsx
+++ b/src/components/ui/milestone-timeline.tsx
@@ -64,7 +64,7 @@ export function MilestoneTimeline({
>
diff --git a/src/components/ui/stats-showcase.tsx b/src/components/ui/stats-showcase.tsx
index e2cf0d1..94faf2f 100644
--- a/src/components/ui/stats-showcase.tsx
+++ b/src/components/ui/stats-showcase.tsx
@@ -73,7 +73,7 @@ export function StatsShowcase({
key={i}
className={cn(
'relative p-8 sm:p-10 md:p-12 text-center transition-all duration-500 group',
- isDark ? 'bg-ink hover:bg-ink-light' : 'bg-bg-primary hover:bg-bg-hover'
+ isDark ? 'bg-dark-bg hover:bg-dark-bg-secondary' : 'bg-bg-primary hover:bg-bg-hover'
)}
>
diff --git a/tailwind.config.js b/tailwind.config.js
index 4d1ac8c..5bb04b4 100644
--- a/tailwind.config.js
+++ b/tailwind.config.js
@@ -109,6 +109,7 @@ module.exports = {
'text-muted': 'var(--color-dark-text-muted)',
border: 'var(--color-dark-border)',
},
+ overlay: 'rgb(var(--color-overlay-rgb) /
)',
},
fontFamily: {
sans: ['var(--font-sans)'],