Modifiers

Cross-cutting utility classes that alter the material weight, color, and interactivity of any component.

Modifiers are classes you can add to any Luminary component to adjust its visual properties. They work on both semantic elements and .glass-* classes.

Material Weight

.thin

Reduces the glass opacity and blur for a lighter, more transparent look.

Thin card

<button class="thin">Thin Button</button>
<div class="glass-card thin">Thin card</div>

.thick

Increases opacity and blur for a heavier, more frosted appearance.

Thick card

<button class="thick">Thick Button</button>
<div class="glass-card thick">Thick card</div>

Color & Tint

.vibrant

Tints the element with the accent color (--glass-accent, blue by default). Includes hover state changes.

<button class="vibrant">Vibrant (Accent)</button>
<button class="vibrant success">Success</button>
<button class="vibrant warning">Warning</button>
<button class="vibrant error">Error</button>

The .vibrant modifier supports semantic sub-modifiers:

  • .success — green (--glass-success)
  • .warning — orange (--glass-warning)
  • .error — red (--glass-error)

.glow

Adds an outer glow ring using the accent color. Also supports semantic sub-modifiers.

<button class="glow">Glow</button>
<button class="glow success">Success Glow</button>
<button class="glow warning">Warning Glow</button>
<button class="glow error">Error Glow</button>

Interactivity

.interactive

Makes any element hoverable with a lift effect and pressable with a scale-down. Useful for making cards or containers clickable.

Hover me

This card lifts on hover and scales on press.

<div class="glass-card interactive">
  <h4>Hover me</h4>
  <p>This card lifts on hover and scales on press.</p>
</div>
StateEffect
HovertranslateY(-2px) scale(1.01) + deeper shadow
ActivetranslateY(0) scale(0.98)

Typography Modifiers

.vibrant-text

Colors text with the accent color.

This text is accent-colored.

<p class="vibrant-text">This text is accent-colored.</p>
<!-- or -->
<span class="vibrant">Also works on spans.</span>

.muted

Colors text with the muted color (--glass-text-muted).

This text is muted.

<p class="muted">This text is muted.</p>
<label class="muted">Muted label</label>

Size Constraints

The .size-* modifiers constrain the max-width of any element. They follow the same scale as Tailwind’s max-w-* utilities and work on any semantic element or .glass-* class.

.size-xs — 320px

.size-sm — 384px

.size-md — 448px

.size-lg — 512px

.size-xl — 576px

<section class="size-sm">Small section (max 384px)</section>
<div class="glass-card size-lg">Large card (max 512px)</div>
<form class="size-md">Constrained form (max 448px)</form>

Full Scale

ClassMax Width
.size-xs320px (20rem)
.size-sm384px (24rem)
.size-md448px (28rem)
.size-lg512px (32rem)
.size-xl576px (36rem)
.size-2xl672px (42rem)
.size-3xl768px (48rem)
.size-4xl896px (56rem)
.size-5xl1024px (64rem)
.size-6xl1152px (72rem)
.size-7xl1280px (80rem)

All size modifiers also set width: 100% so they remain responsive — the element fills its container up to the max-width cap.

Compatibility Matrix

Modifiers work on these elements:

ModifierButtonsCardsNavBadgeStatAccordionAlertTab BarSkeletonDropdown
.thin✓✓✓✓✓✓✓✓✓✓
.thick✓✓✓—✓✓✓✓✓✓
.vibrant✓——✓✓✓✓✓✓✓
.glow✓——✓✓✓✓✓✓✓
.interactive—✓——✓—————
.size-*✓✓✓✓✓✓✓✓✓✓