Design tokens

Paleta, tipografia e o tema Mantine pronto para aplicar no código.

Cores

Accent
#7B6CFF
Accent hover
#8D80FF
Fundo
#0D0E12
Superfície
#15171E
Elevado
#1C1F27
Borda
#23262F
Texto
#EDEFF5
Texto 2º
#A6ACBB
Sucesso
#3DD68C
Alerta
#F5B85C
Erro
#F0637E
Info
#5BC8F5

Tipografia

Space Grotesk — títulos
headings · 600/700 · tracking -0.02em
Instrument Sans — interface e corpo de texto, do label ao parágrafo.
body · 400–600 · 13.5–14.5px
JetBrains Mono — metadados, badges, medidas
mono · 400/500 · 10–12px

Raios e espaçamento

6px
inputs
8px
botões
12px
cards
20px
chips

Tema Mantine

// theme.ts — Mantine
import { createTheme } from '@mantine/core';

export const theme = createTheme({
  fontFamily: "'Instrument Sans', sans-serif",
  fontFamilyMonospace: "'JetBrains Mono', monospace",
  headings: {
    fontFamily: "'Space Grotesk', sans-serif",
    fontWeight: '600',
  },
  primaryColor: 'violet',
  primaryShade: { dark: 5 },
  colors: {
    violet: ['#F1EFFF','#DEDAFF','#C4BCFF',
      '#A79DFF','#8D80FF','#7B6CFF',
      '#6A5AE6','#5748C2','#463A9E','#362D7A'],
    dark: ['#EDEFF5','#A6ACBB','#8A8FA3',
      '#5A6070','#23262F','#1C1F27',
      '#15171E','#101218','#0D0E12','#0A0B0E'],
  },
  defaultRadius: 'md',
  radius: { xs:'6px', sm:'7px', md:'8px',
    lg:'12px', xl:'14px' },
  spacing: { xs:'6px', sm:'10px', md:'14px',
    lg:'20px', xl:'28px' },
  components: {
    Card: { defaultProps: { radius:'lg',
      withBorder:true } },
    Button: { defaultProps: { radius:'md' } },
  },
});
// <MantineProvider theme={theme}
//   defaultColorScheme="dark">