- Replace claims that contradicted the app: the default hotkey is Right Alt (hold to talk), local features are free with no daily cap, there is no 14-day trial, Team/SSO/SCIM/ZDR are not offered, and the repository is not public. Remove invented metrics, status badges, the competitor table, the ad-mediation changelog, the hash calculator and the duplicate demo. - Seven sections: hero with one labelled example, features, how it works, privacy, pricing (Free / Pro 2,900 / Pro+ 8,900 KRW a month), download, FAQ. Footer links the privacy policy, terms and account deletion pages. - All copy moves into i18n and every one of the 10 locales is translated. Pricing and cloud quotas come from site/src/pricing.ts. - Accessibility: skip link, labelled sections, aria-expanded with Esc and focus return for the menu, language list and FAQ, live status for the example, reduced-motion support, 44px targets, AA contrast on the primary button. Korean keep-all line breaking is scoped to :lang(ko) because Tailwind's break-keep blocked wrapping in Japanese and Chinese. - JS 111 -> 98 KB gzip, CSS 7.8 -> 5.2 KB gzip.
120 lines
3.5 KiB
JavaScript
120 lines
3.5 KiB
JavaScript
/** @type {import('tailwindcss').Config} */
|
|
export default {
|
|
content: ['./index.html', './src/**/*.{js,ts,jsx,tsx}'],
|
|
theme: {
|
|
extend: {
|
|
colors: {
|
|
brand: {
|
|
// 브랜드 통일: 앱(Midnight Glass) blue 토큰과 동일 값 — 레거시 amber 폐기
|
|
blue: '#3b82f6',
|
|
'blue-light': '#60a5fa',
|
|
'blue-dark': '#2563eb',
|
|
// 버튼 hover. 흰 글자 대비 6.7:1 (blue-dark 5.2:1, blue 3.7:1 은 본문 버튼에 부족)
|
|
'blue-deep': '#1d4ed8',
|
|
'blue-glow': 'rgba(59,130,246,0.5)',
|
|
'blue-dim': 'rgba(59,130,246,0.14)',
|
|
'blue-muted': 'rgba(59,130,246,0.08)',
|
|
},
|
|
surface: {
|
|
950: '#08090c',
|
|
900: '#0d0f14',
|
|
800: '#13161f',
|
|
700: '#1a1e2b',
|
|
600: '#222838',
|
|
500: '#2b3245',
|
|
400: '#363f57',
|
|
300: '#434d69',
|
|
200: '#535f7f',
|
|
100: '#68769c',
|
|
},
|
|
neutral: {
|
|
50: '#ffffff',
|
|
100: '#f4f4f5',
|
|
200: '#e4e4e7',
|
|
300: '#d4d4d8',
|
|
400: '#a1a1aa',
|
|
500: '#71717a',
|
|
600: '#52525b',
|
|
700: '#3f3f46',
|
|
800: '#27272a',
|
|
900: '#18181b',
|
|
},
|
|
},
|
|
fontFamily: {
|
|
sans: [
|
|
'"Pretendard Variable"',
|
|
'Pretendard',
|
|
'-apple-system',
|
|
'BlinkMacSystemFont',
|
|
'system-ui',
|
|
'Roboto',
|
|
'"Helvetica Neue"',
|
|
'"Segoe UI"',
|
|
'"Apple SD Gothic Neo"',
|
|
'"Noto Sans KR"',
|
|
'"Malgun Gothic"',
|
|
'sans-serif',
|
|
],
|
|
display: [
|
|
'"Pretendard Variable"',
|
|
'Pretendard',
|
|
'-apple-system',
|
|
'BlinkMacSystemFont',
|
|
'system-ui',
|
|
'"Apple SD Gothic Neo"',
|
|
'"Noto Sans KR"',
|
|
'sans-serif',
|
|
],
|
|
mono: [
|
|
'"JetBrains Mono"',
|
|
'"Fira Code"',
|
|
'ui-monospace',
|
|
'SFMono-Regular',
|
|
'Menlo',
|
|
'Monaco',
|
|
'Consolas',
|
|
'monospace',
|
|
],
|
|
},
|
|
fontSize: {
|
|
// 한글 헤드라인: 행간 1.2+ (블록 글자의 숨 쉬는 공간), 자간 -0.01~-0.02em.
|
|
'hero': ['clamp(2.75rem, 5.5vw, 4.5rem)', { lineHeight: '1.22', letterSpacing: '-0.02em' }],
|
|
'display': ['clamp(2.25rem, 4vw, 3.5rem)', { lineHeight: '1.28', letterSpacing: '-0.015em' }],
|
|
'h2': ['clamp(1.75rem, 3vw, 2.5rem)', { lineHeight: '1.32', letterSpacing: '-0.012em' }],
|
|
'h3': ['1.375rem', { lineHeight: '1.4', letterSpacing: '-0.008em' }],
|
|
'micro': ['0.75rem', { lineHeight: '1.4', letterSpacing: '0.04em' }],
|
|
'nano': ['0.6875rem', { lineHeight: '1.4', letterSpacing: '0.05em' }],
|
|
},
|
|
spacing: {
|
|
'4.5': '1.125rem',
|
|
'13': '3.25rem',
|
|
'15': '3.75rem',
|
|
'18': '4.5rem',
|
|
'22': '5.5rem',
|
|
'26': '6.5rem',
|
|
'30': '7.5rem',
|
|
'34': '8.5rem',
|
|
},
|
|
borderRadius: {
|
|
'instrument': '4px',
|
|
'panel': '8px',
|
|
'card': '16px',
|
|
'2card': '20px',
|
|
'3card': '24px',
|
|
},
|
|
boxShadow: {
|
|
'chassis': '0 4px 20px rgba(0,0,0,0.4), inset 0 1px 0 rgba(255,255,255,0.06)',
|
|
},
|
|
animation: {
|
|
'glow-pulse': 'glow-pulse 2s ease-in-out infinite',
|
|
},
|
|
keyframes: {
|
|
'glow-pulse': {
|
|
'0%, 100%': { opacity: '0.4' },
|
|
'50%': { opacity: '1' },
|
|
},
|
|
},
|
|
},
|
|
},
|
|
plugins: [],
|
|
}
|