Skip to main content

CSS Variables Reference

This document provides a comprehensive reference for all CSS custom properties (CSS variables) available in the design system.

Table of Contents


Font Size Tokens

Typography scale for consistent text sizing throughout the application.
VariableValuePurpose
--font-size-500.625rem (10px)Smallest text size for fine print or legal text
--font-size-750.75rem (12px)Small text, captions, or helper text
--font-size-1000.875rem (14px)Body text (small), labels, default size
--font-size-2001rem (16px)Default body text size
--font-size-3001.125rem (18px)Large body text, small headings
--font-size-4001.25rem (20px)Subheadings
--font-size-5001.375rem (22px)Medium headings (H3)
--font-size-6001.875rem (30px)Large headings (H2)
--font-size-7002.5rem (40px)Extra large headings (H1)
--font-size-8003.375rem (54px)Display text (large)
--font-size-9004.5rem (72px)Display text (extra large)
--font-size-10006rem (96px)Hero text, largest display size

Font Weight Tokens

Font weight scale for typography hierarchy.
VariableValuePurpose
--font-weight-light300Light text weight for decorative or large text
--font-weight-regular400Regular text weight for body copy
--font-weight-medium500Medium text weight for labels and emphasis
--font-weight-bold700Bold text weight for headings and strong emphasis

Spacing Tokens

Consistent spacing scale for margins, padding, and gaps.
VariableValuePurpose
--space-000rem (0px)No spacing
--space-500.125rem (2px)Minimum spacing, subtle separations
--space-750.25rem (4px)Extra small spacing
--space-900.375rem (6px)Small spacing variant
--space-1000.5rem (8px)Small spacing (base unit)
--space-2000.75rem (12px)Small-medium spacing
--space-2500.875rem (14px)Medium spacing variant
--space-3001rem (16px)Medium spacing (1 unit)
--space-3501.25rem (20px)Medium-large spacing
--space-4001.5rem (24px)Large spacing
--space-5002rem (32px)Extra large spacing
--space-5502.25rem (36px)Extra large spacing variant
--space-6002.5rem (40px)Double extra large spacing
--space-7003rem (48px)Section spacing (small)
--space-8004rem (64px)Section spacing (medium)
--space-9005rem (80px)Section spacing (large)
--space-10006rem (96px)Section spacing (extra large)

Corner Radius Tokens

Border radius values for consistent rounded corners.
VariableValuePurpose
--corner-radius-000rem (0px)No rounding (square corners)
--corner-radius-500.03125rem (0.5px)Minimal rounding
--corner-radius-750.25rem (4px)Small rounding for buttons, inputs
--corner-radius-1000.375rem (6px)Medium rounding
--corner-radius-2000.5rem (8px)Standard rounding for cards, containers
--corner-radius-3000.625rem (10px)Large rounding
--corner-radius-4000.75rem (12px)Extra large rounding
--corner-radius-5001rem (16px)Maximum standard rounding
--corner-radius-9999100vhPill shape (fully rounded)

Line Height Tokens

Line height values for optimal text readability.
VariableValuePurpose
--lineHeight-1001.2Tight line height for headings
--lineHeight-2001.3Compact line height for UI text
--lineHeight-3001.5Default line height for body text
--lineHeight-4001.7Loose line height for enhanced readability

Border Width Tokens

Border width scale for consistent stroke weights.
VariableValuePurpose
--borderWidth-1001pxThin border (default)
--borderWidth-2002pxMedium border
--borderWidth-3003pxThick border (focus states)
--borderWidth-4004pxExtra thick border

Opacity Tokens

Opacity scale for transparency effects.
VariableValuePurpose
--opacity-000Fully transparent
--opacity-100.110% opacity
--opacity-200.220% opacity
--opacity-300.330% opacity
--opacity-400.440% opacity
--opacity-500.550% opacity (half transparent)
--opacity-600.660% opacity (disabled state)
--opacity-700.770% opacity
--opacity-800.880% opacity
--opacity-900.990% opacity
--opacity-1001Fully opaque

Tint Tokens

White overlay colors with varying opacity levels for creating lighter variants.
VariableColorPurpose
--tint-100rgba(255, 255, 255, 0.9)Lightest tint (90% white)
--tint-200rgba(255, 255, 255, 0.8)Very light tint (80% white)
--tint-300rgba(255, 255, 255, 0.7)Light tint (70% white)
--tint-400rgba(255, 255, 255, 0.6)Medium-light tint (60% white)
--tint-500rgba(255, 255, 255, 0.5)Medium tint (50% white)
--tint-600rgba(255, 255, 255, 0.4)Medium-dark tint (40% white)
--tint-700rgba(255, 255, 255, 0.3)Dark tint (30% white)
--tint-800rgba(255, 255, 255, 0.2)Very dark tint (20% white)
--tint-900rgba(255, 255, 255, 0.1)Darkest tint (10% white)
--tint-1000rgba(255, 255, 255, 0)Transparent

Shade Tokens

Black overlay colors with varying opacity levels for creating darker variants.
VariableColorPurpose
--shade-100rgba(0, 0, 0, 0.9)Darkest shade (90% black)
--shade-200rgba(0, 0, 0, 0.8)Very dark shade (80% black) - used for modal backgrounds
--shade-300rgba(0, 0, 0, 0.7)Dark shade (70% black)
--shade-400rgba(0, 0, 0, 0.6)Medium-dark shade (60% black)
--shade-500rgba(0, 0, 0, 0.5)Medium shade (50% black)
--shade-600rgba(0, 0, 0, 0.4)Medium-light shade (40% black)
--shade-700rgba(0, 0, 0, 0.3)Light shade (30% black)
--shade-800rgba(0, 0, 0, 0.2)Very light shade (20% black)
--shade-900rgba(0, 0, 0, 0.1)Lightest shade (10% black)
--shade-1000rgba(0, 0, 0, 0)Transparent

Color Ramp Tokens

Full color palette with granular shades. Each color family has values from 000 (lightest) to 999 (darkest).

Neutral (Gray) Colors

VariableHex ValuePurpose
--color-neutral-000#ffffffPure white
--color-neutral-025#f7f7f7Near white
--color-neutral-050#f5f5f5Background, very light gray
--color-neutral-075#e9e9e9Light border color
--color-neutral-100#e3e3e3Border color
--color-neutral-150#d4d4d4Subtle border
--color-neutral-200#c6c6c6Light gray
--color-neutral-250#b9b9b9Gray variant
--color-neutral-300#abababMedium-light gray
--color-neutral-350#9d9d9dGray variant
--color-neutral-400#909090Medium gray
--color-neutral-450#848484Gray variant
--color-neutral-500#777777Mid-tone gray, muted text
--color-neutral-550#6a6a6aDark-medium gray
--color-neutral-600#5e5e5eSecondary text color
--color-neutral-650#525252Gray variant
--color-neutral-700#474747Dark gray
--color-neutral-750#3b3b3bVery dark gray
--color-neutral-800#303030Near black gray
--color-neutral-850#262626Gray variant
--color-neutral-900#1c1c1cAlmost black
--color-neutral-950#111111Near pure black, primary text
--color-neutral-999#000000Pure black

Neutral Warm (Gray Warm) Colors

VariableHex ValuePurpose
--color-neutral-warm-000#ffffffPure white
--color-neutral-warm-025#f9f7f6Warm near white
--color-neutral-warm-050#f6f4f2Warm background
--color-neutral-warm-075#ece9e5Warm light gray
--color-neutral-warm-100#e6e2ddWarm border
--color-neutral-warm-150 to --color-neutral-warm-999Various warm graysWarm-toned neutral scale

Orange Colors (Brand Primary)

VariableHex ValuePurpose
--color-orange-000#ffffffPure white
--color-orange-025#fff5f2Lightest orange tint
--color-orange-050#ffece5Very light orange
--color-orange-075#ffe2d8Light orange background
--color-orange-100#ffd9cbLight orange
--color-orange-150 to --color-orange-350VariousOrange scale variants
--color-orange-400#ff5308Brand orange (primary)
--color-orange-450#ec4c07Brand orange hover
--color-orange-500#d64405Brand orange active
--color-orange-550 to --color-orange-999VariousDarker orange variants

Yellow Colors

VariableHex ValuePurpose
--color-yellow-000#ffffffPure white
--color-yellow-025#fff8e3Lightest yellow
--color-yellow-050 to --color-yellow-100VariousLight yellows
--color-yellow-150#ffd040Warning yellow background
--color-yellow-200 to --color-yellow-700VariousYellow scale
--color-yellow-750#493a0bWarning yellow foreground
--color-yellow-800 to --color-yellow-999VariousDark yellow/gold variants

Blue Colors

VariableHex ValuePurpose
--color-blue-000#ffffffPure white
--color-blue-025#f4f8ffLightest blue
--color-blue-050 to --color-blue-450VariousLight to medium blues
--color-blue-500#206eecInfo/link blue, focus color
--color-blue-550 to --color-blue-999VariousDarker blue variants

Red Colors

VariableHex ValuePurpose
--color-red-000#ffffffPure white
--color-red-025#fff5f4Lightest red
--color-red-050 to --color-red-450VariousLight to medium reds
--color-red-500#ef0028Error/destructive red
--color-red-550#d70023Destructive red (active)
--color-red-600 to --color-red-999VariousDarker red variants

Green Colors

VariableHex ValuePurpose
--color-green-000#ffffffPure white
--color-green-025#f2faefLightest green
--color-green-050 to --color-green-450VariousLight to medium greens
--color-green-500#368813Success green (secondary)
--color-green-550#2f7a10Success green (active)
--color-green-600 to --color-green-999VariousDarker green variants

Purple Colors

VariableHex ValuePurpose
--color-purple-000#ffffffPure white
--color-purple-025 to --color-purple-999Various purplesComplete purple scale for decorative use

Pink Colors

VariableHex ValuePurpose
--color-pink-000#ffffffPure white
--color-pink-025 to --color-pink-999Various pinksComplete pink scale for decorative use

Surface Tokens

Semantic tokens for backgrounds, borders, and text on various surfaces.

Primary Surface

VariableColorPurpose
--surface-primary-background#ffffff (gray-000)Main background color for the application
--surface-primary-foreground#111111 (gray-950)Primary text color on main background
--surface-primary-border#e9e9e9 (gray-075)Borders on primary surface
--surface-primary-muted-foreground#777777 (gray-500)Muted/secondary text on primary surface
--surface-primary-muted-background#f5f5f5 (gray-050)Muted background areas

Secondary Surface

VariableColorPurpose
--surface-secondary-background#f7f7f7 (gray-025)Secondary surface background (cards, panels)
--surface-secondary-foreground#5e5e5e (gray-600)Text on secondary surfaces
--surface-secondary-border#e3e3e3 (gray-100)Borders on secondary surfaces

Auxiliary Surface

VariableColorPurpose
--surface-auxiliary-background#f5f5f5 (gray-050)Tertiary surface background
--surface-auxiliary-foregroundvar(—surface-primary-background)Text on auxiliary surfaces
--surface-auxiliary-border#d4d4d4 (gray-150)Borders on auxiliary surfaces
VariableColorPurpose
--surface-modal-backgroundrgba(0, 0, 0, 0.8)Modal overlay/backdrop color

Action Tokens

Semantic tokens for interactive elements like buttons and links.

Default Actions (Primary Buttons)

VariableColorPurpose
--action-default-background#1c1c1c (gray-900)Default button background
--action-default-foreground#ffffff (gray-000)Default button text
--action-default-hover-background#474747 (gray-700)Default button hover state
--action-default-hover-foreground#ffffff (gray-000)Default button hover text
--action-default-active-background#303030 (gray-800)Default button active/pressed state
--action-default-active-foreground#ffffff (gray-000)Default button active text

Selected State

VariableColorPurpose
--action-selected-background#f5f5f5 (gray-050)Selected item background
--action-focus-foreground#111111 (gray-950)Focus state text color

Secondary Actions

VariableColorPurpose
--action-secondary-background#f5f5f5 (gray-050)Secondary button background
--action-secondary-foregroundvar(—surface-primary-foreground)Secondary button text
--action-secondary-hover-background#f7f7f7 (gray-025)Secondary button hover
--action-secondary-hover-foreground#111111 (gray-950)Secondary button hover text
--action-secondary-active-background#e9e9e9 (gray-075)Secondary button active state
--action-secondary-active-foreground#111111 (gray-950)Secondary button active text

Destructive Actions

VariableColorPurpose
--action-destructive-background#ef0028 (red-500)Destructive button background
--action-destructive-foreground#ffffff (gray-000)Destructive button text
--action-destructive-hover-background#ff002b (red-450)Destructive button hover
--action-destructive-hover-foreground#ffffff (gray-000)Destructive button hover text
--action-destructive-active-background#d70023 (red-550)Destructive button active state
--action-destructive-active-foreground#ffffff (gray-000)Destructive button active text

Outline Actions

VariableColorPurpose
--action-outline-background#ffffff (gray-000)Outline button background
--action-outline-foregroundvar(—surface-primary-foreground)Outline button text
--action-outline-hover-background#f5f5f5 (gray-050)Outline button hover
--action-outline-active-foreground#e9e9e9 (gray-075)Outline button active text
--action-outline-border#e3e3e3 (gray-100)Outline button border

Ghost Actions

VariableColorPurpose
--action-ghost-background#ffffff (gray-000)Ghost button background
--action-ghost-foregroundvar(—surface-primary-foreground)Ghost button text
--action-ghost-hover-background#f5f5f5 (gray-050)Ghost button hover state
VariableColorPurpose
--action-link-foreground#206eec (blue-500)Link text color
--action-link-hover-foreground#1859c2 (blue-600)Link hover color

Control Tokens

Semantic tokens for form controls (checkboxes, radio buttons, switches, inputs).
VariableColorPurpose
--control-background#ffffff (gray-000)Input/control background
--control-border#e3e3e3 (gray-100)Input/control border
--control-focusvar(—surface-primary-foreground)Control focus state color
--control-selected-background#111111 (gray-950)Selected control background (checked)
--control-selected-foreground#ffffff (gray-000)Selected control foreground (checkmark)
--control-selected-border#111111 (gray-950)Selected control border
--control-unselected-background#ffffff (gray-000)Unselected control background
--control-unselected-border#6a6a6a (gray-550)Unselected control border
--control-switch-background#e3e3e3 (gray-100)Switch toggle background (off state)

Feedback Tokens

Semantic tokens for alerts, toasts, badges, and status indicators.

Default Feedback

VariableColorPurpose
--feedback-default-background#1c1c1c (gray-900)Default feedback background
--feedback-default-foreground#ffffff (gray-000)Default feedback text
--feedback-default-focusvar(—surface-primary-foreground)Default feedback focus

Secondary Feedback

VariableColorPurpose
--feedback-secondary-background#f5f5f5 (gray-050)Secondary feedback background
--feedback-secondary-foregroundvar(—surface-primary-foreground)Secondary feedback text

Outline Feedback

VariableColorPurpose
--feedback-outline-background#ffffff (gray-000)Outline feedback background
--feedback-outline-foregroundvar(—surface-primary-foreground)Outline feedback text
--feedback-outline-border#e9e9e9 (gray-075)Outline feedback border

Info Feedback (Blue)

VariableColorPurpose
--feedback-info-background#206eec (blue-500)Info alert background (filled)
--feedback-info-foreground#ffffff (gray-000)Info alert text (filled)
--feedback-info-secondary-background#ffffff (gray-000)Info alert background (outlined)
--feedback-info-secondary-foreground#206eec (blue-500)Info alert text (outlined)

Success Feedback (Green)

VariableColorPurpose
--feedback-success-background#2f7a10 (green-550)Success alert background (filled)
--feedback-success-foreground#ffffff (gray-000)Success alert text (filled)
--feedback-success-secondary-background#ffffff (gray-000)Success alert background (outlined)
--feedback-success-secondary-foreground#368813 (green-500)Success alert text (outlined)

Warning Feedback (Yellow)

VariableColorPurpose
--feedback-warning-background#ffd040 (yellow-150)Warning alert background (filled)
--feedback-warning-foreground#493a0b (yellow-750)Warning alert text (filled)
--feedback-warning-secondary-background#3b3b3b (gray-750)Warning alert background (dark variant)
--feedback-warning-secondary-foreground#ffd040 (yellow-150)Warning alert text (dark variant)

Critical Feedback (Red)

VariableColorPurpose
--feedback-critical-background#d70023 (red-550)Critical/error alert background (filled)
--feedback-critical-foreground#ffffff (gray-000)Critical/error alert text (filled)
--feedback-critical-secondary-background#ffffff (gray-000)Critical/error alert background (outlined)
--feedback-critical-secondary-foreground#ef0028 (red-500)Critical/error alert text (outlined)

Shadow Tokens

Box shadow and drop shadow tokens for elevation and depth.

Box Shadows

VariableValuePurpose
--shadow-default0px 1px 3px 0px rgba(0, 0, 0, 0.10), 0px 1px 2px 0px rgba(0, 0, 0, 0.06)Default shadow for cards and elevated elements
--shadow-sm0px 1px 2px 0px rgba(0, 0, 0, 0.05)Small shadow for subtle elevation
--shadow-md0px 4px 6px -1px rgba(0, 0, 0, 0.10), 0px 2px 4px -1px rgba(0, 0, 0, 0.06)Medium shadow for dropdowns and popovers
--shadow-lrg0px 10px 15px -3px rgba(0, 0, 0, 0.10), 0px 4px 6px -2px rgba(0, 0, 0, 0.05)Large shadow for modals and prominent elements

Drop Shadows (for filter property)

VariableValuePurpose
--dropshadow-defaultdrop-shadow(0px 1px 3px rgba(0, 0, 0, 0.10)) drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.06))Default drop shadow filter
--dropshadow-smdrop-shadow(0px 1px 2px rgba(0, 0, 0, 0.05))Small drop shadow filter
--dropshadow-mddrop-shadow(0px 4px 6px rgba(0, 0, 0, 0.10)) drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.06))Medium drop shadow filter
--dropshadow-lrgdrop-shadow(0px 10px 15px rgba(0, 0, 0, 0.10)) drop-shadow(0px 4px 6px rgba(0, 0, 0, 0.05))Large drop shadow filter

Other Tokens

Focus and Disabled States

VariableValuePurpose
--focus-color#c6c6c6 (gray-200)Focus ring color
--focus-widthvar(—borderWidth-300)Focus ring width (3px)
--disabledvar(—opacity-60)Opacity for disabled elements (60%)

Animation/Transition (Reduced Motion Support)

VariableValuePurpose
--tx-svariesShort transition duration (0s if prefers-reduced-motion)
--tx-mvariesMedium transition duration (0s if prefers-reduced-motion)
--tx-lvariesLong transition duration (0s if prefers-reduced-motion)
--tx-xvariesExtra long transition duration (0s if prefers-reduced-motion)
--tx-xxvariesExtra extra long transition duration (0s if prefers-reduced-motion)
--interactive-feedbacktranslateY(-.075em) scale(1.01)Interactive element transform (none if prefers-reduced-motion)

Usage Guidelines

Semantic Tokens vs. Color Ramp

  • Use semantic tokens (surface, action, control, feedback) for UI components and application styling. These tokens provide consistent meaning and adapt automatically if themes change.
  • Use color ramp tokens (—color-neutral-, —color-orange-, etc.) sparingly, typically only when defining custom semantic tokens or brand-specific elements.

Example Usage

/* ✅ Good - Using semantic tokens */
.button {
  background-color: var(--action-default-background);
  color: var(--action-default-foreground);
  border-radius: var(--corner-radius-75);
  padding: var(--space-200) var(--space-400);
}

/* ⚠️ Use with caution - Direct color ramp usage */
.brand-highlight {
  background-color: var(--color-orange-400);
}

/* ✅ Good - Using spacing and typography tokens */
.card {
  padding: var(--space-500);
  font-size: var(--font-size-200);
  line-height: var(--lineHeight-300);
  border-radius: var(--corner-radius-200);
  box-shadow: var(--shadow-default);
}

Color Scheme Support

Currently, studs-styles only supports light mode. The :root element uses color-scheme: only light. Dark mode support may be added in future versions.

Additional Resources

I