Manrope воспринимался слишком строгим и корпоративным. Замена даёт больше характера и тёплый "попсовый" feel: - Body/UI: Manrope → Plus Jakarta Sans (мягкие округлые формы 'a' 'g', очень распространён в современных трендовых приложениях) - Display/hero: Fraunces → Bricolage Grotesque (variable шрифт с opsz axis: 24 для нормальных заголовков, 96 для hero — гротеск с характерными слегка сжатыми формами и большим контрастом штрихов) - Mono: JetBrains Mono без изменений Все hero-заголовки пробампаны до 34→40px и font-bold (700), Bricolage лучше всего смотрится в полужирном/жирном. Sidebar логотип «Laude» тоже font-bold. Также: - body line-height: 1.45 → 1.5 для лучшей читаемости - Reminder exercise name: 28→30, semibold→bold - Match summary title: 24→26, semibold→bold - Sidebar slogan: 12→13/medium, контраст 45→55 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
85 lines
2.5 KiB
JavaScript
85 lines
2.5 KiB
JavaScript
/** @type {import('tailwindcss').Config} */
|
|
export default {
|
|
content: ['./src/renderer/index.html', './src/renderer/src/**/*.{ts,tsx}'],
|
|
darkMode: 'class',
|
|
theme: {
|
|
extend: {
|
|
colors: {
|
|
// iOS semantic palette
|
|
accent: 'rgb(var(--accent) / <alpha-value>)',
|
|
'accent-soft': 'rgb(var(--accent-soft) / <alpha-value>)',
|
|
'accent-2': 'rgb(var(--accent-2) / <alpha-value>)',
|
|
success: 'rgb(var(--success) / <alpha-value>)',
|
|
warning: 'rgb(var(--warning) / <alpha-value>)',
|
|
destructive: 'rgb(var(--destructive) / <alpha-value>)',
|
|
info: 'rgb(var(--info) / <alpha-value>)',
|
|
|
|
// Surfaces
|
|
bg: 'rgb(var(--bg) / <alpha-value>)',
|
|
'bg-deep': 'rgb(var(--bg-deep) / <alpha-value>)',
|
|
surface: 'rgb(var(--surface) / <alpha-value>)',
|
|
'surface-2': 'rgb(var(--surface-2) / <alpha-value>)',
|
|
'surface-elevated': 'rgb(var(--surface-elevated) / <alpha-value>)',
|
|
|
|
// Text & lines
|
|
text: 'rgb(var(--text) / <alpha-value>)',
|
|
muted: 'rgb(var(--muted) / <alpha-value>)',
|
|
hairline: 'rgb(var(--hairline) / <alpha-value>)',
|
|
border: 'rgb(var(--border) / <alpha-value>)',
|
|
|
|
// Legacy aliases (so unchanged pages still compile)
|
|
victory: 'rgb(var(--victory) / <alpha-value>)',
|
|
defeat: 'rgb(var(--defeat) / <alpha-value>)',
|
|
xp: 'rgb(var(--xp) / <alpha-value>)'
|
|
},
|
|
fontFamily: {
|
|
sans: [
|
|
'Plus Jakarta Sans',
|
|
'-apple-system',
|
|
'SF Pro Text',
|
|
'Segoe UI Variable Text',
|
|
'Segoe UI',
|
|
'system-ui',
|
|
'sans-serif'
|
|
],
|
|
display: [
|
|
'Bricolage Grotesque',
|
|
'Plus Jakarta Sans',
|
|
'-apple-system',
|
|
'SF Pro Display',
|
|
'system-ui',
|
|
'sans-serif'
|
|
],
|
|
serif: [
|
|
'Bricolage Grotesque',
|
|
'Plus Jakarta Sans',
|
|
'-apple-system',
|
|
'SF Pro Display',
|
|
'system-ui',
|
|
'sans-serif'
|
|
],
|
|
mono: [
|
|
'JetBrains Mono',
|
|
'ui-monospace',
|
|
'SF Mono',
|
|
'Cascadia Code',
|
|
'Menlo',
|
|
'monospace'
|
|
]
|
|
},
|
|
borderRadius: {
|
|
// iOS-specific radii
|
|
xl: '14px',
|
|
'2xl': '18px',
|
|
'3xl': '22px'
|
|
},
|
|
boxShadow: {
|
|
ios: '0 0.5px 0 rgb(0 0 0 / 0.04), 0 1px 2px rgb(0 0 0 / 0.05), 0 4px 12px rgb(0 0 0 / 0.04)',
|
|
sheet:
|
|
'0 1px 2px rgb(0 0 0 / 0.06), 0 20px 50px -16px rgb(0 0 0 / 0.4)'
|
|
}
|
|
}
|
|
},
|
|
plugins: []
|
|
}
|