tailwind.config.js 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. /** @type {import('tailwindcss').Config} */
  2. export default {
  3. content: ["./index.html", "./src/**/*.{ts,tsx}"],
  4. darkMode: "class",
  5. theme: {
  6. extend: {
  7. fontFamily: {
  8. sans: [
  9. "Inter",
  10. "-apple-system",
  11. "BlinkMacSystemFont",
  12. "Segoe UI",
  13. "system-ui",
  14. "sans-serif",
  15. ],
  16. display: [
  17. "Space Grotesk",
  18. "Inter",
  19. "-apple-system",
  20. "BlinkMacSystemFont",
  21. "Segoe UI",
  22. "sans-serif",
  23. ],
  24. mono: [
  25. "JetBrains Mono",
  26. "ui-monospace",
  27. "SFMono-Regular",
  28. "Menlo",
  29. "Consolas",
  30. "monospace",
  31. ],
  32. },
  33. colors: {
  34. brand: {
  35. DEFAULT: "#0ea5e9",
  36. dark: "#0284c7",
  37. },
  38. // vocat 品牌色为浅蓝:把参考实现里的 indigo(紫)整组映射为 sky 色阶,
  39. // 这样所有 indigo-* 类名无需改动即呈现浅蓝。
  40. indigo: {
  41. 50: "#f0f9ff",
  42. 100: "#e0f2fe",
  43. 200: "#bae6fd",
  44. 300: "#7dd3fc",
  45. 400: "#38bdf8",
  46. 500: "#0ea5e9",
  47. 600: "#0284c7",
  48. 700: "#0369a1",
  49. 800: "#075985",
  50. 900: "#0c4a6e",
  51. 950: "#082f49",
  52. },
  53. },
  54. keyframes: {
  55. // VoHive overrides the default pulse to a slow scale+fade (glow blobs)
  56. pulse: {
  57. "0%, 100%": { opacity: "0.3", transform: "scale(1)" },
  58. "50%": { opacity: "0.6", transform: "scale(1.1)" },
  59. },
  60. "loader-shimmer": {
  61. "0%": { transform: "translate(-60%)" },
  62. "100%": { transform: "translate(60%)" },
  63. },
  64. "fade-slide-in": {
  65. from: { opacity: "0", transform: "translateY(20px)" },
  66. to: { opacity: "1", transform: "translateY(0)" },
  67. },
  68. },
  69. animation: {
  70. "pulse-slow": "pulse 8s cubic-bezier(0.4, 0, 0.6, 1) infinite",
  71. "loader-shimmer": "loader-shimmer 1.05s ease-in-out infinite",
  72. "fade-slide-in": "fade-slide-in 0.3s cubic-bezier(0.4, 0, 0.2, 1)",
  73. },
  74. },
  75. },
  76. plugins: [],
  77. };