Design System

Build products faster
with a solid foundation

A themeable starting point for every project. CSS custom properties, a consistent token system, and full light & dark mode support — so you can focus on what makes your product unique.

Explore components
Components

Create your account

All form input types shown below. Validation fires only after you interact with a field, never on page load.

Format: you@example.com
  • At least 8 characters
  • One uppercase letter
  • One number and one special character

0 / 300

0 hrs 40 hrs

PNG, JPG or WebP. Max 2 MB.

Interests
Plan
FAQ

Frequently asked questions

Everything you need to know to get up and running. Can't find what you're looking for? Reach out to us.

What is a design token and why should I use one?

Design tokens are named variables that store visual design decisions — colors, spacing, typography, and more. Instead of hard-coding #3b82f6 across hundreds of files, you reference --color-accent once. When you rebrand or tweak a theme, you change one variable and every component updates automatically.

How does dark mode work without any JavaScript?

The semantic color tokens use the CSS light-dark() function, which automatically resolves to the correct value based on the color-scheme declared on :root. The browser reads the user's system preference and switches the active scheme for you — no prefers-color-scheme media queries or class toggling needed. To add a manual toggle later, just set data-theme on <html>.

Why oklch instead of hex or hsl for colors?

oklch is a perceptually uniform color space, which means that stepping from shade 400 to shade 600 looks like an equal visual jump — unlike hex or hsl where the same numerical step can look very different depending on the hue. This gives you a more predictable and accessible color palette, especially when generating tints and shades programmatically.

Can I use these tokens with Tailwind utility classes?

Yes. Tokens defined inside @theme are automatically picked up by Tailwind v4 and turned into utility classes — for example --color-primary-500 becomes bg-primary-500 and text-primary-500. For semantic tokens on :root (like --color-canvas), use Tailwind v4's CSS variable shorthand: bg-(--color-canvas).

How do I override the brand color for a specific project?

Change the hue angle on the --color-primary-* scale inside @theme in style.css. The entire scale is built on a single oklch hue (currently 250 — a blue-violet). Swap that to 145 for green, 25 for red, or any angle you need. The semantic --color-accent tokens automatically inherit the updated brand color.

High Power Laser Ουρολογικό 100W 3ης γενιάς

H Επανάσταση στις Ουρολογικές Επεμβάσεις

Περισσότερα για το High Power Laser Ουρολογικό 100W 3ης γενιάς

Προσφορές & Πακέτα Check-up

Γαστρεντερολογική - Ενδοσκοπική Κλινική

Γαστρεντερολογική - Ενδοσκοπική Κλινική

Περισσότερα
Γαστρεντερολογική - Ενδοσκοπική Κλινική

Γαστρεντερολογική - Ενδοσκοπική Κλινική

Περισσότερα
Γαστρεντερολογική - Ενδοσκοπική Κλινική

Γαστρεντερολογική - Ενδοσκοπική Κλινική

Περισσότερα
Reference

Design Tokens

Every visual decision lives in one of these tokens. Change a value here and the whole UI updates.

Colors

Canvas & Surfaces

--color-canvas
--color-canvas-subtle
--color-surface
--color-surface-raised
--color-surface-overlay

Text

--color-heading
--color-foreground
--color-foreground-muted
--color-foreground-faint

Borders

--color-border-subtle
--color-border
--color-border-strong

Accent

--color-accent-subtle
--color-accent
--color-accent-hover
--color-on-accent

Success

--color-success-subtle
--color-success
--color-on-success

Warning

--color-warning-subtle
--color-warning
--color-on-warning

Error

--color-error-subtle
--color-error
--color-on-error

Info

--color-info-subtle
--color-info
--color-on-info

Border radius

rounded-interactive inputs, buttons
rounded-card cards, panels
rounded-overlay modals, dropdowns
rounded-badge badges, pills, tags

Shadows

shadow-interactive buttons, inputs on hover
shadow-card cards, raised surfaces
shadow-overlay dialogs, tooltips

Typography

--text-display 700 · clamp(2.5–4rem) · display

The quick brown fox

--text-title-lg 700 · clamp(1.75–2.5rem) · display

Section heading

--text-title-md 600 · clamp(1.25–1.75rem) · display

Card or panel title

--text-title-sm 600 · 1.125rem · primary

Subsection or sidebar title

--text-body-lg 400 · 1.125rem / 1.75 · primary

Lead paragraph or intro text that needs a little more presence.

--text-body 400 · 1rem / 1.65 · primary

Default body text used for paragraphs and general content throughout the page.

--text-body-sm 400 · 0.875rem / 1.6 · primary

Smaller body text for inputs, secondary descriptions, or dense UI.

--text-label 500 · 0.875rem / 1.25 · primary

Form labels, button text, nav items

--text-caption 400 · 0.75rem / 1.4 · primary

Hints, counters, timestamps, image captions

--text-code 400 · 0.875rem / 1.6 · mono

const token = 'var(--text-code)'

What's included

A complete theming starter kit

Everything is wired up and ready to customize. Swap token values — not markup — to match any brand in minutes.

  • Three-layer token architecture

    Primitive @theme → semantic :root → structural tokens. Change one value, update everywhere.

  • Zero-JS dark mode

    The light-dark() CSS function with color-scheme — no class toggling, no flash of unstyled content.

  • Tailwind v4 utilities

    Tokens in @theme auto-generate utility classes. Semantic tokens work via CSS variable shorthand.

  • CSS-native animations

    @starting-style, allow-discrete, and interpolate-size — smooth enter/exit with no JS animation libraries.