1:root {
2 --vp-c-brand-1: #4ade80;
3 --vp-c-brand-2: #22c55e;
4 --vp-c-brand-3: #16a34a;
5 --vp-c-brand-soft: rgba(74, 222, 128, 0.16);
6
7 --vp-c-text-1: #0f172a;
8 --vp-c-text-2: #475569;
9 --vp-c-text-3: #94a3b8;
10
11 --vp-c-bg: #ffffff;
12 --vp-c-bg-alt: #f8fafc;
13 --vp-c-bg-elv: #ffffff;
14 --vp-c-bg-soft: #f1f5f9;
15
16 --vp-c-border: #e2e8f0;
17 --vp-c-divider: #e2e8f0;
18 --vp-c-gutter: #f1f5f9;
19
20 --vp-sidebar-bg-color: #ffffff;
21 --vp-sidebar-width: 280px;
22
23 --vp-nav-bg-color: rgba(255, 255, 255, 0.8);
24 --vp-nav-height: 64px;
25
26 --vp-font-family-base: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
27 --vp-font-family-mono: "JetBrains Mono", "Fira Code", ui-monospace, monospace;
28
29 --vp-code-block-bg: #0f172a;
30 --vp-code-copy-code-bg: #1e293b;
31 --vp-code-copy-code-hover-bg: #334155;
32
33 --vp-home-hero-name-color: transparent;
34 --vp-home-hero-name-background: linear-gradient(135deg, #4ade80 0%, #22c55e 100%);
35
36 --vp-button-brand-border: #4ade80;
37 --vp-button-brand-text: #ffffff;
38 --vp-button-brand-bg: #16a34a;
39 --vp-button-brand-hover-border: #4ade80;
40 --vp-button-brand-hover-text: #ffffff;
41 --vp-button-brand-hover-bg: #15803d;
42 --vp-button-brand-active-border: #22c55e;
43 --vp-button-brand-active-text: #ffffff;
44 --vp-button-brand-active-bg: #166534;
45
46 --accent: #4ade80;
47 --muted: #64748b;
48 --border: #e2e8f0;
49 --code-bg: #f1f5f9;
50 --danger: #ef4444;
51 --text: #0f172a;
52 --font-mono: var(--vp-font-family-mono);
53
54 /* GitHub-style admonitions (matches secretbox.floatpane.com) */
55 --callout-note: #4493f8;
56 --callout-tip: #3fb950;
57 --callout-important: #ab7df8;
58 --callout-warning: #d29922;
59 --callout-caution: #f85149;
60}
61
62.dark {
63 --vp-c-brand-1: #4ade80;
64 --vp-c-brand-2: #22c55e;
65 --vp-c-brand-3: #16a34a;
66 --vp-c-brand-soft: rgba(74, 222, 128, 0.16);
67
68 --vp-c-text-1: #f8fafc;
69 --vp-c-text-2: #cbd5e1;
70 --vp-c-text-3: #64748b;
71
72 --vp-c-bg: #0b0f19;
73 --vp-c-bg-alt: #0f172a;
74 --vp-c-bg-elv: #151e2e;
75 --vp-c-bg-soft: #1e293b;
76
77 --vp-c-border: #1e293b;
78 --vp-c-divider: #1e293b;
79 --vp-c-gutter: #1e293b;
80
81 --vp-sidebar-bg-color: #0b0f19;
82 --vp-nav-bg-color: rgba(11, 15, 25, 0.8);
83 --vp-code-block-bg: #0f172a;
84 --vp-code-copy-code-bg: #1e293b;
85 --vp-code-copy-code-hover-bg: #334155;
86
87 --muted: #94a3b8;
88 --border: #1e293b;
89 --code-bg: #1e293b;
90 --danger: #f87171;
91 --text: #f8fafc;
92}
93
94/* Mintlify-inspired layout polish */
95.VPNav {
96 backdrop-filter: blur(12px);
97 border-bottom: 1px solid var(--vp-c-border);
98}
99
100.VPNavBarTitle .title {
101 font-weight: 700;
102 letter-spacing: -0.02em;
103}
104
105.VPSidebar {
106 border-right: 1px solid var(--vp-c-border);
107}
108
109.VPSidebarItem .text {
110 font-size: 0.875rem;
111 font-weight: 500;
112}
113
114.VPSidebarItem.is-link .text {
115 color: var(--vp-c-text-1);
116}
117
118.VPSidebarItem.is-link .text:hover {
119 color: var(--vp-c-brand-1);
120}
121
122.VPSidebarItem.is-active .text {
123 color: var(--vp-c-brand-1);
124 font-weight: 600;
125}
126
127.VPDoc {
128 padding: 32px 48px;
129}
130
131.vp-doc h1 {
132 font-weight: 700;
133 letter-spacing: -0.025em;
134 margin-bottom: 1.5rem;
135}
136
137.vp-doc h2 {
138 font-weight: 600;
139 letter-spacing: -0.02em;
140 border-top: none;
141 margin-top: 2rem;
142}
143
144.vp-doc h3 {
145 font-weight: 600;
146}
147
148.vp-doc p {
149 line-height: 1.75;
150}
151
152.vp-doc a {
153 color: var(--vp-c-brand-2);
154 font-weight: 500;
155 text-decoration: none;
156}
157
158.vp-doc a:hover {
159 text-decoration: underline;
160}
161
162/* Code blocks - clean, no language label, no left padding/margin */
163.vp-doc div[class*="language-"] {
164 position: relative;
165 border-radius: 12px;
166 overflow: hidden;
167 margin: 1rem 0;
168 border: 1px solid var(--vp-c-border);
169 background: var(--vp-code-block-bg);
170}
171
172.vp-doc div[class*="language-"] pre,
173.vp-doc div[class*="language-"] code {
174 background: transparent !important;
175}
176
177.vp-doc div[class*="language-"] pre {
178 margin: 0;
179 padding: 1rem 1.25rem;
180 border-radius: 0;
181 border: none;
182 overflow-x: auto;
183 text-indent: 0;
184}
185
186.vp-doc div[class*="language-"] pre code {
187 padding: 0;
188 margin: 0;
189 text-indent: 0;
190 display: block;
191}
192
193.vp-doc div[class*="language-"] .line-numbers-wrapper,
194.vp-doc div[class*="language-"] .line-numbers-mode pre {
195 display: none !important;
196}
197
198.vp-doc div[class*="language-"]::before,
199.vp-doc div[class*="language-"]::after,
200.vp-doc div[class*="language-"] .lang,
201.vp-doc .language-tsx::before,
202.vp-doc .language-ts::before,
203.vp-doc .language-js::before,
204.vp-doc .language-json::before,
205.vp-doc .language-bash::before,
206.vp-doc .language-sh::before,
207.vp-doc .language-powershell::before,
208.vp-doc .language-shell::before,
209.vp-doc .language-go::before,
210.vp-doc .language-python::before,
211.vp-doc .language-yaml::before,
212.vp-doc .language-toml::before,
213.vp-doc .language-css::before,
214.vp-doc .language-html::before,
215.vp-doc .language-md::before,
216.vp-doc .language-text::before {
217 display: none !important;
218 content: none !important;
219}
220
221.vp-doc div[class*="language-"] > .copy {
222 top: 0.75rem;
223 right: 0.75rem;
224}
225
226.vp-doc div[class*="language-"] .line-number {
227 display: none !important;
228}
229
230.vp-doc code {
231 background: var(--code-bg);
232 color: var(--text);
233 border-radius: 6px;
234 padding: 0.15rem 0.35rem;
235 font-size: 0.85em;
236}
237
238/* GitHub-style admonitions (exact secretbox.floatpane.com look) */
239.vp-doc .custom-block {
240 border: 1px solid var(--vp-c-border);
241 border-left: 3px solid var(--callout-note);
242 border-radius: 6px;
243 padding: 0.85rem 1rem;
244 margin: 1.25rem 0;
245 background: var(--vp-c-bg-soft);
246}
247
248.vp-doc .custom-block.tip {
249 border-left-color: var(--callout-tip);
250}
251.vp-doc .custom-block.warning {
252 border-left-color: var(--callout-warning);
253}
254.vp-doc .custom-block.danger {
255 border-left-color: var(--callout-caution);
256}
257.vp-doc .custom-block.info {
258 border-left-color: var(--callout-note);
259}
260.vp-doc .custom-block.details {
261 border-left-color: var(--callout-important);
262}
263
264.vp-doc .custom-block-title {
265 display: flex;
266 align-items: center;
267 gap: 0.5rem;
268 font-weight: 600;
269 margin: 0 0 0.35rem;
270 text-transform: capitalize;
271 line-height: 1.2;
272 color: var(--callout-note);
273}
274
275.vp-doc .custom-block.tip .custom-block-title {
276 color: var(--callout-tip);
277}
278.vp-doc .custom-block.warning .custom-block-title {
279 color: var(--callout-warning);
280}
281.vp-doc .custom-block.danger .custom-block-title {
282 color: var(--callout-caution);
283}
284.vp-doc .custom-block.info .custom-block-title {
285 color: var(--callout-note);
286}
287.vp-doc .custom-block.details .custom-block-title {
288 color: var(--callout-important);
289}
290
291.vp-doc .custom-block-title::before {
292 content: "";
293 display: inline-block;
294 width: 1em;
295 height: 1em;
296 background-color: currentColor;
297 flex-shrink: 0;
298 mask-size: contain;
299 mask-repeat: no-repeat;
300 mask-position: center;
301 -webkit-mask-size: contain;
302 -webkit-mask-repeat: no-repeat;
303 -webkit-mask-position: center;
304}
305
306.vp-doc .custom-block.info .custom-block-title::before {
307 mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z'/%3E%3C/svg%3E");
308 -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z'/%3E%3C/svg%3E");
309}
310
311.vp-doc .custom-block.tip .custom-block-title::before {
312 mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 1.5c-2.363 0-4 1.69-4 3.75 0 .984.424 1.625.984 2.304l.214.253c.223.264.47.556.673.848.284.411.537.896.621 1.49a.75.75 0 0 1-1.484.211c-.04-.282-.163-.547-.37-.847a8.456 8.456 0 0 0-.542-.68c-.084-.1-.173-.205-.268-.32C3.201 7.75 2.5 6.766 2.5 5.25 2.5 2.31 4.863 0 8 0s5.5 2.31 5.5 5.25c0 1.516-.701 2.5-1.328 3.259-.095.115-.184.22-.268.319-.207.245-.383.453-.541.681-.208.3-.33.565-.37.847a.751.751 0 0 1-1.485-.212c.084-.593.337-1.078.621-1.489.203-.292.45-.584.673-.848.075-.088.147-.173.213-.253.561-.679.985-1.32.985-2.304 0-2.06-1.637-3.75-4-3.75ZM5.75 12h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM6 15.25a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 0 1.5h-2.5a.75.75 0 0 1-.75-.75Z'/%3E%3C/svg%3E");
313 -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 1.5c-2.363 0-4 1.69-4 3.75 0 .984.424 1.625.984 2.304l.214.253c.223.264.47.556.673.848.284.411.537.896.621 1.49a.75.75 0 0 1-1.484.211c-.04-.282-.163-.547-.37-.847a8.456 8.456 0 0 0-.542-.68c-.084-.1-.173-.205-.268-.32C3.201 7.75 2.5 6.766 2.5 5.25 2.5 2.31 4.863 0 8 0s5.5 2.31 5.5 5.25c0 1.516-.701 2.5-1.328 3.259-.095.115-.184.22-.268.319-.207.245-.383.453-.541.681-.208.3-.33.565-.37.847a.751.751 0 0 1-1.485-.212c.084-.593.337-1.078.621-1.489.203-.292.45-.584.673-.848.075-.088.147-.173.213-.253.561-.679.985-1.32.985-2.304 0-2.06-1.637-3.75-4-3.75ZM5.75 12h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM6 15.25a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 0 1.5h-2.5a.75.75 0 0 1-.75-.75Z'/%3E%3C/svg%3E");
314}
315
316.vp-doc .custom-block.details .custom-block-title::before {
317 mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v9.5A1.75 1.75 0 0 1 14.25 13H8.06l-2.573 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25Zm7 2.25v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 9a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z'/%3E%3C/svg%3E");
318 -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v9.5A1.75 1.75 0 0 1 14.25 13H8.06l-2.573 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25Zm7 2.25v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 9a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z'/%3E%3C/svg%3E");
319}
320
321.vp-doc .custom-block.warning .custom-block-title::before {
322 mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z'/%3E%3C/svg%3E");
323 -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z'/%3E%3C/svg%3E");
324}
325
326.vp-doc .custom-block.danger .custom-block-title::before {
327 mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.47.22A.749.749 0 0 1 5 0h6c.199 0 .39.079.53.22l4.25 4.25c.141.14.22.331.22.53v6a.749.749 0 0 1-.22.53l-4.25 4.25A.749.749 0 0 1 11 16H5a.749.749 0 0 1-.53-.22L.22 11.53A.749.749 0 0 1 0 11V5c0-.199.079-.39.22-.53Zm.84 1.28L1.5 5.31v5.38l3.81 3.81h5.38l3.81-3.81V5.31L10.69 1.5ZM8 4a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0v-3.5A.75.75 0 0 1 8 4Zm0 8a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z'/%3E%3C/svg%3E");
328 -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.47.22A.749.749 0 0 1 5 0h6c.199 0 .39.079.53.22l4.25 4.25c.141.14.22.331.22.53v6a.749.749 0 0 1-.22.53l-4.25 4.25A.749.749 0 0 1 11 16H5a.749.749 0 0 1-.53-.22L.22 11.53A.749.749 0 0 1 0 11V5c0-.199.079-.39.22-.53Zm.84 1.28L1.5 5.31v5.38l3.81 3.81h5.38l3.81-3.81V5.31L10.69 1.5ZM8 4a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0v-3.5A.75.75 0 0 1 8 4Zm0 8a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z'/%3E%3C/svg%3E");
329}
330
331.vp-doc .custom-block p {
332 margin: 0.25rem 0 0.5rem;
333 line-height: 1.6;
334 color: var(--vp-c-text-1);
335}
336
337.vp-doc .custom-block p:last-child {
338 margin-bottom: 0;
339}
340
341/* Navbar logo */
342.VPNavBarTitle .logo {
343 display: flex;
344 align-items: center;
345}
346
347.VPNavBarTitle .logo img {
348 height: 32px;
349 width: auto;
350 max-height: 32px;
351}
352
353/* Marketplace page */
354.marketplace-hero {
355 text-align: center;
356 padding: 2rem 0 2.5rem;
357 max-width: 600px;
358 margin: 0 auto;
359}
360
361.marketplace-hero h1 {
362 font-size: 2.75rem;
363 font-weight: 800;
364 letter-spacing: -0.03em;
365 margin: 0 0 0.75rem;
366 color: var(--text);
367}
368
369.marketplace-hero p {
370 font-size: 1.15rem;
371 color: var(--muted);
372 line-height: 1.6;
373 margin: 0;
374}
375
376/* Content images */
377.vp-doc img {
378 border-radius: 12px;
379 border: 1px solid var(--vp-c-border);
380 box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
381}
382
383/* Table polish */
384.vp-doc table {
385 border-radius: 12px;
386 overflow: hidden;
387 border: 1px solid var(--vp-c-border);
388}
389
390.vp-doc th {
391 background: var(--vp-c-bg-soft);
392 font-weight: 600;
393}
394
395.vp-doc td,
396.vp-doc th {
397 border-color: var(--vp-c-border);
398}
399
400/* Scrollbar */
401::-webkit-scrollbar {
402 width: 8px;
403 height: 8px;
404}
405
406::-webkit-scrollbar-track {
407 background: transparent;
408}
409
410::-webkit-scrollbar-thumb {
411 background: var(--vp-c-border);
412 border-radius: 4px;
413}
414
415::-webkit-scrollbar-thumb:hover {
416 background: var(--muted);
417}
418
419/* VPDoc footer and footer */
420.VPDocFooter {
421 border-top: 1px solid var(--vp-c-border);
422 margin-top: 3rem;
423 padding-top: 1.5rem;
424}
425
426.VPFooter {
427 border-top: 1px solid var(--vp-c-border);
428 padding: 1.5rem 0;
429}
430
431/* Local search panel */
432.VPLocalSearchBox .search-panel {
433 border-radius: 16px;
434 border: 1px solid var(--vp-c-border);
435 box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
436}
437
438/* Home page adjustments */
439.VPHero .name {
440 font-weight: 800;
441}
442
443.VPHero .tagline {
444 color: var(--muted);
445 font-size: 1.25rem;
446 line-height: 1.6;
447}