Vitra · CSS Framework · v1.11.0

Vitra CSS

Cinematic glassmorphism. Zero dependencies, pure CSS.

Quick Start

Beautiful by default. Instant to ship.

Glassmorphism, cinematic animations, and a full design system — all in a single lightweight CSS file. Drop two lines into any HTML page and start building.

1. Add the stylesheet
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/DesvoSoft/Vitra@v1.11.0/dist/vitra.min.css">
2. Add the script (optional — for modals, tooltips, particles, toasts, dropdowns & more)
<script src="https://cdn.jsdelivr.net/gh/DesvoSoft/Vitra@v1.11.0/dist/vitra.min.js"></script>
3. Use a component
<div class="vitra-card vitra-glass">Hello, Vitra!</div>
That's it. Full example:
<!DOCTYPE html>
<html data-theme="auto">
<head>
  <meta charset="UTF-8">
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/DesvoSoft/Vitra@v1.11.0/dist/vitra.min.css">
</head>
<body>
  <div class="vitra-card vitra-glass">Hello, Vitra!</div>
  <script src="https://cdn.jsdelivr.net/gh/DesvoSoft/Vitra@v1.11.0/dist/vitra.min.js"></script>
</body>
</html>

That's it — no build step, no configuration. GitHub →

Cinematic Effects

Five premium visual effects added in v1.4.0 — inspired by Stripe, Linear, and Raycast aesthetics.

NEW Animated Mesh Gradient

Radial mesh gradient with 3 blobs that shift position continuously via vitra-mesh-shift keyframes.

Live Preview 16s animation loop

NEW Floating Glow Orbs

Large blur spheres (300–400px) with 80px blur that float in parallax via vitra-float keyframes.

Floating Orbs 18–25s parallax float

NEW Animated Gradient Text

Text with animated gradient via background-clip: text and vitra-text-shift keyframes.

Edit this text — it uses gradient!

NEW Spinning Border Glow

Animated conic-gradient border via oversized ::before with spinning keyframe. Inner area masked via ::after.

Border Glow Card Conic-gradient rotating

NEW Scenery

A CSS-only ambient mountain landscape, now eight layers deep. SVG-silhouette ridgelines at three depths, drifting clouds, a dark-theme star field, a sun that catches the peaks, atmospheric haze, and differential-speed parallax — glass panels become windows onto a scene. Zero JS, zero images, colors derived from the active theme.

A window, not a card The mountains, clouds, and stars all drift behind this glass at different speeds — same direction, so it reads as one consistent wind. Switch themes — the whole scene re-colors itself.

Markup

Eight fixed child layers; use .vitra-scenery for a full-page backdrop or .vitra-scenery-inline inside any position: relative; overflow: hidden container. .vitra-scenery-stars is safe to always include — it's opacity-gated to 0 on light-scheme themes. Tune with --vitra-scenery-speed, --vitra-scenery-hue, and per-layer blur/opacity tokens.

<div class="vitra-scenery" aria-hidden="true">
  <div class="vitra-scenery-sky"></div>
  <div class="vitra-scenery-clouds"></div>
  <div class="vitra-scenery-stars"></div>
  <div class="vitra-scenery-halo"></div>
  <div class="vitra-scenery-ridge-far"></div>
  <div class="vitra-scenery-ridge-mid"></div>
  <div class="vitra-scenery-ridge-near"></div>
  <div class="vitra-scenery-grain"></div>
</div>

Theme Studio

All 7 themes with tinted neutrals — every surface carries a trace of the accent hue.

Dark

Surface Card

This card uses --vitra-color-surface — notice the subtle tint.

Accent
Glass surface with backdrop-filter
Light
Dark
Pastel
Neon
Ocean
Emerald
Click a swatch to preview the theme — use the navbar dropdown to apply it permanently

Modern CSS Features

Vitra leverages 2026 CSS APIs with progressive enhancement fallbacks.

Popover Native Popover API

Uses showPopover() when supported, falls back to class-based toggle.

Entry @starting-style

Elements animate in from their initial state using @starting-style.

Color oklch() Colors

Perceptually uniform color interpolation via --vitra-color-accent-oklch.

oklch lightness ramp — perceptually uniform

CSS Shaders

Pure-CSS shader-like effects — no WebGL, no Three.js, no JS canvas. Progressive enhancement with modern CSS APIs.

NEW Noise Overlay

Grain texture via SVG feTurbulence filter rendered as a data URI background. mix-blend-mode: overlay for cinematic film grain.

NEW Progress Ring

Circular progress indicator using conic-gradient with smooth animation via @property --vitra-progress-ring-value. Set CSS variable as percentage.

0%
75%

NEW Shape Morph

clip-path polygon morphing animation: diamond → square → triangle → hexagon → diamond. 12s ease-in-out loop.

NEW Gradient Rotate

Animated conic-gradient border using @property --vitra-border-glow-angle for smooth angle interpolation. Use .vitra-gradient-rotate-fast or .vitra-gradient-rotate-slow variants.

Rotating Border

4s per rotation

Fast Spin

2s per rotation

Slow Spin

8s per rotation

NEW Scroll-Driven Reveal

Uses animation-timeline: view() for scroll-driven entry animations. Elements fade + slide as they enter the viewport. Progressive enhancement — falls back gracefully in unsupported browsers.

Fade Up

From Left

From Right

Scale In

NEW light-dark() Utility

Native CSS light-dark() function for single-declaration theme switching. These boxes adapt automatically without @media (prefers-color-scheme).

light-dark bg/text

Auto-switches with OS preference

color-mix accent

15% accent + bg

color-mix surface

10% accent + surface

Design Tokens

All --vitra-* custom properties update instantly when switching themes.

Color Tokens

Spacing Scale

Border Radius

Shadows

Glassmorphism

Frosted glass with backdrop-filter and automatic fallbacks.

Standard Glass

Default glass effect.

Strong Glass

Enhanced blur.

Subtle Glass

Gentle overlay effect.

Colored Border

Glass with accent border.

Glass Cards with Hover

Glass Card 1

Hover to see lift + glow.

Glass Card 2

Cards with glassmorphism.

Glass Card 3

Responsive + accessible.

Configurable Particles

Floating particles with glow effects. Configurable via JS API or data attributes.

Particle Controls

Device limit: 40 (15 on mobile)
Active: 0 | Available: 40 | Max: 40

Particles will appear here when spawned

Data-Attribute Particles

Particles can also be configured via HTML data-vitra-particles attributes:

<div data-vitra-particles="5" data-vitra-particle-color="#ff6b6b">
  <!-- 5 red particles appear here -->
</div>

<!-- v1.9: opt-in falling direction -->
<div data-vitra-particles="8" data-vitra-particle-direction="down">
  <!-- 8 particles fade in and drift downward, then fade out -->
</div>

Motion & Animations

Reveal animations, hover interactions, and full prefers-reduced-motion support.

Reveal on Scroll

Uses vitra-reveal — appears when scrolled into view.

Staggered Reveal

Cascading entry via stagger delay.

Smooth Transitions

Respects prefers-reduced-motion.

Hover Interactions

Hover Lift

Lifts with shadow

Hover Glow

Glows on hover

Hover Scale

Scales on hover

Accessibility: prefers-reduced-motion

Vitra automatically disables animations when users prefer reduced motion.

Test: Enable "Reduce motion" in your OS settings, then refresh. All animations will be disabled.

Component Showcase

All Vitra components with token-only styling, glass variants, and built-in accessibility.

Buttons

Cards

Standard Card

Surface + border.

Glass Card

Glassmorphism card.

Hover Card

Lifts on hover.

Form Elements

Tabs

Panel 1

Content for the first tab.

Modals

Focus trapping, ESC close, overlay click close.

Tooltips

Toasts

Programmatic notifications with auto-dismiss and type variants.

Progress Bars

Badges

Default Primary Success Warning Error Info
Small Default Large

Avatars

JD
AB
CD

Typography Scale

--vitra-font-size-xs: The quick brown fox

--vitra-font-size-sm: The quick brown fox

--vitra-font-size-base: The quick brown fox

--vitra-font-size-lg: The quick brown fox

--vitra-font-size-xl: The quick brown fox

--vitra-font-size-2xl: The quick brown fox

Navigation