Mid-tone soft glass. Warm dusty-sand canvas with a peach-and-rose aurora behind; cards float as cream-tinted frosted panes with 26px backdrop-blur and a faint inset top highlight. The mid-tone is the system.
A complete design system, ready for your AI coding agent. Every primitive, token, and pattern below is generated straight from DESIGN.md — drop the file in your project and ship matching UI in minutes.
Prose-first token file — decisions live next to their reasoning.
Fine micro-scale (1–5px) for pills, editorial scale (12–21px) for the grid.
The system's own radius tokens — sm for chips and inputs, md for buttons, lg for cards, pill for fully-rounded CTAs.
1---2name: "Dune Glass"3description: "Mid-tone soft glass. Warm dusty-sand canvas with a peach-and-rose aurora behind; cards float as cream-tinted frosted panes with 26px backdrop-blur and a faint inset top highlight. The mid-tone is the system."4tags: [glass, warm, premium, minimal, modern]5colors:6 primary: "#1F1A18"7 secondary: "#7A6E66"8 tertiary: "#C46B6B"9 neutral: "#D8C9B8"10 surface: "#EFE4D5"11typography:12 display: "Inter Tight"13 body: Inter14 mono: "JetBrains Mono"15 scale:16 hero: "4.5rem / 1.05 / 600 / -0.035em"17 h1: "2.625rem / 1.1 / 600 / -0.028em"18 h2: "1.5rem / 1.3 / 600 / -0.015em"19 body: "1rem / 1.65 / 400 / -0.005em"20radius:21 sm: 14px22 md: 20px23 lg: 26px24 pill: 9999px25shadows:26 card: "0 28px 64px -28px rgba(74, 50, 38, 0.22), 0 2px 8px -4px rgba(74, 50, 38, 0.08)"27 button: "0 10px 28px -14px rgba(196, 107, 107, 0.50), inset 0 1px 0 rgba(255, 230, 220, 0.40)"28borders:29 card: "1px solid rgba(255, 248, 238, 0.65)"30 divider: "rgba(31, 26, 24, 0.10)"31glass:32 surface: "rgba(255, 248, 238, 0.55)"33 blur: 26px34 saturate: 150%35 border: "1px solid rgba(255, 248, 238, 0.65)"36 shadow: "0 28px 64px -28px rgba(74, 50, 38, 0.22), 0 2px 8px -4px rgba(74, 50, 38, 0.08)"37 inner_highlight: "inset 0 1px 0 rgba(255, 248, 238, 0.85)"38 backdrop: "radial-gradient(at 14% 16%, rgba(255, 200, 180, 0.55) 0px, transparent 45%), radial-gradient(at 84% 18%, rgba(255, 175, 175, 0.45) 0px, transparent 50%), radial-gradient(at 78% 88%, rgba(245, 220, 195, 0.50) 0px, transparent 55%)"39buttons:40 primary:41 background: linear-gradient(180deg, #D88585 0%, #B85858 100%)42 color: #FFF8EE43 border: 1px solid rgba(255, 248, 238, 0.22)44 shape: pill45 padding: 12px 24px46 font: 600 / 0.9375rem / -0.005em47 shadow: 0 10px 28px -14px rgba(196, 107, 107, 0.55), inset 0 1px 0 rgba(255, 248, 238, 0.40)48 secondary:49 background: rgba(255, 248, 238, 0.55)50 color: #1F1A1851 border: 1px solid rgba(255, 248, 238, 0.70)52 shape: pill53 padding: 12px 24px54 font: 500 / 0.9375rem / -0.005em55 backdrop_blur: 20px56 backdrop_saturate: 150%57 outline:58 background: transparent59 color: #1F1A1860 border: 1px solid rgba(31, 26, 24, 0.22)61 shape: pill62 padding: 11px 22px63 font: 500 / 0.9375rem / -0.005em64 ghost:65 background: transparent66 color: #7A6E6667 border: none68 shape: pill69 padding: 11px 6px70 font: 500 / 0.9375rem / -0.005em71 hover: underline72charts:73 variant: area74 stroke_width: 275 fill_opacity: 0.276 gridlines: false77 highlight: last78 dot_marker: true79 axis_color: "#7A6E66"80 palette: ["#C46B6B", "#D89090", "#E8B8B8"]81fonts_url: "https://fonts.googleapis.com/css2?family=Inter+Tight:wght@400;500;600;700&family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400&display=swap"82dependencies: ["lucide-react"]83---84 85# Dune Glass86 87## AI Build Instructions88 89> **Read this section before writing any code.** The rules below90> are non-negotiable. Every value used in the UI must come from this91> file's frontmatter — never substitute, approximate, or invent new92> colors, fonts, radii, or shadows. If a value is missing, ask the93> user before adding one.94 95### 1 · Your role96 97You are building UI for a project that has adopted **Dune Glass** as its98design system. Treat `DESIGN.md` as the single source of truth.99Your job is to translate the user's product requirements into100components and pages that look like they were designed by the same101person who authored this file.102 103### 2 · Token compliance104 105- Pull every color, font family, radius, shadow, and spacing value106 from the frontmatter at the top of this file.107- Use semantic roles (e.g. `primary`, `accent`, `muted`) — never108 hard-code hex values that bypass the system.109- When a token can be expressed as a CSS variable, declare it once110 in your global stylesheet and reference it everywhere downstream.111- The Google Fonts `<link>` is provided in the Typography section.112 Add it to `<head>` before any component renders.113 114### 3 · Component recipes115 116Use these recipes verbatim when building the corresponding component.117 118#### Buttons119 120Four variants are defined. Pick one — never blend variants or invent a fifth.121 122- **Primary** — pill shape, bg `linear-gradient(180deg, #D88585 0%, #B85858 100%)`, text `#FFF8EE`, border `1px solid rgba(255, 248, 238, 0.22)`, padding `12px 24px`, weight `600`, shadow `0 10px 28px -14px rgba(196, 107, 107, 0.55), inset 0 1px 0 rgba(255, 248, 238, 0.40)`.123- **Secondary** — pill shape, bg `rgba(255, 248, 238, 0.55)`, text `#1F1A18`, border `1px solid rgba(255, 248, 238, 0.70)`, padding `12px 24px`, weight `500`.124- **Outline** — pill shape, text `#1F1A18`, border `1px solid rgba(31, 26, 24, 0.22)`, padding `11px 22px`, weight `500`.125- **Ghost** — pill shape, text `#7A6E66`, padding `11px 6px`, weight `500`.126 127Reach for **primary** as the single dominant CTA per screen.128**Secondary** for the supporting action. **Outline** for tertiary129actions in toolbars. **Ghost** for inline links and table actions.130 131#### Cards132 133- Background: `#EFE4D5`134- Border: `1px solid rgba(255, 248, 238, 0.65)`135- Shadow: `0 28px 64px -28px rgba(74, 50, 38, 0.22), 0 2px 8px -4px rgba(74, 50, 38, 0.08)`136- Radius: `radius.lg` (`26px`)137- Internal padding: `20px` for compact cards, `24–28px` for content cards.138 139> This system ships a **glass treatment** — see the Glass token table.140> Apply `backdrop-filter: blur(26px)` to translucent panes.141> The page must have a backdrop (gradient mesh / blurred orbs) for glass to refract.142 143#### Charts144 145- Bar/line variant: `area`146- No gridlines — let the bars/lines carry the data.147- Highlight strategy: `last` — emphasize a single bar/point per chart.148- Use the declared palette in order: `#C46B6B`, `#D89090`, `#E8B8B8`.149 150#### Typography pairings151 152- **Display (`Inter Tight`)** — h1, h2, hero headlines, brand wordmarks.153- **Body (`Inter`)** — paragraphs, labels, button text, form inputs.154- **Mono (`JetBrains Mono`)** — code, eyebrows, metadata, numerals in tables.155 156### 4 · Hard constraints157 158Never do any of the following without explicit instruction from the user:159 160- Introduce a new color, font, radius, or shadow that isn't declared above.161- Mix this system with another (e.g. don't paste in Material or Bootstrap defaults).162- Use generic gradient defaults (purple→blue, peach→pink) — they break the system's voice.163- Reach for emoji icons. Use a consistent icon library and size icons in line with body type.164- Add motion that exceeds the system's restraint — keep transitions short (≤200ms) and subtle.165 166### 5 · Before you finish — verify167 168Run through this checklist for every screen you produce:169 170- [ ] Every color used appears in the Colors table above.171- [ ] Headlines use the display font; body copy uses the body font.172- [ ] Buttons match one of the declared variants exactly (shape, padding, weight).173- [ ] Border-radius values come from `radius.sm` / `radius.md` / `radius.lg` / `radius.pill`.174- [ ] Cards and dividers use the declared border + shadow tokens.175- [ ] No values were invented; if you needed something missing, you stopped and asked.176 177---178 179## Overview180Dune Glass is the third register of glass — neither cool light nor dark indigo, but a warm dusty-sand mid-tone. The page sits on dusty sand with a soft aurora behind it: peach, rose, cream — three warm radial blobs. Cards float above as cream-tinted frosted panes: 26px backdrop-blur, 55% cream surface, 1px cream-alpha hairline, faint inset top highlight.181 182The mid-tone canvas is the system's differentiator. For wellness brands, hospitality, lifestyle apps, anything that wants the depth of glass without going to either extreme of light or dark.183 184## The Glass Recipe185Cards are warm cream glass over a dusty-warm canvas:186 187```css188.dune-pane {189 background: rgba(255, 248, 238, 0.55);190 backdrop-filter: blur(26px) saturate(150%);191 -webkit-backdrop-filter: blur(26px) saturate(150%);192 border: 1px solid rgba(255, 248, 238, 0.65);193 box-shadow:194 inset 0 1px 0 rgba(255, 248, 238, 0.85),195 0 28px 64px -28px rgba(74, 50, 38, 0.22),196 0 2px 8px -4px rgba(74, 50, 38, 0.08);197 border-radius: 26px;198}199```200 201The page MUST have the warm aurora for the glass to mean anything:202 203```css204body {205 background:206 radial-gradient(at 14% 16%, rgba(255,200,180,0.55) 0, transparent 45%),207 radial-gradient(at 84% 18%, rgba(255,175,175,0.45) 0, transparent 50%),208 radial-gradient(at 78% 88%, rgba(245,220,195,0.50) 0, transparent 55%),209 #D8C9B8;210}211```212 213The dusty-sand base is non-negotiable — it is what makes this system distinct from cool light glass.214 215## Color216- **Ink #1F1A18** — primary text. Warm bias to sit on the dusty canvas.217- **Warm graphite #7A6E66** — secondary text, axis labels.218- **Soft rose #C46B6B** — the only chromatic accent. Sits inside the aurora family.219- **Dusty sand #D8C9B8** — page canvas. Mid-tone warm.220- **Cream #FFF8EE @ 55%** — card surface (translucent over the aurora).221 222The aurora uses three soft warm tints — peach, rose, cream. Never anything cool.223 224## Typography225- **Display: Inter Tight 600** at 4.5rem with -3.5% tracking.226- **Body: Inter 400** at 1rem with 1.65 leading.227 228| Role | Font | Size | Weight | Tracking |229|------|------|------|--------|----------|230| Hero | Inter Tight | 4.5rem | 600 | -0.035em |231| H1 | Inter Tight | 2.625rem | 600 | -0.028em |232| H2 | Inter Tight | 1.5rem | 600 | -0.015em |233| Body | Inter | 1rem | 400 | -0.005em / 1.65 |234 235## Geometry236- **Radii: 14 / 20 / 26.** Generous corners — glass at sharp corners reads as plastic.237- **Pill buttons** for primary + secondary.238- **Section gap: 120px** desktop, 72px mobile. The aurora needs room.239 240## Buttons241- **Primary** — vertical soft-rose gradient with inner top-edge gloss. Pill shape. Warm CTA on warm canvas.242- **Secondary** — cream-tinted frosted glass pill (the same recipe as cards, scaled down).243- **Outline** — bare ink hairline pill at 22%.244- **Ghost** — bare warm-graphite label, hover underline.245 246## Cards247Cream-tinted frosted glass panes — see the recipe above. Radius 26px. Padding 32px minimum. Cards never sit flush; always 24-32px gap so the aurora reads between them.248 249## Charts & Data250Soft-rose area chart at 2px stroke and 20% fill opacity, no gridlines, end-of-line dot marker. The chart sits inside a glass card so the page aurora stays in the background.251 252## Do's and Don'ts253- ✅ The dusty-sand canvas + warm aurora is mandatory. Without it the glass dies.254- ✅ Cream-tinted glass surface (#FFF8EE @ 55%), never neutral white-translucent.255- ✅ Cards always include the inner top-edge highlight — that's what reads as a polished pane.256- ✅ One chromatic accent — soft rose. Sits inside the aurora's color family.257- ❌ No cool tints. The system is strictly warm.258- ❌ No solid cards. If a card isn't cream-glass, it's not in the system.259- ❌ No light or dark canvas — the mid-tone dusty sand is the entire differentiator.260- ❌ No second chromatic accent.261 262---263 264## Tokens265 266> Generated from the same source the live preview renders from.267> Treat the values below as the contract — never substitute approximations.268 269### Colors270 271| Role | Value |272|-----------|-------|273| primary | `#1F1A18` |274| secondary | `#7A6E66` |275| tertiary | `#C46B6B` |276| neutral | `#D8C9B8` |277| surface | `#EFE4D5` |278 279### Typography280 281- **Display:** Inter Tight282- **Body:** Inter283- **Mono:** JetBrains Mono284 285| Role | size / leading / weight / tracking |286|------|------------------------------------|287| Hero | 4.5rem / 1.05 / 600 / -0.035em |288| H1 | 2.625rem / 1.1 / 600 / -0.028em |289| H2 | 1.5rem / 1.3 / 600 / -0.015em |290| Body | 1rem / 1.65 / 400 / -0.005em |291 292### Radius293 294- sm: `14px`295- md: `20px`296- lg: `26px`297- pill: `9999px`298 299### Shadows300 301- **card:** `0 28px 64px -28px rgba(74, 50, 38, 0.22), 0 2px 8px -4px rgba(74, 50, 38, 0.08)`302- **button:** `0 10px 28px -14px rgba(196, 107, 107, 0.50), inset 0 1px 0 rgba(255, 230, 220, 0.40)`303 304### Borders305 306- **card:** `1px solid rgba(255, 248, 238, 0.65)`307- **divider:** `rgba(31, 26, 24, 0.10)`308 309### Glass310 311Translucent panes with backdrop-filter — the preview renders cards from these exact values.312 313| Property | Value |314|----------|-------|315| surface | `rgba(255, 248, 238, 0.55)` |316| blur | `26px` |317| saturate | `150%` |318| border | `1px solid rgba(255, 248, 238, 0.65)` |319| shadow | `0 28px 64px -28px rgba(74, 50, 38, 0.22), 0 2px 8px -4px rgba(74, 50, 38, 0.08)` |320| innerHighlight | `inset 0 1px 0 rgba(255, 248, 238, 0.85)` |321| backdrop | `radial-gradient(at 14% 16%, rgba(255, 200, 180, 0.55) 0px, transparent 45%), radial-gradient(at 84% 18%, rgba(255, 175, 175, 0.45) 0px, transparent 50%), radial-gradient(at 78% 88%, rgba(245, 220, 195, 0.50) 0px, transparent 55%)` |322 323### Buttons324 325Four variants, each fully tokenized. The preview renders from these exact values.326 327#### Primary328 329| Property | Value |330|----------|-------|331| shape | `pill` |332| background | `linear-gradient(180deg, #D88585 0%, #B85858 100%)` |333| color | `#FFF8EE` |334| border | `1px solid rgba(255, 248, 238, 0.22)` |335| padding | `12px 24px` |336| fontWeight | `600` |337| fontSize | `0.9375rem` |338| tracking | `-0.005em` |339| shadow | `0 10px 28px -14px rgba(196, 107, 107, 0.55), inset 0 1px 0 rgba(255, 248, 238, 0.40)` |340 341#### Secondary342 343| Property | Value |344|----------|-------|345| shape | `pill` |346| background | `rgba(255, 248, 238, 0.55)` |347| color | `#1F1A18` |348| border | `1px solid rgba(255, 248, 238, 0.70)` |349| padding | `12px 24px` |350| fontWeight | `500` |351| fontSize | `0.9375rem` |352| tracking | `-0.005em` |353| backdropBlur | `20px` |354| backdropSaturate | `150%` |355 356#### Outline357 358| Property | Value |359|----------|-------|360| shape | `pill` |361| background | `transparent` |362| color | `#1F1A18` |363| border | `1px solid rgba(31, 26, 24, 0.22)` |364| padding | `11px 22px` |365| fontWeight | `500` |366| fontSize | `0.9375rem` |367| tracking | `-0.005em` |368 369#### Ghost370 371| Property | Value |372|----------|-------|373| shape | `pill` |374| background | `transparent` |375| color | `#7A6E66` |376| border | `none` |377| padding | `11px 6px` |378| fontWeight | `500` |379| fontSize | `0.9375rem` |380| tracking | `-0.005em` |381| hoverHint | `underline` |382 383### Charts384 385| Property | Value |386|----------|-------|387| variant | `area` |388| strokeWidth | `2` |389| fillOpacity | `0.2` |390| gridlines | `false` |391| highlight | `last` |392| dotMarker | `true` |393| axisColor | `#7A6E66` |394| palette | `#C46B6B`, `#D89090`, `#E8B8B8` |395 # CLAUDE.md Reference @DESIGN.md for all styling decisions. Apply tokens strictly — do not introduce colors, fonts, or radii outside the system. When in doubt, prefer the values declared in DESIGN.md frontmatter.<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter+Tight:wght@400;500;600;700&family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400&display=swap" />npm install lucide-react// tailwind.config.jsexport default { theme: { extend: { fontFamily: { display: ['"Inter Tight"', 'serif'], sans: ['"Inter"', 'sans-serif'], mono: ['"JetBrains Mono"', 'monospace'], }, colors: { primary: '#1F1A18', secondary: '#7A6E66', accent: '#C46B6B', neutral: '#D8C9B8', surface: '#EFE4D5', }, borderRadius: { sm: '14px', md: '20px', lg: '26px', }, }, },};Design-studio editorial. Massive display serif at 7rem with tight tracking, hairline rules between sections, asymmetric column grids, captions in small-caps mono. One ox-blood accent. The page reads like a printed monograph.
A complete design system, ready for your AI coding agent. Every primitive, token, and pattern below is generated straight from DESIGN.md — drop the file in your project and ship matching UI in minutes.
An ultra-minimal restraint exercise. Pure white surfaces, every layout snapped to a strict 12-column grid with a 4px baseline, Inter at three sizes for the entire system, sharp 0px corners, and one vermilion accent reserved for exactly one moment per page. Built for product pages, design portfolios, and brand surfaces where the discipline of the grid IS the design.
A complete design system, ready for your AI coding agent. Every primitive, token, and pattern below is generated straight from DESIGN.md — drop the file in your project and ship matching UI in minutes.