71 lines
2.2 KiB
JavaScript
71 lines
2.2 KiB
JavaScript
|
|
/** @type {import('tailwindcss').Config} */
|
|||
|
|
export default {
|
|||
|
|
content: [
|
|||
|
|
"./index.html",
|
|||
|
|
"./src/**/*.{js,ts,jsx,tsx}",
|
|||
|
|
],
|
|||
|
|
darkMode: 'class',
|
|||
|
|
theme: {
|
|||
|
|
extend: {
|
|||
|
|
colors: {
|
|||
|
|
// 动态主题色(通过CSS变量)
|
|||
|
|
't-bg': 'var(--t-bg)',
|
|||
|
|
't-bg-card': 'var(--t-bg-card)',
|
|||
|
|
't-bg-hover': 'var(--t-bg-hover)',
|
|||
|
|
't-bg-elevated': 'var(--t-bg-elevated)',
|
|||
|
|
't-border': 'var(--t-border)',
|
|||
|
|
't-border-light': 'var(--t-border-light)',
|
|||
|
|
't-text': 'var(--t-text)',
|
|||
|
|
't-text2': 'var(--t-text2)',
|
|||
|
|
't-text3': 'var(--t-text3)',
|
|||
|
|
// 固定品牌色
|
|||
|
|
't-accent': '#e20074',
|
|||
|
|
't-accent-dark': '#be0060',
|
|||
|
|
't-accent-light': '#f04090',
|
|||
|
|
// 动态状态色
|
|||
|
|
't-green': 'var(--t-green)',
|
|||
|
|
't-orange': 'var(--t-orange)',
|
|||
|
|
't-red': '#ff4444',
|
|||
|
|
},
|
|||
|
|
fontFamily: {
|
|||
|
|
'tele': ['TeleNeo', 'Segoe UI', 'system-ui', 'sans-serif'],
|
|||
|
|
'mono': ['JetBrains Mono', 'monospace'],
|
|||
|
|
},
|
|||
|
|
boxShadow: {
|
|||
|
|
't-glow': '0 0 20px rgba(226,0,116,0.15), 0 0 40px rgba(226,0,116,0.05)',
|
|||
|
|
't-card': '0 2px 8px rgba(226,0,116,0.04)',
|
|||
|
|
't-card-hover': '0 4px 16px rgba(226,0,116,0.08)',
|
|||
|
|
't-accent': '0 4px 20px rgba(226,0,116,0.4)',
|
|||
|
|
},
|
|||
|
|
keyframes: {
|
|||
|
|
'pulse-glow': {
|
|||
|
|
'0%, 100%': {
|
|||
|
|
boxShadow: '0 0 12px rgba(226,0,116,0.5), 0 0 24px rgba(226,0,116,0.2)'
|
|||
|
|
},
|
|||
|
|
'50%': {
|
|||
|
|
boxShadow: '0 0 16px rgba(226,0,116,0.7), 0 0 32px rgba(226,0,116,0.3)'
|
|||
|
|
},
|
|||
|
|
},
|
|||
|
|
'slideUp': {
|
|||
|
|
'0%': { opacity: '0', transform: 'translateY(10px)' },
|
|||
|
|
'100%': { opacity: '1', transform: 'translateY(0)' },
|
|||
|
|
},
|
|||
|
|
'slideIn': {
|
|||
|
|
'0%': { transform: 'translateX(100%)' },
|
|||
|
|
'100%': { transform: 'translateX(0)' },
|
|||
|
|
},
|
|||
|
|
'slideOut': {
|
|||
|
|
'0%': { transform: 'translateX(0)' },
|
|||
|
|
'100%': { transform: 'translateX(100%)' },
|
|||
|
|
},
|
|||
|
|
},
|
|||
|
|
animation: {
|
|||
|
|
'pulse-glow': 'pulse-glow 2s infinite',
|
|||
|
|
'slide-up': 'slideUp 0.3s ease',
|
|||
|
|
'slide-in': 'slideIn 0.3s ease-out',
|
|||
|
|
'slide-out': 'slideOut 0.3s ease-in',
|
|||
|
|
},
|
|||
|
|
},
|
|||
|
|
},
|
|||
|
|
plugins: [],
|
|||
|
|
}
|