Rune Language
Reference

Rune Design System

Reference for all design tokens, typography, and component patterns used across the Rune Lang website. All values derive from DESIGN.md.


Color Tokens

Backgrounds

TokenDarkLightUsage
--rune-bg-base#0A0A0B#F5F2ECPage background
--rune-bg-raised#111114#EDEAE2Cards, code blocks
--rune-bg-overlay#18181C#E5E1D7Modals, dropdowns
--rune-bg-subtle#1E1E24#DBD7CCHover states, table rows

Borders

TokenDarkLight
--rune-borderrgba(255,255,255,0.07)rgba(0,0,0,0.08)
--rune-border-strongrgba(255,255,255,0.13)rgba(0,0,0,0.15)

Foreground

TokenDarkLightUsage
--rune-fg-base#E8E8EE#1A1A1FPrimary text
--rune-fg-muted#7A7A8C#6B6860Secondary text
--rune-fg-faint#3D3D4F#A8A49CDisabled, placeholders

Accent (Amber/Gold)

TokenDarkLight
--rune-accent#D4A24C#8B5E1A
--rune-accent-dim#9A6F2A#6B4712
--rune-accent-glowrgba(212,162,76,0.15)rgba(139,94,26,0.12)
--rune-accent-subtlergba(212,162,76,0.07)rgba(139,94,26,0.06)

Syntax Highlighting

TokenValueUsage
--rune-syn-keyword#C792EAlet, fn, if
--rune-syn-string#C3E88D"hello"
--rune-syn-number#F78C6C42, 3.14
--rune-syn-comment#546E7A# comment
--rune-syn-fn#82AAFFfunction names
--rune-syn-operator#89DDFF+, -, ==
--rune-syn-variable#EEFFFFidentifiers

Functional

TokenValueUsage
--rune-success#4ADE80Success
--rune-warning#FBBF24Warning
--rune-error#F87171Error

Typography

Font Stack

FamilyFontUsage
font-displayFrauncesHero, H1, H2
font-sansDM SansBody, navigation, UI
font-monoJetBrains MonoCode, badges, technical labels

Type Scale

TokenSizeWeightLine HeightUsage
--rune-hero5.5rem7001.0Hero headline only
--rune-h13.5rem7001.1Page titles
--rune-h22.25rem6001.2Section headings
--rune-h31.5rem6001.3Card titles
--rune-h41.125rem6001.4Sidebar headings
--rune-body1rem4001.7Body copy
--rune-sm0.875rem4001.6Captions
--rune-xs0.75rem5001.5Labels, tags, badges
--rune-code0.875rem4001.6Inline and block code

Rules

  • H1/H2 always use Fraunces at 700/600
  • H3/H4 may use DM Sans at 600
  • letter-spacing: -0.02em on H1 and above
  • text-wrap: balance on all headlines
  • Body line-height is 1.7

Spacing

4px base grid:

TokenValue
--space-14px
--space-28px
--space-312px
--space-416px
--space-520px
--space-624px
--space-832px
--space-1040px
--space-1248px
--space-1664px
--space-2080px
--space-2496px
--space-32128px

Section vertical rhythm: --space-24 between major sections, --space-16 between subsections.


Radius

TokenValueUsage
--rune-radius-sm4pxInline code, tags
--rune-radius-md8pxButtons, inputs
--rune-radius-lg12pxCards, code blocks

Layout

TokenValueUsage
--rune-max-content720pxProse, docs body
--rune-max-wide1100pxFeature grids
--rune-max-full1400pxOverall page wrapper

Component Patterns

Buttons

  • Primary: Amber bg, dark text, font-semibold, glow hover (box-shadow: 0 0 0 3px var(--rune-accent-glow))
  • Outline (secondary): Transparent + border-strong, amber border+text on hover
  • Ghost: Muted text, subtle bg on hover

Cards

  • bg-card (raised), border (no shadow), rounded-lg
  • Hover: border-strong + overlay bg transition

Badges

  • JetBrains Mono, tracking-[0.02em], pill shape
  • Default: muted bg + border + muted text
  • Accent: amber subtle bg + amber border + amber text

Tabs

  • Editor-like: transparent bg, bottom border
  • Active: amber bottom indicator, foreground text

Code Blocks

  • .rune-codeblock: raised bg, border, accent gradient top line
  • .rune-codeblock-header: overlay bg, border-bottom, mono font
  • Copy button visible on hover

Rune Composition Components

Located in components/rune/:

ComponentUsage
RuneCodeBlockSyntax-highlighted code with copy
RuneBadgeBadge wrapper with accent prop
RuneCalloutNote/Warning/Tip callout boxes
RuneFeatureCardLanding page feature cards
RuneArchitectureDiagramInterpreter pipeline diagram
RuneContainerMax-width wrapper (content/wide/full)
RuneSectionSection with vertical rhythm spacing

Motion

  • Entrance: 0.25s ease-out. Exit: 0.2s ease-in.
  • Stagger list items: 50ms delay increments
  • Scroll reveals: whileInView with cubic bezier [0.22, 1, 0.36, 1]
  • No infinite looping animations except optional hero typewriter