awesome-design-md 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +172 -0
- package/bin/cli.mjs +126 -0
- package/design-md/airbnb/DESIGN.md +246 -0
- package/design-md/airbnb/README.md +23 -0
- package/design-md/airbnb/preview-dark.html +234 -0
- package/design-md/airbnb/preview.html +233 -0
- package/design-md/airtable/DESIGN.md +89 -0
- package/design-md/airtable/README.md +23 -0
- package/design-md/airtable/preview-dark.html +165 -0
- package/design-md/airtable/preview.html +164 -0
- package/design-md/apple/DESIGN.md +313 -0
- package/design-md/apple/README.md +24 -0
- package/design-md/apple/preview-dark.html +422 -0
- package/design-md/apple/preview.html +416 -0
- package/design-md/bmw/DESIGN.md +180 -0
- package/design-md/bmw/README.md +23 -0
- package/design-md/bmw/preview-dark.html +211 -0
- package/design-md/bmw/preview.html +210 -0
- package/design-md/cal/DESIGN.md +259 -0
- package/design-md/cal/README.md +23 -0
- package/design-md/cal/preview-dark.html +449 -0
- package/design-md/cal/preview.html +575 -0
- package/design-md/claude/DESIGN.md +312 -0
- package/design-md/claude/README.md +24 -0
- package/design-md/claude/preview-dark.html +803 -0
- package/design-md/claude/preview.html +826 -0
- package/design-md/clay/DESIGN.md +304 -0
- package/design-md/clay/README.md +23 -0
- package/design-md/clay/preview-dark.html +318 -0
- package/design-md/clay/preview.html +317 -0
- package/design-md/clickhouse/DESIGN.md +281 -0
- package/design-md/clickhouse/README.md +24 -0
- package/design-md/clickhouse/preview-dark.html +834 -0
- package/design-md/clickhouse/preview.html +786 -0
- package/design-md/cohere/DESIGN.md +266 -0
- package/design-md/cohere/README.md +24 -0
- package/design-md/cohere/preview-dark.html +810 -0
- package/design-md/cohere/preview.html +814 -0
- package/design-md/coinbase/DESIGN.md +129 -0
- package/design-md/coinbase/README.md +23 -0
- package/design-md/coinbase/preview-dark.html +164 -0
- package/design-md/coinbase/preview.html +163 -0
- package/design-md/composio/DESIGN.md +307 -0
- package/design-md/composio/README.md +24 -0
- package/design-md/composio/preview-dark.html +958 -0
- package/design-md/composio/preview.html +933 -0
- package/design-md/cursor/DESIGN.md +309 -0
- package/design-md/cursor/README.md +24 -0
- package/design-md/cursor/preview-dark.html +395 -0
- package/design-md/cursor/preview.html +385 -0
- package/design-md/elevenlabs/DESIGN.md +265 -0
- package/design-md/elevenlabs/README.md +23 -0
- package/design-md/elevenlabs/preview-dark.html +254 -0
- package/design-md/elevenlabs/preview.html +253 -0
- package/design-md/expo/DESIGN.md +281 -0
- package/design-md/expo/README.md +24 -0
- package/design-md/expo/preview-dark.html +536 -0
- package/design-md/expo/preview.html +536 -0
- package/design-md/figma/DESIGN.md +220 -0
- package/design-md/figma/README.md +24 -0
- package/design-md/figma/preview-dark.html +831 -0
- package/design-md/figma/preview.html +841 -0
- package/design-md/framer/DESIGN.md +246 -0
- package/design-md/framer/README.md +23 -0
- package/design-md/framer/preview-dark.html +904 -0
- package/design-md/framer/preview.html +885 -0
- package/design-md/hashicorp/DESIGN.md +278 -0
- package/design-md/hashicorp/README.md +24 -0
- package/design-md/hashicorp/preview-dark.html +1206 -0
- package/design-md/hashicorp/preview.html +1195 -0
- package/design-md/ibm/DESIGN.md +332 -0
- package/design-md/ibm/README.md +24 -0
- package/design-md/ibm/preview-dark.html +445 -0
- package/design-md/ibm/preview.html +430 -0
- package/design-md/intercom/DESIGN.md +146 -0
- package/design-md/intercom/README.md +23 -0
- package/design-md/intercom/preview-dark.html +185 -0
- package/design-md/intercom/preview.html +184 -0
- package/design-md/kraken/DESIGN.md +125 -0
- package/design-md/kraken/README.md +23 -0
- package/design-md/kraken/preview-dark.html +169 -0
- package/design-md/kraken/preview.html +168 -0
- package/design-md/linear.app/DESIGN.md +367 -0
- package/design-md/linear.app/README.md +24 -0
- package/design-md/linear.app/preview-dark.html +385 -0
- package/design-md/linear.app/preview.html +375 -0
- package/design-md/lovable/DESIGN.md +298 -0
- package/design-md/lovable/README.md +24 -0
- package/design-md/lovable/preview-dark.html +351 -0
- package/design-md/lovable/preview.html +350 -0
- package/design-md/minimax/DESIGN.md +257 -0
- package/design-md/minimax/README.md +24 -0
- package/design-md/minimax/preview-dark.html +1267 -0
- package/design-md/minimax/preview.html +1253 -0
- package/design-md/mintlify/DESIGN.md +326 -0
- package/design-md/mintlify/README.md +24 -0
- package/design-md/mintlify/preview-dark.html +411 -0
- package/design-md/mintlify/preview.html +400 -0
- package/design-md/miro/DESIGN.md +108 -0
- package/design-md/miro/README.md +23 -0
- package/design-md/miro/preview-dark.html +174 -0
- package/design-md/miro/preview.html +173 -0
- package/design-md/mistral.ai/DESIGN.md +261 -0
- package/design-md/mistral.ai/README.md +24 -0
- package/design-md/mistral.ai/preview-dark.html +813 -0
- package/design-md/mistral.ai/preview.html +812 -0
- package/design-md/mongodb/DESIGN.md +266 -0
- package/design-md/mongodb/README.md +23 -0
- package/design-md/mongodb/preview-dark.html +262 -0
- package/design-md/mongodb/preview.html +261 -0
- package/design-md/notion/DESIGN.md +309 -0
- package/design-md/notion/README.md +24 -0
- package/design-md/notion/preview-dark.html +374 -0
- package/design-md/notion/preview.html +366 -0
- package/design-md/nvidia/DESIGN.md +293 -0
- package/design-md/nvidia/README.md +24 -0
- package/design-md/nvidia/preview-dark.html +376 -0
- package/design-md/nvidia/preview.html +368 -0
- package/design-md/ollama/DESIGN.md +267 -0
- package/design-md/ollama/README.md +24 -0
- package/design-md/ollama/preview-dark.html +678 -0
- package/design-md/ollama/preview.html +678 -0
- package/design-md/opencode.ai/DESIGN.md +281 -0
- package/design-md/opencode.ai/README.md +24 -0
- package/design-md/opencode.ai/preview-dark.html +368 -0
- package/design-md/opencode.ai/preview.html +359 -0
- package/design-md/pinterest/DESIGN.md +230 -0
- package/design-md/pinterest/README.md +23 -0
- package/design-md/pinterest/preview-dark.html +233 -0
- package/design-md/pinterest/preview.html +232 -0
- package/design-md/posthog/DESIGN.md +256 -0
- package/design-md/posthog/README.md +23 -0
- package/design-md/posthog/preview-dark.html +701 -0
- package/design-md/posthog/preview.html +751 -0
- package/design-md/raycast/DESIGN.md +268 -0
- package/design-md/raycast/README.md +23 -0
- package/design-md/raycast/preview-dark.html +608 -0
- package/design-md/raycast/preview.html +690 -0
- package/design-md/replicate/DESIGN.md +261 -0
- package/design-md/replicate/README.md +24 -0
- package/design-md/replicate/preview-dark.html +828 -0
- package/design-md/replicate/preview.html +831 -0
- package/design-md/resend/DESIGN.md +303 -0
- package/design-md/resend/README.md +23 -0
- package/design-md/resend/preview-dark.html +357 -0
- package/design-md/resend/preview.html +356 -0
- package/design-md/revolut/DESIGN.md +185 -0
- package/design-md/revolut/README.md +23 -0
- package/design-md/revolut/preview-dark.html +234 -0
- package/design-md/revolut/preview.html +233 -0
- package/design-md/runwayml/DESIGN.md +244 -0
- package/design-md/runwayml/README.md +24 -0
- package/design-md/runwayml/preview-dark.html +664 -0
- package/design-md/runwayml/preview.html +665 -0
- package/design-md/sanity/DESIGN.md +357 -0
- package/design-md/sanity/README.md +24 -0
- package/design-md/sanity/preview-dark.html +995 -0
- package/design-md/sanity/preview.html +1140 -0
- package/design-md/sentry/DESIGN.md +262 -0
- package/design-md/sentry/README.md +24 -0
- package/design-md/sentry/preview-dark.html +628 -0
- package/design-md/sentry/preview.html +953 -0
- package/design-md/spacex/DESIGN.md +194 -0
- package/design-md/spacex/README.md +23 -0
- package/design-md/spacex/preview-dark.html +223 -0
- package/design-md/spacex/preview.html +222 -0
- package/design-md/spotify/DESIGN.md +246 -0
- package/design-md/spotify/README.md +23 -0
- package/design-md/spotify/preview-dark.html +231 -0
- package/design-md/spotify/preview.html +230 -0
- package/design-md/stripe/DESIGN.md +322 -0
- package/design-md/stripe/README.md +24 -0
- package/design-md/stripe/preview-dark.html +430 -0
- package/design-md/stripe/preview.html +421 -0
- package/design-md/supabase/DESIGN.md +255 -0
- package/design-md/supabase/README.md +24 -0
- package/design-md/supabase/preview-dark.html +977 -0
- package/design-md/supabase/preview.html +955 -0
- package/design-md/superhuman/DESIGN.md +252 -0
- package/design-md/superhuman/README.md +23 -0
- package/design-md/superhuman/preview-dark.html +975 -0
- package/design-md/superhuman/preview.html +953 -0
- package/design-md/together.ai/DESIGN.md +263 -0
- package/design-md/together.ai/README.md +24 -0
- package/design-md/together.ai/preview-dark.html +892 -0
- package/design-md/together.ai/preview.html +897 -0
- package/design-md/uber/DESIGN.md +295 -0
- package/design-md/uber/README.md +24 -0
- package/design-md/uber/preview-dark.html +1164 -0
- package/design-md/uber/preview.html +1163 -0
- package/design-md/vercel/DESIGN.md +310 -0
- package/design-md/vercel/README.md +24 -0
- package/design-md/vercel/preview-dark.html +370 -0
- package/design-md/vercel/preview.html +369 -0
- package/design-md/voltagent/DESIGN.md +323 -0
- package/design-md/voltagent/README.md +24 -0
- package/design-md/voltagent/preview-dark.html +487 -0
- package/design-md/voltagent/preview.html +766 -0
- package/design-md/warp/DESIGN.md +253 -0
- package/design-md/warp/README.md +23 -0
- package/design-md/warp/preview-dark.html +502 -0
- package/design-md/warp/preview.html +535 -0
- package/design-md/webflow/DESIGN.md +92 -0
- package/design-md/webflow/README.md +23 -0
- package/design-md/webflow/preview-dark.html +147 -0
- package/design-md/webflow/preview.html +146 -0
- package/design-md/wise/DESIGN.md +173 -0
- package/design-md/wise/README.md +23 -0
- package/design-md/wise/preview-dark.html +230 -0
- package/design-md/wise/preview.html +229 -0
- package/design-md/x.ai/DESIGN.md +257 -0
- package/design-md/x.ai/README.md +24 -0
- package/design-md/x.ai/preview-dark.html +358 -0
- package/design-md/x.ai/preview.html +409 -0
- package/design-md/zapier/DESIGN.md +328 -0
- package/design-md/zapier/README.md +24 -0
- package/design-md/zapier/preview-dark.html +382 -0
- package/design-md/zapier/preview.html +374 -0
- package/package.json +33 -0
|
@@ -0,0 +1,1195 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
+
<title>Design System Preview: HashiCorp (Light)</title>
|
|
7
|
+
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
8
|
+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
9
|
+
<link href="https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap" rel="stylesheet">
|
|
10
|
+
<style>
|
|
11
|
+
:root {
|
|
12
|
+
/* Brand Primary */
|
|
13
|
+
--color-black: #000000;
|
|
14
|
+
--color-dark-charcoal: #15181e;
|
|
15
|
+
--color-near-black: #0d0e12;
|
|
16
|
+
|
|
17
|
+
/* Neutral Scale */
|
|
18
|
+
--color-light-gray: #f1f2f3;
|
|
19
|
+
--color-mid-gray: #d5d7db;
|
|
20
|
+
--color-cool-gray: #b2b6bd;
|
|
21
|
+
--color-dark-gray: #656a76;
|
|
22
|
+
--color-charcoal: #3b3d45;
|
|
23
|
+
--color-near-white: #efeff1;
|
|
24
|
+
|
|
25
|
+
/* Product Brand Colors */
|
|
26
|
+
--color-terraform: #7b42bc;
|
|
27
|
+
--color-vault: #ffcf25;
|
|
28
|
+
--color-waypoint: #14c6cb;
|
|
29
|
+
--color-waypoint-hover: #12b6bb;
|
|
30
|
+
--color-vagrant: #1868f2;
|
|
31
|
+
--color-purple-accent: #911ced;
|
|
32
|
+
--color-visited-purple: #a737ff;
|
|
33
|
+
|
|
34
|
+
/* Semantic Colors */
|
|
35
|
+
--color-action-blue: #1060ff;
|
|
36
|
+
--color-link-blue: #2264d6;
|
|
37
|
+
--color-bright-blue: #2b89ff;
|
|
38
|
+
--color-amber: #bb5a00;
|
|
39
|
+
--color-amber-light: #fbeabf;
|
|
40
|
+
--color-red: #731e25;
|
|
41
|
+
--color-navy: #101a59;
|
|
42
|
+
--color-orange: #a9722e;
|
|
43
|
+
|
|
44
|
+
/* Shadows */
|
|
45
|
+
--shadow-whisper: rgba(97, 104, 117, 0.05) 0px 1px 1px, rgba(97, 104, 117, 0.05) 0px 2px 2px;
|
|
46
|
+
|
|
47
|
+
/* Fonts */
|
|
48
|
+
--font-brand: 'DM Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
|
|
49
|
+
--font-system: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
|
|
50
|
+
|
|
51
|
+
/* Light mode */
|
|
52
|
+
--bg-page: #ffffff;
|
|
53
|
+
--bg-card: #ffffff;
|
|
54
|
+
--bg-section: #f1f2f3;
|
|
55
|
+
--bg-nav: rgba(255, 255, 255, 0.95);
|
|
56
|
+
--text-primary: #000000;
|
|
57
|
+
--text-secondary: #3b3d45;
|
|
58
|
+
--text-muted: #656a76;
|
|
59
|
+
--border-color: rgba(178, 182, 189, 0.4);
|
|
60
|
+
--section-label-color: #656a76;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
* { margin: 0; padding: 0; box-sizing: border-box; }
|
|
64
|
+
|
|
65
|
+
body {
|
|
66
|
+
background: var(--bg-page);
|
|
67
|
+
color: var(--text-primary);
|
|
68
|
+
font-family: var(--font-system);
|
|
69
|
+
font-size: 16px;
|
|
70
|
+
line-height: 1.63;
|
|
71
|
+
-webkit-font-smoothing: antialiased;
|
|
72
|
+
-moz-osx-font-smoothing: grayscale;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/* NAV */
|
|
76
|
+
.nav {
|
|
77
|
+
position: sticky;
|
|
78
|
+
top: 0;
|
|
79
|
+
z-index: 100;
|
|
80
|
+
display: flex;
|
|
81
|
+
align-items: center;
|
|
82
|
+
justify-content: space-between;
|
|
83
|
+
padding: 16px 40px;
|
|
84
|
+
background: var(--bg-nav);
|
|
85
|
+
backdrop-filter: blur(12px);
|
|
86
|
+
border-bottom: 1px solid var(--border-color);
|
|
87
|
+
}
|
|
88
|
+
.nav-brand {
|
|
89
|
+
font-family: var(--font-brand);
|
|
90
|
+
font-size: 18px;
|
|
91
|
+
font-weight: 700;
|
|
92
|
+
letter-spacing: -0.3px;
|
|
93
|
+
display: flex;
|
|
94
|
+
align-items: center;
|
|
95
|
+
gap: 10px;
|
|
96
|
+
color: var(--text-primary);
|
|
97
|
+
}
|
|
98
|
+
.nav-brand .icon {
|
|
99
|
+
display: inline-flex;
|
|
100
|
+
align-items: center;
|
|
101
|
+
justify-content: center;
|
|
102
|
+
width: 28px;
|
|
103
|
+
height: 28px;
|
|
104
|
+
background: var(--color-dark-charcoal);
|
|
105
|
+
border-radius: 5px;
|
|
106
|
+
font-size: 14px;
|
|
107
|
+
font-weight: 700;
|
|
108
|
+
color: var(--color-near-white);
|
|
109
|
+
}
|
|
110
|
+
.nav-links { display: flex; gap: 32px; align-items: center; }
|
|
111
|
+
.nav-links a {
|
|
112
|
+
color: var(--text-secondary);
|
|
113
|
+
text-decoration: none;
|
|
114
|
+
font-size: 15px;
|
|
115
|
+
font-weight: 500;
|
|
116
|
+
line-height: 1.60;
|
|
117
|
+
transition: color 0.2s;
|
|
118
|
+
}
|
|
119
|
+
.nav-links a:hover { color: var(--color-link-blue); }
|
|
120
|
+
.nav-cta {
|
|
121
|
+
background: var(--color-dark-charcoal);
|
|
122
|
+
color: var(--color-mid-gray);
|
|
123
|
+
padding: 9px 9px 9px 15px;
|
|
124
|
+
border: 1px solid rgba(178, 182, 189, 0.4);
|
|
125
|
+
border-radius: 5px;
|
|
126
|
+
font-size: 14px;
|
|
127
|
+
font-family: var(--font-system);
|
|
128
|
+
font-weight: 500;
|
|
129
|
+
cursor: pointer;
|
|
130
|
+
box-shadow: var(--shadow-whisper);
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
/* HERO */
|
|
134
|
+
.hero {
|
|
135
|
+
position: relative;
|
|
136
|
+
text-align: center;
|
|
137
|
+
padding: 120px 40px 100px;
|
|
138
|
+
background: var(--color-dark-charcoal);
|
|
139
|
+
overflow: hidden;
|
|
140
|
+
}
|
|
141
|
+
.hero::before {
|
|
142
|
+
content: '';
|
|
143
|
+
position: absolute;
|
|
144
|
+
top: 50%;
|
|
145
|
+
left: 50%;
|
|
146
|
+
width: 800px;
|
|
147
|
+
height: 800px;
|
|
148
|
+
transform: translate(-50%, -50%);
|
|
149
|
+
background: radial-gradient(circle, rgba(123, 66, 188, 0.12) 0%, rgba(20, 198, 203, 0.08) 40%, transparent 70%);
|
|
150
|
+
pointer-events: none;
|
|
151
|
+
}
|
|
152
|
+
.hero-label {
|
|
153
|
+
font-family: var(--font-brand);
|
|
154
|
+
font-size: 13px;
|
|
155
|
+
font-weight: 600;
|
|
156
|
+
line-height: 1.69;
|
|
157
|
+
letter-spacing: 1.3px;
|
|
158
|
+
text-transform: uppercase;
|
|
159
|
+
color: var(--color-dark-gray);
|
|
160
|
+
margin-bottom: 24px;
|
|
161
|
+
position: relative;
|
|
162
|
+
}
|
|
163
|
+
.hero h1 {
|
|
164
|
+
font-family: var(--font-brand);
|
|
165
|
+
font-size: 82px;
|
|
166
|
+
font-weight: 600;
|
|
167
|
+
line-height: 1.17;
|
|
168
|
+
letter-spacing: normal;
|
|
169
|
+
font-feature-settings: "kern" 1;
|
|
170
|
+
color: #ffffff;
|
|
171
|
+
max-width: 900px;
|
|
172
|
+
margin: 0 auto 24px;
|
|
173
|
+
position: relative;
|
|
174
|
+
}
|
|
175
|
+
.hero p {
|
|
176
|
+
font-family: var(--font-system);
|
|
177
|
+
font-size: 20px;
|
|
178
|
+
font-weight: 400;
|
|
179
|
+
line-height: 1.50;
|
|
180
|
+
color: var(--color-mid-gray);
|
|
181
|
+
max-width: 600px;
|
|
182
|
+
margin: 0 auto 40px;
|
|
183
|
+
position: relative;
|
|
184
|
+
}
|
|
185
|
+
.hero-buttons {
|
|
186
|
+
display: flex;
|
|
187
|
+
gap: 12px;
|
|
188
|
+
justify-content: center;
|
|
189
|
+
position: relative;
|
|
190
|
+
}
|
|
191
|
+
.hero-buttons .btn-primary {
|
|
192
|
+
background: var(--color-dark-charcoal);
|
|
193
|
+
color: var(--color-mid-gray);
|
|
194
|
+
padding: 9px 9px 9px 15px;
|
|
195
|
+
border: 1px solid rgba(178, 182, 189, 0.4);
|
|
196
|
+
border-radius: 5px;
|
|
197
|
+
font-size: 16px;
|
|
198
|
+
font-family: var(--font-system);
|
|
199
|
+
font-weight: 500;
|
|
200
|
+
cursor: pointer;
|
|
201
|
+
box-shadow: var(--shadow-whisper);
|
|
202
|
+
text-decoration: none;
|
|
203
|
+
display: inline-flex;
|
|
204
|
+
align-items: center;
|
|
205
|
+
gap: 6px;
|
|
206
|
+
}
|
|
207
|
+
.hero-buttons .btn-secondary {
|
|
208
|
+
background: #ffffff;
|
|
209
|
+
color: var(--color-charcoal);
|
|
210
|
+
padding: 8px 12px;
|
|
211
|
+
border: 1px solid var(--border-color);
|
|
212
|
+
border-radius: 4px;
|
|
213
|
+
font-size: 16px;
|
|
214
|
+
font-family: var(--font-system);
|
|
215
|
+
font-weight: 500;
|
|
216
|
+
cursor: pointer;
|
|
217
|
+
text-decoration: none;
|
|
218
|
+
display: inline-flex;
|
|
219
|
+
align-items: center;
|
|
220
|
+
gap: 6px;
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
/* SECTION SYSTEM */
|
|
224
|
+
.section {
|
|
225
|
+
padding: 80px 40px;
|
|
226
|
+
max-width: 1150px;
|
|
227
|
+
margin: 0 auto;
|
|
228
|
+
}
|
|
229
|
+
.section:nth-child(even of .section) {
|
|
230
|
+
background: var(--bg-section);
|
|
231
|
+
max-width: 100%;
|
|
232
|
+
padding-left: 40px;
|
|
233
|
+
padding-right: 40px;
|
|
234
|
+
}
|
|
235
|
+
.section:nth-child(even of .section) .section-inner {
|
|
236
|
+
max-width: 1150px;
|
|
237
|
+
margin: 0 auto;
|
|
238
|
+
}
|
|
239
|
+
.section-label {
|
|
240
|
+
font-family: var(--font-brand);
|
|
241
|
+
font-size: 13px;
|
|
242
|
+
font-weight: 600;
|
|
243
|
+
line-height: 1.69;
|
|
244
|
+
letter-spacing: 1.3px;
|
|
245
|
+
text-transform: uppercase;
|
|
246
|
+
color: var(--section-label-color);
|
|
247
|
+
margin-bottom: 12px;
|
|
248
|
+
}
|
|
249
|
+
.section-title {
|
|
250
|
+
font-family: var(--font-brand);
|
|
251
|
+
font-size: 42px;
|
|
252
|
+
font-weight: 700;
|
|
253
|
+
line-height: 1.19;
|
|
254
|
+
letter-spacing: -0.42px;
|
|
255
|
+
font-feature-settings: "kern" 1;
|
|
256
|
+
color: var(--text-primary);
|
|
257
|
+
margin-bottom: 16px;
|
|
258
|
+
}
|
|
259
|
+
.section-desc {
|
|
260
|
+
font-family: var(--font-system);
|
|
261
|
+
font-size: 16px;
|
|
262
|
+
font-weight: 400;
|
|
263
|
+
line-height: 1.63;
|
|
264
|
+
color: var(--text-secondary);
|
|
265
|
+
margin-bottom: 48px;
|
|
266
|
+
max-width: 640px;
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
/* COLOR PALETTE */
|
|
270
|
+
.color-group { margin-bottom: 40px; }
|
|
271
|
+
.color-group-title {
|
|
272
|
+
font-family: var(--font-brand);
|
|
273
|
+
font-size: 19px;
|
|
274
|
+
font-weight: 700;
|
|
275
|
+
line-height: 1.21;
|
|
276
|
+
color: var(--text-primary);
|
|
277
|
+
margin-bottom: 16px;
|
|
278
|
+
}
|
|
279
|
+
.color-grid {
|
|
280
|
+
display: grid;
|
|
281
|
+
grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
|
|
282
|
+
gap: 16px;
|
|
283
|
+
}
|
|
284
|
+
.color-swatch {
|
|
285
|
+
border-radius: 8px;
|
|
286
|
+
overflow: hidden;
|
|
287
|
+
border: 1px solid var(--border-color);
|
|
288
|
+
box-shadow: var(--shadow-whisper);
|
|
289
|
+
}
|
|
290
|
+
.color-swatch .swatch-block {
|
|
291
|
+
height: 72px;
|
|
292
|
+
width: 100%;
|
|
293
|
+
}
|
|
294
|
+
.color-swatch .swatch-info {
|
|
295
|
+
padding: 10px 12px;
|
|
296
|
+
background: var(--bg-card);
|
|
297
|
+
}
|
|
298
|
+
.color-swatch .swatch-name {
|
|
299
|
+
font-family: var(--font-brand);
|
|
300
|
+
font-size: 13px;
|
|
301
|
+
font-weight: 600;
|
|
302
|
+
color: var(--text-primary);
|
|
303
|
+
margin-bottom: 2px;
|
|
304
|
+
}
|
|
305
|
+
.color-swatch .swatch-hex {
|
|
306
|
+
font-family: var(--font-system);
|
|
307
|
+
font-size: 12px;
|
|
308
|
+
font-weight: 500;
|
|
309
|
+
color: var(--text-muted);
|
|
310
|
+
font-variant-numeric: tabular-nums;
|
|
311
|
+
}
|
|
312
|
+
.color-swatch .swatch-role {
|
|
313
|
+
font-family: var(--font-system);
|
|
314
|
+
font-size: 11px;
|
|
315
|
+
color: var(--text-muted);
|
|
316
|
+
margin-top: 2px;
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
/* TYPOGRAPHY */
|
|
320
|
+
.type-row {
|
|
321
|
+
display: flex;
|
|
322
|
+
align-items: baseline;
|
|
323
|
+
gap: 32px;
|
|
324
|
+
padding: 20px 0;
|
|
325
|
+
border-bottom: 1px solid var(--border-color);
|
|
326
|
+
}
|
|
327
|
+
.type-row:last-child { border-bottom: none; }
|
|
328
|
+
.type-meta {
|
|
329
|
+
flex-shrink: 0;
|
|
330
|
+
width: 200px;
|
|
331
|
+
text-align: right;
|
|
332
|
+
}
|
|
333
|
+
.type-meta .meta-role {
|
|
334
|
+
font-family: var(--font-brand);
|
|
335
|
+
font-size: 13px;
|
|
336
|
+
font-weight: 600;
|
|
337
|
+
letter-spacing: 1.3px;
|
|
338
|
+
text-transform: uppercase;
|
|
339
|
+
color: var(--section-label-color);
|
|
340
|
+
}
|
|
341
|
+
.type-meta .meta-spec {
|
|
342
|
+
font-family: var(--font-system);
|
|
343
|
+
font-size: 12px;
|
|
344
|
+
color: var(--text-muted);
|
|
345
|
+
margin-top: 4px;
|
|
346
|
+
}
|
|
347
|
+
.type-sample {
|
|
348
|
+
flex: 1;
|
|
349
|
+
min-width: 0;
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
/* BUTTONS */
|
|
353
|
+
.button-grid {
|
|
354
|
+
display: flex;
|
|
355
|
+
flex-wrap: wrap;
|
|
356
|
+
gap: 16px;
|
|
357
|
+
align-items: center;
|
|
358
|
+
margin-bottom: 32px;
|
|
359
|
+
}
|
|
360
|
+
.button-group-title {
|
|
361
|
+
font-family: var(--font-brand);
|
|
362
|
+
font-size: 19px;
|
|
363
|
+
font-weight: 700;
|
|
364
|
+
line-height: 1.21;
|
|
365
|
+
color: var(--text-primary);
|
|
366
|
+
margin-bottom: 12px;
|
|
367
|
+
margin-top: 24px;
|
|
368
|
+
}
|
|
369
|
+
.button-group-title:first-child { margin-top: 0; }
|
|
370
|
+
.btn {
|
|
371
|
+
font-family: var(--font-system);
|
|
372
|
+
font-size: 16px;
|
|
373
|
+
font-weight: 500;
|
|
374
|
+
cursor: pointer;
|
|
375
|
+
display: inline-flex;
|
|
376
|
+
align-items: center;
|
|
377
|
+
gap: 6px;
|
|
378
|
+
transition: all 0.15s;
|
|
379
|
+
}
|
|
380
|
+
.btn-dark {
|
|
381
|
+
background: var(--color-dark-charcoal);
|
|
382
|
+
color: var(--color-mid-gray);
|
|
383
|
+
padding: 9px 9px 9px 15px;
|
|
384
|
+
border: 1px solid rgba(178, 182, 189, 0.4);
|
|
385
|
+
border-radius: 5px;
|
|
386
|
+
box-shadow: var(--shadow-whisper);
|
|
387
|
+
}
|
|
388
|
+
.btn-white {
|
|
389
|
+
background: #ffffff;
|
|
390
|
+
color: var(--color-charcoal);
|
|
391
|
+
padding: 8px 12px;
|
|
392
|
+
border: 1px solid var(--border-color);
|
|
393
|
+
border-radius: 4px;
|
|
394
|
+
}
|
|
395
|
+
.btn-terraform {
|
|
396
|
+
background: var(--color-terraform);
|
|
397
|
+
color: #ffffff;
|
|
398
|
+
padding: 9px 9px 9px 15px;
|
|
399
|
+
border: 1px solid var(--color-terraform);
|
|
400
|
+
border-radius: 5px;
|
|
401
|
+
}
|
|
402
|
+
.btn-vault {
|
|
403
|
+
background: var(--color-vault);
|
|
404
|
+
color: var(--color-dark-charcoal);
|
|
405
|
+
padding: 9px 9px 9px 15px;
|
|
406
|
+
border: 1px solid var(--color-vault);
|
|
407
|
+
border-radius: 5px;
|
|
408
|
+
}
|
|
409
|
+
.btn-waypoint {
|
|
410
|
+
background: var(--color-waypoint);
|
|
411
|
+
color: #ffffff;
|
|
412
|
+
padding: 9px 9px 9px 15px;
|
|
413
|
+
border: 1px solid var(--color-waypoint);
|
|
414
|
+
border-radius: 5px;
|
|
415
|
+
}
|
|
416
|
+
.btn-vagrant {
|
|
417
|
+
background: var(--color-vagrant);
|
|
418
|
+
color: #ffffff;
|
|
419
|
+
padding: 9px 9px 9px 15px;
|
|
420
|
+
border: 1px solid var(--color-vagrant);
|
|
421
|
+
border-radius: 5px;
|
|
422
|
+
}
|
|
423
|
+
.btn-badge {
|
|
424
|
+
background: #42225b;
|
|
425
|
+
color: var(--color-near-white);
|
|
426
|
+
padding: 3px 7px;
|
|
427
|
+
border: 1px solid rgb(180, 87, 255);
|
|
428
|
+
border-radius: 5px;
|
|
429
|
+
font-size: 16px;
|
|
430
|
+
font-weight: 500;
|
|
431
|
+
}
|
|
432
|
+
|
|
433
|
+
/* Dark button showcase strip */
|
|
434
|
+
.btn-showcase-dark {
|
|
435
|
+
background: var(--color-dark-charcoal);
|
|
436
|
+
padding: 32px;
|
|
437
|
+
border-radius: 8px;
|
|
438
|
+
margin-bottom: 24px;
|
|
439
|
+
}
|
|
440
|
+
|
|
441
|
+
/* CARDS */
|
|
442
|
+
.card-grid {
|
|
443
|
+
display: grid;
|
|
444
|
+
grid-template-columns: repeat(3, 1fr);
|
|
445
|
+
gap: 24px;
|
|
446
|
+
}
|
|
447
|
+
.card {
|
|
448
|
+
background: var(--bg-card);
|
|
449
|
+
border: 1px solid var(--border-color);
|
|
450
|
+
border-radius: 8px;
|
|
451
|
+
overflow: hidden;
|
|
452
|
+
box-shadow: var(--shadow-whisper);
|
|
453
|
+
transition: box-shadow 0.2s;
|
|
454
|
+
}
|
|
455
|
+
.card:hover {
|
|
456
|
+
box-shadow: rgba(97, 104, 117, 0.08) 0px 2px 4px, rgba(97, 104, 117, 0.08) 0px 4px 8px;
|
|
457
|
+
}
|
|
458
|
+
.card-color-bar {
|
|
459
|
+
height: 4px;
|
|
460
|
+
width: 100%;
|
|
461
|
+
}
|
|
462
|
+
.card-body {
|
|
463
|
+
padding: 24px;
|
|
464
|
+
}
|
|
465
|
+
.card-title {
|
|
466
|
+
font-family: var(--font-brand);
|
|
467
|
+
font-size: 26px;
|
|
468
|
+
font-weight: 700;
|
|
469
|
+
line-height: 1.19;
|
|
470
|
+
font-feature-settings: "kern" 1;
|
|
471
|
+
color: var(--text-primary);
|
|
472
|
+
margin-bottom: 8px;
|
|
473
|
+
}
|
|
474
|
+
.card-desc {
|
|
475
|
+
font-family: var(--font-system);
|
|
476
|
+
font-size: 16px;
|
|
477
|
+
font-weight: 400;
|
|
478
|
+
line-height: 1.63;
|
|
479
|
+
color: var(--text-secondary);
|
|
480
|
+
margin-bottom: 16px;
|
|
481
|
+
}
|
|
482
|
+
.card-link {
|
|
483
|
+
font-family: var(--font-system);
|
|
484
|
+
font-size: 14px;
|
|
485
|
+
font-weight: 500;
|
|
486
|
+
color: var(--color-link-blue);
|
|
487
|
+
text-decoration: none;
|
|
488
|
+
}
|
|
489
|
+
.card-link:hover { text-decoration: underline; }
|
|
490
|
+
|
|
491
|
+
/* FORMS */
|
|
492
|
+
.form-grid {
|
|
493
|
+
display: grid;
|
|
494
|
+
grid-template-columns: 1fr 1fr;
|
|
495
|
+
gap: 32px;
|
|
496
|
+
}
|
|
497
|
+
.form-group { margin-bottom: 20px; }
|
|
498
|
+
.form-label {
|
|
499
|
+
display: block;
|
|
500
|
+
font-family: var(--font-brand);
|
|
501
|
+
font-size: 13px;
|
|
502
|
+
font-weight: 600;
|
|
503
|
+
letter-spacing: 1.3px;
|
|
504
|
+
text-transform: uppercase;
|
|
505
|
+
color: var(--text-muted);
|
|
506
|
+
margin-bottom: 8px;
|
|
507
|
+
}
|
|
508
|
+
.form-input {
|
|
509
|
+
width: 100%;
|
|
510
|
+
background: var(--bg-card);
|
|
511
|
+
border: 1px solid rgb(97, 104, 117);
|
|
512
|
+
border-radius: 5px;
|
|
513
|
+
padding: 11px;
|
|
514
|
+
font-family: var(--font-system);
|
|
515
|
+
font-size: 16px;
|
|
516
|
+
color: var(--text-primary);
|
|
517
|
+
outline: none;
|
|
518
|
+
transition: border-color 0.15s, box-shadow 0.15s;
|
|
519
|
+
}
|
|
520
|
+
.form-input:focus {
|
|
521
|
+
border-color: var(--color-link-blue);
|
|
522
|
+
box-shadow: 0 0 0 3px rgba(34, 100, 214, 0.2);
|
|
523
|
+
}
|
|
524
|
+
.form-input-error {
|
|
525
|
+
border-color: var(--color-red);
|
|
526
|
+
}
|
|
527
|
+
.form-error-msg {
|
|
528
|
+
font-family: var(--font-system);
|
|
529
|
+
font-size: 13px;
|
|
530
|
+
color: var(--color-red);
|
|
531
|
+
margin-top: 6px;
|
|
532
|
+
}
|
|
533
|
+
.form-helper {
|
|
534
|
+
font-family: var(--font-system);
|
|
535
|
+
font-size: 13px;
|
|
536
|
+
color: var(--text-muted);
|
|
537
|
+
margin-top: 6px;
|
|
538
|
+
}
|
|
539
|
+
textarea.form-input {
|
|
540
|
+
resize: vertical;
|
|
541
|
+
min-height: 100px;
|
|
542
|
+
}
|
|
543
|
+
|
|
544
|
+
/* Dark form area */
|
|
545
|
+
.form-dark-area {
|
|
546
|
+
background: var(--color-near-black);
|
|
547
|
+
padding: 32px;
|
|
548
|
+
border-radius: 8px;
|
|
549
|
+
}
|
|
550
|
+
.form-dark-area .form-label {
|
|
551
|
+
color: var(--color-dark-gray);
|
|
552
|
+
}
|
|
553
|
+
.form-dark-area .form-input {
|
|
554
|
+
background: var(--color-near-black);
|
|
555
|
+
border: 1px solid rgb(97, 104, 117);
|
|
556
|
+
color: var(--color-near-white);
|
|
557
|
+
}
|
|
558
|
+
.form-dark-area .form-input:focus {
|
|
559
|
+
border-color: var(--color-action-blue);
|
|
560
|
+
box-shadow: 0 0 0 3px rgba(16, 96, 255, 0.3);
|
|
561
|
+
}
|
|
562
|
+
.form-dark-area .form-helper {
|
|
563
|
+
color: var(--color-dark-gray);
|
|
564
|
+
}
|
|
565
|
+
|
|
566
|
+
/* SPACING */
|
|
567
|
+
.spacing-row {
|
|
568
|
+
display: flex;
|
|
569
|
+
align-items: flex-end;
|
|
570
|
+
gap: 16px;
|
|
571
|
+
flex-wrap: wrap;
|
|
572
|
+
}
|
|
573
|
+
.spacing-item {
|
|
574
|
+
display: flex;
|
|
575
|
+
flex-direction: column;
|
|
576
|
+
align-items: center;
|
|
577
|
+
gap: 8px;
|
|
578
|
+
}
|
|
579
|
+
.spacing-box {
|
|
580
|
+
background: var(--color-link-blue);
|
|
581
|
+
border-radius: 3px;
|
|
582
|
+
opacity: 0.7;
|
|
583
|
+
}
|
|
584
|
+
.spacing-label {
|
|
585
|
+
font-family: var(--font-system);
|
|
586
|
+
font-size: 12px;
|
|
587
|
+
font-weight: 600;
|
|
588
|
+
color: var(--text-muted);
|
|
589
|
+
font-variant-numeric: tabular-nums;
|
|
590
|
+
}
|
|
591
|
+
|
|
592
|
+
/* RADIUS */
|
|
593
|
+
.radius-row {
|
|
594
|
+
display: flex;
|
|
595
|
+
align-items: flex-end;
|
|
596
|
+
gap: 24px;
|
|
597
|
+
flex-wrap: wrap;
|
|
598
|
+
}
|
|
599
|
+
.radius-item {
|
|
600
|
+
display: flex;
|
|
601
|
+
flex-direction: column;
|
|
602
|
+
align-items: center;
|
|
603
|
+
gap: 8px;
|
|
604
|
+
}
|
|
605
|
+
.radius-box {
|
|
606
|
+
width: 80px;
|
|
607
|
+
height: 80px;
|
|
608
|
+
background: var(--bg-section);
|
|
609
|
+
border: 2px solid var(--color-dark-charcoal);
|
|
610
|
+
}
|
|
611
|
+
.radius-label {
|
|
612
|
+
font-family: var(--font-system);
|
|
613
|
+
font-size: 12px;
|
|
614
|
+
font-weight: 600;
|
|
615
|
+
color: var(--text-muted);
|
|
616
|
+
}
|
|
617
|
+
.radius-name {
|
|
618
|
+
font-family: var(--font-system);
|
|
619
|
+
font-size: 11px;
|
|
620
|
+
color: var(--text-muted);
|
|
621
|
+
}
|
|
622
|
+
|
|
623
|
+
/* ELEVATION */
|
|
624
|
+
.elevation-grid {
|
|
625
|
+
display: grid;
|
|
626
|
+
grid-template-columns: repeat(3, 1fr);
|
|
627
|
+
gap: 32px;
|
|
628
|
+
}
|
|
629
|
+
.elevation-card {
|
|
630
|
+
background: var(--bg-card);
|
|
631
|
+
border-radius: 8px;
|
|
632
|
+
padding: 32px;
|
|
633
|
+
text-align: center;
|
|
634
|
+
}
|
|
635
|
+
.elevation-card .elev-title {
|
|
636
|
+
font-family: var(--font-brand);
|
|
637
|
+
font-size: 19px;
|
|
638
|
+
font-weight: 700;
|
|
639
|
+
color: var(--text-primary);
|
|
640
|
+
margin-bottom: 8px;
|
|
641
|
+
}
|
|
642
|
+
.elevation-card .elev-desc {
|
|
643
|
+
font-family: var(--font-system);
|
|
644
|
+
font-size: 13px;
|
|
645
|
+
color: var(--text-muted);
|
|
646
|
+
margin-bottom: 12px;
|
|
647
|
+
}
|
|
648
|
+
.elevation-card .elev-code {
|
|
649
|
+
font-family: 'SF Mono', SFMono-Regular, Menlo, Monaco, Consolas, monospace;
|
|
650
|
+
font-size: 11px;
|
|
651
|
+
color: var(--text-muted);
|
|
652
|
+
background: var(--bg-section);
|
|
653
|
+
padding: 6px 10px;
|
|
654
|
+
border-radius: 4px;
|
|
655
|
+
display: inline-block;
|
|
656
|
+
word-break: break-all;
|
|
657
|
+
text-align: left;
|
|
658
|
+
max-width: 100%;
|
|
659
|
+
}
|
|
660
|
+
|
|
661
|
+
/* Footer */
|
|
662
|
+
.footer {
|
|
663
|
+
text-align: center;
|
|
664
|
+
padding: 48px 40px;
|
|
665
|
+
border-top: 1px solid var(--border-color);
|
|
666
|
+
color: var(--text-muted);
|
|
667
|
+
font-size: 13px;
|
|
668
|
+
}
|
|
669
|
+
.footer a {
|
|
670
|
+
color: var(--color-link-blue);
|
|
671
|
+
text-decoration: none;
|
|
672
|
+
}
|
|
673
|
+
.footer a:hover { text-decoration: underline; }
|
|
674
|
+
</style>
|
|
675
|
+
</head>
|
|
676
|
+
<body>
|
|
677
|
+
|
|
678
|
+
<!-- NAV -->
|
|
679
|
+
<nav class="nav">
|
|
680
|
+
<div class="nav-brand">awesome-design-md</div>
|
|
681
|
+
<div class="nav-links">
|
|
682
|
+
<a href="#colors">Colors</a>
|
|
683
|
+
<a href="#typography">Typography</a>
|
|
684
|
+
<a href="#buttons">Buttons</a>
|
|
685
|
+
<a href="#cards">Cards</a>
|
|
686
|
+
<a href="#forms">Forms</a>
|
|
687
|
+
<a href="#spacing">Spacing</a>
|
|
688
|
+
</div>
|
|
689
|
+
<button class="nav-cta">Get Started →</button>
|
|
690
|
+
</nav>
|
|
691
|
+
|
|
692
|
+
<!-- HERO -->
|
|
693
|
+
<section class="hero">
|
|
694
|
+
<div class="hero-label">Design System Preview</div>
|
|
695
|
+
<h1>Design System Inspired by HashiCorp</h1>
|
|
696
|
+
<p>Enterprise infrastructure typography, product color systems, and whisper-level shadows — all distilled into a single-page design reference.</p>
|
|
697
|
+
<div class="hero-buttons">
|
|
698
|
+
<a class="btn-primary" href="#">Get Started →</a>
|
|
699
|
+
<a class="btn-secondary" href="#">View Documentation</a>
|
|
700
|
+
</div>
|
|
701
|
+
</section>
|
|
702
|
+
|
|
703
|
+
<!-- 1. COLOR PALETTE -->
|
|
704
|
+
<section class="section" id="colors">
|
|
705
|
+
<div class="section-label">Section 1</div>
|
|
706
|
+
<h2 class="section-title">Color Palette</h2>
|
|
707
|
+
<p class="section-desc">A multi-product color system using CSS custom properties. The parent brand is black-and-white with blue accents; each child product injects its own chromatic identity.</p>
|
|
708
|
+
|
|
709
|
+
<div class="color-group">
|
|
710
|
+
<h3 class="color-group-title">Brand Primary</h3>
|
|
711
|
+
<div class="color-grid">
|
|
712
|
+
<div class="color-swatch">
|
|
713
|
+
<div class="swatch-block" style="background:#000000"></div>
|
|
714
|
+
<div class="swatch-info"><div class="swatch-name">Black</div><div class="swatch-hex">#000000</div><div class="swatch-role">Primary brand, text on light</div></div>
|
|
715
|
+
</div>
|
|
716
|
+
<div class="color-swatch">
|
|
717
|
+
<div class="swatch-block" style="background:#15181e"></div>
|
|
718
|
+
<div class="swatch-info"><div class="swatch-name">Dark Charcoal</div><div class="swatch-hex">#15181e</div><div class="swatch-role">Dark mode backgrounds, hero</div></div>
|
|
719
|
+
</div>
|
|
720
|
+
<div class="color-swatch">
|
|
721
|
+
<div class="swatch-block" style="background:#0d0e12"></div>
|
|
722
|
+
<div class="swatch-info"><div class="swatch-name">Near Black</div><div class="swatch-hex">#0d0e12</div><div class="swatch-role">Deepest dark surface, inputs</div></div>
|
|
723
|
+
</div>
|
|
724
|
+
</div>
|
|
725
|
+
</div>
|
|
726
|
+
|
|
727
|
+
<div class="color-group">
|
|
728
|
+
<h3 class="color-group-title">Neutral Scale</h3>
|
|
729
|
+
<div class="color-grid">
|
|
730
|
+
<div class="color-swatch">
|
|
731
|
+
<div class="swatch-block" style="background:#f1f2f3"></div>
|
|
732
|
+
<div class="swatch-info"><div class="swatch-name">Light Gray</div><div class="swatch-hex">#f1f2f3</div><div class="swatch-role">Light backgrounds</div></div>
|
|
733
|
+
</div>
|
|
734
|
+
<div class="color-swatch">
|
|
735
|
+
<div class="swatch-block" style="background:#d5d7db"></div>
|
|
736
|
+
<div class="swatch-info"><div class="swatch-name">Mid Gray</div><div class="swatch-hex">#d5d7db</div><div class="swatch-role">Borders, dark button text</div></div>
|
|
737
|
+
</div>
|
|
738
|
+
<div class="color-swatch">
|
|
739
|
+
<div class="swatch-block" style="background:#b2b6bd"></div>
|
|
740
|
+
<div class="swatch-info"><div class="swatch-name">Cool Gray</div><div class="swatch-hex">#b2b6bd</div><div class="swatch-role">Border accents (0.1-0.4 opacity)</div></div>
|
|
741
|
+
</div>
|
|
742
|
+
<div class="color-swatch">
|
|
743
|
+
<div class="swatch-block" style="background:#656a76"></div>
|
|
744
|
+
<div class="swatch-info"><div class="swatch-name">Dark Gray</div><div class="swatch-hex">#656a76</div><div class="swatch-role">Helper text, labels</div></div>
|
|
745
|
+
</div>
|
|
746
|
+
<div class="color-swatch">
|
|
747
|
+
<div class="swatch-block" style="background:#3b3d45"></div>
|
|
748
|
+
<div class="swatch-info"><div class="swatch-name">Charcoal</div><div class="swatch-hex">#3b3d45</div><div class="swatch-role">Secondary text on light</div></div>
|
|
749
|
+
</div>
|
|
750
|
+
<div class="color-swatch">
|
|
751
|
+
<div class="swatch-block" style="background:#efeff1"></div>
|
|
752
|
+
<div class="swatch-info"><div class="swatch-name">Near White</div><div class="swatch-hex">#efeff1</div><div class="swatch-role">Primary text on dark</div></div>
|
|
753
|
+
</div>
|
|
754
|
+
</div>
|
|
755
|
+
</div>
|
|
756
|
+
|
|
757
|
+
<div class="color-group">
|
|
758
|
+
<h3 class="color-group-title">Product Brand Colors</h3>
|
|
759
|
+
<div class="color-grid">
|
|
760
|
+
<div class="color-swatch">
|
|
761
|
+
<div class="swatch-block" style="background:#7b42bc"></div>
|
|
762
|
+
<div class="swatch-info"><div class="swatch-name">Terraform Purple</div><div class="swatch-hex">#7b42bc</div><div class="swatch-role">Terraform brand</div></div>
|
|
763
|
+
</div>
|
|
764
|
+
<div class="color-swatch">
|
|
765
|
+
<div class="swatch-block" style="background:#ffcf25"></div>
|
|
766
|
+
<div class="swatch-info"><div class="swatch-name">Vault Yellow</div><div class="swatch-hex">#ffcf25</div><div class="swatch-role">Vault brand</div></div>
|
|
767
|
+
</div>
|
|
768
|
+
<div class="color-swatch">
|
|
769
|
+
<div class="swatch-block" style="background:#14c6cb"></div>
|
|
770
|
+
<div class="swatch-info"><div class="swatch-name">Waypoint Teal</div><div class="swatch-hex">#14c6cb</div><div class="swatch-role">Waypoint brand</div></div>
|
|
771
|
+
</div>
|
|
772
|
+
<div class="color-swatch">
|
|
773
|
+
<div class="swatch-block" style="background:#1868f2"></div>
|
|
774
|
+
<div class="swatch-info"><div class="swatch-name">Vagrant Blue</div><div class="swatch-hex">#1868f2</div><div class="swatch-role">Vagrant brand</div></div>
|
|
775
|
+
</div>
|
|
776
|
+
<div class="color-swatch">
|
|
777
|
+
<div class="swatch-block" style="background:#911ced"></div>
|
|
778
|
+
<div class="swatch-info"><div class="swatch-name">Purple Accent</div><div class="swatch-hex">#911ced</div><div class="swatch-role">Accent purple</div></div>
|
|
779
|
+
</div>
|
|
780
|
+
<div class="color-swatch">
|
|
781
|
+
<div class="swatch-block" style="background:#a737ff"></div>
|
|
782
|
+
<div class="swatch-info"><div class="swatch-name">Visited Purple</div><div class="swatch-hex">#a737ff</div><div class="swatch-role">Visited links</div></div>
|
|
783
|
+
</div>
|
|
784
|
+
</div>
|
|
785
|
+
</div>
|
|
786
|
+
|
|
787
|
+
<div class="color-group">
|
|
788
|
+
<h3 class="color-group-title">Semantic Colors</h3>
|
|
789
|
+
<div class="color-grid">
|
|
790
|
+
<div class="color-swatch">
|
|
791
|
+
<div class="swatch-block" style="background:#1060ff"></div>
|
|
792
|
+
<div class="swatch-info"><div class="swatch-name">Action Blue</div><div class="swatch-hex">#1060ff</div><div class="swatch-role">Primary action on dark</div></div>
|
|
793
|
+
</div>
|
|
794
|
+
<div class="color-swatch">
|
|
795
|
+
<div class="swatch-block" style="background:#2264d6"></div>
|
|
796
|
+
<div class="swatch-info"><div class="swatch-name">Link Blue</div><div class="swatch-hex">#2264d6</div><div class="swatch-role">Primary links on light</div></div>
|
|
797
|
+
</div>
|
|
798
|
+
<div class="color-swatch">
|
|
799
|
+
<div class="swatch-block" style="background:#2b89ff"></div>
|
|
800
|
+
<div class="swatch-info"><div class="swatch-name">Bright Blue</div><div class="swatch-hex">#2b89ff</div><div class="swatch-role">Active links, hover</div></div>
|
|
801
|
+
</div>
|
|
802
|
+
<div class="color-swatch">
|
|
803
|
+
<div class="swatch-block" style="background:#bb5a00"></div>
|
|
804
|
+
<div class="swatch-info"><div class="swatch-name">Amber</div><div class="swatch-hex">#bb5a00</div><div class="swatch-role">Warning states</div></div>
|
|
805
|
+
</div>
|
|
806
|
+
<div class="color-swatch">
|
|
807
|
+
<div class="swatch-block" style="background:#fbeabf"></div>
|
|
808
|
+
<div class="swatch-info"><div class="swatch-name">Amber Light</div><div class="swatch-hex">#fbeabf</div><div class="swatch-role">Warning backgrounds</div></div>
|
|
809
|
+
</div>
|
|
810
|
+
<div class="color-swatch">
|
|
811
|
+
<div class="swatch-block" style="background:#731e25"></div>
|
|
812
|
+
<div class="swatch-info"><div class="swatch-name">Red</div><div class="swatch-hex">#731e25</div><div class="swatch-role">Error states</div></div>
|
|
813
|
+
</div>
|
|
814
|
+
<div class="color-swatch">
|
|
815
|
+
<div class="swatch-block" style="background:#a9722e"></div>
|
|
816
|
+
<div class="swatch-info"><div class="swatch-name">Orange</div><div class="swatch-hex">#a9722e</div><div class="swatch-role">Unified core orange</div></div>
|
|
817
|
+
</div>
|
|
818
|
+
<div class="color-swatch">
|
|
819
|
+
<div class="swatch-block" style="background:#101a59"></div>
|
|
820
|
+
<div class="swatch-info"><div class="swatch-name">Navy</div><div class="swatch-hex">#101a59</div><div class="swatch-role">Unified core blue</div></div>
|
|
821
|
+
</div>
|
|
822
|
+
</div>
|
|
823
|
+
</div>
|
|
824
|
+
</section>
|
|
825
|
+
|
|
826
|
+
<!-- 2. TYPOGRAPHY SCALE -->
|
|
827
|
+
<section class="section" id="typography">
|
|
828
|
+
<div class="section-inner">
|
|
829
|
+
<div class="section-label">Section 2</div>
|
|
830
|
+
<h2 class="section-title">Typography Scale</h2>
|
|
831
|
+
<p class="section-desc">Brand headings use DM Sans (standing in for HashiCorp Sans) with tight line-heights and kern enabled. Body text uses the system-ui stack for maximum readability.</p>
|
|
832
|
+
|
|
833
|
+
<div class="type-row">
|
|
834
|
+
<div class="type-meta">
|
|
835
|
+
<div class="meta-role">Display Hero</div>
|
|
836
|
+
<div class="meta-spec">82px / 600 / 1.17</div>
|
|
837
|
+
</div>
|
|
838
|
+
<div class="type-sample" style="font-family:var(--font-brand);font-size:82px;font-weight:600;line-height:1.17;font-feature-settings:'kern' 1;">Infrastructure</div>
|
|
839
|
+
</div>
|
|
840
|
+
|
|
841
|
+
<div class="type-row">
|
|
842
|
+
<div class="type-meta">
|
|
843
|
+
<div class="meta-role">Section Heading</div>
|
|
844
|
+
<div class="meta-spec">52px / 600 / 1.19</div>
|
|
845
|
+
</div>
|
|
846
|
+
<div class="type-sample" style="font-family:var(--font-brand);font-size:52px;font-weight:600;line-height:1.19;font-feature-settings:'kern' 1;">Cloud at Scale</div>
|
|
847
|
+
</div>
|
|
848
|
+
|
|
849
|
+
<div class="type-row">
|
|
850
|
+
<div class="type-meta">
|
|
851
|
+
<div class="meta-role">Feature Heading</div>
|
|
852
|
+
<div class="meta-spec">42px / 700 / 1.19 / -0.42px</div>
|
|
853
|
+
</div>
|
|
854
|
+
<div class="type-sample" style="font-family:var(--font-brand);font-size:42px;font-weight:700;line-height:1.19;letter-spacing:-0.42px;font-feature-settings:'kern' 1;">Automate Everything</div>
|
|
855
|
+
</div>
|
|
856
|
+
|
|
857
|
+
<div class="type-row">
|
|
858
|
+
<div class="type-meta">
|
|
859
|
+
<div class="meta-role">Sub-heading</div>
|
|
860
|
+
<div class="meta-spec">34px / 600 / 1.18</div>
|
|
861
|
+
</div>
|
|
862
|
+
<div class="type-sample" style="font-family:var(--font-brand);font-size:34px;font-weight:600;line-height:1.18;font-feature-settings:'kern' 1;">Provision and Manage</div>
|
|
863
|
+
</div>
|
|
864
|
+
|
|
865
|
+
<div class="type-row">
|
|
866
|
+
<div class="type-meta">
|
|
867
|
+
<div class="meta-role">Card Title</div>
|
|
868
|
+
<div class="meta-spec">26px / 700 / 1.19</div>
|
|
869
|
+
</div>
|
|
870
|
+
<div class="type-sample" style="font-family:var(--font-brand);font-size:26px;font-weight:700;line-height:1.19;font-feature-settings:'kern' 1;">Multi-Cloud Platform</div>
|
|
871
|
+
</div>
|
|
872
|
+
|
|
873
|
+
<div class="type-row">
|
|
874
|
+
<div class="type-meta">
|
|
875
|
+
<div class="meta-role">Small Title</div>
|
|
876
|
+
<div class="meta-spec">19px / 700 / 1.21</div>
|
|
877
|
+
</div>
|
|
878
|
+
<div class="type-sample" style="font-family:var(--font-brand);font-size:19px;font-weight:700;line-height:1.21;font-feature-settings:'kern' 1;">Zero Trust Security</div>
|
|
879
|
+
</div>
|
|
880
|
+
|
|
881
|
+
<div class="type-row">
|
|
882
|
+
<div class="type-meta">
|
|
883
|
+
<div class="meta-role">Body Emphasis</div>
|
|
884
|
+
<div class="meta-spec">17px / 600 / 1.35</div>
|
|
885
|
+
</div>
|
|
886
|
+
<div class="type-sample" style="font-family:var(--font-brand);font-size:17px;font-weight:600;line-height:1.35;font-feature-settings:'kern' 1;">HashiCorp provides infrastructure automation to provision, secure, connect, and run any infrastructure for any application.</div>
|
|
887
|
+
</div>
|
|
888
|
+
|
|
889
|
+
<div class="type-row">
|
|
890
|
+
<div class="type-meta">
|
|
891
|
+
<div class="meta-role">Body Large</div>
|
|
892
|
+
<div class="meta-spec">20px / 400 / 1.50</div>
|
|
893
|
+
</div>
|
|
894
|
+
<div class="type-sample" style="font-family:var(--font-system);font-size:20px;font-weight:400;line-height:1.50;">Automate your multi-cloud infrastructure provisioning workflows with declarative configuration files.</div>
|
|
895
|
+
</div>
|
|
896
|
+
|
|
897
|
+
<div class="type-row">
|
|
898
|
+
<div class="type-meta">
|
|
899
|
+
<div class="meta-role">Body</div>
|
|
900
|
+
<div class="meta-spec">16px / 400 / 1.63</div>
|
|
901
|
+
</div>
|
|
902
|
+
<div class="type-sample" style="font-family:var(--font-system);font-size:16px;font-weight:400;line-height:1.63;">Infrastructure as code lets you manage your infrastructure across multiple providers with one consistent workflow. Define infrastructure as code to increase operator productivity and transparency.</div>
|
|
903
|
+
</div>
|
|
904
|
+
|
|
905
|
+
<div class="type-row">
|
|
906
|
+
<div class="type-meta">
|
|
907
|
+
<div class="meta-role">Nav Link</div>
|
|
908
|
+
<div class="meta-spec">15px / 500 / 1.60</div>
|
|
909
|
+
</div>
|
|
910
|
+
<div class="type-sample" style="font-family:var(--font-system);font-size:15px;font-weight:500;line-height:1.60;">Products Solutions Partners Resources Pricing</div>
|
|
911
|
+
</div>
|
|
912
|
+
|
|
913
|
+
<div class="type-row">
|
|
914
|
+
<div class="type-meta">
|
|
915
|
+
<div class="meta-role">Small Body</div>
|
|
916
|
+
<div class="meta-spec">14px / 400 / 1.71</div>
|
|
917
|
+
</div>
|
|
918
|
+
<div class="type-sample" style="font-family:var(--font-system);font-size:14px;font-weight:400;line-height:1.71;">Learn how to deploy applications across cloud providers with a standardized workflow.</div>
|
|
919
|
+
</div>
|
|
920
|
+
|
|
921
|
+
<div class="type-row">
|
|
922
|
+
<div class="type-meta">
|
|
923
|
+
<div class="meta-role">Caption</div>
|
|
924
|
+
<div class="meta-spec">13px / 400 / 1.69</div>
|
|
925
|
+
</div>
|
|
926
|
+
<div class="type-sample" style="font-family:var(--font-system);font-size:13px;font-weight:400;line-height:1.69;">Updated 2 days ago · 5 min read · Infrastructure Automation</div>
|
|
927
|
+
</div>
|
|
928
|
+
|
|
929
|
+
<div class="type-row">
|
|
930
|
+
<div class="type-meta">
|
|
931
|
+
<div class="meta-role">Uppercase Label</div>
|
|
932
|
+
<div class="meta-spec">13px / 600 / 1.69 / 1.3px</div>
|
|
933
|
+
</div>
|
|
934
|
+
<div class="type-sample" style="font-family:var(--font-brand);font-size:13px;font-weight:600;line-height:1.69;letter-spacing:1.3px;text-transform:uppercase;">Infrastructure Lifecycle</div>
|
|
935
|
+
</div>
|
|
936
|
+
</div>
|
|
937
|
+
</section>
|
|
938
|
+
|
|
939
|
+
<!-- 3. BUTTON VARIANTS -->
|
|
940
|
+
<section class="section" id="buttons">
|
|
941
|
+
<div class="section-label">Section 3</div>
|
|
942
|
+
<h2 class="section-title">Button Variants</h2>
|
|
943
|
+
<p class="section-desc">Asymmetric padding (9px 9px 9px 15px) on primary buttons is intentional. Product-colored buttons follow the same structural pattern but inject their brand color.</p>
|
|
944
|
+
|
|
945
|
+
<div class="button-group-title">Core Buttons</div>
|
|
946
|
+
<div class="btn-showcase-dark">
|
|
947
|
+
<div class="button-grid">
|
|
948
|
+
<button class="btn btn-dark">Primary Dark →</button>
|
|
949
|
+
<button class="btn btn-white">Secondary White</button>
|
|
950
|
+
</div>
|
|
951
|
+
</div>
|
|
952
|
+
|
|
953
|
+
<div class="button-group-title">Product-Colored Buttons</div>
|
|
954
|
+
<div class="btn-showcase-dark">
|
|
955
|
+
<div class="button-grid">
|
|
956
|
+
<button class="btn btn-terraform">Terraform →</button>
|
|
957
|
+
<button class="btn btn-vault">Vault →</button>
|
|
958
|
+
<button class="btn btn-waypoint">Waypoint →</button>
|
|
959
|
+
<button class="btn btn-vagrant">Vagrant →</button>
|
|
960
|
+
</div>
|
|
961
|
+
</div>
|
|
962
|
+
|
|
963
|
+
<div class="button-group-title">Badges / Pills</div>
|
|
964
|
+
<div class="btn-showcase-dark">
|
|
965
|
+
<div class="button-grid">
|
|
966
|
+
<span class="btn btn-badge">New Feature</span>
|
|
967
|
+
<span class="btn btn-badge">Beta</span>
|
|
968
|
+
<span class="btn btn-badge">HCP</span>
|
|
969
|
+
</div>
|
|
970
|
+
</div>
|
|
971
|
+
</section>
|
|
972
|
+
|
|
973
|
+
<!-- 4. CARD EXAMPLES -->
|
|
974
|
+
<section class="section" id="cards">
|
|
975
|
+
<div class="section-inner">
|
|
976
|
+
<div class="section-label">Section 4</div>
|
|
977
|
+
<h2 class="section-title">Card Examples</h2>
|
|
978
|
+
<p class="section-desc">White background cards with 8px radius and dual-layer micro-shadow at 0.05 opacity. Product accent bars indicate chromatic ownership.</p>
|
|
979
|
+
|
|
980
|
+
<div class="card-grid">
|
|
981
|
+
<div class="card">
|
|
982
|
+
<div class="card-color-bar" style="background:var(--color-terraform)"></div>
|
|
983
|
+
<div class="card-body">
|
|
984
|
+
<div style="font-family:var(--font-brand);font-size:13px;font-weight:600;letter-spacing:1.3px;text-transform:uppercase;color:var(--color-terraform);margin-bottom:8px;">Terraform</div>
|
|
985
|
+
<div class="card-title">Infrastructure as Code</div>
|
|
986
|
+
<div class="card-desc">Define and provision data center infrastructure using a declarative configuration language. Manage multi-cloud deployments with a single workflow.</div>
|
|
987
|
+
<a class="card-link" href="#">Learn more →</a>
|
|
988
|
+
</div>
|
|
989
|
+
</div>
|
|
990
|
+
<div class="card">
|
|
991
|
+
<div class="card-color-bar" style="background:var(--color-vault)"></div>
|
|
992
|
+
<div class="card-body">
|
|
993
|
+
<div style="font-family:var(--font-brand);font-size:13px;font-weight:600;letter-spacing:1.3px;text-transform:uppercase;color:var(--color-amber);margin-bottom:8px;">Vault</div>
|
|
994
|
+
<div class="card-title">Secrets Management</div>
|
|
995
|
+
<div class="card-desc">Centrally store, access, and deploy secrets across applications, systems, and infrastructure. Dynamic secrets, encryption, and identity-based access.</div>
|
|
996
|
+
<a class="card-link" href="#">Learn more →</a>
|
|
997
|
+
</div>
|
|
998
|
+
</div>
|
|
999
|
+
<div class="card">
|
|
1000
|
+
<div class="card-color-bar" style="background:var(--color-waypoint)"></div>
|
|
1001
|
+
<div class="card-body">
|
|
1002
|
+
<div style="font-family:var(--font-brand);font-size:13px;font-weight:600;letter-spacing:1.3px;text-transform:uppercase;color:var(--color-waypoint);margin-bottom:8px;">Waypoint</div>
|
|
1003
|
+
<div class="card-title">Application Delivery</div>
|
|
1004
|
+
<div class="card-desc">Build, deploy, and release applications across any platform with a consistent workflow. Simplify the developer experience for Kubernetes and beyond.</div>
|
|
1005
|
+
<a class="card-link" href="#">Learn more →</a>
|
|
1006
|
+
</div>
|
|
1007
|
+
</div>
|
|
1008
|
+
</div>
|
|
1009
|
+
</div>
|
|
1010
|
+
</section>
|
|
1011
|
+
|
|
1012
|
+
<!-- 5. FORM ELEMENTS -->
|
|
1013
|
+
<section class="section" id="forms">
|
|
1014
|
+
<div class="section-label">Section 5</div>
|
|
1015
|
+
<h2 class="section-title">Form Elements</h2>
|
|
1016
|
+
<p class="section-desc">Dark mode inputs use #0d0e12 background with 5px radius. Focus rings are 3px solid with product-appropriate color. Light mode uses white backgrounds with subtle borders.</p>
|
|
1017
|
+
|
|
1018
|
+
<div class="form-grid">
|
|
1019
|
+
<div>
|
|
1020
|
+
<h3 class="button-group-title" style="margin-top:0">Light Mode Inputs</h3>
|
|
1021
|
+
<div class="form-group">
|
|
1022
|
+
<label class="form-label">Default Input</label>
|
|
1023
|
+
<input type="text" class="form-input" placeholder="Enter your email address" />
|
|
1024
|
+
<div class="form-helper">We'll never share your email with anyone.</div>
|
|
1025
|
+
</div>
|
|
1026
|
+
<div class="form-group">
|
|
1027
|
+
<label class="form-label">Focus State</label>
|
|
1028
|
+
<input type="text" class="form-input" value="terraform@hashicorp.com" style="border-color:#2264d6;box-shadow:0 0 0 3px rgba(34,100,214,0.2);" />
|
|
1029
|
+
</div>
|
|
1030
|
+
<div class="form-group">
|
|
1031
|
+
<label class="form-label">Error State</label>
|
|
1032
|
+
<input type="text" class="form-input form-input-error" value="invalid-email" />
|
|
1033
|
+
<div class="form-error-msg">Please enter a valid email address.</div>
|
|
1034
|
+
</div>
|
|
1035
|
+
<div class="form-group">
|
|
1036
|
+
<label class="form-label">Textarea</label>
|
|
1037
|
+
<textarea class="form-input" placeholder="Describe your infrastructure needs..."></textarea>
|
|
1038
|
+
</div>
|
|
1039
|
+
</div>
|
|
1040
|
+
|
|
1041
|
+
<div>
|
|
1042
|
+
<h3 class="button-group-title" style="margin-top:0">Dark Mode Inputs</h3>
|
|
1043
|
+
<div class="form-dark-area">
|
|
1044
|
+
<div class="form-group">
|
|
1045
|
+
<label class="form-label">Default Input</label>
|
|
1046
|
+
<input type="text" class="form-input" placeholder="Enter your email address" />
|
|
1047
|
+
<div class="form-helper">We'll never share your email with anyone.</div>
|
|
1048
|
+
</div>
|
|
1049
|
+
<div class="form-group">
|
|
1050
|
+
<label class="form-label">Focus State</label>
|
|
1051
|
+
<input type="text" class="form-input" value="vault@hashicorp.com" style="border-color:#1060ff;box-shadow:0 0 0 3px rgba(16,96,255,0.3);" />
|
|
1052
|
+
</div>
|
|
1053
|
+
<div class="form-group">
|
|
1054
|
+
<label class="form-label">Error State</label>
|
|
1055
|
+
<input type="text" class="form-input" value="invalid-input" style="border-color:#731e25;" />
|
|
1056
|
+
<div class="form-error-msg" style="color:#ff6b6b;">This field is required.</div>
|
|
1057
|
+
</div>
|
|
1058
|
+
<div class="form-group">
|
|
1059
|
+
<label class="form-label">Textarea</label>
|
|
1060
|
+
<textarea class="form-input" placeholder="Describe your infrastructure needs..."></textarea>
|
|
1061
|
+
</div>
|
|
1062
|
+
</div>
|
|
1063
|
+
</div>
|
|
1064
|
+
</div>
|
|
1065
|
+
</section>
|
|
1066
|
+
|
|
1067
|
+
<!-- 6. SPACING SCALE -->
|
|
1068
|
+
<section class="section" id="spacing">
|
|
1069
|
+
<div class="section-inner">
|
|
1070
|
+
<div class="section-label">Section 6</div>
|
|
1071
|
+
<h2 class="section-title">Spacing Scale</h2>
|
|
1072
|
+
<p class="section-desc">Base unit of 8px. The scale provides granular control for component spacing while maintaining rhythm across the layout.</p>
|
|
1073
|
+
|
|
1074
|
+
<div class="spacing-row">
|
|
1075
|
+
<div class="spacing-item">
|
|
1076
|
+
<div class="spacing-box" style="width:16px;height:2px;"></div>
|
|
1077
|
+
<span class="spacing-label">2px</span>
|
|
1078
|
+
</div>
|
|
1079
|
+
<div class="spacing-item">
|
|
1080
|
+
<div class="spacing-box" style="width:16px;height:3px;"></div>
|
|
1081
|
+
<span class="spacing-label">3px</span>
|
|
1082
|
+
</div>
|
|
1083
|
+
<div class="spacing-item">
|
|
1084
|
+
<div class="spacing-box" style="width:16px;height:4px;"></div>
|
|
1085
|
+
<span class="spacing-label">4px</span>
|
|
1086
|
+
</div>
|
|
1087
|
+
<div class="spacing-item">
|
|
1088
|
+
<div class="spacing-box" style="width:16px;height:6px;"></div>
|
|
1089
|
+
<span class="spacing-label">6px</span>
|
|
1090
|
+
</div>
|
|
1091
|
+
<div class="spacing-item">
|
|
1092
|
+
<div class="spacing-box" style="width:16px;height:8px;"></div>
|
|
1093
|
+
<span class="spacing-label">8px</span>
|
|
1094
|
+
</div>
|
|
1095
|
+
<div class="spacing-item">
|
|
1096
|
+
<div class="spacing-box" style="width:20px;height:12px;"></div>
|
|
1097
|
+
<span class="spacing-label">12px</span>
|
|
1098
|
+
</div>
|
|
1099
|
+
<div class="spacing-item">
|
|
1100
|
+
<div class="spacing-box" style="width:24px;height:16px;"></div>
|
|
1101
|
+
<span class="spacing-label">16px</span>
|
|
1102
|
+
</div>
|
|
1103
|
+
<div class="spacing-item">
|
|
1104
|
+
<div class="spacing-box" style="width:28px;height:20px;"></div>
|
|
1105
|
+
<span class="spacing-label">20px</span>
|
|
1106
|
+
</div>
|
|
1107
|
+
<div class="spacing-item">
|
|
1108
|
+
<div class="spacing-box" style="width:32px;height:24px;"></div>
|
|
1109
|
+
<span class="spacing-label">24px</span>
|
|
1110
|
+
</div>
|
|
1111
|
+
<div class="spacing-item">
|
|
1112
|
+
<div class="spacing-box" style="width:40px;height:32px;"></div>
|
|
1113
|
+
<span class="spacing-label">32px</span>
|
|
1114
|
+
</div>
|
|
1115
|
+
<div class="spacing-item">
|
|
1116
|
+
<div class="spacing-box" style="width:48px;height:40px;"></div>
|
|
1117
|
+
<span class="spacing-label">40px</span>
|
|
1118
|
+
</div>
|
|
1119
|
+
<div class="spacing-item">
|
|
1120
|
+
<div class="spacing-box" style="width:56px;height:48px;"></div>
|
|
1121
|
+
<span class="spacing-label">48px</span>
|
|
1122
|
+
</div>
|
|
1123
|
+
</div>
|
|
1124
|
+
</div>
|
|
1125
|
+
</section>
|
|
1126
|
+
|
|
1127
|
+
<!-- 7. BORDER RADIUS SCALE -->
|
|
1128
|
+
<section class="section" id="radius">
|
|
1129
|
+
<div class="section-label">Section 7</div>
|
|
1130
|
+
<h2 class="section-title">Border Radius Scale</h2>
|
|
1131
|
+
<p class="section-desc">Nothing pill-shaped or circular. Tight, minimal radii from 2px to 8px communicate structural precision. The system is deliberately restrained.</p>
|
|
1132
|
+
|
|
1133
|
+
<div class="radius-row">
|
|
1134
|
+
<div class="radius-item">
|
|
1135
|
+
<div class="radius-box" style="border-radius:2px;"></div>
|
|
1136
|
+
<span class="radius-label">2px</span>
|
|
1137
|
+
<span class="radius-name">Minimal</span>
|
|
1138
|
+
</div>
|
|
1139
|
+
<div class="radius-item">
|
|
1140
|
+
<div class="radius-box" style="border-radius:3px;"></div>
|
|
1141
|
+
<span class="radius-label">3px</span>
|
|
1142
|
+
<span class="radius-name">Subtle</span>
|
|
1143
|
+
</div>
|
|
1144
|
+
<div class="radius-item">
|
|
1145
|
+
<div class="radius-box" style="border-radius:4px;"></div>
|
|
1146
|
+
<span class="radius-label">4px</span>
|
|
1147
|
+
<span class="radius-name">Standard</span>
|
|
1148
|
+
</div>
|
|
1149
|
+
<div class="radius-item">
|
|
1150
|
+
<div class="radius-box" style="border-radius:5px;"></div>
|
|
1151
|
+
<span class="radius-label">5px</span>
|
|
1152
|
+
<span class="radius-name">Comfortable</span>
|
|
1153
|
+
</div>
|
|
1154
|
+
<div class="radius-item">
|
|
1155
|
+
<div class="radius-box" style="border-radius:8px;"></div>
|
|
1156
|
+
<span class="radius-label">8px</span>
|
|
1157
|
+
<span class="radius-name">Card</span>
|
|
1158
|
+
</div>
|
|
1159
|
+
</div>
|
|
1160
|
+
</section>
|
|
1161
|
+
|
|
1162
|
+
<!-- 8. ELEVATION / DEPTH -->
|
|
1163
|
+
<section class="section" id="elevation">
|
|
1164
|
+
<div class="section-inner">
|
|
1165
|
+
<div class="section-label">Section 8</div>
|
|
1166
|
+
<h2 class="section-title">Elevation & Depth</h2>
|
|
1167
|
+
<p class="section-desc">Arguably the subtlest shadow system in modern web design. Dual-layer shadows at 5% opacity signal interactivity without visual noise. If you can see the shadow, it is too strong.</p>
|
|
1168
|
+
|
|
1169
|
+
<div class="elevation-grid">
|
|
1170
|
+
<div class="elevation-card" style="box-shadow:none;border:1px solid var(--border-color);">
|
|
1171
|
+
<div class="elev-title">Level 0 — Flat</div>
|
|
1172
|
+
<div class="elev-desc">Default surfaces, text blocks. No shadow applied.</div>
|
|
1173
|
+
<div class="elev-code">box-shadow: none</div>
|
|
1174
|
+
</div>
|
|
1175
|
+
<div class="elevation-card" style="box-shadow:rgba(97,104,117,0.05) 0px 1px 1px, rgba(97,104,117,0.05) 0px 2px 2px;border:1px solid var(--border-color);">
|
|
1176
|
+
<div class="elev-title">Level 1 — Whisper</div>
|
|
1177
|
+
<div class="elev-desc">Cards, buttons, interactive surfaces. Barely visible micro-shadow.</div>
|
|
1178
|
+
<div class="elev-code">rgba(97,104,117,0.05) 0px 1px 1px, rgba(97,104,117,0.05) 0px 2px 2px</div>
|
|
1179
|
+
</div>
|
|
1180
|
+
<div class="elevation-card" style="box-shadow:none;border:1px solid var(--border-color);outline:3px solid #2264d6;outline-offset:1px;">
|
|
1181
|
+
<div class="elev-title">Level 2 — Focus</div>
|
|
1182
|
+
<div class="elev-desc">Focus rings for keyboard navigation. 3px solid, color-matched to context.</div>
|
|
1183
|
+
<div class="elev-code">outline: 3px solid var(--focus-color)</div>
|
|
1184
|
+
</div>
|
|
1185
|
+
</div>
|
|
1186
|
+
</div>
|
|
1187
|
+
</section>
|
|
1188
|
+
|
|
1189
|
+
<!-- FOOTER -->
|
|
1190
|
+
<footer class="footer">
|
|
1191
|
+
<p>Design system tokens extracted from the public <a href="https://hashicorp.com" target="_blank">hashicorp.com</a> website. This is not the official HashiCorp design system.<br>Built for <strong>awesome-design-md</strong> — a curated collection of design system references.</p>
|
|
1192
|
+
</footer>
|
|
1193
|
+
|
|
1194
|
+
</body>
|
|
1195
|
+
</html>
|