CSS framework · Design system

A framework that looks designed.

lucUI gives you editorial typography, reactive glass, and 40+ accessible components — with a light/dark system that actually ships. Build a real interface, not a prototype.

lucUI 2 · Prism v2.1.3 MIT npm · CDN · Git
hero.html
<button class="luc-btn luc-btn-primary">
  Get Started
</button>

<article class="luc-card luc-prism" data-luc-spotlight>
  <span class="luc-kicker">New perspective</span>
  <h2 class="luc-gradient-text">Build a feeling.</h2>
</article>
Prism Reactive

The code above renders real lucUI. No build step — just HTML and classes.

Foundation, not a template

What is lucUI?

lucUI is a CSS framework and a design system. It provides tokens, typography, and 40+ components so you don't build everything from scratch — but it leaves visual direction to you.

Use Manrope + DM Sans out of the box, or swap type and accent and keep the structure. The system is plain CSS: no Sass, no compiler, no lock-in.

Tokens Components Utilities Themes

CSS framework

Single file. Drop lucUI.min.css and lucUI.js into any HTML page. No bundler required.

Design system

Semantic tokens (--luc-surface, --luc-ink) keep components consistent across light and dark without rewriting.

Yours to shape

Prism glass is the signature — not a mandate. Override tokens, keep the layout and accessibility.

How it's built

Design philosophy

Restraint over excess

Glass, shadow, and blur are used sparingly. The hierarchy comes from type and space — not gradients for their own sake.

Tokens first

Brand primitives (--luca-navy, --studio-gold) and semantic aliases make theming trivial.

Accessible by default

Focus rings, keyboard navigation, ARIA wiring, and reduced-motion guards ship in the CSS and JS — no extra config.

Real components

Component showcase

Everything below is rendered with actual lucUI classes. No mocks.

Buttons

Tactile, four accents

.luc-btn-primary

Badges & Alerts

Status without noise

Gold Azure Tangerine Viridian
Info

Glass alert with specular edge. Use .luc-alert-info.

Gold

Accent alert for system notices.

Inputs

Glass fields, focus rings

Surfaces

Cards & Prism

Reactive spotlight on hover — add data-luc-spotlight to .luc-prism.

Base card

Blur + saturate surface.

Prism

Spotlight follows pointer.

Tabs

Keyboard accessible

Tabs are wired by lucUI.js — arrow keys, Home/End, and proper ARIA.

.luc-tabs.luc-tab.luc-tab-panel

More components

40+ in the bundle

Progress
BadgeChip
AAvatar

Also includes: dropdowns, modals, toasts, breadcrumbs, pagination, accordion, carousel, data tables, skeletons, timeline, stepper, pricing, testimonials, sidebar, search, datepicker, file upload, range slider, toggle, notifications, user card, cookie consent.

Browse components →
Copy, paste, ship

Code examples

Navbar

navbar.html
<nav class="luc-navbar">
  <div class="luc-navbar-container">
    <a class="luc-navbar-brand" href="/">lucUI</a>
    <div class="luc-navbar-links">
      <a class="luc-navbar-link" href="#">Docs</a>
    </div>
  </div>
</nav>
lucUIDocs

Form

form.html
<div class="luc-form-group">
  <label class="luc-label" for="email">Email</label>
  <input id="email" class="luc-input"
         placeholder="you@studio.com">
</div>
<button class="luc-btn luc-btn-primary">Continue</button>
Theme system

Light & dark, no rewrite.

Toggle with data-luc-theme-toggle. lucUI persists the choice and syncs localStorage automatically. Components use semantic tokens so they adapt without extra classes.

theme.html
<html data-theme="light">
<button class="luc-theme-toggle" data-luc-theme-toggle>
  <svg data-luc-theme-icon="moon"></svg>
  <svg data-luc-theme-icon="sun"></svg>
</button>
Dark (default)

Navy canvas, gold ink, azure focus.

--luc-canvas--luc-ink
Light

Warm paper, navy text, softer shadows. Same components.

data-theme="light"auto persist

This page is already theme-aware — try the toggle in the navigation.

Responsive

Built for every width

Grid and type use fluid scales and breakpoint-aware utilities. No horizontal scroll at any viewport — verified with touch-size tap targets.

Grid

.luc-grid-cols-auto and .luc-container handle 320px → 1400px. Columns collapse via CSS — no JS.

1
2
3

Typography

.luc-text-fluid-* scales headings fluidly. .luc-measure caps line length.

Fluid type

Touch

48px minimum tap targets on mobile, no text smaller than 16px in inputs, horizontal overflow guarded.

Why lucUI

Features that matter

No build required

One CSS file, one JS file. Works in plain HTML. No Sass, no bundler, no config.

Prism surfaces

Reactive spotlight and aurora drift — subtle, pointer-driven lighting, reduced-motion safe.

Command palette

Ctrl/Cmd+K palette with filtering and focus trapping included.

Accessible modals

Focus trap, Escape to close, body scroll lock, and trigger return — handled.

Design tokens

Spacing, radius, shadow, and glass scales exposed as --space-*, --radius-*, --glass-*.

40+ components

From pricing and testimonials to datepicker and data tables — consistent language, one install.

Install

Three ways to start

Use the real package name lucui-css-framework and the real repository.

Terminal — npm
npm install lucui-css-framework
HTML
<link rel="stylesheet" href="node_modules/lucui-css-framework/lucUI.min.css">
<script src="node_modules/lucui-css-framework/lucUI.js"></script>
HTML — CDN (jsDelivr)
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/lucui-css-framework@2.1.3/lucUI.min.css">
<script src="https://cdn.jsdelivr.net/npm/lucui-css-framework@2.1.3/lucUI.js"></script>

Also available via unpkg: https://unpkg.com/lucui-css-framework@2.1.3/lucUI.min.css

Terminal — Git
git clone https://github.com/lucaf1-15/lucUI.git
cd lucUI
# open lucUI.css or run npm run build for lucUI.min.css

Repository: github.com/lucaf1-15/lucUI · License: MIT

Learn by building

Tutorials

20 standalone, hands-on tutorials. Each is one page with live preview, copyable code and an exercise.

Browse all 20 → · 1–2 for every major area, 1 for every secondary group.

01 · 8 min

Build your first page

Stage, container, card, buttons and theme toggle.

Open tutorial →
02 · 10 min

Layout & Grid

Container 1400px, auto-fit and responsive collapse.

Open tutorial →
03 · 15 min

Bento Dashboard

12-col bento, metrics, wide/tall items.

Open tutorial →
04 · 12 min

Buttons deep-dive

All accents, sizes, groups, disabled/loading.

Open tutorial →
05 · 12 min

Forms & Validation

Glass inputs, selects, error hints.

Open tutorial →

20 tutorials

Also: Navbar, Theming, Modals, Tabs, Data Tables, Alerts, Carousel, Pricing, Timeline and Advanced Inputs.

Browse all →
Ready to build with lucUI?

Start with one HTML file.

No scaffolding, no config. Copy a snippet, see it, ship it.

lucUI 2 · v2.1.3 · GitHub · NPM