Mission Control 디자인 시스템 디자인 시스템.

Mission Control 디자인 시스템 디자인 시스템 — 우주/항공 임무 모니터링. 다크 커맨드 센터, 앰버 원격 측정, 모노스페이스 정밀도. 기능적 명확성 우선.

실제 적용 모습 보기

동일한 디자인 토큰을 웹사이트, 앱, 슬라이드, 포스터 등 다양한 아티팩트 종류에 적용한 모습입니다. 스크린샷이 아니라 이 시스템으로 다시 스킨을 입힌 오리지널 목업입니다.

웹사이트
슬라이드
포스터

디자인 토큰

Open Design 토큰 규약을 따르는 56개의 토큰 — agent가 어떤 아티팩트든 테마를 입힐 때 읽는 것과 동일한, 구조화된 팔레트, 타입, 간격, 모션 값입니다.

서피스

  • --bg #090b12
  • --surface #121722
  • --surface-warm #1b2233

텍스트

  • --fg #f8fafc
  • --fg-2 #cbd5e1
  • --muted #94a3b8
  • --meta #60a5fa

테두리

  • --border #2a3447
  • --border-soft #1d2636

액센트

  • --accent #60a5fa
  • --accent-on #06101d
  • --accent-hover color-mix(in oklab, var(--accent), black 8%)
  • --accent-active color-mix(in oklab, var(--accent), black 14%)

시맨틱

  • --success #26de81
  • --warn #fbbf24
  • --danger #ff4757

타이포그래피

  • --font-display Inter, system-ui, sans-serif
  • --font-body Inter, system-ui, sans-serif
  • --font-mono "SF Mono", ui-monospace, Menlo, monospace

타입 스케일

  • --text-xs 11px
  • --text-sm 12px
  • --text-base 14px
  • --text-lg 16px
  • --text-xl 20px
  • --text-2xl 28px
  • --text-3xl 40px
  • --text-4xl 56px
  • --leading-body 1.45
  • --leading-tight 1.06
  • --tracking-display -0.025em

간격

  • --space-1 4px
  • --space-2 8px
  • --space-3 12px
  • --space-4 16px
  • --space-5 20px
  • --space-6 24px
  • --space-8 32px
  • --space-12 48px
  • --section-y-desktop 80px
  • --section-y-tablet 60px
  • --section-y-phone 42px

모서리 반경

  • --radius-sm 10px
  • --radius-md 16px
  • --radius-lg 24px
  • --radius-pill 9999px

엘리베이션

  • --elev-flat none
  • --elev-ring 0 0 0 1px var(--border)
  • --elev-raised 0 24px 72px rgba(0, 0, 0, 0.42)

포커스

  • --focus-ring 0 0 0 4px rgba(96, 165, 250, 0.28)

모션

  • --motion-fast 100ms
  • --motion-base 180ms
  • --ease-standard cubic-bezier(0.2, 0, 0, 1)

레이아웃

  • --container-max 1280px
  • --container-gutter-desktop 36px
  • --container-gutter-tablet 24px
  • --container-gutter-phone 16px

Mission Control Design System

Category: Developer Tools Space/aerospace mission monitoring. Dark command center, amber telemetry, monospace precision. Functional clarity above all else.

1. Visual Theme & Atmosphere

A deep space command center — dark, information-dense, unambiguous. Every pixel earns its place. The aesthetic draws from NASA mission control rooms, SpaceX launch consoles, and ISRO’s mission operations complex. Amber data on navy is the core contrast pair; everything else is subdued.

ElementHexRole
Background#0B1120Deep space navy, primary canvas
Surface#111827Elevated panels, cards
Surface Hover#1A2535Interactive surface hover
Border#1E3A5FPanel dividers, subtle structure
Primary Data#FFB800Telemetry values, key metrics
Accent#00D4FFActive/healthy indicators
Alert#FF4757Critical warnings, errors
Text Primary#E8F0FEHigh-contrast readable text
Text Secondary#8BA3C7Labels, secondary information
Text Tertiary#4A6080Timestamps, metadata

Every readout must be readable at 3 meters in low light by someone who hasn’t slept in 18 hours.

Use Cases

Mission Control is purpose-built for:

  • Operations dashboards — real-time system health, infrastructure monitoring, on-call status boards
  • Build and deploy status screens — CI/CD pipelines, release coordination, incident response
  • Real-time monitoring UIs — telemetry aggregation, sensor networks, financial data feeds
  • Any information-dense, low-light, high-stakes display

Prior Art

NASA Mission Control (Houston), ISRO ISTRAC, SpaceX Falcon/Dragon consoles, ESA ESOC — all share amber-on-navy telemetry, monospace data fields, and hierarchical alert systems. The shared constraints (low light, fatigue, split-second decisions) drive convergent design.

2. Color

Surface Palette

TokenHexUsage
Background#0B1120Page canvas, primary depth
Surface#111827Panels, cards, elevated areas
Surface Hover#1A2535Interactive surface state
Surface Active#1E3A5FSelected, active panel
Border#1E3A5FPanel dividers, grid lines
Border Subtle#162035Inner dividers, minor separation

Data Palette (telemetry values)

TokenHexUsage
Primary#FFB800Primary telemetry values, key metrics
Secondary#00D4FFHealthy/active indicators, links
Alert Critical#FF4757Errors, critical alerts, abort states
Alert Warning#FF9F43Warnings, degraded performance
Success#26DE81Nominal status, completed actions

All data colors on #111827 pass WCAG AA (minimum 4.5:1).

Text Palette

TokenHexUsage
Primary#E8F0FEReadable at distance, primary content
Secondary#8BA3C7Labels, descriptors
Tertiary#4A6080Timestamps, metadata, grid labels

Dark Mode

Dark mode is the native mode. No light mode variant by design — mission control environments are always low-light (ISRO ISTRAC, NASA FDO, SpaceX launch consoles all run dark). daytime operations centers with high ambient light are outside scope for v1; a light mode adaptation would require rethinking the full semantic color layer.

:root {
  --bg-default: #0B1120;
  --bg-surface: #111827;
  --bg-surface-hover: #1A2535;
  --bg-surface-active: #1E3A5F;
  --border-default: #1E3A5F;
  --border-subtle: #162035;
  --data-primary: #FFB800;
  --data-secondary: #00D4FF;
  --data-alert-critical: #FF4757;
  --data-alert-warning: #FF9F43;
  --data-success: #26DE81;
  --fg-primary: #E8F0FE;
  --fg-secondary: #8BA3C7;
  --fg-tertiary: #4A6080;
}

Consumable bindings in tokens.css mirror the telemetry palette as --success (#26DE81) and --danger (#FF4757).

3. Typography

Font Stack

/* Monospace for all data readouts — consistency at speed */
--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;

/* Sans-serif for labels, navigation, prose */
--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;

Type Scale

RoleSizeWeightLine HeightFont
Display48px7001.0JetBrains Mono
H118px6001.2Inter
H213px6001.2Inter, uppercase, tracked
Body14px4001.5Inter
Caption12px4001.4Inter
Micro10px6001.0Inter, uppercase

Font labels for catalog extraction:

Display: "JetBrains Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace
Body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif
Mono: "JetBrains Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace

4. Spacing

4px baseline grid for dense telemetry layouts. 8px for outer padding, 16px+ for section gaps.

--space-1: 4px;   --space-2: 8px;   --space-3: 12px;  --space-4: 16px;
--space-5: 20px;  --space-6: 24px;  --space-8: 32px;   --space-12: 48px;
--space-16: 64px; --space-20: 80px;

5. Layout & Composition

Grid System

12-column grid, 4px gutters. Dense information layout — no wasted whitespace, but clear visual grouping.

/* Standard panel: spans 3, 4, or 6 columns */
.panel {
  background: var(--bg-surface);
  border: 1px solid var(--border-default);
  border-radius: 4px;
  padding: var(--space-4);
}

/* Full-width telemetry strip */
.telemetry-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: var(--space-2);
}

Panel Structure

/* .panel base styles are defined in the Grid System section above. */

.panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--space-3);
  padding-bottom: var(--space-2);
  border-bottom: 1px solid var(--border-subtle);
}

.panel-title {
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--fg-secondary);
}

6. Components

Status Badge

/* Nominal — green, all clear */
.badge-nominal {
  background: rgba(38, 222, 129, 0.15);
  color: #26DE81;
  border: 1px solid rgba(38, 222, 129, 0.3);
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 2px 8px;
  border-radius: 2px;
}

/* Warning — amber, attention needed */
.badge-warning {
  background: rgba(255, 159, 67, 0.15);
  color: #FF9F43;
  border: 1px solid rgba(255, 159, 67, 0.3);
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 2px 8px;
  border-radius: 2px;
}

/* Critical — red, immediate action */
.badge-critical {
  background: rgba(255, 71, 87, 0.15);
  color: #FF4757;
  border: 1px solid rgba(255, 71, 87, 0.3);
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 2px 8px;
  border-radius: 2px;
}

Data Tile

/* Single metric display */
.data-tile {
  background: var(--bg-surface);
  border: 1px solid var(--border-default);
  border-radius: 4px;
  padding: var(--space-3);
}

.data-tile-label {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--fg-secondary);
  margin-bottom: var(--space-1);
}

.data-tile-value {
  font-family: var(--font-mono);
  font-size: 24px;
  font-weight: 700;
  color: var(--data-primary);
  line-height: 1.0;
}

.data-tile-unit {
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 400;
  color: var(--fg-tertiary);
  margin-left: 4px;
}

Countdown Timer

/* T-minus / T-plus display */
.countdown {
  font-family: var(--font-mono);
  font-size: 48px;
  font-weight: 700;
  color: var(--data-primary);
  line-height: 1.0;
  letter-spacing: -0.02em;
}

.countdown-label {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--fg-tertiary);
}

/* Positive delta (T+) — time after event */
.countdown.positive { color: var(--data-success); }

/* At T-0 */
.countdown.zero { color: var(--data-secondary); animation: pulse-glow 2s ease-in-out infinite; }

@keyframes pulse-glow {
  0%, 100% { text-shadow: 0 0 8px currentColor; }
  50% { text-shadow: 0 0 20px currentColor, 0 0 40px currentColor; }
}

Signal Strength Indicator

/* Vertical bar signal meter */
.signal-bars {
  display: flex;
  align-items: flex-end;
  gap: 2px;
  height: 20px;
}

.signal-bar {
  width: 4px;
  background: var(--border-default);
  border-radius: 1px;
}

.signal-bar.active.weak    { background: var(--data-alert-warning); }
.signal-bar.active.moderate { background: var(--data-primary); }
.signal-bar.active.strong  { background: var(--data-secondary); }

.signal-bar:nth-child(1) { height: 5px; }
.signal-bar:nth-child(2) { height: 8px; }
.signal-bar:nth-child(3) { height: 12px; }
.signal-bar:nth-child(4) { height: 16px; }

Alert Banner

/* Full-width critical alert */
.alert-banner {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  background: rgba(255, 71, 87, 0.1);
  border: 1px solid rgba(255, 71, 87, 0.4);
  border-left: 4px solid #FF4757;
  border-radius: 4px;
  padding: var(--space-3) var(--space-4);
}

.alert-banner-icon {
  color: #FF4757;
  flex-shrink: 0;
}

.alert-banner-text {
  font-size: 14px;
  font-weight: 500;
  color: #FF4757;
}

.alert-banner-time {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--fg-tertiary);
  margin-left: auto;
  flex-shrink: 0;
}

Coordinate Display

/* Latitude / Longitude / Altitude readout */
.coordinate {
  font-family: var(--font-mono);
  font-size: 14px;
  color: var(--data-secondary);
}

.coordinate-label {
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--fg-tertiary);
  margin-bottom: 2px;
}

Progress Bar

/* Mission phase / upload / loading progress */
.progress-bar {
  height: 4px;
  background: var(--border-default);
  border-radius: 2px;
  overflow: hidden;
}

.progress-bar-fill {
  height: 100%;
  background: var(--data-secondary);
  border-radius: 2px;
  transition: width 300ms ease-out;
}

.progress-bar-fill.warning { background: var(--data-alert-warning); }
.progress-bar-fill.critical { background: var(--data-alert-critical); }

Telemetry Chart Line

/* Sparkline chart for data over time */
.telemetry-chart {
  height: 40px;
  display: flex;
  align-items: flex-end;
  gap: 1px;
}

.telemetry-chart-bar {
  flex: 1;
  background: var(--data-primary);
  border-radius: 1px 1px 0 0;
  min-width: 2px;
}

.telemetry-chart-bar.alert { background: var(--data-alert-critical); }
.telemetry-chart-bar.warning { background: var(--data-alert-warning); }

7. Motion & Interaction

InteractionDurationEasingEffect
Alert pulse2sease-in-outGlow intensity oscillation (loop)
Panel appear200msease-outOpacity 0→1
Value change150msease-outBackground flash on new data
Progress fill300msease-outWidth transition
Hover state100msease-inBorder color brightens
--transition-fast: 100ms ease-in;
--transition-base: 150ms ease-out;
--transition-slow: 300ms ease-out;

prefers-reduced-motion

Static environments are common in mission control. Replace all animations with instant state changes.

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

8. Voice & Brand

Iconography

Minimal, functional iconography — Lucide icons (stroke weight 1.5px, 16px default). No decorative icons. Every icon must communicate operational state.

Tone

  • Precise: Data-first, no marketing language
  • Sparse: The UI speaks through values and color, not prose
  • Hierarchical: Visual urgency maps directly to operational urgency

Visual Signals

Color is the primary signal carrier. Every color choice must communicate operational state — never decorative.

9. Anti-patterns

  • Do not use decorative colors in data displays — every hue must convey operational meaning
  • Do not use rounded corners > 4px — mission control is functional, not friendly
  • Do not use proportional fonts for telemetry values — use monospace exclusively for data
  • Do not animate non-alert elements — motion is reserved for signals that matter
  • Do not use light mode — low-light environments are the only context
  • Do not use low-contrast text on dark backgrounds — tertiary #4A6080 is only for non-critical metadata (timestamps, grid labels)
모드
design-system
장면
design
서피스
web
Manifest ID
design-system-mission-control

태그

  • design-system
  • first-party
  • design
  • developer-tools

Open Design 데스크톱

하나의 디자인 시스템으로 모든 결과물에 브랜드 일관성을

완전한 Vibe Design Workspace에서 하나의 브랜드 규칙을 웹사이트, 슬라이드, 인터랙티브 프로토타입, 대시보드, 이미지, HTML 영상에 적용하세요. 로컬 Codex, Claude Code, Cursor 등을 연결해 무료로 제작할 수 있습니다.

  • 웹, 슬라이드, 프로토타입, 대시보드, 이미지, 영상
  • 140개+ 디자인 시스템과 전체 템플릿·스킬 라이브러리
  • 로컬 Codex 및 21개+ 코딩 에이전트 연결 · 무료
무료 다운로드

macOS, Windows, Linux 지원