Card content goes here.
Quick Start
Add the single bundle:
Minimal page:
Theming
Set two variables on :root to customize everything:
All colors (hover states, backgrounds, borders) derive automatically via color-mix().
Available Variables
| Variable | Purpose |
|---|---|
--pico-primary | Brand/accent color |
--pico-secondary | Neutral (text, borders) |
--pico-border-radius | Corner rounding (default: 0.25rem) |
--pico-shadow | Box shadow (set to none to disable) |
Forms
Cards
Tables
| Name | Status | |
|---|---|---|
| Alice | alice@example.com | Active |
| Bob | bob@example.com | Inactive |
Progress
Accordion
Open section
Visible content here.
Closed section
Hidden content revealed on click.
Modal
Use native <dialog> with .showModal():
Dropdown
Light/Dark Mode
Automatic: Colors switch based on system preference. Works out of the box.
Force globally:
Invert sections:
Accessibility
Pico Ink provides built-in accessibility utilities and patterns.
Skip Link
Allow keyboard users to skip navigation:
Screen Reader Only
Hide content visually but keep it accessible to screen readers:
Reduced Motion
Animations are automatically disabled for users who prefer reduced motion.
High Contrast Mode
Colors adapt for users who need higher contrast.
Icons
Icons inherit text color and size (1em). Add aria-hidden="true" for decorative icons:
Available Icons
Navigation: arrow-right, arrow-left, arrow-up, arrow-down, chevron-right, chevron-left, chevron-up, chevron-down
Actions: plus, minus, x, check, edit, trash
UI: menu, more, search, filter
Status: info, warning, error, success
Common: user, settings, home, external, sun, moon, system
Layout
Use inline CSS for grids (no utility classes):
Responsive:
MapLibre GL
Isolate third-party widgets with data-no-pico:
Apache ECharts
Charts also use data-no-pico for isolation:
Escape Hatch
For any third-party widget, isolate from Pico styles:
Browser Support
| Feature | Chrome | Firefox | Safari |
|---|---|---|---|
light-dark() | 123+ | 120+ | 17.2+ |
| CSS nesting | 120+ | 117+ | 17.2+ |
| Cascade layers | 99+ | 97+ | 15.4+ |