@anglefeint/astro-theme 0.1.27 → 0.1.28
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/package.json +1 -1
- package/src/styles/ai/prose.css +19 -11
- package/src/styles/theme-cyber.css +74 -108
package/package.json
CHANGED
package/src/styles/ai/prose.css
CHANGED
|
@@ -17,12 +17,13 @@ body.ai-page .ai-content .prose {
|
|
|
17
17
|
rgba(55, 65, 80, 0.14) 2px,
|
|
18
18
|
rgba(55, 65, 80, 0.14) 4px
|
|
19
19
|
),
|
|
20
|
-
linear-gradient(
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
rgba(
|
|
24
|
-
|
|
25
|
-
)
|
|
20
|
+
linear-gradient(
|
|
21
|
+
135deg,
|
|
22
|
+
rgba(14, 18, 24, 0.97) 0%,
|
|
23
|
+
rgba(10, 14, 20, 0.95) 50%,
|
|
24
|
+
rgba(6, 10, 16, 0.97) 100%
|
|
25
|
+
),
|
|
26
|
+
radial-gradient(ellipse 80% 50% at 50% 0%, rgba(70, 110, 150, 0.06), transparent 60%);
|
|
26
27
|
backdrop-filter: blur(16px) saturate(1.1);
|
|
27
28
|
-webkit-backdrop-filter: blur(16px) saturate(1.1);
|
|
28
29
|
border-radius: 8px;
|
|
@@ -116,7 +117,7 @@ body.ai-page .ai-content .prose .ai-prose-body {
|
|
|
116
117
|
}
|
|
117
118
|
/* GPU 金属边框:铝银质感 */
|
|
118
119
|
body.ai-page .ai-content .prose::before {
|
|
119
|
-
content:
|
|
120
|
+
content: '';
|
|
120
121
|
position: absolute;
|
|
121
122
|
inset: -1px;
|
|
122
123
|
border-radius: inherit;
|
|
@@ -145,14 +146,21 @@ body.ai-page .ai-content .prose:hover::before {
|
|
|
145
146
|
}
|
|
146
147
|
/* 链接 hover 光晕/脉冲 */
|
|
147
148
|
body.ai-page .ai-content .prose a {
|
|
149
|
+
color: rgba(142, 220, 248, 0.96);
|
|
148
150
|
text-decoration: none;
|
|
149
151
|
padding: 0 2px;
|
|
150
152
|
border-radius: 2px;
|
|
153
|
+
text-shadow:
|
|
154
|
+
0 0 8px rgba(110, 198, 238, 0.24),
|
|
155
|
+
0 0 16px rgba(95, 184, 226, 0.14);
|
|
151
156
|
transition:
|
|
152
157
|
box-shadow 0.25s ease,
|
|
153
158
|
text-shadow 0.25s ease,
|
|
154
159
|
color 0.25s ease;
|
|
155
160
|
}
|
|
161
|
+
body.ai-page .ai-content .prose a:visited {
|
|
162
|
+
color: rgba(156, 210, 255, 0.94);
|
|
163
|
+
}
|
|
156
164
|
body.ai-page .ai-content .prose a:hover {
|
|
157
165
|
box-shadow:
|
|
158
166
|
0 0 12px rgba(140, 210, 242, 0.4),
|
|
@@ -196,7 +204,7 @@ body.ai-page .ai-content .prose blockquote {
|
|
|
196
204
|
inset 0 0 20px rgba(8, 28, 44, 0.26);
|
|
197
205
|
}
|
|
198
206
|
body.ai-page .ai-content .prose blockquote::before {
|
|
199
|
-
content:
|
|
207
|
+
content: '>';
|
|
200
208
|
position: absolute;
|
|
201
209
|
left: 0.6em;
|
|
202
210
|
top: 1em;
|
|
@@ -211,7 +219,7 @@ body.ai-page .ai-content .prose pre {
|
|
|
211
219
|
padding-top: 2.2em;
|
|
212
220
|
}
|
|
213
221
|
body.ai-page .ai-content .prose pre::before {
|
|
214
|
-
content:
|
|
222
|
+
content: '● ● ● runtime';
|
|
215
223
|
position: absolute;
|
|
216
224
|
left: 1em;
|
|
217
225
|
top: 0.9em;
|
|
@@ -223,7 +231,7 @@ body.ai-page .ai-content .prose pre::before {
|
|
|
223
231
|
text-shadow: 0 0 8px rgba(124, 206, 246, 0.28);
|
|
224
232
|
}
|
|
225
233
|
body.ai-page .ai-content .prose pre::after {
|
|
226
|
-
content:
|
|
234
|
+
content: '';
|
|
227
235
|
position: absolute;
|
|
228
236
|
inset: 0;
|
|
229
237
|
pointer-events: none;
|
|
@@ -240,7 +248,7 @@ body.ai-page .ai-content .prose pre:hover::after {
|
|
|
240
248
|
transform: translateX(130%);
|
|
241
249
|
}
|
|
242
250
|
body.ai-page .ai-content .prose blockquote::after {
|
|
243
|
-
content:
|
|
251
|
+
content: 'reference';
|
|
244
252
|
position: absolute;
|
|
245
253
|
right: 1em;
|
|
246
254
|
top: 0.9em;
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
/* ========== Blade Runner 博客列表页 (body.cyber-page) ========== */
|
|
3
3
|
body.cyber-page {
|
|
4
4
|
background: #090b12 !important;
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
background-image: none !important;
|
|
6
|
+
background-size: auto !important;
|
|
7
|
+
min-height: 100vh !important;
|
|
8
8
|
--chrome-bg: rgba(7, 13, 24, 0.72);
|
|
9
9
|
--chrome-border: rgba(112, 196, 255, 0.2);
|
|
10
10
|
--chrome-link: rgba(196, 226, 255, 0.92);
|
|
@@ -13,10 +13,10 @@ body.cyber-page {
|
|
|
13
13
|
--chrome-text-muted: rgba(156, 188, 224, 0.76);
|
|
14
14
|
}
|
|
15
15
|
body.cyber-page::before {
|
|
16
|
-
content:
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
content: '';
|
|
17
|
+
position: fixed;
|
|
18
|
+
inset: 0;
|
|
19
|
+
z-index: -1;
|
|
20
20
|
background: linear-gradient(
|
|
21
21
|
180deg,
|
|
22
22
|
#05070b 0%,
|
|
@@ -27,28 +27,16 @@ body.cyber-page::before {
|
|
|
27
27
|
);
|
|
28
28
|
}
|
|
29
29
|
body.cyber-page::after {
|
|
30
|
-
content:
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
30
|
+
content: '';
|
|
31
|
+
position: fixed;
|
|
32
|
+
inset: 0;
|
|
33
|
+
z-index: -1;
|
|
34
34
|
background:
|
|
35
|
-
radial-gradient(
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
transparent 50%
|
|
39
|
-
),
|
|
40
|
-
radial-gradient(
|
|
41
|
-
ellipse 62% 42% at 82% 78%,
|
|
42
|
-
rgba(255, 132, 88, 0.06) 0%,
|
|
43
|
-
transparent 40%
|
|
44
|
-
),
|
|
45
|
-
radial-gradient(
|
|
46
|
-
ellipse 52% 37% at 20% 62%,
|
|
47
|
-
rgba(226, 150, 214, 0.06) 0%,
|
|
48
|
-
transparent 45%
|
|
49
|
-
);
|
|
35
|
+
radial-gradient(ellipse 82% 52% at 50% 18%, rgba(110, 186, 255, 0.14) 0%, transparent 50%),
|
|
36
|
+
radial-gradient(ellipse 62% 42% at 82% 78%, rgba(255, 132, 88, 0.06) 0%, transparent 40%),
|
|
37
|
+
radial-gradient(ellipse 52% 37% at 20% 62%, rgba(226, 150, 214, 0.06) 0%, transparent 45%);
|
|
50
38
|
animation: cyber-fog-drift 20s ease-in-out infinite alternate;
|
|
51
|
-
|
|
39
|
+
pointer-events: none;
|
|
52
40
|
}
|
|
53
41
|
@keyframes cyber-fog-drift {
|
|
54
42
|
0% {
|
|
@@ -61,17 +49,17 @@ body.cyber-page::after {
|
|
|
61
49
|
}
|
|
62
50
|
}
|
|
63
51
|
body.cyber-page .cyber-rain {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
52
|
+
position: fixed;
|
|
53
|
+
inset: 0;
|
|
54
|
+
pointer-events: none;
|
|
67
55
|
z-index: 6;
|
|
68
|
-
|
|
56
|
+
overflow: hidden;
|
|
69
57
|
contain: layout paint;
|
|
70
58
|
}
|
|
71
59
|
/* Blade Runner: 雨滴 - 白色中脏脏的感觉,非琥珀也非冷青 */
|
|
72
60
|
body.cyber-page .cyber-rain-drop {
|
|
73
|
-
|
|
74
|
-
|
|
61
|
+
position: absolute;
|
|
62
|
+
top: -20px;
|
|
75
63
|
width: 6px;
|
|
76
64
|
height: 38px;
|
|
77
65
|
clip-path: polygon(1.5px 0, 4.5px 0, 6px 100%, 0 100%);
|
|
@@ -83,7 +71,7 @@ body.cyber-page .cyber-rain-drop {
|
|
|
83
71
|
rgba(195, 190, 182, 0.52) 70%,
|
|
84
72
|
transparent 100%
|
|
85
73
|
);
|
|
86
|
-
|
|
74
|
+
animation: cyber-rain-fall linear infinite;
|
|
87
75
|
}
|
|
88
76
|
@keyframes cyber-rain-fall {
|
|
89
77
|
to {
|
|
@@ -92,7 +80,7 @@ body.cyber-page .cyber-rain-drop {
|
|
|
92
80
|
}
|
|
93
81
|
/* AI page: scanlines only on header and footer; fade on hover */
|
|
94
82
|
body.cyber-page .cyber-spotlight {
|
|
95
|
-
|
|
83
|
+
position: fixed;
|
|
96
84
|
top: 0;
|
|
97
85
|
left: 0;
|
|
98
86
|
width: calc(hypot(100vw, 100vh) * 1.3 / 1.41421356);
|
|
@@ -103,7 +91,7 @@ body.cyber-page .cyber-spotlight {
|
|
|
103
91
|
}
|
|
104
92
|
body.cyber-page .cyber-spotlight-tl {
|
|
105
93
|
position: absolute;
|
|
106
|
-
|
|
94
|
+
inset: 0;
|
|
107
95
|
transform-origin: 0 0;
|
|
108
96
|
background: conic-gradient(
|
|
109
97
|
from 180deg at 0 0,
|
|
@@ -159,21 +147,9 @@ body.cyber-page .cyber-flicker {
|
|
|
159
147
|
inset: 0;
|
|
160
148
|
contain: layout paint;
|
|
161
149
|
background:
|
|
162
|
-
radial-gradient(
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
transparent 55%
|
|
166
|
-
),
|
|
167
|
-
radial-gradient(
|
|
168
|
-
ellipse 20% 24% at 20% 68%,
|
|
169
|
-
rgba(96, 182, 255, 0.28) 0%,
|
|
170
|
-
transparent 55%
|
|
171
|
-
),
|
|
172
|
-
radial-gradient(
|
|
173
|
-
ellipse 28% 35% at 70% 85%,
|
|
174
|
-
rgba(224, 146, 212, 0.2) 0%,
|
|
175
|
-
transparent 55%
|
|
176
|
-
);
|
|
150
|
+
radial-gradient(ellipse 25% 30% at 85% 20%, rgba(255, 146, 96, 0.18) 0%, transparent 55%),
|
|
151
|
+
radial-gradient(ellipse 20% 24% at 20% 68%, rgba(96, 182, 255, 0.28) 0%, transparent 55%),
|
|
152
|
+
radial-gradient(ellipse 28% 35% at 70% 85%, rgba(224, 146, 212, 0.2) 0%, transparent 55%);
|
|
177
153
|
animation: cyber-neon-flicker-glow 6s ease-in-out infinite;
|
|
178
154
|
pointer-events: none;
|
|
179
155
|
z-index: 0;
|
|
@@ -198,21 +174,9 @@ body.cyber-page .cyber-haze {
|
|
|
198
174
|
inset: 0;
|
|
199
175
|
contain: layout paint;
|
|
200
176
|
background:
|
|
201
|
-
radial-gradient(
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
transparent 60%
|
|
205
|
-
),
|
|
206
|
-
radial-gradient(
|
|
207
|
-
ellipse 40% 30% at 30% 30%,
|
|
208
|
-
rgba(224, 144, 208, 0.05) 0%,
|
|
209
|
-
transparent 50%
|
|
210
|
-
),
|
|
211
|
-
radial-gradient(
|
|
212
|
-
ellipse 35% 25% at 70% 70%,
|
|
213
|
-
rgba(255, 134, 92, 0.04) 0%,
|
|
214
|
-
transparent 50%
|
|
215
|
-
);
|
|
177
|
+
radial-gradient(ellipse 100% 80% at 50% 50%, rgba(52, 84, 128, 0.08) 0%, transparent 60%),
|
|
178
|
+
radial-gradient(ellipse 40% 30% at 30% 30%, rgba(224, 144, 208, 0.05) 0%, transparent 50%),
|
|
179
|
+
radial-gradient(ellipse 35% 25% at 70% 70%, rgba(255, 134, 92, 0.04) 0%, transparent 50%);
|
|
216
180
|
animation: cyber-haze-drift 20s ease-in-out infinite alternate;
|
|
217
181
|
pointer-events: none;
|
|
218
182
|
z-index: 1;
|
|
@@ -231,13 +195,9 @@ body.cyber-page .cyber-vignette {
|
|
|
231
195
|
position: fixed;
|
|
232
196
|
inset: 0;
|
|
233
197
|
contain: layout paint;
|
|
234
|
-
background: radial-gradient(
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
rgba(0, 0, 0, 0.4) 100%
|
|
238
|
-
);
|
|
239
|
-
pointer-events: none;
|
|
240
|
-
z-index: 3;
|
|
198
|
+
background: radial-gradient(ellipse 80% 80% at 50% 50%, transparent 40%, rgba(0, 0, 0, 0.4) 100%);
|
|
199
|
+
pointer-events: none;
|
|
200
|
+
z-index: 3;
|
|
241
201
|
}
|
|
242
202
|
body.cyber-page .cyber-rain-drop--thin {
|
|
243
203
|
width: 4px;
|
|
@@ -306,10 +266,10 @@ body.cyber-page header {
|
|
|
306
266
|
-webkit-backdrop-filter: blur(3px);
|
|
307
267
|
}
|
|
308
268
|
body.cyber-page main {
|
|
309
|
-
|
|
269
|
+
position: relative;
|
|
310
270
|
z-index: 5;
|
|
311
|
-
|
|
312
|
-
|
|
271
|
+
width: 960px;
|
|
272
|
+
padding-top: calc(3em + 56px);
|
|
313
273
|
}
|
|
314
274
|
body.cyber-page .title,
|
|
315
275
|
body.cyber-page .date {
|
|
@@ -319,23 +279,23 @@ body.cyber-page .date {
|
|
|
319
279
|
color: rgba(150, 186, 228, 0.68);
|
|
320
280
|
}
|
|
321
281
|
body.cyber-page ul {
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
282
|
+
display: flex;
|
|
283
|
+
flex-wrap: wrap;
|
|
284
|
+
gap: 2rem;
|
|
285
|
+
list-style: none;
|
|
286
|
+
margin: 0;
|
|
287
|
+
padding: 0;
|
|
328
288
|
}
|
|
329
289
|
body.cyber-page ul li {
|
|
330
|
-
|
|
290
|
+
width: calc(50% - 1rem);
|
|
331
291
|
}
|
|
332
292
|
body.cyber-page ul li * {
|
|
333
|
-
|
|
293
|
+
text-decoration: none;
|
|
334
294
|
}
|
|
335
295
|
body.cyber-page ul li:first-child {
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
296
|
+
width: 100%;
|
|
297
|
+
margin-bottom: 1rem;
|
|
298
|
+
text-align: center;
|
|
339
299
|
}
|
|
340
300
|
body.cyber-page ul li:first-child img {
|
|
341
301
|
width: 100%;
|
|
@@ -344,9 +304,9 @@ body.cyber-page ul li:first-child .title {
|
|
|
344
304
|
font-size: 2.369rem;
|
|
345
305
|
}
|
|
346
306
|
body.cyber-page ul li a {
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
307
|
+
display: block;
|
|
308
|
+
position: relative;
|
|
309
|
+
padding: 1rem;
|
|
350
310
|
border-radius: 4px;
|
|
351
311
|
border: 1px solid rgba(116, 194, 255, 0.24);
|
|
352
312
|
box-shadow:
|
|
@@ -423,18 +383,18 @@ body.cyber-page ul li a:hover .date {
|
|
|
423
383
|
0 0 20px rgba(218, 148, 210, 0.26);
|
|
424
384
|
}
|
|
425
385
|
body.cyber-page .img-wrapper {
|
|
426
|
-
|
|
386
|
+
position: relative;
|
|
427
387
|
margin-bottom: 0.5rem;
|
|
428
388
|
border-radius: 4px;
|
|
429
|
-
|
|
389
|
+
overflow: hidden;
|
|
430
390
|
}
|
|
431
391
|
/* 水平扫线 - 日式樱花+赛博蓝 */
|
|
432
392
|
body.cyber-page .img-wrapper::before {
|
|
433
|
-
content:
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
393
|
+
content: '';
|
|
394
|
+
position: absolute;
|
|
395
|
+
left: 0;
|
|
396
|
+
right: 0;
|
|
397
|
+
top: -20px;
|
|
438
398
|
height: 10px;
|
|
439
399
|
z-index: 3;
|
|
440
400
|
background: linear-gradient(
|
|
@@ -457,14 +417,14 @@ body.cyber-page ul li a:hover .img-wrapper::before {
|
|
|
457
417
|
top: 100%;
|
|
458
418
|
}
|
|
459
419
|
body.cyber-page .img-wrapper::after {
|
|
460
|
-
content:
|
|
420
|
+
content: '';
|
|
461
421
|
position: absolute;
|
|
462
422
|
inset: 0;
|
|
463
|
-
|
|
423
|
+
z-index: 2;
|
|
464
424
|
box-shadow:
|
|
465
425
|
inset 0 0 25px rgba(108, 190, 255, 0.16),
|
|
466
426
|
inset 0 0 50px rgba(224, 148, 212, 0.1);
|
|
467
|
-
|
|
427
|
+
pointer-events: none;
|
|
468
428
|
opacity: 0;
|
|
469
429
|
transition: opacity 0.4s ease;
|
|
470
430
|
}
|
|
@@ -472,18 +432,16 @@ body.cyber-page ul li a:hover .img-wrapper::after {
|
|
|
472
432
|
opacity: 1;
|
|
473
433
|
}
|
|
474
434
|
body.cyber-page ul li img {
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
filter: saturate(0.75) contrast(1.05) brightness(0.88) sepia(0.15)
|
|
479
|
-
hue-rotate(-2deg);
|
|
435
|
+
display: block;
|
|
436
|
+
width: 100%;
|
|
437
|
+
height: auto;
|
|
438
|
+
filter: saturate(0.75) contrast(1.05) brightness(0.88) sepia(0.15) hue-rotate(-2deg);
|
|
480
439
|
transition:
|
|
481
440
|
filter 0.3s,
|
|
482
441
|
box-shadow 0.3s;
|
|
483
442
|
}
|
|
484
443
|
body.cyber-page ul li a:hover img {
|
|
485
|
-
filter: saturate(0.88) contrast(1.11) brightness(0.94) sepia(0.08)
|
|
486
|
-
hue-rotate(-6deg);
|
|
444
|
+
filter: saturate(0.88) contrast(1.11) brightness(0.94) sepia(0.08) hue-rotate(-6deg);
|
|
487
445
|
box-shadow:
|
|
488
446
|
0 0 15px rgba(116, 194, 255, 0.22),
|
|
489
447
|
0 0 30px rgba(224, 148, 212, 0.2);
|
|
@@ -491,7 +449,15 @@ body.cyber-page ul li a:hover img {
|
|
|
491
449
|
body.cyber-page .title {
|
|
492
450
|
margin: 0;
|
|
493
451
|
font-size: 1.2rem;
|
|
494
|
-
line-height: 1;
|
|
452
|
+
line-height: 1.2;
|
|
453
|
+
min-height: calc(1.2em * 2);
|
|
454
|
+
display: -webkit-box;
|
|
455
|
+
-webkit-line-clamp: 2;
|
|
456
|
+
line-clamp: 2;
|
|
457
|
+
-webkit-box-orient: vertical;
|
|
458
|
+
overflow: hidden;
|
|
459
|
+
text-overflow: ellipsis;
|
|
460
|
+
word-break: break-word;
|
|
495
461
|
transition:
|
|
496
462
|
color 0.2s,
|
|
497
463
|
text-shadow 0.2s;
|