Install Fikir CSS
Add the package to your project with your package manager.
No build step required
Fikir CSS ships a pre-built dist/fikir.css. You don't need to configure PostCSS, Sass, or any preprocessor.
Import the stylesheet
One import. That's it.
In a bundler (Vite / webpack / Parcel):
In plain HTML:
Via CDN (no install):
Set the theme attribute
Fikir CSS uses data-theme on the root element to activate the color palette.
Without data-theme, the CSS custom properties won't resolve and you'll see unstyled output. Try toggling it:
Notice what happens to the background and text when data-theme is removed.
Your first component
Use semantic class names — no configuration needed.
Add a card with form:
We'll never share your email.
Dark mode in one line
Toggle data-theme on <html> — every component updates automatically.
Click to toggle the whole page:
No JS framework needed
Because state is driven by HTML attributes, dark mode works the same in React, Vue, Svelte, or plain HTML.
Typed recipe resolvers
Generate class strings from typed options — great for React/Vue/Svelte component props.
In a React component:
Success
resolveAlert({ tone: "success" }) → "alert alert-success"
You're set up! 🎉
Here's a summary of what you learned and where to go next.
What you've done
fikir-css
data-theme for theming
fikir-css/tooling
Where to go next
Component playground →
Interactive demos of all 82 surfaces
Token explorer →
Visual reference for all design tokens
Adding to an existing project →
@layer strategy, Bootstrap/Tailwind side-by-side
Overlay JS helpers →
Focus trap, keyboard dismiss, roving tabindex