@xingwangzhe/stalux 1.30.2 → 1.30.4

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.
package/README.md CHANGED
@@ -105,6 +105,8 @@ bun run dev
105
105
 
106
106
  Stalux ships with LXGW WenKai and a variable code font (Google Sans Code). During the build, the Rust/N-API package `@xingwangzhe/cjk-font-split-native` creates one content-addressed WOFF2 subset from each page's visible or expandable CJK text. The browser downloads only the page subset; repeated character sets share the same file. CJK text inside code and MathML is covered too.
107
107
 
108
+ Arabic digits `0-9` are always reserved in every subset (`RESERVED_GLYPHS`), even on pages without any visible number. Digits produced at runtime by client scripts — clocks, counters, dates, injected values — never appear in the built HTML, so reserving them keeps numbers from falling back to a system font. Callers can append more characters through the optional `extraChars` argument of `writePageFontSubset`.
109
+
108
110
  The subset CSS uses an exact per-character `unicode-range` and `font-display: swap`, so visible text and the downloaded glyphs stay aligned. The variable code font continues to use Astro's local Fonts API.
109
111
 
110
112
  The persistent BLAKE3 cache key includes font bytes, face index, normalized character set, and algorithm version. Cache files live under `node_modules/.astro/` and are reused across pages and incremental builds. Font inputs are read locally; builds do not fetch fonts from the network.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xingwangzhe/stalux",
3
- "version": "1.30.2",
3
+ "version": "1.30.4",
4
4
  "description": "A powerful, modern Astro blog theme — use as template or install as plugin",
5
5
  "keywords": [
6
6
  "astro",
@@ -20,35 +20,37 @@ const siteConfig = (configEntries.find((e) => e.id === "site")?.data ?? {}) as R
20
20
  const { t } = createTranslator((siteConfig.lang as string) || "zh-CN");
21
21
  ---
22
22
 
23
- <article class="stalux-category-card">
24
- <a
25
- href={`/categories/${props.category.name}/`}
26
- class="stalux-categoryheader a-none"
27
- data-astro-prefetch
28
- >
29
- <div class="stalux-category-icon">
30
- <svg
31
- aria-hidden="true"
32
- xmlns="http://www.w3.org/2000/svg"
33
- viewBox="0 0 24 24"
34
- width="24"
35
- height="24"
36
- fill="none"
37
- stroke="currentColor"
38
- stroke-width="2"
39
- stroke-linecap="round"
40
- stroke-linejoin="round"
41
- >
42
- <path
43
- d="M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"
44
- ></path>
45
- </svg>
46
- </div>
47
- <div class="stalux-category-content">
48
- <h2 class="categoryName">{props.category.name}</h2>
49
- <div class="categoryCount">
50
- {t("categories.postCount", { n: props.category.count })}
23
+ <div class="stalux-category-shell">
24
+ <article class="stalux-category-card">
25
+ <a
26
+ href={`/categories/${props.category.name}/`}
27
+ class="stalux-categoryheader a-none"
28
+ data-astro-prefetch
29
+ >
30
+ <div class="stalux-category-icon">
31
+ <svg
32
+ aria-hidden="true"
33
+ xmlns="http://www.w3.org/2000/svg"
34
+ viewBox="0 0 24 24"
35
+ width="24"
36
+ height="24"
37
+ fill="none"
38
+ stroke="currentColor"
39
+ stroke-width="2"
40
+ stroke-linecap="round"
41
+ stroke-linejoin="round"
42
+ >
43
+ <path
44
+ d="M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"
45
+ ></path>
46
+ </svg>
51
47
  </div>
52
- </div>
53
- </a>
54
- </article>
48
+ <div class="stalux-category-content">
49
+ <h2 class="categoryName">{props.category.name}</h2>
50
+ <div class="categoryCount">
51
+ {t("categories.postCount", { n: props.category.count })}
52
+ </div>
53
+ </div>
54
+ </a>
55
+ </article>
56
+ </div>
@@ -29,18 +29,20 @@ const desc = link.description ?? "";
29
29
  const icon = link.icon ?? link.avatar ?? "/favicon.ico";
30
30
  ---
31
31
 
32
- <a class="stalux-link-card" href={href} target="_blank" rel="noopener">
33
- <div class="stalux-link-card-avatar">
34
- <img
35
- src={icon}
36
- alt={t("links.iconAlt", { name: title })}
37
- loading="lazy"
38
- width="80"
39
- height="80"
40
- >
41
- </div>
42
- <div class="stalux-link-card-content">
43
- <h2 class="stalux-link-card-title">{title}</h2>
44
- {desc && <p class="stalux-link-card-description">{desc}</p>}
32
+ <a class="stalux-link-shell a-none" href={href} target="_blank" rel="noopener">
33
+ <div class="stalux-link-card">
34
+ <div class="stalux-link-card-avatar">
35
+ <img
36
+ src={icon}
37
+ alt={t("links.iconAlt", { name: title })}
38
+ loading="lazy"
39
+ width="80"
40
+ height="80"
41
+ >
42
+ </div>
43
+ <div class="stalux-link-card-content">
44
+ <h2 class="stalux-link-card-title">{title}</h2>
45
+ {desc && <p class="stalux-link-card-description">{desc}</p>}
46
+ </div>
45
47
  </div>
46
48
  </a>
@@ -20,7 +20,7 @@ const timezone = siteConfig.timezone;
20
20
  const description = post.data.desc || "";
21
21
  ---
22
22
 
23
- <article class="block h-full text-inherit no-underline">
23
+ <article class="stalux-post-card-shell block h-full text-inherit no-underline">
24
24
  <div class="stalux-post-card stalux-u-flex stalux-u-flex-col stalux-u-w-full stalux-u-min-w-0">
25
25
  {post.data.cover && (
26
26
  <a
@@ -0,0 +1,65 @@
1
+ import { type DefaultTreeAdapterMap, parse } from "parse5";
2
+
3
+ export interface HtmlImage {
4
+ start: number;
5
+ end: number;
6
+ tag: string;
7
+ attributes: Map<string, string>;
8
+ locations: Map<string, { startOffset: number; endOffset: number }>;
9
+ body?: number;
10
+ }
11
+
12
+ /** Source ranges preserve scripts and code-copy attributes byte-for-byte. */
13
+ export function findHtmlImages(html: string): HtmlImage[] {
14
+ const images: HtmlImage[] = [];
15
+ function visit(node: DefaultTreeAdapterMap["node"], body?: number) {
16
+ if ("tagName" in node) {
17
+ if (node.tagName === "template") return;
18
+ const location = node.sourceCodeLocation;
19
+ if (
20
+ node.tagName === "section" &&
21
+ node.attrs.some((attr) => attr.name === "data-pagefind-body")
22
+ )
23
+ body = location?.startOffset;
24
+ if (node.tagName === "img" && location?.startTag) {
25
+ const { startOffset: start, endOffset: end } = location.startTag;
26
+ images.push({
27
+ start,
28
+ end,
29
+ tag: html.slice(start, end),
30
+ attributes: new Map(node.attrs.map((attr) => [attr.name, attr.value])),
31
+ locations: new Map(Object.entries(location.attrs ?? {})),
32
+ body,
33
+ });
34
+ }
35
+ }
36
+ if ("childNodes" in node) for (const child of node.childNodes) visit(child, body);
37
+ }
38
+ visit(parse(html, { sourceCodeLocationInfo: true }));
39
+ return images.sort((left, right) => left.start - right.start);
40
+ }
41
+
42
+ export function updateImageTag(image: HtmlImage, updates: Record<string, string>): string {
43
+ let tag = image.tag;
44
+ const edits: Array<{ start: number; end: number; value: string }> = [];
45
+ const additions: string[] = [];
46
+ for (const [name, value] of Object.entries(updates)) {
47
+ const attribute = `${name}="${value.replaceAll("&", "&amp;").replaceAll('"', "&quot;")}"`;
48
+ const location = image.locations.get(name);
49
+ if (location)
50
+ edits.push({
51
+ start: location.startOffset - image.start,
52
+ end: location.endOffset - image.start,
53
+ value: attribute,
54
+ });
55
+ else additions.push(attribute);
56
+ }
57
+ for (const edit of edits.sort((left, right) => right.start - left.start))
58
+ tag = tag.slice(0, edit.start) + edit.value + tag.slice(edit.end);
59
+ if (additions.length)
60
+ tag = tag.replace(
61
+ /\s*\/?\s*>$/,
62
+ (ending) => ` ${additions.join(" ")}${ending.trimStart()}`,
63
+ );
64
+ return tag;
65
+ }
@@ -1,5 +1,6 @@
1
1
  import { readFile } from "node:fs/promises";
2
2
  import path from "node:path";
3
+ import { findHtmlImages, updateImageTag } from "./html-images";
3
4
 
4
5
  export type ImageDimensions = { width: number; height: number };
5
6
 
@@ -74,12 +75,11 @@ export function readImageDimensions(data: Buffer): ImageDimensions | undefined {
74
75
  export async function addLocalImageDimensions(html: string, outputDir: string): Promise<string> {
75
76
  const dimensionsCache = new Map<string, Promise<ImageDimensions | undefined>>();
76
77
  const root = path.resolve(outputDir);
77
- const tags = [...html.matchAll(/<img\b[^>]*>/gi)];
78
+ const tags = findHtmlImages(html);
78
79
 
79
- for (const match of tags) {
80
- const tag = match[0];
81
- if (!tag || (/\swidth=/i.test(tag) && /\sheight=/i.test(tag))) continue;
82
- const src = tag.match(/\ssrc="([^"]+)"/i)?.[1];
80
+ for (const image of tags.reverse()) {
81
+ if (image.attributes.has("width") && image.attributes.has("height")) continue;
82
+ const src = image.attributes.get("src");
83
83
  if (!src) continue;
84
84
 
85
85
  let filePath: string;
@@ -102,21 +102,11 @@ export async function addLocalImageDimensions(html: string, outputDir: string):
102
102
  const size = await dimensions;
103
103
  if (!size || size.width <= 0 || size.height <= 0) continue;
104
104
 
105
- const hasWidth = /\swidth=/i.test(tag);
106
- const hasHeight = /\sheight=/i.test(tag);
107
- const updated =
108
- hasWidth && !hasHeight
109
- ? tag.replace(/\s*\/?\s*>$/, (ending) => ` height="${size.height}"${ending}`)
110
- : hasHeight && !hasWidth
111
- ? tag.replace(
112
- /\sheight="[^"]*"/i,
113
- ` width="${size.width}" height="${size.height}"`,
114
- )
115
- : tag.replace(
116
- /\s*\/?\s*>$/,
117
- (ending) => ` width="${size.width}" height="${size.height}"${ending}`,
118
- );
119
- html = html.replace(tag, updated);
105
+ const updates: Record<string, string> = {};
106
+ if (!image.attributes.has("width")) updates.width = String(size.width);
107
+ if (!image.attributes.has("height")) updates.height = String(size.height);
108
+ const updated = updateImageTag(image, updates);
109
+ html = html.slice(0, image.start) + updated + html.slice(image.end);
120
110
  }
121
111
  return html;
122
112
  }
@@ -16,6 +16,7 @@ import type { HastVisitorContext, MdastNode, MdastVisitorContext } from "satteri
16
16
  * - 数学公式由 satteri-temml 插件直接输出 MathML,无需额外标记
17
17
  */
18
18
  import { defineHastPlugin, defineMdastPlugin } from "satteri";
19
+ import { findHtmlImages, updateImageTag } from "../internal/html-images";
19
20
  import { logDetail } from "../utils/diagnostics";
20
21
 
21
22
  declare module "satteri" {
@@ -246,44 +247,25 @@ export function applyImageLoadingPolicy(
246
247
  }
247
248
 
248
249
  export function applyHtmlImageLoadingPolicy(html: string): string {
249
- return html.replace(
250
- /<section\b(?=[^>]*\bdata-pagefind-body\b)[^>]*>[\s\S]*?<\/section>/gi,
251
- (body) => {
252
- let imageIndex = 0;
253
- return body.replace(/<img\b[^>]*>/gi, (tag) => {
254
- const isFirstBodyImage = imageIndex++ === 0;
255
- const attributes = new Map<string, string>();
256
- for (const match of tag.matchAll(/\s([\w:-]+)(?:="([^"]*)")?/g)) {
257
- const name = match[1];
258
- if (name) attributes.set(name.toLowerCase(), match[2] ?? "");
259
- }
260
-
261
- const updates: Record<string, string> = {
262
- decoding: attributes.get("decoding") || "async",
263
- loading: isFirstBodyImage ? "eager" : "lazy",
264
- };
265
- if (isFirstBodyImage) {
266
- updates.fetchpriority = "high";
267
- } else if (attributes.get("fetchpriority") === "high") {
268
- updates.fetchpriority = "auto";
269
- }
270
-
271
- let result = tag;
272
- for (const [name, value] of Object.entries(updates)) {
273
- const pattern = new RegExp(`\\s${name}(?:="[^"]*")?`, "i");
274
- if (pattern.test(result)) {
275
- result = result.replace(pattern, ` ${name}="${value}"`);
276
- } else {
277
- result = result.replace(
278
- /\s*\/?>$/,
279
- (ending) => ` ${name}="${value}"${ending.trimStart()}`,
280
- );
281
- }
282
- }
283
- return result;
284
- });
285
- },
286
- );
250
+ const firstSeen = new Set<number>();
251
+ const changes = findHtmlImages(html)
252
+ .filter((image) => image.body !== undefined)
253
+ .map((image) => {
254
+ const body = image.body as number;
255
+ const first = !firstSeen.has(body);
256
+ firstSeen.add(body);
257
+ const updates: Record<string, string> = {
258
+ decoding: image.attributes.get("decoding") || "async",
259
+ loading: first ? "eager" : "lazy",
260
+ };
261
+ if (first) updates.fetchpriority = "high";
262
+ else if (image.attributes.get("fetchpriority") === "high")
263
+ updates.fetchpriority = "auto";
264
+ return { image, tag: updateImageTag(image, updates) };
265
+ });
266
+ for (const { image, tag } of changes.reverse())
267
+ html = html.slice(0, image.start) + tag + html.slice(image.end);
268
+ return html;
287
269
  }
288
270
 
289
271
  type FeatureFlagsResult = {
@@ -48,7 +48,7 @@
48
48
  }
49
49
 
50
50
  /* 下划线动画 */
51
- a::after {
51
+ a:not(.a-none):not([class*="card"]):not(.stalux-nav-link)::after {
52
52
  content: "";
53
53
  position: absolute;
54
54
  left: 0;
@@ -61,19 +61,27 @@
61
61
  transition: transform 0.25s cubic-bezier(0.25, 0.9, 0.2, 1);
62
62
  pointer-events: none;
63
63
  }
64
-
65
- a:hover::after,
66
- a:focus-visible::after,
67
- a:active::after {
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 {
68
66
  transform: scaleX(1);
69
67
  }
68
+ @media (hover: hover) and (pointer: fine) {
69
+ a:not(.a-none):not([class*="card"]):not(.stalux-nav-link):hover::after {
70
+ transform: scaleX(1);
71
+ }
72
+ }
70
73
 
71
- a:hover,
72
74
  a:active,
73
75
  a:focus-visible {
74
76
  text-decoration: none;
75
77
  /* 保持颜色不变,避免 hover 时颜色跳变 */
76
78
  }
79
+ @media (hover: hover) and (pointer: fine) {
80
+ a:hover {
81
+ text-decoration: none;
82
+ /* 保持颜色不变,避免 hover 时颜色跳变 */
83
+ }
84
+ }
77
85
 
78
86
  a:focus {
79
87
  outline: none;
@@ -240,9 +248,10 @@
240
248
  border-radius: 4px;
241
249
  transition: background 0.3s ease-out;
242
250
  }
243
-
244
- ::-webkit-scrollbar-thumb:hover {
245
- background: #5a5a5a;
251
+ @media (hover: hover) and (pointer: fine) {
252
+ ::-webkit-scrollbar-thumb:hover {
253
+ background: #5a5a5a;
254
+ }
246
255
  }
247
256
 
248
257
  ::-webkit-scrollbar-corner {
@@ -285,3 +294,81 @@
285
294
  -webkit-backdrop-filter: blur(16px);
286
295
  }
287
296
  }
297
+
298
+ @layer components {
299
+ .stalux-main,
300
+ .stalux-post-page,
301
+ .stalux-post-layout > *,
302
+ .stalux-link-card-content,
303
+ .stalux-word-list-item,
304
+ .stalux-word-card {
305
+ min-width: 0;
306
+ max-width: 100%;
307
+ box-sizing: border-box;
308
+ }
309
+ .stalux-main {
310
+ overflow-wrap: anywhere;
311
+ }
312
+ .stalux-link-shell {
313
+ display: block;
314
+ min-width: 0;
315
+ max-width: 100%;
316
+ }
317
+ .stalux-link-card {
318
+ box-sizing: border-box;
319
+ max-width: 100%;
320
+ width: 100%;
321
+ }
322
+ .stalux-category-shell {
323
+ min-width: 0;
324
+ width: 100%;
325
+ }
326
+ .stalux-author-figure > a {
327
+ display: inline-block;
328
+ flex-shrink: 0;
329
+ }
330
+ .stalux-author-figure img {
331
+ display: block;
332
+ }
333
+ .stalux-post-card-shell,
334
+ .stalux-category-shell,
335
+ .stalux-link-shell {
336
+ position: relative;
337
+ }
338
+ .stalux-post-card,
339
+ .stalux-category-card,
340
+ .stalux-link-card,
341
+ .stalux-word-card {
342
+ transition:
343
+ transform 200ms ease,
344
+ background-color 200ms ease,
345
+ border-color 200ms ease,
346
+ box-shadow 200ms ease;
347
+ }
348
+ :is(.stalux-post-card-shell, .stalux-category-shell):focus-within > *,
349
+ .stalux-link-shell:focus-visible > * {
350
+ box-shadow: var(--card-box-shadow-hover);
351
+ }
352
+ :is(button, summary, [role="button"]):focus-visible {
353
+ outline: 2px solid var(--stalux-accent-color);
354
+ outline-offset: 3px;
355
+ }
356
+ @media (prefers-reduced-motion: reduce) {
357
+ .stalux-main *,
358
+ .stalux-main *::before,
359
+ .stalux-main *::after {
360
+ animation: none !important;
361
+ transition-duration: 0ms !important;
362
+ }
363
+ .stalux-post-card,
364
+ .stalux-category-card,
365
+ .stalux-link-card,
366
+ .stalux-link-card-content,
367
+ .stalux-card-post-cover img,
368
+ .stalux-category-icon,
369
+ .stalux-author-figure img,
370
+ .stalux-link-card-avatar img {
371
+ transform: none !important;
372
+ }
373
+ }
374
+ }
@@ -125,18 +125,22 @@
125
125
  color: var(--accent-80p);
126
126
  border-bottom: 2px solid transparent;
127
127
  transition:
128
- color var(--transition-fast) ease,
129
- border-bottom-color var(--transition-fast) ease;
128
+ color var(--transition-fast),
129
+ border-bottom-color var(--transition-fast);
130
130
  overflow-wrap: break-word;
131
131
  word-wrap: break-word;
132
132
  word-break: break-word;
133
133
  }
134
-
135
- .stalux-prose a:hover,
136
134
  .stalux-prose a:focus-visible {
137
135
  color: var(--accent-90p);
138
136
  border-bottom-color: var(--accent-60p);
139
137
  }
138
+ @media (hover: hover) and (pointer: fine) {
139
+ .stalux-prose a:hover {
140
+ color: var(--accent-90p);
141
+ border-bottom-color: var(--accent-60p);
142
+ }
143
+ }
140
144
 
141
145
  .stalux-prose code {
142
146
  font-family:
@@ -271,9 +275,10 @@
271
275
  .stalux-prose tr:nth-child(even) td {
272
276
  background-color: var(--white-05p);
273
277
  }
274
-
275
- .stalux-prose tr:hover td {
276
- background-color: var(--black-10p);
278
+ @media (hover: hover) and (pointer: fine) {
279
+ .stalux-prose tr:hover td {
280
+ background-color: var(--black-10p);
281
+ }
277
282
  }
278
283
 
279
284
  .stalux-prose table code {
@@ -287,16 +292,16 @@
287
292
  border-radius: 8px;
288
293
  box-shadow: var(--shadow-lg);
289
294
  transition:
290
- transform var(--transition-normal) ease,
291
- box-shadow var(--transition-normal) ease;
295
+ transform var(--transition-normal),
296
+ box-shadow var(--transition-normal);
292
297
  }
293
-
294
- .stalux-prose img:hover {
295
- transform: scale(1.02);
296
- box-shadow: var(--shadow-xl);
298
+ @media (hover: hover) and (pointer: fine) {
299
+ .stalux-prose img:hover {
300
+ transform: none;
301
+ box-shadow: var(--shadow-xl);
302
+ }
297
303
  }
298
304
 
299
- .stalux-prose iframe,
300
305
  .stalux-prose embed,
301
306
  .stalux-prose video {
302
307
  @apply max-w-full block;
@@ -325,13 +330,17 @@
325
330
  background-color: var(--white-05p);
326
331
  border: 1px solid var(--white-10p);
327
332
  border-radius: 6px;
328
- transition: border-color var(--transition-fast) ease;
333
+ transition: border-color var(--transition-fast);
329
334
  }
330
-
331
- .stalux-prose details:hover {
332
- border-color: var(--white-20p);
335
+ @media (hover: hover) and (pointer: fine) {
336
+ .stalux-prose details:hover {
337
+ border-color: var(--white-20p);
338
+ }
333
339
  }
334
340
 
341
+ .stalux-prose canvas {
342
+ box-sizing: border-box;
343
+ }
335
344
  .stalux-prose summary {
336
345
  @apply cursor-pointer font-semibold;
337
346
  color: var(--white-90p);
@@ -469,3 +478,64 @@
469
478
  }
470
479
  }
471
480
  }
481
+
482
+ @layer components {
483
+ .stalux-prose,
484
+ .stalux-prose > *,
485
+ .stalux-prose div,
486
+ .stalux-prose .expressive-code,
487
+ .stalux-prose .expressive-code .frame {
488
+ min-width: 0;
489
+ max-width: 100%;
490
+ box-sizing: border-box;
491
+ }
492
+ .stalux-prose {
493
+ overflow-wrap: anywhere;
494
+ }
495
+ .stalux-prose a::after {
496
+ content: none;
497
+ }
498
+ .stalux-prose a {
499
+ border-bottom: 0;
500
+ text-decoration: underline;
501
+ text-decoration-color: var(--accent-50p);
502
+ text-underline-offset: 0.2em;
503
+ text-decoration-thickness: 1px;
504
+ }
505
+ .stalux-prose a:has(img) {
506
+ text-decoration: none;
507
+ }
508
+ .stalux-prose pre,
509
+ .stalux-prose table,
510
+ .stalux-prose .mermaid,
511
+ .stalux-prose math {
512
+ max-width: 100%;
513
+ overflow-x: auto;
514
+ overscroll-behavior-x: contain;
515
+ }
516
+ .stalux-prose pre,
517
+ .stalux-prose pre code {
518
+ overflow-wrap: normal;
519
+ word-break: normal;
520
+ }
521
+ .stalux-prose :is(img, video, iframe, embed, svg, canvas) {
522
+ max-width: 100%;
523
+ }
524
+ .stalux-prose :is(img, video, svg, canvas) {
525
+ height: auto;
526
+ }
527
+ .stalux-prose iframe {
528
+ display: block;
529
+ margin: var(--space-xl) auto;
530
+ border-radius: 8px;
531
+ }
532
+ .stalux-prose .mermaid svg {
533
+ max-width: none;
534
+ }
535
+ .stalux-prose canvas {
536
+ box-sizing: border-box;
537
+ }
538
+ .stalux-prose summary {
539
+ overflow-wrap: anywhere;
540
+ }
541
+ }
@@ -1,3 +1,3 @@
1
1
  @layer theme, base, components, utilities;
2
- @layer components{.stalux-article{box-shadow:var(--surface-glass-shadow);box-sizing:border-box;background:var(--surface-glass);border-radius:18px;flex-direction:column;flex:1;width:100%;min-height:100vh;padding:clamp(1.25rem,3vw,2.5rem);display:flex}.stalux-byline-author-bio{border-top:var(--border-thin) solid var(--white-10p);margin:var(--space-md) 0 0;width:100%;padding-top:var(--space-md);text-align:center;color:var(--white-70p);line-height:1.6;font-size:var(--font-size-small)}.stalux-byline-author-card{background:var(--black-05p);border-radius:var(--radius-lg);padding:var(--space-md);box-shadow:var(--card-box-shadow);flex-direction:column;display:flex}.stalux-license-box{border:var(--border-thin) solid var(--white-20p);margin:var(--space-lg) auto;border-radius:var(--radius-md);background-color:var(--black-10p);max-width:80%;padding:var(--space-lg);position:relative;overflow:hidden}.stalux-license-watermark{opacity:.15;transition:opacity var(--transition-normal);pointer-events:none;z-index:1;position:absolute;bottom:.5rem;right:.5rem}.stalux-pagination{border-top:var(--border-thin) solid var(--white-20p);border-bottom:var(--border-thin) solid var(--white-20p);margin:var(--space-lg) 0;width:100%;padding-top:var(--space-lg);padding-bottom:var(--space-lg)}.stalux-pagination-arrow{color:var(--white-70p);flex-shrink:0;justify-content:center;align-items:center;transition:translate .18s;display:flex}.stalux-pagination-label{margin-bottom:var(--space-xs);color:var(--accent-90p);font-weight:500;font-size:var(--font-size-small)}.stalux-pagination-link{background:var(--black-10p);outline:1px solid var(--white-10p);outline-offset:0;box-shadow:var(--shadow-sidebar);box-sizing:border-box;align-items:center;gap:var(--space-sm);border-radius:var(--radius-md);min-width:0;padding:var(--space-md);color:var(--white-90p);flex:1 1 0;text-decoration:none;transition:background-color .18s,outline-color .18s;display:flex;position:relative}.stalux-pagination-title{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--white-90p);font-size:var(--font-size-base);overflow:hidden}.stalux-post-article-footer{border-top:1px solid var(--white-10p);margin-top:3rem;padding-top:2rem;animation:.22s .36s both stalux-post-content-reveal}.stalux-post-article-header{border-bottom:1px solid var(--white-10p);margin-bottom:3rem;padding-bottom:2rem;animation:.22s .36s both stalux-post-content-reveal}.stalux-post-body{box-sizing:border-box;flex:1;width:min(900px,100%);max-width:100%;margin:0 auto;padding:0 1rem 2rem;animation:.22s .36s both stalux-post-content-reveal}.stalux-post-layout{box-sizing:border-box;flex:1;grid-template-columns:minmax(220px,250px) minmax(0,1fr) minmax(220px,250px);gap:clamp(1.5rem,3vw,3.5rem);width:100%;max-width:1680px;margin:0 auto;padding:1.5rem 1rem;display:grid}.stalux-post-meta-item{transition:color var(--transition-fast) ease;align-items:center;gap:.5rem;display:inline-flex}.stalux-post-meta-row{flex-basis:100%;justify-content:center;display:flex}.stalux-post-metadata{color:#ffffffb3;flex-wrap:wrap;justify-content:center;gap:1.5rem;font-size:.95rem;display:flex}.stalux-post-page-stats{border-top:1px solid var(--white-10p);color:#ffffffb3;justify-content:center;align-items:center;gap:1rem;margin-top:1rem;padding-top:.8rem;font-size:.9rem;display:flex}.stalux-post-reading-time{align-items:center;gap:.3rem;display:inline-flex}.stalux-post-source-link{background:var(--white-10p);border-top:1px solid var(--white-20p);border-right:1px solid var(--white-20p);border-left:1px solid var(--white-20p);transition:background var(--transition-fast) ease, transform var(--transition-fast) ease;border-radius:var(--radius-full,999px);color:var(--white-full);border-bottom:0;align-items:center;gap:.4rem;padding:.5rem 1.1rem;font-size:.85rem;font-weight:500;text-decoration:none;display:inline-flex}.stalux-post-taxonomy-item-column{background:var(--white-05p);border-left:var(--border-thick) solid var(--accent-60p);transition:color var(--transition-medium), transform var(--transition-medium);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:var(--space-sm) var(--space-xs);color:var(--white-80p);font-size:var(--font-size-small);text-decoration:none;display:inline-flex;transform:translate(0)}.stalux-post-taxonomy-item-pill{background:var(--white-10p);transition:color var(--transition-medium), transform var(--transition-medium);white-space:nowrap;border-radius:var(--radius-full);color:var(--white-85p);font-size:var(--font-size-smaller);border:none;padding:.4rem .8rem;text-decoration:none;display:inline-block;transform:translateY(0)}.stalux-post-taxonomy-title{border-bottom:var(--border-thin) solid var(--white-20p);padding-bottom:var(--space-sm);color:var(--white-90p);font-weight:600;font-size:var(--font-size-base);margin:0}.stalux-post-title{word-break:break-word;text-align:center;color:var(--white-full);text-shadow:var(--stalux-text-shadow);margin:0 0 1.5rem;font-size:2.5rem;font-weight:700;line-height:1.2}.stalux-random-container{transition:background-color .3s,border-color .3s}.stalux-random-header{border-bottom:2px solid #0000000d;justify-content:space-between;align-items:center;margin-bottom:1em;padding-bottom:.75em;display:flex}.stalux-random-list{flex-direction:column;gap:.75em;margin:0;padding:0;list-style-type:none;transition:opacity .3s;display:flex}.stalux-random-refresh{cursor:pointer;width:2em;height:2em;color:var(--foreground-60p,#333);background:0 0;border:none;border-radius:.375em;justify-content:center;align-items:center;padding:0;transition:color .2s;display:flex}.stalux-sidebar-container{box-shadow:var(--surface-glass-shadow);padding:var(--space-md);background:var(--surface-glass);border-radius:14px;flex-direction:column;transition:box-shadow .22s,background-color .22s;display:flex}.stalux-sidebar-right{scroll-padding-bottom:8rem}.stalux-toc-item{border-left:var(--border-thick) solid transparent;transition:color var(--transition-medium), background-color var(--transition-medium), border-left-color var(--transition-medium), transform var(--transition-medium);word-break:break-word;border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:var(--space-sm) var(--space-xs);color:var(--white-70p);line-height:1.4;font-size:var(--font-size-small);text-decoration:none;display:block}.stalux-toc-title{border-bottom:var(--border-thin) solid var(--white-20p);margin:0 0 var(--space-xs);padding-bottom:var(--space-sm);color:var(--white-90p);font-weight:600;font-size:var(--font-size-base)}.stalux-license-content{z-index:2;position:relative}.stalux-random-title{color:var(--foreground-60p,#333);margin:0;font-size:1.1em;font-weight:600}.stalux-toc-list{gap:var(--space-sm);flex-direction:column;margin:0;padding:0;list-style-type:none;display:flex}.stalux-license-title{margin-top:0;margin-bottom:var(--space-sm);color:var(--white-90p);font-size:var(--font-size-subtitle)}.stalux-post-source-link-row{justify-content:center;margin-top:1.2rem;display:flex}.stalux-byline-author-section{width:100%}.stalux-license-icon{justify-content:center;align-items:center;width:120px;height:120px;display:flex}.stalux-pagination-content{flex-direction:column;min-width:0;display:flex;overflow:hidden}.stalux-post-page{flex-direction:column;width:100%;min-height:100vh;display:flex}.stalux-byline-sidebar-container,.stalux-post-footer-content{gap:var(--space-lg);flex-direction:column;display:flex}.stalux-pagination-inner{justify-content:space-between;gap:var(--space-md);display:flex}.stalux-post-taxonomy-container{gap:var(--space-xs);flex-direction:column;display:flex}.stalux-post-taxonomy-list-column{flex-direction:column}.stalux-post-taxonomy-list-wrap{flex-wrap:wrap}.stalux-post-taxonomy-empty{padding:var(--space-md) 0;text-align:center;color:var(--white-50p);font-size:var(--font-size-small)}.stalux-random-error{color:var(--accent-60p,#e74c3c)}.stalux-toc-empty{color:var(--white-60p);font-size:var(--font-size-small)}.stalux-random-refresh:hover{color:var(--accent-60p,#06c)}.stalux-random-refresh:active{opacity:.7}.stalux-random-refresh svg{width:1em;height:1em}.stalux-random-refresh.stalux-random-rotating svg{animation:.6s linear stalux-random-spin}.stalux-random-loading,.stalux-random-error,.stalux-random-no-more{text-align:center;color:var(--foreground-60p,#666);padding:1em;font-size:.95em}.stalux-random-list>li>a{color:var(--foreground-60p,#333);word-break:break-word;background:0 0;border-radius:.375em;padding:.75em 1em;text-decoration:none;transition:color .2s,transform .2s;display:block}.stalux-random-list>li>a:hover{transform:translate(.25em)}.stalux-random-list>li>a:active{transform:translate(.125em)}.stalux-toc-item:hover{transform:translateX(calc(-1 * var(--space-sm)))}.stalux-toc-item:active,.stalux-toc-item.stalux-toc-active{color:var(--accent-90p);background-color:var(--accent-20p);border-left-color:var(--accent-80p);font-weight:500}.stalux-toc-depth-1{padding-left:var(--space-xs)}.stalux-toc-depth-2{padding-left:var(--space-lg);font-size:var(--font-size-smaller)}.stalux-toc-depth-3{font-size:var(--font-size-tiny);padding-left:2.25rem}.stalux-toc-depth-4,.stalux-toc-depth-5,.stalux-toc-depth-6{padding-left:var(--space-2xl);color:var(--white-60p);font-size:.75rem}:is(.stalux-post-taxonomy-list,.stalux-post-taxonomy-list-column,.stalux-post-taxonomy-list-wrap){gap:var(--space-sm);display:flex}.stalux-post-taxonomy-item-column:hover{transform:translate(4px)}.stalux-post-taxonomy-item-column:active{transform:translate(2px)}.stalux-post-taxonomy-item-pill:hover{transform:translateY(-2px)}.stalux-post-taxonomy-item-pill:active{transform:translateY(-1px)}:is(.stalux-sidebar,.stalux-sidebar-right){gap:var(--space-lg);width:100%;height:fit-content;max-height:calc(100vh - 40px);padding:var(--space-lg) 0;scrollbar-width:none;-ms-overflow-style:none;flex-direction:column;display:flex;position:sticky;top:20px;overflow-y:auto}.stalux-pagination-link:before,.stalux-pagination-link:after{display:none}:is(.stalux-sidebar,.stalux-sidebar-right)::-webkit-scrollbar{display:none}a.stalux-pagination-link:is(:hover,:focus-visible){background:var(--white-05p);outline-color:var(--accent-50p)}a.stalux-pagination-link:focus-visible{outline:2px solid var(--stalux-accent-color);outline-offset:3px}a.stalux-pagination-prev-post:is(:hover,:focus-visible) .stalux-pagination-arrow{translate:-2px}a.stalux-pagination-next-post:is(:hover,:focus-visible) .stalux-pagination-arrow{translate:2px}.stalux-pagination-link.stalux-pagination-disabled{pointer-events:none;opacity:.5;cursor:not-allowed;background:var(--black-15p)}.stalux-pagination-link.stalux-pagination-prev-post{text-align:left;margin-left:var(--space-xs)}.stalux-pagination-link.stalux-pagination-next-post{text-align:right;margin-right:var(--space-xs);justify-content:flex-end}.stalux-post-layout>:first-child,.stalux-post-layout>:nth-child(3){margin:0}.stalux-post-layout>:nth-child(2){min-width:0;margin:0}.stalux-post-layout :focus-visible{outline:2px solid var(--accent-80p);outline-offset:2px}.stalux-post-page-stats span{align-items:center;gap:.3rem;display:inline-flex}#stalux-post-vercount_value_page_pv{color:#ffffffb3;font-weight:600}#stalux-post-vercount_container_page_pv{transition:opacity .3s}.stalux-post-source-link:hover,.stalux-post-source-link:focus,.stalux-post-source-link:active{background:var(--accent,#fff2);border-top-color:var(--accent,#fff4);border-right-color:var(--accent,#fff4);border-left-color:var(--accent,#fff4);text-decoration:none;transform:translateY(-1px)}.stalux-post-source-link:after{display:none!important}.stalux-license-author,.stalux-license-url,.stalux-license-license{margin:var(--space-sm) 0;line-height:1.6;font-size:var(--font-size-small);color:var(--white-80p)}.stalux-license-box a{color:var(--accent-90p);transition:color var(--transition-normal), border-bottom-color var(--transition-normal);border-bottom:1px dashed var(--accent-50p);padding-bottom:1px;text-decoration:none;position:relative}.stalux-license-box a:hover{color:var(--stalux-accent-color);border-bottom-color:var(--accent-80p)}.stalux-license-box a:active{color:var(--accent-70p)}.stalux-license-box:hover .stalux-license-watermark{opacity:.25}.stalux-license-icon svg{width:100%;height:100%;display:block}.stalux-license-icon path{color:var(--white-full);fill:currentColor}@media (prefers-color-scheme:dark){.stalux-random-header{border-bottom-color:#ffffff1a}.stalux-random-title,.stalux-random-refresh,.stalux-random-list>li>a{color:var(--foreground-60p,#e0e0e0)}.stalux-random-loading,.stalux-random-error,.stalux-random-no-more{color:var(--foreground-60p,#b0b0b0)}}@media (prefers-contrast:more){.stalux-post-layout{gap:2rem}}@media (width>=1600px){.stalux-post-layout{grid-template-columns:minmax(240px,280px) minmax(0,1fr) minmax(240px,280px);gap:4rem;padding:2rem 1.5rem}}@media (width<=1400px){.stalux-sidebar-right{width:240px}.stalux-post-layout{grid-template-columns:260px 1fr 260px;gap:3.5rem;padding:1.5rem 1rem}}@media (width<=1200px){:is(.stalux-sidebar,.stalux-sidebar-right){display:none}.stalux-post-layout{grid-template-columns:1fr;gap:2rem;padding:1rem .75rem}}@media (width<=1024px){.stalux-post-title{font-size:2rem}.stalux-post-metadata{gap:1rem}}@media (width<=768px){:is(.stalux-sidebar,.stalux-sidebar-right),.stalux-sidebar-right{display:none}.stalux-pagination{margin:var(--space-md) 0}.stalux-pagination-inner{gap:var(--space-sm)}.stalux-pagination-link{padding:var(--space-sm) var(--space-md);flex-direction:column;justify-content:center;align-items:flex-start;min-height:120px}.stalux-pagination-link.stalux-pagination-next-post{align-items:flex-end}.stalux-pagination-arrow{transform:scale(.85)}.stalux-pagination-label{margin-bottom:var(--space-xs);font-size:.75rem}.stalux-pagination-title{max-width:100%;font-size:var(--font-size-small);white-space:normal}.stalux-post-page{padding:0}.stalux-post-layout{flex-direction:column;gap:2rem;margin:0;padding:0;display:flex}.stalux-post-layout>:nth-child(2){order:1}.stalux-post-layout>:first-child{order:2}.stalux-post-layout>:nth-child(3){order:3}.stalux-article{box-sizing:border-box;width:100%;box-shadow:none;background:0 0;margin:0;padding:0}.stalux-post-body{width:100%;margin:0;padding:0 .75rem}.stalux-post-article-header{margin-bottom:2rem;padding:1rem 1rem 0}.stalux-post-title{font-size:1.75rem}.stalux-post-metadata{flex-direction:column;gap:.75rem;font-size:.85rem}.stalux-post-article-footer{margin-top:2rem;padding-top:1.5rem}.stalux-post-page-stats{margin-top:.8rem;padding-top:.6rem;font-size:.85rem}.stalux-license-box{max-width:95%;padding:var(--space-md);margin:var(--space-md) auto}.stalux-license-title{margin-bottom:var(--space-xs);font-size:var(--font-size-base)}.stalux-license-author,.stalux-license-url,.stalux-license-license{margin:var(--space-xs) 0;font-size:.85rem}.stalux-license-icon{width:80px;height:80px}}@media (width<=480px){.stalux-pagination{margin:var(--space-md) 0}.stalux-pagination-inner{gap:var(--space-sm);flex-direction:column}.stalux-pagination-link{width:100%;padding:var(--space-sm) var(--space-md);justify-content:flex-start;align-items:center;gap:var(--space-md);flex-direction:row;min-height:100px}.stalux-pagination-link.stalux-pagination-prev-post,.stalux-pagination-link.stalux-pagination-next-post{text-align:left;align-items:center;margin-left:0;margin-right:0}.stalux-pagination-link.stalux-pagination-next-post{justify-content:flex-start}.stalux-pagination-title{white-space:normal}.stalux-post-layout{gap:1.25rem;padding:0}.stalux-license-box{max-width:100%;padding:var(--space-sm);margin:var(--space-md) 0}.stalux-license-title{margin-bottom:var(--space-2xs);font-size:var(--font-size-small)}.stalux-license-author,.stalux-license-url,.stalux-license-license{margin:var(--space-2xs) 0;font-size:.8rem}.stalux-license-icon{width:60px;height:60px}}@media (prefers-reduced-motion:reduce){.stalux-post-page *{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{.stalux-post-layout{grid-template-columns:1fr;gap:2rem}.stalux-post-layout>:first-child,.stalux-post-layout>:nth-child(3){display:none}}}@layer utilities,theme,base;
2
+ @layer components{.stalux-article{box-shadow:var(--surface-glass-shadow);box-sizing:border-box;background:var(--surface-glass);border-radius:18px;flex-direction:column;flex:1;width:100%;min-width:0;max-width:100%;min-height:100vh;padding:clamp(1rem,2vw,2rem);display:flex}.stalux-byline-author-bio{border-top:var(--border-thin) solid var(--white-10p);margin:var(--space-md) 0 0;width:100%;padding-top:var(--space-md);text-align:center;color:var(--white-70p);line-height:1.6;font-size:var(--font-size-small)}.stalux-byline-author-card{background:var(--black-05p);border-radius:var(--radius-lg);padding:var(--space-md);box-shadow:var(--card-box-shadow);flex-direction:column;display:flex}.stalux-license-box{border:var(--border-thin) solid var(--white-20p);margin:var(--space-lg) auto;border-radius:var(--radius-md);background-color:var(--black-10p);max-width:80%;padding:var(--space-lg);position:relative;overflow:hidden}.stalux-license-watermark{opacity:.15;transition:opacity var(--transition-normal);pointer-events:none;z-index:1;position:absolute;bottom:.5rem;right:.5rem}.stalux-pagination{border-top:var(--border-thin) solid var(--white-20p);border-bottom:var(--border-thin) solid var(--white-20p);margin:var(--space-lg) 0;width:100%;padding-top:var(--space-lg);padding-bottom:var(--space-lg)}.stalux-pagination-arrow{color:var(--white-70p);flex-shrink:0;justify-content:center;align-items:center;transition:translate .18s;display:flex}.stalux-pagination-label{margin-bottom:var(--space-xs);color:var(--accent-90p);font-weight:500;font-size:var(--font-size-small)}.stalux-pagination-link{background:var(--black-10p);outline:1px solid var(--white-10p);outline-offset:0;box-shadow:var(--shadow-sidebar);box-sizing:border-box;align-items:center;gap:var(--space-sm);border-radius:var(--radius-md);min-width:0;padding:var(--space-md);color:var(--white-90p);flex:1 1 0;text-decoration:none;transition:background-color .18s,outline-color .18s;display:flex;position:relative}.stalux-pagination-title{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--white-90p);font-size:var(--font-size-base);overflow:hidden}.stalux-post-article-footer{border-top:1px solid var(--white-10p);margin-top:3rem;padding-top:2rem;animation:.22s .36s both stalux-post-content-reveal}.stalux-post-article-header{border-bottom:1px solid var(--white-10p);margin-bottom:3rem;padding-bottom:2rem;animation:.22s .36s both stalux-post-content-reveal}.stalux-post-body{box-sizing:border-box;flex:1;width:min(1200px,100%);min-width:0;max-width:100%;margin:0 auto;padding:0 0 2rem;animation:.22s .36s both stalux-post-content-reveal}.stalux-post-layout{box-sizing:border-box;flex:1;grid-template-columns:200px minmax(0,1fr) 200px;gap:1.5rem;width:100%;min-width:0;max-width:1696px;margin:0 auto;padding:1.5rem;display:grid}.stalux-post-meta-item{transition:color var(--transition-fast);align-items:center;gap:.5rem;display:inline-flex}.stalux-post-meta-row{flex-basis:100%;justify-content:center;display:flex}.stalux-post-metadata{color:#ffffffb3;flex-wrap:wrap;justify-content:center;gap:1.5rem;font-size:.95rem;display:flex}.stalux-post-page-stats{border-top:1px solid var(--white-10p);color:#ffffffb3;justify-content:center;align-items:center;gap:1rem;margin-top:1rem;padding-top:.8rem;font-size:.9rem;display:flex}.stalux-post-reading-time{align-items:center;gap:.3rem;display:inline-flex}.stalux-post-source-link{background:var(--white-10p);border-top:1px solid var(--white-20p);border-right:1px solid var(--white-20p);border-left:1px solid var(--white-20p);transition:background var(--transition-fast), transform var(--transition-fast);border-radius:var(--radius-full,999px);color:var(--white-full);border-bottom:0;align-items:center;gap:.4rem;padding:.5rem 1.1rem;font-size:.85rem;font-weight:500;text-decoration:none;display:inline-flex}.stalux-post-taxonomy-item-column{background:var(--white-05p);border-left:var(--border-thick) solid var(--accent-60p);transition:color var(--transition-medium), transform var(--transition-medium);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:var(--space-sm) var(--space-xs);color:var(--white-80p);font-size:var(--font-size-small);text-decoration:none;display:inline-flex;transform:translate(0)}.stalux-post-taxonomy-item-pill{background:var(--white-10p);transition:color var(--transition-medium), transform var(--transition-medium);white-space:nowrap;border-radius:var(--radius-full);color:var(--white-85p);font-size:var(--font-size-smaller);border:none;padding:.4rem .8rem;text-decoration:none;display:inline-block;transform:translateY(0)}.stalux-post-taxonomy-title{border-bottom:var(--border-thin) solid var(--white-20p);padding-bottom:var(--space-sm);color:var(--white-90p);font-weight:600;font-size:var(--font-size-base);margin:0}.stalux-post-title{word-break:break-word;text-align:center;color:var(--white-full);text-shadow:var(--stalux-text-shadow);margin:0 0 1.5rem;font-size:2.5rem;font-weight:700;line-height:1.2}.stalux-random-container{transition:background-color .3s,border-color .3s}.stalux-random-header{border-bottom:2px solid #0000000d;justify-content:space-between;align-items:center;margin-bottom:1em;padding-bottom:.75em;display:flex}.stalux-random-list{flex-direction:column;gap:.75em;margin:0;padding:0;list-style-type:none;transition:opacity .3s;display:flex}.stalux-random-refresh{cursor:pointer;width:2em;height:2em;color:var(--foreground-60p,#333);background:0 0;border:none;border-radius:.375em;justify-content:center;align-items:center;padding:0;transition:color .2s;display:flex}.stalux-sidebar-container{box-shadow:var(--surface-glass-shadow);padding:var(--space-md);background:var(--surface-glass);border-radius:14px;flex-direction:column;transition:box-shadow .22s,background-color .22s;display:flex}.stalux-sidebar-right{scroll-padding-bottom:8rem}.stalux-toc-item{border-left:var(--border-thick) solid transparent;transition:color var(--transition-medium), background-color var(--transition-medium), border-left-color var(--transition-medium), transform var(--transition-medium);word-break:break-word;border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:var(--space-sm) var(--space-xs);color:var(--white-70p);line-height:1.4;font-size:var(--font-size-small);text-decoration:none;display:block}.stalux-toc-title{border-bottom:var(--border-thin) solid var(--white-20p);margin:0 0 var(--space-xs);padding-bottom:var(--space-sm);color:var(--white-90p);font-weight:600;font-size:var(--font-size-base)}.stalux-license-content{z-index:2;position:relative}.stalux-random-title{color:var(--foreground-60p,#333);margin:0;font-size:1.1em;font-weight:600}.stalux-toc-list{gap:var(--space-sm);flex-direction:column;margin:0;padding:0;list-style-type:none;display:flex}.stalux-license-title{margin-top:0;margin-bottom:var(--space-sm);color:var(--white-90p);font-size:var(--font-size-subtitle)}.stalux-post-source-link-row{justify-content:center;margin-top:1.2rem;display:flex}.stalux-byline-author-section{width:100%}.stalux-license-icon{justify-content:center;align-items:center;width:120px;height:120px;display:flex}.stalux-pagination-content{flex-direction:column;min-width:0;display:flex;overflow:hidden}.stalux-post-page{flex-direction:column;width:100%;min-height:100vh;display:flex}.stalux-byline-sidebar-container,.stalux-post-footer-content{gap:var(--space-lg);flex-direction:column;display:flex}.stalux-pagination-inner{justify-content:space-between;gap:var(--space-md);display:flex}.stalux-post-taxonomy-container{gap:var(--space-xs);flex-direction:column;display:flex}.stalux-post-taxonomy-list-column{flex-direction:column}.stalux-post-taxonomy-list-wrap{flex-wrap:wrap}.stalux-post-taxonomy-empty{padding:var(--space-md) 0;text-align:center;color:var(--white-50p);font-size:var(--font-size-small)}.stalux-random-error{color:var(--accent-60p,#e74c3c)}.stalux-toc-empty{color:var(--white-60p);font-size:var(--font-size-small)}.stalux-random-refresh:active{opacity:.7}.stalux-random-refresh svg{width:1em;height:1em}.stalux-random-refresh.stalux-random-rotating svg{animation:.6s linear stalux-random-spin}.stalux-random-loading,.stalux-random-error,.stalux-random-no-more{text-align:center;color:var(--foreground-60p,#666);padding:1em;font-size:.95em}.stalux-random-list>li>a{color:var(--foreground-60p,#333);word-break:break-word;background:0 0;border-radius:.375em;padding:.75em 1em;text-decoration:none;transition:color .2s,transform .2s;display:block}.stalux-random-list>li>a:active,.stalux-post-taxonomy-item-column:active,.stalux-post-taxonomy-item-pill:active{background:var(--white-05p)}.stalux-toc-item:active,.stalux-toc-item.stalux-toc-active{color:var(--accent-90p);background-color:var(--accent-20p);border-left-color:var(--accent-80p);font-weight:500}.stalux-toc-depth-1{padding-left:var(--space-xs)}.stalux-toc-depth-2{padding-left:var(--space-lg);font-size:var(--font-size-smaller)}.stalux-toc-depth-3{font-size:var(--font-size-tiny);padding-left:2.25rem}.stalux-toc-depth-4,.stalux-toc-depth-5,.stalux-toc-depth-6{padding-left:var(--space-2xl);color:var(--white-60p);font-size:.75rem}:is(.stalux-post-taxonomy-list,.stalux-post-taxonomy-list-column,.stalux-post-taxonomy-list-wrap){gap:var(--space-sm);display:flex}:is(.stalux-sidebar,.stalux-sidebar-right){gap:var(--space-lg);width:100%;height:fit-content;max-height:calc(100vh - 40px);padding:var(--space-lg) 0;scrollbar-width:none;-ms-overflow-style:none;flex-direction:column;display:flex;position:sticky;top:20px;overflow-y:auto}.stalux-pagination-link:before,.stalux-pagination-link:after{display:none}:is(.stalux-sidebar,.stalux-sidebar-right)::-webkit-scrollbar{display:none}a.stalux-pagination-link:focus-visible{background:var(--white-05p);outline-color:var(--accent-50p);outline:2px solid var(--stalux-accent-color);outline-offset:3px}a.stalux-pagination-prev-post:focus-visible .stalux-pagination-arrow{translate:-2px}a.stalux-pagination-next-post:focus-visible .stalux-pagination-arrow{translate:2px}.stalux-pagination-link.stalux-pagination-disabled{pointer-events:none;opacity:.5;cursor:not-allowed;background:var(--black-15p)}.stalux-pagination-link.stalux-pagination-prev-post{text-align:left;margin-left:var(--space-xs)}.stalux-pagination-link.stalux-pagination-next-post{text-align:right;margin-right:var(--space-xs);justify-content:flex-end}.stalux-post-layout>:first-child,.stalux-post-layout>:nth-child(3){margin:0}.stalux-post-layout>:nth-child(2){min-width:0;margin:0}.stalux-post-layout :focus-visible{outline:2px solid var(--accent-80p);outline-offset:2px}.stalux-post-page-stats span{align-items:center;gap:.3rem;display:inline-flex}#stalux-post-vercount_value_page_pv{color:#ffffffb3;font-weight:600}#stalux-post-vercount_container_page_pv{transition:opacity .3s}.stalux-post-source-link:focus,.stalux-post-source-link:active{background:var(--accent,#fff2);border-top-color:var(--accent,#fff4);border-right-color:var(--accent,#fff4);border-left-color:var(--accent,#fff4);text-decoration:none}.stalux-post-source-link:after{display:none!important}.stalux-license-author,.stalux-license-url,.stalux-license-license{margin:var(--space-sm) 0;line-height:1.6;font-size:var(--font-size-small);color:var(--white-80p)}.stalux-license-box a{color:var(--accent-90p);transition:color var(--transition-normal), border-bottom-color var(--transition-normal);border-bottom:1px dashed var(--accent-50p);padding-bottom:1px;text-decoration:none;position:relative}.stalux-license-box a:active{color:var(--accent-70p)}.stalux-license-icon svg{width:100%;height:100%;display:block}.stalux-license-icon path{color:var(--white-full);fill:currentColor}@media (hover:hover) and (pointer:fine){.stalux-random-refresh:hover{color:var(--accent-60p,#06c)}.stalux-random-list>li>a:hover,.stalux-toc-item:hover,.stalux-post-taxonomy-item-column:hover,.stalux-post-taxonomy-item-pill:hover{background:var(--white-05p)}a.stalux-pagination-link:hover{background:var(--white-05p);outline-color:var(--accent-50p)}a.stalux-pagination-prev-post:hover .stalux-pagination-arrow{translate:-2px}a.stalux-pagination-next-post:hover .stalux-pagination-arrow{translate:2px}.stalux-post-source-link:hover{background:var(--accent,#fff2);border-top-color:var(--accent,#fff4);border-right-color:var(--accent,#fff4);border-left-color:var(--accent,#fff4);text-decoration:none}.stalux-license-box a:hover{color:var(--stalux-accent-color);border-bottom-color:var(--accent-80p)}.stalux-license-box:hover .stalux-license-watermark{opacity:.25}}@media (prefers-color-scheme:dark){.stalux-random-header{border-bottom-color:#ffffff1a}.stalux-random-title,.stalux-random-refresh,.stalux-random-list>li>a{color:var(--foreground-60p,#e0e0e0)}.stalux-random-loading,.stalux-random-error,.stalux-random-no-more{color:var(--foreground-60p,#b0b0b0)}}@media (prefers-contrast:more){.stalux-post-layout{gap:2rem}}@media (width<=1599px){:is(.stalux-sidebar,.stalux-sidebar-right){display:none}.stalux-post-layout{grid-template-columns:minmax(0,1fr);max-width:1312px}}@media (width<=1024px){.stalux-post-title{font-size:2rem}.stalux-post-metadata{gap:1rem}}@media (width<=768px){:is(.stalux-sidebar,.stalux-sidebar-right),.stalux-sidebar-right{display:none}.stalux-pagination{margin:var(--space-md) 0}.stalux-pagination-inner{gap:var(--space-sm)}.stalux-pagination-link{padding:var(--space-sm) var(--space-md);flex-direction:column;justify-content:center;align-items:flex-start;min-height:120px}.stalux-pagination-link.stalux-pagination-next-post{align-items:flex-end}.stalux-pagination-arrow{transform:scale(.85)}.stalux-pagination-label{margin-bottom:var(--space-xs);font-size:.75rem}.stalux-pagination-title{max-width:100%;font-size:var(--font-size-small);white-space:normal}.stalux-post-page{padding:0}.stalux-post-layout{flex-direction:column;gap:2rem;margin:0;padding:0;display:flex}.stalux-post-layout>:nth-child(2){order:1}.stalux-post-layout>:first-child{order:2}.stalux-post-layout>:nth-child(3){order:3}.stalux-article{box-sizing:border-box;width:100%;box-shadow:none;background:0 0;margin:0;padding:clamp(1rem,2vw,2rem)}.stalux-post-body{width:100%;margin:0;padding:0 0 2rem}.stalux-post-article-header{margin-bottom:2rem;padding:1rem 1rem 0}.stalux-post-title{font-size:1.75rem}.stalux-post-metadata{flex-direction:column;gap:.75rem;font-size:.85rem}.stalux-post-article-footer{margin-top:2rem;padding-top:1.5rem}.stalux-post-page-stats{margin-top:.8rem;padding-top:.6rem;font-size:.85rem}.stalux-license-box{max-width:95%;padding:var(--space-md);margin:var(--space-md) auto}.stalux-license-title{margin-bottom:var(--space-xs);font-size:var(--font-size-base)}.stalux-license-author,.stalux-license-url,.stalux-license-license{margin:var(--space-xs) 0;font-size:.85rem}.stalux-license-icon{width:80px;height:80px}}@media (width<=480px){.stalux-pagination{margin:var(--space-md) 0}.stalux-pagination-inner{gap:var(--space-sm);flex-direction:column}.stalux-pagination-link{width:100%;padding:var(--space-sm) var(--space-md);justify-content:flex-start;align-items:center;gap:var(--space-md);flex-direction:row;min-height:100px}.stalux-pagination-link.stalux-pagination-prev-post,.stalux-pagination-link.stalux-pagination-next-post{text-align:left;align-items:center;margin-left:0;margin-right:0}.stalux-pagination-link.stalux-pagination-next-post{justify-content:flex-start}.stalux-pagination-title{white-space:normal}.stalux-post-layout{gap:1.25rem;padding:0}.stalux-license-box{max-width:100%;padding:var(--space-sm);margin:var(--space-md) 0}.stalux-license-title{margin-bottom:var(--space-2xs);font-size:var(--font-size-small)}.stalux-license-author,.stalux-license-url,.stalux-license-license{margin:var(--space-2xs) 0;font-size:.8rem}.stalux-license-icon{width:60px;height:60px}}@media (prefers-reduced-motion:reduce){.stalux-post-page *{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{.stalux-post-layout{grid-template-columns:1fr;gap:2rem}.stalux-post-layout>:first-child,.stalux-post-layout>:nth-child(3){display:none}}}@layer utilities,theme,base;
3
3
  /*$vite$:1*/
@@ -1,3 +1,3 @@
1
1
  @layer theme, base, components, utilities;
2
- @layer components{.stalux-categories{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;max-width:1200px;margin:30px auto;padding:0;list-style-type:none;display:grid}.stalux-category-card{background-color:var(--surface-glass);height:fit-content;padding:var(--space-lg);color:var(--white-full);box-shadow:var(--card-box-shadow);border-radius:.8rem;flex-direction:column;transition:transform .22s,background-color .22s;display:flex;position:relative;overflow:hidden}.stalux-category-content{flex:1;padding-right:40px}.stalux-category-icon{transform-origin:50%;background:var(--black-15p);box-shadow:var(--shadow-sm);opacity:.8;z-index:2;border-radius:var(--radius-md);width:28px;height:28px;color:var(--white-50p);padding:5px;transition:transform .24s,background-color .24s,color .24s;position:absolute;top:10px;right:10px}.stalux-categoryheader{width:100%;height:100%;color:var(--white-full);align-items:center;text-decoration:none;display:flex;position:relative}.stalux-categories>li{content-visibility:auto;contain-intrinsic-block-size:auto 180px;overflow-clip-margin:30px}.stalux-category-card:before{z-index:1;content:"";background:linear-gradient(120deg,#fff0,#ffffff0d,#fff0);transition:transform .36s;position:absolute;inset:0;transform:translate(-100%)}.stalux-category-card:hover{background-color:var(--white-05p);box-shadow:var(--card-box-shadow-hover);transform:translateY(-3px)}.stalux-category-card:hover:before{transform:translate(100%)}.stalux-category-card:hover .stalux-category-icon{opacity:1;color:var(--white-90p);background:var(--accent-30p);box-shadow:0 3px 8px var(--accent-30p);transform:rotate(-15deg)translateY(-3px)}.stalux-category-icon svg{width:100%;height:100%}@supports not (content-visibility:auto){.stalux-categories>li{contain-intrinsic-block-size:auto}}}@layer utilities,theme,base;
2
+ @layer components{.stalux-categories{grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:20px;max-width:1200px;margin:30px auto;padding:0;list-style-type:none;display:grid}.stalux-category-card{background-color:var(--surface-glass);height:fit-content;padding:var(--space-lg);color:var(--white-full);box-shadow:var(--card-box-shadow);border-radius:.8rem;flex-direction:column;transition:transform .22s,background-color .22s;display:flex;position:relative;overflow:hidden}.stalux-category-content{flex:1;padding-right:40px}.stalux-category-icon{transform-origin:50%;background:var(--black-15p);box-shadow:var(--shadow-sm);opacity:.8;z-index:2;border-radius:var(--radius-md);width:28px;height:28px;color:var(--white-50p);padding:5px;transition:transform .24s,background-color .24s,color .24s;position:absolute;top:10px;right:10px}.stalux-categoryheader{width:100%;height:100%;color:var(--white-full);align-items:center;text-decoration:none;display:flex;position:relative}.stalux-categories>li{content-visibility:auto;contain-intrinsic-block-size:auto 180px;overflow-clip-margin:30px}.stalux-category-card:before{z-index:1;pointer-events:none;content:"";background:linear-gradient(120deg,#fff0,#ffffff0d,#fff0);transition:transform .36s;position:absolute;inset:0;transform:translate(-100%)}.stalux-category-icon svg{width:100%;height:100%}@media (hover:hover) and (pointer:fine){.stalux-category-shell:hover .stalux-category-card{background-color:var(--white-05p);box-shadow:var(--card-box-shadow-hover);transform:translateY(-2px)}.stalux-category-shell:hover .stalux-category-card:before{transform:translate(100%)}.stalux-category-shell:hover .stalux-category-card .stalux-category-icon{opacity:1;color:var(--white-90p);background:var(--accent-30p);box-shadow:0 3px 8px var(--accent-30p);transform:rotate(-15deg)translateY(-2px)}}@supports not (content-visibility:auto){.stalux-categories>li{contain-intrinsic-block-size:auto}}}@layer utilities,theme,base;
3
3
  /*$vite$:1*/
@@ -1,3 +1,3 @@
1
1
  @layer theme, base, components, utilities;
2
- @layer components{.stalux-link-card{color:#fff;background:var(--surface-glass);width:180px;min-height:200px;box-shadow:var(--card-box-shadow);border-radius:10px;flex-direction:column;padding:16px;text-decoration:none;transition:transform .22s,background-color .22s,border-color .22s;display:flex;overflow:visible}.stalux-link-card-content{text-align:center;flex-direction:column;flex:1;display:flex}.stalux-links{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));justify-items:center;gap:20px;max-width:1200px;margin:30px auto;padding:0;list-style-type:none;display:grid}.stalux-link-card-avatar{justify-content:center;margin-bottom:12px;display:flex}.stalux-link-list-item{display:flex}.stalux-link-card:hover{background:var(--white-05p);box-shadow:var(--card-box-shadow-hover);transform:translateY(-3px)}.stalux-link-card-avatar img{object-fit:cover;border:2px solid var(--accent-60p);transform-origin:50%;border-radius:9999px;width:80px;height:80px;transition:transform .22s,border-color .22s}.stalux-link-card:hover .stalux-link-card-avatar img{box-shadow:0 0 20px var(--accent-50p);border-color:var(--accent-85p);animation:.7s ease-in-out stalux-link-avatar-spin;transform:scale(1.04)}.stalux-link-card-title{white-space:nowrap;background:linear-gradient(90deg, var(--white-95p), var(--accent-90p));-webkit-text-fill-color:transparent;text-overflow:ellipsis;-webkit-background-clip:text;background-clip:text;margin:0 0 8px;font-size:1.1rem;overflow:hidden}.stalux-link-card-description{color:var(--white-78p);-webkit-line-clamp:3;text-overflow:ellipsis;-webkit-box-orient:vertical;margin:0;font-size:.95rem;line-height:1.45;display:-webkit-box;overflow:hidden}@media (1100px<=width<=1399px){.stalux-links{grid-template-columns:repeat(4,1fr)}}@media (480px<=width<=767px){.stalux-links{grid-template-columns:repeat(2,1fr);gap:16px}}@media (768px<=width<=1099px){.stalux-links{grid-template-columns:repeat(3,1fr)}}@media (width>=1400px){.stalux-links{grid-template-columns:repeat(5,1fr)}}@media (width<=480px){.stalux-link-card{padding:14px}.stalux-link-card-avatar img{width:70px;height:70px}.stalux-link-card-title{font-size:1rem}.stalux-link-card-description{font-size:.9rem}}@media (width<=479px){.stalux-links{grid-template-columns:1fr;gap:14px;margin:20px auto}}@media (prefers-reduced-motion:reduce){.stalux-link-card:hover .stalux-link-card-avatar img{transition:none;animation:none;transform:none}}}@layer utilities,theme,base;
2
+ @layer components{.stalux-link-card{color:#fff;background:var(--surface-glass);width:180px;min-height:200px;box-shadow:var(--card-box-shadow);border-radius:10px;flex-direction:column;padding:16px;text-decoration:none;transition:transform .22s,background-color .22s,border-color .22s;display:flex;overflow:visible}.stalux-link-card-content{text-align:center;flex-direction:column;flex:1;display:flex}.stalux-links{grid-template-columns:repeat(auto-fill,minmax(min(180px,100%),1fr));justify-items:center;gap:20px;max-width:1200px;margin:30px auto;padding:0;list-style-type:none;display:grid}.stalux-link-card-avatar{justify-content:center;margin-bottom:12px;display:flex}.stalux-link-list-item{display:flex}.stalux-link-card-content{transition:transform .2s}.stalux-link-card-avatar img{object-fit:cover;border:2px solid var(--accent-60p);transform-origin:50%;border-radius:9999px;width:80px;height:80px;transition:transform .22s,border-color .22s}.stalux-link-card-title{white-space:nowrap;background:linear-gradient(90deg, var(--white-95p), var(--accent-90p));-webkit-text-fill-color:transparent;text-overflow:ellipsis;-webkit-background-clip:text;background-clip:text;margin:0 0 8px;font-size:1.1rem;overflow:hidden}.stalux-link-card-description{color:var(--white-78p);-webkit-line-clamp:3;text-overflow:ellipsis;-webkit-box-orient:vertical;margin:0;font-size:.95rem;line-height:1.45;display:-webkit-box;overflow:hidden}@media (1100px<=width<=1399px){.stalux-links{grid-template-columns:repeat(4,1fr)}}@media (480px<=width<=767px){.stalux-links{grid-template-columns:repeat(2,1fr);gap:16px}}@media (768px<=width<=1099px){.stalux-links{grid-template-columns:repeat(3,1fr)}}@media (hover:hover) and (pointer:fine){.stalux-link-shell:hover .stalux-link-card-content{transform:translateY(-2px)}.stalux-link-shell:hover .stalux-link-card{background:var(--white-05p);box-shadow:var(--card-box-shadow-hover)}.stalux-link-card-avatar:hover img{border-color:var(--accent-85p);animation:.65s ease-in-out stalux-link-avatar-spin}}@media (width>=1400px){.stalux-links{grid-template-columns:repeat(5,1fr)}}@media (width<=480px){.stalux-link-card{padding:14px}.stalux-link-card-avatar img{width:70px;height:70px}.stalux-link-card-title{font-size:1rem}.stalux-link-card-description{font-size:.9rem}}@media (width<=479px){.stalux-links{grid-template-columns:1fr;gap:14px;margin:20px auto}}@media (prefers-reduced-motion:reduce) and (hover:hover) and (pointer:fine){.stalux-link-card-avatar:hover img{transition:none;animation:none;transform:none}}}@layer utilities,theme,base;
3
3
  /*$vite$:1*/
@@ -1,2 +1,2 @@
1
- @layer theme,base;@layer components{.stalux-prose{font-family:var(--font-body), "Noto Sans SC", "Noto Sans CJK SC", system-ui, -apple-system, sans-serif;font-size:var(--font-size-base);color:var(--white-85p);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;line-height:1.75}.stalux-prose h1,.stalux-prose h2,.stalux-prose h3,.stalux-prose h4,.stalux-prose h5,.stalux-prose h6{color:var(--white-full);margin-top:var(--space-xl);margin-bottom:var(--space-md);font-weight:600;line-height:1.3}.stalux-prose h1{margin-top:2.5rem;margin-bottom:var(--space-lg);border-bottom:3px solid var(--accent-50p);padding-bottom:.6rem;font-size:2.6rem;font-weight:700;line-height:1.25}.stalux-prose h2{border-bottom:2px solid var(--accent-30p);margin-top:2.5rem;padding-bottom:.4rem;font-size:2rem;font-weight:650}.stalux-prose h3{color:var(--white-95p);margin-top:2rem;font-size:1.5rem;line-height:1.4}.stalux-prose h4{color:var(--white-90p);margin-top:1.5rem;margin-bottom:.6rem;font-size:1.25rem;line-height:1.45}.stalux-prose h5{color:var(--white-90p);margin-top:1.5rem;margin-bottom:.5rem;font-size:1.1rem;line-height:1.5}.stalux-prose h6{color:var(--white-80p);margin-top:1.5rem;margin-bottom:.5rem;font-size:1rem;line-height:1.5}.stalux-prose p{margin:0 0 var(--space-lg);line-height:1.75}.stalux-prose strong{color:#ffd966;font-weight:600}.stalux-prose em{color:var(--white-85p);font-style:italic}.stalux-prose strong em,.stalux-prose em strong{color:#ffd966}.stalux-prose del{color:var(--white-60p)}.stalux-prose mark{color:inherit;background-color:#ffd96640;border-radius:2px;padding:.1em .2em}.stalux-prose kbd{font-family:var(--font-code), "JetBrains Mono", "Fira Code", "Consolas", "Courier New", monospace;background-color:var(--white-10p);border:1px solid var(--white-20p);color:var(--white-85p);border-radius:4px;padding:.15em .4em;font-size:.85em}.stalux-prose sup,.stalux-prose sub{font-size:.8em}.stalux-prose a{color:var(--accent-80p);transition:color var(--transition-fast) ease, border-bottom-color var(--transition-fast) ease;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;border-bottom:2px solid #0000;text-decoration:none}.stalux-prose a:hover,.stalux-prose a:focus-visible{color:var(--accent-90p);border-bottom-color:var(--accent-60p)}.stalux-prose code{font-family:var(--font-code), "JetBrains Mono", "Fira Code", "Consolas", "Courier New", monospace;color:#ff92d0;background-color:#ff79c626;border:1px solid #ff79c640;border-radius:4px;padding:.2em .4em;font-size:.88em}.stalux-prose pre{background:var(--black-30p);color:var(--white-85p);border-left:4px solid var(--accent-60p);margin:var(--space-xl) 0;font-size:.92em;line-height:1.65;font-family:var(--font-code), "JetBrains Mono", "Fira Code", "Consolas", "Courier New", monospace;box-shadow:var(--shadow-md);border-radius:8px;padding:1.2rem 1.5rem;overflow-x:auto}.stalux-prose pre code{color:inherit;font-size:inherit;background:0 0;border:none;padding:0;font-family:inherit}.expressive-code pre,.expressive-code code{all:revert}.stalux-prose ul,.stalux-prose ol{margin:0 0 var(--space-lg);padding-left:1.75rem}.stalux-prose li{color:var(--white-85p);margin:.4rem 0;line-height:1.75}.stalux-prose ul li{list-style:outside}.stalux-prose ul li ul li{list-style:circle}.stalux-prose ul li ul li ul li{list-style:square}.stalux-prose ol li{list-style:decimal}.stalux-prose ol li ol li{list-style:lower-alpha}.stalux-prose li>ul,.stalux-prose li>ol{margin-top:.3rem;margin-bottom:.3rem}.stalux-prose blockquote{margin:var(--space-xl) 0;border-left:4px solid var(--accent-60p);background:var(--black-10p);color:var(--white-75p);border-radius:0 8px 8px 0;padding:1rem 1.5rem}.stalux-prose blockquote p{margin:0;line-height:1.7}.stalux-prose blockquote p+p{margin-top:.8rem}.stalux-prose blockquote strong{color:#ffd966}.stalux-prose blockquote code{font-size:.85em}.stalux-prose table{border-collapse:collapse;width:100%;margin:var(--space-xl) 0;box-shadow:var(--shadow-md);-webkit-overflow-scrolling:touch;border-radius:8px;display:block;overflow:auto hidden}.stalux-prose th,.stalux-prose td{text-align:left;border-bottom:1px solid var(--white-10p);padding:.75rem 1rem;line-height:1.6}.stalux-prose th{white-space:nowrap;background:var(--accent-30p);color:var(--white-full);font-size:.95em;font-weight:600}.stalux-prose td{color:var(--white-85p)}.stalux-prose tr:nth-child(2n) td{background-color:var(--white-05p)}.stalux-prose tr:hover td{background-color:var(--black-10p)}.stalux-prose table code{font-size:.85em}.stalux-prose img{max-width:100%;height:auto;margin:var(--space-xl) auto;box-shadow:var(--shadow-lg);transition:transform var(--transition-normal) ease, box-shadow var(--transition-normal) ease;border-radius:8px;display:block}.stalux-prose img:hover{box-shadow:var(--shadow-xl);transform:scale(1.02)}.stalux-prose iframe,.stalux-prose embed,.stalux-prose video{max-width:100%;height:auto;margin:var(--space-xl) auto;border-radius:8px;display:block}.stalux-prose hr{margin:var(--space-2xl) 0;background:linear-gradient(90deg, transparent, var(--white-15p) 20%, var(--accent-40p) 50%, var(--white-15p) 80%, transparent);border:none;height:1.5px}.stalux-prose details{margin:var(--space-lg) 0;background-color:var(--white-05p);border:1px solid var(--white-10p);transition:border-color var(--transition-fast) ease;border-radius:6px;padding:.8rem 1rem}.stalux-prose details:hover{border-color:var(--white-20p)}.stalux-prose summary{cursor:pointer;color:var(--white-90p);font-weight:600}.stalux-prose details[open] summary{border-bottom:1px solid var(--white-10p);margin-bottom:.8rem;padding-bottom:.6rem}.stalux-prose figure{text-align:center;margin:var(--space-xl) 0}.stalux-prose figcaption{color:var(--white-70p);margin-top:.5rem;font-size:.9em;font-style:italic}.stalux-prose .footnotes{color:var(--white-75p);border-top:1px solid var(--white-15p);margin-top:var(--space-2xl);padding-top:var(--space-lg);font-size:.88em}.stalux-prose .footnotes ol{margin-left:1rem;padding-left:.5rem}.stalux-prose .footnotes li{margin:.5rem 0;line-height:1.6}.stalux-prose .footnotes a{font-size:.9em}@media (width<=1024px){.stalux-prose{font-size:1.05rem}.stalux-prose h1{font-size:2.2rem}.stalux-prose h2{font-size:1.8rem}.stalux-prose h3{font-size:1.35rem}.stalux-prose h4{font-size:1.15rem}.stalux-prose pre{padding:1rem 1.2rem;font-size:.88em}}@media (width<=768px){.stalux-prose{font-size:1rem;line-height:1.7}.stalux-prose h1{margin-top:1.5rem;font-size:1.8rem}.stalux-prose h2{margin-top:1.5rem;font-size:1.4rem}.stalux-prose h3{margin-top:1.25rem;font-size:1.2rem}.stalux-prose h4{margin-top:1rem;font-size:1.1rem}.stalux-prose h5{font-size:1rem}.stalux-prose h6{font-size:.95rem}.stalux-prose p{margin-bottom:var(--space-md)}.stalux-prose pre{margin:var(--space-lg) 0;border-left-width:3px;padding:.8rem 1rem;font-size:.82em}.stalux-prose table{font-size:.85rem}.stalux-prose th,.stalux-prose td{padding:.5rem .7rem}.stalux-prose blockquote{padding:.8rem 1rem;font-size:.9em}.stalux-prose ul,.stalux-prose ol{padding-left:1.5rem}}}@layer utilities;@font-face{font-family:"Temml", serif;src:url(/fonts/Temml.woff2)format("woff2");font-weight:400;font-style:normal}@font-face{font-family:Latin Modern Math;src:url(/fonts/latinmodern-math.woff2)format("woff2");font-display:swap}math{font-size-adjust:none;text-indent:0;text-transform:none;letter-spacing:normal;word-wrap:normal;font-feature-settings:"dtls" off;font-style:normal;font-weight:400;line-height:normal;font-family:"Latin Modern Math", var(--font-body), math;direction:ltr}math *{border-color:currentColor}math.tml-display{width:100%;display:block}.mathscr{font-family:Temml,serif}mfrac>:nth-child(2),msqrt,mover>:first-child{math-shift:compact}.menclose{padding:.5ex 0;display:inline-block;position:relative}.tml-cancelto{background-color:currentColor;padding:.5ex 0;display:inline-block;position:absolute;top:0;left:0;-webkit-mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'><defs><marker id='a' markerHeight='5' markerUnits='strokeWidth' markerWidth='7' orient='auto' refX='7' refY='2.5'><path fill='black' d='m0 0 7 2.5L0 5z'/></marker></defs><line x2='100%25' y1='100%25' stroke='black' stroke-width='.06em' marker-end='url(%23a)' vector-effect='non-scaling-stroke'/></svg>");mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'><defs><marker id='a' markerHeight='5' markerUnits='strokeWidth' markerWidth='7' orient='auto' refX='7' refY='2.5'><path fill='black' d='m0 0 7 2.5L0 5z'/></marker></defs><line x2='100%25' y1='100%25' stroke='black' stroke-width='.06em' marker-end='url(%23a)' vector-effect='non-scaling-stroke'/></svg>");-webkit-mask-position:0 0;mask-position:0 0;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}@-moz-document url-prefix(){math{display:inline}math>mrow{padding:0}mtd,mtable.tml-small mtd{padding-top:0;padding-bottom:0}mtable.tml-jot mtd{padding-top:.2ex;padding-bottom:0}.tml-vec{transform:scale(.75)}.ff-narrow{width:0}.ff-nudge-left{margin-left:-.2em}.ff-squash mtd{height:0;display:block}}@supports not ((-moz-appearance:none)){mo.tml-prime{font-family:Temml,serif}.tml-sml-pad{padding-left:.05em}.tml-med-pad{padding-left:.1em}.tml-lrg-pad{padding-left:.15em}}@supports ((-webkit-backdrop-filter:blur(1px))){.wbk-acc{transform:translateY(.431em)}.wbk-sml{transform:translate(.07em)}.wbk-sml-acc{transform:translate(.07em,.431em)}.wbk-sml-vec{transform:scale(.75)translate(.07em)}.wbk-med{transform:translate(.14em)}.wbk-med-acc{transform:translate(.14em,.431em)}.wbk-med-vec{transform:scale(.75)translate(.14em)}.wbk-lrg{transform:translate(.21em)}.wbk-lrg-acc{transform:translate(.21em,.431em)}.wbk-lrg-vec{transform:scale(.75)translate(.21em)}}@supports (not ((-webkit-backdrop-filter:blur(1px)))) and (not ((-moz-appearance:none))){.chr-sml{transform:translate(.07em)}.chr-sml-vec{transform:scale(.75)translate(.07em)}.chr-med{transform:translate(.14em)}.chr-med-vec{transform:scale(.75)translate(.14em)}.chr-lrg{transform:translate(.21em)}.chr-lrg-vec{transform:scale(.75)translate(.21em)}.tml-shift-left{margin-left:-100%}menclose{padding:.5ex 0;position:relative}.tml-overline{border-top:.065em solid;padding:.1em 0 0}.tml-underline{border-bottom:.065em solid;padding:0 0 .1em}.tml-cancel{background-color:currentColor;width:100%;height:100%;display:inline-block;position:absolute;bottom:0;left:.5px}.upstrike{clip-path:polygon(.05em 100%,0 calc(100% - .05em),calc(100% - .05em) 0,100% .05em)}.downstrike{clip-path:polygon(0 .05em,.05em 0,100% calc(100% - .05em),calc(100% - .05em) 100%)}.sout{clip-path:polygon(0 calc(55% + .0333em),0 calc(55% - .0333em),100% calc(55% - .0333em),100% calc(55% + .0333em))}.tml-xcancel{clip-path:polygon(.05em 0,0 .05em,calc(50% - .05em) 50%,0 calc(100% - .05em),.05em 100%,50% calc(50% + .05em),calc(100% - .05em) 100%,100% calc(100% - .05em),calc(50% + .05em) 50%,100% .05em,calc(100% - .05em) 0%,50% calc(50% - .05em))}.longdiv-top{border-top:.067em solid;padding:.1em .2em .2em .433em}.longdiv-arc{clip-path:inset(0 0 0 .4em);box-sizing:border-box;border:.067em solid;border-radius:70%;width:.7em;position:absolute;top:0;bottom:.1em;left:-.4em;transform:translateY(-.067em)}.menclose{text-align:left;display:inline-block;position:relative}.phasor-bottom{border-bottom:.067em solid;padding:.2em .2em .1em .6em}.phasor-angle{aspect-ratio:.5;clip-path:polygon(.05em 100%,0 calc(100% - .05em),calc(100% - .05em) 0,100% .05em);background-color:currentColor;height:100%;display:inline-block;position:absolute;bottom:-.04em;left:.5px}.tml-fbox{border:1px solid;padding:3pt}.circle-pad{padding:.267em}.textcircle{border:.067em solid;border-radius:50%;position:absolute;inset:0}.actuarial{border-style:solid;border-width:.08em .08em 0 0;margin-right:.03889em;padding:.03889em .03889em 0}.tml-crooked-2{transform:scale(2,1.1)}.tml-crooked-3{transform:scale(3,1.3)}.tml-crooked-4{transform:scale(4,1.4)}.tml-right{text-align:-webkit-right}.tml-left{text-align:-webkit-left}}menclose{-webkit-print-color-adjust:exact;print-color-adjust:exact}.tml-right{text-align:right}.tml-left{text-align:left}.special-fraction{font-family:Times New Roman,Times,STIX TWO,Tinos,serif}math{flex-wrap:wrap;align-items:baseline;display:inline-flex}math>mrow{padding:.5ex 0}mtable.tml-jot mtd{padding-top:.7ex;padding-bottom:.7ex}mtable.tml-small mtd{padding-top:.35ex;padding-bottom:.35ex}.tml-shift-left{margin-left:-200%}.tml-eqn:before{counter-increment:tmlEqnNo;content:"(" counter(tmlEqnNo) ")"}body{counter-reset:tmlEqnNo}
1
+ @layer theme,base;@layer components{.stalux-prose{font-family:var(--font-body), "Noto Sans SC", "Noto Sans CJK SC", system-ui, -apple-system, sans-serif;font-size:var(--font-size-base);color:var(--white-85p);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;line-height:1.75}.stalux-prose h1,.stalux-prose h2,.stalux-prose h3,.stalux-prose h4,.stalux-prose h5,.stalux-prose h6{color:var(--white-full);margin-top:var(--space-xl);margin-bottom:var(--space-md);font-weight:600;line-height:1.3}.stalux-prose h1{margin-top:2.5rem;margin-bottom:var(--space-lg);border-bottom:3px solid var(--accent-50p);padding-bottom:.6rem;font-size:2.6rem;font-weight:700;line-height:1.25}.stalux-prose h2{border-bottom:2px solid var(--accent-30p);margin-top:2.5rem;padding-bottom:.4rem;font-size:2rem;font-weight:650}.stalux-prose h3{color:var(--white-95p);margin-top:2rem;font-size:1.5rem;line-height:1.4}.stalux-prose h4{color:var(--white-90p);margin-top:1.5rem;margin-bottom:.6rem;font-size:1.25rem;line-height:1.45}.stalux-prose h5{color:var(--white-90p);margin-top:1.5rem;margin-bottom:.5rem;font-size:1.1rem;line-height:1.5}.stalux-prose h6{color:var(--white-80p);margin-top:1.5rem;margin-bottom:.5rem;font-size:1rem;line-height:1.5}.stalux-prose p{margin:0 0 var(--space-lg);line-height:1.75}.stalux-prose strong{color:#ffd966;font-weight:600}.stalux-prose em{color:var(--white-85p);font-style:italic}.stalux-prose strong em,.stalux-prose em strong{color:#ffd966}.stalux-prose del{color:var(--white-60p)}.stalux-prose mark{color:inherit;background-color:#ffd96640;border-radius:2px;padding:.1em .2em}.stalux-prose kbd{font-family:var(--font-code), "JetBrains Mono", "Fira Code", "Consolas", "Courier New", monospace;background-color:var(--white-10p);border:1px solid var(--white-20p);color:var(--white-85p);border-radius:4px;padding:.15em .4em;font-size:.85em}.stalux-prose sup,.stalux-prose sub{font-size:.8em}.stalux-prose a{color:var(--accent-80p);transition:color var(--transition-fast), border-bottom-color var(--transition-fast);overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;border-bottom:2px solid #0000;text-decoration:none}.stalux-prose a:focus-visible{color:var(--accent-90p);border-bottom-color:var(--accent-60p)}@media (hover:hover) and (pointer:fine){.stalux-prose a:hover{color:var(--accent-90p);border-bottom-color:var(--accent-60p)}}.stalux-prose code{font-family:var(--font-code), "JetBrains Mono", "Fira Code", "Consolas", "Courier New", monospace;color:#ff92d0;background-color:#ff79c626;border:1px solid #ff79c640;border-radius:4px;padding:.2em .4em;font-size:.88em}.stalux-prose pre{background:var(--black-30p);color:var(--white-85p);border-left:4px solid var(--accent-60p);margin:var(--space-xl) 0;font-size:.92em;line-height:1.65;font-family:var(--font-code), "JetBrains Mono", "Fira Code", "Consolas", "Courier New", monospace;box-shadow:var(--shadow-md);border-radius:8px;padding:1.2rem 1.5rem;overflow-x:auto}.stalux-prose pre code{color:inherit;font-size:inherit;background:0 0;border:none;padding:0;font-family:inherit}.expressive-code pre,.expressive-code code{all:revert}.stalux-prose ul,.stalux-prose ol{margin:0 0 var(--space-lg);padding-left:1.75rem}.stalux-prose li{color:var(--white-85p);margin:.4rem 0;line-height:1.75}.stalux-prose ul li{list-style:outside}.stalux-prose ul li ul li{list-style:circle}.stalux-prose ul li ul li ul li{list-style:square}.stalux-prose ol li{list-style:decimal}.stalux-prose ol li ol li{list-style:lower-alpha}.stalux-prose li>ul,.stalux-prose li>ol{margin-top:.3rem;margin-bottom:.3rem}.stalux-prose blockquote{margin:var(--space-xl) 0;border-left:4px solid var(--accent-60p);background:var(--black-10p);color:var(--white-75p);border-radius:0 8px 8px 0;padding:1rem 1.5rem}.stalux-prose blockquote p{margin:0;line-height:1.7}.stalux-prose blockquote p+p{margin-top:.8rem}.stalux-prose blockquote strong{color:#ffd966}.stalux-prose blockquote code{font-size:.85em}.stalux-prose table{border-collapse:collapse;width:100%;margin:var(--space-xl) 0;box-shadow:var(--shadow-md);-webkit-overflow-scrolling:touch;border-radius:8px;display:block;overflow:auto hidden}.stalux-prose th,.stalux-prose td{text-align:left;border-bottom:1px solid var(--white-10p);padding:.75rem 1rem;line-height:1.6}.stalux-prose th{white-space:nowrap;background:var(--accent-30p);color:var(--white-full);font-size:.95em;font-weight:600}.stalux-prose td{color:var(--white-85p)}.stalux-prose tr:nth-child(2n) td{background-color:var(--white-05p)}@media (hover:hover) and (pointer:fine){.stalux-prose tr:hover td{background-color:var(--black-10p)}}.stalux-prose table code{font-size:.85em}.stalux-prose img{max-width:100%;height:auto;margin:var(--space-xl) auto;box-shadow:var(--shadow-lg);transition:transform var(--transition-normal), box-shadow var(--transition-normal);border-radius:8px;display:block}@media (hover:hover) and (pointer:fine){.stalux-prose img:hover{box-shadow:var(--shadow-xl);transform:none}}.stalux-prose embed,.stalux-prose video{max-width:100%;height:auto;margin:var(--space-xl) auto;border-radius:8px;display:block}.stalux-prose hr{margin:var(--space-2xl) 0;background:linear-gradient(90deg, transparent, var(--white-15p) 20%, var(--accent-40p) 50%, var(--white-15p) 80%, transparent);border:none;height:1.5px}.stalux-prose details{margin:var(--space-lg) 0;background-color:var(--white-05p);border:1px solid var(--white-10p);transition:border-color var(--transition-fast);border-radius:6px;padding:.8rem 1rem}@media (hover:hover) and (pointer:fine){.stalux-prose details:hover{border-color:var(--white-20p)}}.stalux-prose summary{cursor:pointer;color:var(--white-90p);font-weight:600}.stalux-prose details[open] summary{border-bottom:1px solid var(--white-10p);margin-bottom:.8rem;padding-bottom:.6rem}.stalux-prose figure{text-align:center;margin:var(--space-xl) 0}.stalux-prose figcaption{color:var(--white-70p);margin-top:.5rem;font-size:.9em;font-style:italic}.stalux-prose .footnotes{color:var(--white-75p);border-top:1px solid var(--white-15p);margin-top:var(--space-2xl);padding-top:var(--space-lg);font-size:.88em}.stalux-prose .footnotes ol{margin-left:1rem;padding-left:.5rem}.stalux-prose .footnotes li{margin:.5rem 0;line-height:1.6}.stalux-prose .footnotes a{font-size:.9em}@media (width<=1024px){.stalux-prose{font-size:1.05rem}.stalux-prose h1{font-size:2.2rem}.stalux-prose h2{font-size:1.8rem}.stalux-prose h3{font-size:1.35rem}.stalux-prose h4{font-size:1.15rem}.stalux-prose pre{padding:1rem 1.2rem;font-size:.88em}}@media (width<=768px){.stalux-prose{font-size:1rem;line-height:1.7}.stalux-prose h1{margin-top:1.5rem;font-size:1.8rem}.stalux-prose h2{margin-top:1.5rem;font-size:1.4rem}.stalux-prose h3{margin-top:1.25rem;font-size:1.2rem}.stalux-prose h4{margin-top:1rem;font-size:1.1rem}.stalux-prose h5{font-size:1rem}.stalux-prose h6{font-size:.95rem}.stalux-prose p{margin-bottom:var(--space-md)}.stalux-prose pre{margin:var(--space-lg) 0;border-left-width:3px;padding:.8rem 1rem;font-size:.82em}.stalux-prose table{font-size:.85rem}.stalux-prose th,.stalux-prose td{padding:.5rem .7rem}.stalux-prose blockquote{padding:.8rem 1rem;font-size:.9em}.stalux-prose ul,.stalux-prose ol{padding-left:1.5rem}}.stalux-prose,.stalux-prose>*,.stalux-prose div,.stalux-prose .expressive-code,.stalux-prose .expressive-code .frame{box-sizing:border-box;min-width:0;max-width:100%}.stalux-prose{overflow-wrap:anywhere}.stalux-prose a:after{content:none}.stalux-prose a{text-decoration:underline;-webkit-text-decoration-color:var(--accent-50p);text-decoration-color:var(--accent-50p);text-underline-offset:.2em;border-bottom:0;text-decoration-thickness:1px}.stalux-prose a:has(img){text-decoration:none}.stalux-prose pre,.stalux-prose table,.stalux-prose .mermaid,.stalux-prose math{overscroll-behavior-x:contain;max-width:100%;overflow-x:auto}.stalux-prose pre,.stalux-prose pre code{overflow-wrap:normal;word-break:normal}.stalux-prose :is(img,video,iframe,embed,svg,canvas){max-width:100%}.stalux-prose :is(img,video,svg,canvas){height:auto}.stalux-prose iframe{margin:var(--space-xl) auto;border-radius:8px;display:block}.stalux-prose .mermaid svg{max-width:none}.stalux-prose canvas{box-sizing:border-box}.stalux-prose summary{overflow-wrap:anywhere}}@layer utilities;@font-face{font-family:"Temml", serif;src:url(/fonts/Temml.woff2)format("woff2");font-weight:400;font-style:normal}@font-face{font-family:Latin Modern Math;src:url(/fonts/latinmodern-math.woff2)format("woff2");font-display:swap}math{font-size-adjust:none;text-indent:0;text-transform:none;letter-spacing:normal;word-wrap:normal;font-feature-settings:"dtls" off;font-style:normal;font-weight:400;line-height:normal;font-family:"Latin Modern Math", var(--font-body), math;direction:ltr}math *{border-color:currentColor}math.tml-display{width:100%;display:block}.mathscr{font-family:Temml,serif}mfrac>:nth-child(2),msqrt,mover>:first-child{math-shift:compact}.menclose{padding:.5ex 0;display:inline-block;position:relative}.tml-cancelto{background-color:currentColor;padding:.5ex 0;display:inline-block;position:absolute;top:0;left:0;-webkit-mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'><defs><marker id='a' markerHeight='5' markerUnits='strokeWidth' markerWidth='7' orient='auto' refX='7' refY='2.5'><path fill='black' d='m0 0 7 2.5L0 5z'/></marker></defs><line x2='100%25' y1='100%25' stroke='black' stroke-width='.06em' marker-end='url(%23a)' vector-effect='non-scaling-stroke'/></svg>");mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'><defs><marker id='a' markerHeight='5' markerUnits='strokeWidth' markerWidth='7' orient='auto' refX='7' refY='2.5'><path fill='black' d='m0 0 7 2.5L0 5z'/></marker></defs><line x2='100%25' y1='100%25' stroke='black' stroke-width='.06em' marker-end='url(%23a)' vector-effect='non-scaling-stroke'/></svg>");-webkit-mask-position:0 0;mask-position:0 0;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}@-moz-document url-prefix(){math{display:inline}math>mrow{padding:0}mtd,mtable.tml-small mtd{padding-top:0;padding-bottom:0}mtable.tml-jot mtd{padding-top:.2ex;padding-bottom:0}.tml-vec{transform:scale(.75)}.ff-narrow{width:0}.ff-nudge-left{margin-left:-.2em}.ff-squash mtd{height:0;display:block}}@supports not ((-moz-appearance:none)){mo.tml-prime{font-family:Temml,serif}.tml-sml-pad{padding-left:.05em}.tml-med-pad{padding-left:.1em}.tml-lrg-pad{padding-left:.15em}}@supports ((-webkit-backdrop-filter:blur(1px))){.wbk-acc{transform:translateY(.431em)}.wbk-sml{transform:translate(.07em)}.wbk-sml-acc{transform:translate(.07em,.431em)}.wbk-sml-vec{transform:scale(.75)translate(.07em)}.wbk-med{transform:translate(.14em)}.wbk-med-acc{transform:translate(.14em,.431em)}.wbk-med-vec{transform:scale(.75)translate(.14em)}.wbk-lrg{transform:translate(.21em)}.wbk-lrg-acc{transform:translate(.21em,.431em)}.wbk-lrg-vec{transform:scale(.75)translate(.21em)}}@supports (not ((-webkit-backdrop-filter:blur(1px)))) and (not ((-moz-appearance:none))){.chr-sml{transform:translate(.07em)}.chr-sml-vec{transform:scale(.75)translate(.07em)}.chr-med{transform:translate(.14em)}.chr-med-vec{transform:scale(.75)translate(.14em)}.chr-lrg{transform:translate(.21em)}.chr-lrg-vec{transform:scale(.75)translate(.21em)}.tml-shift-left{margin-left:-100%}menclose{padding:.5ex 0;position:relative}.tml-overline{border-top:.065em solid;padding:.1em 0 0}.tml-underline{border-bottom:.065em solid;padding:0 0 .1em}.tml-cancel{background-color:currentColor;width:100%;height:100%;display:inline-block;position:absolute;bottom:0;left:.5px}.upstrike{clip-path:polygon(.05em 100%,0 calc(100% - .05em),calc(100% - .05em) 0,100% .05em)}.downstrike{clip-path:polygon(0 .05em,.05em 0,100% calc(100% - .05em),calc(100% - .05em) 100%)}.sout{clip-path:polygon(0 calc(55% + .0333em),0 calc(55% - .0333em),100% calc(55% - .0333em),100% calc(55% + .0333em))}.tml-xcancel{clip-path:polygon(.05em 0,0 .05em,calc(50% - .05em) 50%,0 calc(100% - .05em),.05em 100%,50% calc(50% + .05em),calc(100% - .05em) 100%,100% calc(100% - .05em),calc(50% + .05em) 50%,100% .05em,calc(100% - .05em) 0%,50% calc(50% - .05em))}.longdiv-top{border-top:.067em solid;padding:.1em .2em .2em .433em}.longdiv-arc{clip-path:inset(0 0 0 .4em);box-sizing:border-box;border:.067em solid;border-radius:70%;width:.7em;position:absolute;top:0;bottom:.1em;left:-.4em;transform:translateY(-.067em)}.menclose{text-align:left;display:inline-block;position:relative}.phasor-bottom{border-bottom:.067em solid;padding:.2em .2em .1em .6em}.phasor-angle{aspect-ratio:.5;clip-path:polygon(.05em 100%,0 calc(100% - .05em),calc(100% - .05em) 0,100% .05em);background-color:currentColor;height:100%;display:inline-block;position:absolute;bottom:-.04em;left:.5px}.tml-fbox{border:1px solid;padding:3pt}.circle-pad{padding:.267em}.textcircle{border:.067em solid;border-radius:50%;position:absolute;inset:0}.actuarial{border-style:solid;border-width:.08em .08em 0 0;margin-right:.03889em;padding:.03889em .03889em 0}.tml-crooked-2{transform:scale(2,1.1)}.tml-crooked-3{transform:scale(3,1.3)}.tml-crooked-4{transform:scale(4,1.4)}.tml-right{text-align:-webkit-right}.tml-left{text-align:-webkit-left}}menclose{-webkit-print-color-adjust:exact;print-color-adjust:exact}.tml-right{text-align:right}.tml-left{text-align:left}.special-fraction{font-family:Times New Roman,Times,STIX TWO,Tinos,serif}math{flex-wrap:wrap;align-items:baseline;display:inline-flex}math>mrow{padding:.5ex 0}mtable.tml-jot mtd{padding-top:.7ex;padding-bottom:.7ex}mtable.tml-small mtd{padding-top:.35ex;padding-bottom:.35ex}.tml-shift-left{margin-left:-200%}.tml-eqn:before{counter-increment:tmlEqnNo;content:"(" counter(tmlEqnNo) ")"}body{counter-reset:tmlEqnNo}
2
2
  /*$vite$:1*/
@@ -1,3 +1,3 @@
1
1
  @layer theme, base, components, utilities;
2
- @layer components{.stalux-cloud-canvas-frame{container-type:inline-size}.stalux-cloud-tag-card{border:1px solid var(--white-20p);transition:transform var(--transition-slow), border-color var(--transition-slow);background-color:var(--white-05p);color:var(--white-full);border-radius:2rem;align-items:center;padding:.5rem 1rem;text-decoration:none;display:flex;position:relative;overflow:hidden}.stalux-cloud-tag-group{content-visibility:auto;contain-intrinsic-block-size:auto 24rem;overflow-clip-margin:30px;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:.75rem;margin-bottom:.75rem;display:flex}.stalux-cloud-tag-count{z-index:2;background-color:var(--white-20p);text-align:center;border-radius:1rem;min-width:1.5rem;padding:.1rem .4rem;font-size:.8rem}.stalux-cloud-tag-name{z-index:2;margin-right:.5rem}.stalux-cloud-cards{box-sizing:border-box;padding:1rem;display:block}.stalux-cloud-no-tags{text-align:center;width:100%;color:var(--white-60p);padding:2rem;font-size:1.2rem}.stalux-cloud-canvas{width:100%;height:min(calc(var(--cloud-base-diameter) * var(--cloud-density)), 120cqw);--cloud-base-diameter:660px;min-height:520px;display:none;position:relative}.stalux-cloud-tag-card:before{z-index:1;content:"";background:linear-gradient(120deg, #fff0, var(--white-10p), #fff0);transition:transform var(--transition-slowest);position:absolute;inset:0;transform:translate(-100%)}.stalux-cloud-tag-card:hover{border-color:var(--accent-50p);box-shadow:var(--card-box-shadow-hover);transform:translateY(-2px)}.stalux-cloud-tag-card:hover:before{transform:translate(100%)}.stalux-cloud-tag-card[data-count="1"]{padding:.3rem .8rem;font-size:.9rem}.stalux-cloud-tag-card[data-count="2"]{padding:.4rem .9rem;font-size:1rem}.stalux-cloud-tag-card[data-count="3"]{padding:.5rem 1rem;font-size:1.1rem}.stalux-cloud-tag-card[data-count^="4"],.stalux-cloud-tag-card[data-count^="5"]{padding:.6rem 1.1rem;font-size:1.2rem}.stalux-cloud-tag-card[data-count^="6"],.stalux-cloud-tag-card[data-count^="7"],.stalux-cloud-tag-card[data-count^="8"],.stalux-cloud-tag-card[data-count^="9"]{padding:.7rem 1.2rem;font-size:1.3rem}.stalux-tag-header{border-bottom:1px solid var(--white-10p);margin:3em 3em 2.5rem;padding-bottom:1rem;position:relative}.stalux-tag-header .stalux-tag-page-title{color:var(--white-full);align-items:center;margin-bottom:.5rem;font-size:1.8rem;display:flex}.stalux-tag-header .stalux-tag-page-title .stalux-tag-category-icon{color:var(--accent-80p);margin-right:.8rem}.stalux-tag-header .stalux-tag-page-title .stalux-tag-category-name{color:var(--accent-90p);font-weight:500}.stalux-tag-header .stalux-tag-page-description{color:var(--white-70p);margin-bottom:.5rem;font-size:1rem}.stalux-tag-header .stalux-tag-back-link{color:var(--white-60p);transition:color var(--transition-fast) ease;font-size:.9rem;text-decoration:none;display:inline-block}.stalux-tag-header .stalux-tag-back-link:hover{color:var(--accent-90p)}@supports not (content-visibility:auto){.stalux-cloud-tag-group{contain-intrinsic-block-size:auto}}@media (width>=769px){.stalux-cloud-cards{display:none}.stalux-cloud-canvas{display:block}}@media (width>=1024px){.stalux-cloud-canvas{--cloud-base-diameter:840px}}@media (width>=1440px){.stalux-cloud-canvas{--cloud-base-diameter:960px}}}@layer utilities,theme,base;
2
+ @layer components{.stalux-cloud-canvas-frame{container-type:inline-size}.stalux-cloud-tag-card{border:1px solid var(--white-20p);transition:transform var(--transition-slow), border-color var(--transition-slow);background-color:var(--white-05p);color:var(--white-full);border-radius:2rem;align-items:center;padding:.5rem 1rem;text-decoration:none;display:flex;position:relative;overflow:hidden}.stalux-cloud-tag-group{content-visibility:auto;contain-intrinsic-block-size:auto 24rem;overflow-clip-margin:30px;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:.75rem;margin-bottom:.75rem;display:flex}.stalux-cloud-tag-count{z-index:2;background-color:var(--white-20p);text-align:center;border-radius:1rem;min-width:1.5rem;padding:.1rem .4rem;font-size:.8rem}.stalux-cloud-tag-name{z-index:2;margin-right:.5rem}.stalux-cloud-cards{box-sizing:border-box;padding:1rem;display:block}.stalux-cloud-no-tags{text-align:center;width:100%;color:var(--white-60p);padding:2rem;font-size:1.2rem}.stalux-cloud-tag-card:focus-visible{background:var(--white-05p);border-color:var(--accent-50p);box-shadow:var(--card-box-shadow-hover)}.stalux-cloud-canvas{width:100%;height:min(calc(var(--cloud-base-diameter) * var(--cloud-density)), 120cqw);--cloud-base-diameter:660px;min-height:520px;display:none;position:relative}.stalux-cloud-tag-card:before{z-index:1;pointer-events:none;content:"";background:linear-gradient(120deg, #fff0, var(--white-10p), #fff0);transition:transform .36s;position:absolute;inset:0;transform:translate(-100%)}.stalux-cloud-tag-card[data-count="1"]{padding:.3rem .8rem;font-size:.9rem}.stalux-cloud-tag-card[data-count="2"]{padding:.4rem .9rem;font-size:1rem}.stalux-cloud-tag-card[data-count="3"]{padding:.5rem 1rem;font-size:1.1rem}.stalux-cloud-tag-card[data-count^="4"],.stalux-cloud-tag-card[data-count^="5"]{padding:.6rem 1.1rem;font-size:1.2rem}.stalux-cloud-tag-card[data-count^="6"],.stalux-cloud-tag-card[data-count^="7"],.stalux-cloud-tag-card[data-count^="8"],.stalux-cloud-tag-card[data-count^="9"]{padding:.7rem 1.2rem;font-size:1.3rem}.stalux-tag-header{border-bottom:1px solid var(--white-10p);margin:3em 3em 2.5rem;padding-bottom:1rem;position:relative}.stalux-tag-header .stalux-tag-page-title{color:var(--white-full);align-items:center;margin-bottom:.5rem;font-size:1.8rem;display:flex}.stalux-tag-header .stalux-tag-page-title .stalux-tag-category-icon{color:var(--accent-80p);margin-right:.8rem}.stalux-tag-header .stalux-tag-page-title .stalux-tag-category-name{color:var(--accent-90p);font-weight:500}.stalux-tag-header .stalux-tag-page-description{color:var(--white-70p);margin-bottom:.5rem;font-size:1rem}.stalux-tag-header .stalux-tag-back-link{color:var(--white-60p);transition:color var(--transition-fast);font-size:.9rem;text-decoration:none;display:inline-block}@media (hover:hover) and (pointer:fine){.stalux-cloud-tag-card:hover{background:var(--white-05p);border-color:var(--accent-50p);box-shadow:var(--card-box-shadow-hover)}.stalux-cloud-tag-card:hover:before{transform:translate(100%)}.stalux-tag-header .stalux-tag-back-link:hover{color:var(--accent-90p)}}@supports not (content-visibility:auto){.stalux-cloud-tag-group{contain-intrinsic-block-size:auto}}@media (width>=769px){.stalux-cloud-cards{display:none}.stalux-cloud-canvas{display:block}}@media (width>=1024px){.stalux-cloud-canvas{--cloud-base-diameter:840px}}@media (width>=1440px){.stalux-cloud-canvas{--cloud-base-diameter:960px}}}@layer utilities,theme,base;
3
3
  /*$vite$:1*/
@@ -1,2 +1,2 @@
1
- :root{--waline-accent-rgb:var(--stalux-accent-rgb)}.waline-comment-container{border-radius:12px;margin-top:3rem;margin-bottom:1rem;padding:2rem;animation:.35s ease-out 80ms both fadeInUpComment}.waline-comment-title{text-align:center;background:linear-gradient(90deg, var(--white-90p), rgba(var(--waline-accent-rgb), .9));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 1.5rem;font-size:2rem}.wl-panel{background-color:#1111114d;border:1px solid #ffffff1a;border-radius:12px;margin-bottom:1.5rem;padding:1rem}.wl-editor,.wl-input{border-radius:8px;transition:all .3s;color:var(--white-90p)!important;background-color:#11111180!important;border:1px solid #6464644d!important}.wl-editor:focus,.wl-input:focus{outline:none;border-color:rgba(var(--waline-accent-rgb), .5)!important;box-shadow:0 0 5px rgba(var(--waline-accent-rgb), .3)!important}.wl-login-nick{height:var(--waline-avatar-size,52px);overflow:hidden;display:block!important}.wl-login-nick:after{display:none}.waline-comment-container img{margin:0!important}.wl-btn{cursor:pointer;border-radius:6px;padding:8px 15px;font-weight:500;transition:all .2s;background:rgba(var(--waline-accent-rgb), .6)!important;color:var(--white-full)!important;border:none!important}.wl-btn:hover{transform:none;background:rgba(var(--waline-accent-rgb), .7)!important;box-shadow:none!important}.wl-btn.primary{background:rgba(var(--waline-accent-rgb), .6)!important}.wl-btn.primary:hover{transform:none;background:rgba(var(--waline-accent-rgb), .7)!important;box-shadow:none!important}.wl-header label{color:var(--white-85p);font-weight:500}.wl-card{border-radius:12px;margin-top:1.2rem;padding:1.2rem;transition:all .3s;background-color:#1111110d!important;border:1px solid #46464633!important}.wl-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px #00000014;border-color:rgba(var(--waline-accent-rgb), .3)!important}.wl-nick{font-weight:600;transition:all .2s;color:rgba(var(--waline-accent-rgb), .95)!important}.wl-nick:hover{color:rgba(var(--waline-accent-rgb), 1)!important}.wl-content{color:var(--white-90p);word-break:break-word;margin:.8rem 0;line-height:1.7}.wl-reply{opacity:.8;transition:all .2s}.wl-reply:hover{opacity:1;text-decoration:none}.wl-emoji-popup,.wl-gif-popup{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:10px;box-shadow:0 8px 24px #0003;background-color:#191919f2!important;border:1px solid #4646464d!important}.wl-emoji-popup button{border-radius:6px;transition:all .2s}.wl-emoji-popup button:hover{background-color:rgba(var(--waline-accent-rgb), .2);transform:scale(1.05)}.wl-reaction{text-align:center;background-color:#1111114d;border:1px solid #46464633;border-radius:12px;margin-bottom:1.5rem;padding:1rem}.wl-reaction-title{color:var(--white-90p);margin-bottom:1rem;font-size:1.1rem}.wl-reaction-list{flex-wrap:wrap;justify-content:center;display:flex}.wl-reaction-item{cursor:pointer;border-radius:8px;margin:5px;transition:all .3s;background-color:#1e1e1e80!important;border:1px solid #46464633!important}.wl-reaction-item:hover{transform:translateY(-3px);box-shadow:0 5px 10px #0003;border-color:rgba(var(--waline-accent-rgb), .3)!important;background-color:#282828cc!important}.wl-reaction-img{padding:6px}.wl-reaction-img img{transition:transform .3s}.wl-reaction-item:hover .wl-reaction-img img{transform:scale(1.15)}.wl-reaction-votes{background-color:rgba(var(--waline-accent-rgb), .7);color:var(--white-full);padding:5px 0;font-size:.8rem}.wl-meta-head{border-bottom:1px solid #4646464d;justify-content:space-between;align-items:center;margin-bottom:1.2rem;padding-bottom:.8rem;display:flex}.wl-count{color:var(--white-90p);font-size:1.1rem;font-weight:500}.wl-sort{gap:1rem;display:flex}.wl-sort li{cursor:pointer;color:var(--white-70p);transition:all .2s}.wl-sort li:hover{color:var(--white-90p)}.wl-sort li.active{color:rgba(var(--waline-accent-rgb), 1);font-weight:500}.wl-page{text-align:center;margin-top:1.2rem}.wl-page button{border-radius:6px;margin:0 5px;padding:5px 10px;transition:all .2s;color:var(--white-80p)!important;background:#1e1e1e80!important;border:1px solid #4646464d!important}.wl-page button:hover:not(:disabled){transform:translateY(-2px);background:rgba(var(--waline-accent-rgb), .7)!important;color:var(--white-full)!important}.wl-page button.active{background:rgba(var(--waline-accent-rgb), .8)!important;color:var(--white-full)!important}.wl-power{text-align:center;opacity:.6;margin-top:2rem;font-size:.85rem}.wl-power a{color:rgba(var(--waline-accent-rgb), .9);text-decoration:none;transition:all .2s}.wl-power a:hover{color:rgba(var(--waline-accent-rgb), 1);text-decoration:underline}.wl-empty{text-align:center;color:var(--white-60p);padding:2rem 0;font-size:1.1rem}.wl-text-number{color:var(--white-60p);font-size:.9rem}@keyframes fadeInUpComment{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.waline-comment-container ::selection{background:rgba(var(--waline-accent-rgb), .25);color:inherit;border:none;outline:none}.waline-comment-container ::selection{background:rgba(var(--waline-accent-rgb), .25);color:inherit;border:none;outline:none}@media (width<=768px){.waline-comment-container{margin-top:2rem;padding:1.5rem}.waline-comment-title{font-size:1.8rem}.wl-panel{padding:.8rem}.wl-header{flex-direction:column}.wl-header-item{width:100%;margin-bottom:.5rem}.wl-card{margin-left:0;padding:.8rem}.wl-children{margin-left:0;padding-left:0}.wl-children .wl-card{border-left:3px solid rgba(var(--waline-accent-rgb), .4);margin-left:0;padding-left:.8rem}}@media (width<=480px){.waline-comment-container{margin-top:1.5rem;padding:1rem}.waline-comment-title{font-size:1.6rem}.wl-panel{padding:.8rem}.wl-reaction-list{gap:5px}.wl-card{box-sizing:border-box;width:100%;margin-left:0;padding:.75rem}.wl-children{box-sizing:border-box;width:100%;margin-left:0;padding-left:0}.wl-children .wl-card{border-left:3px solid rgba(var(--waline-accent-rgb), .4);width:100%;margin-left:0;padding-left:.6rem}.wl-children .wl-children .wl-card{border-left:3px solid rgba(var(--waline-accent-rgb), .3);padding-left:.6rem}.wl-meta-head{flex-direction:column;align-items:flex-start;gap:.5rem}}
1
+ :root{--waline-accent-rgb:var(--stalux-accent-rgb)}.waline-comment-container{border-radius:12px;margin-top:3rem;margin-bottom:1rem;padding:2rem;animation:.35s ease-out 80ms both fadeInUpComment}.waline-comment-title{text-align:center;background:linear-gradient(90deg, var(--white-90p), rgba(var(--waline-accent-rgb), .9));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 1.5rem;font-size:2rem}.wl-panel{background-color:#1111114d;border:1px solid #ffffff1a;border-radius:12px;margin-bottom:1.5rem;padding:1rem}.wl-editor,.wl-input{border-radius:8px;transition:background-color .2s,border-color .2s,box-shadow .2s,color .2s;color:var(--white-90p)!important;background-color:#11111180!important;border:1px solid #6464644d!important}.wl-editor:focus,.wl-input:focus{outline:none;border-color:rgba(var(--waline-accent-rgb), .5)!important;box-shadow:0 0 5px rgba(var(--waline-accent-rgb), .3)!important}.wl-login-nick{height:var(--waline-avatar-size,52px);overflow:hidden;display:block!important}.wl-login-nick:after{display:none}.waline-comment-container img{margin:0!important}.wl-btn{cursor:pointer;border-radius:6px;padding:8px 15px;font-weight:500;transition:background-color .18s,border-color .18s,color .18s;background:rgba(var(--waline-accent-rgb), .6)!important;color:var(--white-full)!important;border:none!important}@media (hover:hover) and (pointer:fine){.wl-btn:hover{transform:none;background:rgba(var(--waline-accent-rgb), .7)!important;box-shadow:none!important}}.wl-btn.primary{background:rgba(var(--waline-accent-rgb), .6)!important}@media (hover:hover) and (pointer:fine){.wl-btn.primary:hover{transform:none;background:rgba(var(--waline-accent-rgb), .7)!important;box-shadow:none!important}}.wl-header label{color:var(--white-85p);font-weight:500}.wl-card{border-radius:12px;margin-top:1.2rem;padding:1.2rem;transition:background-color .2s,border-color .2s,box-shadow .2s,color .2s;background-color:#1111110d!important;border:1px solid #46464633!important}@media (hover:hover) and (pointer:fine){.wl-card:hover{transform:none;box-shadow:0 10px 24px #00000014;border-color:rgba(var(--waline-accent-rgb), .3)!important}}.wl-nick{font-weight:600;transition:background-color .18s,border-color .18s,color .18s;color:rgba(var(--waline-accent-rgb), .95)!important}@media (hover:hover) and (pointer:fine){.wl-nick:hover{color:rgba(var(--waline-accent-rgb), 1)!important}}.wl-content{color:var(--white-90p);word-break:break-word;margin:.8rem 0;line-height:1.7}.wl-reply{opacity:.8;transition:background-color .18s,border-color .18s,color .18s}@media (hover:hover) and (pointer:fine){.wl-reply:hover{opacity:1;text-decoration:none}}.wl-emoji-popup,.wl-gif-popup{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:10px;box-shadow:0 8px 24px #0003;background-color:#191919f2!important;border:1px solid #4646464d!important}.wl-emoji-popup button{border-radius:6px;transition:background-color .18s,border-color .18s,color .18s}@media (hover:hover) and (pointer:fine){.wl-emoji-popup button:hover{background-color:rgba(var(--waline-accent-rgb), .2);transform:scale(1.05)}}.wl-reaction{text-align:center;background-color:#1111114d;border:1px solid #46464633;border-radius:12px;margin-bottom:1.5rem;padding:1rem}.wl-reaction-title{color:var(--white-90p);margin-bottom:1rem;font-size:1.1rem}.wl-reaction-list{flex-wrap:wrap;justify-content:center;display:flex}.wl-reaction-item{cursor:pointer;border-radius:8px;margin:5px;transition:background-color .2s,border-color .2s,box-shadow .2s,color .2s;background-color:#1e1e1e80!important;border:1px solid #46464633!important}@media (hover:hover) and (pointer:fine){.wl-reaction-item:hover{transform:none;box-shadow:0 5px 10px #0003;border-color:rgba(var(--waline-accent-rgb), .3)!important;background-color:#282828cc!important}}.wl-reaction-img{padding:6px}.wl-reaction-img img{transition:transform .3s}@media (hover:hover) and (pointer:fine){.wl-reaction-item:hover .wl-reaction-img img{transform:scale(1.05)}}.wl-reaction-votes{background-color:rgba(var(--waline-accent-rgb), .7);color:var(--white-full);padding:5px 0;font-size:.8rem}.wl-meta-head{border-bottom:1px solid #4646464d;justify-content:space-between;align-items:center;margin-bottom:1.2rem;padding-bottom:.8rem;display:flex}.wl-count{color:var(--white-90p);font-size:1.1rem;font-weight:500}.wl-sort{gap:1rem;display:flex}.wl-sort li{cursor:pointer;color:var(--white-70p);transition:background-color .18s,border-color .18s,color .18s}@media (hover:hover) and (pointer:fine){.wl-sort li:hover{color:var(--white-90p)}}.wl-sort li.active{color:rgba(var(--waline-accent-rgb), 1);font-weight:500}.wl-page{text-align:center;margin-top:1.2rem}.wl-page button{border-radius:6px;margin:0 5px;padding:5px 10px;transition:background-color .18s,border-color .18s,color .18s;color:var(--white-80p)!important;background:#1e1e1e80!important;border:1px solid #4646464d!important}@media (hover:hover) and (pointer:fine){.wl-page button:hover:not(:disabled){transform:none;background:rgba(var(--waline-accent-rgb), .7)!important;color:var(--white-full)!important}}.wl-page button.active{background:rgba(var(--waline-accent-rgb), .8)!important;color:var(--white-full)!important}.wl-power{text-align:center;opacity:.6;margin-top:2rem;font-size:.85rem}.wl-power a{color:rgba(var(--waline-accent-rgb), .9);text-decoration:none;transition:background-color .18s,border-color .18s,color .18s}@media (hover:hover) and (pointer:fine){.wl-power a:hover{color:rgba(var(--waline-accent-rgb), 1);text-decoration:underline}}.wl-empty{text-align:center;color:var(--white-60p);padding:2rem 0;font-size:1.1rem}.wl-text-number{color:var(--white-60p);font-size:.9rem}@keyframes fadeInUpComment{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.waline-comment-container ::selection{background:rgba(var(--waline-accent-rgb), .25);color:inherit;border:none;outline:none}.waline-comment-container ::selection{background:rgba(var(--waline-accent-rgb), .25);color:inherit;border:none;outline:none}@media (width<=768px){.waline-comment-container{margin-top:2rem;padding:1.5rem}.waline-comment-title{font-size:1.8rem}.wl-panel{padding:.8rem}.wl-header{flex-direction:column}.wl-header-item{width:100%;margin-bottom:.5rem}.wl-card{margin-left:0;padding:.8rem}.wl-children{margin-left:0;padding-left:0}.wl-children .wl-card{border-left:3px solid rgba(var(--waline-accent-rgb), .4);margin-left:0;padding-left:.8rem}}@media (width<=480px){.waline-comment-container{margin-top:1.5rem;padding:1rem}.waline-comment-title{font-size:1.6rem}.wl-panel{padding:.8rem}.wl-reaction-list{gap:5px}.wl-card{box-sizing:border-box;width:100%;margin-left:0;padding:.75rem}.wl-children{box-sizing:border-box;width:100%;margin-left:0;padding-left:0}.wl-children .wl-card{border-left:3px solid rgba(var(--waline-accent-rgb), .4);width:100%;margin-left:0;padding-left:.6rem}.wl-children .wl-children .wl-card{border-left:3px solid rgba(var(--waline-accent-rgb), .3);padding-left:.6rem}.wl-meta-head{flex-direction:column;align-items:flex-start;gap:.5rem}}.waline-comment-container,.waline-comment-container *,.wl-panel,.wl-content{box-sizing:border-box;overflow-wrap:anywhere;min-width:0;max-width:100%}@media (hover:none){.wl-reaction-img img{transform:none}}@media (prefers-reduced-motion:reduce){.waline-comment-container *,.waline-comment-container :before,.waline-comment-container :after{transition:none!important;animation:none!important;transform:none!important}}
2
2
  /*$vite$:1*/
@@ -1,3 +1,3 @@
1
1
  @layer theme, base, components, utilities;
2
- @layer components{.stalux-word-card{transition:transform var(--transition-normal) ease, box-shadow var(--transition-normal) ease;box-sizing:border-box;border-radius:var(--radius-lg,12px);background:var(--surface-glass);width:100%;box-shadow:var(--card-box-shadow);flex-direction:column;gap:.75rem;padding:1.5rem;display:flex}.stalux-word-date{font-variant-numeric:tabular-nums;color:var(--white-50p)}.stalux-word-footer{border-top:1px solid var(--white-10p);color:var(--white-60p);justify-content:space-between;align-items:center;gap:1rem;margin-top:auto;padding-top:.75rem;font-size:.9rem;display:flex}.stalux-word-source-link{-webkit-text-decoration-color:var(--accent-50p);text-decoration-color:var(--accent-50p);text-underline-offset:.15em;transition:color var(--transition-fast) ease;color:var(--accent-80p);font-style:italic;text-decoration-line:underline}.stalux-word-list-list{flex-direction:column;align-items:center;gap:1.5rem;margin:2rem auto;padding:0;list-style-type:none;display:flex}.stalux-word-list-item{width:100%;max-width:900px;display:flex}.stalux-word-source-meta{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.stalux-word-body{color:var(--white-80p);font-size:1.05rem;line-height:1.7}.stalux-word-source-date{color:var(--white-50p);font-style:italic}.stalux-word-source-text{font-style:italic}.stalux-word-body .expressive-code{max-width:100%;overflow-x:auto}.stalux-word-card:hover{box-shadow:var(--card-box-shadow-hover);transform:translateY(-4px)}.stalux-word-card:target,.stalux-word-card[data-glow]{box-shadow:0 0 20px var(--accent-40p), 0 0 60px var(--accent-20p), var(--shadow-lg);animation:2s ease-out stalux-word-word-glow}.stalux-word-body h1,.stalux-word-body h2,.stalux-word-body h3,.stalux-word-body h4,.stalux-word-body h5,.stalux-word-body h6{margin:.5rem 0;font-size:1.1em}.stalux-word-body p{margin:.5rem 0}.stalux-word-body blockquote{border-left:3px solid var(--accent-60p);background:var(--white-05p);margin:.5rem 0;padding:.6rem 1rem}.stalux-word-body pre{white-space:pre-wrap;word-break:break-word;overflow-x:visible}.stalux-word-body code{word-break:break-word}.stalux-word-source-link:hover{color:var(--accent-90p)}@media (width<=768px){.stalux-word-list-list{gap:1rem;margin:1.5rem auto}.stalux-word-list-item{max-width:100%}}}@layer utilities,theme,base;
2
+ @layer components{.stalux-word-card{transition:transform var(--transition-normal), box-shadow var(--transition-normal);box-sizing:border-box;border-radius:var(--radius-lg,12px);background:var(--surface-glass);width:100%;box-shadow:var(--card-box-shadow);flex-direction:column;gap:.75rem;padding:1.5rem;display:flex}.stalux-word-date{font-variant-numeric:tabular-nums;color:var(--white-50p)}.stalux-word-footer{border-top:1px solid var(--white-10p);color:var(--white-60p);justify-content:space-between;align-items:center;gap:1rem;margin-top:auto;padding-top:.75rem;font-size:.9rem;display:flex}.stalux-word-source-link{-webkit-text-decoration-color:var(--accent-50p);text-decoration-color:var(--accent-50p);text-underline-offset:.15em;transition:color var(--transition-fast);color:var(--accent-80p);font-style:italic;text-decoration-line:underline}.stalux-word-list-list{flex-direction:column;align-items:center;gap:1.5rem;margin:2rem auto;padding:0;list-style-type:none;display:flex}.stalux-word-list-item{width:100%;max-width:900px;display:flex}.stalux-word-source-meta{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.stalux-word-body{color:var(--white-80p);font-size:1.05rem;line-height:1.7}.stalux-word-source-date{color:var(--white-50p);font-style:italic}.stalux-word-source-text{font-style:italic}.stalux-word-body .expressive-code{max-width:100%;overflow-x:auto}.stalux-word-card:target,.stalux-word-card[data-glow]{box-shadow:0 0 20px var(--accent-40p), 0 0 60px var(--accent-20p), var(--shadow-lg);animation:2s ease-out stalux-word-word-glow}.stalux-word-body h1,.stalux-word-body h2,.stalux-word-body h3,.stalux-word-body h4,.stalux-word-body h5,.stalux-word-body h6{margin:.5rem 0;font-size:1.1em}.stalux-word-body p{margin:.5rem 0}.stalux-word-body blockquote{border-left:3px solid var(--accent-60p);background:var(--white-05p);margin:.5rem 0;padding:.6rem 1rem}.stalux-word-body pre{white-space:pre-wrap;word-break:break-word;overflow-x:visible}.stalux-word-body code{word-break:break-word}@media (hover:hover) and (pointer:fine){.stalux-word-card:hover{background:var(--white-05p);box-shadow:var(--card-box-shadow-hover)}.stalux-word-source-link:hover{color:var(--accent-90p)}}@media (width<=768px){.stalux-word-list-list{gap:1rem;margin:1.5rem auto}.stalux-word-list-item{max-width:100%}}}@layer utilities,theme,base;
3
3
  /*$vite$:1*/
@@ -1,3 +1,3 @@
1
1
  @layer theme, base, components, utilities;
2
- @layer components{.stalux-404-home-btn{background:var(--black-20p);border:var(--border-thin) solid var(--white-20p);transition:background-color var(--transition-normal), transform var(--transition-normal), box-shadow var(--transition-normal);border-radius:var(--radius-md);padding:var(--space-md) var(--space-lg);color:var(--white-90p);font-size:var(--font-size-base);text-decoration:none;display:inline-block}.stalux-ai-prompt{clip:rect(0, 0, 0, 0);white-space:pre-wrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.stalux-badge-group{border:none}.stalux-badge-group-arrow{font-size:.65rem;transition:transform .2s;display:inline-block}.stalux-badge-group-summary{-webkit-user-select:none;user-select:none;cursor:pointer;color:var(--white-70p);gap:.4rem;padding:.2rem 0;font-size:.85rem;list-style-type:none;transition:color .2s}.stalux-beian-public-security-beian{color:#ffffffb3;gap:5px;font-size:.9rem;text-decoration:none;transition:color .3s;display:inline-flex}.stalux-card-post-categories,.stalux-card-post-tags{gap:.4rem}.stalux-card-post-category{background:var(--category-bg);color:#fff;border-radius:6px;padding:.18rem .5rem;font-size:.84rem;line-height:1;display:inline-block}.stalux-card-post-description{overflow-wrap:anywhere;color:var(--white-70p);line-height:1.6}.stalux-card-post-meta{gap:.6rem}.stalux-card-post-tag{background:var(--tag-bg);color:#fff;border-radius:9999px;padding:.22rem .7rem;font-size:.85rem;line-height:1;display:inline-block}.stalux-card-post-title{overflow-wrap:anywhere;margin:0;line-height:1.35}.stalux-card-read-more{align-self:flex-start;margin-top:.6rem}.stalux-card-time{gap:.45rem;display:inline-flex}.stalux-copyright{color:var(--white-70p);gap:.3em;font-weight:500}.stalux-footer{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--white-full);background-color:#0000001a;margin-top:auto;padding:1.5rem 0;font-size:.9rem}.stalux-footer-content{gap:.8rem;max-width:1200px;margin:0 auto;padding:0 1rem}.stalux-home-navs{order:-1;max-width:100%}.stalux-nav-list{transform:scale(var(--nav-scale,1));transform-origin:50%;box-sizing:border-box;gap:2rem;max-width:100%;transition:transform .22s cubic-bezier(.22,.72,.22,1);overflow:visible}.stalux-nav-overlay{pointer-events:none;z-index:999;opacity:0;background:#0009;height:100%;transition:opacity .3s;display:none;position:fixed;top:0;left:0}.stalux-nav-scroll-btn{background:var(--black-30p);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow-md);pointer-events:none;z-index:10;cursor:pointer;width:36px;height:36px;color:var(--white-full);opacity:0;border:none;border-radius:9999px;padding:0;transition:opacity .25s;display:none;position:absolute;top:50%;transform:translateY(-50%)}.stalux-nav-toggle{z-index:1001;cursor:pointer;min-width:48px;min-height:48px;color:inherit;background:0 0;border:none;padding:.75rem;display:none}.stalux-post-card{box-sizing:border-box;cursor:pointer;gap:var(--space-lg);border-radius:var(--radius-lg);background-color:var(--card-bg);height:100%;padding:var(--space-lg);box-shadow:var(--card-box-shadow);transition:transform .22s cubic-bezier(.22,.72,.22,1)}.stalux-stats-site-build-time{color:#fffc;margin-top:.5rem;font-size:.9rem}.stalux-stats-stats-separator{color:#ffffff80}.stalux-theme-info{color:var(--white-70p);gap:.3em;font-size:.85rem}.stalux-home-body{min-height:100vh;padding-bottom:var(--space-3xl);position:relative}.stalux-nav-container{box-sizing:border-box;max-width:100%;position:relative;overflow:hidden}.stalux-author{margin-top:4em}.stalux-card-post-cover{border-radius:var(--radius-md);flex-shrink:0;height:180px;margin-bottom:.5rem;overflow:hidden}.stalux-home-title{color:var(--white-full);text-shadow:var(--stalux-text-shadow);margin-top:1.5em;font-size:4em}.stalux-nav-item{text-shadow:var(--stalux-text-shadow);flex-shrink:0;margin-left:1em;margin-right:1em;font-size:1.3em}.stalux-page-description{color:var(--white-60p);margin-bottom:1.5em;font-size:1.2em}.stalux-page-title{text-shadow:var(--stalux-text-shadow);margin-top:1.5em;font-size:2.5em}.stalux-typewriter{min-height:2em;text-shadow:var(--stalux-text-shadow);margin-top:1.5em;font-size:2.5em}.stalux-404-error-container{min-height:60vh;padding:2rem}.stalux-badge,.stalux-badges-wrapper .stalux-badge{width:auto}.stalux-u-min-w-0{min-width:0}.stalux-u-w-full{width:100%}.stalux-u-flex{display:flex}.stalux-u-flex-col{flex-direction:column}.stalux-u-flex-wrap{flex-wrap:wrap}.stalux-u-items-center{align-items:center}.stalux-u-justify-center{justify-content:center}.stalux-badges,.stalux-badges-wrapper{gap:.5rem}.stalux-beian-beian-info{gap:1rem}.stalux-stats-site-stats{gap:.5rem;font-size:.9rem}.stalux-nav-text{white-space:nowrap;color:var(--white-full)}.stalux-badge-group-items{padding-top:.35rem}.stalux-u-text-center{text-align:center}.stalux-badge-group-hint{color:var(--white-70p);font-size:.7rem}.stalux-badge-group-title{color:var(--white-80p)}#stalux-home-show-post-list{cursor:pointer;text-shadow:var(--stalux-text-shadow);margin-top:3em;font-size:1.5em}.stalux-post-list-container{width:100%;height:auto;margin:5px 0}.stalux-post-list-container ul{flex-wrap:wrap;gap:2rem;margin:3em;padding:0;list-style-type:none;display:flex}.stalux-post-list-container ul>li{flex:min(22rem,100%);min-width:0;margin:0}.stalux-card-post-title a{color:inherit;text-decoration:none}.stalux-post-card>a:first-child{width:100%;min-width:0;display:block}.stalux-card-post-cover img{object-fit:cover;width:100%;max-width:100%;height:100%;transition:transform var(--transition-fast) ease}.stalux-post-card:is(:hover,:focus-within) .stalux-card-post-cover img{transform:scale(1.05)}.stalux-post-card:is(:hover,:focus-within){box-shadow:var(--card-box-shadow-hover);transform:translateY(-3px)}.stalux-card-post-date,.stalux-card-post-updated{color:#e8f2ff;border-radius:10px;align-items:center;gap:.35rem;width:fit-content;padding:.28rem .6rem;font-size:.9rem;line-height:1.1;display:inline-flex}.stalux-card-post-date{background:var(--date-bg);border:1px solid var(--date-border);color:#e8f2ff}.stalux-card-post-updated{background:var(--updated-bg);border:1px solid var(--updated-border);color:#fff7de}.stalux-card-post-tags a,.stalux-card-post-categories a{text-decoration:none}.stalux-card-post-tag:focus,.stalux-card-post-tag:hover{background:var(--tag-bg-hover)}.stalux-card-post-category:focus,.stalux-card-post-category:hover{background:var(--category-bg-hover)}.stalux-social{margin-top:3em}.stalux-social ul{flex-wrap:wrap;justify-content:center;gap:1em;margin:0;padding:0;display:flex}.stalux-social ul li{box-sizing:border-box;text-align:center;background-color:var(--white-15p);border-radius:9999px;justify-content:center;align-items:center;width:2.5em;height:2.5em;font-size:large;display:inline-flex;overflow:hidden}.stalux-social ul a,.stalux-social ul .stalux-social-icon-container,.stalux-social ul .stalux-social-custom-icon{justify-content:center;align-items:center;width:100%;height:100%;line-height:1;display:inline-flex}.stalux-social[data-stalux-social-animate=true] li{animation:.28s cubic-bezier(.2,.8,.2,1) both stalux-social-stalux-social-arrive}.stalux-social[data-stalux-social-animate=true] li:nth-child(2){animation-delay:30ms}.stalux-social[data-stalux-social-animate=true] li:nth-child(3){animation-delay:60ms}.stalux-social[data-stalux-social-animate=true] li:nth-child(4){animation-delay:90ms}.stalux-social[data-stalux-social-animate=true] li:nth-child(5){animation-delay:.12s}.stalux-social[data-stalux-social-animate=true] li:nth-child(6){animation-delay:.15s}.stalux-social[data-stalux-social-animate=true] li:nth-child(n+7){animation-delay:.18s}nav{width:100%;min-width:0;max-width:100%}.stalux-nav-scroll-btn:hover{background:0 0}.stalux-nav-scroll-btn[data-visible]{pointer-events:auto;opacity:1}.stalux-nav-scroll-btn[data-side=left]{left:4px}.stalux-nav-scroll-btn[data-side=right]{right:4px}.stalux-nav-container:hover .stalux-nav-scroll-btn[data-visible]{opacity:1}.stalux-nav-scroll-btn svg{stroke:currentColor;stroke-width:2px;fill:none;width:20px;height:20px}.stalux-nav-link,.stalux-nav-link:visited{cursor:pointer;width:100%;color:inherit;min-height:44px;font:inherit;background:0 0;border:none;align-items:center;gap:.5rem;padding:.5rem .75rem;text-decoration:none;display:flex}.stalux-nav-link .nav-icon{stroke:var(--white-full)}.stalux-nav-link:hover .nav-icon,.stalux-nav-link:hover .stalux-nav-text{stroke:var(--stalux-accent-color);color:var(--stalux-accent-color)}.stalux-nav-toggle svg{width:32px;height:32px}.stalux-nav-overlay[data-state=show]{pointer-events:auto;opacity:1;display:block}#stalux-to-archive-archs{margin-top:2em}#stalux-date-date-time{text-shadow:var(--stalux-text-shadow);color:var(--white-full);flex-direction:column;align-items:center;margin-top:2em;display:flex}#stalux-date-date-time #stalux-date-date{margin-bottom:.5em;font-size:2em}#stalux-date-date-time #stalux-date-time{font-size:3em}.stalux-author-figure{justify-content:center;align-items:center;display:flex}.stalux-author-figure img{box-shadow:0 0 10px var(--stalux-accent-color);border-radius:9999px;transition:transform 1s}.stalux-author-figure img:hover{transform:rotate(360deg)}.stalux-author-figure figcaption{text-shadow:var(--stalux-text-shadow);color:var(--white-full);margin-left:1em;font-size:2.5em;font-weight:700}.stalux-author-figure-column figcaption{text-align:center;margin-top:.5em;margin-left:0}.agent-home-summary{clip:rect(0, 0, 0, 0);white-space:normal;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.stalux-404-error-content h1{color:var(--white-90p);margin:0;font-size:6rem;font-weight:700}.stalux-404-error-content p{color:var(--white-70p);margin:1rem 0 2rem;font-size:1.5rem}.stalux-404-countdown-text{color:var(--white-50p)!important;margin:-.5rem 0 1.5rem!important;font-size:.95rem!important}.agent-recovery{max-width:42rem;line-height:1.7;margin:0 auto 1.5rem!important;font-size:1rem!important}.agent-recovery a{color:inherit;text-decoration-line:underline}.stalux-404-home-btn:hover{background:var(--accent-20p);box-shadow:0 4px 12px var(--shadow-dark);transform:translateY(-2px)}.stalux-theme-info span,.stalux-copyright span{margin:0}.stalux-theme-info a{color:#fffc;margin:0 .2em;text-decoration:none;transition:color .3s}.stalux-theme-info a:hover{color:#fff;text-decoration:none}.stalux-beian-beian-info a{color:#ffffffb3;font-size:.9rem;text-decoration:none;transition:color .3s}.stalux-beian-beian-info a:hover,.stalux-beian-public-security-beian:hover{color:#ffffffe6;text-decoration:none}.stalux-beian-public-security-beian img{width:15px;height:15px;display:inline-block}.stalux-badge-group-summary:hover{color:var(--white-70p)}.stalux-badge-group[open] .stalux-badge-group-hint[data-hint=collapsed],.stalux-badge-group:not([open]) .stalux-badge-group-hint[data-hint=expanded]{display:none}.stalux-badge-group-summary::-webkit-details-marker{display:none}.stalux-badge-group[open] .stalux-badge-group-arrow{transform:rotate(90deg)}@media (width<=1100px){.stalux-nav-list{gap:1rem}.stalux-nav-item{margin-left:.6em;margin-right:.6em;font-size:1em}}@media (width<=900px){.stalux-nav-item{margin-left:.25em;margin-right:.25em;font-size:.95em}.stalux-nav-list{gap:.5rem}}@media (width<=768px){.stalux-home-body{box-sizing:border-box;width:100%;max-width:95vw;height:auto;padding:2rem .5rem 1.5rem}.stalux-home-title{word-break:break-all;margin-top:1em;font-size:2em}.stalux-home-navs{flex-direction:column;align-items:center;gap:.5em}.stalux-home-navs nav{width:100%}#stalux-home-show-post-list{margin-top:2em;font-size:1.1em}.stalux-post-list-container ul{margin:1rem}.stalux-footer{padding:1.2rem 0;font-size:.8rem}.stalux-footer-content{gap:.6rem;padding:0 .8rem}.stalux-author{box-sizing:border-box;width:100%;max-width:95vw;margin-top:2em;padding:1em .5em}.stalux-author-figure{gap:.5em;flex-direction:column!important}.stalux-author-figure img{max-width:20vw;max-height:20vw;width:64px!important;height:64px!important}.stalux-author-figure figcaption{text-align:center;word-break:break-all;overflow-wrap:break-word;white-space:normal;max-width:90vw;margin-top:.5em;margin-left:0;font-size:1.5em}.stalux-404-error-content h1{font-size:4rem}.stalux-404-error-content p{font-size:1.2rem}.stalux-badges{gap:.3rem}.stalux-badge{width:auto}}@media (width<=600px){.stalux-nav-toggle{display:block;position:fixed;top:.75rem;left:.75rem}.stalux-nav-container{overflow:visible}nav{width:auto}.stalux-nav-list{pointer-events:none;z-index:1000;background:var(--black-20p);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:0;width:min(220px,100vw - 1rem);height:100vh;padding:.5rem 1rem 2rem;position:fixed;top:0;left:0;right:auto;overflow-y:auto;transform:translate(-100%)}.stalux-nav-list[data-state=open]{pointer-events:auto;transform:translate(0)}.stalux-nav-item{border-bottom:1px solid var(--white-10p);flex-shrink:0;width:100%;margin:0;font-size:.9em}.stalux-nav-text{display:inline}.stalux-nav-link{width:100%;min-height:44px;font-size:inherit;padding:.45rem .75rem}.stalux-nav-link .nav-icon{width:18px;height:18px}}@media (width<=480px){.stalux-footer{padding:1rem 0;font-size:.8rem}.stalux-footer-content{gap:.6rem;padding:0 .8rem}}@media (prefers-reduced-motion:reduce){.stalux-social[data-stalux-social-animate=true] li{animation:none}}@keyframes stalux-social-stalux-social-arrive{0%{opacity:0;transform:translateY(.75rem)rotate(-12deg)}to{opacity:1;transform:translateY(0)rotate(0)}}@keyframes stalux-random-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes stalux-post-content-reveal{0%{opacity:0}to{opacity:1}}@keyframes stalux-link-avatar-spin{0%{transform:rotate(0)scale(1.04)}to{transform:rotate(360deg)scale(1.04)}}@keyframes stalux-word-word-glow{0%{box-shadow:0 0 30px var(--accent-50p), 0 0 80px var(--accent-30p), var(--shadow-lg);transform:scale(1.02)}to{box-shadow:0 0 20px var(--accent-40p), 0 0 60px var(--accent-20p), var(--shadow-lg);transform:scale(1)}}}@layer utilities{.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.block{display:block}.h-full{height:100%}.px{padding-left:1rem;padding-right:1rem}.text-inherit{color:inherit}.no-underline{text-decoration:none}}@layer theme;@layer base{html,body{color:#fff;width:100%;height:100%;margin:0}:is(html,body) main{flex:1}html,body{scrollbar-color:#4a4a4a #2a2a2a;font-family:var(--font-body), "Noto Sans SC", "Noto Sans CJK SC", system-ui, -apple-system, sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;display:block}html[data-clarity-id]{opacity:1!important}a{color:inherit;cursor:pointer;-webkit-text-decoration-skip-ink:auto;text-decoration-skip-ink:auto;background-color:#0000;text-decoration:none;transition:color .2s,text-shadow .2s;position:relative}.a-none{cursor:pointer;-webkit-text-decoration-skip-ink:auto;text-decoration-skip-ink:auto;background-color:#0000;color:inherit!important;text-decoration:none!important}.a-none:after{display:none!important}a:after{content:"";background:linear-gradient(90deg, var(--stalux-accent-color), var(--accent-50p));transform-origin:0;pointer-events:none;width:100%;height:1px;transition:transform .25s cubic-bezier(.25,.9,.2,1);position:absolute;bottom:-2px;left:0;transform:scaleX(0)}a:hover:after,a:focus-visible:after,a:active:after{transform:scaleX(1)}a:hover,a:active,a:focus-visible{text-decoration:none}a:focus{outline:none}a:focus-visible{outline:2px solid var(--stalux-accent-color);outline-offset:2px}ul{margin:0;padding:0;list-style:none}.none{display:none}.stalux-root{color:#fff;min-height:100vh}.stalux-main{min-height:100vh}:root{--stalux-bg-color:#202020;--stalux-bg-filter:none;--stalux-text-shadow:var(--stalux-accent-color) .08rem .08rem .18rem;--stalux-accent-color:#eab308;--stalux-accent-rgb:234, 179, 8;--surface-glass:var(--black-05p);--surface-glass-shadow:var(--shadow-sidebar);--card-bg:var(--surface-glass);--card-border:#ffffff1a;--card-box-shadow:0 10px 24px #00000014;--card-box-shadow-hover:0 14px 28px #0000001f;--tag-bg:#ffffff1f;--tag-bg-hover:#ffffff2e;--category-bg:#ffffff14;--category-bg-hover:#ffffff24;--date-bg:#42a0ff2e;--date-border:#42a0ff40;--updated-bg:#ffc94733;--updated-border:#ffc9474d;--white-full:#fff;--white-95p:#fffffff2;--white-90p:#ffffffe6;--white-85p:#ffffffd9;--white-80p:#ffffffe6;--white-78p:#ffffffc7;--white-75p:#ffffffbf;--white-70p:#ffffffdb;--white-60p:#fff9;--white-50p:#ffffff80;--white-30p:#ffffff4d;--white-20p:#fff3;--white-15p:#ffffff26;--white-10p:#ffffff1a;--white-05p:#ffffff0d;--black-30p:#0000004d;--black-20p:#0003;--black-15p:#00000026;--black-10p:#0000001a;--black-05p:#0000000d;--accent-90p:rgba(var(--stalux-accent-rgb), .9);--accent-85p:rgba(var(--stalux-accent-rgb), .85);--accent-80p:rgba(var(--stalux-accent-rgb), .8);--accent-70p:rgba(var(--stalux-accent-rgb), .7);--accent-60p:rgba(var(--stalux-accent-rgb), .6);--accent-50p:rgba(var(--stalux-accent-rgb), .5);--accent-40p:rgba(var(--stalux-accent-rgb), .4);--accent-30p:rgba(var(--stalux-accent-rgb), .3);--accent-20p:rgba(var(--stalux-accent-rgb), .2);--transition-fast:.18s ease;--transition-medium:.2s ease;--transition-normal:.25s ease;--transition-slow:.3s ease;--transition-slower:.5s ease;--transition-slowest:.6s ease;--easing-bounce:cubic-bezier(.175, .885, .32, 1.275);--space-2xs:.25rem;--space-xs:.75rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-full:9999px;--shadow-sm:0 2px 5px #0000001a;--shadow-md:0 6px 16px #0003;--shadow-lg:0 8px 20px #0000004d;--shadow-xl:0 12px 26px #00000047;--shadow-sidebar:0 16px 20px -12px #000000d6, 10px 4px 16px -12px #00000094, -10px 4px 16px -12px #00000094;--shadow-raised-hover:0 20px 24px -13px #000000e6, 12px 5px 18px -13px #000000ad, -12px 5px 18px -13px #000000ad;--shadow-dark:#000000c0;--muted-text:#bbb;--font-body:"Noto Sans SC", "Noto Sans CJK SC", system-ui, sans-serif;--font-size-subtitle:1.35rem;--font-size-base:1.1rem;--font-size-small:.95rem;--font-size-smaller:.9rem;--font-size-tiny:.85rem;--border-thin:1px;--border-medium:2px;--border-thick:3px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#2a2a2a;border-radius:4px}::-webkit-scrollbar-thumb{background:#4a4a4a;border-radius:4px;transition:background .3s ease-out}::-webkit-scrollbar-thumb:hover{background:#5a5a5a}::-webkit-scrollbar-corner{background:#2a2a2a}.bg-layer{z-index:-10;background-position:50%;background-repeat:repeat;background-size:auto;background-color:var(--stalux-bg-color,transparent);filter:var(--stalux-bg-filter,none);pointer-events:none;opacity:0;forced-color-adjust:none;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only;transition:opacity .65s ease-in-out;position:fixed;inset:0}@media (prefers-reduced-motion:reduce){.bg-layer{transition-duration:0s}}footer{padding:var(--space-lg) var(--space-md);text-align:center;color:var(--muted-text);border-top:1px solid var(--white-10p);-webkit-backdrop-filter:blur(16px);background:linear-gradient(#0c0e122e,#0c0e12b8)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.stagger-children>:first-child{animation-delay:.1s}.stagger-children>:nth-child(2){animation-delay:.15s}.stagger-children>:nth-child(3){animation-delay:.2s}.stagger-children>:nth-child(4){animation-delay:.25s}.stagger-children>:nth-child(5){animation-delay:.3s}.stagger-children>:nth-child(n+6){animation-delay:.35s}@keyframes stalux-page-exit{to{opacity:0}}@keyframes stalux-page-enter{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@keyframes stalux-page-enter-back{0%{opacity:0;transform:translateY(-9px)}to{opacity:1;transform:translateY(0)}}@keyframes stalux-taxonomy-enter{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}@keyframes stalux-taxonomy-enter-back{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@keyframes stalux-article-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes stalux-article-enter-back{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes stalux-sidebar-left-in{0%{opacity:0;transform:translate(-14px)}to{opacity:1;transform:translate(0)}}@keyframes stalux-sidebar-left-out{to{opacity:0;transform:translate(-10px)}}@keyframes stalux-sidebar-left-back-in{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:translate(0)}}@keyframes stalux-sidebar-left-back-out{to{opacity:0;transform:translate(10px)}}@keyframes stalux-sidebar-right-in{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:translate(0)}}@keyframes stalux-sidebar-right-out{to{opacity:0;transform:translate(10px)}}@keyframes stalux-sidebar-right-back-in{0%{opacity:0;transform:translate(-14px)}to{opacity:1;transform:translate(0)}}@keyframes stalux-sidebar-right-back-out{to{opacity:0;transform:translate(-10px)}}::view-transition-group(stalux-page){z-index:1}::view-transition-old(stalux-page){transform-origin:top}::view-transition-new(stalux-page){transform-origin:top}::view-transition-group(*){animation-duration:.24s;animation-timing-function:cubic-bezier(.22,.72,.22,1)}@media (prefers-reduced-motion:reduce){::view-transition-group(*){animation-duration:1ms!important;animation-delay:0s!important}::view-transition-old(*){animation-duration:1ms!important;animation-delay:0s!important}::view-transition-new(*){animation-duration:1ms!important;animation-delay:0s!important}.stalux-main,.stalux-main *,.postLayout *{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}
2
+ @layer components{.stalux-404-home-btn{background:var(--black-20p);border:var(--border-thin) solid var(--white-20p);transition:background-color var(--transition-normal), transform var(--transition-normal), box-shadow var(--transition-normal);border-radius:var(--radius-md);padding:var(--space-md) var(--space-lg);color:var(--white-90p);font-size:var(--font-size-base);text-decoration:none;display:inline-block}.stalux-ai-prompt{clip:rect(0, 0, 0, 0);white-space:pre-wrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.stalux-badge-group{border:none}.stalux-badge-group-arrow{font-size:.65rem;transition:transform .2s;display:inline-block}.stalux-badge-group-summary{-webkit-user-select:none;user-select:none;cursor:pointer;color:var(--white-70p);gap:.4rem;padding:.2rem 0;font-size:.85rem;list-style-type:none;transition:color .2s}.stalux-beian-public-security-beian{color:#ffffffb3;gap:5px;font-size:.9rem;text-decoration:none;transition:color .3s;display:inline-flex}.stalux-card-post-categories,.stalux-card-post-tags{gap:.4rem}.stalux-card-post-category{background:var(--category-bg);color:#fff;border-radius:6px;padding:.18rem .5rem;font-size:.84rem;line-height:1;display:inline-block}.stalux-card-post-description{overflow-wrap:anywhere;color:var(--white-70p);line-height:1.6}.stalux-card-post-meta{gap:.6rem}.stalux-card-post-tag{background:var(--tag-bg);color:#fff;border-radius:9999px;padding:.22rem .7rem;font-size:.85rem;line-height:1;display:inline-block}.stalux-card-post-title{overflow-wrap:anywhere;margin:0;line-height:1.35}.stalux-card-read-more{align-self:flex-start;margin-top:.6rem}.stalux-card-time{gap:.45rem;display:inline-flex}.stalux-copyright{color:var(--white-70p);gap:.3em;font-weight:500}.stalux-footer{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--white-full);background-color:#0000001a;margin-top:auto;padding:1.5rem 0;font-size:.9rem}.stalux-footer-content{gap:.8rem;max-width:1200px;margin:0 auto;padding:0 1rem}.stalux-home-navs{order:-1;max-width:100%}.stalux-nav-list{transform:scale(var(--nav-scale,1));transform-origin:50%;box-sizing:border-box;gap:2rem;max-width:100%;transition:transform .22s cubic-bezier(.22,.72,.22,1);overflow:visible}.stalux-nav-overlay{pointer-events:none;z-index:999;opacity:0;background:#0009;height:100%;transition:opacity .3s;display:none;position:fixed;top:0;left:0}.stalux-nav-scroll-btn{background:var(--black-30p);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow-md);pointer-events:none;z-index:10;cursor:pointer;width:36px;height:36px;color:var(--white-full);opacity:0;border:none;border-radius:9999px;padding:0;transition:opacity .25s;display:none;position:absolute;top:50%;transform:translateY(-50%)}.stalux-nav-toggle{z-index:1001;cursor:pointer;min-width:48px;min-height:48px;color:inherit;background:0 0;border:none;padding:.75rem;display:none}.stalux-post-card{box-sizing:border-box;cursor:pointer;gap:var(--space-lg);border-radius:var(--radius-lg);background-color:var(--card-bg);height:100%;padding:var(--space-lg);box-shadow:var(--card-box-shadow);transition:transform .22s cubic-bezier(.22,.72,.22,1)}.stalux-stats-site-build-time{color:#fffc;margin-top:.5rem;font-size:.9rem}.stalux-stats-stats-separator{color:#ffffff80}.stalux-theme-info{color:var(--white-70p);gap:.3em;font-size:.85rem}.stalux-home-body{min-height:100vh;padding-bottom:var(--space-3xl);position:relative}.stalux-nav-container{box-sizing:border-box;max-width:100%;position:relative;overflow:hidden}.stalux-author{margin-top:4em}.stalux-card-post-cover{border-radius:var(--radius-md);flex-shrink:0;height:180px;margin-bottom:.5rem;overflow:hidden}.stalux-home-title{color:var(--white-full);text-shadow:var(--stalux-text-shadow);margin-top:1.5em;font-size:4em}.stalux-nav-item{text-shadow:var(--stalux-text-shadow);flex-shrink:0;margin-left:1em;margin-right:1em;font-size:1.3em}.stalux-page-description{color:var(--white-60p);margin-bottom:1.5em;font-size:1.2em}.stalux-page-title{text-shadow:var(--stalux-text-shadow);margin-top:1.5em;font-size:2.5em}.stalux-typewriter{min-height:2em;text-shadow:var(--stalux-text-shadow);margin-top:1.5em;font-size:2.5em}.stalux-404-error-container{min-height:60vh;padding:2rem}.stalux-badge,.stalux-badges-wrapper .stalux-badge{width:auto}.stalux-u-min-w-0{min-width:0}.stalux-u-w-full{width:100%}.stalux-u-flex{display:flex}.stalux-u-flex-col{flex-direction:column}.stalux-u-flex-wrap{flex-wrap:wrap}.stalux-u-items-center{align-items:center}.stalux-u-justify-center{justify-content:center}.stalux-badges,.stalux-badges-wrapper{gap:.5rem}.stalux-beian-beian-info{gap:1rem}.stalux-stats-site-stats{gap:.5rem;font-size:.9rem}.stalux-nav-text{white-space:nowrap;color:var(--white-full)}.stalux-badge-group-items{padding-top:.35rem}.stalux-u-text-center{text-align:center}.stalux-badge-group-hint{color:var(--white-70p);font-size:.7rem}.stalux-badge-group-title{color:var(--white-80p)}#stalux-home-show-post-list{cursor:pointer;text-shadow:var(--stalux-text-shadow);margin-top:3em;font-size:1.5em}.stalux-post-list-container{width:100%;height:auto;margin:5px 0}.stalux-post-list-container ul{flex-wrap:wrap;gap:2rem;margin:3em;padding:0;list-style-type:none;display:flex}.stalux-post-list-container ul>li{flex:min(22rem,100%);min-width:0;margin:0}.stalux-card-post-title a{color:inherit;text-decoration:none}.stalux-post-card>a:first-child{width:100%;min-width:0;display:block}.stalux-card-post-cover img{object-fit:cover;width:100%;max-width:100%;height:100%;transition:transform var(--transition-fast)}.stalux-card-post-date,.stalux-card-post-updated{color:#e8f2ff;border-radius:10px;align-items:center;gap:.35rem;width:fit-content;padding:.28rem .6rem;font-size:.9rem;line-height:1.1;display:inline-flex}.stalux-card-post-date{background:var(--date-bg);border:1px solid var(--date-border);color:#e8f2ff}.stalux-card-post-updated{background:var(--updated-bg);border:1px solid var(--updated-border);color:#fff7de}.stalux-card-post-tags a,.stalux-card-post-categories a{text-decoration:none}.stalux-card-post-tags a:focus-visible .stalux-card-post-tag{background:var(--tag-bg-hover)}.stalux-card-post-categories a:focus-visible .stalux-card-post-category{background:var(--category-bg-hover)}.stalux-social{margin-top:3em}.stalux-social ul{flex-wrap:wrap;justify-content:center;gap:1em;margin:0;padding:0;display:flex}.stalux-social ul li{box-sizing:border-box;text-align:center;background-color:var(--white-15p);border-radius:9999px;justify-content:center;align-items:center;width:2.5em;height:2.5em;font-size:large;display:inline-flex;overflow:hidden}.stalux-social ul a,.stalux-social ul .stalux-social-icon-container,.stalux-social ul .stalux-social-custom-icon{justify-content:center;align-items:center;width:100%;height:100%;line-height:1;display:inline-flex}.stalux-social[data-stalux-social-animate=true] li{animation:.28s cubic-bezier(.2,.8,.2,1) both stalux-social-stalux-social-arrive}.stalux-social[data-stalux-social-animate=true] li:nth-child(2){animation-delay:30ms}.stalux-social[data-stalux-social-animate=true] li:nth-child(3){animation-delay:60ms}.stalux-social[data-stalux-social-animate=true] li:nth-child(4){animation-delay:90ms}.stalux-social[data-stalux-social-animate=true] li:nth-child(5){animation-delay:.12s}.stalux-social[data-stalux-social-animate=true] li:nth-child(6){animation-delay:.15s}.stalux-social[data-stalux-social-animate=true] li:nth-child(n+7){animation-delay:.18s}nav{width:100%;min-width:0;max-width:100%}.stalux-nav-scroll-btn[data-visible]{pointer-events:auto;opacity:1}.stalux-nav-scroll-btn[data-side=left]{left:4px}.stalux-nav-scroll-btn[data-side=right]{right:4px}.stalux-nav-scroll-btn svg{stroke:currentColor;stroke-width:2px;fill:none;width:20px;height:20px}.stalux-nav-link,.stalux-nav-link:visited{cursor:pointer;width:100%;color:inherit;min-height:44px;font:inherit;background:0 0;border:none;align-items:center;gap:.5rem;padding:.5rem .75rem;text-decoration:none;display:flex}.stalux-nav-link .nav-icon{stroke:var(--white-full)}.stalux-nav-toggle svg{width:32px;height:32px}.stalux-nav-overlay[data-state=show]{pointer-events:auto;opacity:1;display:block}#stalux-to-archive-archs{margin-top:2em}#stalux-date-date-time{text-shadow:var(--stalux-text-shadow);color:var(--white-full);flex-direction:column;align-items:center;margin-top:2em;display:flex}#stalux-date-date-time #stalux-date-date{margin-bottom:.5em;font-size:2em}#stalux-date-date-time #stalux-date-time{font-size:3em}.stalux-author-figure{justify-content:center;align-items:center;display:flex}.stalux-author-figure img{box-shadow:0 0 10px var(--stalux-accent-color);border-radius:9999px;transition:transform .65s ease-in-out}.stalux-author-figure figcaption{text-shadow:var(--stalux-text-shadow);color:var(--white-full);margin-left:1em;font-size:2.5em;font-weight:700}.stalux-author-figure-column figcaption{text-align:center;margin-top:.5em;margin-left:0}.agent-home-summary{clip:rect(0, 0, 0, 0);white-space:normal;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.stalux-404-error-content h1{color:var(--white-90p);margin:0;font-size:6rem;font-weight:700}.stalux-404-error-content p{color:var(--white-70p);margin:1rem 0 2rem;font-size:1.5rem}.stalux-404-countdown-text{color:var(--white-50p)!important;margin:-.5rem 0 1.5rem!important;font-size:.95rem!important}.agent-recovery{max-width:42rem;line-height:1.7;margin:0 auto 1.5rem!important;font-size:1rem!important}.agent-recovery a{color:inherit;text-decoration-line:underline}.stalux-theme-info span,.stalux-copyright span{margin:0}.stalux-theme-info a{color:#fffc;margin:0 .2em;text-decoration:none;transition:color .3s}.stalux-beian-beian-info a{color:#ffffffb3;font-size:.9rem;text-decoration:none;transition:color .3s}.stalux-beian-public-security-beian img{width:15px;height:15px;display:inline-block}.stalux-badge-group[open] .stalux-badge-group-hint[data-hint=collapsed],.stalux-badge-group:not([open]) .stalux-badge-group-hint[data-hint=expanded]{display:none}.stalux-badge-group-summary::-webkit-details-marker{display:none}.stalux-badge-group[open] .stalux-badge-group-arrow{transform:rotate(90deg)}@media (hover:hover) and (pointer:fine){.stalux-card-post-tags a:hover .stalux-card-post-tag{background:var(--tag-bg-hover)}.stalux-card-post-categories a:hover .stalux-card-post-category{background:var(--category-bg-hover)}.stalux-post-card-shell:hover .stalux-post-card .stalux-card-post-cover img{transform:scale(1.025)}.stalux-post-card-shell:hover .stalux-post-card{box-shadow:var(--card-box-shadow-hover)}.stalux-nav-scroll-btn:hover{background:0 0}.stalux-nav-container:hover .stalux-nav-scroll-btn[data-visible]{opacity:1}.stalux-nav-link:hover .nav-icon,.stalux-nav-link:hover .stalux-nav-text{stroke:var(--stalux-accent-color);color:var(--stalux-accent-color)}.stalux-author-figure>a:hover img{animation:.65s ease-in-out stalux-link-avatar-spin}.stalux-404-home-btn:hover{background:var(--accent-20p);box-shadow:0 4px 12px var(--shadow-dark)}.stalux-theme-info a:hover{color:#fff;text-decoration:none}.stalux-beian-beian-info a:hover,.stalux-beian-public-security-beian:hover{color:#ffffffe6;text-decoration:none}.stalux-badge-group-summary:hover{color:var(--white-70p)}}@media (width<=1100px){.stalux-nav-list{gap:1rem}.stalux-nav-item{margin-left:.6em;margin-right:.6em;font-size:1em}}@media (width<=900px){.stalux-nav-item{margin-left:.25em;margin-right:.25em;font-size:.95em}.stalux-nav-list{gap:.5rem}}@media (width<=768px){.stalux-home-body{box-sizing:border-box;width:100%;max-width:95vw;height:auto;padding:2rem .5rem 1.5rem}.stalux-home-title{word-break:break-all;margin-top:1em;font-size:2em}.stalux-home-navs{flex-direction:column;align-items:center;gap:.5em}.stalux-home-navs nav{width:100%}#stalux-home-show-post-list{margin-top:2em;font-size:1.1em}.stalux-post-list-container ul{margin:1rem}.stalux-footer{padding:1.2rem 0;font-size:.8rem}.stalux-footer-content{gap:.6rem;padding:0 .8rem}.stalux-author{box-sizing:border-box;width:100%;max-width:95vw;margin-top:2em;padding:1em .5em}.stalux-author-figure{gap:.5em;flex-direction:column!important}.stalux-author-figure img{max-width:20vw;max-height:20vw;width:64px!important;height:64px!important}.stalux-author-figure figcaption{text-align:center;word-break:break-all;overflow-wrap:break-word;white-space:normal;max-width:90vw;margin-top:.5em;margin-left:0;font-size:1.5em}.stalux-404-error-content h1{font-size:4rem}.stalux-404-error-content p{font-size:1.2rem}.stalux-badges{gap:.3rem}.stalux-badge{width:auto}}@media (width<=600px){.stalux-nav-toggle{display:block;position:fixed;top:.75rem;left:.75rem}.stalux-nav-container{overflow:visible}nav{width:auto}.stalux-nav-list{pointer-events:none;z-index:1000;background:var(--black-20p);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:0;width:min(220px,100vw - 1rem);height:100vh;padding:.5rem 1rem 2rem;position:fixed;top:0;left:0;right:auto;overflow-y:auto;transform:translate(-100%)}.stalux-nav-list[data-state=open]{pointer-events:auto;transform:translate(0)}.stalux-nav-item{border-bottom:1px solid var(--white-10p);flex-shrink:0;width:100%;margin:0;font-size:.9em}.stalux-nav-text{display:inline}.stalux-nav-link{width:100%;min-height:44px;font-size:inherit;padding:.45rem .75rem}.stalux-nav-link .nav-icon{width:18px;height:18px}}@media (width<=480px){.stalux-footer{padding:1rem 0;font-size:.8rem}.stalux-footer-content{gap:.6rem;padding:0 .8rem}}@media (prefers-reduced-motion:reduce){.stalux-social[data-stalux-social-animate=true] li{animation:none}}.stalux-main,.stalux-post-page,.stalux-post-layout>*,.stalux-link-card-content,.stalux-word-list-item,.stalux-word-card{box-sizing:border-box;min-width:0;max-width:100%}.stalux-main{overflow-wrap:anywhere}.stalux-link-shell{min-width:0;max-width:100%;display:block}.stalux-link-card{box-sizing:border-box;width:100%;max-width:100%}.stalux-category-shell{width:100%;min-width:0}.stalux-author-figure>a{flex-shrink:0;display:inline-block}.stalux-author-figure img{display:block}.stalux-post-card-shell,.stalux-category-shell,.stalux-link-shell{position:relative}.stalux-post-card,.stalux-category-card,.stalux-link-card,.stalux-word-card{transition:transform .2s,background-color .2s,border-color .2s,box-shadow .2s}:is(.stalux-post-card-shell,.stalux-category-shell):focus-within>*,.stalux-link-shell:focus-visible>*{box-shadow:var(--card-box-shadow-hover)}:is(button,summary,[role=button]):focus-visible{outline:2px solid var(--stalux-accent-color);outline-offset:3px}@media (prefers-reduced-motion:reduce){.stalux-main *,.stalux-main :before,.stalux-main :after{transition-duration:0s!important;animation:none!important}.stalux-post-card,.stalux-category-card,.stalux-link-card,.stalux-link-card-content,.stalux-card-post-cover img,.stalux-category-icon,.stalux-author-figure img,.stalux-link-card-avatar img{transform:none!important}}@keyframes stalux-social-stalux-social-arrive{0%{opacity:0;transform:translateY(.75rem)rotate(-12deg)}to{opacity:1;transform:translateY(0)rotate(0)}}@keyframes stalux-random-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes stalux-post-content-reveal{0%{opacity:0}to{opacity:1}}@keyframes stalux-link-avatar-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes stalux-word-word-glow{0%{box-shadow:0 0 30px var(--accent-50p), 0 0 80px var(--accent-30p), var(--shadow-lg);transform:scale(1.02)}to{box-shadow:0 0 20px var(--accent-40p), 0 0 60px var(--accent-20p), var(--shadow-lg);transform:scale(1)}}}@layer utilities{.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.block{display:block}.h-full{height:100%}.px{padding-left:1rem;padding-right:1rem}.text-inherit{color:inherit}.no-underline{text-decoration:none}}@layer theme;@layer base{html,body{color:#fff;width:100%;height:100%;margin:0}:is(html,body) main{flex:1}html,body{scrollbar-color:#4a4a4a #2a2a2a;font-family:var(--font-body), "Noto Sans SC", "Noto Sans CJK SC", system-ui, -apple-system, sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;display:block}html[data-clarity-id]{opacity:1!important}a{color:inherit;cursor:pointer;-webkit-text-decoration-skip-ink:auto;text-decoration-skip-ink:auto;background-color:#0000;text-decoration:none;transition:color .2s,text-shadow .2s;position:relative}.a-none{cursor:pointer;-webkit-text-decoration-skip-ink:auto;text-decoration-skip-ink:auto;background-color:#0000;color:inherit!important;text-decoration:none!important}.a-none:after{display:none!important}a:not(.a-none):not([class*=card]):not(.stalux-nav-link):after{content:"";background:linear-gradient(90deg, var(--stalux-accent-color), var(--accent-50p));transform-origin:0;pointer-events:none;width:100%;height:1px;transition:transform .25s cubic-bezier(.25,.9,.2,1);position:absolute;bottom:-2px;left:0;transform:scaleX(0)}a:not(.a-none):not([class*=card]):not(.stalux-nav-link):focus-visible:after,a:not(.a-none):not([class*=card]):not(.stalux-nav-link):active:after{transform:scaleX(1)}@media (hover:hover) and (pointer:fine){a:not(.a-none):not([class*=card]):not(.stalux-nav-link):hover:after{transform:scaleX(1)}}a:active,a:focus-visible{text-decoration:none}@media (hover:hover) and (pointer:fine){a:hover{text-decoration:none}}a:focus{outline:none}a:focus-visible{outline:2px solid var(--stalux-accent-color);outline-offset:2px}ul{margin:0;padding:0;list-style:none}.none{display:none}.stalux-root{color:#fff;min-height:100vh}.stalux-main{min-height:100vh}:root{--stalux-bg-color:#202020;--stalux-bg-filter:none;--stalux-text-shadow:var(--stalux-accent-color) .08rem .08rem .18rem;--stalux-accent-color:#eab308;--stalux-accent-rgb:234, 179, 8;--surface-glass:var(--black-05p);--surface-glass-shadow:var(--shadow-sidebar);--card-bg:var(--surface-glass);--card-border:#ffffff1a;--card-box-shadow:0 10px 24px #00000014;--card-box-shadow-hover:0 14px 28px #0000001f;--tag-bg:#ffffff1f;--tag-bg-hover:#ffffff2e;--category-bg:#ffffff14;--category-bg-hover:#ffffff24;--date-bg:#42a0ff2e;--date-border:#42a0ff40;--updated-bg:#ffc94733;--updated-border:#ffc9474d;--white-full:#fff;--white-95p:#fffffff2;--white-90p:#ffffffe6;--white-85p:#ffffffd9;--white-80p:#ffffffe6;--white-78p:#ffffffc7;--white-75p:#ffffffbf;--white-70p:#ffffffdb;--white-60p:#fff9;--white-50p:#ffffff80;--white-30p:#ffffff4d;--white-20p:#fff3;--white-15p:#ffffff26;--white-10p:#ffffff1a;--white-05p:#ffffff0d;--black-30p:#0000004d;--black-20p:#0003;--black-15p:#00000026;--black-10p:#0000001a;--black-05p:#0000000d;--accent-90p:rgba(var(--stalux-accent-rgb), .9);--accent-85p:rgba(var(--stalux-accent-rgb), .85);--accent-80p:rgba(var(--stalux-accent-rgb), .8);--accent-70p:rgba(var(--stalux-accent-rgb), .7);--accent-60p:rgba(var(--stalux-accent-rgb), .6);--accent-50p:rgba(var(--stalux-accent-rgb), .5);--accent-40p:rgba(var(--stalux-accent-rgb), .4);--accent-30p:rgba(var(--stalux-accent-rgb), .3);--accent-20p:rgba(var(--stalux-accent-rgb), .2);--transition-fast:.18s ease;--transition-medium:.2s ease;--transition-normal:.25s ease;--transition-slow:.3s ease;--transition-slower:.5s ease;--transition-slowest:.6s ease;--easing-bounce:cubic-bezier(.175, .885, .32, 1.275);--space-2xs:.25rem;--space-xs:.75rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-full:9999px;--shadow-sm:0 2px 5px #0000001a;--shadow-md:0 6px 16px #0003;--shadow-lg:0 8px 20px #0000004d;--shadow-xl:0 12px 26px #00000047;--shadow-sidebar:0 16px 20px -12px #000000d6, 10px 4px 16px -12px #00000094, -10px 4px 16px -12px #00000094;--shadow-raised-hover:0 20px 24px -13px #000000e6, 12px 5px 18px -13px #000000ad, -12px 5px 18px -13px #000000ad;--shadow-dark:#000000c0;--muted-text:#bbb;--font-body:"Noto Sans SC", "Noto Sans CJK SC", system-ui, sans-serif;--font-size-subtitle:1.35rem;--font-size-base:1.1rem;--font-size-small:.95rem;--font-size-smaller:.9rem;--font-size-tiny:.85rem;--border-thin:1px;--border-medium:2px;--border-thick:3px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#2a2a2a;border-radius:4px}::-webkit-scrollbar-thumb{background:#4a4a4a;border-radius:4px;transition:background .3s ease-out}@media (hover:hover) and (pointer:fine){::-webkit-scrollbar-thumb:hover{background:#5a5a5a}}::-webkit-scrollbar-corner{background:#2a2a2a}.bg-layer{z-index:-10;background-position:50%;background-repeat:repeat;background-size:auto;background-color:var(--stalux-bg-color,transparent);filter:var(--stalux-bg-filter,none);pointer-events:none;opacity:0;forced-color-adjust:none;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only;transition:opacity .65s ease-in-out;position:fixed;inset:0}@media (prefers-reduced-motion:reduce){.bg-layer{transition-duration:0s}}footer{padding:var(--space-lg) var(--space-md);text-align:center;color:var(--muted-text);border-top:1px solid var(--white-10p);-webkit-backdrop-filter:blur(16px);background:linear-gradient(#0c0e122e,#0c0e12b8)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.stagger-children>:first-child{animation-delay:.1s}.stagger-children>:nth-child(2){animation-delay:.15s}.stagger-children>:nth-child(3){animation-delay:.2s}.stagger-children>:nth-child(4){animation-delay:.25s}.stagger-children>:nth-child(5){animation-delay:.3s}.stagger-children>:nth-child(n+6){animation-delay:.35s}@keyframes stalux-page-exit{to{opacity:0}}@keyframes stalux-page-enter{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@keyframes stalux-page-enter-back{0%{opacity:0;transform:translateY(-9px)}to{opacity:1;transform:translateY(0)}}@keyframes stalux-taxonomy-enter{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}@keyframes stalux-taxonomy-enter-back{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@keyframes stalux-article-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes stalux-article-enter-back{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes stalux-sidebar-left-in{0%{opacity:0;transform:translate(-14px)}to{opacity:1;transform:translate(0)}}@keyframes stalux-sidebar-left-out{to{opacity:0;transform:translate(-10px)}}@keyframes stalux-sidebar-left-back-in{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:translate(0)}}@keyframes stalux-sidebar-left-back-out{to{opacity:0;transform:translate(10px)}}@keyframes stalux-sidebar-right-in{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:translate(0)}}@keyframes stalux-sidebar-right-out{to{opacity:0;transform:translate(10px)}}@keyframes stalux-sidebar-right-back-in{0%{opacity:0;transform:translate(-14px)}to{opacity:1;transform:translate(0)}}@keyframes stalux-sidebar-right-back-out{to{opacity:0;transform:translate(-10px)}}::view-transition-group(stalux-page){z-index:1}::view-transition-old(stalux-page){transform-origin:top}::view-transition-new(stalux-page){transform-origin:top}::view-transition-group(*){animation-duration:.24s;animation-timing-function:cubic-bezier(.22,.72,.22,1)}@media (prefers-reduced-motion:reduce){::view-transition-group(*){animation-duration:1ms!important;animation-delay:0s!important}::view-transition-old(*){animation-duration:1ms!important;animation-delay:0s!important}::view-transition-new(*){animation-duration:1ms!important;animation-delay:0s!important}.stalux-main,.stalux-main *,.postLayout *{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}
3
3
  /*$vite$:1*/
@@ -39,7 +39,11 @@
39
39
  color: var(--white-90p) !important;
40
40
  border: 1px solid rgba(100, 100, 100, 0.3) !important;
41
41
  border-radius: 8px;
42
- transition: all 0.3s ease;
42
+ transition:
43
+ background-color 200ms ease,
44
+ border-color 200ms ease,
45
+ box-shadow 200ms ease,
46
+ color 200ms ease;
43
47
  }
44
48
 
45
49
  /* 输入框焦点状态 */
@@ -70,25 +74,30 @@
70
74
  color: var(--white-full) !important;
71
75
  border: none !important;
72
76
  border-radius: 6px;
73
- transition: all 0.2s ease;
77
+ transition:
78
+ background-color 180ms ease,
79
+ border-color 180ms ease,
80
+ color 180ms ease;
74
81
  font-weight: 500;
75
82
  padding: 8px 15px;
76
83
  }
77
-
78
- .wl-btn:hover {
79
- background: rgba(var(--waline-accent-rgb), 0.7) !important;
80
- transform: none;
81
- box-shadow: none !important;
84
+ @media (hover: hover) and (pointer: fine) {
85
+ .wl-btn:hover {
86
+ background: rgba(var(--waline-accent-rgb), 0.7) !important;
87
+ transform: none;
88
+ box-shadow: none !important;
89
+ }
82
90
  }
83
91
 
84
92
  .wl-btn.primary {
85
93
  background: rgba(var(--waline-accent-rgb), 0.6) !important;
86
94
  }
87
-
88
- .wl-btn.primary:hover {
89
- background: rgba(var(--waline-accent-rgb), 0.7) !important;
90
- transform: none;
91
- box-shadow: none !important;
95
+ @media (hover: hover) and (pointer: fine) {
96
+ .wl-btn.primary:hover {
97
+ background: rgba(var(--waline-accent-rgb), 0.7) !important;
98
+ transform: none;
99
+ box-shadow: none !important;
100
+ }
92
101
  }
93
102
 
94
103
  /* 标签文字颜色 */
@@ -104,24 +113,33 @@
104
113
  padding: 1.2rem;
105
114
  margin-top: 1.2rem;
106
115
  border: 1px solid rgba(70, 70, 70, 0.2) !important;
107
- transition: all 0.3s ease;
108
- }
109
-
110
- .wl-card:hover {
111
- transform: translateY(-3px);
112
- box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08);
113
- border-color: rgba(var(--waline-accent-rgb), 0.3) !important;
116
+ transition:
117
+ background-color 200ms ease,
118
+ border-color 200ms ease,
119
+ box-shadow 200ms ease,
120
+ color 200ms ease;
121
+ }
122
+ @media (hover: hover) and (pointer: fine) {
123
+ .wl-card:hover {
124
+ transform: none;
125
+ box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08);
126
+ border-color: rgba(var(--waline-accent-rgb), 0.3) !important;
127
+ }
114
128
  }
115
129
 
116
130
  /* 修改用户名样式 */
117
131
  .wl-nick {
118
132
  color: rgba(var(--waline-accent-rgb), 0.95) !important;
119
133
  font-weight: 600;
120
- transition: all 0.2s ease;
121
- }
122
-
123
- .wl-nick:hover {
124
- color: rgba(var(--waline-accent-rgb), 1) !important;
134
+ transition:
135
+ background-color 180ms ease,
136
+ border-color 180ms ease,
137
+ color 180ms ease;
138
+ }
139
+ @media (hover: hover) and (pointer: fine) {
140
+ .wl-nick:hover {
141
+ color: rgba(var(--waline-accent-rgb), 1) !important;
142
+ }
125
143
  }
126
144
 
127
145
  /* 评论内容样式 */
@@ -135,12 +153,16 @@
135
153
  /* 回复按钮样式 */
136
154
  .wl-reply {
137
155
  opacity: 0.8;
138
- transition: all 0.2s ease;
156
+ transition:
157
+ background-color 180ms ease,
158
+ border-color 180ms ease,
159
+ color 180ms ease;
139
160
  }
140
-
141
- .wl-reply:hover {
142
- opacity: 1;
143
- text-decoration: none;
161
+ @media (hover: hover) and (pointer: fine) {
162
+ .wl-reply:hover {
163
+ opacity: 1;
164
+ text-decoration: none;
165
+ }
144
166
  }
145
167
 
146
168
  /* 表情面板样式 */
@@ -156,12 +178,16 @@
156
178
  /* 表情按钮样式 */
157
179
  .wl-emoji-popup button {
158
180
  border-radius: 6px;
159
- transition: all 0.2s ease;
160
- }
161
-
162
- .wl-emoji-popup button:hover {
163
- background-color: rgba(var(--waline-accent-rgb), 0.2);
164
- transform: scale(1.05);
181
+ transition:
182
+ background-color 180ms ease,
183
+ border-color 180ms ease,
184
+ color 180ms ease;
185
+ }
186
+ @media (hover: hover) and (pointer: fine) {
187
+ .wl-emoji-popup button:hover {
188
+ background-color: rgba(var(--waline-accent-rgb), 0.2);
189
+ transform: scale(1.05);
190
+ }
165
191
  }
166
192
 
167
193
  /* 文章评价反应区域 */
@@ -190,15 +216,20 @@
190
216
  background-color: rgba(30, 30, 30, 0.5) !important;
191
217
  border-radius: 8px;
192
218
  margin: 5px;
193
- transition: all 0.3s ease;
219
+ transition:
220
+ background-color 200ms ease,
221
+ border-color 200ms ease,
222
+ box-shadow 200ms ease,
223
+ color 200ms ease;
194
224
  border: 1px solid rgba(70, 70, 70, 0.2) !important;
195
225
  }
196
-
197
- .wl-reaction-item:hover {
198
- transform: translateY(-3px);
199
- box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
200
- background-color: rgba(40, 40, 40, 0.8) !important;
201
- border-color: rgba(var(--waline-accent-rgb), 0.3) !important;
226
+ @media (hover: hover) and (pointer: fine) {
227
+ .wl-reaction-item:hover {
228
+ transform: none;
229
+ box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
230
+ background-color: rgba(40, 40, 40, 0.8) !important;
231
+ border-color: rgba(var(--waline-accent-rgb), 0.3) !important;
232
+ }
202
233
  }
203
234
 
204
235
  .wl-reaction-img {
@@ -208,9 +239,10 @@
208
239
  .wl-reaction-img img {
209
240
  transition: transform 0.3s ease;
210
241
  }
211
-
212
- .wl-reaction-item:hover .wl-reaction-img img {
213
- transform: scale(1.15);
242
+ @media (hover: hover) and (pointer: fine) {
243
+ .wl-reaction-item:hover .wl-reaction-img img {
244
+ transform: scale(1.05);
245
+ }
214
246
  }
215
247
 
216
248
  .wl-reaction-votes {
@@ -242,12 +274,16 @@
242
274
 
243
275
  .wl-sort li {
244
276
  @apply cursor-pointer;
245
- transition: all 0.2s ease;
277
+ transition:
278
+ background-color 180ms ease,
279
+ border-color 180ms ease,
280
+ color 180ms ease;
246
281
  color: var(--white-70p);
247
282
  }
248
-
249
- .wl-sort li:hover {
250
- color: var(--white-90p);
283
+ @media (hover: hover) and (pointer: fine) {
284
+ .wl-sort li:hover {
285
+ color: var(--white-90p);
286
+ }
251
287
  }
252
288
 
253
289
  .wl-sort li.active {
@@ -268,13 +304,17 @@
268
304
  border-radius: 6px;
269
305
  margin: 0 5px;
270
306
  padding: 5px 10px;
271
- transition: all 0.2s ease;
272
- }
273
-
274
- .wl-page button:hover:not(:disabled) {
275
- background: rgba(var(--waline-accent-rgb), 0.7) !important;
276
- color: var(--white-full) !important;
277
- transform: translateY(-2px);
307
+ transition:
308
+ background-color 180ms ease,
309
+ border-color 180ms ease,
310
+ color 180ms ease;
311
+ }
312
+ @media (hover: hover) and (pointer: fine) {
313
+ .wl-page button:hover:not(:disabled) {
314
+ background: rgba(var(--waline-accent-rgb), 0.7) !important;
315
+ color: var(--white-full) !important;
316
+ transform: none;
317
+ }
278
318
  }
279
319
 
280
320
  .wl-page button.active {
@@ -293,12 +333,16 @@
293
333
  .wl-power a {
294
334
  color: rgba(var(--waline-accent-rgb), 0.9);
295
335
  text-decoration: none;
296
- transition: all 0.2s ease;
297
- }
298
-
299
- .wl-power a:hover {
300
- color: rgba(var(--waline-accent-rgb), 1);
301
- text-decoration: underline;
336
+ transition:
337
+ background-color 180ms ease,
338
+ border-color 180ms ease,
339
+ color 180ms ease;
340
+ }
341
+ @media (hover: hover) and (pointer: fine) {
342
+ .wl-power a:hover {
343
+ color: rgba(var(--waline-accent-rgb), 1);
344
+ text-decoration: underline;
345
+ }
302
346
  }
303
347
 
304
348
  /* 评论为空状态 */
@@ -433,3 +477,27 @@
433
477
  align-items: flex-start;
434
478
  }
435
479
  }
480
+
481
+ .waline-comment-container,
482
+ .waline-comment-container *,
483
+ .wl-panel,
484
+ .wl-content {
485
+ box-sizing: border-box;
486
+ min-width: 0;
487
+ max-width: 100%;
488
+ overflow-wrap: anywhere;
489
+ }
490
+ @media (hover: none) {
491
+ .wl-reaction-img img {
492
+ transform: none;
493
+ }
494
+ }
495
+ @media (prefers-reduced-motion: reduce) {
496
+ .waline-comment-container *,
497
+ .waline-comment-container *::before,
498
+ .waline-comment-container *::after {
499
+ animation: none !important;
500
+ transition: none !important;
501
+ transform: none !important;
502
+ }
503
+ }
@@ -244,10 +244,10 @@
244
244
  @layer components {
245
245
  @keyframes stalux-link-avatar-spin {
246
246
  from {
247
- transform: rotate(0deg) scale(1.04);
247
+ transform: rotate(0deg);
248
248
  }
249
249
  to {
250
- transform: rotate(360deg) scale(1.04);
250
+ transform: rotate(360deg);
251
251
  }
252
252
  }
253
253
  }