@docmd/themes 0.5.1 → 0.5.3

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.
@@ -13,867 +13,276 @@
13
13
  */
14
14
 
15
15
  /*
16
- * Retro Theme
17
- * Inspired by 1980s-90s computing aesthetics
18
- * Features: Neon colors, scanlines, terminal styling, glow effects
16
+ * Retro Theme : "Classic Computing"
17
+ * A clean, high-performance take on vintage computing aesthetics.
18
+ * Features: IBM Amber/Phosphor Green tones, sharp corners, and
19
+ * the modern "Sky" structural layout.
19
20
  */
20
21
 
21
- :root {
22
- --retro-primary: #0a0a0a;
23
- --retro-secondary: #1a1a1a;
24
- --retro-bg-light: #0f0f0f;
25
- --retro-text: #00ff41;
26
- --retro-text-secondary: #ffb000;
27
- --retro-text-muted: #888;
28
- --retro-accent: #0ff;
29
- --retro-danger: #ff1493;
30
- --retro-warning: #ffb000;
31
- --retro-success: #00ff41;
32
- --retro-info: #06f;
33
- --retro-border: #333;
34
- --retro-border-bright: #0ff;
35
- --retro-glow: 0 0 10px currentColor;
36
- --retro-glow-soft: 0 0 5px currentColor;
37
- --retro-shadow: 0 0 20px #00ffff4d;
38
- --retro-font-family: 'Fira Code', 'Courier New', Consolas, monospace;
39
- --retro-font-family-alt: 'Share Tech Mono', 'Courier New', monospace;
40
- --retro-spacing: 1rem;
41
- --retro-spacing-small: .5rem;
42
- --retro-spacing-large: 2rem
43
- }
44
-
45
- html[data-theme=light] {
46
- --retro-primary: #f0f0f0;
47
- --retro-secondary: #e0e0e0;
48
- --retro-bg-light: #f5f5f5;
49
- --retro-text: #2d5d2d;
50
- --retro-text-secondary: #8b4500;
51
- --retro-text-muted: #666;
52
- --retro-accent: #066;
53
- --retro-danger: #b71c42;
54
- --retro-warning: #b8860b;
55
- --retro-success: #228b22;
56
- --retro-info: #4169e1;
57
- --retro-border: #ccc;
58
- --retro-border-bright: #066;
59
- --retro-glow: 0 0 5px currentColor;
60
- --retro-glow-soft: 0 0 3px currentColor;
61
- --retro-shadow: 0 0 15px #0663
62
- }
63
-
64
- * {
65
- box-sizing: border-box
66
- }
22
+ @import url('https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500&family=IBM+Plex+Mono:wght@400;500;600&display=swap');
67
23
 
24
+ :root {
25
+ --retro-primary: #916400;
26
+ /* Classic IBM Amber */
27
+ --retro-bg-dark: #121212;
28
+ --retro-bg-light: #fdf6e3;
29
+ /* Solarized light / Old paper */
30
+ }
31
+
32
+ :root[data-theme=light] {
33
+ --accent-color: var(--retro-primary);
34
+ --retro-primary-light: rgba(255, 176, 0, 0.1);
35
+ --retro-primary-dark: #b37b00;
36
+ --bg-color: var(--retro-bg-light);
37
+ --text-color: #111111;
38
+ --text-heading: #000000;
39
+ --border-color: #dc9700;
40
+ --border-color-hover: #966700;
41
+ --border-color-codeblock: #efc15b;
42
+ --text-muted: #4d4d4d;
43
+ --sidebar-bg: #fffcf3;
44
+ --sidebar-text: #333333;
45
+ --sidebar-link-active-bg: rgba(255, 176, 0, 0.15);
46
+ --sidebar-link-active-text: var(--retro-primary-dark);
47
+ --link-color: var(--retro-primary-dark);
48
+ --link-color-hover: #8f6200;
49
+ --code-text: var(--retro-primary-dark);
50
+ --scrollbar-thumb: #d3cbb0;
51
+ --scrollbar-thumb-hover: var(--retro-primary-dark);
52
+ --radius-sm: 3px;
53
+ --radius-md: 3px;
54
+ }
55
+
56
+ :root[data-theme=dark] {
57
+ --retro-primary: #33ff33;
58
+ /* Classic Phosphor Green */
59
+ --accent-color: var(--retro-primary);
60
+ --retro-primary-light: rgba(51, 255, 51, 0.1);
61
+ --retro-primary-dark: #22cc22;
62
+
63
+ --bg-color: var(--retro-bg-dark);
64
+ --text-color: #e0e0e0;
65
+ /* Brighter for better contrast on black */
66
+ --text-heading: var(--retro-primary);
67
+ --text-muted: #888888;
68
+
69
+ --sidebar-bg: #0a0a0a;
70
+ --sidebar-text: #a0a0a0;
71
+ --sidebar-link-active-bg: rgba(51, 255, 51, 0.15);
72
+ /* Explicit override */
73
+ --sidebar-link-active-text: var(--retro-primary);
74
+
75
+ --link-color: var(--retro-primary);
76
+ --border-color: #222;
77
+ --header-bg: var(--sidebar-bg);
78
+ --header-border: var(--border-color);
79
+
80
+ --code-bg: #0a0a0a;
81
+ --code-text: var(--retro-primary);
82
+
83
+ --scrollbar-thumb: #222;
84
+ --scrollbar-thumb-hover: var(--retro-primary);
85
+ }
86
+
87
+ /* Base Overrides */
68
88
  body {
69
- color: var(--retro-text);
70
- line-height: 1.6;
71
- margin: 0;
72
- padding: 0;
73
- min-height: 100vh;
74
- overflow-x: hidden
75
- }
76
-
77
- body::before {
78
- content: '';
79
- position: fixed;
80
- top: 0;
81
- left: 0;
82
- width: 100%;
83
- height: 100%;
84
- background: linear-gradient(transparent 50%, #00ff4108 50%);
85
- background-size: 100% 4px;
86
- pointer-events: none;
87
- z-index: 1000;
88
- animation: .1s linear infinite scanlines
89
- }
90
-
91
- html[data-theme=light]::before {
92
- background: linear-gradient(transparent 50%, #2d5d2d05 50%)
93
- }
94
-
95
- html[data-theme=light] .page-header {
96
- box-shadow: 0 2px 10px #0663
97
- }
98
-
99
- a,
100
- h1,
101
- h2,
102
- h3,
103
- h4,
104
- h5,
105
- h6 {
106
- color: var(--retro-accent)
107
- }
108
-
109
- a,
110
- body {
111
- position: relative
112
- }
113
-
114
- html[data-theme=light] pre,
115
- pre {
116
- color: var(--retro-text) !important;
117
- background: var(--retro-secondary) !important
118
- }
119
-
120
- html[data-theme=light] code,
121
- html[data-theme=light] pre,
122
- pre {
123
- background: var(--retro-secondary) !important
89
+ background-color: var(--sidebar-bg);
124
90
  }
125
91
 
126
- body,
127
- pre::before {
128
- background: var(--retro-primary)
129
- }
130
-
131
- .page-header::after,
132
- html[data-theme=light] .page-header::after {
133
- background: linear-gradient(90deg, transparent, var(--retro-accent), transparent)
134
- }
135
-
136
- .btn,
137
- .docmd-button,
138
- .docmd-tabs-nav-item,
139
- .theme-toggle-button,
140
- button {
141
- cursor: pointer;
142
- transition: .3s;
143
- font-family: var(--retro-font-family)
144
- }
145
-
146
- .btn,
147
- .docmd-button,
148
- .docmd-tabs-nav-item,
149
- .sidebar-nav a,
150
- .theme-toggle-button,
151
- body,
152
- button,
153
- code,
154
92
  h1,
155
93
  h2,
156
94
  h3,
157
95
  h4,
158
96
  h5,
159
97
  h6 {
160
- font-family: var(--retro-font-family)
98
+ font-family: 'IBM Plex Mono', 'Fira Code', monospace;
99
+ font-weight: 600;
161
100
  }
162
101
 
163
- .page-container {
164
- animation: 3s infinite flicker
165
- }
166
-
167
- h1,
168
- h2,
169
- h3,
170
- h4,
171
- h5,
172
- h6 {
173
- text-transform: uppercase;
174
- letter-spacing: 2px;
175
- text-shadow: var(--retro-glow-soft);
176
- margin: var(--retro-spacing-large) 0 var(--retro-spacing)
177
- }
178
-
179
- code,
180
- h2 {
181
- color: var(--retro-text-secondary)
182
- }
183
-
184
- h1 {
185
- font-size: 2.5rem;
186
- border-bottom: 2px solid var(--retro-accent);
187
- padding-bottom: .5rem;
188
- animation: 2s ease-in-out infinite alternate glow-pulse
189
- }
190
-
191
- h2 {
192
- font-size: 2rem
193
- }
194
-
195
- h3,
196
- html[data-theme=light] .sidebar-nav a {
197
- color: var(--retro-text)
198
- }
199
-
200
- h3 {
201
- font-size: 1.5rem
202
- }
203
-
204
- p {
205
- margin: var(--retro-spacing) 0;
206
- text-shadow: 0 0 2px currentColor
207
- }
208
-
209
- .callout-title,
210
- a {
211
- text-shadow: var(--retro-glow-soft)
212
- }
213
-
214
- a {
215
- text-decoration: none;
216
- transition: .3s
217
- }
218
-
219
- a:hover {
220
- color: var(--retro-danger);
221
- text-shadow: var(--retro-glow)
222
- }
223
-
224
- .page-content a:before,
225
- .sidebar-nav a:before {
226
- content: '>';
227
- margin-right: .25rem;
228
- animation: 1s infinite blink
229
- }
230
-
231
- .docmd-button:before,
232
- .docmd-container.steps ol.steps-list>li.step-item:last-child::after,
233
- .docmd-container.steps ol:not(.steps-list) li::before,
234
- .docmd-container.steps ul li::before,
235
- .page-header a:before,
236
- .page-nav a:before {
237
- display: none
238
- }
239
-
240
- code {
241
- background: var(--retro-secondary);
242
- padding: .2rem .4rem;
243
- border-radius: 3px;
244
- border: 1px solid var(--retro-border);
245
- box-shadow: inset 0 0 5px #00ff4133
102
+ .content-theme-cover {
103
+ position: fixed;
104
+ overflow: scroll;
105
+ height: stretch;
106
+ width: stretch;
107
+ border: 1px solid var(--border-color);
108
+ margin-top: calc(var(--sticky-top-offset) + 5px);
109
+ border-radius: 3px 0 0 0;
110
+ background-color: var(--bg-color);
246
111
  }
247
112
 
248
113
  .page-header,
249
- pre {
250
- padding: var(--retro-spacing);
251
- position: relative
252
- }
253
-
254
- pre {
255
- border-radius: 8px;
256
- border: 1px solid var(--retro-border-bright);
257
- box-shadow: var(--retro-shadow);
258
- overflow-x: auto;
259
- padding-top: 2rem
260
- }
261
-
262
- .docmd-container::before,
263
- pre::before {
264
- position: absolute;
265
- border: 1px solid var(--retro-border-bright)
266
- }
267
-
268
- html[data-theme=light] code {
269
- color: var(--retro-text-secondary) !important;
270
- box-shadow: inset 0 0 5px #2d5d2d33
271
- }
272
-
273
- pre::before {
274
- content: '[TERMINAL]';
275
- top: 5px;
276
- left: 5px;
277
- color: var(--retro-accent);
278
- padding: .2rem .5rem;
279
- font-size: .7rem;
280
- border-radius: 3px
281
- }
282
-
283
- .page-header {
284
- background: linear-gradient(45deg, var(--retro-secondary), var(--retro-bg-light));
285
- border-bottom: 2px solid var(--retro-border-bright);
286
- box-shadow: 0 2px 10px #00ffff4d
114
+ .docmd-menubar {
115
+ background-color: var(--sidebar-bg);
116
+ border: 0;
287
117
  }
288
118
 
289
- .page-header::after {
290
- content: '';
291
- position: absolute;
292
- bottom: -2px;
293
- left: 0;
294
- width: 100%;
295
- height: 2px;
296
- animation: 2s ease-in-out infinite scan
119
+ body.has-menubar-top:not(.no-header) {
120
+ --sticky-top-offset: calc(var(--header-h));
297
121
  }
298
122
 
299
123
  .sidebar {
300
- background: var(--retro-secondary);
301
- border-right: 2px solid var(--retro-border-bright);
302
- box-shadow: 2px 0 10px #0ff3
303
- }
304
-
305
- .sidebar-nav a {
306
- display: block;
307
- padding: .75rem var(--retro-spacing);
308
- border-bottom: 1px solid var(--retro-border);
309
- transition: .3s
310
- }
311
-
312
- .sidebar-nav a.active,
313
- .sidebar-nav a:hover {
314
- background: var(--retro-bg-light);
315
- border-left: 4px solid var(--retro-accent);
316
- box-shadow: inset 0 0 10px #0ff3
317
- }
318
-
319
- html[data-theme=light] .sidebar-nav a.active,
320
- html[data-theme=light] .sidebar-nav a:hover {
321
- background: var(--retro-bg-light);
322
- border-left: 4px solid var(--retro-accent);
323
- box-shadow: inset 0 0 10px #0663
124
+ border-right: 0;
125
+ padding-left: .25em;
126
+ background-color: var(--sidebar-bg);
324
127
  }
325
128
 
326
- .btn,
327
- .docmd-button,
328
- button {
329
- background: linear-gradient(145deg, var(--retro-secondary), var(--retro-bg-light));
330
- color: var(--retro-accent);
331
- border: 2px solid var(--retro-border-bright);
332
- padding: .75rem 1.5rem;
333
- font-weight: 700;
334
- text-transform: uppercase;
335
- letter-spacing: 1px;
336
- position: relative;
337
- text-decoration: none;
338
- display: inline-block;
339
- box-shadow: 0 4px 15px #00ffff4d
129
+ /* Navigation */
130
+ .sidebar nav li.nav-group {
131
+ background-color: var(--retro-primary-light);
132
+ border-radius: var(--radius-sm);
340
133
  }
341
134
 
342
- .btn:hover,
343
- .docmd-button:hover,
344
- button:hover,
345
- th {
346
- background: linear-gradient(145deg, var(--retro-bg-light), var(--retro-secondary))
135
+ .sidebar nav .submenu {
136
+ border: 0;
137
+ background-color: var(--retro-primary-light);
138
+ margin: 0 .5em .5em;
139
+ padding: .25em;
140
+ border-radius: 4px;
347
141
  }
348
142
 
349
- .docmd-container.steps::before,
350
- .docmd-tabs-nav-item {
351
- color: var(--retro-text-secondary);
352
- letter-spacing: 1px
143
+ .sidebar nav li a,
144
+ .sidebar nav li .nav-label {
145
+ font-family: 'IBM Plex Mono', monospace;
146
+ font-size: 13px;
147
+ color: var(--sidebar-text);
353
148
  }
354
149
 
355
- .docmd-container,
356
- td,
357
- th {
358
- padding: var(--retro-spacing)
150
+ /* Fix leaking Sky colors on selection and hover */
151
+ .sidebar nav li a.active,
152
+ .sidebar nav li a:hover,
153
+ .theme-toggle-button:hover,
154
+ .docmd-tabs-nav-item:hover,
155
+ .copy-code-button:hover {
156
+ background-color: var(--sidebar-link-active-bg) !important;
157
+ color: var(--sidebar-link-active-text) !important;
359
158
  }
360
159
 
361
- .docmd-container,
362
- .docmd-tabs {
363
- background: var(--retro-secondary);
364
- box-shadow: var(--retro-shadow);
365
- position: relative
160
+ .sidebar nav li a.active {
161
+ font-weight: 600;
162
+ box-shadow: inset 3px 0 0 var(--accent-color);
366
163
  }
367
164
 
368
- .btn:hover,
369
- .docmd-button:hover,
370
- button:hover {
371
- color: var(--retro-danger);
372
- box-shadow: 0 6px 20px #ff149366;
373
- transform: translateY(-2px)
165
+ /* UI Elements */
166
+ .content-area .button {
167
+ background-color: var(--accent-color);
168
+ color: #000;
169
+ font-family: 'IBM Plex Mono', monospace;
170
+ font-weight: 600;
171
+ border-radius: 2px;
374
172
  }
375
173
 
376
- .btn:active,
377
- .docmd-button:active,
378
- button:active {
379
- transform: translateY(0);
380
- box-shadow: 0 2px 10px #00ffff80
174
+ .content-area .button:hover {
175
+ opacity: 0.9;
176
+ box-shadow: 0 0 10px var(--retro-primary-light);
381
177
  }
382
178
 
383
179
  .docmd-container {
384
- border: 2px solid var(--retro-border);
385
- border-radius: 8px;
386
- margin: var(--retro-spacing) 0
387
- }
388
-
389
- .docmd-container::before {
390
- content: attr(data-type);
391
- top: -15px;
392
- left: 5px;
393
- background: var(--retro-primary);
394
- color: var(--retro-accent);
395
- padding: .25rem .75rem;
396
- border-radius: 3px;
397
- font-size: .8rem;
398
- text-transform: uppercase;
399
- letter-spacing: 1px
400
- }
401
-
402
- .docmd-container.callout.info {
403
- border-color: var(--retro-info);
404
- box-shadow: 0 0 15px #0066ff4d
405
- }
406
-
407
- .docmd-container.callout.warning {
408
- border-color: var(--retro-warning);
409
- box-shadow: 0 0 15px #ffb0004d
410
- }
411
-
412
- .docmd-container.callout.danger {
413
- border-color: var(--retro-danger);
414
- box-shadow: 0 0 15px #ff14934d
415
- }
416
-
417
- .docmd-container.callout.success,
418
- .docmd-container.callout.tip {
419
- border-color: var(--retro-success);
420
- box-shadow: 0 0 15px #00ff414d
421
- }
422
-
423
- .docmd-tabs-nav,
424
- th {
425
- border-bottom: 2px solid var(--retro-border-bright)
426
- }
427
-
428
- .callout-title {
429
- font-weight: 700;
430
- margin-bottom: .75em;
431
- display: flex;
432
- align-items: center;
433
- text-transform: uppercase;
434
- letter-spacing: 1px
435
- }
436
-
437
- .callout-title::before {
438
- margin-right: .5rem;
439
- font-size: 1.2em;
440
- text-shadow: none
441
- }
442
-
443
- .docmd-container.steps::before,
444
- .docmd-tabs::before {
445
- top: -12px;
446
- left: 20px;
447
- padding: .25rem .75rem;
448
- font-size: .7rem;
449
- position: absolute;
450
- text-transform: uppercase
180
+ border-radius: var(--radius-sm);
181
+ padding: 1rem;
451
182
  }
452
183
 
184
+ /* Callouts */
453
185
  .callout-info .callout-title::before {
454
- content: "🖥️"
186
+ content: ":: INFO :: ";
455
187
  }
456
188
 
457
189
  .callout-warning .callout-title::before {
458
- content: "⚠️"
190
+ content: ":: WARN :: ";
459
191
  }
460
192
 
461
193
  .callout-tip .callout-title::before {
462
- content: "💾"
194
+ content: ":: HINT :: ";
463
195
  }
464
196
 
465
197
  .callout-danger .callout-title::before {
466
- content: "🚨"
198
+ content: ":: FAIL :: ";
467
199
  }
468
200
 
469
201
  .callout-success .callout-title::before {
470
- content: ""
471
- }
472
-
473
- .docmd-container.card {
474
- background: linear-gradient(145deg, var(--retro-secondary), var(--retro-bg-light));
475
- border: 1px solid var(--retro-border-bright);
476
- box-shadow: 0 4px 15px #0ff3 inset 0 0 10px #00ff411a
477
- }
478
-
479
- .docmd-tabs {
480
- border: 2px solid var(--retro-border-bright);
481
- border-radius: 8px;
482
- overflow: hidden
483
- }
484
-
485
- .theme-toggle-button,
486
- img {
487
- box-shadow: 0 0 10px #00ffff4d
488
- }
489
-
490
- .docmd-tabs::before {
491
- content: '[TABS]';
492
- background: var(--retro-primary);
493
- color: var(--retro-accent);
494
- border: 1px solid var(--retro-border-bright);
495
- border-radius: 3px;
496
- z-index: 1
497
- }
498
-
499
- .docmd-tabs-nav {
500
- background: linear-gradient(90deg, var(--retro-bg-light), var(--retro-secondary));
501
- display: flex
502
- }
503
-
504
- .theme-toggle-button,
505
- table {
506
- background: var(--retro-secondary)
507
- }
508
-
509
- .docmd-tabs-nav-item {
510
- padding: 1rem 1.5rem;
511
- font-weight: 700;
512
- border-right: 1px solid var(--retro-border);
513
- position: relative;
514
- text-transform: uppercase
515
- }
516
-
517
- .docmd-tabs-nav-item:hover,
518
- .theme-toggle-button,
519
- th {
520
- color: var(--retro-accent)
521
- }
522
-
523
- .docmd-tabs-nav-item:last-child {
524
- border-right: none
525
- }
526
-
527
- .docmd-tabs-nav-item:hover {
528
- background: var(--retro-bg-light);
529
- box-shadow: inset 0 0 10px #0ff3
530
- }
531
-
532
- .docmd-tabs-nav-item.active {
533
- background: var(--retro-primary);
534
- color: var(--retro-accent);
535
- border-bottom: 2px solid var(--retro-accent);
536
- box-shadow: 0 0 15px #00ffff80
537
- }
538
-
539
- .docmd-container.steps,
540
- table {
541
- box-shadow: var(--retro-shadow)
542
- }
543
-
544
- .docmd-tabs-nav-item.active::after {
545
- content: '_';
546
- animation: 1s infinite blink;
547
- margin-left: .25rem
548
- }
549
-
550
- .docmd-tab-pane {
551
- display: none;
552
- padding: var(--retro-spacing-large);
553
- animation: .5s fadeInCRT
554
- }
555
-
556
- .docmd-tab-pane.active {
557
- display: block
558
- }
559
-
560
- .docmd-container.steps {
561
- background: linear-gradient(145deg, var(--retro-secondary), var(--retro-bg-light));
562
- border: 2px solid var(--retro-border-bright);
563
- border-radius: 8px;
564
- padding: var(--retro-spacing-large);
565
- position: relative
566
- }
567
-
568
- .docmd-container.steps::before {
569
- content: '[SEQUENCE]';
570
- background: var(--retro-primary);
571
- border: 1px solid var(--retro-border-bright);
572
- border-radius: 3px
573
- }
574
-
575
- .docmd-container.steps ol.steps-list {
576
- counter-reset: step-counter;
577
- list-style: none;
578
- padding-left: 0
579
- }
580
-
581
- .docmd-container.steps ol.steps-list>li.step-item {
582
- counter-increment: step-counter;
583
- position: relative;
584
- padding: var(--retro-spacing) 0 var(--retro-spacing) 4rem;
585
- border-bottom: 1px solid var(--retro-border);
586
- margin-bottom: var(--retro-spacing)
587
- }
588
-
589
- .docmd-container.steps ol.steps-list>li.step-item:last-child {
590
- border-bottom: none;
591
- margin-bottom: 0
202
+ content: ":: PASS :: ";
592
203
  }
593
204
 
594
- .docmd-container.steps ol.steps-list>li.step-item::before {
595
- content: counter(step-counter);
596
- position: absolute;
597
- left: 0;
598
- top: var(--retro-spacing);
599
- width: 2.5rem;
600
- height: 2.5rem;
601
- background: linear-gradient(145deg, var(--retro-accent), var(--retro-info));
602
- color: var(--retro-primary);
603
- border: 2px solid var(--retro-border-bright);
604
- border-radius: 4px;
605
- display: flex;
606
- align-items: center;
607
- justify-content: center;
608
- font-weight: 700;
609
- font-size: 1.2rem;
610
- text-shadow: none;
611
- box-shadow: 0 0 10px #00ffff80 inset 0 0 5px #0000004d;
612
- animation: 2s ease-in-out infinite pulse-glow
613
- }
614
-
615
- .docmd-container.steps ol.steps-list>li.step-item::after {
616
- content: '';
617
- position: absolute;
618
- left: 1.2rem;
619
- top: 4rem;
620
- bottom: -1rem;
621
- width: 2px;
622
- background: linear-gradient(180deg, var(--retro-accent), transparent);
623
- box-shadow: 0 0 3px var(--retro-accent)
624
- }
625
-
626
- .docmd-container.steps ol:not(.steps-list),
627
- .docmd-container.steps ul {
628
- list-style: initial;
629
- padding-left: 2rem;
630
- margin: var(--retro-spacing) 0
631
- }
632
-
633
- .docmd-container.steps ol:not(.steps-list) li,
634
- .docmd-container.steps ul li {
635
- padding: .25rem 0;
636
- border: none;
637
- margin: 0
638
- }
639
-
640
- .logo-link img {
641
- border: 0;
642
- box-shadow: none
643
- }
644
-
645
- img {
646
- max-width: 100%;
647
- height: auto;
648
- border: 1px solid var(--retro-border);
649
- border-radius: 4px;
650
- filter: brightness(.9) contrast(1.1)
651
- }
652
-
653
- table {
654
- width: 100%;
655
- border-collapse: collapse;
656
- border: 2px solid var(--retro-border-bright);
657
- border-radius: 8px;
658
- overflow: hidden
659
- }
660
-
661
- th {
205
+ .callout .callout-title {
206
+ font-family: 'IBM Plex Mono', monospace;
662
207
  text-transform: uppercase;
663
- letter-spacing: 1px
208
+ font-size: 12px;
664
209
  }
665
210
 
666
- td {
667
- border-bottom: 1px solid var(--retro-border)
211
+ /* Custom Scrollbar */
212
+ ::-webkit-scrollbar {
213
+ width: 6px;
214
+ height: 6px;
668
215
  }
669
216
 
670
- tr:hover {
671
- background: var(--retro-bg-light);
672
- box-shadow: inset 0 0 10px #00ff411a
217
+ ::-webkit-scrollbar-track {
218
+ background: transparent;
673
219
  }
674
220
 
675
- html[data-theme=light] tr:hover {
676
- box-shadow: inset 0 0 10px #2d5d2d1a
221
+ /* Fix Scrollbars - use var() from root */
222
+ ::-webkit-scrollbar-thumb {
223
+ background-color: var(--scrollbar-thumb) !important;
677
224
  }
678
225
 
679
- .theme-toggle-button {
680
- border: 2px solid var(--retro-accent);
681
- padding: .5rem;
682
- border-radius: 4px;
683
- text-transform: uppercase;
684
- font-size: .8rem;
685
- letter-spacing: 1px
226
+ ::-webkit-scrollbar-thumb:hover {
227
+ background-color: var(--scrollbar-thumb-hover) !important;
686
228
  }
687
229
 
688
- .theme-toggle-button:hover {
689
- background: var(--retro-accent);
690
- color: var(--retro-primary);
691
- box-shadow: 0 0 15px #0ff9
230
+ .sidebar::-webkit-scrollbar-thumb,
231
+ .toc-list::-webkit-scrollbar-thumb,
232
+ .docmd-search-results::-webkit-scrollbar-thumb,
233
+ pre::-webkit-scrollbar-thumb,
234
+ .table-wrapper::-webkit-scrollbar-thumb {
235
+ background-color: transparent !important;
692
236
  }
693
237
 
694
- html[data-theme=light] .theme-toggle-button {
695
- box-shadow: 0 0 10px #0066664d
238
+ .sidebar:hover::-webkit-scrollbar-thumb,
239
+ .toc-list:hover::-webkit-scrollbar-thumb,
240
+ .docmd-search-results:hover::-webkit-scrollbar-thumb,
241
+ pre:hover::-webkit-scrollbar-thumb,
242
+ .table-wrapper:hover::-webkit-scrollbar-thumb {
243
+ background-color: var(--scrollbar-thumb) !important;
696
244
  }
697
245
 
698
- html[data-theme=light] .theme-toggle-button:hover {
699
- box-shadow: 0 0 15px #0669
246
+ /* Options Menu */
247
+ .docmd-search-trigger .search-label,
248
+ .docmd-options-menu .lucide-icon {
249
+ color: var(--accent-color);
700
250
  }
701
251
 
702
- .terminal-cursor::after {
703
- content: '█';
704
- animation: 1s infinite blink;
705
- color: var(--retro-accent)
706
- }
707
-
708
- .retro-divider {
709
- height: 2px;
710
- background: linear-gradient(90deg, transparent, var(--retro-accent), var(--retro-danger), var(--retro-accent), transparent);
711
- margin: var(--retro-spacing-large) 0;
712
- animation: 3s ease-in-out infinite scan
713
- }
714
-
715
- @media (max-width:768px) {
716
- body::before {
717
- background-size: 100% 2px
718
- }
719
-
720
- @keyframes scanlines {
721
- 0% {
722
- transform: translateY(0)
723
- }
724
-
725
- 100% {
726
- transform: translateY(2px)
727
- }
728
- }
729
-
730
- h1 {
731
- font-size: 2rem
732
- }
733
-
734
- .docmd-tabs-nav {
735
- flex-direction: column
736
- }
737
-
738
- .docmd-tabs-nav-item {
739
- border-right: none;
740
- border-bottom: 1px solid var(--retro-border)
741
- }
742
-
743
- .docmd-container.steps ol.steps-list>li.step-item {
744
- padding-left: 3rem
745
- }
746
-
747
- .docmd-container.steps ol.steps-list>li.step-item::before {
748
- width: 2rem;
749
- height: 2rem;
750
- font-size: 1rem
751
- }
752
-
753
- .docmd-container.steps ol.steps-list>li.step-item::after {
754
- left: 1rem
755
- }
756
- }
757
-
758
- @media (prefers-reduced-motion:reduce) {
759
-
760
- *,
761
- ::after,
762
- ::before {
763
- animation-duration: 0s !important;
764
- animation-iteration-count: 1 !important;
765
- transition-duration: 0s !important
766
- }
767
-
768
- body::before {
769
- display: none
770
- }
771
- }
772
-
773
- @media print {
774
- body::before {
775
- display: none
776
- }
777
-
778
- .docmd-container {
779
- box-shadow: none;
780
- border: 1px solid #000
781
- }
782
-
783
- * {
784
- text-shadow: none !important;
785
- box-shadow: none !important
786
- }
787
- }
788
-
789
- @keyframes scanlines {
790
- 0% {
791
- transform: translateY(0)
792
- }
793
-
794
- 100% {
795
- transform: translateY(4px)
796
- }
252
+ .docmd-options-menu .theme-toggle-button,
253
+ .docmd-options-menu .sponsor-link-button {
254
+ border-radius: 4px;
255
+ border: 1px solid var(--border-color);
797
256
  }
798
257
 
799
- @keyframes flicker {
800
-
801
- 0%,
802
- 100% {
803
- opacity: 1
804
- }
805
-
806
- 98% {
807
- opacity: .98
808
- }
809
-
810
- 99% {
811
- opacity: .99
812
- }
258
+ .docmd-options-menu .theme-toggle-button:hover {
259
+ border-color: var(--accent-color);
813
260
  }
814
261
 
815
- @keyframes glow-pulse {
816
- from {
817
- text-shadow: 0 0 5px var(--retro-accent)
818
- }
819
-
820
- to {
821
- text-shadow: 0 0 15px var(--retro-accent), 0 0 25px var(--retro-accent)
822
- }
262
+ /* Misc */
263
+ .footer-complete {
264
+ background-color: var(--bg-color);
265
+ border-top: 1px solid var(--border-color);
266
+ margin-top: 2rem;
823
267
  }
824
268
 
825
- @keyframes blink {
826
-
827
- 0%,
828
- 50% {
829
- opacity: 1
830
- }
831
-
832
- 100%,
833
- 51% {
834
- opacity: 0
835
- }
269
+ .docmd-kbd {
270
+ background-color: var(--retro-primary-light);
271
+ color: var(--accent-color);
272
+ border: 1px solid var(--border-color);
273
+ font-family: 'IBM Plex Mono', monospace;
836
274
  }
837
275
 
838
- @keyframes scan {
839
-
840
- 0%,
841
- 100% {
842
- transform: scaleX(0)
843
- }
844
-
845
- 50% {
846
- transform: scaleX(1)
847
- }
276
+ .docmd-options-menu .theme-toggle-button,
277
+ .docmd-options-menu .sponsor-link-button,
278
+ .docmd-options-menu .docmd-search-trigger {
279
+ border-radius: 3px;
848
280
  }
849
281
 
850
- @keyframes fadeInCRT {
851
- 0% {
852
- opacity: 0;
853
- transform: scaleY(.1) scaleX(1);
854
- filter: brightness(2)
855
- }
856
-
857
- 50% {
858
- opacity: .5;
859
- transform: scaleY(.5) scaleX(1)
860
- }
861
-
862
- 100% {
863
- opacity: 1;
864
- transform: scaleY(1) scaleX(1);
865
- filter: brightness(1)
866
- }
282
+ .docmd-options-menu .sponsor-link-button:hover {
283
+ background-color: var(--bg-color);
867
284
  }
868
285
 
869
- @keyframes pulse-glow {
870
-
871
- 0%,
872
- 100% {
873
- box-shadow: 0 0 10px #00ffff80 inset 0 0 5px #0000004d
874
- }
875
-
876
- 50% {
877
- box-shadow: 0 0 20px #0ffc inset 0 0 10px #00000080
878
- }
286
+ .toc-sidebar {
287
+ top: 1em;
879
288
  }