- New AvBeatLogo inline-SVG component (rounded-square emblem with forward-leaning AV monogram + horizontal beam detail) at src/components/AvBeatLogo.tsx, three variants (full/wordmark/icon). - Header.tsx now uses the responsive AV BEAT logo lockup in the top-left, links to /, full lockup on desktop (emblem+wordmark+tagline), emblem+wordmark on tablet, emblem-only on mobile. - Removed DualSpeedTicker (the 'RECENT FORUM POSTS' ticker strip); the news ticker / glow chrome does not match the new aesthetic and the forum row was the explicit removal target. - Tailwind theme + globals.css now expose the AV BEAT 2026 palette as semantic tokens: --brand-blue (#1D4ED8), --brand-blue-bright (#38BDF8), --brand-navy (#0F172A), --brand-bg (#F8FAFC), --brand-surface, --brand-border, --brand-text, --brand-text-muted. Legacy --color-* aliases re-point to the new tokens so any inline-styled component re-themes for free. - Site-wide hex sweep migrates 2,769 hardcoded color literals across 144 files from the old dark-broadcast palette to the new tokens (orange -> blue, dark-brown -> white surface / navy text, cream -> navy). - Layout body class flipped from 'bb-neon' to 'bg-brand-bg text-brand-text' so the dark glow chrome no longer leaks through the new light theme.
72 lines
2.9 KiB
JavaScript
72 lines
2.9 KiB
JavaScript
/** @type {import('tailwindcss').Config} */
|
|
module.exports = {
|
|
content: [
|
|
'./src/app/**/*.{js,ts,jsx,tsx,mdx}',
|
|
'./src/components/**/*.{js,ts,jsx,tsx,mdx}',
|
|
'./src/pages/**/*.{js,ts,jsx,tsx,mdx}',
|
|
],
|
|
theme: {
|
|
extend: {
|
|
colors: {
|
|
// AV BEAT 2026 brand palette — semantic tokens.
|
|
// Use the `brand-*` classes in new code. The legacy aliases below
|
|
// (primary/secondary/accent/etc.) remap onto the same tokens so
|
|
// existing markup re-themes without a 2k-line find/replace.
|
|
'brand-blue': '#1D4ED8',
|
|
'brand-blue-bright': '#38BDF8',
|
|
'brand-navy': '#0F172A',
|
|
'brand-white': '#FFFFFF',
|
|
'brand-bg': '#F8FAFC',
|
|
'brand-surface': '#FFFFFF',
|
|
'brand-border': '#DCE6F2',
|
|
'brand-text': '#0F172A',
|
|
'brand-text-muted': '#475569',
|
|
|
|
// Legacy aliases → remap to new tokens.
|
|
primary: '#0F172A',
|
|
secondary: '#FFFFFF',
|
|
accent: '#1D4ED8',
|
|
'accent-dark': '#1E3A8A',
|
|
'accent-muted': '#DCE6F2',
|
|
'accent-red': '#1D4ED8',
|
|
'accent-red-dark': '#1E3A8A',
|
|
background: '#F8FAFC',
|
|
card: '#FFFFFF',
|
|
foreground: '#0F172A',
|
|
muted: '#475569',
|
|
border: '#DCE6F2',
|
|
'navy-mid': '#0F172A',
|
|
'navy-light': '#DCE6F2',
|
|
'ice-blue': '#F8FAFC',
|
|
'top-bar': '#FFFFFF',
|
|
'sub-nav': '#F8FAFC',
|
|
},
|
|
fontFamily: {
|
|
heading: ['var(--font-sans)', '-apple-system', 'BlinkMacSystemFont', 'Segoe UI', 'Helvetica', 'Arial', 'sans-serif'],
|
|
body: ['var(--font-sans)', '-apple-system', 'BlinkMacSystemFont', 'Segoe UI', 'Helvetica', 'Arial', 'sans-serif'],
|
|
serif: ['var(--font-serif)', 'Georgia', 'serif'],
|
|
mono: ['ui-monospace', 'SF Mono', 'Menlo', 'Consolas', 'Courier New', 'monospace'],
|
|
},
|
|
maxWidth: {
|
|
container: '1200px',
|
|
},
|
|
boxShadow: {
|
|
card: '0 1px 2px rgba(15, 23, 42, 0.06), 0 1px 3px rgba(15, 23, 42, 0.04)',
|
|
'card-hover': '0 4px 12px rgba(15, 23, 42, 0.08), 0 2px 4px rgba(15, 23, 42, 0.04)',
|
|
nav: '0 1px 0 rgba(15, 23, 42, 0.06)',
|
|
},
|
|
keyframes: {
|
|
'fade-in': { '0%': { opacity: '0', transform: 'translateY(8px)' }, '100%': { opacity: '1', transform: 'translateY(0)' } },
|
|
'page-enter': { '0%': { opacity: '0', transform: 'translateY(6px)' }, '100%': { opacity: '1', transform: 'translateY(0)' } },
|
|
shimmer: { '0%': { backgroundPosition: '-200% 0' }, '100%': { backgroundPosition: '200% 0' } },
|
|
},
|
|
animation: {
|
|
'fade-in': 'fade-in 0.35s ease forwards',
|
|
'page-enter': 'page-enter 0.4s ease forwards',
|
|
shimmer: 'shimmer 1.6s infinite linear',
|
|
},
|
|
},
|
|
},
|
|
plugins: [],
|
|
};
|