@leadertechie/personal-site-kit 0.1.0-alpha.25 → 0.1.0-alpha.26

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.
@@ -552,19 +552,20 @@ class ThemeToggle extends HTMLElement {
552
552
  background: none;
553
553
  border: none;
554
554
  cursor: pointer;
555
- font-size: 1.5rem;
556
- padding: 0.5rem;
557
- color: var(--text-color, #213547);
558
- transition: color 0.3s ease;
555
+ font-size: var(--font-size-h3, clamp(1.15rem, 1.75vw, 1.375rem));
556
+ padding: var(--space-2xs, 0.25lh);
557
+ color: var(--text-primary, #0b1120);
558
+ transition: color var(--transition-base, 0.2s ease);
559
+ line-height: 1;
559
560
  }
560
561
  button:hover {
561
- color: var(--primary-color, #747bff);
562
+ color: var(--brand-color, #2563eb);
562
563
  }
563
- html[data-theme='dark'] button {
564
- color: var(--dark-mode-text-color, rgba(255, 255, 255, 0.87));
564
+ [data-theme='dark'] button {
565
+ color: var(--text-primary, #f1f5f9);
565
566
  }
566
- html[data-theme='dark'] button:hover {
567
- color: var(--dark-mode-primary-color, #646cff);
567
+ [data-theme='dark'] button:hover {
568
+ color: var(--brand-color, #60a5fa);
568
569
  }
569
570
  </style>
570
571
  <button id="theme-toggle" aria-label="Toggle theme">
package/dist/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import { A, B, M, R, W, c, a, g, b, d, h, e, r, s, v } from "./chunks/website-api-CFRUPu0X.js";
2
2
  import { WebsitePrerender } from "./prerender.js";
3
- import { A as A2, a as a2, b as b2, c as c2, d as d2, e as e2, f, g as g2, h as h2, i, B as B2, F, M as M2, j, S, k } from "./chunks/index-DsRjL9Uy.js";
3
+ import { A as A2, a as a2, b as b2, c as c2, d as d2, e as e2, f, g as g2, h as h2, i, B as B2, F, M as M2, j, S, k } from "./chunks/index-oSPOElVQ.js";
4
4
  import { S as S2, g as g3, i as i2, r as r2 } from "./chunks/site-store-CGV9c2DI.js";
5
- import { R as R2, T, W as W2, b as b3, c as c3, g as g4, r as r3 } from "./chunks/template-B7ea0o8q.js";
5
+ import { R as R2, T, W as W2, b as b3, c as c3, g as g4, r as r3 } from "./chunks/template-BW1oVN93.js";
6
6
  export {
7
7
  A as AUTH_KV,
8
8
  A2 as AdminAboutMeSection,
@@ -1 +1 @@
1
- {"version":3,"file":"theme-toggle.d.ts","sourceRoot":"","sources":["../../../src/shared/core/theme-toggle.ts"],"names":[],"mappings":"AAAA,qBAAa,WAAY,SAAQ,WAAW;;IAQ1C,iBAAiB;IAIjB,oBAAoB;IAIpB,MAAM;IAiCN,0BAA0B;IAc1B,WAAW,aAOT;IAEF,kBAAkB,CAAC,KAAK,EAAE,MAAM;IAUhC,UAAU,IAAI,MAAM;IAgBpB,WAAW,IAAI,MAAM;IAQrB,wBAAwB,CAAC,KAAK,EAAE,MAAM;CAQvC"}
1
+ {"version":3,"file":"theme-toggle.d.ts","sourceRoot":"","sources":["../../../src/shared/core/theme-toggle.ts"],"names":[],"mappings":"AAAA,qBAAa,WAAY,SAAQ,WAAW;;IAQ1C,iBAAiB;IAIjB,oBAAoB;IAIpB,MAAM;IAkCN,0BAA0B;IAc1B,WAAW,aAOT;IAEF,kBAAkB,CAAC,KAAK,EAAE,MAAM;IAUhC,UAAU,IAAI,MAAM;IAgBpB,WAAW,IAAI,MAAM;IAQrB,wBAAwB,CAAC,KAAK,EAAE,MAAM;CAQvC"}
package/dist/shared.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { S, g, i, r } from "./chunks/site-store-CGV9c2DI.js";
2
- import { R, T, W, b, c, g as g2, r as r2 } from "./chunks/template-B7ea0o8q.js";
2
+ import { R, T, W, b, c, g as g2, r as r2 } from "./chunks/template-BW1oVN93.js";
3
3
  export {
4
4
  R as Router,
5
5
  S as SiteStore,
@@ -1,129 +1,255 @@
1
- /* Markdown Content Styles */
2
-
3
- .md-heading {
4
- margin: 1.5rem 0 0.75rem 0;
5
- font-weight: 600;
6
- line-height: 1.3;
7
- color: var(--text-color, #213547);
8
- }
9
-
10
- .md-heading h1 { font-size: 2rem; }
11
- .md-heading h2 { font-size: 1.5rem; }
12
- .md-heading h3 { font-size: 1.25rem; }
13
- .md-heading h4 { font-size: 1.1rem; }
14
- .md-heading h5, .md-heading h6 { font-size: 1rem; }
15
-
16
- .md-paragraph {
17
- margin: 0 0 1rem 0;
18
- line-height: 1.7;
19
- color: var(--text-color, #213547);
20
- }
21
-
22
- .md-list {
23
- margin: 0 0 1rem 0;
24
- padding-left: 1.5rem;
25
- }
26
-
27
- .md-list-item {
28
- margin-bottom: 0.5rem;
29
- line-height: 1.6;
30
- }
31
-
32
- .md-blockquote {
33
- margin: 1rem 0;
34
- padding: 0.75rem 1rem;
35
- border-left: 4px solid var(--link-color, #646cff);
36
- background: var(--nav-link-hover-bg, #f8f9fa);
37
- border-radius: 0 8px 8px 0;
38
- color: var(--secondary-text, #666);
39
- }
40
-
41
- .md-blockquote .md-paragraph {
42
- margin: 0;
43
- }
44
-
45
- .md-code {
46
- font-family: 'SF Mono', 'Monaco', 'Inconsolata', 'Fira Code', monospace;
47
- font-size: 0.9em;
48
- background: var(--nav-link-hover-bg, #f5f5f5);
49
- padding: 0.2rem 0.4rem;
50
- border-radius: 4px;
51
- }
52
-
53
- .md-image {
54
- max-width: 100%;
55
- height: auto;
56
- border-radius: 8px;
57
- margin: 1rem 0;
58
- box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
59
- }
60
-
61
- .md-container {
62
- margin: 1rem 0;
63
- }
64
-
65
- .md-container hr {
66
- border: none;
67
- height: 2px;
68
- background: var(--border-color, #eee);
69
- margin: 2rem 0;
70
- border-radius: 1px;
71
- }
72
-
73
- .md-container[tag="hr"] {
74
- margin: 2rem 0;
75
- }
76
-
77
- /* Links within markdown content */
78
- .md-paragraph a,
79
- .md-list-item a {
80
- color: var(--link-color, #646cff);
81
- text-decoration: none;
82
- transition: color 0.2s ease;
83
- }
84
-
85
- .md-paragraph a:hover,
86
- .md-list-item a:hover {
87
- color: var(--link-hover-color, #535bf2);
88
- text-decoration: underline;
89
- }
90
-
91
- /* Strong and emphasis */
92
- .md-paragraph strong,
93
- .md-list-item strong {
94
- font-weight: 600;
95
- color: var(--text-color, #1a1a1a);
96
- }
97
-
98
- .md-paragraph em,
99
- .md-list-item em {
100
- font-style: italic;
101
- }
102
-
103
- /* Tables (if supported) */
104
- .md-container table {
105
- width: 100%;
106
- border-collapse: collapse;
107
- margin: 1rem 0;
108
- }
109
-
110
- .md-container th,
111
- .md-container td {
112
- padding: 0.75rem;
113
- border: 1px solid var(--border-color, #ddd);
114
- text-align: left;
115
- }
116
-
117
- .md-container th {
118
- background: var(--nav-link-hover-bg, #f5f5f5);
119
- font-weight: 600;
120
- }
121
-
122
- /* Dark theme adjustments */
123
- html[data-theme="dark"] .md-code {
124
- background: rgba(255, 255, 255, 0.1);
125
- }
126
-
127
- html[data-theme="dark"] .md-container th {
128
- background: rgba(255, 255, 255, 0.05);
1
+ /*
2
+ * markdown.css — Kumo-inspired Typography for Markdown Content
3
+ *
4
+ * Kumo design language applied to prose text:
5
+ * geometric block accents, clean spacing via lh units,
6
+ * fluid type scale, and a polished reading experience.
7
+ *
8
+ * Tokens sourced from theme.css @layer theme.
9
+ * Fully CSS Constitution compliant.
10
+ */
11
+
12
+ @layer components {
13
+ /* ── Prose Container ── */
14
+ .md-container {
15
+ margin: var(--space-md, 1lh) 0;
16
+ max-width: var(--content-narrow, 720px);
17
+ }
18
+
19
+ .md-container[tag="hr"] {
20
+ margin: var(--space-xl, 3lh) 0;
21
+ }
22
+
23
+ .md-container hr {
24
+ border: 0;
25
+ height: 2px;
26
+ background: var(--border-subtle, #e5e7eb);
27
+ margin: var(--space-xl, 3lh) 0;
28
+ border-radius: var(--radius-full, 9999px);
29
+ }
30
+
31
+ /* ── Headings with Kumo geometric accent bars ── */
32
+ .md-heading {
33
+ margin: var(--space-lg, 2lh) 0 var(--space-sm, 0.5lh) 0;
34
+ font-weight: 650;
35
+ line-height: var(--line-height-tight, 1.2);
36
+ color: var(--text-primary, #0b1120);
37
+ letter-spacing: -0.02em;
38
+ }
39
+
40
+ .md-heading h1 {
41
+ font-size: var(--font-size-h1, clamp(1.75rem, 3vw, 2.5rem));
42
+ position: relative;
43
+ display: inline-block;
44
+ }
45
+
46
+ .md-heading h1::after {
47
+ content: '';
48
+ display: block;
49
+ width: 2rem;
50
+ height: var(--accent-line-thickness, 3px);
51
+ background: var(--brand-color, #2563eb);
52
+ margin-top: var(--space-2xs, 0.25lh);
53
+ border-radius: var(--radius-full, 9999px);
54
+ }
55
+
56
+ .md-heading h2 {
57
+ font-size: var(--font-size-h2, clamp(1.35rem, 2.25vw, 1.75rem));
58
+ border-bottom: 1px solid var(--border-subtle, #e5e7eb);
59
+ padding-bottom: var(--space-2xs, 0.25lh);
60
+ }
61
+
62
+ .md-heading h3 {
63
+ font-size: var(--font-size-h3, clamp(1.15rem, 1.75vw, 1.375rem));
64
+ }
65
+
66
+ .md-heading h4 {
67
+ font-size: var(--font-size-h4, clamp(1rem, 1.25vw, 1.125rem));
68
+ }
69
+
70
+ .md-heading h5, .md-heading h6 {
71
+ font-size: var(--font-size-body, clamp(0.9375rem, 1.15vw, 1rem));
72
+ color: var(--text-secondary, #475569);
73
+ }
74
+
75
+ /* ── Flat heading classes (from md2html) ── */
76
+ .md-h1, .h1 {
77
+ font-size: var(--font-size-h1, clamp(1.75rem, 3vw, 2.5rem));
78
+ margin: var(--space-lg, 2lh) 0 var(--space-sm, 0.5lh) 0;
79
+ font-weight: var(--font-weight-bold, 700);
80
+ line-height: var(--line-height-tight, 1.15);
81
+ letter-spacing: -0.02em;
82
+ position: relative;
83
+ display: inline-block;
84
+ }
85
+
86
+ .md-h1::after, .h1::after {
87
+ content: '';
88
+ display: block;
89
+ width: 2rem;
90
+ height: var(--accent-line-thickness, 3px);
91
+ background: var(--brand-color, #2563eb);
92
+ margin-top: var(--space-2xs, 0.25lh);
93
+ border-radius: var(--radius-full, 9999px);
94
+ }
95
+
96
+ .md-h2, .h2 {
97
+ font-size: var(--font-size-h2, clamp(1.35rem, 2.25vw, 1.75rem));
98
+ margin: var(--space-lg, 2lh) 0 var(--space-sm, 0.5lh) 0;
99
+ font-weight: var(--font-weight-semibold, 600);
100
+ line-height: var(--line-height-tight, 1.2);
101
+ border-bottom: 1px solid var(--border-subtle, #e5e7eb);
102
+ padding-bottom: var(--space-2xs, 0.25lh);
103
+ }
104
+
105
+ .md-h3, .h3 {
106
+ font-size: var(--font-size-h3, clamp(1.15rem, 1.75vw, 1.375rem));
107
+ margin: var(--space-md, 1lh) 0 var(--space-sm, 0.5lh) 0;
108
+ font-weight: var(--font-weight-semibold, 600);
109
+ line-height: var(--line-height-tight, 1.3);
110
+ }
111
+
112
+ .md-h4, .h4 {
113
+ font-size: var(--font-size-h4, clamp(1rem, 1.25vw, 1.125rem));
114
+ margin: var(--space-md, 1lh) 0 var(--space-2xs, 0.25lh) 0;
115
+ font-weight: var(--font-weight-semibold, 600);
116
+ }
117
+
118
+ .md-h5, .h5, .md-h6, .h6 {
119
+ font-size: var(--font-size-body, clamp(0.9375rem, 1.15vw, 1rem));
120
+ margin: var(--space-md, 1lh) 0 var(--space-2xs, 0.25lh) 0;
121
+ font-weight: var(--font-weight-semibold, 600);
122
+ color: var(--text-secondary, #475569);
123
+ }
124
+
125
+ /* ── Paragraphs ── */
126
+ .md-paragraph {
127
+ margin: 0 0 var(--space-md, 1lh) 0;
128
+ line-height: var(--line-height-relaxed, 1.7);
129
+ color: var(--text-primary, #0b1120);
130
+ }
131
+
132
+ .md-paragraph a,
133
+ .md-list-item a {
134
+ color: var(--link-color, #2563eb);
135
+ text-decoration: none;
136
+ font-weight: var(--font-weight-medium, 500);
137
+ border-bottom: 1px solid transparent;
138
+ transition: border-color var(--transition-fast, 0.15s ease),
139
+ color var(--transition-fast, 0.15s ease);
140
+ }
141
+
142
+ .md-paragraph a:hover,
143
+ .md-list-item a:hover {
144
+ color: var(--link-hover, #1d4ed8);
145
+ border-bottom-color: var(--link-hover, #1d4ed8);
146
+ text-decoration: none;
147
+ }
148
+
149
+ .md-paragraph strong,
150
+ .md-list-item strong {
151
+ font-weight: var(--font-weight-bold, 700);
152
+ color: var(--text-primary, #0b1120);
153
+ }
154
+
155
+ .md-paragraph em,
156
+ .md-list-item em {
157
+ font-style: italic;
158
+ }
159
+
160
+ /* ── Lists ── */
161
+ .md-list {
162
+ margin: 0 0 var(--space-md, 1lh) 0;
163
+ padding-left: var(--space-lg, 2lh);
164
+ }
165
+
166
+ .md-list-item {
167
+ margin-bottom: var(--space-2xs, 0.25lh);
168
+ line-height: var(--line-height-relaxed, 1.7);
169
+ }
170
+
171
+ /* ── Blockquotes (Kumo geometric left bar) ── */
172
+ .md-blockquote {
173
+ margin: var(--space-md, 1lh) 0;
174
+ padding: var(--space-sm, 0.5lh) var(--space-md, 1lh);
175
+ border-left: 3px solid var(--brand-color, #2563eb);
176
+ background: var(--bg-secondary, #f8fafc);
177
+ border-radius: 0 var(--radius-sm, 0.375rem) var(--radius-sm, 0.375rem) 0;
178
+ color: var(--text-secondary, #475569);
179
+ }
180
+
181
+ .md-blockquote .md-paragraph {
182
+ margin: 0;
183
+ }
184
+
185
+ /* ── Inline Code ── */
186
+ .md-code {
187
+ font-family: 'SF Mono', 'Monaco', 'Inconsolata', 'Fira Code', 'JetBrains Mono', monospace;
188
+ font-size: 0.875em;
189
+ background: var(--bg-secondary, #f3f4f6);
190
+ padding: 0.15em 0.4em;
191
+ border-radius: var(--radius-sm, 0.25rem);
192
+ border: 1px solid var(--border-subtle, #e5e7eb);
193
+ }
194
+
195
+ /* ── Code Blocks ── */
196
+ .md-code-block,
197
+ pre.md-code {
198
+ background: var(--bg-code, #1e293b);
199
+ color: var(--text-code, #e2e8f0);
200
+ padding: var(--space-md, 1lh);
201
+ border-radius: var(--radius-md, 0.5rem);
202
+ overflow-x: auto;
203
+ margin: var(--space-md, 1lh) 0;
204
+ font-size: var(--font-size-small, clamp(0.8125rem, 1vw, 0.875rem));
205
+ line-height: 1.6;
206
+ border: 0;
207
+ }
208
+
209
+ /* ── Images ── */
210
+ .md-image {
211
+ max-width: 100%;
212
+ height: auto;
213
+ border-radius: var(--radius-md, 0.5rem);
214
+ margin: var(--space-md, 1lh) 0;
215
+ box-shadow: var(--shadow-sm, 0 1px 2px oklch(0% 0 0 / 0.05));
216
+ border: 1px solid var(--border-subtle, #e5e7eb);
217
+ }
218
+
219
+ /* ── Tables ── */
220
+ .md-container table {
221
+ width: 100%;
222
+ border-collapse: collapse;
223
+ margin: var(--space-md, 1lh) 0;
224
+ }
225
+
226
+ .md-container th,
227
+ .md-container td {
228
+ padding: var(--space-sm, 0.5lh);
229
+ border: 1px solid var(--border-subtle, #e5e7eb);
230
+ text-align: left;
231
+ }
232
+
233
+ .md-container th {
234
+ background: var(--bg-secondary, #f3f4f6);
235
+ font-weight: var(--font-weight-semibold, 600);
236
+ }
237
+
238
+ .md-container tr:nth-child(even) {
239
+ background: var(--bg-secondary, #f8fafc);
240
+ }
241
+
242
+ /* ── Dark Theme ── */
243
+ html[data-theme="dark"] .md-code {
244
+ background: color-mix(in srgb, var(--text-inverse, #ffffff), transparent 92%);
245
+ border-color: color-mix(in srgb, var(--text-inverse, #ffffff), transparent 90%);
246
+ }
247
+
248
+ html[data-theme="dark"] .md-container th {
249
+ background: color-mix(in srgb, var(--text-inverse, #ffffff), transparent 95%);
250
+ }
251
+
252
+ html[data-theme="dark"] .md-blockquote {
253
+ background: var(--bg-secondary, #1e293b);
254
+ }
129
255
  }