@xingwangzhe/stalux 1.34.0 → 1.35.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.
@@ -0,0 +1,353 @@
1
+ // Generated by scripts/build-style-names.ts. Production names are version-local.
2
+ export const styleNames: { classes: Record<string, string>; variables: Record<string, string>; animations: Record<string, string> } = {
3
+ "classes": {
4
+ "a-none": "s0",
5
+ "agent-home-summary": "s1",
6
+ "agent-recovery": "s2",
7
+ "badge-group": "s3",
8
+ "bg-a": "s4",
9
+ "bg-b": "s5",
10
+ "bg-layer": "s6",
11
+ "date-time": "s7",
12
+ "home-btn": "s8",
13
+ "nav-icon": "s9",
14
+ "postLayout": "sa",
15
+ "random-post-item": "sb",
16
+ "random-post-link": "sc",
17
+ "stagger-children": "sd",
18
+ "stalux-404-countdown-text": "se",
19
+ "stalux-404-error-container": "sf",
20
+ "stalux-404-error-content": "sg",
21
+ "stalux-404-home-btn": "sh",
22
+ "stalux-ai-prompt": "si",
23
+ "stalux-archive-container": "sj",
24
+ "stalux-archive-description": "sk",
25
+ "stalux-archive-month-section": "sl",
26
+ "stalux-archive-month-title": "sm",
27
+ "stalux-archive-no-posts": "sn",
28
+ "stalux-archive-page-header": "so",
29
+ "stalux-archive-post-date": "sp",
30
+ "stalux-archive-post-item": "sq",
31
+ "stalux-archive-post-link": "sr",
32
+ "stalux-archive-post-list": "ss",
33
+ "stalux-archive-timeline-container": "st",
34
+ "stalux-archive-year-count": "su",
35
+ "stalux-archive-year-header": "sv",
36
+ "stalux-archive-year-section": "sw",
37
+ "stalux-archive-year-title": "sx",
38
+ "stalux-archives-archives-container": "sy",
39
+ "stalux-article": "sz",
40
+ "stalux-article-summary": "s10",
41
+ "stalux-article-summary-label": "s11",
42
+ "stalux-article-summary-text": "s12",
43
+ "stalux-author": "s13",
44
+ "stalux-author-figure": "s14",
45
+ "stalux-author-figure-column": "s15",
46
+ "stalux-back-to-top": "s16",
47
+ "stalux-badge": "s17",
48
+ "stalux-badge-group": "s18",
49
+ "stalux-badge-group-arrow": "s19",
50
+ "stalux-badge-group-hint": "s1a",
51
+ "stalux-badge-group-items": "s1b",
52
+ "stalux-badge-group-summary": "s1c",
53
+ "stalux-badge-group-title": "s1d",
54
+ "stalux-badges": "s1e",
55
+ "stalux-badges-wrapper": "s1f",
56
+ "stalux-beian-beian-info": "s1g",
57
+ "stalux-beian-public-security-beian": "s1h",
58
+ "stalux-byline-author-bio": "s1i",
59
+ "stalux-byline-author-card": "s1j",
60
+ "stalux-byline-author-section": "s1k",
61
+ "stalux-byline-sidebar-container": "s1l",
62
+ "stalux-card-post-categories": "s1m",
63
+ "stalux-card-post-category": "s1n",
64
+ "stalux-card-post-cover": "s1o",
65
+ "stalux-card-post-date": "s1p",
66
+ "stalux-card-post-description": "s1q",
67
+ "stalux-card-post-meta": "s1r",
68
+ "stalux-card-post-tag": "s1s",
69
+ "stalux-card-post-tags": "s1t",
70
+ "stalux-card-post-title": "s1u",
71
+ "stalux-card-post-updated": "s1v",
72
+ "stalux-card-read-more": "s1w",
73
+ "stalux-card-time": "s1x",
74
+ "stalux-categories": "s1y",
75
+ "stalux-category-card": "s1z",
76
+ "stalux-category-content": "s20",
77
+ "stalux-category-icon": "s21",
78
+ "stalux-category-shell": "s22",
79
+ "stalux-categoryheader": "s23",
80
+ "stalux-cloud-canvas": "s24",
81
+ "stalux-cloud-canvas-frame": "s25",
82
+ "stalux-cloud-cards": "s26",
83
+ "stalux-cloud-no-tags": "s27",
84
+ "stalux-cloud-tag-card": "s28",
85
+ "stalux-cloud-tag-count": "s29",
86
+ "stalux-cloud-tag-group": "s2a",
87
+ "stalux-cloud-tag-name": "s2b",
88
+ "stalux-copyright": "s2c",
89
+ "stalux-footer": "s2d",
90
+ "stalux-footer-content": "s2e",
91
+ "stalux-home-body": "s2f",
92
+ "stalux-home-navs": "s2g",
93
+ "stalux-home-title": "s2h",
94
+ "stalux-license-author": "s2i",
95
+ "stalux-license-box": "s2j",
96
+ "stalux-license-content": "s2k",
97
+ "stalux-license-icon": "s2l",
98
+ "stalux-license-license": "s2m",
99
+ "stalux-license-title": "s2n",
100
+ "stalux-license-url": "s2o",
101
+ "stalux-license-watermark": "s2p",
102
+ "stalux-link-card": "s2q",
103
+ "stalux-link-card-avatar": "s2r",
104
+ "stalux-link-card-content": "s2s",
105
+ "stalux-link-card-description": "s2t",
106
+ "stalux-link-card-title": "s2u",
107
+ "stalux-link-list-item": "s2v",
108
+ "stalux-link-shell": "s2w",
109
+ "stalux-links": "s2x",
110
+ "stalux-main": "s2y",
111
+ "stalux-nav-container": "s2z",
112
+ "stalux-nav-item": "s30",
113
+ "stalux-nav-link": "s31",
114
+ "stalux-nav-list": "s32",
115
+ "stalux-nav-overlay": "s33",
116
+ "stalux-nav-scroll-btn": "s34",
117
+ "stalux-nav-text": "s35",
118
+ "stalux-nav-toggle": "s36",
119
+ "stalux-page-description": "s37",
120
+ "stalux-page-title": "s38",
121
+ "stalux-pagination": "s39",
122
+ "stalux-pagination-arrow": "s3a",
123
+ "stalux-pagination-content": "s3b",
124
+ "stalux-pagination-disabled": "s3c",
125
+ "stalux-pagination-inner": "s3d",
126
+ "stalux-pagination-label": "s3e",
127
+ "stalux-pagination-link": "s3f",
128
+ "stalux-pagination-next-post": "s3g",
129
+ "stalux-pagination-prev-post": "s3h",
130
+ "stalux-pagination-title": "s3i",
131
+ "stalux-post-article-footer": "s3j",
132
+ "stalux-post-article-header": "s3k",
133
+ "stalux-post-body": "s3l",
134
+ "stalux-post-card": "s3m",
135
+ "stalux-post-card-shell": "s3n",
136
+ "stalux-post-footer-content": "s3o",
137
+ "stalux-post-layout": "s3p",
138
+ "stalux-post-list-container": "s3q",
139
+ "stalux-post-meta-item": "s3r",
140
+ "stalux-post-meta-row": "s3s",
141
+ "stalux-post-metadata": "s3t",
142
+ "stalux-post-page": "s3u",
143
+ "stalux-post-page-stats": "s3v",
144
+ "stalux-post-reading-time": "s3w",
145
+ "stalux-post-source-link": "s3x",
146
+ "stalux-post-source-link-row": "s3y",
147
+ "stalux-post-taxonomy-container": "s3z",
148
+ "stalux-post-taxonomy-empty": "s40",
149
+ "stalux-post-taxonomy-item-column": "s41",
150
+ "stalux-post-taxonomy-item-pill": "s42",
151
+ "stalux-post-taxonomy-list": "s43",
152
+ "stalux-post-taxonomy-list-column": "s44",
153
+ "stalux-post-taxonomy-list-wrap": "s45",
154
+ "stalux-post-taxonomy-title": "s46",
155
+ "stalux-post-title": "s47",
156
+ "stalux-prose": "s48",
157
+ "stalux-random-container": "s49",
158
+ "stalux-random-error": "s4a",
159
+ "stalux-random-header": "s4b",
160
+ "stalux-random-list": "s4c",
161
+ "stalux-random-loading": "s4d",
162
+ "stalux-random-no-more": "s4e",
163
+ "stalux-random-refresh": "s4f",
164
+ "stalux-random-rotating": "s4g",
165
+ "stalux-random-title": "s4h",
166
+ "stalux-root": "s4i",
167
+ "stalux-sidebar": "s4j",
168
+ "stalux-sidebar-container": "s4k",
169
+ "stalux-sidebar-right": "s4l",
170
+ "stalux-social": "s4m",
171
+ "stalux-social-custom-icon": "s4n",
172
+ "stalux-social-icon-container": "s4o",
173
+ "stalux-stats-site-build-time": "s4p",
174
+ "stalux-stats-site-stats": "s4q",
175
+ "stalux-stats-stats-separator": "s4r",
176
+ "stalux-tag-back-link": "s4s",
177
+ "stalux-tag-category-icon": "s4t",
178
+ "stalux-tag-category-name": "s4u",
179
+ "stalux-tag-header": "s4v",
180
+ "stalux-tag-page-description": "s4w",
181
+ "stalux-tag-page-title": "s4x",
182
+ "stalux-theme-info": "s4y",
183
+ "stalux-toc-active": "s4z",
184
+ "stalux-toc-depth-1": "s50",
185
+ "stalux-toc-depth-2": "s51",
186
+ "stalux-toc-depth-3": "s52",
187
+ "stalux-toc-depth-4": "s53",
188
+ "stalux-toc-depth-5": "s54",
189
+ "stalux-toc-depth-6": "s55",
190
+ "stalux-toc-empty": "s56",
191
+ "stalux-toc-item": "s57",
192
+ "stalux-toc-list": "s58",
193
+ "stalux-toc-title": "s59",
194
+ "stalux-typewriter": "s5a",
195
+ "stalux-typewriter-accessible": "s5b",
196
+ "stalux-typewriter-text": "s5c",
197
+ "stalux-u-flex": "s5d",
198
+ "stalux-u-flex-col": "s5e",
199
+ "stalux-u-flex-wrap": "s5f",
200
+ "stalux-u-items-center": "s5g",
201
+ "stalux-u-justify-center": "s5h",
202
+ "stalux-u-min-w-0": "s5i",
203
+ "stalux-u-text-center": "s5j",
204
+ "stalux-u-w-full": "s5k",
205
+ "stalux-weather": "s5l",
206
+ "stalux-weather-footer": "s5m",
207
+ "stalux-weather-heading": "s5n",
208
+ "stalux-weather-location": "s5o",
209
+ "stalux-weather-main": "s5p",
210
+ "stalux-weather-source": "s5q",
211
+ "stalux-weather-status": "s5r",
212
+ "stalux-word-body": "s5s",
213
+ "stalux-word-card": "s5t",
214
+ "stalux-word-date": "s5u",
215
+ "stalux-word-footer": "s5v",
216
+ "stalux-word-list-item": "s5w",
217
+ "stalux-word-list-list": "s5x",
218
+ "stalux-word-source-date": "s5y",
219
+ "stalux-word-source-link": "s5z",
220
+ "stalux-word-source-meta": "s60",
221
+ "stalux-word-source-text": "s61"
222
+ },
223
+ "variables": {
224
+ "--accent-20p": "--s0",
225
+ "--accent-30p": "--s1",
226
+ "--accent-40p": "--s2",
227
+ "--accent-50p": "--s3",
228
+ "--accent-60p": "--s4",
229
+ "--accent-70p": "--s5",
230
+ "--accent-80p": "--s6",
231
+ "--accent-85p": "--s7",
232
+ "--accent-90p": "--s8",
233
+ "--archive-estimate": "--s9",
234
+ "--archive-group-estimate": "--sa",
235
+ "--black-05p": "--sb",
236
+ "--black-10p": "--sc",
237
+ "--black-15p": "--sd",
238
+ "--black-20p": "--se",
239
+ "--black-30p": "--sf",
240
+ "--border-medium": "--sg",
241
+ "--border-thick": "--sh",
242
+ "--border-thin": "--si",
243
+ "--card-bg": "--sj",
244
+ "--card-border": "--sk",
245
+ "--card-box-shadow": "--sl",
246
+ "--card-box-shadow-hover": "--sm",
247
+ "--category-bg": "--sn",
248
+ "--category-bg-hover": "--so",
249
+ "--cloud-base-diameter": "--sp",
250
+ "--cloud-density": "--sq",
251
+ "--date-bg": "--sr",
252
+ "--date-border": "--ss",
253
+ "--dot": "--st",
254
+ "--easing-bounce": "--su",
255
+ "--font-size-base": "--sv",
256
+ "--font-size-small": "--sw",
257
+ "--font-size-smaller": "--sx",
258
+ "--font-size-subtitle": "--sy",
259
+ "--font-size-tiny": "--sz",
260
+ "--muted-text": "--s10",
261
+ "--nav-scale": "--s11",
262
+ "--radius-full": "--s12",
263
+ "--radius-lg": "--s13",
264
+ "--radius-md": "--s14",
265
+ "--radius-sm": "--s15",
266
+ "--shadow-dark": "--s16",
267
+ "--shadow-lg": "--s17",
268
+ "--shadow-md": "--s18",
269
+ "--shadow-raised-hover": "--s19",
270
+ "--shadow-sidebar": "--s1a",
271
+ "--shadow-sm": "--s1b",
272
+ "--shadow-xl": "--s1c",
273
+ "--space-2xl": "--s1d",
274
+ "--space-2xs": "--s1e",
275
+ "--space-3xl": "--s1f",
276
+ "--space-lg": "--s1g",
277
+ "--space-md": "--s1h",
278
+ "--space-sm": "--s1i",
279
+ "--space-xl": "--s1j",
280
+ "--space-xs": "--s1k",
281
+ "--stalux-accent-color": "--s1l",
282
+ "--stalux-accent-rgb": "--s1m",
283
+ "--stalux-bg-color": "--s1n",
284
+ "--stalux-bg-filter": "--s1o",
285
+ "--stalux-text-shadow": "--s1p",
286
+ "--surface-glass": "--s1q",
287
+ "--surface-glass-shadow": "--s1r",
288
+ "--tag-bg": "--s1s",
289
+ "--tag-bg-hover": "--s1t",
290
+ "--tl-line": "--s1u",
291
+ "--tl-pad": "--s1v",
292
+ "--transition-fast": "--s1w",
293
+ "--transition-medium": "--s1x",
294
+ "--transition-normal": "--s1y",
295
+ "--transition-slow": "--s1z",
296
+ "--transition-slower": "--s20",
297
+ "--transition-slowest": "--s21",
298
+ "--un-rotate": "--s22",
299
+ "--un-rotate-x": "--s23",
300
+ "--un-rotate-y": "--s24",
301
+ "--un-rotate-z": "--s25",
302
+ "--un-scale-x": "--s26",
303
+ "--un-scale-y": "--s27",
304
+ "--un-scale-z": "--s28",
305
+ "--un-skew-x": "--s29",
306
+ "--un-skew-y": "--s2a",
307
+ "--un-translate-x": "--s2b",
308
+ "--un-translate-y": "--s2c",
309
+ "--un-translate-z": "--s2d",
310
+ "--updated-bg": "--s2e",
311
+ "--updated-border": "--s2f",
312
+ "--white-05p": "--s2g",
313
+ "--white-10p": "--s2h",
314
+ "--white-15p": "--s2i",
315
+ "--white-20p": "--s2j",
316
+ "--white-30p": "--s2k",
317
+ "--white-50p": "--s2l",
318
+ "--white-60p": "--s2m",
319
+ "--white-70p": "--s2n",
320
+ "--white-75p": "--s2o",
321
+ "--white-78p": "--s2p",
322
+ "--white-80p": "--s2q",
323
+ "--white-85p": "--s2r",
324
+ "--white-90p": "--s2s",
325
+ "--white-95p": "--s2t",
326
+ "--white-full": "--s2u"
327
+ },
328
+ "animations": {
329
+ "fadeInUpComment": "k0",
330
+ "spin": "k1",
331
+ "stalux-article-enter": "k2",
332
+ "stalux-article-enter-back": "k3",
333
+ "stalux-cursor-blink": "k4",
334
+ "stalux-link-avatar-spin": "k5",
335
+ "stalux-page-enter": "k6",
336
+ "stalux-page-enter-back": "k7",
337
+ "stalux-page-exit": "k8",
338
+ "stalux-post-content-reveal": "k9",
339
+ "stalux-random-spin": "ka",
340
+ "stalux-sidebar-left-back-in": "kb",
341
+ "stalux-sidebar-left-back-out": "kc",
342
+ "stalux-sidebar-left-in": "kd",
343
+ "stalux-sidebar-left-out": "ke",
344
+ "stalux-sidebar-right-back-in": "kf",
345
+ "stalux-sidebar-right-back-out": "kg",
346
+ "stalux-sidebar-right-in": "kh",
347
+ "stalux-sidebar-right-out": "ki",
348
+ "stalux-social-stalux-social-arrive": "kj",
349
+ "stalux-taxonomy-enter": "kk",
350
+ "stalux-taxonomy-enter-back": "kl",
351
+ "stalux-word-word-glow": "km"
352
+ }
353
+ };
@@ -89,11 +89,17 @@ const routeAnimation = getRouteAnimation(routeKind);
89
89
  )}
90
90
  <div
91
91
  class="bg-layer bg-a"
92
+ data-stalux-background="a"
92
93
  style="opacity: 1;"
93
94
  transition:persist="stalux-bg-a"
94
95
  aria-hidden="true"
95
96
  ></div>
96
- <div class="bg-layer bg-b" transition:persist="stalux-bg-b" aria-hidden="true"></div>
97
+ <div
98
+ class="bg-layer bg-b"
99
+ data-stalux-background="b"
100
+ transition:persist="stalux-bg-b"
101
+ aria-hidden="true"
102
+ ></div>
97
103
  <main
98
104
  class="stalux-main"
99
105
  data-stalux-route={routeKind}
@@ -29,7 +29,7 @@ import { getSiteData } from "@utils/config-utils";
29
29
  <h1 class="stalux-home-title stalux-u-text-center">{siteTitle}</h1>
30
30
  <h2
31
31
  class="sr-only"
32
- style="position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;"
32
+ style="position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0;"
33
33
  >
34
34
  {t("ai.about")}
35
35
  </h2>
@@ -34,7 +34,7 @@ const backgroundImages: string[] = window.__STALUX_BG_URLS__?.length
34
34
  : BACKGROUND_URLS;
35
35
 
36
36
  function getLayerEl(layer: "a" | "b"): HTMLElement | null {
37
- return document.querySelector(`.bg-layer.bg-${layer}`);
37
+ return document.querySelector(`[data-stalux-background="${layer}"]`);
38
38
  }
39
39
 
40
40
  function setLayerOpacity(layer: "a" | "b", opacity: number): void {
@@ -1,4 +1,4 @@
1
- import { getRouteKind } from "@utils/view-transitions";
1
+ import { getRouteKind } from "@utils/public-routes";
2
2
  import { createClientLogger } from "./logger";
3
3
 
4
4
  const logger = createClientLogger("view-transitions");
@@ -14,8 +14,6 @@
14
14
  font-family:
15
15
  var(--font-body), "Noto Sans SC", "Noto Sans CJK SC", system-ui, -apple-system,
16
16
  sans-serif;
17
- -webkit-font-smoothing: antialiased;
18
- -moz-osx-font-smoothing: grayscale;
19
17
  text-rendering: optimizeLegibility;
20
18
  }
21
19
 
@@ -48,7 +46,7 @@
48
46
  }
49
47
 
50
48
  /* 下划线动画 */
51
- a:not(.a-none):not([class*="card"]):not(.stalux-nav-link)::after {
49
+ a:not(.a-none):not([data-stalux-card]):not(.stalux-nav-link)::after {
52
50
  content: "";
53
51
  position: absolute;
54
52
  left: 0;
@@ -61,12 +59,12 @@
61
59
  transition: transform 0.25s cubic-bezier(0.25, 0.9, 0.2, 1);
62
60
  pointer-events: none;
63
61
  }
64
- a:not(.a-none):not([class*="card"]):not(.stalux-nav-link):focus-visible::after,
65
- a:not(.a-none):not([class*="card"]):not(.stalux-nav-link):active::after {
62
+ a:not(.a-none):not([data-stalux-card]):not(.stalux-nav-link):focus-visible::after,
63
+ a:not(.a-none):not([data-stalux-card]):not(.stalux-nav-link):active::after {
66
64
  transform: scaleX(1);
67
65
  }
68
66
  @media (hover: hover) and (pointer: fine) {
69
- a:not(.a-none):not([class*="card"]):not(.stalux-nav-link):hover::after {
67
+ a:not(.a-none):not([data-stalux-card]):not(.stalux-nav-link):hover::after {
70
68
  transform: scaleX(1);
71
69
  }
72
70
  }
@@ -119,59 +117,59 @@
119
117
  --stalux-bg-filter: none;
120
118
  --stalux-text-shadow: var(--stalux-accent-color) 0.08rem 0.08rem 0.18rem;
121
119
  --stalux-accent-color: #eab308;
122
- --stalux-accent-rgb: 234, 179, 8;
120
+ --stalux-accent-rgb: 234 179 8;
123
121
  --surface-glass: var(--black-05p);
124
122
  --surface-glass-shadow: var(--shadow-sidebar);
125
123
 
126
124
  /* 卡片和标签颜色 Token(可在这里统一调整主题色/透明度) */
127
125
  --card-bg: var(--surface-glass);
128
- --card-border: rgba(255, 255, 255, 0.1);
129
- --card-box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08);
130
- --card-box-shadow-hover: 0 14px 28px rgba(0, 0, 0, 0.12);
126
+ --card-border: rgb(255 255 255 / 0.1);
127
+ --card-box-shadow: 0 10px 24px rgb(0 0 0 / 0.08);
128
+ --card-box-shadow-hover: 0 14px 28px rgb(0 0 0 / 0.12);
131
129
 
132
- --tag-bg: rgba(255, 255, 255, 0.12);
133
- --tag-bg-hover: rgba(255, 255, 255, 0.18);
134
- --category-bg: rgba(255, 255, 255, 0.08);
135
- --category-bg-hover: rgba(255, 255, 255, 0.14);
130
+ --tag-bg: rgb(255 255 255 / 0.12);
131
+ --tag-bg-hover: rgb(255 255 255 / 0.18);
132
+ --category-bg: rgb(255 255 255 / 0.08);
133
+ --category-bg-hover: rgb(255 255 255 / 0.14);
136
134
 
137
- --date-bg: rgba(66, 160, 255, 0.18);
138
- --date-border: rgba(66, 160, 255, 0.25);
139
- --updated-bg: rgba(255, 201, 71, 0.2);
140
- --updated-border: rgba(255, 201, 71, 0.3);
135
+ --date-bg: rgb(66 160 255 / 0.18);
136
+ --date-border: rgb(66 160 255 / 0.25);
137
+ --updated-bg: rgb(255 201 71 / 0.2);
138
+ --updated-border: rgb(255 201 71 / 0.3);
141
139
 
142
140
  /* 常用颜色值 */
143
141
  --white-full: #ffffff;
144
- --white-95p: rgba(255, 255, 255, 0.95);
145
- --white-90p: rgba(255, 255, 255, 0.9);
146
- --white-85p: rgba(255, 255, 255, 0.85);
147
- --white-80p: rgba(255, 255, 255, 0.9);
148
- --white-78p: rgba(255, 255, 255, 0.78);
149
- --white-75p: rgba(255, 255, 255, 0.75);
150
- --white-70p: rgba(255, 255, 255, 0.86);
151
- --white-60p: rgba(255, 255, 255, 0.6);
152
- --white-50p: rgba(255, 255, 255, 0.5);
153
- --white-30p: rgba(255, 255, 255, 0.3);
154
- --white-20p: rgba(255, 255, 255, 0.2);
155
- --white-15p: rgba(255, 255, 255, 0.15);
156
- --white-10p: rgba(255, 255, 255, 0.1);
157
- --white-05p: rgba(255, 255, 255, 0.05);
142
+ --white-95p: rgb(255 255 255 / 0.95);
143
+ --white-90p: rgb(255 255 255 / 0.9);
144
+ --white-85p: rgb(255 255 255 / 0.85);
145
+ --white-80p: rgb(255 255 255 / 0.9);
146
+ --white-78p: rgb(255 255 255 / 0.78);
147
+ --white-75p: rgb(255 255 255 / 0.75);
148
+ --white-70p: rgb(255 255 255 / 0.86);
149
+ --white-60p: rgb(255 255 255 / 0.6);
150
+ --white-50p: rgb(255 255 255 / 0.5);
151
+ --white-30p: rgb(255 255 255 / 0.3);
152
+ --white-20p: rgb(255 255 255 / 0.2);
153
+ --white-15p: rgb(255 255 255 / 0.15);
154
+ --white-10p: rgb(255 255 255 / 0.1);
155
+ --white-05p: rgb(255 255 255 / 0.05);
158
156
 
159
- --black-30p: rgba(0, 0, 0, 0.3);
160
- --black-20p: rgba(0, 0, 0, 0.2);
161
- --black-15p: rgba(0, 0, 0, 0.15);
162
- --black-10p: rgba(0, 0, 0, 0.1);
163
- --black-05p: rgba(0, 0, 0, 0.05);
157
+ --black-30p: rgb(0 0 0 / 0.3);
158
+ --black-20p: rgb(0 0 0 / 0.2);
159
+ --black-15p: rgb(0 0 0 / 0.15);
160
+ --black-10p: rgb(0 0 0 / 0.1);
161
+ --black-05p: rgb(0 0 0 / 0.05);
164
162
 
165
163
  /* 强调色变体 */
166
- --accent-90p: rgba(var(--stalux-accent-rgb), 0.9);
167
- --accent-85p: rgba(var(--stalux-accent-rgb), 0.85);
168
- --accent-80p: rgba(var(--stalux-accent-rgb), 0.8);
169
- --accent-70p: rgba(var(--stalux-accent-rgb), 0.7);
170
- --accent-60p: rgba(var(--stalux-accent-rgb), 0.6);
171
- --accent-50p: rgba(var(--stalux-accent-rgb), 0.5);
172
- --accent-40p: rgba(var(--stalux-accent-rgb), 0.4);
173
- --accent-30p: rgba(var(--stalux-accent-rgb), 0.3);
174
- --accent-20p: rgba(var(--stalux-accent-rgb), 0.2);
164
+ --accent-90p: rgb(var(--stalux-accent-rgb) / 0.9);
165
+ --accent-85p: rgb(var(--stalux-accent-rgb) / 0.85);
166
+ --accent-80p: rgb(var(--stalux-accent-rgb) / 0.8);
167
+ --accent-70p: rgb(var(--stalux-accent-rgb) / 0.7);
168
+ --accent-60p: rgb(var(--stalux-accent-rgb) / 0.6);
169
+ --accent-50p: rgb(var(--stalux-accent-rgb) / 0.5);
170
+ --accent-40p: rgb(var(--stalux-accent-rgb) / 0.4);
171
+ --accent-30p: rgb(var(--stalux-accent-rgb) / 0.3);
172
+ --accent-20p: rgb(var(--stalux-accent-rgb) / 0.2);
175
173
 
176
174
  /* 常用过渡和动画 */
177
175
  --transition-fast: 0.18s ease;
@@ -200,19 +198,17 @@
200
198
  --radius-full: 9999px;
201
199
 
202
200
  /* 常用阴影 */
203
- --shadow-sm: 0 2px 5px rgba(0, 0, 0, 0.1);
204
- --shadow-md: 0 6px 16px rgba(0, 0, 0, 0.2);
205
- --shadow-lg: 0 8px 20px rgba(0, 0, 0, 0.3);
206
- --shadow-xl: 0 12px 26px rgba(0, 0, 0, 0.28);
201
+ --shadow-sm: 0 2px 5px rgb(0 0 0 / 0.1);
202
+ --shadow-md: 0 6px 16px rgb(0 0 0 / 0.2);
203
+ --shadow-lg: 0 8px 20px rgb(0 0 0 / 0.3);
204
+ --shadow-xl: 0 12px 26px rgb(0 0 0 / 0.28);
207
205
  --shadow-sidebar:
208
- 0 16px 20px -12px rgba(0, 0, 0, 0.84),
209
- 10px 4px 16px -12px rgba(0, 0, 0, 0.58),
210
- -10px 4px 16px -12px rgba(0, 0, 0, 0.58);
206
+ 0 16px 20px -12px rgb(0 0 0 / 0.84), 10px 4px 16px -12px rgb(0 0 0 / 0.58),
207
+ -10px 4px 16px -12px rgb(0 0 0 / 0.58);
211
208
  --shadow-raised-hover:
212
- 0 20px 24px -13px rgba(0, 0, 0, 0.9),
213
- 12px 5px 18px -13px rgba(0, 0, 0, 0.68),
214
- -12px 5px 18px -13px rgba(0, 0, 0, 0.68);
215
- --shadow-dark: rgba(0, 0, 0, 0.753);
209
+ 0 20px 24px -13px rgb(0 0 0 / 0.9), 12px 5px 18px -13px rgb(0 0 0 / 0.68),
210
+ -12px 5px 18px -13px rgb(0 0 0 / 0.68);
211
+ --shadow-dark: rgb(0 0 0 / 0.753);
216
212
 
217
213
  /* 语义化颜色 */
218
214
  --muted-text: #bbb;
@@ -288,10 +284,9 @@
288
284
  padding: var(--space-lg) var(--space-md);
289
285
  text-align: center;
290
286
  color: var(--muted-text);
291
- background: linear-gradient(180deg, rgba(12, 14, 18, 0.18), rgba(12, 14, 18, 0.72));
287
+ background: linear-gradient(180deg, rgb(12 14 18 / 0.18), rgb(12 14 18 / 0.72));
292
288
  border-top: 1px solid var(--white-10p);
293
289
  backdrop-filter: blur(16px);
294
- -webkit-backdrop-filter: blur(16px);
295
290
  }
296
291
  }
297
292
 
@@ -6,8 +6,6 @@
6
6
  font-size: var(--font-size-base);
7
7
  line-height: 1.75;
8
8
  color: var(--white-85p);
9
- -webkit-font-smoothing: antialiased;
10
- -moz-osx-font-smoothing: grayscale;
11
9
  text-rendering: optimizeLegibility;
12
10
  }
13
11
 
@@ -99,7 +97,7 @@
99
97
 
100
98
  .stalux-prose mark {
101
99
  color: inherit;
102
- background-color: rgba(255, 217, 102, 0.25);
100
+ background-color: rgb(255 217 102 / 0.25);
103
101
  padding: 0.1em 0.2em;
104
102
  border-radius: 2px;
105
103
  }
@@ -127,9 +125,7 @@
127
125
  transition:
128
126
  color var(--transition-fast),
129
127
  border-bottom-color var(--transition-fast);
130
- overflow-wrap: break-word;
131
- word-wrap: break-word;
132
- word-break: break-word;
128
+ overflow-wrap: anywhere;
133
129
  }
134
130
  .stalux-prose a:focus-visible {
135
131
  color: var(--accent-90p);
@@ -147,10 +143,10 @@
147
143
  var(--font-code), "JetBrains Mono", "Fira Code", "Consolas", "Courier New", monospace;
148
144
  font-size: 0.88em;
149
145
  color: #ff92d0;
150
- background-color: rgba(255, 121, 198, 0.15);
146
+ background-color: rgb(255 121 198 / 0.15);
151
147
  padding: 0.2em 0.4em;
152
148
  border-radius: 4px;
153
- border: 1px solid rgba(255, 121, 198, 0.25);
149
+ border: 1px solid rgb(255 121 198 / 0.25);
154
150
  }
155
151
 
156
152
  .stalux-prose pre {
@@ -258,7 +254,6 @@
258
254
  margin: var(--space-xl) 0;
259
255
  box-shadow: var(--shadow-md);
260
256
  border-radius: 8px;
261
- -webkit-overflow-scrolling: touch;
262
257
  }
263
258
 
264
259
  .stalux-prose th,