Skip to content

Theming

SM products override the --accent CSS variable to apply their brand color throughout the UI. The design token system handles the rest automatically.

The --accent Variable

@nomadahq/sm-ui/css defines --accent as the Sprint Mode blue by default. Products override it in their own CSS:

css
/* In your product's root CSS file — applied at :root or on the app container */
:root {
  --accent:       #7947d1;   /* Studios purple */
  --accent-10:    hsla(266, 48%, 54%, 0.10);
  --accent-20:    hsla(266, 48%, 54%, 0.20);
  --accent-hover: #6535c0;
  --accent-tint:  #f1ecfa;
}

Product Color Reference

Product--accent--accent-tint
Sprint Mode#2362ea (blue)#e9effc
Studios#7947d1 (purple)#f1ecfa
Mode#f4930a (orange)#fdf4e6
Hub#2362ea (blue)#e9effc
Sprint Capital#1fac6a (green)#e8f6f0
PrivacyAI#0fb67f (teal)#e7f7f2

Full Token Reference

Import @nomadahq/sm-ui/css to get all tokens:

css
/* Brand */
--blue:        hsl(221, 83%, 53%);   /* #2362ea */
--blue-hover:  hsl(221, 83%, 45%);
--blue-10:     hsla(221, 83%, 53%, 0.1);
--blue-20:     hsla(221, 83%, 53%, 0.2);

/* Text */
--foreground:  hsl(0, 0%, 9%);       /* near-black */
--muted:       hsl(220, 9%, 40%);    /* secondary text */

/* Surfaces */
--bg:          hsl(0, 0%, 100%);
--bg-subtle:   hsl(220, 14%, 97%);   /* off-white */
--bg-card:     hsl(0, 0%, 100%);

/* Borders */
--border:      hsl(214, 32%, 91%);

/* Semantic */
--green:       hsl(142, 71%, 45%);
--green-light: hsl(142, 71%, 95%);
--red:         hsl(0, 84%, 60%);
--red-light:   hsl(0, 84%, 96%);
--amber:       hsl(38, 92%, 50%);
--amber-light: hsl(38, 92%, 95%);

/* Layout */
--radius:      0.75rem;
--radius-sm:   0.5rem;
--max-w-app:   72rem;
--sidebar-w:   248px;
--font:        'Noto Sans', system-ui, -apple-system, sans-serif;

Dark Mode

Dark mode is automatic via prefers-color-scheme. The token file handles it:

css
@media (prefers-color-scheme: dark) {
  :root {
    --foreground:  hsl(0, 0%, 93%);
    --muted:       hsl(220, 9%, 60%);
    --bg:          hsl(220, 14%, 10%);
    --bg-subtle:   hsl(220, 14%, 8%);
    --bg-card:     hsl(220, 14%, 13%);
    --border:      hsl(214, 20%, 20%);
  }
}

Never build a manual dark mode toggle. System setting drives theme automatically.

Typography

Font is always Noto Sans. The token CSS imports it from Google Fonts automatically.

css
body {
  font-family: var(--font);
  -webkit-font-smoothing: antialiased;
}

Do not use any other font in SM products.

Logo Usage

Always use the provided logo files. Never recreate them. Use the <picture> element for automatic dark mode switching:

html
<picture>
  <source
    srcset="/logo-sprint-mode-horizontal-dark.png"
    media="(prefers-color-scheme: dark)"
  >
  <img src="/logo-sprint-mode-horizontal.png" alt="Sprint Mode" height="32">
</picture>

Both light and dark logo variants must be copied into each portal's own repo — never referenced cross-domain.

Logo files live in _jockey/brand-assets/ in the nomadahq/sprint-mode repo.

Sprint Mode LLC — Internal Platform Documentation