create-openclass-uniminuto 1.4.2 → 1.6.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.
Files changed (26) hide show
  1. package/bin/create-openclass-uniminuto.mjs +81 -1
  2. package/package.json +2 -2
  3. package/template/README.md +326 -326
  4. package/template/package-lock.json +11568 -11568
  5. package/template/package.json +63 -61
  6. package/template/public/imagenes/avion.png +0 -0
  7. package/template/public/imagenes/favicon.png +0 -0
  8. package/template/scripts/generar-desde-config.mjs +348 -511
  9. package/template/theme/uniminuto/components/AutoFitText.vue +7 -2
  10. package/template/theme/uniminuto/components/TitleRibbon.vue +222 -0
  11. package/template/theme/uniminuto/layouts/README.md +99 -0
  12. package/template/theme/uniminuto/layouts/slide-02-titulo.vue +29 -47
  13. package/template/theme/uniminuto/layouts/slide-03-imagen-izquierda.vue +43 -69
  14. package/template/theme/uniminuto/layouts/slide-04-imagen-derecha.vue +49 -75
  15. package/template/theme/uniminuto/layouts/slide-05-titulo-superior-texto-derecha.vue +34 -66
  16. package/template/theme/uniminuto/layouts/slide-06-titulo-superior-texto-izquierda.vue +28 -78
  17. package/template/theme/uniminuto/layouts/slide-07-multimedia-con-titulo.vue +10 -66
  18. package/template/theme/uniminuto/layouts/slide-08-titulo-texto.vue +24 -53
  19. package/template/theme/uniminuto/layouts/slide-09-objetivos.vue +26 -53
  20. package/template/theme/uniminuto/layouts/slide-10-titulo-dos-columnas.vue +27 -59
  21. package/template/theme/uniminuto/layouts/slide-11-dos-titulos-dos-columnas.vue +32 -65
  22. package/template/theme/uniminuto/layouts/slide-codigo.vue +16 -113
  23. package/template/theme/uniminuto/styles/base.css +214 -109
  24. package/template/public/fondos/slide-02-titulo.png +0 -0
  25. package/template/public/fondos/slide-03-imagen-izquierda.png +0 -0
  26. package/template/public/fondos/slide-04-imagen-derecha.png +0 -0
@@ -7,13 +7,13 @@ import AutoFitText from '../components/AutoFitText.vue'
7
7
  <img class="slide-bg" src="/fondos/slide-05-template.png" alt="Fondo institucional" />
8
8
 
9
9
  <div class="title-wrap">
10
- <AutoFitText tag="h1" class="title" :min="20" :max="42" line-height="1.05">
10
+ <AutoFitText tag="h1" class="title" :min="30" :max="60" line-height="1.04">
11
11
  <slot name="title">Agrega un título</slot>
12
12
  </AutoFitText>
13
13
  </div>
14
14
 
15
15
  <div class="content-wrap">
16
- <AutoFitText tag="div" class="content-fit" :min="16" :max="34" line-height="1.35">
16
+ <AutoFitText tag="div" class="content-fit objetivos-fit" :min="17" :max="38" line-height="1.30">
17
17
  <slot name="content" />
18
18
  </AutoFitText>
19
19
  </div>
@@ -21,57 +21,30 @@ import AutoFitText from '../components/AutoFitText.vue'
21
21
  </template>
22
22
 
23
23
  <style scoped>
24
- .slide-layout {
25
- position: relative;
26
- width: 100%;
27
- height: 100%;
28
- overflow: hidden;
29
- background: #ffffff;
30
- }
31
-
32
- .slide-bg {
33
- position: absolute;
34
- inset: 0;
35
- width: 100%;
36
- height: 100%;
37
- object-fit: cover;
38
- z-index: 1;
39
- }
40
-
41
- .title-wrap {
42
- position: absolute;
43
- z-index: 2;
44
- left: 3.2%;
45
- top: 2%;
46
- width: 49%;
47
- height: 8%;
48
- display: flex;
49
- align-items: center;
50
- justify-content: flex-start;
51
- padding-left: 0.5rem;
52
- box-sizing: border-box;
53
- }
54
-
55
- .title {
56
- margin: 0 !important;
57
- color: #ffffff !important;
58
- font-family: var(--font-title, 'Merriweather Sans', Arial, sans-serif);
59
- font-weight: 800;
60
- }
61
-
62
- .content-wrap {
63
- position: absolute;
64
- z-index: 2;
65
- left: 8%;
66
- top: 19%;
67
- width: 78%;
68
- height: 65%;
69
- color: #233763 !important;
70
- font-family: var(--font-body, 'Atkinson Hyperlegible', Arial, sans-serif);
71
- }
24
+ .slide-layout { position: relative; width: 100%; height: 100%; overflow: hidden; background: #ffffff; }
25
+ .slide-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 1; }
26
+ .title-wrap { position: absolute; z-index: 2; left: 3.4%; top: 1.2%; width: 59.2%; height: 11.4%; display: flex; align-items: center; justify-content: flex-start; padding-left: 0.75rem; box-sizing: border-box; }
27
+ .title { margin: 0 !important; color: #ffffff !important; font-family: var(--font-title, 'Merriweather Sans', Arial, sans-serif); font-weight: 900; letter-spacing: -0.025em; text-wrap: balance; }
28
+ .content-wrap { position: absolute; z-index: 2; left: 8%; top: 18%; width: 80%; height: 66.5%; color: #233763 !important; font-family: var(--font-body, 'Atkinson Hyperlegible', Arial, sans-serif); }
72
29
 
73
30
  .content-fit :deep(*) { color: #233763 !important; }
74
- .content-fit :deep(ul) { list-style-type: disc !important; list-style-position: outside !important; margin: 0; padding-left: 2rem; }
75
- .content-fit :deep(li) { display: list-item !important; margin-bottom: 1rem; }
76
- .content-fit :deep(li::marker) { color: #233763 !important; font-size: 0.9em; }
31
+ .content-fit :deep(p) { margin: 0 0 0.75rem 0; }
32
+ .content-fit :deep(strong) { font-weight: 900; }
33
+ .content-fit :deep(ul),
34
+ .content-fit :deep(ol) {
35
+ list-style-position: outside !important;
36
+ margin: 0 0 0.75rem 0;
37
+ padding-left: 1.65rem;
38
+ }
39
+ .content-fit :deep(ul) { list-style-type: disc !important; }
40
+ .content-fit :deep(ol) { list-style-type: decimal !important; }
41
+ .content-fit :deep(ol[type='a']) { list-style-type: lower-alpha !important; }
42
+ .content-fit :deep(ol[type='A']) { list-style-type: upper-alpha !important; }
43
+ .content-fit :deep(ol[type='i']) { list-style-type: lower-roman !important; }
44
+ .content-fit :deep(ol[type='I']) { list-style-type: upper-roman !important; }
45
+ .content-fit :deep(li) { display: list-item !important; margin-bottom: 0.46rem; padding-left: 0.15rem; }
46
+ .content-fit :deep(li::marker) { color: #233763 !important; font-weight: 900; }
47
+ .content-fit :deep(pre) { font-size: 0.58em; line-height: 1.22; }
48
+
49
+ .objetivos-fit :deep(li) { margin-bottom: 0.8rem; }
77
50
  </style>
@@ -7,19 +7,19 @@ import AutoFitText from '../components/AutoFitText.vue'
7
7
  <img class="slide-bg" src="/fondos/slide-05-template.png" alt="Fondo institucional" />
8
8
 
9
9
  <div class="title-wrap">
10
- <AutoFitText tag="h1" class="title" :min="20" :max="42" line-height="1.05">
10
+ <AutoFitText tag="h1" class="title" :min="30" :max="60" line-height="1.04">
11
11
  <slot name="title">Agrega un título</slot>
12
12
  </AutoFitText>
13
13
  </div>
14
14
 
15
15
  <div class="left-wrap">
16
- <AutoFitText tag="div" class="column-fit" :min="14" :max="28" line-height="1.35">
16
+ <AutoFitText tag="div" class="column-fit" :min="14" :max="33" line-height="1.28">
17
17
  <slot name="left" />
18
18
  </AutoFitText>
19
19
  </div>
20
20
 
21
21
  <div class="right-wrap">
22
- <AutoFitText tag="div" class="column-fit" :min="14" :max="28" line-height="1.35">
22
+ <AutoFitText tag="div" class="column-fit" :min="14" :max="33" line-height="1.28">
23
23
  <slot name="right" />
24
24
  </AutoFitText>
25
25
  </div>
@@ -27,63 +27,31 @@ import AutoFitText from '../components/AutoFitText.vue'
27
27
  </template>
28
28
 
29
29
  <style scoped>
30
- .slide-layout {
31
- position: relative;
32
- width: 100%;
33
- height: 100%;
34
- overflow: hidden;
35
- background: #ffffff;
36
- }
37
-
38
- .slide-bg {
39
- position: absolute;
40
- inset: 0;
41
- width: 100%;
42
- height: 100%;
43
- object-fit: cover;
44
- z-index: 1;
45
- }
46
-
47
- .title-wrap {
48
- position: absolute;
49
- z-index: 2;
50
- left: 3.2%;
51
- top: 2%;
52
- width: 49%;
53
- height: 8%;
54
- display: flex;
55
- align-items: center;
56
- justify-content: flex-start;
57
- padding-left: 0.5rem;
58
- box-sizing: border-box;
59
- }
60
-
61
- .title {
62
- margin: 0 !important;
63
- color: #ffffff !important;
64
- font-family: var(--font-title, 'Merriweather Sans', Arial, sans-serif);
65
- font-weight: 800;
66
- }
67
-
68
- .left-wrap,
69
- .right-wrap {
70
- position: absolute;
71
- z-index: 2;
72
- top: 17%;
73
- height: 68%;
74
- color: #233763 !important;
75
- font-family: var(--font-body, 'Atkinson Hyperlegible', Arial, sans-serif);
76
- }
77
-
78
- .left-wrap { left: 11%; width: 36%; }
79
- .right-wrap { left: 52%; width: 36%; }
30
+ .slide-layout { position: relative; width: 100%; height: 100%; overflow: hidden; background: #ffffff; }
31
+ .slide-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 1; }
32
+ .title-wrap { position: absolute; z-index: 2; left: 3.4%; top: 1.2%; width: 59.2%; height: 11.4%; display: flex; align-items: center; justify-content: flex-start; padding-left: 0.75rem; box-sizing: border-box; }
33
+ .title { margin: 0 !important; color: #ffffff !important; font-family: var(--font-title, 'Merriweather Sans', Arial, sans-serif); font-weight: 900; letter-spacing: -0.025em; text-wrap: balance; }
34
+ .left-wrap, .right-wrap { position: absolute; z-index: 2; top: 16.2%; height: 69.5%; color: #233763 !important; font-family: var(--font-body, 'Atkinson Hyperlegible', Arial, sans-serif); }
35
+ .left-wrap { left: 7.5%; width: 40%; }
36
+ .right-wrap { left: 53%; width: 40%; }
80
37
 
81
38
  .column-fit :deep(*) { color: #233763 !important; }
82
- .column-fit :deep(h1),
83
- .column-fit :deep(h2),
84
- .column-fit :deep(h3) { margin: 0 0 0.6rem 0; font-weight: 800; color: #233763 !important; }
85
- .column-fit :deep(p) { margin: 0 0 0.8rem 0; }
86
- .column-fit :deep(ul) { list-style-type: disc !important; margin: 0; padding-left: 1.5rem; }
87
- .column-fit :deep(li) { display: list-item !important; margin-bottom: 0.5rem; }
39
+ .column-fit :deep(p) { margin: 0 0 0.75rem 0; }
40
+ .column-fit :deep(strong) { font-weight: 900; }
41
+ .column-fit :deep(ul),
42
+ .column-fit :deep(ol) {
43
+ list-style-position: outside !important;
44
+ margin: 0 0 0.75rem 0;
45
+ padding-left: 2.5rem;
46
+ }
47
+ .column-fit :deep(ul) { list-style-type: disc !important; }
48
+ .column-fit :deep(ol) { list-style-type: decimal !important; }
49
+ .column-fit :deep(ol[type='a']) { list-style-type: lower-alpha !important; }
50
+ .column-fit :deep(ol[type='A']) { list-style-type: upper-alpha !important; }
51
+ .column-fit :deep(ol[type='i']) { list-style-type: lower-roman !important; }
52
+ .column-fit :deep(ol[type='I']) { list-style-type: upper-roman !important; }
53
+ .column-fit :deep(li) { display: list-item !important; margin-bottom: 0.46rem; padding-left: 0.15rem; }
54
+ .column-fit :deep(li::marker) { color: #233763 !important; font-weight: 900; }
88
55
  .column-fit :deep(pre) { font-size: 0.58em; line-height: 1.22; }
56
+
89
57
  </style>
@@ -1,5 +1,6 @@
1
1
  <script setup>
2
2
  import AutoFitText from '../components/AutoFitText.vue'
3
+ import TitleRibbon from '../components/TitleRibbon.vue'
3
4
  </script>
4
5
 
5
6
  <template>
@@ -7,25 +8,25 @@ import AutoFitText from '../components/AutoFitText.vue'
7
8
  <img class="slide-bg" src="/fondos/slide-05-template.png" alt="Fondo institucional" />
8
9
 
9
10
  <div class="left-title-wrap">
10
- <AutoFitText tag="h2" class="column-title" :min="18" :max="36" line-height="1.05">
11
+ <TitleRibbon align="center" plane-side="left" :show-plane="false" :min="24" :max="44" line-height="1.05">
11
12
  <slot name="leftTitle">Agrega un título</slot>
12
- </AutoFitText>
13
+ </TitleRibbon>
13
14
  </div>
14
15
 
15
16
  <div class="right-title-wrap">
16
- <AutoFitText tag="h2" class="column-title" :min="18" :max="36" line-height="1.05">
17
+ <TitleRibbon align="center" plane-side="left" :show-plane="false" :min="24" :max="44" line-height="1.05">
17
18
  <slot name="rightTitle">Agrega un título</slot>
18
- </AutoFitText>
19
+ </TitleRibbon>
19
20
  </div>
20
21
 
21
22
  <div class="left-content">
22
- <AutoFitText tag="div" class="column-fit" :min="14" :max="28" line-height="1.35">
23
+ <AutoFitText tag="div" class="column-fit" :min="14" :max="31" line-height="1.28">
23
24
  <slot name="left" />
24
25
  </AutoFitText>
25
26
  </div>
26
27
 
27
28
  <div class="right-content">
28
- <AutoFitText tag="div" class="column-fit" :min="14" :max="28" line-height="1.35">
29
+ <AutoFitText tag="div" class="column-fit" :min="14" :max="31" line-height="1.28">
29
30
  <slot name="right" />
30
31
  </AutoFitText>
31
32
  </div>
@@ -33,66 +34,32 @@ import AutoFitText from '../components/AutoFitText.vue'
33
34
  </template>
34
35
 
35
36
  <style scoped>
36
- .slide-layout {
37
- position: relative;
38
- width: 100%;
39
- height: 100%;
40
- overflow: hidden;
41
- background: #ffffff;
42
- }
43
-
44
- .slide-bg {
45
- position: absolute;
46
- inset: 0;
47
- width: 100%;
48
- height: 100%;
49
- object-fit: cover;
50
- z-index: 1;
51
- }
52
-
53
- .left-title-wrap,
54
- .right-title-wrap {
55
- position: absolute;
56
- z-index: 2;
57
- top: 25.5%;
58
- height: 6.3%;
59
- display: flex;
60
- align-items: center;
61
- justify-content: center;
62
- background: #233763;
63
- color: #ffffff;
64
- text-align: center;
65
- padding: 0 1rem;
66
- box-sizing: border-box;
67
- }
68
-
69
- .left-title-wrap { left: 0%; width: 44%; }
70
- .right-title-wrap { left: 56.5%; width: 43.5%; }
71
-
72
- .column-title {
73
- margin: 0 !important;
74
- color: #ffffff !important;
75
- font-family: var(--font-title, 'Merriweather Sans', Arial, sans-serif);
76
- font-weight: 800;
77
- }
78
-
79
- .left-content,
80
- .right-content {
81
- position: absolute;
82
- z-index: 2;
83
- top: 36%;
84
- width: 36%;
85
- height: 50%;
86
- color: #233763 !important;
87
- font-family: var(--font-body, 'Atkinson Hyperlegible', Arial, sans-serif);
88
- }
89
-
90
- .left-content { left: 6%; }
91
- .right-content { left: 56.7%; }
37
+ .slide-layout { position: relative; width: 100%; height: 100%; overflow: hidden; background: #ffffff; }
38
+ .slide-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 1; }
39
+ .left-title-wrap, .right-title-wrap { position: absolute; z-index: 3; top: 16%; width: 46%; min-height: 8.8%; --ribbon-min-height: clamp(58px, 7.5vh, 90px); --ribbon-padding-x: 1.8rem; }
40
+ .left-title-wrap { left: 0%; }
41
+ .right-title-wrap { right: 0%; }
42
+ .left-content, .right-content { position: absolute; z-index: 2; top: 30.2%; width: 40%; height: 56%; color: #233763 !important; font-family: var(--font-body, 'Atkinson Hyperlegible', Arial, sans-serif); }
43
+ .left-content { left: 6.5%; }
44
+ .right-content { left: 53.5%; }
92
45
 
93
46
  .column-fit :deep(*) { color: #233763 !important; }
94
- .column-fit :deep(p) { margin: 0 0 0.8rem 0; }
95
- .column-fit :deep(ul) { list-style-type: disc !important; padding-left: 1.5rem; }
96
- .column-fit :deep(li) { display: list-item !important; margin-bottom: 0.5rem; }
47
+ .column-fit :deep(p) { margin: 0 0 0.75rem 0; }
48
+ .column-fit :deep(strong) { font-weight: 900; }
49
+ .column-fit :deep(ul),
50
+ .column-fit :deep(ol) {
51
+ list-style-position: outside !important;
52
+ margin: 0 0 0.75rem 0;
53
+ padding-left: 1.65rem;
54
+ }
55
+ .column-fit :deep(ul) { list-style-type: disc !important; }
56
+ .column-fit :deep(ol) { list-style-type: decimal !important; }
57
+ .column-fit :deep(ol[type='a']) { list-style-type: lower-alpha !important; }
58
+ .column-fit :deep(ol[type='A']) { list-style-type: upper-alpha !important; }
59
+ .column-fit :deep(ol[type='i']) { list-style-type: lower-roman !important; }
60
+ .column-fit :deep(ol[type='I']) { list-style-type: upper-roman !important; }
61
+ .column-fit :deep(li) { display: list-item !important; margin-bottom: 0.46rem; padding-left: 0.15rem; }
62
+ .column-fit :deep(li::marker) { color: #233763 !important; font-weight: 900; }
97
63
  .column-fit :deep(pre) { font-size: 0.58em; line-height: 1.22; }
64
+
98
65
  </style>
@@ -3,11 +3,11 @@ import AutoFitText from '../components/AutoFitText.vue'
3
3
  </script>
4
4
 
5
5
  <template>
6
- <div class="slide-layout">
6
+ <div class="slide-layout codigo-slide">
7
7
  <img class="slide-bg" src="/fondos/slide-05-template.png" alt="Fondo institucional" />
8
8
 
9
9
  <div class="title-wrap">
10
- <AutoFitText tag="h1" class="title" :min="20" :max="42" line-height="1.05">
10
+ <AutoFitText tag="h1" class="title" :min="30" :max="60" line-height="1.04">
11
11
  <slot name="title">Agrega un título</slot>
12
12
  </AutoFitText>
13
13
  </div>
@@ -19,115 +19,18 @@ import AutoFitText from '../components/AutoFitText.vue'
19
19
  </template>
20
20
 
21
21
  <style scoped>
22
- .slide-layout {
23
- position: relative;
24
- width: 100%;
25
- height: 100%;
26
- overflow: hidden;
27
- background: #ffffff;
28
- }
29
-
30
- .slide-bg {
31
- position: absolute;
32
- inset: 0;
33
- width: 100%;
34
- height: 100%;
35
- object-fit: cover;
36
- z-index: 1;
37
- }
38
-
39
- .title-wrap {
40
- position: absolute;
41
- z-index: 2;
42
- left: 3.2%;
43
- top: 2%;
44
- width: 49%;
45
- height: 8%;
46
- display: flex;
47
- align-items: center;
48
- justify-content: flex-start;
49
- padding-left: 0.5rem;
50
- box-sizing: border-box;
51
- }
52
-
53
- .title {
54
- margin: 0 !important;
55
- color: #ffffff !important;
56
- font-family: var(--font-title, 'Merriweather Sans', Arial, sans-serif);
57
- font-weight: 800;
58
- }
59
-
60
- .code-wrap {
61
- position: absolute;
62
- z-index: 2;
63
- left: 5%;
64
- top: 16%;
65
- width: 86%;
66
- height: 71%;
67
- overflow: hidden;
68
- display: flex;
69
- flex-direction: column;
70
- }
71
-
72
- .code-wrap :deep(div.slidev-code-wrapper),
73
- .code-wrap :deep(.slidev-code-wrapper) {
74
- flex: 1;
75
- min-height: 0;
76
- display: flex;
77
- flex-direction: column;
78
- }
79
-
80
- .code-wrap :deep(pre),
81
- .code-wrap :deep(pre.slidev-code),
82
- .code-wrap :deep(.slidev-code) {
83
- flex: 1;
84
- min-height: 0;
85
- max-height: 100% !important;
86
- height: 100% !important;
87
- overflow-y: auto !important;
88
- overflow-x: auto !important;
89
- background: #0f172a !important;
90
- color: #e5e7eb !important;
91
- border: 2px solid rgba(242, 181, 27, 0.75);
92
- border-radius: 14px;
93
- font-size: 0.72rem !important;
94
- line-height: 1.5 !important;
95
- padding: 1rem 1.2rem !important;
96
- box-sizing: border-box;
97
- scrollbar-width: thin;
98
- scrollbar-color: rgba(242, 181, 27, 0.5) transparent;
99
- }
100
-
101
- .code-wrap :deep(pre::-webkit-scrollbar) {
102
- width: 6px;
103
- height: 6px;
104
- }
105
-
106
- .code-wrap :deep(pre::-webkit-scrollbar-thumb) {
107
- background: rgba(242, 181, 27, 0.5);
108
- border-radius: 3px;
109
- }
110
-
111
- .code-wrap :deep(code) {
112
- background: transparent !important;
113
- color: inherit !important;
114
- font-size: inherit !important;
115
- }
116
-
117
- .code-wrap :deep(.line-numbers-wrapper) {
118
- background: #0f172a !important;
119
- border-color: rgba(242, 181, 27, 0.3) !important;
120
- }
121
-
122
- .code-wrap :deep(.slidev-code-copy) {
123
- color: #e5e7eb !important;
124
- background: rgba(15, 23, 42, 0.7) !important;
125
- border-radius: 6px;
126
- padding: 2px;
127
- }
128
-
129
- .code-wrap :deep(.slidev-code-copy:hover) {
130
- color: #f2b51b !important;
131
- background: rgba(15, 23, 42, 0.95) !important;
132
- }
22
+ .slide-layout { position: relative; width: 100%; height: 100%; overflow: hidden; background: #ffffff; }
23
+ .slide-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 1; }
24
+ .title-wrap { position: absolute; z-index: 2; left: 3.4%; top: 1.2%; width: 59.2%; height: 11.4%; display: flex; align-items: center; justify-content: flex-start; padding-left: 0.75rem; box-sizing: border-box; }
25
+ .title { margin: 0 !important; color: #ffffff !important; font-family: var(--font-title, 'Merriweather Sans', Arial, sans-serif); font-weight: 900; letter-spacing: -0.025em; text-wrap: balance; }
26
+ .code-wrap { position: absolute; z-index: 2; left: 6.7%; top: 15.5%; width: 86.5%; height: 74%; overflow: hidden; display: flex; flex-direction: column; min-height: 0; }
27
+ .code-wrap :deep(div.slidev-code-wrapper), .code-wrap :deep(.slidev-code-wrapper) { flex: 1; min-height: 0; display: flex; flex-direction: column; width: 100%; height: 100%; }
28
+ .code-wrap :deep(pre), .code-wrap :deep(pre.slidev-code), .code-wrap :deep(.slidev-code) { flex: 1; min-height: 0; max-height: 100% !important; height: 100% !important; overflow-y: auto !important; overflow-x: auto !important; background: #0f172a !important; color: #e5e7eb !important; border: 2px solid rgba(242, 181, 27, 0.78); border-radius: 14px; font-size: 0.66rem !important; line-height: 1.42 !important; padding: 0.78rem 0.95rem !important; box-sizing: border-box; scrollbar-width: thin; scrollbar-color: rgba(242, 181, 27, 0.75) #1e293b; }
29
+ .code-wrap :deep(pre::-webkit-scrollbar) { width: 8px; height: 8px; }
30
+ .code-wrap :deep(pre::-webkit-scrollbar-track) { background: #1e293b; border-radius: 999px; }
31
+ .code-wrap :deep(pre::-webkit-scrollbar-thumb) { background: rgba(242, 181, 27, 0.75); border-radius: 999px; }
32
+ .code-wrap :deep(code) { background: transparent !important; color: inherit !important; font-size: inherit !important; }
33
+ .code-wrap :deep(.line-numbers-wrapper) { background: #0f172a !important; border-color: rgba(242, 181, 27, 0.3) !important; }
34
+ .code-wrap :deep(.slidev-code-copy) { color: #e5e7eb !important; background: rgba(15, 23, 42, 0.7) !important; border-radius: 6px; padding: 2px; }
35
+ .code-wrap :deep(.slidev-code-copy:hover) { color: #f2b51b !important; background: rgba(15, 23, 42, 0.95) !important; }
133
36
  </style>