== Шрифты == - Sans/display: Geist → Manrope (мягче, дружелюбнее, ближе к SF Rounded) - Serif (hero titles): Instrument Serif → Fraunces с opsz axis 144 - Mono: Geist Mono → JetBrains Mono с ss02/ss19/zero features == Размеры (iOS HIG calibration) == - Hero h1: 40-44px → 32-36px (ближе к настоящему iOS Large Title 34pt) - Reminder name: 32 → 28; reps counter: 64 → 56 - Match summary title: 22 → 24 - Dashboard stat value: 30 → 26 - Body line-height/letter-spacing подкручены под Manrope == Иконки сайдбара == - LayoutDashboard → Sun (Сегодня — утренняя энергия) - ListChecks → Dumbbell (Упражнения — спорт прямо) - Gamepad2 → Joystick (Игры — более игровая иконка) - Target → Flame (Челленджи — интенсивность) - Settings → Settings2 (немного объёмнее) - Размер плашки 28→32px, иконки 15→17px == Light theme == - DEFAULT_SETTINGS.theme: 'system' → 'light' (новые установки сразу получают светлую тему) - Light bg прогрет: 242,242,247 → 245,245,249 - surface-2 чуть темнее для лучшей сепарации полей ввода - text не pure black а 17,17,19 (легче глазам) - shadow-card получила тёплый slate-tinge Существующие пользователи с theme='system' продолжат следовать ОС. Для принудительного переключения — Settings → Тема → Светлая. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
84 lines
2.5 KiB
JavaScript
84 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: [
|
|
'Manrope',
|
|
'-apple-system',
|
|
'SF Pro Text',
|
|
'Segoe UI Variable Text',
|
|
'Segoe UI',
|
|
'system-ui',
|
|
'sans-serif'
|
|
],
|
|
display: [
|
|
'Manrope',
|
|
'-apple-system',
|
|
'SF Pro Display',
|
|
'Segoe UI Variable Display',
|
|
'system-ui',
|
|
'sans-serif'
|
|
],
|
|
serif: [
|
|
'Fraunces',
|
|
'Iowan Old Style',
|
|
'New York',
|
|
'Georgia',
|
|
'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: []
|
|
}
|