Design Tokens
All values are resolved live from owll-tokens.css and lib/design.ts. Editing either source is immediately reflected here.
Typography
Live from lib/design.ts → tx. Each role is a complete set of 5 CSS-var references.
Semantic Styles — Tier 2
Owll Translator
--owll-text-displayHero H1. Most expressive text on the page.
Owll Translator
--owll-text-titleSection H2. "Translation that can be trusted."
Owll Translator
--owll-text-headingCard titles. "Real-time Voice Translation"
Owll Translator
--owll-text-bodyFeature descriptions and paragraph copy.
Owll Translator
--owll-text-uiNavigation, buttons, FAQ questions.
Owll Translator
--owll-text-captionHelper text, subtitles, breadcrumbs, attribution.
Owll Translator
--owll-text-microCopyright, footer fine print, legal.
Owll Translator
--owll-text-brandLogo / wordmark.
360K+
--owll-text-statKey metrics and numbers.
Responsive overrides — Tier 3 (owll-tokens.css)
At max-width: 768px: display 64px→36px, title 48px→32px. 7 remaining roles unchanged.
Primitives — Tier 1
Font Size
--owll-size-xs…--owll-size-sm…--owll-size-md…--owll-size-lg…--owll-size-xl…--owll-size-2xl…--owll-size-3xl…--owll-size-4xl…--owll-size-5xl…--owll-size-6xl…Font Weight
--owll-weight-light…--owll-weight-regular…--owll-weight-medium…--owll-weight-semibold…--owll-weight-bold…--owll-weight-extrabold…Letter Spacing
--owll-tracking-tightestDisplay & title--owll-tracking-tighterBrand wordmark--owll-tracking-tightBody & labels--owll-tracking-snugSubheadings & captions--owll-tracking-normalUI elementsLine Height
--owll-leading-noneWordmarks, stats--owll-leading-tightDisplay headline--owll-leading-snugTitles & headings--owll-leading-normalBody & UIColor
Swatches and values resolved live from owll-tokens.css. Accent palette sourced from lib/design.ts → accents.
Surface & Background
--owll-bg-pageDefault page--owll-bg-sectionAlternate fill--owll-bg-surfaceCard / raised--owll-bg-badgePill / tag--owll-bg-inverseDark inverseText
--owll-text-primaryHigh-emphasis--owll-text-secondaryMedium-emphasis--owll-text-tertiaryLow-emphasis--owll-text-mutedDisabled--owll-text-linkLinks--owll-text-inverseOn dark bgBrand Gradient
--owll-brand-fromDeep blue — 220°--owll-brand-viaSky blue — 207°--owll-brand-toCyan — 180°Functional
--owll-color-fg-successSuccess — 165°--owll-color-fg-warningWarning — 40°--owll-color-fg-errorError — 10°Assistive / Accent — Rotating Palette
Source of truth: lib/design.ts → accents[]. CSS vars --owll-accent-1…6 mirror these values.
accents[0] — --owll-accent-1Periwinkle blueaccents[1] — --owll-accent-2Sky blueaccents[2] — --owll-accent-3Terracotta orangeaccents[3] — --owll-accent-4Seafoam greenaccents[4] — --owll-accent-5Warm amberaccents[5] — --owll-accent-6Soft lilacBorder Radius
Named by role rather than size, mapped to the primitive radius scale.
control…Toggle / small buttonschip…FAQ rows, review cardsicon…Icon containers, badgesbutton…Primary CTA buttonsimage…Feature imagescard…Hero card, section cardspill…Tag pillsShadow
Spacing
Semantic names alias the numeric primitive scale. Bar widths driven by var() — no hardcoded px.
--owll-gap-tight→ --owll-space-2 · Tight gap--owll-gap-base→ --owll-space-4 · Standard gap--owll-gap-loose→ --owll-space-8 · Generous gap--owll-gap-section→ --owll-space-12 · Section gap--owll-card-padding→ --owll-space-8 · Card inner padding--owll-section-px→ --owll-space-10 · Section horizontal (desktop)--owll-section-py→ --owll-space-24 · Section verticalFont Families
Resolved live — preview uses var(--token) directly.
--owll-font-displayBody, UI, heading roles--owll-font-serifH2 title & heading roles--owll-font-brandLogo / wordmark--owll-font-statKey metrics