Inspired by Neumorphism

Neumorphism

Dribbble dreamed it. Production rejected it.
We keep the soft extrusion. We fix everything else.

Neumorphism emerged in 2019 as a hybrid of minimal interfaces and skeuomorphic depth. Its signature double shadow makes a control look extruded from the same material as its background.

The same-color constraint also created its central usability problem: controls could blend into panels, text contrast could fall short, and a shadow change alone was easy to miss as an interaction state.

Keep the extrusion, then add explicit affordance. These four principles separate the visual technique from the contrast, state, and focus cues a usable interface still needs.

The Double Shadow

One dark shadow cast to the bottom-right. One light shadow cast to the top-left. That's the entire trick. The dark shadow mimics an absence of light. The light shadow mimics a reflection. Together: box-shadow creates the illusion of physical extrusion. Because both shadows share the page's base color, the surface appears to grow from the background rather than float as a separate sheet.

Raised
Extruded surface
Dark bottom-right, light top-left
Flat
No shadows
Same color — invisible
#a3b1c6 bottom-right
#ffffff top-left
/* The neumorphic double shadow */
background: #e0e5ec;
box-shadow:
  8px 8px 16px #a3b1c6,   /* dark — bottom-right */
  -8px -8px 16px #ffffff/* light — top-left */

Pressed vs Raised

Invert the shadows with inset and the surface flips from extruded to pressed. Two states from one technique. Click or press Enter on the panels below — raised becomes inset, extruded becomes carved.

Toggle me
Raised
Toggle me
Raised
Toggle me
Pressed
/* Raised — pushes out */
box-shadow:
  8px 8px 16px #a3b1c6,
  -8px -8px 16px #ffffff;

/* Pressed — pushes in (just add inset) */
box-shadow:
  inset 4px 4px 8px #a3b1c6,
  inset -4px -4px 8px #ffffff;

Monochrome Discipline

Here's what makes neumorphism neumorphism: everything is the same base color. Background, foreground, buttons, cards — all #e0e5ec. Shadows do all the work. No borders. No gradients. The discipline is beautiful. One background, one dark shadow, one light shadow — three values, and the visual complexity comes entirely from how light interacts with depth. This is what we love about it.

Shadow
Base
Highlight
+ Accent

The monochrome foundation defines the style, but it does not need to carry interaction by itself. Reserve one accent color for primary actions and state; keep supporting surfaces monochrome.

Adding Affordance

Shadows alone cannot carry affordance — when everything is the same color, nothing says "click me." But we don't need to abandon the aesthetic. Accent color, labels, focus rings, and sufficient text contrast make action and state visible without replacing the soft form.

Buttons: accent signals action

Classic Neumorphism
Submit
Cancel
Same color. Same shadow. Which is primary?
Accessible
Accent fills the primary action. Shadow keeps the depth.

Toggle: color confirms state

Classic Neumorphism
ON
OFF
Position is the only clue. Low vision users can't tell.
Accessible
ON
OFF
Accent color = on. Neutral = off. Still neumorphic.

Input: focus ring marks the boundary

The inset shadow creates the "pressed" input feel. On focus, an accent ring appears — keyboard users always know where they are.

Accessible Neumorphic Player

Double shadows + accent affordance + focus rings. The play button uses accent color because it's the primary action. The progress bar uses accent to show position. Everything still looks extruded from the surface.

Soft Extrusion
The Neumorphists

The Rules

  • All-monochrome interactive elements — shadows can't carry affordance alone
  • Text below WCAG AA contrast (4.5:1 normal, 3:1 large)
  • State changes communicated only by shadow direction
  • "Looks good on Dribbble" as a design rationale
  • Raised shadows on large elements — they stop looking extruded and start looking floaty
  • Inset on non-interactive containers — inset is for inputs and control trays, not reading areas
  • Elements packed too tight — overlapping shadows kill the extrusion illusion
  • Accent color for primary actions — shadows keep the depth
  • Color change on toggle/checkbox states — not just position
  • Focus rings styled to match the aesthetic
  • Double shadows for decorative depth on containers
AI PROMPT

Review and edit

Your changes will be copied exactly as shown.

⌘ / Ctrl + Enter to copy