Design System · Living
A system you can feel.
The shared visual language behind everything we build — foundations, type, components and icons. Click any swatch, icon or code block to copy. Brand values are sourced from our Figma Foundations.
Colours
A neutral base with one restrained brand accent. Brand tokens (--gen-*) come straight from the Generator DS in Figma. Text never uses pure black — headings sit at #26221F.
Brand
Ink (text)
Surface & tint
Dark surfaces
State
Signature gradient
Brand gradients
The gradient is the brand's most characteristic asset (mauve #995C85 ↔ red #E51B15). One rule fixes 90% of “it looks off”: box & card backgrounds use the gradient as a 15–30% tint, never a flat pink. Full-opacity gradient is only for icons, accents, the primary button and text. Click any tile to copy its CSS.
The golden rule for boxes
Any brand “box” (cards, panels, inputs, headers, tiles) = linear-gradient(90deg, rgba(153,92,133,.15), rgba(229,27,21,.15)) at rest, .30 on hover/active. Utilities: .wdt-grad--15 / .wdt-grad--30 / .wdt-surface-brand. Never #E85D75 or a solid pink.
Tints — for backgrounds (op15 → op30)
Full opacity — for icons, accents & assets
Logos & app icons
The generator mark family: the logomark is the gradient “+”, the logotype is the wordmark with its t replaced by the “+”, and the app icon is a rounded gradient tile carrying the Worten W with the generator “+”.
Spacing, radii & shadows
One scale, used everywhere. Spacing in multiples of 8; soft corners; layered shadows tinted toward mauve.
Spacing
--sp-1--sp-2--sp-3--sp-4--sp-5--sp-6Radii
Shadows
Typography
A three-voice pairing, all self-hosted (no external requests). Headings are heavy and tight; the serif italic carries editorial accents; mono labels and code.
Buttons
Pill shape. The primary action wears the brand gradient with a red action shadow and lifts on hover. Secondary is a soft pink fill; outline is the quiet option.
Primary — gradient fill (sizes & states)
Secondary (pink fill) & Outline
Link — gradient text + sliding arrow
Form fields
Soft surface, subtle border, 12px corners, mono labels. Focus glows mauve; errors turn the border red.
Forms & feedback
Controls and status, all in our language — the active state always wears the brand gradient. Built for the vault and future tools (toggles, choices, progress, tags).
Toggle / switch
Checkbox
Radio
Progress — bar
62% complete
Progress — ring
62%Badges / tags
Icons
A stroke-based set in one SVG sprite. They inherit currentColor. Click any to copy its markup.
Cards, panels, bar & motion
Cards are white with a blush border and lift on hover; panels carry a warm tint; the header bar wears the brand blush.
Panel
A warm brand tint, used for grouped content.
App bar
Motion: floating gradient ambient blobs, a subtle cursor glow, reveal-on-scroll, parallax and magnetic buttons — all gated by prefers-reduced-motion.
App header & footer
The bar an internal tool wears at the top: brand tint (op15) background, logotype on the left, quiet icon actions and a serif “by Web Design team” signature on the right. The footer is a thin caption line.
Template & module selectors
Choice surfaces. Each is a brand-tint box (op15) that deepens to op30 and lifts on hover — icon in a white circle, title, description, optional badge, and a nudging arrow.
Template selection cards
Module selector (category rows)
Modals & pop-ups
One overlay, three sizes: input pop-up (default) for a focused form, quick pop-up (--sm) for a confirm, and the gallery modal (--lg) below. Rendered inline here for preview.
Input pop-up
Quick pop-up
SKU gallery modal
SKU import & archive
Bringing files in and listing what's saved. The dropzone and file cards carry the brand tint; the selected card gains a red inset ring; uploads show a percentage; archive rows expose preview / edit / delete.
Import — dropzone
Drop a SKU list or images here
or click to browse · CSV, XLSX, PNG, JPG
Import — file cards (states)
Archive entries
Navigator (pagination)
Article components
Building blocks for the Knowledge base. Authors drop these classes into article content — see knowledge/content/_TEMPLATE.html.
Callouts
Tip
A helpful pointer for the reader.
Info
Extra context worth knowing.
Warning
Something to watch out for.
Success
A confirmed good practice.
Code block, quote & checklist
:root { --accent: #995C85; }Good context beats long prompts.— Web Design Team
- First step done.
- Second step done.
Comparison table
| Option | Pros | Cons |
|---|---|---|
| A | Fast | Less flexible |
| B | Flexible | Slower |
Timeline
- 2026
Something happened.
- 2027
Then this followed.
Also available: kb-figure (image + caption) and kb-video (responsive 16:9 embed).
Copy & apply
Take the system with you: drop the CSS tokens into a project, or paste the brief into your Claude so it builds in our language. Brand values mirror our Figma Foundations; no full Worten logo or name (the W mark alone is fine).
:root {
/* Brand — from Figma Foundations (Generator DS) */
--red: #E51B15; --red-01: #FBDDDD; --red-02: #F6BCBB;
--mauve: #995C85; --mauve-01: #F0E7ED; --mauve-02: #E0CEDA; --pink: #E8A9C4;
--gradient: linear-gradient( 90deg, #E51B15, #995C85); /* signature (h) */
--gradient-v: linear-gradient(180deg, #995C85, #E51B15); /* vertical */
--gradient-a: linear-gradient( 45deg, #995C85, #E51B15); /* angular */
/* GOLDEN RULE: brand boxes = the gradient as a 15–30% TINT, never a flat pink. */
--tint-15: linear-gradient(90deg, rgba(153,92,133,.15), rgba(229,27,21,.15)); /* box bg — rest */
--tint-30: linear-gradient(90deg, rgba(153,92,133,.30), rgba(229,27,21,.30)); /* box bg — hover */
/* Neutrals (full ramp) + ink */
--neu-01:#FBFBFB; --neu-02:#EBEBEB; --neu-03:#949494; --neu-04:#666666; --black:#363636;
--ink: #26221F; --ink-soft: #555555; --ink-muted: #777777; --ink-faint: #949494;
--bg: #FBFBFB; --surface: #FFFFFF;
--line: #F0E7ED; --line-2: #E0CEDA;
--pink-50: #FCEFF2; --peach: #FBE3DC; --mauve-50: #F3D9E4; --tint: #F8EBF0;
/* Dark + state (DS source: success #19B404, error #D13F00) */
--dark: #1C171F; --dark-2: #26221F; --plum: #161019;
--success: #1FAE5A; --warning: #FF6B35; --danger: #E51B15;
/* Spacing · radii · shadows */
--sp-1:8px; --sp-2:16px; --sp-3:24px; --sp-4:32px; --sp-5:48px; --sp-6:72px;
--r-sm:4px; --r-md:12px; --r-lg:16px; --r-xl:24px; --r-pill:999px;
--sh-md: 0 12px 34px rgba(153,92,133,.14);
--sh-lg: 0 30px 70px rgba(153,92,133,.20);
--sh-action: 0 14px 34px rgba(229,27,21,.26);
--focus: 0 0 0 3px rgba(153,92,133,.18);
/* Type (self-hosted) */
--font: 'Hanken Grotesk', system-ui, sans-serif;
--font-serif: 'Newsreader', Georgia, serif; /* italic accents */
--font-mono: 'JetBrains Mono', ui-monospace, monospace;
}
Apply the Web Design Team design system. It is a calm but confident, editorial theme: a neutral warm base with one restrained brand accent. This identity is the team's own — never use the full Worten logo/wordmark or name (the W mark alone, e.g. in the app icon, is fine). TYPE (self-host, no Google CDN) - Hanken Grotesk for display + UI, weights 400–800; headings 800 with tight negative letter-spacing (-.035 to -.045em), line-height ~.92. - Newsreader italic for editorial accents (one or two words per heading, often in the brand gradient). - JetBrains Mono for eyebrows/labels (uppercase, .22em tracking) and code. COLOUR - Page #FBFBFB, surfaces #FFFFFF. Ink #26221F / #555555 / #777777 / #949494 (never pure black). Borders blush #F0E7ED at rest, #E0CEDA on hover. - Accent mauve #995C85 (+ pink #E8A9C4 on dark). Signature gradient linear-gradient(90deg, #E51B15, #995C85) — the boldest colour, used once per view: primary button, brand dot, a thin hairline, or a serif accent. - GOLDEN RULE (fixes 90% of "it looks off"): every brand BOX — card, panel, input, header/app-bar, tile, dropzone — uses the gradient as a 15–30% TINT (op15 at rest, op30 on hover/active), NEVER a flat/solid pink. Full-opacity gradient is only for icons, the primary button, accents and text. - Warm tints #FCEFF2 / #FBE3DC / #F3D9E4. Dark surfaces #1C171F / #161019 for contrast sections (the gradient becomes a glow). State: success #1FAE5A, warning #FF6B35, error #E51B15. SPACE / SHAPE / MOTION - Spacing 8/16/24/32/48/72. Radii 4/12/16/24, pills for buttons. - Soft mauve-tinted shadows; the primary button adds a red action shadow. - Ambient floating gradient blobs, a subtle cursor glow, reveal-on-scroll, light parallax and magnetic buttons — always honour prefers-reduced-motion. COMPONENTS - Primary button: gradient fill, white text, pill, weight 600, red action shadow, lifts 3px on hover. Secondary: soft pink (#FCEFF2) fill, mauve text. Outline: 1px subtle border. Link: gradient text + sliding arrow. - Inputs/select/textarea: soft surface, 1px border, radius 12px, focus = mauve border + glow, error = red border. Cards: white, 1px blush border, radius 24px, soft lift. Frosted sticky header with a tiny LIVE pill. - Form controls — toggle/switch, checkbox, radio: the active/checked state always wears the brand gradient; off-states are neutral grey/blush. - Feedback — progress bar and ring fill in the gradient; badges/tags are mono-uppercase pills (neutral, or brand / success / warning / danger). - App patterns (all brand-tint surfaces, op15→op30 on hover): app-bar/header (logotype left; functional icons — home, info… — in brand red #E51B15 per the DS, quiet actions right); template-selection cards and module-selector rows (white icon circle + title + badge + nudging arrow); modals/pop-ups in 3 sizes — input (default), quick/confirm (sm, gradient-tint glyph), gallery (lg); SKU gallery grid (tinted tiles, hover overlay, dashed "add" tile); import dropzone + file cards (selected = red inset ring, uploading = % + ring); archive rows (name · date · time · eye/edit/trash); navigator/pagination (gradient-underlined active page). - Gradient utilities: horizontal / vertical / angular, plus 15% and 30% tints and a gradient-text treatment. One stroke icon set (24px sprite, inherits currentColor); functional icons render in brand red per the DS. - Logos (generator mark family): logomark = the gradient "+"; logotype = wordmark with its "t" as the "+"; app icon = rounded gradient-tint tile carrying the Worten W with the "+". FEEL — lots of whitespace, few elements, big confident type with a serif italic accent, soft motion. No neon, no clutter, no flashy gradients beyond the single signature.