Stoneware CSS

A one file drop-in css library to quickly make efficient and beautiful UIs without the noise.

Download CSS Use with Claude

Colors

The color palette is intentionally neutral-focused. Use grays for most UI, reserve color for semantics.

Neutrals
Gray 50
#fafafa
Gray 100
#f4f4f5
Gray 200
#e4e4e7
Gray 400
#a1a1aa
Gray 500
#71717a
Gray 600
#52525b
Gray 900
#18181b
Black
#0a0a0a
Semantic
Danger
#dc2626
Warning
#d97706
Success
#16a34a
Accent
#1c8ece

Typography

System font stack with a clear hierarchy. Weights: 400 (body), 500 (medium), 600 (semibold).

HEADINGS
Heading XL (28px)
Heading LG (24px)
Heading MD (18px)
Heading SM (15px)
BODY TEXT

Body text for paragraphs and main content. (14px)

Small text for secondary information. (13px)

Caption text for metadata and timestamps. (12px)

LABELS UPPERCASE LABEL (11px)

Spacing

Based on a 4px grid. Use consistent spacing tokens for margins and padding.

4px
8px
12px
16px
20px
24px
32px
40px
48px

Shadows

Subtle, layered shadows for depth. Use sparingly - most elements don't need shadows.

Shadow SM
Shadow MD
Shadow LG
Shadow XL

Border Radius

Consistent rounding. 8px for most elements, 12-16px for cards and modals.

4px
6px
8px
10px
12px
16px
Full

Buttons View Details →

Dark primary buttons for main actions. Secondary for alternatives, ghost for minimal.

Variants
<button class="sw-btn sw-btn-primary">Primary</button>
<button class="sw-btn sw-btn-secondary">Secondary</button>
<button class="sw-btn sw-btn-danger">Danger</button>
<button class="sw-btn sw-btn-ghost">Ghost</button>
Sizes
States
Icon Buttons

Inputs View Details →

Clean inputs with subtle backgrounds. Focus state uses dark border.

Text Input
<input class="sw-input" type="text" placeholder="Enter text here...">
Input with Icon
Select Options (Card Style)
Checkboxes (Grid)
Textarea
<!-- Select Options (Card Style) -->
<div class="sw-select-option selected">
  <input type="radio" name="brand" class="sw-radio" checked>
  <label>Brand A - Cardiovascular</label>
</div>

<!-- Checkboxes (Grid) -->
<div class="sw-select-option selected">
  <input type="checkbox" class="sw-checkbox" checked>
  <label>Healthcare Providers</label>
</div>

Cards View Details →

Elevated containers for grouped content. Use for forms, dialogs, content sections.

Default Card
Card Title
Supporting description text goes here

This is the card content area. You can put any content here - forms, text, images, etc.

Bordered Card (No Shadow)
Bordered Variant
Use this for inline cards within a page where elevation isn't needed.
Small Card
Compact Card

Smaller padding for tighter UIs.

<div class="sw-card">
  <h3 class="sw-card-title">Card Title</h3>
  <p class="sw-card-subtitle">Supporting description</p>
  <p>Card content here...</p>
  <button class="sw-btn sw-btn-primary">Continue</button>
  <button class="sw-btn sw-btn-secondary">Cancel</button>
</div>

Modals View Details →

Overlay dialogs for confirmations, forms, and focused tasks.

Confirm Action

Are you sure you want to delete this item? This action cannot be undone.

<div class="sw-modal-overlay active">
  <div class="sw-card">
    <h3 class="sw-card-title">Confirm Action</h3>
    <p class="sw-card-subtitle">Are you sure?</p>
    <button class="sw-btn sw-btn-danger sw-btn-sm">Delete</button>
    <button class="sw-btn sw-btn-secondary sw-btn-sm">Cancel</button>
  </div>
</div>

Chat Messages View Details →

Conversational UI with user (dark) and assistant (light) bubble styles.

Which brand are you working on?
Brand A - Cardiovascular
Great choice! What are you trying to accomplish with this campaign?
Drive HCP awareness for new indication
<div class="sw-chat-message assistant">
  <div class="sw-message-bubble">Assistant message</div>
</div>
<div class="sw-chat-message user">
  <div class="sw-message-bubble">User message</div>
</div>

Panels View Details →

Sidebar containers for navigation, data sources, and supplementary content.

Data Sources
Competitor Analysis
PDF - 2.4 MB
Market Research
XLSX - 856 KB
<div class="sw-panel-header">
  <span class="sw-panel-title">Data Sources</span>
  <button class="sw-btn-icon">...</button>
</div>
<div class="sw-panel-content">
  <div class="sw-list-item">...</div>
</div>

Collapsible Modules View Details →

Expandable sections for organizing grouped content.

Focus Groups

3 focus group sessions

HCP Awareness Study
12 participants
Competitive Intel

Content here...

<div class="sw-module expanded">
  <div class="sw-module-header">
    <div class="sw-module-title">
      <span class="sw-module-icon">...</span>
      Module Title
    </div>
    <svg class="sw-module-chevron">...</svg>
  </div>
  <div class="sw-module-content">...</div>
</div>

List Items View Details →

Clickable list rows for files, documents, conversations.

Competitor Analysis Q4
PDF - 2.4 MB - Updated Jan 15
E
Ellie - AS Cluster 3
82 conversations
HCP Awareness Study
12 participants - Dec 2025
<div class="sw-list-item">
  <span class="sw-list-item-icon">...</span>
  <div class="sw-list-item-content">
    <div class="sw-list-item-title">Item Title</div>
    <div class="sw-list-item-meta">Meta info</div>
  </div>
</div>

Chips & Tags View Details →

Clickable tags for suggestions, filters, or status indicators.

Chips (Clickable)
Tags (Status)
Default Success Warning Danger
<button class="sw-chip">Chip text</button>

<span class="sw-tag">Default</span>
<span class="sw-tag sw-tag-success">Success</span>
<span class="sw-tag sw-tag-warning">Warning</span>
<span class="sw-tag sw-tag-danger">Danger</span>

Progress Indicators View Details →

Show progress through steps or loading states.

Progress Dots
Spinners
<div class="sw-progress-dots">
  <div class="sw-progress-dot completed"></div>
  <div class="sw-progress-dot active"></div>
  <div class="sw-progress-dot"></div>
</div>

<div class="sw-spinner"></div>

Banners View Details →

Contextual alerts for warnings, updates, or status messages.

You have pending changes
Error: Unable to save changes
Changes saved successfully
<div class="sw-banner sw-banner-warning">
  <span class="sw-banner-text">You have pending changes</span>
  <div class="sw-banner-actions">
    <button class="sw-btn sw-btn-sm sw-btn-outline">Dismiss</button>
    <button class="sw-btn sw-btn-sm sw-btn-primary">Update</button>
  </div>
</div>

Avatars View Details →

Circular placeholders for user or persona images.

A
BC
JD
XY
<div class="sw-avatar sw-avatar-xs">A</div>
<div class="sw-avatar sw-avatar-sm">BC</div>
<div class="sw-avatar">JD</div>
<div class="sw-avatar sw-avatar-lg">XY</div>

Layout Patterns

Common page structures used throughout applications.

Three-Panel Layout
SIDEBAR

Navigation

MAIN

Content

DETAIL

Info

Centered Card (Auth/Onboarding)
Welcome

Sign in to continue

Animations

Subtle motion for feedback and delight. Keep it fast (0.15-0.3s).

Transition Durations

Fast (0.15s)

Hover, focus states

Normal (0.2s)

Modal open/close

Slow (0.3s)

Slide in, expand

Smooth (0.5s)

Card transitions

Easing

Use ease for most transitions.

Use cubic-bezier(0.4, 0, 0.2, 1) for card/page transitions.

Stoneware Design System