An iceberg
under the editor.
A design system for tools that feel like home in a dark editor — cool blues, frosted neutrals, restrained warmth. Built for documentation sites, developer dashboards, and portfolios where the canvas is the IDE.
Color tokens
Five-stop background ramp from deep midnight to selection blue. Foreground neutrals stay close to the bluish-white of compacted snow. Accents are pulled from the syntax palette and used sparingly — strings, types, errors, warnings.
Type system
Two families. Switzer for UI and prose — neutral grotesk, low-contrast strokes that hold up against the deep background. GeistMono for code, labels, and metadata — precise but warm. Negative tracking on display sizes; positive tracking on small caps.
Spacing & geometry
A 4-px base scale, doubling at the top end. Radii stay small — sharp by default, with one larger token reserved for hero surfaces. Soft borders (--bg-2) on every panel; firmer borders (--bg-3) on interactive containers.
Components
Atoms first. Each specimen below maps to a single file in /components. The header shows the component name and an inferred type signature — exactly what you'd see hovering the symbol in the editor.
main in 2.4s.Surfaces
Compositions: project cards as the system would render a portfolio grid. The thumb is a programmatic placeholder — a soft underwater glow, no faux imagery.