Remixes of cssstudio.ai
Latest remixes
No public remixes yet. Be the first to make one.
Remix itLatest remixes
No public remixes yet. Be the first to make one.
Remix itSwitch between the rendered Visual preview and the Raw DESIGN.md.
version: alpha
name: Cssstudio
description: |
CSS Studio's design system embodies a stark, developer-forward aesthetic built
on deep charcoal and near-black surfaces paired with a vibrant mint-green
accent. The visual language is deliberately minimal and code-centric,
leveraging monospaced typography and geometric precision to reinforce the
tool's technical nature. Surfaces are intentionally dark to reduce eye strain
during extended design work, while the electric primary accent (#34D399)
provides high contrast and immediately signals interactive elements. The
palette avoids ornament; depth comes from subtle colour shifts and carefully
calibrated opacity rather than shadows or gradients. This is a system built
for makers who value clarity and efficiency over decoration.
source:
url: "https://cssstudio.ai/"
pagesAnalyzed: 6
extractedAt: 2026-11-04
tokensMeasured: true
colors:
primary: "#34D399"
canvas: "#0D1111"
ink: "#FFFFFF"
hairline: "#1E1E20"
error: "#FF1231"
success: "#2DD4BF"
accent-1: "#B08DF0"
accent-2: "#3B82F6"
neutral-1: "#7A8180"
neutral-2: "#E8EEEE"
neutral-3: "#000000"
typography:
display-xl:
fontFamily: "TASA Orbiter"
fontSize: 76px
fontWeight: 700
lineHeight: 0.92
letterSpacing: -3.04px
display-lg:
fontFamily: "TASA Orbiter"
fontSize: 48px
fontWeight: 700
lineHeight: 1.02
letterSpacing: -1.34px
display-lg-tight:
fontFamily: "TASA Orbiter"
fontSize: 48px
fontWeight: 700
lineHeight: 1.05
letterSpacing: -1.68px
display-md:
fontFamily: "TASA Orbiter"
fontSize: 44px
fontWeight: 700
lineHeight: 0.95
letterSpacing: -1.23px
display-sm:
fontFamily: "TASA Orbiter"
fontSize: 40px
fontWeight: 400
lineHeight: 1.05
letterSpacing: -1.4px
display-sm-strong:
fontFamily: "TASA Orbiter"
fontSize: 40px
fontWeight: 700
lineHeight: 1.05
letterSpacing: -1.4px
heading-lg:
fontFamily: "TASA Orbiter"
fontSize: 36px
fontWeight: 700
lineHeight: 1.02
letterSpacing: -1.44px
heading-md:
fontFamily: "TASA Orbiter"
fontSize: 30px
fontWeight: 400
lineHeight: 1
letterSpacing: -0.75px
heading-md-strong:
fontFamily: "TASA Orbiter"
fontSize: 30px
fontWeight: 700
lineHeight: 1
letterSpacing: -1.2px
heading-md-loose:
fontFamily: "TASA Orbiter"
fontSize: 30px
fontWeight: 700
lineHeight: 1.05
letterSpacing: -0.75px
heading-sm:
fontFamily: "TASA Orbiter"
fontSize: 20px
fontWeight: 700
lineHeight: 1
letterSpacing: -0.4px
heading-xs:
fontFamily: "TASA Orbiter"
fontSize: 16px
fontWeight: 700
lineHeight: 1
letterSpacing: -0.16px
body-md:
fontFamily: "TASA Orbiter"
fontSize: 16px
fontWeight: 400
lineHeight: 1.55
letterSpacing: -0.16px
body-md-2:
fontFamily: "TASA Orbiter"
fontSize: 16px
fontWeight: 400
letterSpacing: 0px
body-sm:
fontFamily: "TASA Orbiter"
fontSize: 15px
fontWeight: 400
lineHeight: 1.55
letterSpacing: -0.15px
body-sm-tight:
fontFamily: "TASA Orbiter"
fontSize: 15px
fontWeight: 400
lineHeight: 1.35
letterSpacing: 0px
body-sm-loose:
fontFamily: "TASA Orbiter"
fontSize: 15px
fontWeight: 400
lineHeight: 1.58
letterSpacing: 0px
body-xs:
fontFamily: "TASA Orbiter"
fontSize: 14px
fontWeight: 400
lineHeight: 1.55
letterSpacing: -0.14px
label:
fontFamily: "TASA Orbiter"
fontSize: 20px
fontWeight: 700
lineHeight: 1.3
letterSpacing: -0.3px
caption-sm:
fontFamily: "TASA Orbiter"
fontSize: 12px
fontWeight: 400
lineHeight: 1.4
letterSpacing: 0px
caption-sm-tight:
fontFamily: "TASA Orbiter"
fontSize: 12px
fontWeight: 400
lineHeight: 1.5
letterSpacing: -0.12px
caption-sm-apple-system:
fontFamily: -apple-system
fontSize: 12px
fontWeight: 400
lineHeight: 1.4
letterSpacing: 0px
caption-xs:
fontFamily: "TASA Orbiter"
fontSize: 11px
fontWeight: 400
letterSpacing: 0.22px
caption-xs-tight:
fontFamily: "TASA Orbiter"
fontSize: 11px
fontWeight: 400
letterSpacing: 0px
caption-xs-uppercase:
fontFamily: "TASA Orbiter"
fontSize: 11px
fontWeight: 400
letterSpacing: 0.66px
textTransform: uppercase
code-sm:
fontFamily: "Geist Mono"
fontSize: 13.5px
fontWeight: 400
lineHeight: 1.6
letterSpacing: -0.4px
code-xs:
fontFamily: "Geist Mono"
fontSize: 11px
fontWeight: 400
letterSpacing: 0px
code-xs-uppercase:
fontFamily: "Geist Mono"
fontSize: 11px
fontWeight: 400
lineHeight: 1.25
letterSpacing: 1.32px
textTransform: uppercase
code-xs-2:
fontFamily: "Geist Mono"
fontSize: 11px
fontWeight: 400
lineHeight: 1
letterSpacing: 0.88px
textTransform: uppercase
code-xs-3:
fontFamily: "Geist Mono"
fontSize: 11px
fontWeight: 400
letterSpacing: 1.54px
textTransform: uppercase
code-xs-strong:
fontFamily: "Geist Mono"
fontSize: 11px
fontWeight: 500
lineHeight: 1.2
letterSpacing: 0px
rounded:
none: 0px
xs: 2px
sm: 3px
md: 4px
lg: 5px
xl: 6px
xxl: 8px
r-10: 10px
r-12: 12px
full: 9999px
spacing:
xxs: 4px
xs: 8px
sm: 12px
md: 16px
lg: 20px
xl: 24px
xxl: 32px
xxxl: 36px
section: 40px
band: 44px
borderWidths:
thin: 1px
shadows:
sm: "rgba(0, 0, 0, 0.55) 0px 20px 40px -12px, rgba(0, 0, 0, 0.3) 0px 6px 16px -6px"
md: "rgba(0, 0, 0, 0.4) 0px 8px 24px 0px"
lg: "rgba(10, 10, 10, 0.18) 0px 30px 60px -24px, rgba(10, 10, 10, 0.1) 0px 10px 20px -10px"
xl: "rgba(255, 255, 255, 0.06) 0px 0px 0px 1px"
elevationStrategy: progressive
themes:
derived: light # the other theme is the site's measured palette
light:
bg: "#F8FEFC"
surface: "#EEF4F2"
surfaceRaised: "#E7ECEA"
text: "#131B18"
textMuted: "#696F6E"
border: "#D5DAD9"
accent: "#1D845F"
accentFg: "#FFFFFF"
focusRing: "#24A676"
elevation: shadow
dark:
bg: "#0D1111"
surface: "#0D1010"
surfaceRaised: "#202323"
text: "#FFFFFF"
textMuted: "#AAACAC"
border: "#1E1E20"
accent: "#34D399"
accentFg: "#0B0B0C"
focusRing: "#34D399"
elevation: "border+surface"
gradients:
- context: section
kind: linear
value: "repeating-linear-gradient(119deg, oklch(0.145 0.01 148 / 0.4) 0px, oklch(0.145 0.01 148 / 0.4) 1.5px, oklch(0.145 0.01 148) 1.5px, oklch(0.145 0.01 148) 8px)"
- context: section
kind: linear
value: "linear-gradient(to right, oklch(0.94 0.008 96) 14px, rgba(0, 0, 0, 0) 14px, rgba(0, 0, 0, 0) calc(100% - 14px), oklch(0.94 0.008 96) calc(100% - 14px)), linear-gradient(to right, oklch(0.94 0.008 96) 14px, rgba(0, 0, 0, 0) 14px, rgba(0, 0, 0, 0) calc(100% - 14px), oklch(0.94 0.008 96) calc(100% - 14px)), linear-gradient(oklch(0.94 0.008 96) 14px, rgba(0, 0, 0, 0) 14px, rgba(0, 0, 0, 0) calc(100% - 14px), oklch(0.94 0.008 96) calc(100% - 14px)), linear-gradient(oklch(0.94 0.008 96) 14px, rgba(0, 0, 0, 0) 14px, rgba(0, 0, 0, 0) calc(100% - 14px), oklch(0.94 0.008 96) calc(100% - 14px))"
- context: section
kind: linear
value: "repeating-linear-gradient(119deg, color(srgb 0.927453 0.922291 0.899187 / 0.2) 0px, color(srgb 0.927453 0.922291 0.899187 / 0.2) 1px, rgba(0, 0, 0, 0) 1px, rgba(0, 0, 0, 0) 5px)"
- context: section
kind: linear
value: "linear-gradient(to right, oklch(0.94 0.008 96) 12px, rgba(0, 0, 0, 0) 12px, rgba(0, 0, 0, 0) calc(100% - 12px), oklch(0.94 0.008 96) calc(100% - 12px)), linear-gradient(to right, oklch(0.94 0.008 96) 12px, rgba(0, 0, 0, 0) 12px, rgba(0, 0, 0, 0) calc(100% - 12px), oklch(0.94 0.008 96) calc(100% - 12px)), linear-gradient(oklch(0.94 0.008 96) 12px, rgba(0, 0, 0, 0) 12px, rgba(0, 0, 0, 0) calc(100% - 12px), oklch(0.94 0.008 96) calc(100% - 12px)), linear-gradient(oklch(0.94 0.008 96) 12px, rgba(0, 0, 0, 0) 12px, rgba(0, 0, 0, 0) calc(100% - 12px), oklch(0.94 0.008 96) calc(100% - 12px))"
- context: hero
kind: linear
value: "repeating-linear-gradient(119deg, color(srgb 0.927453 0.922291 0.899187 / 0.1) 0px, color(srgb 0.927453 0.922291 0.899187 / 0.1) 2px, rgba(0, 0, 0, 0) 2px, rgba(0, 0, 0, 0) 8px)"
- context: section
kind: linear
value: "repeating-linear-gradient(119deg, color(srgb 0.927453 0.922291 0.899187 / 0.1) 0px, color(srgb 0.927453 0.922291 0.899187 / 0.1) 2px, rgba(0, 0, 0, 0) 2px, rgba(0, 0, 0, 0) 8px)"
components:
button-outline:
typography: "{typography.code-xs-uppercase}"
textColor: "oklch(0.145 0.01 148)"
border: "1px solid oklch(0.94 0.008 96)"
height: 48px
padding: "12px 18px 12px 18px"
backgroundColor: "oklch(0.94 0.008 96)"
button-primary:
typography: "{typography.code-xs-uppercase}"
textColor: "oklch(0.145 0.01 148)"
border: "1px solid {colors.primary}"
height: 48px
padding: "12px 18px 12px 18px"
backgroundColor: "{colors.primary}"
button-primary-sm:
textColor: "oklch(0.145 0.01 148)"
border: "1px solid {colors.primary}"
height: 36px
padding: "8px 14px 8px 14px"
fontSize: 10px
fontFamily: "Geist Mono"
fontWeight: 400
backgroundColor: "{colors.primary}"
button-text:
typography: "{typography.code-xs-strong}"
textColor: "{colors.primary}"
height: 21.1875px
padding: "4px 10px 4px 10px"
rounded: "{rounded.xl}"
backgroundColor: "color(srgb 0.203922 0.827451 0.6 / 0.18)"
card:
typography: "{typography.body-md-2}"
textColor: "oklch(0.94 0.008 96)"
border: "1px solid oklch(0.31 0.012 148)"
padding: "12px 12px 12px 12px"
rounded: "{rounded.xxl}"
backgroundColor: "color(srgb 0.927453 0.922291 0.899187 / 0.02)"
card-sm:
typography: "{typography.body-md-2}"
textColor: "oklch(0.94 0.008 96)"
border: "1px solid oklch(0.31 0.012 148)"
rounded: "{rounded.md}"
backgroundColor: "color(srgb 0.927453 0.922291 0.899187 / 0.04)"
badge-outline:
textColor: "oklch(0.94 0.008 96)"
border: "1px solid oklch(0.31 0.012 148)"
height: 32.3906px
padding: "8px 14px 8px 14px"
fontSize: 12px
boxShadow: "rgba(0, 0, 0, 0.35) 0px 4px 16px 0px"
fontFamily: "TASA Orbiter"
fontWeight: 400
lineHeight: 1.2
rounded: 999px
backgroundColor: "oklch(0.18 0.012 148)"
badge-text:
textColor: "oklch(0.69 0.012 148)"
height: 16.5px
fontSize: 11px
fontFamily: "Geist Mono"
fontWeight: 400
lineHeight: 1.5
badge-text-2:
textColor: "rgb(244, 63, 94)"
fontSize: 15px
fontFamily: "Geist Mono"
fontWeight: 400
lineHeight: 1.6
badge-filled:
typography: "{typography.code-xs}"
textColor: "rgba(0, 0, 0, 0.85)"
height: 24px
padding: "4px 6px 4px 4px"
rounded: "{rounded.md}"
backgroundColor: "{colors.neutral-2}"
navigation:
typography: "{typography.body-md-2}"
textColor: "oklch(0.94 0.008 96)"
height: 72px
padding: "12px 30px 12px 30px"
footer:
typography: "{typography.body-md-2}"
textColor: "oklch(0.145 0.01 148)"
padding: "80px 72px 40px 72px"
backgroundColor: "oklch(0.94 0.008 96)"
link:
typography: "{typography.code-xs}"
textColor: "oklch(0.94 0.008 96)"
padding: "8px 12px 8px 12px"
link-2:
typography: "{typography.body-sm-tight}"
textColor: "oklch(0.145 0.01 148)"
states:
button-hover:
target: button
state: hover
opacity: 0.9
button-disabled:
target: button
state: disabled
opacity: 0.4
link-hover:
target: link
state: hover
transform: "translate(2px)"
other-active:
target: other
state: active
transform: "translateY(1px)"
input-disabled:
target: input
state: disabled
opacity: 0.5
nav-hover:
target: nav
state: hover
opacity: 1
card-hover:
target: card
state: hover
opacity: 1
transform: "translate(3px)"
other-hover:
target: other
state: hover
opacity: 1
button-focus-visible:
target: button
state: focus-visible
outline: "currentcolor solid 2px"
outlineColor: currentcolor
outlineWidth: 2px
other-disabled:
target: other
state: disabled
transform: none
breakpoints:
- width: 375
containerWidth: 335
gridColumns: 3
navLinksVisible: 16
menuToggleVisible: false
headingPx: 34
bodyPx: 16
sectionPaddingX: 12
- width: 768
containerWidth: 691
gridColumns: 3
navLinksVisible: 16
menuToggleVisible: false
headingPx: 48
bodyPx: 16
sectionPaddingX: 24
- width: 1024
containerWidth: 922
gridColumns: 3
navLinksVisible: 16
menuToggleVisible: false
headingPx: 48
bodyPx: 16
sectionPaddingX: 24
- width: 1280
containerWidth: 1152
gridColumns: 3
navLinksVisible: 16
menuToggleVisible: false
headingPx: 48
bodyPx: 16
sectionPaddingX: 24
- width: 1440
containerWidth: 1296
gridColumns: 3
navLinksVisible: 16
menuToggleVisible: false
headingPx: 48
bodyPx: 16
sectionPaddingX: 24
coverage:
statesFound: 67
gradientsFound: 6
rolesUnassigned: 5
archetypesUnnamed: 0
archetypesDetected: 0
responsiveMeasured: true
stylesheetsBlocked: true
semanticRampDeclared: true
CSS Studio's design system embodies a stark, developer-forward aesthetic built on deep charcoal and near-black surfaces paired with a vibrant mint-green accent. The visual language is deliberately minimal and code-centric, leveraging monospaced typography and geometric precision to reinforce the tool's technical nature. Surfaces are intentionally dark to reduce eye strain during extended design work, while the electric primary accent ({colors.primary} — #34D399) provides high contrast and immediately signals interactive elements. The palette avoids ornament; depth comes from subtle colour shifts and carefully calibrated opacity rather than shadows or gradients. This is a system built for makers who value clarity and efficiency over decoration.
Key Characteristics:
#34D399) that cuts through the darkness{colors.primary} — #34D399): Primary CTAs, brand mark, active states, and interactive highlights. Provides the visual anchor across the entire system.{colors.accent-1} — #B08DF0): Decorative use; no measured role in the system.{colors.accent-2} — #3B82F6): Decorative use; no measured role in the system.{colors.canvas} — #0D1111): Default page background, creating the dark foundation.{colors.ink} — #FFFFFF): Primary heading and text, ensuring maximum contrast on dark surfaces.{colors.hairline} — #1E1E20): 1px borders and dividers between elements.{colors.neutral-1} — #7A8180): Muted mid-tone for secondary text and disabled states.{colors.neutral-2} — #E8EEEE): Light neutral used in button outlines and surface backgrounds.{colors.neutral-3} — #000000): Pure black for maximum darkness in specific contexts.{colors.error} — #FF1231): Error states and destructive actions.{colors.success} — #2DD4BF): Success states and confirmation messages.Primary Font: Geist Mono
Geist Mono, monospaceSecondary Font: TASA Orbiter
TASA Orbiter, serifFallback Font: -apple-system
-apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif| Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
|---|---|---|---|---|---|---|
| Display XL | TASA Orbiter | 76px | 700 | 0.92 | -3.04px | H1; hero headlines |
| Display LG | TASA Orbiter | 48px | 700 | 1.02–1.05 | -1.34 to -1.68px | H2; major section heads |
| Display MD | TASA Orbiter | 44px | 700 | 0.95 | -1.23px | H3; secondary display |
| Display SM | TASA Orbiter | 40px | 400–700 | 1.05 | -1.4px | H2/display; smaller headlines |
| Heading LG | TASA Orbiter | 36px | 700 | 1.02 | -1.44px | H1; large section heading |
| Heading MD | TASA Orbiter | 30px | 400–700 | 1.0–1.05 | -0.75 to -1.2px | H2/H3; medium headings |
| Heading SM | TASA Orbiter | 20px | 700 | 1.0 | -0.4px | H3; small headings |
| Heading XS | TASA Orbiter | 16px | 700 | 1.0 | -0.16px | H4; smallest heading |
| Body MD | TASA Orbiter | 16px | 400 | 1.55 | -0.16 to 0px | Body text; list items |
| Body SM | TASA Orbiter | 15px | 400 | 1.35–1.58 | -0.15 to 0px | Body; links; list items |
| Body XS | TASA Orbiter | 14px | 400 | 1.55 | -0.14 to 0px | Small body text |
| Caption SM | TASA Orbiter | 12px | 400 | 1.4–1.5 | -0.12 to 0px | Captions; metadata |
| Caption XS | TASA Orbiter | 11px | 400 | — | 0.22–0.66px | Tiny captions |
| Code XS | Geist Mono | 11px | 400–500 | 1.0–1.25 | 0.22–2.42px | Monospaced labels; uppercase tracking |
| Code SM | Geist Mono | 13.5px | 400 | 1.6 | -0.4px | Monospaced body text |
| Label | TASA Orbiter | 20px | 700 | 1.3 | -0.3px | Table headers; labels |
Primary Button
{colors.primary} (#34D399)#0D1111 (from measured component data){spacing.sm} {spacing.md} (12px 18px){colors.primary}{rounded.none} (0px; sharp corners)Primary Button Small
{colors.primary} (#34D399)#0D1111{colors.primary}{rounded.none} (0px)Outline Button
{colors.neutral-2} (#E8EEEE)#0D1111{spacing.sm} {spacing.md} (12px 18px){colors.neutral-2}{rounded.none} (0px)Text Button
rgba(52, 211, 153, 0.18) (primary with 18% opacity){colors.primary} (#34D399){rounded.xl} (6px; pill-shaped)Card Default
rgba(147, 140, 120, 0.02) (neutral with 2% opacity)#4D4D50 (hairline){spacing.sm} (12px){rounded.xxl} (8px)#E8EEEE{colors.primary}, opacity 1, transform translate(3px)Card Default Small
rgba(147, 140, 120, 0.04) (neutral with 4% opacity)#4D4D50{rounded.md} (4px){colors.primary}Input Default
{colors.hairline} (#1E1E20){rounded.md} (4px){colors.neutral-2} (#E8EEEE){spacing.md} (16px){colors.primary}Header Navigation
{colors.neutral-2} (#E8EEEE){spacing.md} 30px (12px 30px vertical, 30px horizontal){colors.primary}Outline Badge
#2D2D30 (dark neutral)#4D4D50 (hairline)#E8EEEE{rounded.full} (9999px; pill-shaped)rgba(0, 0, 0, 0.35) 0px 4px 16px 0pxText Badge
#A8B0AF (neutral mid-tone)Filled Badge
{colors.neutral-2} (#E8EEEE)rgba(0, 0, 0, 0.85){rounded.md} (4px)Link Default
{colors.neutral-2} (#E8EEEE){colors.primary}, transform translate(2px) or translate(2px, -2px){colors.primary}Link Alternative
#0D1111 (dark ink){colors.primary}, transform translate(4px)#0D1111Footer Default
{colors.neutral-2} (#E8EEEE)#0D1111 (dark on light)Base unit: {spacing.xs} = 8px. All spacing follows a consistent scale:
{spacing.xxs} = 4px — micro spacing (icon padding, tight grouping){spacing.xs} = 8px — compact spacing (button padding, small gaps){spacing.sm} = 12px — standard component padding (cards, containers){spacing.md} = 16px — default margin/padding between elements{spacing.lg} = 20px — comfortable breathing room{spacing.xl} = 24px — section gutters and major spacing{spacing.xxl} = 32px — large section separation{spacing.xxxl} = 36px — major layout breaks{spacing.section} = 40px — standard section padding{spacing.band} = 44px — full-width band paddingUsage Context:
{spacing.sm} / {spacing.md}{spacing.sm} for compact layouts, {spacing.md} for spacious{spacing.section} or {spacing.band}{spacing.md} vertical, 30px horizontalMax Content Width: 1296px (measured at 1440px viewport)
Responsive Column Widths:
Grid Columns: 3 columns across all measured breakpoints (no responsive grid column count change)
Section Patterns:
Whitespace is architectural in this system; surfaces breathe through layered opacity rather than expansive empty space. Cards and containers use subtle background opacity (0.02–0.04) to sit above the canvas without visual heaviness. Navigation maintains ample vertical padding (12px top/bottom) but tight horizontal line-height, creating a horizontal rhythm. Section spacing uses consistent {spacing.section} or {spacing.band} padding, creating predictable vertical rhythm. Dark background + high-contrast text means whitespace is used sparingly; every gap is intentional and serves visual hierarchy.
{rounded.none} = 0px — buttons, sharp corners for precision UI{rounded.xs} = 2px — cards, minimal softness{rounded.sm} = 3px — subtle softness{rounded.md} = 4px — moderate radius for cards and inputs{rounded.lg} = 5px — images, small components{rounded.xl} = 6px — pill-shaped buttons, medium softness{rounded.xxl} = 8px — cards and containers, comfortable radius{rounded.r-10} = 10px — overlay/modal corners{rounded.r-12} = 12px — large containers{rounded.full} = 9999px — badges and fully pill-shaped elementsComponent Mapping:
{rounded.none} (sharp){rounded.xl} (6px pill){rounded.xs} to {rounded.xxl} (2–8px, context-dependent){rounded.full} (fully pill-shaped){rounded.r-10} (10px){rounded.md} (4px)| Level | Treatment | Use |
|---|---|---|
| Base / Flat | No shadow; surface opacity only | Page background, flat buttons, body text |
| Dropdown | rgba(0, 0, 0, 0.55) 0px 20px 40px -12px, rgba(0, 0, 0, 0.3) 0px 6px 16px -6px | Dropdown menus |
| Dropdown Alt | rgba(0, 0, 0, 0.4) 0px 8px 24px 0px | Alternative dropdown shadow |
| Outline | rgba(255, 255, 255, 0.06) 0px 0px 0px 1px | Subtle outline for focus/borders |
| Card | rgba(10, 10, 10, 0.18) 0px 30px 60px -24px, rgba(10, 10, 10, 0.1) 0px 10px 20px -10px | Cards with moderate lift |
| Badge | rgba(0, 0, 0, 0.35) 0px 4px 16px 0px | Badge shadow (measured) |
Shadow Philosophy: This system employs a layered-micro elevation strategy with careful opacity blending. Rather than relying on heavy drops, depth is achieved through:
0.02–0.04 for cards) provides cognitive depth without visual heavinessThe approach prioritizes subtlety and clarity over dramatic layering, reflecting the tool's focus on precision UI work.
The system employs opacity strategically for states and secondary content:
The system uses a simple layering hierarchy:
This allows dropdowns to sit above base content (z 10) while modals sit above all (z 20).
#34D399) sparingly for CTAs, focus states, and active highlights; it is the only colour that breaks through the dark aesthetic.{spacing.sm} for compact UI, {spacing.md} for standard spacing.{spacing.section} or {spacing.band} padding.#B08DF0, #3B82F6) for interactive states; they have no functional role in the system and should remain decorative.{colors.primary} outline for accessibility.| Viewport | Trigger | Content Width | Grid Cols | Nav Links | Heading Size | Body Size | Section Padding-X |
|---|---|---|---|---|---|---|---|
| 375px | Mobile | 335px | 3 | 16 | 34px | 16px | 12px |
| 768px | Tablet | 691px | 3 | 16 | 48px | 16px | 24px |
| 1024px | Small Desktop | 922px | 3 | 16 | 48px | 16px | 24px |
| 1280px | Desktop | 1152px | 3 | 16 | 48px | 16px | 24px |
| 1440px | Large Desktop | 1296px | 3 | 16 | 48px | 16px | 24px |
Breakpoint Strategy: No responsive breakpoint exists where navigation collapses into a toggle menu; the system maintains horizontal navigation links across all measured widths (375px–1440px). Headings scale up from 34px (mobile) to 48px (768px+). Section padding expands from 12px (mobile) to 24px (768px+). Grid remains 3 columns throughout; no reflow occurs. Content width grows linearly from 335px to 1296px.
All interactive elements maintain at least 44–48px in one dimension to satisfy touch accessibility on mobile devices.
{spacing.sm} (12px); headings scale to 34px; body text remains 16px.{spacing.md} (24px); headings scale to 48px.{spacing.md}; heading size holds at 48px; content width expands to full measured width.Use this mapping for rapid implementation:
{colors.primary} (#34D399) — all primary buttons, links on hover, focus states{colors.canvas} (#0D1111) — default page background{colors.ink} (#FFFFFF) — headings, high-contrast primary text{colors.hairline} (#1E1E20) — 1px dividers, subtle borders{colors.neutral-2} (#E8EEEE) — button outlines, light containers, footer background{colors.neutral-1} (#7A8180) — secondary text, disabled states{colors.error} (#FF1231) — error messages, destructive actions{colors.success} (#2DD4BF) — success states, positive feedback#0D1111) and pure ink (#FFFFFF) for all surfaces and text; contrast is guaranteed.#34D399) for CTAs only; every button, link hover, and focus state uses this colour to maintain visual consistency.rgba(147, 140, 120, 0.02) and rely on subtle colour shifts.{spacing.xs}); all padding and margin values should be multiples of 4 or 8 for grid harmony.{typography.display-xl} at -3.04px); this compression is a defining visual trait.{colors.primary} outline) against the dark canvas.#B08DF0, #3B82F6) have no measured role; they appear decorative only and their functional purpose is unclear.