@mgks/docmd 0.2.7 → 0.2.9

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.
@@ -6,4 +6,624 @@
6
6
  * Features: Deep ruby red, elegant serif fonts, subtle gem-like effects
7
7
  */
8
8
 
9
- @import url(https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700&family=Source+Sans+Pro:wght@300;400;600;700&display=swap);.docmd-container,.sidebar,pre,table{box-shadow:var(--shadow-sm)}h1,h2{padding-bottom:.5rem}.sidebar nav li a.active,pre{border-left:3px solid var(--ruby-primary)}pre,table{margin:1.5em 0}a:hover,th{color:var(--ruby-primary-dark)}.sidebar-header,th{border-bottom:2px solid var(--ruby-border)}td,th{padding:.75rem 1rem}.content-area a:not(.button):not(.no-underline)::after,.docmd-container::before,h1::after{background:linear-gradient(90deg,var(--ruby-primary),var(--ruby-accent));position:absolute;left:0}.callout,.docmd-container,.steps,.steps h4,a,h1{position:relative}.callout-info .callout-title,.docmd-container.steps-reset ol.steps-list>li.step-item::before,.sidebar nav li a:hover{color:var(--ruby-primary)}.card .card-content,.card .card-title{padding:1rem 1.5rem}figure img,img{max-width:100%}.image-gallery img,.image-gallery.zoom img{transition:transform .3s}:root{--ruby-font-family-sans:"Source Sans Pro",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--ruby-font-family-serif:"Playfair Display",Georgia,"Times New Roman",serif;--ruby-font-family-mono:"JetBrains Mono","SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace}:root[data-theme=light]{--ruby-primary:#b30000;--ruby-primary-light:#ffebee;--ruby-primary-dark:#8e0000;--ruby-accent:#7b1fa2;--ruby-accent-light:#f3e5f5;--ruby-text:#2d2d2d;--ruby-text-light:#5a5a5a;--ruby-text-lightest:#757575;--ruby-background:#ffffff;--ruby-background-alt:#fafafa;--ruby-border:#e0e0e0;--ruby-border-light:#f0f0f0;--bg-color:var(--ruby-background);--text-color:var(--ruby-text);--sidebar-bg:#f8f5f5;--sidebar-text:var(--ruby-text-light);--sidebar-link-active-bg:#f8e7e7;--sidebar-link-active-text:var(--ruby-primary);--link-color:var(--ruby-primary);--border-color:var(--ruby-border);--code-bg:var(--ruby-primary-light);--code-text:var(--ruby-primary-dark);--header-bg:var(--ruby-background);--header-border:var(--ruby-border);--shadow-sm:0 2px 4px rgba(179, 0, 0, 0.05);--shadow-md:0 4px 8px rgba(179, 0, 0, 0.1);--shadow-lg:0 8px 16px rgba(179, 0, 0, 0.15);--image-border-color:var(--ruby-border);--image-shadow:var(--shadow-md);--image-caption-bg:var(--ruby-background-alt);--image-caption-text:var(--ruby-text-light);--image-hover-transform:translateY(-3px);--image-hover-shadow:var(--shadow-lg);--image-border-radius:6px;--image-transition:all 0.3s ease}:root[data-theme=dark]{--ruby-primary:#ff5252;--ruby-primary-light:#3c1a1a;--ruby-primary-dark:#ff7b7b;--ruby-accent:#ce93d8;--ruby-accent-light:#2a1a2a;--ruby-text:#f0f0f0;--ruby-text-light:#c0c0c0;--ruby-text-lightest:#a0a0a0;--ruby-background:#1a0a0a;--ruby-background-alt:#2a1515;--ruby-border:#3a2020;--ruby-border-light:#2a1818;--bg-color:var(--ruby-background);--text-color:var(--ruby-text);--sidebar-bg:#1a0a0a;--sidebar-text:var(--ruby-text-light);--sidebar-link-active-bg:#2a1515;--sidebar-link-active-text:var(--ruby-primary);--link-color:var(--ruby-primary);--border-color:var(--ruby-border);--code-bg:var(--ruby-primary-light);--code-text:var(--ruby-text);--header-bg:var(--ruby-background);--header-border:var(--ruby-border);--shadow-sm:0 2px 4px rgba(0, 0, 0, 0.3);--shadow-md:0 4px 8px rgba(0, 0, 0, 0.4);--shadow-lg:0 8px 16px rgba(0, 0, 0, 0.5);--image-border-color:var(--ruby-border);--image-shadow:0 4px 8px rgba(0, 0, 0, 0.5);--image-caption-bg:var(--ruby-background-alt);--image-caption-text:var(--ruby-text-light);--image-hover-transform:translateY(-3px);--image-hover-shadow:0 6px 12px rgba(0, 0, 0, 0.7);--image-border-radius:6px;--image-transition:all 0.3s ease}body{font-family:var(--ruby-font-family-sans);line-height:1.7;letter-spacing:.01em}.callout-title,.card .card-title,.steps h4,figure.polaroid figcaption,h1,h2,h3,h4,h5,h6{font-family:var(--ruby-font-family-serif)}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3;margin-top:2em;margin-bottom:.7em;color:var(--ruby-text);letter-spacing:-.01em}h1{font-size:2.5rem;font-weight:700;margin-top:0}h1::after{content:"";bottom:0;width:60px;height:3px;border-radius:3px}h2{font-size:1.9rem;border-bottom:1px solid var(--ruby-border-light)}h3{font-size:1.6rem}h4{font-size:1.3rem}a{color:var(--link-color);text-decoration:none;transition:color .2s}.content-area a:not(.button):not(.no-underline)::after{content:"";width:100%;height:1px;bottom:0;transform:scaleX(0);transform-origin:right bottom;transition:transform .3s}.content-area a:not(.button):not(.no-underline):hover::after{transform:scaleX(1);transform-origin:left bottom}p{margin:.7em 0;padding:.3em 0;line-height:1.8}.sidebar{border-right:1px solid var(--ruby-border)}.sidebar-header{margin-bottom:1.5rem;padding-bottom:1rem}.sidebar nav li a{border-radius:4px;margin-bottom:3px;transition:.3s;padding:.6rem .8rem;font-weight:400}.sidebar nav li a:hover{background-color:var(--sidebar-link-active-bg);transform:translateX(3px)}.sidebar nav li a.active{background-color:var(--sidebar-link-active-bg);color:var(--sidebar-link-active-text);font-weight:600}.content-area{padding:2.5rem 5%}pre{background-color:var(--code-bg);border-radius:6px;padding:1.25em}code{font-family:var(--ruby-font-family-mono);font-size:.9em;border-radius:4px;padding:.2em .4em}.docmd-container,table{border-radius:6px;overflow:hidden}table{width:100%;border-collapse:separate;border-spacing:0px}th{background-color:var(--ruby-primary-light);text-align:left;font-weight:600}td{border-top:1px solid var(--ruby-border-light)}tr:hover{background-color:var(--ruby-background-alt)}.docmd-container{padding:1.2rem 1.5rem;margin:1.75rem 0;border:1px solid var(--ruby-border-light);background-color:var(--ruby-background)}.docmd-container::before{content:"";top:0;width:100%;height:3px}.docmd-container.steps::before{height:initial!important}.callout{border-width:medium medium medium 4px;border-style:none none none solid;border-color:currentcolor;border-image:none;background-color:var(--ruby-background-alt)}.callout-title{font-weight:600;margin-bottom:.75em;display:flex;align-items:center;font-size:1.1em}.callout-title::before{margin-right:.5rem;font-size:1.1em}.callout-info{border-left-color:var(--ruby-primary)}.callout-warning{border-left-color:#f39c12}.callout-warning .callout-title{color:#f39c12}.callout-success,.callout-tip{border-left-color:#2ecc71}.callout-success .callout-title,.callout-tip .callout-title{color:#2ecc71}.callout-danger{border-left-color:#e74c3c}.callout-danger .callout-title{color:#e74c3c}.card{border:none;border-radius:6px;background:linear-gradient(135deg,var(--ruby-background) 0,var(--ruby-background-alt) 100%);box-shadow:var(--shadow-md);transition:.3s;overflow:hidden}.button,.steps h4::before,button{background:linear-gradient(135deg,var(--ruby-primary) 0,var(--ruby-accent) 100%);font-weight:600;box-shadow:var(--shadow-sm)}.card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.card .card-title{font-weight:600;margin:0;background:linear-gradient(90deg,var(--ruby-primary-light),var(--ruby-accent-light));color:var(--ruby-primary-dark);border-bottom:1px solid var(--ruby-border)}.steps{counter-reset:step-counter 0;padding-left:1rem}.steps h4{padding-left:2.5rem;margin-top:2rem;margin-bottom:1rem}.steps h4::before{content:counter(step-counter);counter-increment:step-counter 1;position:absolute;left:0;top:50%;transform:translateY(-50%);width:1.8rem;height:1.8rem;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.9rem}.button,button{color:#fff;border:none;padding:.6rem 1.2rem;border-radius:4px;cursor:pointer;transition:.3s}.image-gallery figcaption,figcaption{background-color:var(--image-caption-bg);color:var(--image-caption-text)}figure,img{transition:var(--image-transition)}.docmd-button:hover{color:#fff}.button:hover,button:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}figure:hover,img.with-shadow:hover{transform:var(--image-hover-transform)}.theme-toggle-button{background:0 0;color:var(--ruby-text-light);box-shadow:none}.theme-toggle-button:hover{background:var(--ruby-background-alt);color:var(--ruby-primary);box-shadow:var(--shadow-sm);transform:translateY(0)}img{height:auto;border-radius:var(--image-border-radius)}img.with-border{border:1px solid var(--image-border-color);padding:4px}.image-gallery figure,figure img{border-radius:var(--image-border-radius)}img.with-shadow{box-shadow:var(--image-shadow)}img.with-shadow:hover{box-shadow:var(--image-hover-shadow)}figure{margin:1.5em 0;text-align:center}figcaption{padding:.5em;font-size:.9em;border-radius:0 0 var(--image-border-radius) var(--image-border-radius);font-style:italic}.image-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin:1.5em 0}.image-gallery figure{margin:0;height:100%;display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-sm)}.image-gallery figure:hover{box-shadow:var(--shadow-md)}.image-gallery img{width:100%;height:100%;object-fit:cover;border-radius:var(--image-border-radius) var(--image-border-radius) 0 0}.image-gallery figcaption{padding:.5rem;font-size:.85rem;border-radius:0}.image-gallery.zoom figure:hover img{transform:scale(1.05)}img.lightbox{cursor:zoom-in}img.framed{border:8px solid #fff;box-shadow:0 0 0 1px var(--ruby-border),var(--shadow-md);border-radius:3px}figure.polaroid{background:#fff;padding:10px 10px 20px;box-shadow:var(--shadow-md);border-radius:3px}figure.polaroid img{border-radius:2px}figure.polaroid figcaption{background:#fff;color:var(--ruby-text);font-style:italic}@media (max-width:768px){.content-area{padding:1.5rem 1rem}h1{font-size:2rem}h2{font-size:1.6rem}h3{font-size:1.3rem}.image-gallery{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.image-gallery img{height:120px}}.page-header{border-bottom:1px solid var(--ruby-border)}
9
+ @import url(https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700&family=Source+Sans+Pro:wght@300;400;600;700&display=swap);
10
+
11
+ .docmd-container,
12
+ .sidebar,
13
+ pre,
14
+ table {
15
+ box-shadow: var(--shadow-sm)
16
+ }
17
+
18
+ h1,
19
+ h2 {
20
+ padding-bottom: .5rem
21
+ }
22
+
23
+ .sidebar nav li a.active,
24
+ pre {
25
+ border-left: 3px solid var(--ruby-primary)
26
+ }
27
+
28
+ pre,
29
+ table {
30
+ margin: 1.5em 0
31
+ }
32
+
33
+ a:hover,
34
+ th {
35
+ color: var(--ruby-primary-dark)
36
+ }
37
+
38
+ .sidebar-header,
39
+ th {
40
+ border-bottom: 2px solid var(--ruby-border)
41
+ }
42
+
43
+ td,
44
+ th {
45
+ padding: .75rem 1rem
46
+ }
47
+
48
+ .content-area a:not(.button):not(.no-underline)::after,
49
+ .docmd-container::before,
50
+ h1::after {
51
+ background: linear-gradient(90deg, var(--ruby-primary), var(--ruby-accent));
52
+ position: absolute;
53
+ left: 0
54
+ }
55
+
56
+ .callout,
57
+ .docmd-container,
58
+ .steps,
59
+ .steps h4,
60
+ a,
61
+ h1 {
62
+ position: relative
63
+ }
64
+
65
+ .callout-info .callout-title,
66
+ .docmd-container.steps-reset ol.steps-list>li.step-item::before,
67
+ .sidebar nav li a:hover {
68
+ color: var(--ruby-primary)
69
+ }
70
+
71
+ .card .card-content,
72
+ .card .card-title {
73
+ padding: 1rem 1.5rem
74
+ }
75
+
76
+ figure img,
77
+ img {
78
+ max-width: 100%
79
+ }
80
+
81
+ .image-gallery img,
82
+ .image-gallery.zoom img {
83
+ transition: transform .3s
84
+ }
85
+
86
+ :root {
87
+ --ruby-font-family-sans: "Source Sans Pro", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
88
+ --ruby-font-family-serif: "Playfair Display", Georgia, "Times New Roman", serif;
89
+ --ruby-font-family-mono: "JetBrains Mono", "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace
90
+ }
91
+
92
+ :root[data-theme=light] {
93
+ --ruby-primary: #b30000;
94
+ --ruby-primary-light: #ffebee;
95
+ --ruby-primary-dark: #8e0000;
96
+ --ruby-accent: #7b1fa2;
97
+ --ruby-accent-light: #f3e5f5;
98
+ --ruby-text: #2d2d2d;
99
+ --ruby-text-light: #5a5a5a;
100
+ --ruby-text-lightest: #757575;
101
+ --ruby-background: #ffffff;
102
+ --ruby-background-alt: #fafafa;
103
+ --ruby-border: #e0e0e0;
104
+ --ruby-border-light: #f0f0f0;
105
+ --bg-color: var(--ruby-background);
106
+ --text-color: var(--ruby-text);
107
+ --sidebar-bg: #f8f5f5;
108
+ --sidebar-text: var(--ruby-text-light);
109
+ --sidebar-link-active-bg: #f8e7e7;
110
+ --sidebar-link-active-text: var(--ruby-primary);
111
+ --link-color: var(--ruby-primary);
112
+ --border-color: var(--ruby-border);
113
+ --code-bg: var(--ruby-primary-light);
114
+ --code-text: var(--ruby-primary-dark);
115
+ --header-bg: var(--ruby-background);
116
+ --header-border: var(--ruby-border);
117
+ --shadow-sm: 0 2px 4px rgba(179, 0, 0, 0.05);
118
+ --shadow-md: 0 4px 8px rgba(179, 0, 0, 0.1);
119
+ --shadow-lg: 0 8px 16px rgba(179, 0, 0, 0.15);
120
+ --image-border-color: var(--ruby-border);
121
+ --image-shadow: var(--shadow-md);
122
+ --image-caption-bg: var(--ruby-background-alt);
123
+ --image-caption-text: var(--ruby-text-light);
124
+ --image-hover-transform: translateY(-3px);
125
+ --image-hover-shadow: var(--shadow-lg);
126
+ --image-border-radius: 6px;
127
+ --image-transition: all 0.3s ease
128
+ }
129
+
130
+ :root[data-theme=dark] {
131
+ --ruby-primary: #ff5252;
132
+ --ruby-primary-light: #3c1a1a;
133
+ --ruby-primary-dark: #ff7b7b;
134
+ --ruby-accent: #ce93d8;
135
+ --ruby-accent-light: #2a1a2a;
136
+ --ruby-text: #f0f0f0;
137
+ --ruby-text-light: #c0c0c0;
138
+ --ruby-text-lightest: #a0a0a0;
139
+ --ruby-background: #1a0a0a;
140
+ --ruby-background-alt: #2a1515;
141
+ --ruby-border: #3a2020;
142
+ --ruby-border-light: #2a1818;
143
+ --bg-color: var(--ruby-background);
144
+ --text-color: var(--ruby-text);
145
+ --sidebar-bg: #1a0a0a;
146
+ --sidebar-text: var(--ruby-text-light);
147
+ --sidebar-link-active-bg: #2a1515;
148
+ --sidebar-link-active-text: var(--ruby-primary);
149
+ --link-color: var(--ruby-primary);
150
+ --border-color: var(--ruby-border);
151
+ --code-bg: var(--ruby-primary-light);
152
+ --code-text: var(--ruby-text);
153
+ --header-bg: var(--ruby-background);
154
+ --header-border: var(--ruby-border);
155
+ --shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.3);
156
+ --shadow-md: 0 4px 8px rgba(0, 0, 0, 0.4);
157
+ --shadow-lg: 0 8px 16px rgba(0, 0, 0, 0.5);
158
+ --image-border-color: var(--ruby-border);
159
+ --image-shadow: 0 4px 8px rgba(0, 0, 0, 0.5);
160
+ --image-caption-bg: var(--ruby-background-alt);
161
+ --image-caption-text: var(--ruby-text-light);
162
+ --image-hover-transform: translateY(-3px);
163
+ --image-hover-shadow: 0 6px 12px rgba(0, 0, 0, 0.7);
164
+ --image-border-radius: 6px;
165
+ --image-transition: all 0.3s ease
166
+ }
167
+
168
+ body {
169
+ font-family: var(--ruby-font-family-sans);
170
+ line-height: 1.7;
171
+ letter-spacing: .01em
172
+ }
173
+
174
+ .callout-title,
175
+ .card .card-title,
176
+ .steps h4,
177
+ figure.polaroid figcaption,
178
+ h1,
179
+ h2,
180
+ h3,
181
+ h4,
182
+ h5,
183
+ h6 {
184
+ font-family: var(--ruby-font-family-serif)
185
+ }
186
+
187
+ h1,
188
+ h2,
189
+ h3,
190
+ h4,
191
+ h5,
192
+ h6 {
193
+ font-weight: 600;
194
+ line-height: 1.3;
195
+ margin-top: 2em;
196
+ margin-bottom: .7em;
197
+ color: var(--ruby-text);
198
+ letter-spacing: -.01em
199
+ }
200
+
201
+ h1 {
202
+ font-size: 2.5rem;
203
+ font-weight: 700;
204
+ margin-top: 0
205
+ }
206
+
207
+ h1::after {
208
+ content: "";
209
+ bottom: 0;
210
+ width: 60px;
211
+ height: 3px;
212
+ border-radius: 3px
213
+ }
214
+
215
+ h2 {
216
+ font-size: 1.9rem;
217
+ border-bottom: 1px solid var(--ruby-border-light)
218
+ }
219
+
220
+ h3 {
221
+ font-size: 1.6rem
222
+ }
223
+
224
+ h4 {
225
+ font-size: 1.3rem
226
+ }
227
+
228
+ a {
229
+ color: var(--link-color);
230
+ text-decoration: none;
231
+ transition: color .2s
232
+ }
233
+
234
+ .content-area a:not(.button):not(.no-underline)::after {
235
+ content: "";
236
+ width: 100%;
237
+ height: 1px;
238
+ bottom: 0;
239
+ transform: scaleX(0);
240
+ transform-origin: right bottom;
241
+ transition: transform .3s
242
+ }
243
+
244
+ .content-area a:not(.button):not(.no-underline):hover::after {
245
+ transform: scaleX(1);
246
+ transform-origin: left bottom
247
+ }
248
+
249
+ p {
250
+ margin: .7em 0;
251
+ padding: .3em 0;
252
+ line-height: 1.8
253
+ }
254
+
255
+ .sidebar {
256
+ border-right: 1px solid var(--ruby-border)
257
+ }
258
+
259
+ .sidebar-header {
260
+ margin-bottom: 1.5rem;
261
+ padding-bottom: 1rem
262
+ }
263
+
264
+ .sidebar nav li a {
265
+ border-radius: 4px;
266
+ margin-bottom: 3px;
267
+ transition: .3s;
268
+ padding: .6rem .8rem;
269
+ font-weight: 400
270
+ }
271
+
272
+ .sidebar nav li a:hover {
273
+ background-color: var(--sidebar-link-active-bg);
274
+ transform: translateX(3px)
275
+ }
276
+
277
+ .sidebar nav li a.active {
278
+ background-color: var(--sidebar-link-active-bg);
279
+ color: var(--sidebar-link-active-text);
280
+ font-weight: 600
281
+ }
282
+
283
+ .content-area {
284
+ padding: 2.5rem 5%
285
+ }
286
+
287
+ pre {
288
+ background-color: var(--code-bg);
289
+ border-radius: 6px;
290
+ padding: 1.25em
291
+ }
292
+
293
+ code {
294
+ font-family: var(--ruby-font-family-mono);
295
+ font-size: .9em;
296
+ border-radius: 4px;
297
+ padding: .2em .4em
298
+ }
299
+
300
+ .docmd-container,
301
+ table {
302
+ border-radius: 6px;
303
+ overflow: hidden
304
+ }
305
+
306
+ table {
307
+ width: 100%;
308
+ border-collapse: separate;
309
+ border-spacing: 0px
310
+ }
311
+
312
+ th {
313
+ background-color: var(--ruby-primary-light);
314
+ text-align: left;
315
+ font-weight: 600
316
+ }
317
+
318
+ td {
319
+ border-top: 1px solid var(--ruby-border-light)
320
+ }
321
+
322
+ tr:hover {
323
+ background-color: var(--ruby-background-alt)
324
+ }
325
+
326
+ .docmd-container {
327
+ padding: 1.2rem 1.5rem;
328
+ margin: 1.75rem 0;
329
+ border: 1px solid var(--ruby-border-light);
330
+ background-color: var(--ruby-background)
331
+ }
332
+
333
+ .docmd-container::before {
334
+ content: "";
335
+ top: 0;
336
+ width: 100%;
337
+ height: 3px
338
+ }
339
+
340
+ .docmd-container.steps::before {
341
+ height: initial !important
342
+ }
343
+
344
+ .callout {
345
+ border-width: medium medium medium 4px;
346
+ border-style: none none none solid;
347
+ border-color: currentcolor;
348
+ border-image: none;
349
+ background-color: var(--ruby-background-alt)
350
+ }
351
+
352
+ .callout-title {
353
+ font-weight: 600;
354
+ margin-bottom: .75em;
355
+ display: flex;
356
+ align-items: center;
357
+ font-size: 1.1em
358
+ }
359
+
360
+ .callout-title::before {
361
+ margin-right: .5rem;
362
+ font-size: 1.1em
363
+ }
364
+
365
+ .callout-info {
366
+ border-left-color: var(--ruby-primary)
367
+ }
368
+
369
+ .callout-warning {
370
+ border-left-color: #f39c12
371
+ }
372
+
373
+ .callout-warning .callout-title {
374
+ color: #f39c12
375
+ }
376
+
377
+ .callout-success,
378
+ .callout-tip {
379
+ border-left-color: #2ecc71
380
+ }
381
+
382
+ .callout-success .callout-title,
383
+ .callout-tip .callout-title {
384
+ color: #2ecc71
385
+ }
386
+
387
+ .callout-danger {
388
+ border-left-color: #e74c3c
389
+ }
390
+
391
+ .callout-danger .callout-title {
392
+ color: #e74c3c
393
+ }
394
+
395
+ .card {
396
+ border: none;
397
+ border-radius: 6px;
398
+ background: linear-gradient(135deg, var(--ruby-background) 0, var(--ruby-background-alt) 100%);
399
+ box-shadow: var(--shadow-md);
400
+ transition: .3s;
401
+ overflow: hidden
402
+ }
403
+
404
+ .button,
405
+ .steps h4::before,
406
+ button {
407
+ background: linear-gradient(135deg, var(--ruby-primary) 0, var(--ruby-accent) 100%);
408
+ font-weight: 600;
409
+ box-shadow: var(--shadow-sm)
410
+ }
411
+
412
+ .card:hover {
413
+ transform: translateY(-5px);
414
+ box-shadow: var(--shadow-lg)
415
+ }
416
+
417
+ .card .card-title {
418
+ font-weight: 600;
419
+ margin: 0;
420
+ background: linear-gradient(90deg, var(--ruby-primary-light), var(--ruby-accent-light));
421
+ color: var(--ruby-primary-dark);
422
+ border-bottom: 1px solid var(--ruby-border)
423
+ }
424
+
425
+ .steps {
426
+ counter-reset: step-counter 0;
427
+ padding-left: 1rem
428
+ }
429
+
430
+ .steps h4 {
431
+ padding-left: 2.5rem;
432
+ margin-top: 2rem;
433
+ margin-bottom: 1rem
434
+ }
435
+
436
+ .steps h4::before {
437
+ content: counter(step-counter);
438
+ counter-increment: step-counter 1;
439
+ position: absolute;
440
+ left: 0;
441
+ top: 50%;
442
+ transform: translateY(-50%);
443
+ width: 1.8rem;
444
+ height: 1.8rem;
445
+ color: #fff;
446
+ border-radius: 50%;
447
+ display: flex;
448
+ align-items: center;
449
+ justify-content: center;
450
+ font-size: .9rem
451
+ }
452
+
453
+ .button,
454
+ button {
455
+ color: #fff;
456
+ border: none;
457
+ padding: .6rem 1.2rem;
458
+ border-radius: 4px;
459
+ cursor: pointer;
460
+ transition: .3s
461
+ }
462
+
463
+ .image-gallery figcaption,
464
+ figcaption {
465
+ background-color: var(--image-caption-bg);
466
+ color: var(--image-caption-text)
467
+ }
468
+
469
+ figure,
470
+ img {
471
+ transition: var(--image-transition)
472
+ }
473
+
474
+ .docmd-button:hover {
475
+ color: #fff
476
+ }
477
+
478
+ .button:hover,
479
+ button:hover {
480
+ box-shadow: var(--shadow-md);
481
+ transform: translateY(-2px)
482
+ }
483
+
484
+ figure:hover,
485
+ img.with-shadow:hover {
486
+ transform: var(--image-hover-transform)
487
+ }
488
+
489
+ .theme-toggle-button {
490
+ background: 0 0;
491
+ color: var(--ruby-text-light);
492
+ box-shadow: none
493
+ }
494
+
495
+ .theme-toggle-button:hover {
496
+ background: var(--ruby-background-alt);
497
+ color: var(--ruby-primary);
498
+ box-shadow: var(--shadow-sm);
499
+ transform: translateY(0)
500
+ }
501
+
502
+ img {
503
+ height: auto;
504
+ border-radius: var(--image-border-radius)
505
+ }
506
+
507
+ img.with-border {
508
+ border: 1px solid var(--image-border-color);
509
+ padding: 4px
510
+ }
511
+
512
+ .image-gallery figure,
513
+ figure img {
514
+ border-radius: var(--image-border-radius)
515
+ }
516
+
517
+ img.with-shadow {
518
+ box-shadow: var(--image-shadow)
519
+ }
520
+
521
+ img.with-shadow:hover {
522
+ box-shadow: var(--image-hover-shadow)
523
+ }
524
+
525
+ figure {
526
+ margin: 1.5em 0;
527
+ text-align: center
528
+ }
529
+
530
+ figcaption {
531
+ padding: .5em;
532
+ font-size: .9em;
533
+ border-radius: 0 0 var(--image-border-radius) var(--image-border-radius);
534
+ font-style: italic
535
+ }
536
+
537
+ .image-gallery {
538
+ display: grid;
539
+ grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
540
+ gap: 1rem;
541
+ margin: 1.5em 0
542
+ }
543
+
544
+ .image-gallery figure {
545
+ margin: 0;
546
+ height: 100%;
547
+ display: flex;
548
+ flex-direction: column;
549
+ overflow: hidden;
550
+ box-shadow: var(--shadow-sm)
551
+ }
552
+
553
+ .image-gallery figure:hover {
554
+ box-shadow: var(--shadow-md)
555
+ }
556
+
557
+ .image-gallery img {
558
+ width: 100%;
559
+ height: 100%;
560
+ object-fit: cover;
561
+ border-radius: var(--image-border-radius) var(--image-border-radius) 0 0
562
+ }
563
+
564
+ .image-gallery figcaption {
565
+ padding: .5rem;
566
+ font-size: .85rem;
567
+ border-radius: 0
568
+ }
569
+
570
+ .image-gallery.zoom figure:hover img {
571
+ transform: scale(1.05)
572
+ }
573
+
574
+ img.lightbox {
575
+ cursor: zoom-in
576
+ }
577
+
578
+ img.framed {
579
+ border: 8px solid #fff;
580
+ box-shadow: 0 0 0 1px var(--ruby-border), var(--shadow-md);
581
+ border-radius: 3px
582
+ }
583
+
584
+ figure.polaroid {
585
+ background: #fff;
586
+ padding: 10px 10px 20px;
587
+ box-shadow: var(--shadow-md);
588
+ border-radius: 3px
589
+ }
590
+
591
+ figure.polaroid img {
592
+ border-radius: 2px
593
+ }
594
+
595
+ figure.polaroid figcaption {
596
+ background: #fff;
597
+ color: var(--ruby-text);
598
+ font-style: italic
599
+ }
600
+
601
+ .page-header {
602
+ border-bottom: 1px solid var(--ruby-border)
603
+ }
604
+
605
+ @media (max-width:768px) {
606
+ .content-area {
607
+ padding: 1.5rem 1rem
608
+ }
609
+
610
+ h1 {
611
+ font-size: 2rem
612
+ }
613
+
614
+ h2 {
615
+ font-size: 1.6rem
616
+ }
617
+
618
+ h3 {
619
+ font-size: 1.3rem
620
+ }
621
+
622
+ .image-gallery {
623
+ grid-template-columns: repeat(auto-fill, minmax(150px, 1fr))
624
+ }
625
+
626
+ .image-gallery img {
627
+ height: 120px
628
+ }
629
+ }