/* LocalAI Typography System */ /* Font-face declarations and typography variables */ /* Playfair Display - Display/Headline Font */ @font-face { font-family: 'Playfair Display'; src: url('/static/assets/playfair-display-regular.ttf') format('truetype'); font-weight: 400; font-style: normal; font-display: swap; } @font-face { font-family: 'Playfair Display'; src: url('/static/assets/playfair-display-semibold.ttf') format('truetype'); font-weight: 600; font-style: normal; font-display: swap; } @font-face { font-family: 'Playfair Display'; src: url('/static/assets/playfair-display-bold.ttf') format('truetype'); font-weight: 700; font-style: normal; font-display: swap; } /* Space Grotesk - Body Font */ @font-face { font-family: 'Space Grotesk'; src: url('/static/assets/space-grotesk-regular.ttf') format('truetype'); font-weight: 400; font-style: normal; font-display: swap; } @font-face { font-family: 'Space Grotesk'; src: url('/static/assets/space-grotesk-medium.ttf') format('truetype'); font-weight: 500; font-style: normal; font-display: swap; } @font-face { font-family: 'Space Grotesk'; src: url('/static/assets/space-grotesk-semibold.ttf') format('truetype'); font-weight: 600; font-style: normal; font-display: swap; } @font-face { font-family: 'Space Grotesk'; src: url('/static/assets/space-grotesk-bold.ttf') format('truetype'); font-weight: 700; font-style: normal; font-display: swap; } /* JetBrains Mono - Monospace Font */ @font-face { font-family: 'JetBrains Mono'; src: url('/static/assets/jetbrains-mono-regular.ttf') format('truetype'); font-weight: 400; font-style: normal; font-display: swap; } @font-face { font-family: 'JetBrains Mono'; src: url('/static/assets/jetbrains-mono-medium.ttf') format('truetype'); font-weight: 500; font-style: normal; font-display: swap; } @font-face { font-family: 'JetBrains Mono'; src: url('/static/assets/jetbrains-mono-semibold.ttf') format('truetype'); font-weight: 600; font-style: normal; font-display: swap; } :root { /* Font Families */ --font-display: 'Playfair Display', serif; --font-body: 'Space Grotesk', -apple-system, BlinkMacSystemFont, sans-serif; --font-mono: 'JetBrains Mono', 'Fira Code', monospace; /* Font Sizes */ --text-xs: 0.75rem; /* 12px */ --text-sm: 0.875rem; /* 14px */ --text-base: 1rem; /* 16px */ --text-lg: 1.125rem; /* 18px */ --text-xl: 1.25rem; /* 20px */ --text-2xl: 1.5rem; /* 24px */ --text-3xl: 1.875rem; /* 30px */ --text-4xl: 2.25rem; /* 36px */ --text-5xl: 3rem; /* 48px */ --text-6xl: 3.75rem; /* 60px */ --text-7xl: 4.5rem; /* 72px */ /* Line Heights */ --leading-tight: 1.25; --leading-snug: 1.375; --leading-normal: 1.5; --leading-relaxed: 1.625; --leading-loose: 2; /* Font Weights */ --weight-light: 300; --weight-normal: 400; --weight-medium: 500; --weight-semibold: 600; --weight-bold: 700; --weight-extrabold: 800; } /* Base typography */ body { font-family: var(--font-body); font-size: var(--text-base); line-height: var(--leading-normal); color: var(--color-text-primary); } /* Headings */ h1, .h1 { font-family: var(--font-body); font-size: var(--text-4xl); font-weight: var(--weight-bold); line-height: var(--leading-tight); letter-spacing: -0.02em; } h2, .h2 { font-family: var(--font-body); font-size: var(--text-3xl); font-weight: var(--weight-semibold); line-height: var(--leading-snug); letter-spacing: -0.01em; } h3, .h3 { font-family: var(--font-body); font-size: var(--text-2xl); font-weight: var(--weight-semibold); line-height: var(--leading-snug); } h4, .h4 { font-family: var(--font-body); font-size: var(--text-xl); font-weight: var(--weight-semibold); line-height: var(--leading-normal); } h5, .h5 { font-family: var(--font-body); font-size: var(--text-lg); font-weight: var(--weight-medium); line-height: var(--leading-normal); } h6, .h6 { font-family: var(--font-body); font-size: var(--text-base); font-weight: var(--weight-medium); line-height: var(--leading-normal); } /* Code and monospace */ code, pre, kbd, samp { font-family: var(--font-mono); font-size: 0.9em; } /* Responsive typography adjustments */ @media (max-width: 640px) { h1, .h1 { font-size: var(--text-3xl); } h2, .h2 { font-size: var(--text-2xl); } h3, .h3 { font-size: var(--text-xl); } }