@import 'tailwindcss'; @import 'tw-animate-css'; @import 'shadcn/tailwind.css'; @custom-variant dark (&:is(.dark *)); @theme inline { --font-sans: var(--font-geist-sans), 'Geist Fallback'; --font-mono: var(--font-geist-mono), 'Geist Mono Fallback'; --color-sidebar-ring: var(--sidebar-ring); --color-sidebar-border: var(--sidebar-border); --color-sidebar-accent-foreground: var(--sidebar-accent-foreground); --color-sidebar-accent: var(--sidebar-accent); --color-sidebar-primary-foreground: var(--sidebar-primary-foreground); --color-sidebar-primary: var(--sidebar-primary); --color-sidebar-foreground: var(--sidebar-foreground); --color-sidebar: var(--sidebar); --color-ring: var(--ring); --color-input: var(--input); --color-border: var(--border); --color-destructive: var(--destructive); --color-accent-foreground: var(--accent-foreground); --color-accent: var(--accent); --color-muted-foreground: var(--muted-foreground); --color-muted: var(--muted); --color-secondary-foreground: var(--secondary-foreground); --color-secondary: var(--secondary); --color-primary-foreground: var(--primary-foreground); --color-primary: var(--primary); --color-popover-foreground: var(--popover-foreground); --color-popover: var(--popover); --color-card-foreground: var(--card-foreground); --color-card: var(--card); --color-foreground: var(--foreground); --color-background: var(--background); --radius-sm: 2px; --radius-md: 2px; --radius-lg: 2px; --radius-xl: 2px; --radius-2xl: 2px; --radius-3xl: 2px; } :root { /* FUI 极简浅色系 */ --background: #ffffff; --foreground: #16191f; --card: #f7f8fa; --card-foreground: #16191f; --popover: #ffffff; --popover-foreground: #16191f; /* 主色:近黑 */ --primary: #16191f; --primary-foreground: #ffffff; /* 强调色:近黑 — 唯一的高亮 */ --accent: #0f141a; --accent-foreground: #ffffff; --secondary: #f1f3f5; --secondary-foreground: #4a5563; --muted: #f1f3f5; --muted-foreground: #8a95a1; --destructive: #d92d20; --border: #e2e6ea; --input: #f7f8fa; --ring: #16191f00; --radius: 2px; --sidebar: #f7f8fa; --sidebar-foreground: #16191f; --sidebar-primary: #16191f; --sidebar-primary-foreground: #ffffff; --sidebar-accent: #f1f3f5; --sidebar-accent-foreground: #4a5563; --sidebar-border: #e2e6ea; --sidebar-ring: #16191f00; /* FUI 专用色标 */ --fui-accent: #0f141a; --fui-dim: #e2e6ea; --fui-panel: #f7f8fa; } @layer base { * { @apply border-border outline-ring/50; } body { @apply bg-background text-foreground font-mono antialiased; } html { @apply bg-background; } } @layer utilities { .scrollbar-thin { scrollbar-width: thin; scrollbar-color: #d0d5da transparent; } .scrollbar-thin::-webkit-scrollbar { width: 3px; } .scrollbar-thin::-webkit-scrollbar-track { background: transparent; } .scrollbar-thin::-webkit-scrollbar-thumb { background: #d0d5da; border-radius: 0; } } /* FUI 动画 — 只保留淡入,无弹跳、无光晕 */ @keyframes fui-fadein { from { opacity: 0; } to { opacity: 1; } } @keyframes fui-slide-up { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } } .fui-fadein { animation: fui-fadein 0.2s ease both; } .fui-slide-up { animation: fui-slide-up 0.2s ease both; }