Skip to content

Surfaces & Effects

No shadow tokens. Depth is expressed through background tone only. Drop shadows imply a single light source. There is no single light source in the swamp.

LevelTokenHexContext
Base--color-background-base#0e1115Page background
Surface--color-background-surface#161b22Cards, primary panels
Surface 2--color-background-surface-alt#1c2330Inputs, nested elements

Three levels. No further nesting.

Tokenised, not ad hoc:

TokenValueUse
--surface-glass-backgroundrgba(18, 18, 18, 0.65)Glass panel background
--surface-blur-radius24pxbackdrop-filter: blur() value
--surface-noise-opacity0.15SVG <feTurbulence> grain overlay

backdrop-filter: blur() is unreliable inside a transparent WKWebView window on macOS. When "transparent": true in tauri.conf.json:

Fallback: Replace backdrop-filter with faux-glass — more opaque surface tokens + SVG noise texture layer. The SVG grain provides physical-depth illusion without the blur calculation.

Detect platform via Tauri’s platform API at runtime.

<svg width="0" height="0">
<filter id="grain">
<feTurbulence type="fractalNoise" baseFrequency="0.65" numOctaves="3" />
</filter>
</svg>

Applied via mix-blend-mode: overlay on glassmorphic surfaces. Resolution-independent, low-memory, no image assets.

Reserved for scarcity-dependent moments only:

TokenValuePermitted use
--glow-primary0 0 10px cyan-glow, 0 0 20px cyan-alpha-08Primary button hover
--glow-text0 0 5px/10px/20px cyan at decreasing opacitySaltie speech (rare warmth), ceremonial display

Glow on standard UI elements (cards, inputs, labels, borders) is not permitted. The bioluminescent effect depends on scarcity.

TokenValueUse
--radius-sm4pxTokens, badges, small inline elements
--radius-md8pxButtons, inputs, small cards
--radius-lg12pxCards, panels, overlays
--radius-xl20pxLarge modals, feature panels
--radius-pill100pxTags, status pills

Border-left accent strips use border-radius: 0 on the accent side.