taste-skill / Style guides / Railway style

How to build a UI in the Railway style

Railway (railway.com) reads as Deep Cosmic Violet Infrastructure & IBM Plex Serif Editorial — Atmospheric #13111C cosmic violet-black canvas with #1B2132 / #291839 elevated deployment cards, rgba(255,255,255,0.1) hairlines, and 54px IBM Plex Serif display headings (-0.036em tracking). This guide turns its extracted computed styles into an implementation kit: a live preview, the exact palette and type scale, real button and card recipes, the rules to avoid, and drop-in CSS variables, Tailwind config and a Cursor / Claude Code SKILL.md snippet.

Source: computed styles extracted from https://railway.com on 2026-10-26 by the taste-skill extractor. Brand fonts may be proprietary; previews fall back to Inter / system fonts. Railway is a trademark of its owner; this page documents publicly visible styling for reference and is not affiliated with Railway.

Live preview with Railway tokens

Railway style · dark
Ship the product, not the pixels.
Preview text rendered with the extracted Railway canvas, text, muted and accent tokens.
Deploy
Card on surface + border tokens
Accent link: #8B5CF6 · border rgba(255, 255, 255, 0.1)

Color palette (dark mode)

RoleValueTailwindUsage
canvasBg#13111Cbg-[#13111C]Primary Railway page canvas
surfaceElevated#1B2132bg-[#1B2132]Primary elevated card & bento surface
surfaceSecondary#553F83bg-[#553F83]Secondary interactive container / hover fill
borderPrimaryrgba(255, 255, 255, 0.1)border-white/[0.1]Primary structural divider (1px rgba(255,255,255,0.1))
borderSecondary#33323Eborder-[#33323E]Secondary nested module or pill border
textPrimary#FFFFFFtext-whiteHero H1, section H2 & high-contrast foreground
textMuted#9593A8text-[#9593A8]Lead paragraphs, descriptions & muted labels
accentPrimary#8B5CF6bg-[#8B5CF6]Primary interactive CTA & brand highlight (8px)
accentSecondary#553F83text-[#553F83]Secondary badge, syntax or telemetry highlight

Typography

Heading IBM Plex Serif · body Inter · mono IBM Plex Mono

LevelComputed spec
Hero H154px | line-height 60.5px (leading-[1.12]) | letter-spacing -1.96px (tracking-[-0.036em]) | weight 500 (font-[500]) | color #FFFFFF (text-white) | font IBM Plex Serif
Section H2 (Primary)40px | line-height 48px (leading-[1.2]) | letter-spacing -0.8px (tracking-[-0.02em]) | weight 400 (font-[400]) | color #FFFFFF (text-white) | font IBM Plex Serif
Card / Feature H3Subheading with crisp line-height
Body Copy (Paragraph)20px | line-height 28px (leading-[1.4]) | letter-spacing 0px (tracking-[0em]) | weight 400 (font-[400]) | color rgba(255, 255, 255, 0.8) (text-white/[0.8]) | font Inter
Monospace / Code Block12px | line-height 18px (leading-[1.5]) | letter-spacing 0px (tracking-[0em]) | weight 400 (font-[400]) | color #DFAF2A (text-[#DFAF2A]) | font ui-monospace

Spacing, radius, depth and motion

Token familyMost frequent values (count on page)
Border radius8px ×14 · 6px ×6 · 16px ×2 · 10px ×1
Box shadowrgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(255, 255, 255, 0.2) 0px 0px 0px 1.5px inset ×1 · rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(62, 45, 45, 0.24) 0px 100px 191px 0px, rgba(62, 45, 45, 0.165) 0px 36.5016px 69.7181px 0px, rgba(62, 45, 45, 0.133) 0px 17.7209px 33.8469px 0px, rgba(62, 45, 45, 0.106) 0px 8.6871px 16.5924px 0px, rgba(62, 45, 45, 0.075) 0px 3.43489px 6.56065px 0px ×1 · rgba(65, 78, 166, 0.1) 0px -12px 127px 0px, rgba(65, 78, 166, 0.07) 0px -4.38px 46.357px 0px, rgba(65, 78, 166, 0.06) 0px -2.127px 22.506px 0px, rgba(65, 78, 166, 0.04) 0px -1.042px 11.033px 0px, rgba(65, 78, 166, 0.03) 0px -0.412px 4.362px 0px ×1
Grid / flex gap8px ×11 · 12px ×1 · normal 32px ×1
Container max-width1160px ×2 · 740px ×1
Section vertical padding128px / 96px ×1
Easingcubic-bezier(0.4, 0, 1, 1) ×4 · cubic-bezier(0.4, 0, 0.2, 1) ×3 · ease-in-out ×2
Duration0.15s ×10

Component recipes

Buttons (1 distinct)

RenderedHeightPaddingRadiusBackground / TextBorderFont
Deploy32px0px 0px8px#291839
#F7F7F8
none16px / 400

No card container was detected on the extracted page; use #1B2132 surface with rgba(255, 255, 255, 0.1) border.

Rules: what never to do in the Railway style

Copy-paste kit

CSS variables
:root {
  /* Railway style — extracted from railway.com by taste-skill */
  --canvas: #13111C;
  --surface: #1B2132;
  --text: #FFFFFF;
  --text-muted: #9593A8;
  --accent: #8B5CF6;
  --border: rgba(255, 255, 255, 0.1);
  --font-heading: 'IBM Plex Serif', Inter, system-ui, -apple-system, sans-serif;
  --font-body: Inter, Inter, system-ui, -apple-system, sans-serif;
  --font-mono: 'IBM Plex Mono', 'JetBrains Mono', ui-monospace, monospace;
  --h1-size: 54px;
  --h1-tracking: -0.036em;
  --h1-weight: 500;
  --radius-button: 8px;
  --radius-common: 8px;
  --shadow-common: rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(255, 255, 255, 0.2) 0px 0px 0px 1.5px inset;
  --ease: cubic-bezier(0.4, 0, 1, 1);
  --duration: 0.15s;
}
tailwind.config.js
// tailwind.config.js — Railway style tokens (taste-skill)
module.exports = {
  theme: {
    extend: {
      colors: {
        canvas: "#13111C",
        surface: "#1B2132",
        ink: "#FFFFFF",
        muted: "#9593A8",
        accent: "#8B5CF6",
        line: "rgba(255, 255, 255, 0.1)",
      },
      fontFamily: {
        heading: ["IBM Plex Serif", 'Inter', 'system-ui', 'sans-serif'],
        sans: ["Inter", 'Inter', 'system-ui', 'sans-serif'],
        mono: ["IBM Plex Mono", 'ui-monospace', 'monospace'],
      },
      fontSize: { display: ["54px", { letterSpacing: "-0.036em", fontWeight: "500" }] },
      borderRadius: { button: "8px", card: "8px" },
      boxShadow: { brand: "rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(255, 255, 255, 0.2) 0px 0px 0px 1.5px inset" },
      transitionTimingFunction: { brand: "cubic-bezier(0.4, 0, 1, 1)" },
    },
  },
};
.cursor/skills/railway-style/SKILL.md
---
name: railway-style
description: Build UI in the Railway visual style (Deep Cosmic Violet Infrastructure & IBM Plex Serif Editorial). Use when the user asks for a Railway-like look.
---

# Railway Style — Quick Rules (source: railway.com, extracted by taste-skill)

## Tokens
- canvasBg: #13111C — Primary Railway page canvas
- surfaceElevated: #1B2132 — Primary elevated card & bento surface
- surfaceSecondary: #553F83 — Secondary interactive container / hover fill
- borderPrimary: rgba(255, 255, 255, 0.1) — Primary structural divider (1px rgba(255,255,255,0.1))
- borderSecondary: #33323E — Secondary nested module or pill border
- textPrimary: #FFFFFF — Hero H1, section H2 & high-contrast foreground
- textMuted: #9593A8 — Lead paragraphs, descriptions & muted labels
- accentPrimary: #8B5CF6 — Primary interactive CTA & brand highlight (8px)
- accentSecondary: #553F83 — Secondary badge, syntax or telemetry highlight

## Typography
- Heading font: IBM Plex Serif; body: Inter; mono: IBM Plex Mono
- Hero H1: 54px | line-height 60.5px (leading-[1.12]) | letter-spacing -1.96px (tracking-[-0.036em]) | weight 500 (font-[500]) | color #FFFFFF (text-white) | font IBM Plex Serif
- Section H2 (Primary): 40px | line-height 48px (leading-[1.2]) | letter-spacing -0.8px (tracking-[-0.02em]) | weight 400 (font-[400]) | color #FFFFFF (text-white) | font IBM Plex Serif
- Card / Feature H3: Subheading with crisp line-height
- Body Copy (Paragraph): 20px | line-height 28px (leading-[1.4]) | letter-spacing 0px (tracking-[0em]) | weight 400 (font-[400]) | color rgba(255, 255, 255, 0.8) (text-white/[0.8]) | font Inter

## Components
- Primary button: height 32px, padding 0px 0px, radius 8px, bg #291839, text #F7F7F8, 16px / 400
- Card: bg #1B2132, border 1px solid rgba(255, 255, 255, 0.1)

## Never
- NEVER substitute generic uncalibrated gray backgrounds for Railway’s exact #13111C canvas and #1B2132 surface pairing.
- NEVER replace IBM Plex Serif display typography or ignore its signature scale (54px / -0.036em (w500)).
- NEVER use thick opaque borders that clash with rgba(255, 255, 255, 0.1) (1px rgba(255,255,255,0.1)).
- NEVER deviate from the signature button geometry (8px) or introduce off-brand saturated gradients.
- NEVER use default browser monospace when rendering code or telemetry—always pair with IBM Plex Mono.

Full 120-line spec: https://taste-skill.pages.dev/taste/railway/
Or install the full spec
npx taste-skill add railway

Related

Similar styles

Get all 30 full SKILL.md specs (Cursor / Claude Code / Codex ready) plus the Pro growth skills.

See taste-skill Pro →