mdDesignMD
portfoliov1.0.0·light

Index

Index — Typographic Portfolio

portfoliotypographicorangelistminimal
98
AAA
38 tokens
primarysecondarybaseraisedprimarydefaultsuccessdanger
Fork & edit

Live preview

index · rendered from tokens
Color
brand.primary
oklch(0.6 0.18 45)
brand.secondary
oklch(0.25 0.01 60)
brand.onBrand
oklch(0.99 0 0)
text.primary
oklch(0.2 0.008 60)
text.muted
oklch(0.45 0.012 60)
text.link
oklch(0.6 0.18 45)
surface.base
oklch(0.99 0.003 70)
surface.raised
oklch(1 0 0)
surface.sunken
oklch(0.96 0.006 70)
border.default
oklch(0.87 0.006 70)
state.success
oklch(0.55 0.14 150)
state.danger
oklch(0.55 0.2 25)
state.warning
oklch(0.66 0.13 70)
state.info
oklch(0.55 0.13 245)
Typography
3xlThe quick brown fox
2xlThe quick brown fox
xlThe quick brown fox
lgThe quick brown fox
baseThe quick brown fox
smThe quick brown fox
Components
Buttons
Inputs
Fintech
Selection
Notifications
AutoManual
Feedback
successdangerwarninginfo
Tokens validatedAll contrast checks pass WCAG AA.
Data
AMRKJD+5
2,847+12%
Storage64%
Navigation
OverviewTokensActivity
Home/Library/Item
123
Cards
C
Confetti
A bright, joyful design language with playful motion.
Pro
$12/ mo
Unlimited exports
Private systems
Priority support
AM
Aria Moss
Owner
success
RK
Ravi Kohli
Editor
info
LP
Lena Park
Viewer
warning
Radius, shadow & spacing
sm
md
full
sm
md

Use this system

Three ways to drop Index into your workflow.

Save the file for your tool — your agent then generates UI in Index, automatically.

CCClaude Code
CLAUDE.md

Repo root — Claude Code reads it automatically.

CuCursor
.cursor/rules/index.mdc

Project rule — applied to every generation.

WsWindsurf
.windsurfrules

Repo root — Cascade reads it automatically.

GCGitHub Copilot
.github/copilot-instructions.md

Repo-wide custom instructions for Copilot.

The system

Brand & Voice

Index treats a portfolio like a beautifully set table of contents. Type does everything; a single warm orange marks the live link under your cursor. Spare, precise, and a little bookish.

Layout & Grid

A long indexed list of work — number, title, year — with hover revealing a thumbnail. Square corners, hairline rules, exact baseline alignment.

Components

Buttons

Text buttons with an orange underline on hover; the rare solid uses color.brand.primary. No rounding, no shadow.

Index Rows

Each row aligns title and metadata on a strict grid, divided by color.border.default; the orange highlights the active entry.

Accessibility

Type-first and high-contrast: primary and muted text pass WCAG AA on every surface. Links are underlined on hover and focus, and rows stay keyboard-navigable.

Tokens

Color (14)

Tokens

breakpoint
iconography
motion
radius
shadow
spacing
typography
zIndex

Export

One source of truth, five formats — copy or download any of them.

design.md
1---
2$schema: https://designmd.in/schema/v1.json
3id: index
4name: Index
5title: Index — Typographic Portfolio
6version: 1.0.0
7category: portfolio
8tags: [portfolio, typographic, orange, list, minimal]
9author: designmd
10license: CC-BY-4.0
11updatedAt: 2026-06-22
12colorMode: [light]
13tokens:
14 color:
15 brand:
16 primary: { value: "oklch(0.6 0.18 45)", type: color }
17 secondary: { value: "oklch(0.25 0.01 60)", type: color }
18 onBrand: { value: "oklch(0.99 0 0)", type: color }
19 text:
20 primary: { value: "oklch(0.2 0.008 60)", type: color }
21 muted: { value: "oklch(0.45 0.012 60)", type: color }
22 link: { value: "{color.brand.primary}", type: color }
23 surface:
24 base: { value: "oklch(0.99 0.003 70)", type: color }
25 raised: { value: "oklch(1 0 0)", type: color }
26 sunken: { value: "oklch(0.96 0.006 70)", type: color }
27 border:
28 default: { value: "oklch(0.87 0.006 70)", type: color }
29 state:
30 success: { value: "oklch(0.55 0.14 150)", type: color }
31 danger: { value: "oklch(0.55 0.2 25)", type: color }
32 warning: { value: "oklch(0.66 0.13 70)", type: color }
33 info: { value: "oklch(0.55 0.13 245)", type: color }
34 typography:
35 family:
36 sans: { value: "Söhne, Inter, system-ui, sans-serif", type: fontFamily }
37 mono: { value: "Söhne Mono, ui-monospace, monospace", type: fontFamily }
38 scale:
39 sm: { value: "0.8125rem", type: dimension }
40 base: { value: "1rem", type: dimension }
41 lg: { value: "1.25rem", type: dimension }
42 xl: { value: "1.6rem", type: dimension }
43 "2xl": { value: "2.2rem", type: dimension }
44 "3xl": { value: "3rem", type: dimension }
45 weight:
46 regular: { value: 400, type: fontWeight }
47 bold: { value: 600, type: fontWeight }
48 leading:
49 tight: { value: 1.1, type: number }
50 normal: { value: 1.5, type: number }
51 spacing:
52 base: { value: "0.25rem", type: dimension }
53 radius:
54 sm: { value: "0rem", type: dimension }
55 md: { value: "0rem", type: dimension }
56 full: { value: "9999px", type: dimension }
57 shadow:
58 sm: { value: "0 1px 2px oklch(0.2 0 0 / 0.05)", type: shadow }
59 md: { value: "0 6px 18px oklch(0.2 0 0 / 0.08)", type: shadow }
60 motion:
61 duration:
62 base: { value: "120ms", type: duration }
63 easing:
64 standard: { value: "cubic-bezier(0.4, 0, 0.2, 1)", type: cubicBezier }
65 breakpoint:
66 md: { value: "768px", type: dimension }
67 iconography:
68 style: { value: "1px hairline, list arrows only", type: descriptor }
69 zIndex:
70 dropdown: { value: 1000, type: number }
71 modal: { value: 1300, type: number }
72---
73
74# Index Design System
75
76## Brand & Voice
77Index treats a portfolio like a beautifully set table of contents. Type does
78everything; a single warm orange marks the live link under your cursor. Spare,
79precise, and a little bookish.
80
81## Layout & Grid
82A long indexed list of work — number, title, year — with hover revealing a
83thumbnail. Square corners, hairline rules, exact baseline alignment.
84
85## Components
86### Buttons
87Text buttons with an orange underline on hover; the rare solid uses
88`color.brand.primary`. No rounding, no shadow.
89
90### Index Rows
91Each row aligns title and metadata on a strict grid, divided by
92`color.border.default`; the orange highlights the active entry.
93
94## Accessibility
95Type-first and high-contrast: primary and muted text pass WCAG AA on every
96surface. Links are underlined on hover and focus, and rows stay keyboard-navigable.

Related systems