Skip to content

Want to skip the docs? Check out pandamastery.com - the best way to learn Panda CSS

Theme

Default Theme

The breakpoints, tokens, and keyframes Panda ships with, and how to change them.

Panda comes with a default theme that is used to generate the utilities for your project. It's provided by the Panda preset, and you can customize any part of it to match your design requirements. Put your changes under extend so the defaults stay. See Extending a preset.

Breakpoints

Panda ships with the following breakpoints by default:

sm
@media screen (min-width >= 40rem)
md
@media screen (min-width >= 48rem)
lg
@media screen (min-width >= 64rem)
xl
@media screen (min-width >= 80rem)
2xl
@media screen (min-width >= 96rem)

Tokens

A token is a named value. For example, brand instead of a generic hex color code, #EA8433. Panda groups tokens into categories like colors, spacing, and radii, each shown below with its defaults. See Tokens for the full token format.

Colors

Use the colors key in the token section of your Panda config file to customize the default color values.

💡

We recommend using numeric ranges from 50 to 900

panda.config.ts

import { defineConfig } from '@pandacss/dev'
 
export default defineConfig({
  theme: {
    extend: {
      tokens: {
        colors: {
          brand: { value: '#EA8433' }
        }
      }
    }
  }
})

Panda ships the Tailwind color palette, with eleven shades per hue. Click a swatch to copy its token name.

50
100
200
300
400
500
600
700
800
900
950
slate
gray
zinc
neutral
stone
mauve
olive
mist
taupe
red
orange
amber
yellow
lime
green
emerald
teal
cyan
sky
blue
indigo
violet
purple
fuchsia
pink
rose
base

Spacing

Use the spacing key in the theme section of your Panda config file to customize the default spacing values.

panda.config.ts

import { defineConfig } from '@pandacss/dev'
 
export default defineConfig({
  theme: {
    extend: {
      tokens: {
        spacing: {
          gutter: { value: '32px' }
        }
      }
    }
  }
})

Panda ships with the following spacing tokens by default:

Name

Value

Pixel

0

0rem

0px

0.5

0.125rem

2px

1

0.25rem

4px

1.5

0.375rem

6px

2

0.5rem

8px

2.5

0.625rem

10px

3

0.75rem

12px

3.5

0.875rem

14px

4

1rem

16px

4.5

1.125rem

18px

5

1.25rem

20px

5.5

1.375rem

22px

6

1.5rem

24px

7

1.75rem

28px

8

2rem

32px

9

2.25rem

36px

10

2.5rem

40px

11

2.75rem

44px

12

3rem

48px

14

3.5rem

56px

16

4rem

64px

20

5rem

80px

24

6rem

96px

28

7rem

112px

32

8rem

128px

36

9rem

144px

40

10rem

160px

44

11rem

176px

48

12rem

192px

52

13rem

208px

56

14rem

224px

60

15rem

240px

64

16rem

256px

72

18rem

288px

80

20rem

320px

96

24rem

384px

Border Radius

Use the radii key in the theme section of your Panda config file to customize the default border radius values.

xs

0.125rem (2px)

sm

0.25rem (4px)

md

0.375rem (6px)

lg

0.5rem (8px)

xl

0.75rem (12px)

2xl

1rem (16px)

3xl

1.5rem (24px)

4xl

2rem (32px)

full

9999px (9999px)

Shadows

Use the shadows key in the theme section of your Panda config file to customize the default box shadows values.

Panda ships with the following shadows by default:

2xs

0 1px rgb(0 0 0 / 0.05)

xs

0 1px 2px 0 rgb(0 0 0 / 0.05)

sm

0 1px 3px 0 rgb(0 0 0 / 0.1)

0 1px 2px -1px rgb(0 0 0 / 0.1)

md

0 4px 6px -1px rgb(0 0 0 / 0.1)

0 2px 4px -2px rgb(0 0 0 / 0.1)

lg

0 10px 15px -3px rgb(0 0 0 / 0.1)

0 4px 6px -4px rgb(0 0 0 / 0.1)

xl

0 20px 25px -5px rgb(0 0 0 / 0.1)

0 8px 10px -6px rgb(0 0 0 / 0.1)

2xl

0 25px 50px -12px rgb(0 0 0 / 0.25)

inner

inset 0 2px 4px 0 rgb(0 0 0 / 0.05)

inset-2xs

inset 0 1px rgb(0 0 0 / 0.05)

inset-xs

inset 0 1px 1px rgb(0 0 0 / 0.05)

inset-sm

inset 0 2px 4px rgb(0 0 0 / 0.05)

Sizing

Use the sizes key in the theme section of your Panda config file to customize the default sizing values.

panda.config.ts

import { defineConfig } from '@pandacss/dev'
 
export default defineConfig({
  theme: {
    extend: {
      tokens: {
        sizes: {
          icon: { value: '24px' }
        }
      }
    }
  }
})

Panda ships with the following sizing tokens by default, in addition with the values from the default Panda spacing tokens:

Name

Value

Pixel

md

28rem

448px

lg

32rem

512px

xl

36rem

576px

2xl

42rem

672px

3xl

48rem

768px

4xl

56rem

896px

prose

60ch

60ch

5xl

64rem

1024px

6xl

72rem

1152px

7xl

80rem

1280px

8xl

90rem

1440px

full

100%

100%

min

min-content

min-content

max

max-content

max-content

fit

fit-content

fit-content

Fonts

Use the fonts key in the theme object to customize the default font families.

panda.config.ts

import { defineConfig } from '@pandacss/dev'
 
export default defineConfig({
  theme: {
    extend: {
      tokens: {
        fonts: {
          marketing: { value: 'Inter Variable' }
        }
      }
    }
  }
})

Panda ships with the following font families tokens by default:

Ag

sans

ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"

Ag

serif

ui-serif,Georgia,Cambria,"Times New Roman",Times,serif

Ag

mono

ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace

Font Sizes

Use the fontSizes key in the theme object to customize the default font sizes.

panda.config.ts

import { defineConfig } from '@pandacss/dev'
 
export default defineConfig({
  theme: {
    extend: {
      tokens: {
        fontSizes: {
          big: { value: '80px' }
        }
      }
    }
  }
})

Panda ships with the following font size tokens by default:

2xs

0.5rem

Ag

xs

0.75rem

Ag

sm

0.875rem

Ag

md

1rem

Ag

lg

1.125rem

Ag

xl

1.25rem

Ag

2xl

1.5rem

Ag

3xl

1.875rem

Ag

4xl

2.25rem

Ag

5xl

3rem

Ag

6xl

3.75rem

Ag

7xl

4.5rem

Ag

8xl

6rem

Ag

9xl

8rem

Ag

Keyframes

Use the keyframes key in the theme section of your Panda config file to customize the default keyframes.

panda.config.ts

import { defineConfig } from '@pandacss/dev'
 
export default defineConfig({
  theme: {
    extend: {
      keyframes: {
        fadein: {
          '0%': { opacity: '0' },
          '100%': { opacity: '1' }
        },
        fadeout: {
          '0%': { opacity: '1' },
          '100%': { opacity: '0' }
        }
      }
    }
  }
})

Panda ships with the following keyframes by default:

spin

ping

pulse

bounce

To start from nothing instead of the default theme, see Minimal setup.

Edit this page on GitHubView as markdown
Last updated on