디자인 시스템
차분한 표면, 잘 맞는 컨트롤, 명확한 문서로 이루어진 Master 웹사이트의 공유 시각 언어입니다.
브랜드 가이드는 정체성을 정의합니다. 이 안내서는 이를 담는 인터페이스를 다룹니다. 밝은 모드의 Moonstone과 어두운 모드의 Obsidian, 하나의 재질 단계, 높낮이 순서, 예제 프레임 방식을 사용합니다.
작은 문서 작업 공간
작은 프로젝트 어휘
<article class="p-card r-card b(1) b-solid b-line-divider bg-surface-raised fg-text-body"> <p class="m(0) font-mono text-xs fg-brand">FIELD NOTES / 024</p> <h2 class="mt-sm mb-xs text-xl font-medium fg-text-strong">Room for the details</h2> <p class="m(0) text-sm">Color, spacing and radius come from three shared project tokens.</p></article>@theme { --color-brand: var(--color-text-link); --spacing-card: 1.5rem; --radius-card: .75rem;}생성된 CSS
@layer theme { :root, :host { --color-zinc-30: oklch(78% .0025 265); --color-zinc-70: oklch(39.8% .0028 265); --color-zinc-90: oklch(24.6% .0022 265); --color-zinc-100: oklch(15% .0016 265); --color-blue-30: oklch(72.87% .1468 249.3); --color-blue-60: oklch(51.83% .2687 266.1) } :root, :host { --color-surface-raised: light-dark(var(--color-white), var(--color-zinc-90)); --color-line-divider: light-dark(oklch(0% 0 none / .12), oklch(100% 0 none / .12)); --color-text-body: light-dark(var(--color-zinc-70), var(--color-zinc-30)); --color-text-strong: light-dark(var(--color-zinc-100), var(--color-white)); --color-text-link: light-dark(var(--color-blue-60), var(--color-blue-30)) } :root, :host { --color-white: oklch(100% 0 none) } :root, :host { --font-family-mono: var(--font-mono, ui-monospace), SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; --font-weight-medium: 500; --font-size-xs: .75rem; --font-size-sm: .875rem; --font-size-xl: 1.25rem; --text-xs: var(--font-size-xs); --text-xs--line-height: 1.5; --text-xs--letter-spacing: 0; --text-sm: var(--font-size-sm); --text-sm--line-height: 1.5; --text-sm--letter-spacing: 0; --text-xl: var(--font-size-xl); --text-xl--line-height: 1.4; --text-xl--letter-spacing: -.01em; --spacing-xs: .5rem; --spacing-sm: .75rem } :root, :host { --color-brand: var(--color-text-link); --spacing-card: 1.5rem; --radius-card: .75rem }}@layer utilities { .text-sm { font-size: var(--text-sm); line-height: var(--text-sm--line-height, normal); letter-spacing: var(--text-sm--letter-spacing, normal) } .text-xl { font-size: var(--text-xl); line-height: var(--text-xl--line-height, normal); letter-spacing: var(--text-xl--letter-spacing, normal) } .text-xs { font-size: var(--text-xs); line-height: var(--text-xs--line-height, normal); letter-spacing: var(--text-xs--letter-spacing, normal) } .bg-surface-raised { background-color: var(--color-surface-raised) } .b-line-divider { border-color: var(--color-line-divider) } .r-card { border-radius: var(--radius-card) } .b-solid { border-style: solid } .b\(1\) { border-width: calc(1 * 1px) } .fg-brand { color: var(--color-brand) } .fg-text-body { color: var(--color-text-body) } .fg-text-strong { color: var(--color-text-strong) } .font-mono { font-family: var(--font-family-mono) } .font-medium { font-weight: var(--font-weight-medium) } .m\(0\) { margin: calc(0 * 1px) } .mb-xs { margin-bottom: var(--spacing-xs) } .mt-sm { margin-top: var(--spacing-sm) } .p-card { padding: var(--spacing-card) }}- --color-brand
var(--color-text-link)- --spacing-card
1.5rem- --radius-card
.75rem
#레이어와 재질
모든 표면은 하나의 단계 위에 있습니다. 캔버스는 트레이를, 트레이는 밝은 스테이지를 담고 시트는 그 위로 떠오릅니다. 움푹 들어간 면은 주변보다 아래에 있습니다. 인터페이스는 단색을 유지하며 색조는 이름이 있는 학습 견본과 상태에만 사용합니다.
--ui-surface-canvas--ui-surface-tray--ui-surface-stage--ui-surface-sheet--ui-surface-well--ui-surface-float높낮이
sink < flat < rise-1 < rise-1h < rise-2 < rise-3 < overlay
동심 반경
3 · 4 · 6 · 8 · 10 · 14, nested by a 4px inset
#잘 맞는 컨트롤
컨트롤은 같은 재질과 상태 순서를 공유합니다. 떠 있는 면은 호버 시 반 픽셀 올라가고 누르면 움푹 들어간 면으로 내려갑니다. 선택된 세그먼트는 들어간 트랙 안에서 올라오며 포커스는 항상 보이는 잉크 링으로 표시합니다.
Buttons
Default, primary and quiet; hover lifts, pressing sinks
Choices and fields
Selected segments rise inside a sunken track; fields float back to the sheet on focus
실제 결과를 알리는 복사
#명확한 읽기 리듬
하나의 예제는 하나의 트레이입니다. 머리글이 이름을, 스테이지가 대상을, 코드 창이 소스와 접힌 Generated CSS를 담고 캡션이 관찰할 내용을 설명합니다. 표와 색인은 자체 프레임을 가집니다.
값을 함께
| 토큰 / 클래스 | 역할 |
|---|---|
--color-brand | var(--color-text-link) |
--spacing-card | 1.5rem |
--radius-card | .75rem |
학습용 색상에는 항상 이름을 표시
- Context
- Subject
- Comparison
#전체 컴포넌트 참조
각 페이지는 컴포넌트의 실제 상태, 사이트 사용 위치, 마크업 인터페이스를 보여 줍니다. 작성 안내서는 레이아웃 계약과 전체 레시피 모음을 다룹니다.
표면과 프레임 6
견본과 주석 11
- 항목내용을 나타내는 타일에 이름이 있는 학습용 색조를 지정합니다.
- 배지범주나 상태를 작고 읽기 쉽게 표시합니다.
- 레이블측정하는 레이아웃 밖에 조건 이름을 표시합니다.
- 범례학습용 색상마다 보이는 이름을 붙입니다.
- 크기 측정제도 눈금으로 브라우저의 실제 너비와 높이를 읽습니다.
- 축대상 주위의 물리적 방향을 설명합니다.
- 색상 견본이름이 있는 역할과 실제 색상 면입니다.
- 팔레트고정 프리셋 색상과 복사 결과 피드백입니다.
- 미디어학습용 색조의 원본 그림과 고유 크기를 가진 실제 이미지입니다.
- 플레이어네이티브 애니메이션을 재생, 일시정지, 다시 재생합니다.
- 다운로드 가능한 에셋적절한 배경에 이미지를 배치하고 다운로드 동작을 제공합니다.
컨트롤 3
문서와 근거 17
- 코드 창읽기 쉬운 소스, 안정적인 탭, 네이티브 복사 동작입니다.
- 문서 패턴문서 패턴의 작동 예제와 작성 인터페이스입니다.
- 매개변수와 계약매개변수와 계약의 작동 예제와 작성 인터페이스입니다.
- 도구 예제도구의 작동 예제와 작성 인터페이스입니다.
- 프롬프트와 워크플로프롬프트와 워크플로의 작동 예제와 작성 인터페이스입니다.
- API 선언API 선언의 작동 예제와 작성 인터페이스입니다.
- 스타일시트 예제스타일시트의 작동 예제와 작성 인터페이스입니다.
- 문서 색인네이티브 링크와 선택적 보기 컨트롤로 문서를 그룹별로 안내합니다.
- 문서 단계공유 문서 단계와 실용적인 예제입니다.
- 유틸리티 표공유 유틸리티 표와 실용적인 예제입니다.
- 숫자 토큰 표공유 숫자 토큰 표와 실용적인 예제입니다.
- 데모 워터폴공유 데모 워터폴과 실용적인 예제입니다.
- 차트 그룹공유 벤치마크 차트 그룹과 실용적인 예제입니다.
- 벤치마크 지표공유 벤치마크 지표와 실용적인 예제입니다.
- 벤치마크 데이터 표공유 벤치마크 데이터 표와 실용적인 예제입니다.
- 벤치마크 출처공유 벤치마크 출처 표시와 실용적인 예제입니다.
- 레시피 카탈로그전체 레시피 모음을 네이티브 펼침 영역에 담습니다.