comparison design_system/src/storybook.css @ 251:117c4d53c9a4

[ui] Add HTML-first Web Component system Co-authored-by: Copilot <[email protected]>
author MrJuneJune <me@mrjunejune.com>
date Tue, 04 Aug 2026 09:14:57 -0700
parents
children 2b6e732087ff
comparison
equal deleted inserted replaced
250:745fd127b2a1 251:117c4d53c9a4
1 * {
2 box-sizing: border-box;
3 }
4
5 html {
6 min-height: 100%;
7 background: var(--zen-color-canvas);
8 color: var(--zen-color-text);
9 font-family: var(--zen-font-sans);
10 }
11
12 body {
13 min-height: 100vh;
14 margin: 0;
15 }
16
17 button,
18 input,
19 select,
20 textarea {
21 font: inherit;
22 }
23
24 .catalog-shell {
25 display: grid;
26 grid-template-columns: 17rem minmax(0, 1fr);
27 min-height: 100vh;
28 }
29
30 .catalog-sidebar {
31 position: sticky;
32 top: 0;
33 height: 100vh;
34 overflow: auto;
35 padding: var(--zen-space-5);
36 border-right: var(--zen-border-width) solid var(--zen-color-border);
37 background: var(--zen-color-surface);
38 }
39
40 .catalog-brand {
41 display: inline-flex;
42 align-items: center;
43 gap: var(--zen-space-3);
44 color: inherit;
45 font-size: var(--zen-font-size-lg);
46 font-weight: 850;
47 text-decoration: none;
48 }
49
50 .catalog-mark {
51 display: grid;
52 width: 2.5rem;
53 height: 2.5rem;
54 place-items: center;
55 border: var(--zen-border-width) solid var(--zen-color-border);
56 border-radius: 50%;
57 background: var(--zen-color-accent);
58 color: #171a21;
59 }
60
61 .catalog-sidebar h2 {
62 margin: var(--zen-space-6) 0 var(--zen-space-2);
63 color: var(--zen-color-text-muted);
64 font-size: var(--zen-font-size-xs);
65 letter-spacing: 0.12em;
66 text-transform: uppercase;
67 }
68
69 .catalog-nav {
70 display: grid;
71 gap: var(--zen-space-1);
72 }
73
74 .catalog-nav a {
75 padding: var(--zen-space-2) var(--zen-space-3);
76 border-radius: var(--zen-radius-sm);
77 color: inherit;
78 text-decoration: none;
79 }
80
81 .catalog-nav a:hover,
82 .catalog-nav a[aria-current] {
83 background: var(--zen-color-accent);
84 color: #171a21;
85 }
86
87 .theme-toggle {
88 width: 100%;
89 margin-top: var(--zen-space-6);
90 padding: var(--zen-space-2);
91 border: var(--zen-border-width) solid var(--zen-color-border);
92 border-radius: var(--zen-radius-md);
93 background: transparent;
94 color: inherit;
95 cursor: pointer;
96 }
97
98 .catalog-main {
99 width: min(100%, var(--zen-content-width));
100 padding: var(--zen-space-7) clamp(1rem, 5vw, 5rem);
101 outline: none;
102 }
103
104 .catalog-page[hidden] {
105 display: none;
106 }
107
108 .page-heading {
109 max-width: 52rem;
110 margin-bottom: var(--zen-space-7);
111 }
112
113 .eyebrow {
114 margin: 0 0 var(--zen-space-2);
115 color: var(--zen-color-info);
116 font-size: var(--zen-font-size-sm);
117 font-weight: 800;
118 letter-spacing: 0.1em;
119 text-transform: uppercase;
120 }
121
122 .page-heading h1 {
123 margin: 0 0 var(--zen-space-3);
124 font-size: var(--zen-font-size-xl);
125 line-height: 1.05;
126 }
127
128 .page-heading p {
129 color: var(--zen-color-text-muted);
130 font-size: var(--zen-font-size-lg);
131 }
132
133 .principles,
134 .component-grid,
135 .token-grid {
136 display: grid;
137 grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
138 gap: var(--zen-space-5);
139 }
140
141 .principle,
142 .token-group {
143 padding: var(--zen-space-5);
144 border: var(--zen-border-width) solid var(--zen-color-border);
145 border-radius: var(--zen-radius-lg);
146 background: var(--zen-color-surface);
147 }
148
149 .principle h2,
150 .token-group h2 {
151 margin-top: 0;
152 }
153
154 .component-grid a {
155 color: inherit;
156 text-decoration: none;
157 }
158
159 .component-grid zen-card {
160 height: 100%;
161 }
162
163 .swatch-list {
164 display: grid;
165 gap: var(--zen-space-2);
166 margin: 0;
167 }
168
169 .swatch-list div {
170 display: grid;
171 grid-template-columns: 2rem 1fr;
172 align-items: center;
173 gap: var(--zen-space-2);
174 }
175
176 .swatch-list dt,
177 .swatch-list dd {
178 margin: 0;
179 font-family: var(--zen-font-mono);
180 font-size: var(--zen-font-size-xs);
181 }
182
183 .swatch {
184 width: 2rem;
185 height: 2rem;
186 border: 1px solid var(--zen-color-border);
187 border-radius: 50%;
188 background: var(--swatch);
189 }
190
191 zen-story {
192 display: block;
193 margin-bottom: var(--zen-space-6);
194 overflow: hidden;
195 border: var(--zen-border-width) solid var(--zen-color-border);
196 border-radius: var(--zen-radius-lg);
197 background: var(--zen-color-surface);
198 }
199
200 zen-story > header {
201 display: flex;
202 align-items: center;
203 justify-content: space-between;
204 gap: var(--zen-space-3);
205 padding: var(--zen-space-3) var(--zen-space-4);
206 border-bottom: 1px solid var(--zen-color-border);
207 }
208
209 zen-story > header h3 {
210 margin: 0;
211 }
212
213 zen-story > header button {
214 padding: var(--zen-space-1) var(--zen-space-2);
215 border: 0;
216 border-radius: var(--zen-radius-sm);
217 background: transparent;
218 color: var(--zen-color-info);
219 cursor: pointer;
220 }
221
222 .story-canvas {
223 min-height: 8rem;
224 padding: clamp(1rem, 4vw, 3rem);
225 background:
226 linear-gradient(90deg, rgba(127, 127, 127, 0.08) 1px, transparent 1px),
227 linear-gradient(rgba(127, 127, 127, 0.08) 1px, transparent 1px);
228 background-size: 1rem 1rem;
229 }
230
231 zen-story > pre {
232 max-height: 24rem;
233 overflow: auto;
234 margin: 0;
235 padding: var(--zen-space-4);
236 border-top: 1px solid var(--zen-color-border);
237 background: #111318;
238 color: #f4f4f5;
239 font: var(--zen-font-size-sm)/1.55 var(--zen-font-mono);
240 }
241
242 .demo-card-grid {
243 display: grid;
244 grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
245 gap: var(--zen-space-5);
246 }
247
248 @media (max-width: 760px) {
249 .catalog-shell {
250 grid-template-columns: 1fr;
251 }
252
253 .catalog-sidebar {
254 position: static;
255 width: 100%;
256 height: auto;
257 border-right: 0;
258 border-bottom: var(--zen-border-width) solid var(--zen-color-border);
259 }
260
261 .catalog-nav {
262 grid-template-columns: repeat(auto-fit, minmax(7rem, 1fr));
263 }
264
265 .catalog-main {
266 padding: var(--zen-space-6) var(--zen-space-4);
267 }
268 }