@mgks/docmd 0.1.4 → 0.2.1
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 +2 -4
- package/assets/css/welcome.css +5 -377
- package/assets/images/preview-dark-1.webp +0 -0
- package/assets/images/preview-dark-2.webp +0 -0
- package/assets/images/preview-dark-3.webp +0 -0
- package/assets/images/preview-light-1.webp +0 -0
- package/assets/images/preview-light-2.webp +0 -0
- package/assets/images/preview-light-3.webp +0 -0
- package/config.js +40 -6
- package/docs/configuration.md +82 -7
- package/docs/content/containers/buttons.md +88 -0
- package/docs/content/containers/callouts.md +154 -0
- package/docs/content/containers/cards.md +93 -0
- package/docs/content/containers/index.md +35 -0
- package/docs/content/containers/nested-containers.md +329 -0
- package/docs/content/containers/steps.md +175 -0
- package/docs/content/containers/tabs.md +228 -0
- package/docs/content/custom-containers.md +19 -124
- package/docs/content/frontmatter.md +2 -2
- package/docs/content/no-style-example.md +2 -0
- package/docs/content/no-style-pages.md +52 -28
- package/docs/index.md +55 -27
- package/docs/plugins/seo.md +80 -31
- package/docs/theming/available-themes.md +17 -2
- package/docs/theming/light-dark-mode.md +12 -3
- package/package.json +21 -9
- package/src/assets/css/docmd-main.css +5 -806
- package/src/assets/css/docmd-theme-retro.css +9 -0
- package/src/assets/css/docmd-theme-ruby.css +7 -604
- package/src/assets/css/docmd-theme-sky.css +7 -649
- package/src/assets/js/docmd-image-lightbox.js +4 -2
- package/src/assets/js/docmd-main.js +157 -0
- package/src/commands/build.js +62 -120
- package/src/commands/dev.js +2 -1
- package/src/commands/init.js +23 -1
- package/src/core/config-loader.js +2 -0
- package/src/core/file-processor.js +669 -373
- package/src/core/html-generator.js +49 -40
- package/src/core/icon-renderer.js +3 -2
- package/src/plugins/analytics.js +5 -1
- package/src/plugins/seo.js +114 -62
- package/src/plugins/sitemap.js +6 -0
- package/src/templates/layout.ejs +40 -8
- package/src/templates/no-style.ejs +23 -6
- package/src/templates/partials/theme-init.js +26 -0
- package/assets/images/preview-dark-1.png +0 -0
- package/assets/images/preview-dark-2.png +0 -0
- package/assets/images/preview-dark-3.png +0 -0
- package/assets/images/preview-light-1.png +0 -0
- package/assets/images/preview-light-2.png +0 -0
- package/assets/images/preview-light-3.png +0 -0
- package/src/assets/js/docmd-theme-toggle.js +0 -59
|
@@ -1,808 +1,7 @@
|
|
|
1
|
-
/*
|
|
2
|
-
:root {
|
|
3
|
-
--font-family-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
|
|
4
|
-
--font-family-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;
|
|
5
|
-
|
|
6
|
-
/* Light Theme (default) */
|
|
7
|
-
--bg-color: #ffffff;
|
|
8
|
-
--text-color: #333333;
|
|
9
|
-
--sidebar-bg: #f4f7f9;
|
|
10
|
-
--sidebar-text: #2c3e50;
|
|
11
|
-
--sidebar-link-active-bg: #e0e7ec;
|
|
12
|
-
--sidebar-link-active-parent-bg: #e9eff3; /* New variable for parent items */
|
|
13
|
-
--link-color: #007bff;
|
|
14
|
-
--border-color: #e0e0e0;
|
|
15
|
-
--code-bg: #f8f8f8;
|
|
16
|
-
--code-text: #333;
|
|
17
|
-
--header-bg: #ffffff; /* Added for header */
|
|
18
|
-
--header-border: #e0e0e0; /* Added for header border */
|
|
19
|
-
|
|
20
|
-
/* Image styling variables */
|
|
21
|
-
--image-border-color: #e0e0e0;
|
|
22
|
-
--image-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
|
|
23
|
-
--image-caption-bg: #f8f8f8;
|
|
24
|
-
--image-caption-text: #666;
|
|
25
|
-
--lightbox-bg: rgba(0, 0, 0, 0.9);
|
|
26
|
-
--lightbox-text: #fff;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
body[data-theme="dark"] {
|
|
30
|
-
--bg-color: #1a1a1a;
|
|
31
|
-
--text-color: #e0e0e0;
|
|
32
|
-
--sidebar-bg: #2c2c2c;
|
|
33
|
-
--sidebar-text: #bdc3c7;
|
|
34
|
-
--sidebar-link-active-bg: #3a3a3a;
|
|
35
|
-
--sidebar-link-active-parent-bg: #343434; /* New variable for parent items in dark mode */
|
|
36
|
-
--link-color: #58a6ff;
|
|
37
|
-
--border-color: #444444;
|
|
38
|
-
--code-bg: #282c34; /* Common dark code bg */
|
|
39
|
-
--code-text: #abb2bf;
|
|
40
|
-
--header-bg: #1a1a1a; /* Added for header */
|
|
41
|
-
--header-border: #444444; /* Added for header border */
|
|
42
|
-
|
|
43
|
-
/* Image styling variables for dark mode */
|
|
44
|
-
--image-border-color: #444444;
|
|
45
|
-
--image-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
|
|
46
|
-
--image-caption-bg: #2c2c2c;
|
|
47
|
-
--image-caption-text: #bdc3c7;
|
|
48
|
-
--lightbox-bg: rgba(0, 0, 0, 0.95);
|
|
49
|
-
--lightbox-text: #fff;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
body {
|
|
53
|
-
font-family: var(--font-family-sans);
|
|
54
|
-
background-color: var(--bg-color);
|
|
55
|
-
color: var(--text-color);
|
|
56
|
-
margin: 0;
|
|
57
|
-
display: flex;
|
|
58
|
-
min-height: 100vh;
|
|
59
|
-
line-height: 1.6;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
.sidebar {
|
|
63
|
-
width: 260px;
|
|
64
|
-
background-color: var(--sidebar-bg);
|
|
65
|
-
color: var(--sidebar-text);
|
|
66
|
-
padding: 20px;
|
|
67
|
-
border-right: 1px solid var(--border-color);
|
|
68
|
-
height: 100vh; /* Full height */
|
|
69
|
-
position: fixed; /* Fixed position */
|
|
70
|
-
top: 0;
|
|
71
|
-
left: 0;
|
|
72
|
-
overflow-y: auto; /* Scrollable if content overflows */
|
|
73
|
-
box-sizing: border-box;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
.sidebar h1 {
|
|
77
|
-
font-size: 1.5em;
|
|
78
|
-
margin-top: 0;
|
|
79
|
-
margin-bottom: 20px;
|
|
80
|
-
padding-bottom: 10px;
|
|
81
|
-
border-bottom: 1px solid var(--border-color);
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
.sidebar nav ul {
|
|
85
|
-
list-style: none;
|
|
86
|
-
padding: 0;
|
|
87
|
-
margin: 0;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
.sidebar nav li a {
|
|
91
|
-
display: block;
|
|
92
|
-
padding: 8px 10px;
|
|
93
|
-
text-decoration: none;
|
|
94
|
-
color: var(--sidebar-text);
|
|
95
|
-
border-radius: 4px;
|
|
96
|
-
transition: background-color 0.2s ease;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
.sidebar nav li a:hover,
|
|
100
|
-
.sidebar nav li a.active {
|
|
101
|
-
background-color: var(--sidebar-link-active-bg);
|
|
102
|
-
}
|
|
1
|
+
/* Source file from the docmd project — https://github.com/mgks/docmd */
|
|
103
2
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
color: var(--link-color);
|
|
108
|
-
}
|
|
3
|
+
/*
|
|
4
|
+
* Main CSS file for docmd
|
|
5
|
+
*/
|
|
109
6
|
|
|
110
|
-
/* Specific style for parent items with active children */
|
|
111
|
-
.sidebar nav li.active-parent > a {
|
|
112
|
-
background-color: var(--sidebar-link-active-parent-bg);
|
|
113
|
-
font-weight: 500;
|
|
114
|
-
position: relative; /* For the indicator */
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
/* Add a subtle indicator for active parents */
|
|
118
|
-
.sidebar nav li.active-parent > a::before {
|
|
119
|
-
content: "";
|
|
120
|
-
position: absolute;
|
|
121
|
-
left: 0;
|
|
122
|
-
top: 0;
|
|
123
|
-
bottom: 0;
|
|
124
|
-
width: 3px;
|
|
125
|
-
background-color: var(--link-color);
|
|
126
|
-
opacity: 0.5;
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
/* Make the indicator more prominent when it's the actual active page */
|
|
130
|
-
.sidebar nav li.active-parent > a.active::before {
|
|
131
|
-
opacity: 1;
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
.sidebar nav ul ul { /* Nested lists */
|
|
135
|
-
padding-left: 20px;
|
|
136
|
-
margin-top: 5px;
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
.main-content-wrapper {
|
|
141
|
-
margin-left: 260px; /* Same as sidebar width */
|
|
142
|
-
flex-grow: 1;
|
|
143
|
-
display: flex;
|
|
144
|
-
flex-direction: column;
|
|
145
|
-
overflow: hidden;
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
.page-header {
|
|
149
|
-
padding: 15px 30px;
|
|
150
|
-
border-bottom: 1px solid var(--header-border);
|
|
151
|
-
background-color: var(--header-bg);
|
|
152
|
-
/* position: sticky;
|
|
153
|
-
top: 0;
|
|
154
|
-
z-index: 10; Removed sticky header for now for simplicity */
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
.page-header h1 {
|
|
158
|
-
margin: 0;
|
|
159
|
-
font-size: 1.8em;
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
.content-area {
|
|
164
|
-
padding: 2.5rem 2rem;
|
|
165
|
-
max-width: 1200px;
|
|
166
|
-
margin: 0 auto;
|
|
167
|
-
width: 100%;
|
|
168
|
-
box-sizing: border-box;
|
|
169
|
-
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
/* Code blocks */
|
|
174
|
-
pre {
|
|
175
|
-
background-color: var(--code-bg);
|
|
176
|
-
color: var(--code-text);
|
|
177
|
-
padding: 1em;
|
|
178
|
-
border-radius: 4px;
|
|
179
|
-
overflow-x: auto;
|
|
180
|
-
font-family: var(--font-family-mono);
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
code {
|
|
184
|
-
font-family: var(--font-family-mono);
|
|
185
|
-
background-color: var(--code-bg);
|
|
186
|
-
padding: 0.2em 0.4em;
|
|
187
|
-
border-radius: 3px;
|
|
188
|
-
font-size: 0.9em;
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
pre code {
|
|
192
|
-
background-color: transparent;
|
|
193
|
-
padding: 0;
|
|
194
|
-
font-size: inherit;
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
.sidebar-header {
|
|
198
|
-
padding-bottom: 10px;
|
|
199
|
-
margin-bottom: 10px;
|
|
200
|
-
border-bottom: 1px solid var(--border-color);
|
|
201
|
-
text-align: center; /* Or left, depending on design */
|
|
202
|
-
}
|
|
203
|
-
.sidebar-header h1 { /* If no logo */
|
|
204
|
-
font-size: 1.5em;
|
|
205
|
-
margin-top: 0;
|
|
206
|
-
margin-bottom: 0; /* Handled by sidebar-header */
|
|
207
|
-
}
|
|
208
|
-
.logo-link img {
|
|
209
|
-
max-height: 40px; /* Default max height, can be overridden by inline style from config */
|
|
210
|
-
width: auto;
|
|
211
|
-
display: block;
|
|
212
|
-
margin: 0 auto; /* Center if text-align: center on parent */
|
|
213
|
-
}
|
|
214
|
-
.logo-link img.logo-light { display: block; } /* Show light logo by default */
|
|
215
|
-
.logo-link img.logo-dark { display: none; } /* Hide dark logo by default */
|
|
216
|
-
|
|
217
|
-
/* In dark mode, show dark logo and hide light logo */
|
|
218
|
-
body[data-theme="dark"] .logo-link img.logo-light { display: none; }
|
|
219
|
-
body[data-theme="dark"] .logo-link img.logo-dark { display: block; }
|
|
220
|
-
|
|
221
|
-
/* Navigation Icons (Lucide SVGs will have these classes) */
|
|
222
|
-
.sidebar-nav .lucide-icon { /* General class for all lucide icons in nav */
|
|
223
|
-
width: 1em; /* Default, can be overridden by specific icon classes if needed */
|
|
224
|
-
height: 1em;
|
|
225
|
-
margin-right: 0.5em;
|
|
226
|
-
vertical-align: -0.15em; /* Fine-tune alignment */
|
|
227
|
-
stroke-width: 2; /* Default Lucide stroke width */
|
|
228
|
-
}
|
|
229
|
-
.sidebar-nav .nav-external-icon {
|
|
230
|
-
width: 1em;
|
|
231
|
-
height: 1.5em;
|
|
232
|
-
float: right;
|
|
233
|
-
margin-left: 0.3em;
|
|
234
|
-
opacity: 0.7;
|
|
235
|
-
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
/* Theme Toggle Button */
|
|
239
|
-
.theme-toggle-button {
|
|
240
|
-
background: transparent;
|
|
241
|
-
border: 1px solid var(--border-color);
|
|
242
|
-
color: var(--sidebar-text); /* Not directly used as icon has its own color */
|
|
243
|
-
padding: 8px;
|
|
244
|
-
border-radius: 4px;
|
|
245
|
-
cursor: pointer;
|
|
246
|
-
margin-top: 20px;
|
|
247
|
-
display: flex;
|
|
248
|
-
align-items: center;
|
|
249
|
-
justify-content: center;
|
|
250
|
-
width: 100%;
|
|
251
|
-
}
|
|
252
|
-
.theme-toggle-button:hover {
|
|
253
|
-
background-color: var(--sidebar-link-active-bg);
|
|
254
|
-
}
|
|
255
|
-
.theme-toggle-button .lucide-icon { /* Styles for sun/moon icons in button */
|
|
256
|
-
width: 1.2em;
|
|
257
|
-
height: 1.2em;
|
|
258
|
-
}
|
|
259
|
-
.theme-toggle-button .icon-moon { display: none; } /* icon-moon is class from renderIcon */
|
|
260
|
-
.theme-toggle-button .icon-sun { display: block; }
|
|
261
|
-
body[data-theme="dark"] .theme-toggle-button .icon-moon { display: block; }
|
|
262
|
-
body[data-theme="dark"] .theme-toggle-button .icon-sun { display: none; }
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
/* Custom Containers */
|
|
266
|
-
.docmd-container {
|
|
267
|
-
padding: 1rem 1.5rem; /* More horizontal padding */
|
|
268
|
-
margin-bottom: 1.5rem;
|
|
269
|
-
border-radius: 6px;
|
|
270
|
-
border: 1px solid var(--border-color);
|
|
271
|
-
background-color: var(--code-bg); /* Default background, can be overridden */
|
|
272
|
-
}
|
|
273
|
-
.docmd-container > :first-child { margin-top: 0; }
|
|
274
|
-
.docmd-container > :last-child { margin-bottom: 0; }
|
|
275
|
-
|
|
276
|
-
/* Callouts */
|
|
277
|
-
.callout {
|
|
278
|
-
border-left-width: 5px;
|
|
279
|
-
background-color: transparent; /* Override default docmd-container bg */
|
|
280
|
-
}
|
|
281
|
-
.callout-title {
|
|
282
|
-
font-weight: bold;
|
|
283
|
-
margin-bottom: 0.5em;
|
|
284
|
-
}
|
|
285
|
-
.callout-info { border-left-color: #3498db; background-color: rgba(52, 152, 219, 0.07); }
|
|
286
|
-
.callout-warning { border-left-color: #f39c12; background-color: rgba(243, 156, 18, 0.07); }
|
|
287
|
-
.callout-tip { border-left-color: #2ecc71; background-color: rgba(46, 204, 113, 0.07); }
|
|
288
|
-
.callout-success { border-left-color: #2ecc71; background-color: rgba(46, 204, 113, 0.07); }
|
|
289
|
-
.callout-danger { border-left-color: #e74c3c; background-color: rgba(231, 76, 60, 0.07); }
|
|
290
|
-
.callout .callout-content > :first-child { margin-top: 0; }
|
|
291
|
-
.callout .callout-content > :last-child { margin-bottom: 0; }
|
|
292
|
-
|
|
293
|
-
.card .card-title {
|
|
294
|
-
font-weight: bold;
|
|
295
|
-
font-size: 1.1em;
|
|
296
|
-
margin: -1rem -1.5rem 1rem -1.5rem; /* Extend to edges of padding */
|
|
297
|
-
padding: 0.75rem 1.5rem;
|
|
298
|
-
border-bottom: 1px solid var(--border-color);
|
|
299
|
-
}
|
|
300
|
-
.card .card-content > :first-child { margin-top: 0; }
|
|
301
|
-
.card .card-content > :last-child { margin-bottom: 0; }
|
|
302
|
-
|
|
303
|
-
/* Steps (using CSS counters for H4 headings within .steps) */
|
|
304
|
-
.steps {
|
|
305
|
-
/* counter-reset is set inline on the div by markdown-it-container render function */
|
|
306
|
-
background-color: transparent; /* Often steps don't need a strong background */
|
|
307
|
-
border: none; /* Or a very light border */
|
|
308
|
-
padding-left: 0; padding-right: 0; /* Remove default container padding if steps are full-width */
|
|
309
|
-
}
|
|
310
|
-
.steps h4 { /* Assuming users use H4 for step titles */
|
|
311
|
-
counter-increment: step-counter;
|
|
312
|
-
position: relative;
|
|
313
|
-
padding-left: 3em; /* Space for number */
|
|
314
|
-
margin-bottom: 0.5em;
|
|
315
|
-
margin-top: 1.5em; /* Space between steps */
|
|
316
|
-
font-size: 1.2em; /* Make step titles prominent */
|
|
317
|
-
}
|
|
318
|
-
.steps h4:first-child {
|
|
319
|
-
margin-top: 0.5em; /* Less top margin for the very first step */
|
|
320
|
-
}
|
|
321
|
-
.steps h4::before {
|
|
322
|
-
content: counter(step-counter);
|
|
323
|
-
position: absolute;
|
|
324
|
-
left: 0;
|
|
325
|
-
top: 50%;
|
|
326
|
-
transform: translateY(-50%);
|
|
327
|
-
display: flex;
|
|
328
|
-
align-items: center;
|
|
329
|
-
justify-content: center;
|
|
330
|
-
width: 2em; /* Larger circle */
|
|
331
|
-
height: 2em;
|
|
332
|
-
border-radius: 50%;
|
|
333
|
-
background-color: var(--link-color);
|
|
334
|
-
color: white;
|
|
335
|
-
font-size: 0.9em; /* Number font size relative to H4 */
|
|
336
|
-
font-weight: bold;
|
|
337
|
-
line-height: 2em; /* Ensure number is centered in circle */
|
|
338
|
-
}
|
|
339
|
-
.steps h4 + * { /* Content immediately after step title */
|
|
340
|
-
margin-left: 3em; /* Align with title text */
|
|
341
|
-
margin-top: 0.5em;
|
|
342
|
-
padding-bottom: 1em; /* Space before next step title or end of container */
|
|
343
|
-
}
|
|
344
|
-
.steps > :last-child { margin-bottom: 0; }
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
/* Footer */
|
|
348
|
-
.page-footer {
|
|
349
|
-
text-align: center;
|
|
350
|
-
padding: 20px 30px;
|
|
351
|
-
margin-top: auto; /* Pushes footer to bottom if content is short */
|
|
352
|
-
border-top: 1px solid var(--border-color);
|
|
353
|
-
font-size: 0.9em;
|
|
354
|
-
color: var(--text-color);
|
|
355
|
-
background-color: var(--sidebar-bg); /* Or a distinct footer background */
|
|
356
|
-
}
|
|
357
|
-
.page-footer a {
|
|
358
|
-
color: var(--link-color);
|
|
359
|
-
text-decoration: none;
|
|
360
|
-
}
|
|
361
|
-
.page-footer a:hover {
|
|
362
|
-
text-decoration: underline;
|
|
363
|
-
}
|
|
364
|
-
|
|
365
|
-
/* Focus Visible */
|
|
366
|
-
:focus-visible {
|
|
367
|
-
outline: 2px solid var(--link-color);
|
|
368
|
-
outline-offset: 2px;
|
|
369
|
-
/* box-shadow: 0 0 0 4px var(--bg-color), 0 0 0 6px var(--link-color); Optional halo */
|
|
370
|
-
}
|
|
371
|
-
:focus:not(:focus-visible) {
|
|
372
|
-
outline: none;
|
|
373
|
-
}
|
|
374
|
-
.sidebar nav li a:focus-visible {
|
|
375
|
-
background-color: var(--sidebar-link-active-bg);
|
|
376
|
-
outline: 2px solid var(--link-color);
|
|
377
|
-
outline-offset: -2px;
|
|
378
|
-
}
|
|
379
|
-
.theme-toggle-button:focus-visible {
|
|
380
|
-
border-color: var(--link-color);
|
|
381
|
-
box-shadow: 0 0 0 2px var(--link-color);
|
|
382
|
-
}
|
|
383
|
-
|
|
384
|
-
/* Responsive */
|
|
385
|
-
@media (max-width: 768px) {
|
|
386
|
-
body {
|
|
387
|
-
flex-direction: column;
|
|
388
|
-
}
|
|
389
|
-
.sidebar {
|
|
390
|
-
width: 100%;
|
|
391
|
-
height: auto;
|
|
392
|
-
position: static; /* Static on mobile */
|
|
393
|
-
border-right: none;
|
|
394
|
-
border-bottom: 1px solid var(--border-color);
|
|
395
|
-
}
|
|
396
|
-
.main-content-wrapper {
|
|
397
|
-
margin-left: 0;
|
|
398
|
-
}
|
|
399
|
-
.content-area {
|
|
400
|
-
padding: 15px;
|
|
401
|
-
}
|
|
402
|
-
}
|
|
403
|
-
|
|
404
|
-
/* Page Navigation at Bottom */
|
|
405
|
-
.page-navigation {
|
|
406
|
-
display: flex;
|
|
407
|
-
justify-content: space-between;
|
|
408
|
-
margin-top: 3rem;
|
|
409
|
-
padding-top: 1.5rem;
|
|
410
|
-
border-top: 1px solid var(--border-color);
|
|
411
|
-
}
|
|
412
|
-
|
|
413
|
-
.prev-page,
|
|
414
|
-
.next-page {
|
|
415
|
-
display: flex;
|
|
416
|
-
align-items: center;
|
|
417
|
-
text-decoration: none;
|
|
418
|
-
color: var(--link-color);
|
|
419
|
-
padding: 0.75rem;
|
|
420
|
-
border-radius: 6px;
|
|
421
|
-
transition: background-color 0.2s ease;
|
|
422
|
-
width: 48%;
|
|
423
|
-
max-width: 48%;
|
|
424
|
-
}
|
|
425
|
-
|
|
426
|
-
.prev-page:hover,
|
|
427
|
-
.next-page:hover {
|
|
428
|
-
background-color: rgba(0, 0, 0, 0.05);
|
|
429
|
-
text-decoration: none;
|
|
430
|
-
}
|
|
431
|
-
|
|
432
|
-
body[data-theme="dark"] .prev-page:hover,
|
|
433
|
-
body[data-theme="dark"] .next-page:hover {
|
|
434
|
-
background-color: rgba(255, 255, 255, 0.05);
|
|
435
|
-
}
|
|
436
|
-
|
|
437
|
-
.prev-page {
|
|
438
|
-
justify-content: flex-start;
|
|
439
|
-
}
|
|
440
|
-
|
|
441
|
-
.next-page {
|
|
442
|
-
justify-content: flex-end;
|
|
443
|
-
text-align: right;
|
|
444
|
-
}
|
|
445
|
-
|
|
446
|
-
.prev-page-placeholder,
|
|
447
|
-
.next-page-placeholder {
|
|
448
|
-
width: 48%;
|
|
449
|
-
}
|
|
450
|
-
|
|
451
|
-
.prev-page span,
|
|
452
|
-
.next-page span {
|
|
453
|
-
display: flex;
|
|
454
|
-
flex-direction: column;
|
|
455
|
-
}
|
|
456
|
-
|
|
457
|
-
.prev-page small,
|
|
458
|
-
.next-page small {
|
|
459
|
-
font-size: 0.8rem;
|
|
460
|
-
opacity: 0.8;
|
|
461
|
-
margin-bottom: 0.25rem;
|
|
462
|
-
}
|
|
463
|
-
|
|
464
|
-
.prev-page strong,
|
|
465
|
-
.next-page strong {
|
|
466
|
-
font-weight: 500;
|
|
467
|
-
}
|
|
468
|
-
|
|
469
|
-
.page-nav-icon {
|
|
470
|
-
width: 1.2rem;
|
|
471
|
-
height: 1.2rem;
|
|
472
|
-
}
|
|
473
|
-
|
|
474
|
-
.prev-page .page-nav-icon {
|
|
475
|
-
margin-right: 0.75rem;
|
|
476
|
-
}
|
|
477
|
-
|
|
478
|
-
.next-page .page-nav-icon {
|
|
479
|
-
margin-left: 0.75rem;
|
|
480
|
-
}
|
|
481
|
-
|
|
482
|
-
/* Footer with Branding */
|
|
483
|
-
.page-footer {
|
|
484
|
-
text-align: center;
|
|
485
|
-
padding: 20px 30px;
|
|
486
|
-
margin-top: auto; /* Pushes footer to bottom if content is short */
|
|
487
|
-
border-top: 1px solid var(--border-color);
|
|
488
|
-
font-size: 0.9em;
|
|
489
|
-
color: var(--text-color);
|
|
490
|
-
background-color: var(--sidebar-bg); /* Or a distinct footer background */
|
|
491
|
-
}
|
|
492
|
-
|
|
493
|
-
.footer-content {
|
|
494
|
-
display: flex;
|
|
495
|
-
justify-content: space-between;
|
|
496
|
-
align-items: center;
|
|
497
|
-
margin: 0 auto;
|
|
498
|
-
width: 100%;
|
|
499
|
-
|
|
500
|
-
}
|
|
501
|
-
|
|
502
|
-
.user-footer {
|
|
503
|
-
text-align: left;
|
|
504
|
-
}
|
|
505
|
-
|
|
506
|
-
.branding-footer {
|
|
507
|
-
text-align: right;
|
|
508
|
-
opacity: 0.9;
|
|
509
|
-
font-weight: 500;
|
|
510
|
-
}
|
|
511
|
-
.branding-footer svg {
|
|
512
|
-
color: rgb(251, 58, 58);
|
|
513
|
-
}
|
|
514
|
-
|
|
515
|
-
.page-footer a {
|
|
516
|
-
color: var(--link-color);
|
|
517
|
-
text-decoration: none;
|
|
518
|
-
}
|
|
519
|
-
|
|
520
|
-
.page-footer a:hover {
|
|
521
|
-
text-decoration: underline;
|
|
522
|
-
}
|
|
523
|
-
|
|
524
|
-
/* Mobile responsiveness for footer and navigation */
|
|
525
|
-
@media (max-width: 768px) {
|
|
526
|
-
.footer-content {
|
|
527
|
-
flex-direction: column;
|
|
528
|
-
gap: 1rem;
|
|
529
|
-
}
|
|
530
|
-
|
|
531
|
-
.user-footer,
|
|
532
|
-
.branding-footer {
|
|
533
|
-
text-align: center;
|
|
534
|
-
}
|
|
535
|
-
|
|
536
|
-
.page-navigation {
|
|
537
|
-
flex-direction: column;
|
|
538
|
-
gap: 1rem;
|
|
539
|
-
}
|
|
540
|
-
|
|
541
|
-
.prev-page,
|
|
542
|
-
.next-page,
|
|
543
|
-
.prev-page-placeholder,
|
|
544
|
-
.next-page-placeholder {
|
|
545
|
-
width: 100%;
|
|
546
|
-
max-width: 100%;
|
|
547
|
-
}
|
|
548
|
-
}
|
|
549
|
-
|
|
550
|
-
/* Content layout with TOC */
|
|
551
|
-
.content-layout {
|
|
552
|
-
display: flex;
|
|
553
|
-
gap: 2rem;
|
|
554
|
-
width: 100%;
|
|
555
|
-
}
|
|
556
|
-
|
|
557
|
-
.main-content {
|
|
558
|
-
flex: 1;
|
|
559
|
-
-webkit-min-logical-width: 0;
|
|
560
|
-
|
|
561
|
-
}
|
|
562
|
-
|
|
563
|
-
/* Hide TOC on mobile */
|
|
564
|
-
@media (max-width: 1024px) {
|
|
565
|
-
.content-layout {
|
|
566
|
-
flex-direction: column;
|
|
567
|
-
}
|
|
568
|
-
|
|
569
|
-
/* Show TOC before content on mobile */
|
|
570
|
-
.content-layout {
|
|
571
|
-
display: flex;
|
|
572
|
-
flex-direction: column-reverse;
|
|
573
|
-
}
|
|
574
|
-
}
|
|
575
|
-
|
|
576
|
-
/* TOC Styles - Simplified Hyperlink Style */
|
|
577
|
-
.toc-container {
|
|
578
|
-
margin: 0;
|
|
579
|
-
padding: 0;
|
|
580
|
-
border: none;
|
|
581
|
-
background-color: transparent;
|
|
582
|
-
}
|
|
583
|
-
|
|
584
|
-
.toc-title {
|
|
585
|
-
margin-top: 0;
|
|
586
|
-
margin-bottom: 0.5rem;
|
|
587
|
-
font-size: 1rem;
|
|
588
|
-
font-weight: bold;
|
|
589
|
-
color: var(--text-muted);
|
|
590
|
-
|
|
591
|
-
}
|
|
592
|
-
|
|
593
|
-
.toc-list {
|
|
594
|
-
list-style: none;
|
|
595
|
-
padding-left: 0;
|
|
596
|
-
margin: 0;
|
|
597
|
-
}
|
|
598
|
-
|
|
599
|
-
.toc-item {
|
|
600
|
-
margin-bottom: 0.25rem;
|
|
601
|
-
line-height: 1.4;
|
|
602
|
-
}
|
|
603
|
-
|
|
604
|
-
.toc-link {
|
|
605
|
-
text-decoration: none;
|
|
606
|
-
color: var(--link-color);
|
|
607
|
-
display: inline-block;
|
|
608
|
-
padding: 0.1rem 0;
|
|
609
|
-
font-size: 0.9rem;
|
|
610
|
-
font-weight: 500;
|
|
611
|
-
|
|
612
|
-
}
|
|
613
|
-
|
|
614
|
-
.toc-link:hover {
|
|
615
|
-
text-decoration: underline;
|
|
616
|
-
}
|
|
617
|
-
|
|
618
|
-
/* Indentation for different heading levels */
|
|
619
|
-
.toc-level-2 {
|
|
620
|
-
margin-left: 0;
|
|
621
|
-
}
|
|
622
|
-
|
|
623
|
-
.toc-level-3 {
|
|
624
|
-
margin-left: 0.75rem;
|
|
625
|
-
font-size: 0.85rem;
|
|
626
|
-
}
|
|
627
|
-
|
|
628
|
-
.toc-level-4 {
|
|
629
|
-
margin-left: 1.5rem;
|
|
630
|
-
font-size: 0.8rem;
|
|
631
|
-
}
|
|
632
|
-
|
|
633
|
-
/* TOC sidebar should only display on active pages */
|
|
634
|
-
.toc-sidebar {
|
|
635
|
-
width: 180px;
|
|
636
|
-
position: sticky;
|
|
637
|
-
top: 2rem;
|
|
638
|
-
max-height: calc(100vh - 4rem);
|
|
639
|
-
overflow-y: auto;
|
|
640
|
-
align-self: flex-start;
|
|
641
|
-
|
|
642
|
-
}
|
|
643
|
-
|
|
644
|
-
/* Hide TOC on mobile */
|
|
645
|
-
@media (max-width: 1024px) {
|
|
646
|
-
.toc-sidebar {
|
|
647
|
-
width: 100%;
|
|
648
|
-
position: static;
|
|
649
|
-
margin-bottom: 1rem;
|
|
650
|
-
}
|
|
651
|
-
}
|
|
652
|
-
|
|
653
|
-
/* Basic image styling */
|
|
654
|
-
img {
|
|
655
|
-
max-width: 100%;
|
|
656
|
-
height: auto;
|
|
657
|
-
display: block;
|
|
658
|
-
margin: 1.5rem 0;
|
|
659
|
-
}
|
|
660
|
-
|
|
661
|
-
/* Image alignment classes */
|
|
662
|
-
img.align-left {
|
|
663
|
-
float: left;
|
|
664
|
-
margin-right: 1.5rem;
|
|
665
|
-
margin-bottom: 1rem;
|
|
666
|
-
}
|
|
667
|
-
|
|
668
|
-
img.align-center {
|
|
669
|
-
margin-left: auto;
|
|
670
|
-
margin-right: auto;
|
|
671
|
-
}
|
|
672
|
-
|
|
673
|
-
img.align-right {
|
|
674
|
-
float: right;
|
|
675
|
-
margin-left: 1.5rem;
|
|
676
|
-
margin-bottom: 1rem;
|
|
677
|
-
}
|
|
678
|
-
|
|
679
|
-
/* Image size classes */
|
|
680
|
-
img.size-small {
|
|
681
|
-
max-width: 300px;
|
|
682
|
-
}
|
|
683
|
-
|
|
684
|
-
img.size-medium {
|
|
685
|
-
max-width: 500px;
|
|
686
|
-
}
|
|
687
|
-
|
|
688
|
-
img.size-large {
|
|
689
|
-
max-width: 800px;
|
|
690
|
-
}
|
|
691
|
-
|
|
692
|
-
/* Image borders and shadows */
|
|
693
|
-
img.with-border {
|
|
694
|
-
border: 1px solid var(--image-border-color);
|
|
695
|
-
padding: 4px;
|
|
696
|
-
}
|
|
697
|
-
|
|
698
|
-
img.with-shadow {
|
|
699
|
-
box-shadow: var(--image-shadow);
|
|
700
|
-
}
|
|
701
|
-
|
|
702
|
-
/* Figure and caption styling */
|
|
703
|
-
.docmd-container figure {
|
|
704
|
-
margin: 2rem 0;
|
|
705
|
-
}
|
|
706
|
-
|
|
707
|
-
.docmd-container figure img {
|
|
708
|
-
margin-bottom: 0.5rem;
|
|
709
|
-
}
|
|
710
|
-
|
|
711
|
-
.docmd-container figcaption {
|
|
712
|
-
font-size: 0.9rem;
|
|
713
|
-
color: var(--image-caption-text);
|
|
714
|
-
text-align: center;
|
|
715
|
-
padding: 0.5rem;
|
|
716
|
-
background-color: var(--image-caption-bg);
|
|
717
|
-
border-radius: 0 0 4px 4px;
|
|
718
|
-
}
|
|
719
|
-
|
|
720
|
-
/* Image gallery */
|
|
721
|
-
.docmd-container .image-gallery {
|
|
722
|
-
display: grid;
|
|
723
|
-
grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
|
|
724
|
-
gap: 1rem;
|
|
725
|
-
margin: 2rem 0;
|
|
726
|
-
}
|
|
727
|
-
|
|
728
|
-
.docmd-container .image-gallery figure {
|
|
729
|
-
margin: 0;
|
|
730
|
-
}
|
|
731
|
-
|
|
732
|
-
/* Clear floats after aligned images */
|
|
733
|
-
.docmd-container .clear-float::after {
|
|
734
|
-
content: "";
|
|
735
|
-
display: table;
|
|
736
|
-
clear: both;
|
|
737
|
-
}
|
|
738
|
-
|
|
739
|
-
/* Lightbox styling */
|
|
740
|
-
.docmd-lightbox {
|
|
741
|
-
display: none;
|
|
742
|
-
position: fixed;
|
|
743
|
-
top: 0;
|
|
744
|
-
left: 0;
|
|
745
|
-
width: 100%;
|
|
746
|
-
height: 100%;
|
|
747
|
-
background-color: var(--lightbox-bg);
|
|
748
|
-
z-index: 9999;
|
|
749
|
-
justify-content: center;
|
|
750
|
-
align-items: center;
|
|
751
|
-
flex-direction: column;
|
|
752
|
-
}
|
|
753
|
-
|
|
754
|
-
.docmd-lightbox-content {
|
|
755
|
-
position: relative;
|
|
756
|
-
max-width: 90%;
|
|
757
|
-
max-height: 90%;
|
|
758
|
-
text-align: center;
|
|
759
|
-
}
|
|
760
|
-
|
|
761
|
-
.docmd-lightbox-content img {
|
|
762
|
-
max-width: 100%;
|
|
763
|
-
max-height: 80vh;
|
|
764
|
-
object-fit: contain;
|
|
765
|
-
margin: 0 auto;
|
|
766
|
-
box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
|
|
767
|
-
}
|
|
768
|
-
|
|
769
|
-
.docmd-lightbox-caption {
|
|
770
|
-
color: var(--lightbox-text);
|
|
771
|
-
padding: 1rem;
|
|
772
|
-
font-size: 1rem;
|
|
773
|
-
max-width: 100%;
|
|
774
|
-
}
|
|
775
|
-
|
|
776
|
-
.docmd-lightbox-close {
|
|
777
|
-
position: absolute;
|
|
778
|
-
top: 20px;
|
|
779
|
-
right: 30px;
|
|
780
|
-
color: var(--lightbox-text);
|
|
781
|
-
font-size: 2.5rem;
|
|
782
|
-
cursor: pointer;
|
|
783
|
-
z-index: 10000;
|
|
784
|
-
}
|
|
785
|
-
|
|
786
|
-
.docmd-lightbox-close:hover {
|
|
787
|
-
color: #ddd;
|
|
788
|
-
}
|
|
789
|
-
|
|
790
|
-
/* Cursor for lightbox images */
|
|
791
|
-
img.lightbox,
|
|
792
|
-
.docmd-container .image-gallery img {
|
|
793
|
-
cursor: zoom-in;
|
|
794
|
-
}
|
|
795
|
-
|
|
796
|
-
/* Responsive image handling */
|
|
797
|
-
@media (max-width: 768px) {
|
|
798
|
-
img.align-left,
|
|
799
|
-
img.align-right {
|
|
800
|
-
float: none;
|
|
801
|
-
margin-left: auto;
|
|
802
|
-
margin-right: auto;
|
|
803
|
-
}
|
|
804
|
-
|
|
805
|
-
.docmd-container .image-gallery {
|
|
806
|
-
grid-template-columns: 1fr;
|
|
807
|
-
}
|
|
808
|
-
}
|
|
7
|
+
.docmd-container.steps-reset .docmd-container.steps-reset ol.steps-list>li.step-item::before,.docmd-container.steps-reset ol.steps-list>li.step-item::before,.docmd-container.steps-reset ol.steps-list[start]>li.step-item::before{content:counter(list-counter) ".";font-weight:700;margin-right:.5em;color:var(--accent-color,#007acc)}.docmd-tab-pane.active,.logo-link img,.logo-link img.logo-light,.tab-panel.active,.theme-toggle-button .icon-sun,body.sidebar-collapsible .sidebar-toggle-button,html[data-theme=dark] .logo-link img.logo-dark,html[data-theme=dark] .theme-toggle-button .icon-moon,img{display:block}:root{--font-family-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-family-mono:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,Courier,monospace;--bg-color:#ffffff;--text-color:#333333;--sidebar-bg:#f4f7f9;--sidebar-text:#2c3e50;--sidebar-link-active-bg:#e0e7ec;--sidebar-link-active-parent-bg:#e9eff3;--link-color:#007bff;--border-color:#e0e0e0;--code-bg:#f8f8f8;--code-text:#333;--header-bg:#ffffff;--header-border:#e0e0e0;--image-border-color:#e0e0e0;--image-shadow:0 2px 8px rgba(0, 0, 0, 0.1);--image-caption-bg:#f8f8f8;--image-caption-text:#666;--lightbox-bg:rgba(0, 0, 0, 0.9);--lightbox-text:#fff}[data-theme=dark]{--bg-color:#1a1a1a;--text-color:#e0e0e0;--sidebar-bg:#2c2c2c;--sidebar-text:#bdc3c7;--sidebar-link-active-bg:#3a3a3a;--sidebar-link-active-parent-bg:#343434;--link-color:#58a6ff;--border-color:#444444;--code-bg:#282c34;--code-text:#abb2bf;--header-bg:#1a1a1a;--header-border:#444444;--image-border-color:#444444;--image-shadow:0 2px 8px rgba(0, 0, 0, 0.3);--image-caption-bg:#2c2c2c;--image-caption-text:#bdc3c7;--lightbox-bg:rgba(0, 0, 0, 0.95);--lightbox-text:#fff}body{font-family:var(--font-family-sans);background-color:var(--bg-color);color:var(--text-color);margin:0;display:flex;min-height:100vh;line-height:1.6}code,pre{font-family:var(--font-family-mono);background-color:var(--code-bg)}.sidebar{width:260px;background-color:var(--sidebar-bg);color:var(--sidebar-text);padding:20px;border-right:1px solid var(--border-color);height:100vh;position:fixed;top:0;left:0;overflow-y:auto;box-sizing:border-box;flex-shrink:0}.sidebar h1{font-size:1.5em;margin-top:0;margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid var(--border-color)}.sidebar nav ul{list-style:none;padding:0;margin:0}.sidebar nav li a{display:block;padding:8px 10px;text-decoration:none;color:var(--sidebar-text);border-radius:4px;transition:background-color .2s}.copy-code-button:hover,.docmd-tabs-nav-item:hover,.sidebar nav li a.active,.sidebar nav li a:hover,.theme-toggle-button:hover{background-color:var(--sidebar-link-active-bg)}.sidebar nav li a.active{font-weight:600;color:var(--link-color)}.sidebar nav li.active-parent>a{background-color:var(--sidebar-link-active-parent-bg);font-weight:500;position:relative}.sidebar nav li.active-parent>a::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background-color:var(--link-color);opacity:.5}.sidebar nav li.active-parent>a.active::before,div:hover>.copy-code-button,.copy-code-button:hover{opacity:1}.sidebar nav ul ul{padding-left:20px;margin-top:5px}.sidebar-toggle-button{background:0 0;border:1px solid transparent;color:var(--text-color);cursor:pointer;padding:0;margin:.5em 0 0;display:none;border-radius:4px}.sidebar-toggle-button:hover{background-color:var(--sidebar-bg);border-color:var(--border-color)}.sidebar-toggle-button .lucide-icon{width:2em;height:2em}body.sidebar-collapsed .sidebar{transform:translateX(-100%);visibility:hidden}.toc-level-2,body.sidebar-collapsed .main-content-wrapper{margin-left:0}.main-content-wrapper,.sidebar{transition:transform .3s,margin-left .3s,visibility .3s}.main-content-wrapper{margin-left:260px;flex-grow:1;display:flex;flex-direction:column;overflow:hidden}.header-left,.page-header{align-items:center;display:flex}.page-header{padding:15px 30px;border-bottom:1px solid var(--header-border);background-color:var(--header-bg);justify-content:space-between;min-height:2.5em}.header-left{gap:15px}.header-right{display:flex;align-items:center}.page-header h1{margin:0;font-size:1.8em}.theme-toggle-header{padding:8px;background:var(--content-bg);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:.2s}.theme-toggle-header:hover{background:var(--sidebar-bg);border-color:var(--accent-color)}.card .card-title,.sidebar-header{border-bottom:1px solid var(--border-color)}.content-area{padding:2.5rem 2rem;max-width:1200px;margin:0 auto;width:100%;box-sizing:border-box}pre{color:var(--code-text);padding:1em;border-radius:4px;overflow-x:auto;position:relative}code{padding:.2em .4em;border-radius:3px;font-size:.9em}pre code{background-color:transparent;padding:0;font-size:inherit}.sidebar-header{padding-bottom:10px;margin-bottom:10px;text-align:center;height:2.5em}.sidebar-header h1{font-size:1.5em;margin-top:0;margin-bottom:0}.logo-link img{max-height:40px;width:auto;margin:0 auto}.docmd-tab-pane,.logo-link img.logo-dark,.tab-panel,.theme-toggle-button .icon-moon,html[data-theme=dark] .logo-link img.logo-light,html[data-theme=dark] .theme-toggle-button .icon-sun{display:none}.sidebar-nav .lucide-icon{width:1em;height:1em;margin-right:.5em;vertical-align:-.15em;stroke-width:2}.sidebar-nav .nav-external-icon{width:1em;height:1.5em;float:right;margin-left:.3em;opacity:.7}.theme-toggle-button{background:0 0;border:1px solid var(--border-color);color:var(--sidebar-text);padding:8px;border-radius:4px;cursor:pointer;margin-top:.5em;display:flex;align-items:center;justify-content:center;width:100%}.next-page,.prev-page,.step::before{color:var(--link-color);display:flex}.callout .callout-content>:first-child,.card .card-content>:first-child,.docmd-container>:first-child,.step-content>:first-child,.step-title{margin-top:0}.theme-toggle-button .lucide-icon{width:1.2em;height:1.2em}.docmd-container{padding:1rem 1.5rem;margin-bottom:1.5rem;border-radius:6px;border:1px solid var(--border-color);background-color:var(--code-bg)}.callout .callout-content>:last-child,.card .card-content>:last-child,.docmd-container>:last-child,.step-content>:last-child{margin-bottom:0}.callout{border-left-width:5px;background-color:transparent}.callout-title{font-weight:700;margin-bottom:.5em}.callout-info{border-left-color:#3498db;background-color:rgba(52,152,219,.07)}.callout-warning{border-left-color:#f39c12;background-color:rgba(243,156,18,.07)}.callout-success,.callout-tip{border-left-color:#2ecc71;background-color:rgba(46,204,113,.07)}.callout-danger{border-left-color:#e74c3c;background-color:rgba(231,76,60,.07)}.card .card-title{font-weight:700;font-size:1.1em;margin:-1rem -1.5rem 1rem;padding:.75rem 1.5rem}.docmd-container.steps{position:relative;padding-left:3rem;border:none;background:0 0;box-shadow:none}.docmd-container.steps::before{content:"";position:absolute;top:1rem;bottom:1rem;left:2.5rem;width:2px;background-color:var(--border-color)}.step{position:relative;padding-bottom:1.5rem}.step:last-child{padding-bottom:0}.step::before{content:attr(data-step);position:absolute;left:-3rem;top:.1rem;width:2.5rem;height:2.5rem;background-color:var(--bg-color);border:2px solid var(--border-color);border-radius:50%;align-items:center;justify-content:center;font-size:1rem;font-weight:600;z-index:1}.step-title{font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.docmd-container.steps-reset{counter-reset:step-counter 0}.docmd-container.steps-reset ol.steps-list{counter-reset:list-counter 0;list-style:none}.docmd-container.steps-reset ol.steps-list>li.step-item{counter-increment:list-counter 1;position:relative;padding-left:0;margin-bottom:2.5rem}.docmd-container.steps-reset ol.steps-list>li.step-item::before{font-size:2rem}.docmd-container.steps-reset .docmd-container.steps-reset ol.steps-list,.docmd-container.steps-reset ol.steps-list[start]{counter-reset:list-counter 0}.docmd-container.steps-reset .docmd-container.steps-reset ol.steps-list>li.step-item,.docmd-container.steps-reset ol.steps-list[start]>li.step-item{counter-increment:list-counter 1}.docmd-container.steps-reset ol:not(.steps-list)::before,.docmd-container.steps-reset ol:not(.steps-list)>li::before,.docmd-container.steps-reset ul::before,.docmd-container.steps-reset ul>li::before{width:.75rem;height:.75rem;left:-1.5rem;top:.5rem;content:""!important}:focus-visible{outline:2px solid var(--link-color);outline-offset:2px}:focus:not(:focus-visible){outline:currentcolor}.sidebar nav li a:focus-visible{background-color:var(--sidebar-link-active-bg);outline:2px solid var(--link-color);outline-offset:-2px}.theme-toggle-button:focus-visible{border-color:var(--link-color);box-shadow:0 0 0 2px var(--link-color)}.page-footer,.page-navigation{border-top:1px solid var(--border-color)}.page-navigation{display:flex;justify-content:space-between;margin-top:3rem;padding-top:1.5rem}.next-page,.prev-page{align-items:center;text-decoration:none;padding:.75rem;border-radius:6px;transition:background-color .2s;width:48%;max-width:48%}.next-page:hover,.prev-page:hover{background-color:rgba(0,0,0,.05);text-decoration:none}[data-theme=dark] .next-page:hover,[data-theme=dark] .prev-page:hover{background-color:rgba(255,255,255,.05)}.prev-page{justify-content:flex-start}.next-page{justify-content:flex-end;text-align:right}.next-page-placeholder,.prev-page-placeholder{width:48%}.next-page span,.prev-page span{display:flex;flex-direction:column}.next-page small,.prev-page small{font-size:.8rem;opacity:.8;margin-bottom:.25rem}.next-page strong,.prev-page strong{font-weight:500}.page-nav-icon{width:1.2rem;height:1.2rem}.prev-page .page-nav-icon{margin-right:.75rem}.next-page .page-nav-icon{margin-left:.75rem}.page-footer{text-align:center;padding:20px 30px;margin-top:auto;font-size:.9em;color:var(--text-color);background-color:var(--sidebar-bg)}.footer-content{display:flex;justify-content:space-between;align-items:center;margin:0 auto;width:100%}.user-footer{text-align:left}.branding-footer{text-align:right;opacity:.9;font-weight:500}.branding-footer svg{color:#fb3a3a}.page-footer a{color:var(--link-color);text-decoration:none}.page-footer a:hover,.toc-link:hover{text-decoration:underline}.content-layout{display:flex;gap:2rem;width:100%}.main-content{flex:1 1 0%;min-inline-size:0px}.toc-container{margin:0;padding:0;border:none;background-color:transparent}.docmd-container figure img,.toc-title{margin-bottom:.5rem}.toc-title{margin-top:0;font-size:1rem;font-weight:700;color:var(--text-muted)}.toc-list{list-style:none;padding-left:0;margin:0}.toc-item{margin-bottom:.25rem;line-height:1.4}.toc-link{text-decoration:none;color:var(--link-color);display:inline-block;padding:.1rem 0;font-size:.9rem;font-weight:500}.toc-level-3{margin-left:.75rem;font-size:.85rem}.toc-level-4{margin-left:1.5rem;font-size:.8rem}.toc-sidebar{width:180px;position:sticky;top:2rem;max-height:calc(-4rem + 100vh);overflow-y:auto;align-self:flex-start}@media (max-width:1024px){.content-layout{flex-direction:column;display:flex;flex-direction:column-reverse}.toc-sidebar{width:100%;position:static;margin-bottom:1rem}}.docmd-tabs,img{margin:1.5rem 0}img{max-width:100%;height:auto}img.align-left{float:left;margin-right:1.5rem;margin-bottom:1rem}img.align-center{margin-left:auto;margin-right:auto}img.align-right{float:right;margin-left:1.5rem;margin-bottom:1rem}img.size-small{max-width:300px}img.size-medium{max-width:500px}img.size-large{max-width:800px}img.with-border{border:1px solid var(--image-border-color);padding:4px}img.with-shadow{box-shadow:var(--image-shadow)}.docmd-container figure{margin:2rem 0}.docmd-container figcaption{font-size:.9rem;color:var(--image-caption-text);text-align:center;padding:.5rem;background-color:var(--image-caption-bg);border-radius:0 0 4px 4px}.docmd-container .image-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;margin:2rem 0}.docmd-container .image-gallery figure{margin:0}.docmd-container .clear-float::after{content:"";display:table;clear:both}.docmd-tabs{border:1px solid var(--border-color);border-radius:6px;overflow:hidden;box-shadow:rgba(0,0,0,.05) 0 1px 3px}.docmd-tabs-nav{display:flex;background-color:var(--sidebar-bg);border-bottom:1px solid var(--border-color);overflow:auto hidden}.docmd-tabs-nav-item{padding:.75rem 1.25rem;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-1px;font-weight:500;color:var(--sidebar-text);white-space:nowrap}.docmd-tabs-nav-item.active{color:var(--link-color);border-bottom-color:var(--link-color);background-color:var(--bg-color)}.docmd-tabs-content{padding:1.5rem}.tabs-container{margin:1rem 0;border:1px solid #e1e5e9;border-radius:.375rem}.tab-navigation{display:flex;background-color:#f8f9fa;border-bottom:1px solid #e1e5e9;border-radius:.375rem .375rem 0 0}.tab-button{padding:.75rem 1rem;border-width:medium medium 2px;border-style:none none solid;border-color:currentcolor currentcolor transparent;border-image:none;background:0 0;cursor:pointer;transition:.2s}.tab-button:hover{background-color:#e9ecef}.tab-button.active{border-bottom-color:#007bff;background-color:#fff}.tab-content{padding:1rem}.docmd-lightbox{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--lightbox-bg);z-index:9999;justify-content:center;align-items:center;flex-direction:column}.copy-code-button svg,.sponsor-icon{width:1rem;height:1rem}.docmd-lightbox-content{position:relative;max-width:90%;max-height:90%;text-align:center}.docmd-lightbox-content img{max-width:100%;max-height:80vh;object-fit:contain;margin:0 auto;box-shadow:rgba(0,0,0,.3) 0 0 20px}.docmd-lightbox-caption{color:var(--lightbox-text);padding:1rem;font-size:1rem;max-width:100%}.docmd-lightbox-close{position:absolute;top:20px;right:30px;color:var(--lightbox-text);font-size:2.5rem;cursor:pointer;z-index:10000}.docmd-lightbox-close:hover{color:#ddd}.docmd-button,.sponsor-link,.sponsor-link:hover{color:#fff;text-decoration:none}.docmd-container .image-gallery img,img.lightbox{cursor:zoom-in}.docmd-button{display:inline-block;padding:.6rem 1.2rem;margin:.5rem;border-radius:6px;background-color:var(--link-color);font-weight:500;transition:background-color .2s,transform .2s;border:none;cursor:pointer}.docmd-button:hover{text-decoration:none;filter:brightness(90%);transform:translateY(-1px)}.sponsor-ribbon{position:fixed;bottom:60px;right:10px;z-index:1000;transform:rotate(0);transform-origin:center}.sponsor-link{display:flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#ff6b6b,#ee5a24);padding:.75rem 1.5rem;border-radius:5px;box-shadow:0 4px 12px rgba(255,107,107,.3);font-weight:600;font-size:.875rem;transition:.3s;white-space:nowrap}.sponsor-link:hover{transform:scale(1.02);box-shadow:0 6px 20px rgba(255,107,107,.4)}.sponsor-icon{animation:2s ease-in-out infinite heartbeat}.sponsor-text{font-family:inherit}@keyframes heartbeat{0%,100%{transform:scale(1)}50%{transform:scale(1.1)}}@media (max-width:768px){body{flex-direction:column}.sidebar{width:100%;height:auto;position:static;border-right:currentcolor;border-bottom:1px solid var(--border-color)}.sidebar-toggle-button{display:block}.main-content-wrapper{margin-left:0}.content-area{padding:15px}.footer-content,.page-navigation{flex-direction:column;gap:1rem}.branding-footer,.user-footer{text-align:center}.next-page,.next-page-placeholder,.prev-page,.prev-page-placeholder{width:100%;max-width:100%}img.align-left,img.align-right{float:none;margin-left:auto;margin-right:auto}.docmd-container .image-gallery{grid-template-columns:1fr}.sponsor-ribbon{bottom:10px;right:10px}.sponsor-link{padding:.5rem 1rem;font-size:.75rem}.sponsor-icon{width:.875rem;height:.875rem}}html[data-theme=dark] .sponsor-link{background:linear-gradient(135deg,#ff6b6b,#c44569);box-shadow:0 4px 12px rgba(255,107,107,.2)}html[data-theme=dark] .sponsor-link:hover{box-shadow:0 6px 20px rgba(255,107,107,.3)}.copy-code-button{position:absolute;top:.75rem;right:.75rem;padding:.5rem;background-color:var(--code-bg);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;opacity:0;transition:opacity .2s ease-in-out,background-color .2s;color:var(--sidebar-text);display:flex;align-items:center;justify-content:center;z-index:10;pointer-events:auto}.copy-code-button.copied{color:#10b981;opacity:1}
|