Next.js / Remix / SvelteKit

Strelka Grid

A design kit distilled from an editorial event poster in the Swiss grid tradition. The visual identity rests on three flat surface colors — near-white, mint teal (#3bbc8f), and dusty rose (#ecb6c3) — applied as full-width horizontal section bands separated by 1px hairline borders. There are zero border-radii, zero drop shadows, and zero gradients. Hierarchy is created entirely through typographic scale, uppercase labelling, and color-band alternation. The system ports naturally into structured dashboards, event platforms, ticketing interfaces, and editorial web applications that need a precise, institution-grade aesthetic.

swiss-grid
editorial
poster
flat
hairline
monochromatic
institutional
structured
teal
rose
alternating-bands

strelkagrid.com

strelka-grid

HSU AT STRELKA — LECTURE

A structured grid system for institutional publishing and event programmes

VIEW PROGRAMMETokens

strelkagrid.com

strelka-grid

HSU AT STRELKA — LECTURE

A structured grid system for institutional publishing and event programmes

VIEW PROGRAMMETokens

Agent Prompt Surface

---
# Machine-readable tokens (the WHAT). The prose body gives the WHY + the rules.
colors:
  roles_light:
    background: "#F3F3F3"
    foreground: "#1A1A1A"
    card: "#FFFFFF"
    card-foreground: "#1A1A1A"
    popover: "#FFFFFF"
    popover-foreground: "#1A1A1A"
    primary: "#3BBC8F"
    primary-foreground: "#0A1F16"
    secondary: "#ECB6C3"
    secondary-foreground: "#1A1A1A"
    muted: "#E6E6E6"
    muted-foreground: "#555555"
    accent: "#F4B7C7"
    accent-foreground: "#1A1A1A"
    destructive: "#C0392B"
    destructive-foreground: "#FFFFFF"
    border: "#C8C8C8"
    input: "#E8E8E8"
    ring: "#3BBC8F"
    success: "#3BBC8F"
    success-foreground: "#0A1F16"
    warning: "#E8891A"
    warning-foreground: "#1A1A1A"
    chart-1: "#3BBC8F"
    chart-2: "#ECB6C3"
    chart-3: "#275C44"
    chart-4: "#A2A2A2"
    chart-5: "#F0A030"
  palette:
    - { name: "mint-teal", hex: "#3bbc8f", role: "primary" }
    - { name: "sage-teal", hex: "#46b48d", role: "surface-band" }
    - { name: "muted-teal", hex: "#54b393", role: "muted" }
    - { name: "dark-forest", hex: "#275c44", role: "dark-variant" }
    - { name: "dark-muted-teal", hex: "#384942", role: "dark-variant" }
    - { name: "light-mint", hex: "#60dcad", role: "data-viz" }
    - { name: "dusty-rose", hex: "#ecb6c3", role: "secondary" }
    - { name: "light-rose", hex: "#f4b7c7", role: "accent" }
    - { name: "muted-rose", hex: "#dbacbc", role: "muted" }
    - { name: "scored-pink", hex: "#fcb9cb", role: "data-viz" }
    - { name: "near-white", hex: "#f3f3f3", role: "background" }
    - { name: "off-white", hex: "#f0f0f0", role: "surface" }
    - { name: "light-border", hex: "#c8c8c8", role: "border" }
    - { name: "near-black", hex: "#1a1a1a", role: "foreground" }
    - { name: "dark-green-ink", hex: "#0a1f16", role: "foreground-on-primary" }
    - { name: "mid-gray", hex: "#a2a2a2", role: "muted" }
    - { name: "dim-gray", hex: "#555555", role: "muted-foreground" }
    - { name: "amber", hex: "#e8891a", role: "warning" }
    - { name: "amber-light", hex: "#f0a030", role: "warning-dark" }

shadcn CSS Variables

/* Generated by Identity Forge design kits */
@import url("https://fonts.googleapis.com/css2?family=Barlow:wght@400;500;600;700&family=Space%20Mono:wght@400;700&display=swap");

:root {
  --radius: 0rem;
  --font-heading: 'Barlow', sans-serif;
  --font-sans: 'Barlow', sans-serif;
  --font-mono: 'Space Mono', monospace;
  --background: 0 0% 95%;
  --foreground: 0 0% 10%;
  --card: 0 0% 100%;
  --card-foreground: 0 0% 10%;
  --popover: 0 0% 100%;
  --popover-foreground: 0 0% 10%;
  --primary: 159 52% 48%;
  --primary-foreground: 154 51% 8%;
  --secondary: 346 59% 82%;
  --secondary-foreground: 0 0% 10%;
  --muted: 0 0% 90%;
  --muted-foreground: 0 0% 33%;
  --accent: 344 73% 84%;
  --accent-foreground: 0 0% 10%;
  --destructive: 6 63% 46%;
  --destructive-foreground: 0 0% 100%;
  --border: 0 0% 78%;
  --input: 0 0% 91%;
  --ring: 159 52% 48%;
  --success: 159 52% 48%;
  --success-foreground: 154 51% 8%;
  --warning: 32 82% 51%;
  --warning-foreground: 0 0% 10%;
  --chart-1: 159 52% 48%;
  --chart-2: 346 59% 82%;
  --chart-3: 153 40% 26%;
  --chart-4: 0 0% 64%;
  --chart-5: 35 86% 56%;
  --shadow-sm: none;
  --shadow-md: none;
  --shadow-lg: none;
  --shadow-xl: none;
  --gradient-hero: linear-gradient(180deg, #3bbc8f 0%, #2fa07a 100%);
  --gradient-brand: linear-gradient(180deg, #ecb6c3 0%, #e0a3b2 100%);
  --gradient-subtle: linear-gradient(180deg, #f3f3f3 0%, #e6e6e6 100%);
  --duration: 150ms;
  --duration-slow: 280ms;
  --ease: cubic-bezier(0.0, 0.0, 0.2, 1);
  --tracking-tight: 0em;
  --tracking-normal: 0.04em;
  --font-weight-heading: 700;
  --font-weight-body: 400;
  --button-radius: 0rem;
  --card-radius: 0rem;
  --input-radius: 0rem;
  --badge-radius: 0rem;
  --border-width: 1px;
  --card-border-width: 1px;
  --input-border-width: 1px;
  --button-border-width: 1px;
  --badge-border-width: 1px;
  --heading-transform: uppercase;

Install Targets

Registry

/r/strelka-grid.json

Tailwind v4

@theme inline {
  --font-heading: 'Barlow', sans-serif;
  --font-sans: 'Barlow', sans-serif;
  --font-mono: 'Space Mono', monospace;
  --color-background: hsl(var(--background));
  --color-foreground: hsl(var(--foreground));
  --color-card: hsl(var(--card));
  --color-card-foreground: hsl(var(--card-foreground));
  --color-popover: hsl(var(--popover));
  --color-popover-foreground: hsl(var(--popover-foreground));
  --color-primary: hsl(var(--primary));
  --color-primary-foreground: hsl(var(--primary-foreground));
  --color-secondary: hsl(var(--secondary));
  --color-secondary-foreground: hsl(var(--secondary-foreground));
  --color-muted: hsl(var(--muted));
  --color-muted-foreground: hsl(var(--muted-foreground));
  --color-accent: hsl(var(--accent));
  --color-accent-foreground: hsl(var(--accent-foreground));
  --color-destructive: hsl(var(--destructive));
  --color-destructive-foreground: hsl(var(--destructive-foreground));
  --color-border: hsl(var(--border));
  --color-input: hsl(var(--input));
  --color-ring: hsl(var(--ring));
  --color-success: hsl(var(--success));
  --color-success-foreground: hsl(var(--success-foreground));
  --color-warning: hsl(var(--warning));
  --color-warning-foreground: hsl(var(--warning-foreground));
  --color-chart-1: hsl(var(--chart-1));
  --color-chart-2: hsl(var(--chart-2));
  --color-chart-3: hsl(var(--chart-3));
  --color-chart-4: hsl(var(--chart-4));
  --color-chart-5: hsl(var(--chart-5));
  --radius-sm: 0rem;
  --radius-md: 0rem;
  --radius-lg: 0rem;
  --radius-xl: 0rem;
  --radius-button: 0rem;
  --radius-card: 0rem;
  --radius-input: 0rem;
  --radius-badge: 0rem;
  --border-width: 1px;
  --card-border-width: 1px;
  --input-border-width: 1px;
  --button-border-width: 1px;
  --badge-border-width: 1px;
  --shadow-sm: none;
  --shadow-md: none;
  --shadow-lg: none;
  --shadow-xl: none;
  --tracking-tight: 0em;
  --tracking-normal: 0.04em;
  --ease-kit: cubic-bezier(0.0, 0.0, 0.2, 1);
  --duration-kit: 150ms;
  --duration-kit-slow: 280ms;
  --gradient-hero: linear-gradient(180deg, #3bbc8f 0%, #2fa07a 100%);
  --gradient-brand: linear-gradient(180deg, #ecb6c3 0%, #e0a3b2 100%);
  --gradient-subtle: linear-gradient(180deg, #f3f3f3 0%, #e6e6e6 100%);
  --font-weight-heading: 700;
  --font-weight-body: 400;
}

Registry payload

{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "strelka-grid",
  "type": "registry:theme",
  "title": "Strelka Grid",
  "description": "Swiss International Style poster system built on alternating teal and dusty-rose section bands, strict 1px hairline grid rules, and all-caps neutral grotesque typography.",
  "categories": [
    "swiss-grid",
    "editorial",
    "poster",
    "flat",
    "hairline",
    "monochromatic",
    "institutional",
    "structured",
    "teal",