U

DESIGN.md · Analysis

Unicatu

unicatu.com · 10 Jul 2026 · 47 colors · DM Sans

Unicatu

A minimal, accessible browser-verification interface that prioritizes clarity and user reassurance through a clean, centered composition with a distinctive indigo accent spinner.

Colors

surface#ffffff
surface-dim#f5f5f5
surface-bright#ffffff
surface-container-lowest#fafafa
surface-container-low#f0f0f0
surface-container#e9ecef
surface-container-high#e0e0e0
surface-container-highest#d0d0d0
on-surface#1a1a1a
on-surface-variant#666666
inverse-surface#1a1a1a
inverse-on-surface#ffffff
outline#d0d0d0
outline-variant#c0c0c0
surface-tint#6366f1
primary#6366f1
on-primary#ffffff
primary-container#e5e4ff
on-primary-container#4f46e5
inverse-primary#b4b0ff
secondary#505050
on-secondary#ffffff
secondary-container#e9ecef
on-secondary-container#2d2d2d
tertiary#666666
on-tertiary#ffffff
tertiary-container#f0f9fa
on-tertiary-container#505050
error#d32f2f
on-error#ffffff
error-container#ffebee
on-error-container#c62828
primary-fixed#e5e4ff
primary-fixed-dim#d4d1ff
on-primary-fixed#1a1a1a
on-primary-fixed-variant#4f46e5
secondary-fixed#e9ecef
secondary-fixed-dim#d0d0d0
on-secondary-fixed#1a1a1a
on-secondary-fixed-variant#505050
tertiary-fixed#f0f9fa
tertiary-fixed-dim#d4e8eb
on-tertiary-fixed#1a1a1a
on-tertiary-fixed-variant#505050
background#ffffff
on-background#1a1a1a
surface-variant#e9ecef

Typography

display
fontFamily: DM Sans · fontSize: 56px · fontWeight: 600 · lineHeight: 64px · letterSpacing: -0.02em
headline-lg
fontFamily: DM Sans · fontSize: 32px · fontWeight: 600 · lineHeight: 40px · letterSpacing: -0.01em
headline-md
fontFamily: DM Sans · fontSize: 24px · fontWeight: 600 · lineHeight: 32px · letterSpacing: 0em
title-lg
fontFamily: DM Sans · fontSize: 20px · fontWeight: 600 · lineHeight: 28px · letterSpacing: 0.01em
body-lg
fontFamily: DM Sans · fontSize: 18px · fontWeight: 400 · lineHeight: 28px · letterSpacing: 0em
body-md
fontFamily: DM Sans · fontSize: 16px · fontWeight: 400 · lineHeight: 24px · letterSpacing: 0em
label-md
fontFamily: DM Sans · fontSize: 14px · fontWeight: 600 · lineHeight: 20px · letterSpacing: 0.01em
label-sm
fontFamily: DM Sans · fontSize: 12px · fontWeight: 500 · lineHeight: 16px · letterSpacing: 0.02em

Design guidance

Overview

Unicatu is a minimal, accessibility-first browser-verification interface that embodies the 'Functional Minimalism' aesthetic—a design philosophy that strips away all non-essential visual elements to create a calm, focused user experience. The interface serves users during a security check, prioritizing reassurance and clarity through centered composition, generous whitespace, and a single, purposeful accent color. The brand personality is patient and transparent: the UI communicates status without urgency, using a soft indigo spinner (#6366f1) as the sole visual anchor against a clean white canvas. The tone is conversational yet professional, avoiding jargon while maintaining technical credibility. Example voice: 'Please wait for up to 5 seconds—we're verifying your browser.'

Colors

The color system is built on a high-contrast, light-mode foundation with a single accent. Primary (#6366f1, a soft indigo) is reserved exclusively for the loading spinner and interactive focus states, creating a visual focal point that draws the eye without overwhelming. The primary-container (#e5e4ff) provides a subtle tinted background for the spinner's inactive border, creating depth through transparency rather than saturation. On-surface (#1a1a1a) is the dominant text color, applied to the heading and domain name for maximum readability at 24px/600 weight. On-surface-variant (#666666) is used for supporting copy ('Please wait…') at 14px, maintaining hierarchy through weight and color rather than size alone. The surface stack (white #ffffff at the base, progressing through grays to #d0d

Typography

The typography system uses DM Sans exclusively, a geometric sans-serif that conveys both technical precision and human warmth. The hierarchy is built on weight and size rather than multiple typefaces: headline-md (24px, 600 weight, 1.4 line-height) anchors the primary message, while label-md (14px, 600 weight) and body-md (16px, 400 weight) support it. The generous line-height (1.4–1.5) and letter-spacing (-0.01em to 0em) create breathing room, essential for a page designed to calm rather than rush. On small screens (max-width: 480px), the headline scales to 18px and the spinner shrinks to 48px, maintaining proportional hierarchy. Apply text-rendering: optimizeLegibility and -webkit-font-smoothing: antialiased to all text elements to ensure crisp rendering across browsers.

Layout

The layout is a single-column, centered composition built on a 1-column grid with a max-width of 600px. The body uses flexbox (display: flex; justify-content: center; align-items: center; min-height: 100vh) to vertically and horizontally center the container, creating a meditative focal point. Padding of 20px on the body ensures the content never touches the viewport edge on mobile. The spinner sits 32px above the heading (margin: 0 auto 32px), and the heading sits 16px above the supporting text, using the md spacing token (24px) for section separation. This rhythm—64px spinner, 32px gap, 24px heading, 16px gap, 14px text—creates a visual cadence that feels intentional without being rigid. The container itself has no padding; all internal spacing is managed through margin on child elements

Elevation & Depth

Elevation in this system is minimal and purposeful, relying on subtle shadows rather than layering or depth gradients. The base level (Level 1) is the white background (#ffffff) with no shadow. Level 2 (interactive elements like dropdown panels) uses a single, soft shadow: box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15). This shadow is tight (3px blur, 8px spread) and dark enough to separate the panel from the background without creating visual drama. There is no Level 3; the design intentionally avoids stacked elevation to maintain the minimalist aesthetic. The spinner itself has no shadow; its dep

Shapes

The shape philosophy is 'Geometric Precision'—clean, predictable, and functional. The spinner uses border-radius: 50% to create a perfect circle, the only fully rounded element on the page. Dropdown panels and select options use border-radius: 4px (0.25rem), a subtle rounding that softens the corners without introducing visual softness. This distinction—full rounding for the primary interactive element (spinner), minimal rounding for secondary UI—creates a clear visual hierarchy. The 4px radius is applied consistently to all panel-based components (select-panel, select-option) to maintain a co

Components

Loading & Feedback The spinner-ring component is the visual anchor of the interface. It uses a 64px square container with a 4px border in primary-container (#e5e4ff), with the border-top colored in primary (#6366f1). The animation spins continuously at 1s per rotation (animation: spin 1s linear infinite), creating a gentle, non-aggressive loading indicator. On tablets (max-width: 768px), the spinner scales to 56px; on mobile (max-width: 480px), it shrinks to 48px with a 3px border-width to maintain visual weight. The spinner has no box-shadow; its depth is purely chromatic.

Typography & Messaging The heading-primary component applies headline-md (24px, 600 weight, 1.4 line-height) to the main message, with color set to on-surface (#1a1a1a). The heading-domain variant applies the s

Do's and Don'ts

**Do**

  • Do use the primary color (#6366f1) exclusively for interactive elements like spinners, focus states, and active indicators—never for backgrounds or body text.
  • Do maintain the centered, single-column layout on all screen sizes; use the responsive breakpoints (768px, 480px) to scale typography and spinner size proportionally.
  • Do apply the soft shadow (0 3px 8px rgba(0, 0, 0, 0.15)) to any elevated surface (dropdowns, modals) to create subtle depth without visual clutter.
  • Do use DM Sans at 600 weight for headings and 400 weight for body text; avoid mixing typefaces or using weights outside 400 and 600.
  • Do preserve the generous line-height (1.4–1.5) and whitespace; the minimalist aesthetic depends on breathing room, not compact layouts.

**Don't**

  • Don't use multiple accent colors or gradients; the single indigo (#6366f1) is the brand's only chromatic accent—all other colors are neutral or grayscale.
  • Don't apply shadows to the spinner or other primary interactive elements; depth should be chromatic (color contrast) rather than spatial.
  • Don't use border-radius values > 1rem (16px) except for the spinner (50%); the design relies on geometric precision, not organic softness.
  • Don't add animations or transitions beyond the spinner's 1s rotation; the interface should feel calm and deliberate, not playful or energetic.
  • Don't deviate from the 600px max-width container; wider layouts break the centered, meditative composition that defines the brand.