@usezanin/blog 0.1.0 → 0.3.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/README.md +43 -2
- package/dist/BlogIndex.d.ts +9 -1
- package/dist/BlogIndex.d.ts.map +1 -1
- package/dist/BlogIndex.js +14 -6
- package/dist/BlogIndex.js.map +1 -1
- package/dist/BlogPost.d.ts.map +1 -1
- package/dist/BlogPost.js +6 -3
- package/dist/BlogPost.js.map +1 -1
- package/dist/components/Chart.js +1 -1
- package/dist/config.d.ts +11 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +1 -0
- package/dist/config.js.map +1 -1
- package/dist/data.d.ts +2 -0
- package/dist/data.d.ts.map +1 -1
- package/dist/data.js +10 -0
- package/dist/data.js.map +1 -1
- package/dist/headless.d.ts +14 -0
- package/dist/headless.d.ts.map +1 -0
- package/dist/headless.js +20 -0
- package/dist/headless.js.map +1 -0
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/theme.d.ts +12 -0
- package/dist/theme.d.ts.map +1 -0
- package/dist/theme.js +48 -0
- package/dist/theme.js.map +1 -0
- package/dist/validate.d.ts +18 -0
- package/dist/validate.d.ts.map +1 -0
- package/dist/validate.js +101 -0
- package/dist/validate.js.map +1 -0
- package/package.json +3 -3
- package/styles.css +245 -172
package/styles.css
CHANGED
|
@@ -1,33 +1,41 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @usezanin/blog — themable reading styles.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
4
|
+
* Design language matches the Zanin admin: clean neutral surfaces, hairline
|
|
5
|
+
* borders, subtle shadows, one accent color. Every value routes through a
|
|
6
|
+
* --zanin-* CSS variable; override them via the site theme in the Zanin
|
|
7
|
+
* dashboard, the SDK `theme` config, or plain CSS.
|
|
8
8
|
*/
|
|
9
9
|
.zanin-blog {
|
|
10
|
-
--zanin-accent: #
|
|
11
|
-
--zanin-
|
|
12
|
-
--zanin-
|
|
13
|
-
--zanin-
|
|
14
|
-
--zanin-ink: #
|
|
15
|
-
--zanin-ink-
|
|
16
|
-
--zanin-
|
|
17
|
-
--zanin-
|
|
18
|
-
--zanin-font-
|
|
19
|
-
--zanin-font-serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
|
|
10
|
+
--zanin-accent: #005bd3;
|
|
11
|
+
--zanin-canvas: #ffffff;
|
|
12
|
+
--zanin-surface: #fafafa;
|
|
13
|
+
--zanin-ink: #1a1a1a;
|
|
14
|
+
--zanin-ink-muted: #616161;
|
|
15
|
+
--zanin-ink-faint: #8a8a8a;
|
|
16
|
+
--zanin-hairline: #e3e3e3;
|
|
17
|
+
--zanin-font-body: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
|
|
18
|
+
--zanin-font-heading: var(--zanin-font-body);
|
|
20
19
|
--zanin-font-mono: ui-monospace, "SF Mono", "Cascadia Code", Menlo, monospace;
|
|
20
|
+
--zanin-base-size: 16.5px;
|
|
21
|
+
--zanin-heading-weight: 650;
|
|
21
22
|
--zanin-measure: 720px;
|
|
22
|
-
--zanin-radius
|
|
23
|
+
--zanin-radius: 12px;
|
|
24
|
+
/* Vertical rhythm multiplier (theme spacing: compact 0.8 / relaxed 1.3) */
|
|
25
|
+
--zanin-space: 1;
|
|
26
|
+
|
|
27
|
+
/* Derived */
|
|
28
|
+
--zanin-accent-strong: color-mix(in srgb, var(--zanin-accent) 82%, var(--zanin-ink));
|
|
29
|
+
--zanin-shadow: 0 1px 2px color-mix(in srgb, var(--zanin-ink) 7%, transparent);
|
|
23
30
|
|
|
24
31
|
margin: 0 auto;
|
|
25
32
|
max-width: var(--zanin-measure);
|
|
26
|
-
padding: 48px 24px 96px;
|
|
33
|
+
padding: calc(48px * var(--zanin-space)) 24px calc(96px * var(--zanin-space));
|
|
34
|
+
background: var(--zanin-canvas);
|
|
27
35
|
color: var(--zanin-ink);
|
|
28
|
-
font-family: var(--zanin-font-
|
|
29
|
-
font-size:
|
|
30
|
-
line-height: 1.
|
|
36
|
+
font-family: var(--zanin-font-body);
|
|
37
|
+
font-size: var(--zanin-base-size);
|
|
38
|
+
line-height: 1.65;
|
|
31
39
|
}
|
|
32
40
|
|
|
33
41
|
.zanin-blog a {
|
|
@@ -35,119 +43,164 @@
|
|
|
35
43
|
text-decoration: none;
|
|
36
44
|
}
|
|
37
45
|
.zanin-blog a:hover {
|
|
38
|
-
color: var(--zanin-accent-
|
|
46
|
+
color: var(--zanin-accent-strong);
|
|
47
|
+
text-decoration: underline;
|
|
39
48
|
}
|
|
40
49
|
|
|
41
50
|
.zanin-tag {
|
|
42
51
|
display: inline-block;
|
|
43
|
-
border
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
font-
|
|
48
|
-
|
|
49
|
-
|
|
52
|
+
border: 1px solid var(--zanin-hairline);
|
|
53
|
+
border-radius: calc(var(--zanin-radius) / 1.5);
|
|
54
|
+
background: var(--zanin-surface);
|
|
55
|
+
color: var(--zanin-ink-muted);
|
|
56
|
+
font-size: 0.72em;
|
|
57
|
+
font-weight: 550;
|
|
58
|
+
letter-spacing: 0.01em;
|
|
59
|
+
padding: 2px 9px;
|
|
50
60
|
}
|
|
51
61
|
|
|
52
62
|
/* ---- Index ---------------------------------------------------------- */
|
|
53
63
|
|
|
54
64
|
.zanin-index-header {
|
|
55
|
-
margin-bottom:
|
|
65
|
+
margin-bottom: calc(40px * var(--zanin-space));
|
|
56
66
|
}
|
|
57
67
|
.zanin-index-header h1 {
|
|
58
|
-
font-family: var(--zanin-font-
|
|
59
|
-
font-size:
|
|
60
|
-
font-weight:
|
|
61
|
-
letter-spacing: -0.
|
|
62
|
-
line-height: 1.
|
|
68
|
+
font-family: var(--zanin-font-heading);
|
|
69
|
+
font-size: 2.5em;
|
|
70
|
+
font-weight: var(--zanin-heading-weight);
|
|
71
|
+
letter-spacing: -0.02em;
|
|
72
|
+
line-height: 1.12;
|
|
63
73
|
margin: 0 0 8px;
|
|
64
74
|
text-wrap: balance;
|
|
65
75
|
}
|
|
66
76
|
.zanin-index-header p {
|
|
67
77
|
color: var(--zanin-ink-muted);
|
|
68
|
-
font-size:
|
|
78
|
+
font-size: 1.06em;
|
|
69
79
|
margin: 0;
|
|
70
80
|
max-width: 52ch;
|
|
71
81
|
}
|
|
72
82
|
|
|
73
|
-
.zanin-index-list {
|
|
74
|
-
display: flex;
|
|
75
|
-
flex-direction: column;
|
|
76
|
-
}
|
|
77
|
-
.zanin-index-item {
|
|
78
|
-
border-top: 1px solid var(--zanin-hairline);
|
|
79
|
-
}
|
|
80
|
-
.zanin-index-item:last-child {
|
|
81
|
-
border-bottom: 1px solid var(--zanin-hairline);
|
|
82
|
-
}
|
|
83
83
|
.zanin-index-item > a {
|
|
84
84
|
color: inherit;
|
|
85
85
|
display: block;
|
|
86
|
-
|
|
87
|
-
transition: opacity 0.15s ease;
|
|
88
|
-
}
|
|
89
|
-
.zanin-index-item > a:hover {
|
|
90
|
-
color: inherit;
|
|
91
|
-
opacity: 0.72;
|
|
86
|
+
text-decoration: none;
|
|
92
87
|
}
|
|
93
88
|
.zanin-index-item h2 {
|
|
94
|
-
font-family: var(--zanin-font-
|
|
95
|
-
font-size:
|
|
96
|
-
font-weight:
|
|
97
|
-
letter-spacing: -0.
|
|
98
|
-
line-height: 1.
|
|
89
|
+
font-family: var(--zanin-font-heading);
|
|
90
|
+
font-size: 1.45em;
|
|
91
|
+
font-weight: var(--zanin-heading-weight);
|
|
92
|
+
letter-spacing: -0.012em;
|
|
93
|
+
line-height: 1.28;
|
|
99
94
|
margin: 0 0 6px;
|
|
100
95
|
text-wrap: balance;
|
|
101
96
|
}
|
|
97
|
+
.zanin-index-item > a:hover h2 {
|
|
98
|
+
color: var(--zanin-accent);
|
|
99
|
+
}
|
|
100
|
+
.zanin-index-item > a:hover {
|
|
101
|
+
text-decoration: none;
|
|
102
|
+
color: inherit;
|
|
103
|
+
}
|
|
102
104
|
.zanin-index-item p {
|
|
103
105
|
color: var(--zanin-ink-muted);
|
|
106
|
+
font-size: 0.94em;
|
|
104
107
|
margin: 0;
|
|
105
|
-
max-width:
|
|
108
|
+
max-width: 66ch;
|
|
106
109
|
}
|
|
107
110
|
.zanin-index-meta {
|
|
108
111
|
align-items: center;
|
|
109
112
|
color: var(--zanin-ink-faint);
|
|
110
113
|
display: flex;
|
|
111
|
-
|
|
112
|
-
font-
|
|
113
|
-
|
|
114
|
-
|
|
114
|
+
flex-wrap: wrap;
|
|
115
|
+
font-size: 0.78em;
|
|
116
|
+
font-weight: 500;
|
|
117
|
+
gap: 8px;
|
|
115
118
|
margin-bottom: 10px;
|
|
116
|
-
|
|
119
|
+
}
|
|
120
|
+
.zanin-index-more {
|
|
121
|
+
color: var(--zanin-accent);
|
|
122
|
+
display: inline-block;
|
|
123
|
+
font-size: 0.85em;
|
|
124
|
+
font-weight: 550;
|
|
125
|
+
margin-top: 12px;
|
|
117
126
|
}
|
|
118
127
|
.zanin-index-empty {
|
|
119
128
|
color: var(--zanin-ink-faint);
|
|
120
129
|
}
|
|
121
130
|
|
|
131
|
+
/* List layout (default): divided rows */
|
|
132
|
+
.zanin-index--list .zanin-index-list {
|
|
133
|
+
display: flex;
|
|
134
|
+
flex-direction: column;
|
|
135
|
+
}
|
|
136
|
+
.zanin-index--list .zanin-index-item {
|
|
137
|
+
border-top: 1px solid var(--zanin-hairline);
|
|
138
|
+
}
|
|
139
|
+
.zanin-index--list .zanin-index-item:last-child {
|
|
140
|
+
border-bottom: 1px solid var(--zanin-hairline);
|
|
141
|
+
}
|
|
142
|
+
.zanin-index--list .zanin-index-item > a {
|
|
143
|
+
padding: calc(26px * var(--zanin-space)) 2px;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
/* Grid layout: cards */
|
|
147
|
+
.zanin-index--grid {
|
|
148
|
+
max-width: calc(var(--zanin-measure) * 1.5);
|
|
149
|
+
}
|
|
150
|
+
.zanin-index--grid .zanin-index-list {
|
|
151
|
+
display: grid;
|
|
152
|
+
gap: calc(20px * var(--zanin-space));
|
|
153
|
+
grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
|
|
154
|
+
}
|
|
155
|
+
.zanin-index--grid .zanin-index-item {
|
|
156
|
+
background: var(--zanin-surface);
|
|
157
|
+
border: 1px solid var(--zanin-hairline);
|
|
158
|
+
border-radius: var(--zanin-radius);
|
|
159
|
+
box-shadow: var(--zanin-shadow);
|
|
160
|
+
transition: box-shadow 0.15s ease, transform 0.15s ease;
|
|
161
|
+
}
|
|
162
|
+
.zanin-index--grid .zanin-index-item:hover {
|
|
163
|
+
box-shadow: 0 4px 14px color-mix(in srgb, var(--zanin-ink) 10%, transparent);
|
|
164
|
+
transform: translateY(-1px);
|
|
165
|
+
}
|
|
166
|
+
.zanin-index--grid .zanin-index-item > a {
|
|
167
|
+
display: flex;
|
|
168
|
+
flex-direction: column;
|
|
169
|
+
height: 100%;
|
|
170
|
+
padding: calc(22px * var(--zanin-space));
|
|
171
|
+
}
|
|
172
|
+
.zanin-index--grid .zanin-index-more {
|
|
173
|
+
margin-top: auto;
|
|
174
|
+
padding-top: 14px;
|
|
175
|
+
}
|
|
176
|
+
|
|
122
177
|
/* ---- Post header ----------------------------------------------------- */
|
|
123
178
|
|
|
124
179
|
.zanin-post-header {
|
|
125
|
-
margin-bottom:
|
|
180
|
+
margin-bottom: calc(40px * var(--zanin-space));
|
|
126
181
|
}
|
|
127
182
|
.zanin-post-meta {
|
|
128
183
|
align-items: center;
|
|
129
184
|
color: var(--zanin-ink-faint);
|
|
130
185
|
display: flex;
|
|
131
186
|
flex-wrap: wrap;
|
|
132
|
-
font-size:
|
|
133
|
-
font-weight:
|
|
134
|
-
gap:
|
|
135
|
-
|
|
136
|
-
margin-bottom: 16px;
|
|
137
|
-
text-transform: uppercase;
|
|
187
|
+
font-size: 0.8em;
|
|
188
|
+
font-weight: 500;
|
|
189
|
+
gap: 8px;
|
|
190
|
+
margin-bottom: 14px;
|
|
138
191
|
}
|
|
139
192
|
.zanin-post-header h1 {
|
|
140
|
-
font-family: var(--zanin-font-
|
|
141
|
-
font-size:
|
|
142
|
-
font-weight:
|
|
143
|
-
letter-spacing: -0.
|
|
193
|
+
font-family: var(--zanin-font-heading);
|
|
194
|
+
font-size: 2.5em;
|
|
195
|
+
font-weight: var(--zanin-heading-weight);
|
|
196
|
+
letter-spacing: -0.02em;
|
|
144
197
|
line-height: 1.12;
|
|
145
|
-
margin: 0 0
|
|
198
|
+
margin: 0 0 12px;
|
|
146
199
|
text-wrap: balance;
|
|
147
200
|
}
|
|
148
201
|
.zanin-post-lede {
|
|
149
202
|
color: var(--zanin-ink-muted);
|
|
150
|
-
font-size:
|
|
203
|
+
font-size: 1.12em;
|
|
151
204
|
line-height: 1.55;
|
|
152
205
|
margin: 0;
|
|
153
206
|
text-wrap: pretty;
|
|
@@ -156,92 +209,90 @@
|
|
|
156
209
|
/* ---- Prose ----------------------------------------------------------- */
|
|
157
210
|
|
|
158
211
|
.zanin-prose {
|
|
159
|
-
|
|
160
|
-
line-height: 1.65;
|
|
212
|
+
line-height: 1.68;
|
|
161
213
|
}
|
|
162
214
|
.zanin-prose > * + * {
|
|
163
|
-
margin-top: 1.
|
|
215
|
+
margin-top: calc(1.1em * var(--zanin-space));
|
|
164
216
|
}
|
|
165
217
|
.zanin-prose p {
|
|
166
218
|
margin: 0;
|
|
167
219
|
text-wrap: pretty;
|
|
168
220
|
}
|
|
169
221
|
.zanin-prose h2 {
|
|
170
|
-
font-family: var(--zanin-font-
|
|
171
|
-
font-size:
|
|
172
|
-
font-weight:
|
|
173
|
-
letter-spacing: -0.
|
|
222
|
+
font-family: var(--zanin-font-heading);
|
|
223
|
+
font-size: 1.6em;
|
|
224
|
+
font-weight: var(--zanin-heading-weight);
|
|
225
|
+
letter-spacing: -0.015em;
|
|
174
226
|
line-height: 1.25;
|
|
175
|
-
margin-top:
|
|
176
|
-
text-wrap: balance;
|
|
227
|
+
margin-top: calc(1.9em * var(--zanin-space));
|
|
177
228
|
}
|
|
178
229
|
.zanin-prose h3 {
|
|
179
|
-
font-
|
|
180
|
-
font-
|
|
230
|
+
font-family: var(--zanin-font-heading);
|
|
231
|
+
font-size: 1.2em;
|
|
232
|
+
font-weight: var(--zanin-heading-weight);
|
|
181
233
|
line-height: 1.3;
|
|
182
|
-
margin-top: 1.
|
|
234
|
+
margin-top: calc(1.7em * var(--zanin-space));
|
|
183
235
|
}
|
|
184
236
|
.zanin-prose ul,
|
|
185
237
|
.zanin-prose ol {
|
|
186
238
|
padding-left: 1.4em;
|
|
187
239
|
}
|
|
188
240
|
.zanin-prose li + li {
|
|
189
|
-
margin-top: 0.4em;
|
|
241
|
+
margin-top: calc(0.4em * var(--zanin-space));
|
|
190
242
|
}
|
|
191
243
|
.zanin-prose blockquote {
|
|
192
244
|
border-left: 3px solid var(--zanin-accent);
|
|
193
245
|
color: var(--zanin-ink-muted);
|
|
194
|
-
font-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
margin: 1.6em 0;
|
|
198
|
-
padding: 0.2em 0 0.2em 1.2em;
|
|
246
|
+
font-size: 1.05em;
|
|
247
|
+
margin: calc(1.5em * var(--zanin-space)) 0;
|
|
248
|
+
padding: 0.15em 0 0.15em 1.2em;
|
|
199
249
|
}
|
|
200
250
|
.zanin-prose code {
|
|
201
|
-
background:
|
|
251
|
+
background: var(--zanin-surface);
|
|
252
|
+
border: 1px solid var(--zanin-hairline);
|
|
202
253
|
border-radius: 6px;
|
|
203
254
|
font-family: var(--zanin-font-mono);
|
|
204
|
-
font-size: 0.
|
|
205
|
-
padding: 0.
|
|
255
|
+
font-size: 0.86em;
|
|
256
|
+
padding: 0.1em 0.35em;
|
|
206
257
|
}
|
|
207
258
|
.zanin-prose img {
|
|
208
|
-
border
|
|
259
|
+
border: 1px solid var(--zanin-hairline);
|
|
260
|
+
border-radius: var(--zanin-radius);
|
|
209
261
|
height: auto;
|
|
210
262
|
max-width: 100%;
|
|
211
263
|
}
|
|
212
264
|
.zanin-prose hr {
|
|
213
265
|
border: none;
|
|
214
266
|
border-top: 1px solid var(--zanin-hairline);
|
|
215
|
-
margin: 2.
|
|
267
|
+
margin: calc(2.4em * var(--zanin-space)) 0;
|
|
216
268
|
}
|
|
217
269
|
.zanin-prose table {
|
|
218
270
|
border-collapse: collapse;
|
|
219
|
-
font-size:
|
|
271
|
+
font-size: 0.9em;
|
|
220
272
|
width: 100%;
|
|
221
273
|
}
|
|
222
274
|
.zanin-prose th,
|
|
223
275
|
.zanin-prose td {
|
|
224
276
|
border-bottom: 1px solid var(--zanin-hairline);
|
|
225
|
-
padding:
|
|
277
|
+
padding: 9px 12px;
|
|
226
278
|
text-align: left;
|
|
227
279
|
}
|
|
228
280
|
.zanin-prose th {
|
|
229
|
-
color: var(--zanin-ink-
|
|
230
|
-
font-size:
|
|
231
|
-
font-weight:
|
|
232
|
-
letter-spacing: 0.09em;
|
|
233
|
-
text-transform: uppercase;
|
|
281
|
+
color: var(--zanin-ink-muted);
|
|
282
|
+
font-size: 0.82em;
|
|
283
|
+
font-weight: 600;
|
|
234
284
|
}
|
|
235
285
|
|
|
236
286
|
/* ---- Built-in components --------------------------------------------- */
|
|
237
287
|
|
|
238
288
|
.zanin-callout {
|
|
239
289
|
background: var(--zanin-surface);
|
|
240
|
-
border
|
|
241
|
-
|
|
290
|
+
border: 1px solid var(--zanin-hairline);
|
|
291
|
+
border-radius: var(--zanin-radius);
|
|
292
|
+
box-shadow: var(--zanin-shadow);
|
|
242
293
|
display: flex;
|
|
243
|
-
gap:
|
|
244
|
-
padding: 18px
|
|
294
|
+
gap: 12px;
|
|
295
|
+
padding: calc(16px * var(--zanin-space)) 18px;
|
|
245
296
|
}
|
|
246
297
|
.zanin-callout-icon {
|
|
247
298
|
align-items: center;
|
|
@@ -250,23 +301,23 @@
|
|
|
250
301
|
color: var(--zanin-accent);
|
|
251
302
|
display: flex;
|
|
252
303
|
flex-shrink: 0;
|
|
253
|
-
font-size:
|
|
304
|
+
font-size: 0.78em;
|
|
254
305
|
font-weight: 700;
|
|
255
|
-
height:
|
|
306
|
+
height: 24px;
|
|
256
307
|
justify-content: center;
|
|
257
308
|
margin-top: 2px;
|
|
258
|
-
width:
|
|
309
|
+
width: 24px;
|
|
259
310
|
}
|
|
260
311
|
.zanin-callout-warning .zanin-callout-icon {
|
|
261
|
-
background:
|
|
262
|
-
color: #
|
|
312
|
+
background: #ffef9d;
|
|
313
|
+
color: #4f4700;
|
|
263
314
|
}
|
|
264
315
|
.zanin-callout-success .zanin-callout-icon {
|
|
265
|
-
background:
|
|
266
|
-
color: #
|
|
316
|
+
background: #cdfee1;
|
|
317
|
+
color: #0c5132;
|
|
267
318
|
}
|
|
268
319
|
.zanin-callout-body {
|
|
269
|
-
font-size:
|
|
320
|
+
font-size: 0.94em;
|
|
270
321
|
}
|
|
271
322
|
.zanin-callout-body > * + * {
|
|
272
323
|
margin-top: 0.5em;
|
|
@@ -282,31 +333,31 @@
|
|
|
282
333
|
margin: 0;
|
|
283
334
|
}
|
|
284
335
|
.zanin-figure img {
|
|
285
|
-
border
|
|
336
|
+
border: 1px solid var(--zanin-hairline);
|
|
337
|
+
border-radius: var(--zanin-radius);
|
|
286
338
|
height: auto;
|
|
287
339
|
max-width: 100%;
|
|
288
340
|
width: 100%;
|
|
289
341
|
}
|
|
290
342
|
.zanin-figure figcaption {
|
|
291
343
|
color: var(--zanin-ink-faint);
|
|
292
|
-
font-size:
|
|
344
|
+
font-size: 0.82em;
|
|
293
345
|
margin-top: 10px;
|
|
294
346
|
text-align: center;
|
|
295
347
|
}
|
|
296
348
|
|
|
297
349
|
.zanin-chart {
|
|
298
350
|
background: var(--zanin-surface);
|
|
299
|
-
border
|
|
300
|
-
|
|
301
|
-
|
|
351
|
+
border: 1px solid var(--zanin-hairline);
|
|
352
|
+
border-radius: var(--zanin-radius);
|
|
353
|
+
box-shadow: var(--zanin-shadow);
|
|
354
|
+
padding: calc(18px * var(--zanin-space));
|
|
302
355
|
}
|
|
303
356
|
.zanin-chart-title {
|
|
304
|
-
color: var(--zanin-ink-
|
|
305
|
-
font-size:
|
|
306
|
-
font-weight:
|
|
307
|
-
letter-spacing: 0.09em;
|
|
357
|
+
color: var(--zanin-ink-muted);
|
|
358
|
+
font-size: 0.82em;
|
|
359
|
+
font-weight: 600;
|
|
308
360
|
margin: 0 0 14px;
|
|
309
|
-
text-transform: uppercase;
|
|
310
361
|
}
|
|
311
362
|
.zanin-chart .recharts-text {
|
|
312
363
|
fill: var(--zanin-ink-faint);
|
|
@@ -314,47 +365,50 @@
|
|
|
314
365
|
|
|
315
366
|
.zanin-cta {
|
|
316
367
|
align-items: center;
|
|
317
|
-
background:
|
|
318
|
-
border
|
|
368
|
+
background: var(--zanin-surface);
|
|
369
|
+
border: 1px solid var(--zanin-hairline);
|
|
370
|
+
border-radius: var(--zanin-radius);
|
|
371
|
+
box-shadow: var(--zanin-shadow);
|
|
319
372
|
display: flex;
|
|
320
373
|
flex-wrap: wrap;
|
|
321
|
-
gap:
|
|
374
|
+
gap: 16px;
|
|
322
375
|
justify-content: space-between;
|
|
323
|
-
padding:
|
|
376
|
+
padding: calc(22px * var(--zanin-space)) 24px;
|
|
324
377
|
}
|
|
325
378
|
.zanin-cta-title {
|
|
326
|
-
font-family: var(--zanin-font-
|
|
327
|
-
font-size:
|
|
328
|
-
font-weight:
|
|
379
|
+
font-family: var(--zanin-font-heading);
|
|
380
|
+
font-size: 1.15em;
|
|
381
|
+
font-weight: var(--zanin-heading-weight);
|
|
329
382
|
margin: 0;
|
|
330
383
|
}
|
|
331
384
|
.zanin-cta-description {
|
|
332
385
|
color: var(--zanin-ink-muted);
|
|
333
|
-
font-size:
|
|
386
|
+
font-size: 0.9em;
|
|
334
387
|
margin: 4px 0 0;
|
|
335
388
|
}
|
|
336
389
|
.zanin-cta-button {
|
|
337
390
|
background: var(--zanin-accent);
|
|
338
|
-
border-radius:
|
|
339
|
-
box-shadow: 0 4px 14px color-mix(in srgb, var(--zanin-accent) 35%, transparent);
|
|
391
|
+
border-radius: calc(var(--zanin-radius) / 1.5);
|
|
340
392
|
color: #fff !important;
|
|
341
393
|
display: inline-block;
|
|
342
|
-
font-size:
|
|
343
|
-
font-weight:
|
|
344
|
-
padding:
|
|
345
|
-
|
|
394
|
+
font-size: 0.9em;
|
|
395
|
+
font-weight: 600;
|
|
396
|
+
padding: 10px 20px;
|
|
397
|
+
text-decoration: none !important;
|
|
398
|
+
transition: background 0.15s ease, transform 0.1s ease;
|
|
346
399
|
white-space: nowrap;
|
|
347
400
|
}
|
|
348
401
|
.zanin-cta-button:hover {
|
|
349
|
-
background: var(--zanin-accent-
|
|
402
|
+
background: var(--zanin-accent-strong);
|
|
350
403
|
}
|
|
351
404
|
.zanin-cta-button:active {
|
|
352
|
-
transform: scale(0.
|
|
405
|
+
transform: scale(0.98);
|
|
353
406
|
}
|
|
354
407
|
|
|
355
408
|
.zanin-embed-youtube {
|
|
356
409
|
aspect-ratio: 16 / 9;
|
|
357
|
-
border
|
|
410
|
+
border: 1px solid var(--zanin-hairline);
|
|
411
|
+
border-radius: var(--zanin-radius);
|
|
358
412
|
overflow: hidden;
|
|
359
413
|
}
|
|
360
414
|
.zanin-embed-youtube iframe {
|
|
@@ -365,84 +419,101 @@
|
|
|
365
419
|
|
|
366
420
|
.zanin-tweet {
|
|
367
421
|
background: var(--zanin-surface);
|
|
368
|
-
border
|
|
369
|
-
|
|
422
|
+
border: 1px solid var(--zanin-hairline);
|
|
423
|
+
border-radius: var(--zanin-radius);
|
|
424
|
+
box-shadow: var(--zanin-shadow);
|
|
370
425
|
margin: 0;
|
|
371
|
-
padding: 22px
|
|
426
|
+
padding: calc(18px * var(--zanin-space)) 22px;
|
|
372
427
|
}
|
|
373
428
|
.zanin-tweet-text {
|
|
374
|
-
font-
|
|
375
|
-
|
|
376
|
-
font-style: italic;
|
|
377
|
-
line-height: 1.5;
|
|
429
|
+
font-size: 1.02em;
|
|
430
|
+
line-height: 1.55;
|
|
378
431
|
}
|
|
379
432
|
.zanin-tweet footer {
|
|
380
433
|
align-items: center;
|
|
381
434
|
color: var(--zanin-ink-faint);
|
|
382
435
|
display: flex;
|
|
383
|
-
font-size:
|
|
436
|
+
font-size: 0.82em;
|
|
384
437
|
gap: 8px;
|
|
385
|
-
margin-top:
|
|
438
|
+
margin-top: 12px;
|
|
386
439
|
}
|
|
387
440
|
.zanin-tweet-author {
|
|
388
441
|
color: var(--zanin-ink);
|
|
389
|
-
font-weight:
|
|
442
|
+
font-weight: 600;
|
|
390
443
|
}
|
|
391
444
|
|
|
392
445
|
.zanin-codeblock {
|
|
393
|
-
background: #
|
|
394
|
-
border-radius: var(--zanin-radius
|
|
395
|
-
color: #
|
|
446
|
+
background: #1a1a1a;
|
|
447
|
+
border-radius: var(--zanin-radius);
|
|
448
|
+
color: #e3e3e3;
|
|
396
449
|
overflow: hidden;
|
|
397
450
|
position: relative;
|
|
398
451
|
}
|
|
399
452
|
.zanin-codeblock-lang {
|
|
400
|
-
color: #
|
|
453
|
+
color: #8a8a8a;
|
|
401
454
|
font-family: var(--zanin-font-mono);
|
|
402
|
-
font-size:
|
|
403
|
-
letter-spacing: 0.
|
|
455
|
+
font-size: 0.68em;
|
|
456
|
+
letter-spacing: 0.08em;
|
|
404
457
|
position: absolute;
|
|
405
|
-
right:
|
|
458
|
+
right: 14px;
|
|
406
459
|
text-transform: uppercase;
|
|
407
|
-
top:
|
|
460
|
+
top: 11px;
|
|
408
461
|
}
|
|
409
462
|
.zanin-codeblock pre {
|
|
410
463
|
font-family: var(--zanin-font-mono);
|
|
411
|
-
font-size:
|
|
464
|
+
font-size: 0.82em;
|
|
412
465
|
line-height: 1.6;
|
|
413
466
|
margin: 0;
|
|
414
467
|
overflow-x: auto;
|
|
415
|
-
padding: 20px
|
|
468
|
+
padding: calc(18px * var(--zanin-space)) 20px;
|
|
416
469
|
}
|
|
417
470
|
.zanin-codeblock code {
|
|
418
471
|
background: none;
|
|
472
|
+
border: none;
|
|
419
473
|
padding: 0;
|
|
420
474
|
}
|
|
421
475
|
|
|
422
476
|
.zanin-comparison {
|
|
477
|
+
border: 1px solid var(--zanin-hairline);
|
|
478
|
+
border-radius: var(--zanin-radius);
|
|
423
479
|
overflow-x: auto;
|
|
424
480
|
}
|
|
481
|
+
.zanin-comparison table {
|
|
482
|
+
margin: 0;
|
|
483
|
+
}
|
|
484
|
+
.zanin-comparison th,
|
|
485
|
+
.zanin-comparison td {
|
|
486
|
+
padding: 10px 14px;
|
|
487
|
+
}
|
|
488
|
+
.zanin-comparison tr:last-child td {
|
|
489
|
+
border-bottom: none;
|
|
490
|
+
}
|
|
425
491
|
.zanin-comparison .zanin-highlight {
|
|
426
|
-
background: color-mix(in srgb, var(--zanin-accent)
|
|
492
|
+
background: color-mix(in srgb, var(--zanin-accent) 6%, transparent);
|
|
427
493
|
}
|
|
428
494
|
.zanin-check {
|
|
429
|
-
color: #
|
|
495
|
+
color: #0c5132;
|
|
430
496
|
font-weight: 700;
|
|
431
497
|
}
|
|
432
498
|
.zanin-cross {
|
|
433
499
|
color: var(--zanin-ink-faint);
|
|
434
500
|
}
|
|
435
501
|
|
|
502
|
+
.zanin-faq {
|
|
503
|
+
border: 1px solid var(--zanin-hairline);
|
|
504
|
+
border-radius: var(--zanin-radius);
|
|
505
|
+
overflow: hidden;
|
|
506
|
+
}
|
|
436
507
|
.zanin-faq details {
|
|
437
|
-
border-
|
|
438
|
-
padding:
|
|
508
|
+
border-bottom: 1px solid var(--zanin-hairline);
|
|
509
|
+
padding: calc(14px * var(--zanin-space)) 18px;
|
|
439
510
|
}
|
|
440
511
|
.zanin-faq details:last-child {
|
|
441
|
-
border-bottom:
|
|
512
|
+
border-bottom: none;
|
|
442
513
|
}
|
|
443
514
|
.zanin-faq summary {
|
|
444
515
|
cursor: pointer;
|
|
445
|
-
font-weight:
|
|
516
|
+
font-weight: 600;
|
|
446
517
|
list-style: none;
|
|
447
518
|
}
|
|
448
519
|
.zanin-faq summary::-webkit-details-marker {
|
|
@@ -452,13 +523,15 @@
|
|
|
452
523
|
color: var(--zanin-ink-faint);
|
|
453
524
|
content: "+";
|
|
454
525
|
float: right;
|
|
455
|
-
font-size:
|
|
526
|
+
font-size: 1.1em;
|
|
527
|
+
line-height: 1;
|
|
456
528
|
}
|
|
457
529
|
.zanin-faq details[open] summary::after {
|
|
458
530
|
content: "–";
|
|
459
531
|
}
|
|
460
532
|
.zanin-faq details p {
|
|
461
533
|
color: var(--zanin-ink-muted);
|
|
534
|
+
font-size: 0.94em;
|
|
462
535
|
margin: 10px 0 0;
|
|
463
536
|
}
|
|
464
537
|
|
|
@@ -466,11 +539,11 @@
|
|
|
466
539
|
|
|
467
540
|
@media (max-width: 640px) {
|
|
468
541
|
.zanin-blog {
|
|
469
|
-
padding: 32px 18px 64px;
|
|
542
|
+
padding: calc(32px * var(--zanin-space)) 18px calc(64px * var(--zanin-space));
|
|
470
543
|
}
|
|
471
544
|
.zanin-index-header h1,
|
|
472
545
|
.zanin-post-header h1 {
|
|
473
|
-
font-size:
|
|
546
|
+
font-size: 1.9em;
|
|
474
547
|
}
|
|
475
548
|
}
|
|
476
549
|
|