返回 Pixelle-Video
image_neon.html
根目录 / templates / 1080x1920 / image_neon.html
1 <!DOCTYPE html>
2 <html lang="zh-CN">
3 <head>
4 <meta charset="UTF-8" />
5 <meta name="template:media-width" content="1024">
6 <meta name="template:media-height" content="1024">
7 <meta name="viewport" content="width=device-width, initial-scale=1" />
8 <title>{{title}}</title>
9 <style>
10 :root {
11 --bg: #0b0f1a;
12 --fg: #eaf6ff;
13 --muted: #9fb6c6;
14 --accent: #3cf0ff;
15 --accent2: #ff3fe0;
16 --accent3: #f0e130;
17 --card-bg: rgba(12, 14, 20, 0.5);
18 --border: rgba(255, 255, 255, 0.12);
19 }
20
21 html, body {
22 height: 100%;
23 margin: 0;
24 background: var(--bg);
25 color: var(--fg);
26 font-family: 'PingFang SC', 'Source Han Sans', 'Microsoft YaHei', sans-serif;
27 -webkit-font-smoothing: antialiased;
28 -moz-osx-font-smoothing: grayscale;
29 overflow: hidden;
30 }
31
32 body {
33 display: flex;
34 align-items: center;
35 justify-content: center;
36 position: relative;
37 }
38
39 .frame {
40 position: relative;
41 width: 1080px;
42 height: 1920px;
43 margin: 0 auto;
44 display: grid;
45 grid-template-rows: 15% 53% 18% 14%;
46 gap: 22px;
47 padding: 80px 40px 50px 40px;
48 box-sizing: border-box;
49 box-shadow: inset 0 0 40px rgba(0, 0, 0, 0.35);
50 z-index: 1;
51 }
52
53 /* Background decorations */
54 .background-glow {
55 position: absolute;
56 inset: 0;
57 pointer-events: none;
58 z-index: 0;
59 overflow: hidden;
60 }
61
62 /* Grid pattern */
63 .grid-pattern {
64 position: absolute;
65 inset: 0;
66 background-image:
67 linear-gradient(rgba(60, 240, 255, 0.05) 1px, transparent 1px),
68 linear-gradient(90deg, rgba(60, 240, 255, 0.05) 1px, transparent 1px);
69 background-size: 50px 50px;
70 opacity: 0.3;
71 }
72
73 /* Scan lines */
74 .scan-line {
75 position: absolute;
76 left: 0;
77 width: 100%;
78 height: 2px;
79 background: linear-gradient(90deg,
80 transparent,
81 rgba(60, 240, 255, 0.6) 50%,
82 transparent);
83 box-shadow: 0 0 10px rgba(60, 240, 255, 0.5);
84 }
85
86 .scan-line:nth-child(1) { top: 15%; }
87 .scan-line:nth-child(2) { top: 45%; }
88 .scan-line:nth-child(3) { top: 75%; }
89
90 /* Neon rings */
91 .neon-ring {
92 position: absolute;
93 border-radius: 50%;
94 border: 2px solid rgba(60, 240, 255, 0.3);
95 box-shadow:
96 0 0 20px rgba(60, 240, 255, 0.4),
97 inset 0 0 20px rgba(60, 240, 255, 0.2);
98 }
99
100 .neon-ring.ring-1 {
101 width: 400px;
102 height: 400px;
103 top: 10%;
104 right: -150px;
105 border-color: rgba(60, 240, 255, 0.25);
106 }
107
108 .neon-ring.ring-2 {
109 width: 300px;
110 height: 300px;
111 bottom: 15%;
112 left: -100px;
113 border-color: rgba(255, 63, 224, 0.25);
114 box-shadow:
115 0 0 20px rgba(255, 63, 224, 0.4),
116 inset 0 0 20px rgba(255, 63, 224, 0.2);
117 }
118
119 .neon-ring.ring-3 {
120 width: 200px;
121 height: 200px;
122 top: 50%;
123 left: 80px;
124 border-color: rgba(240, 225, 48, 0.2);
125 box-shadow:
126 0 0 20px rgba(240, 225, 48, 0.3),
127 inset 0 0 20px rgba(240, 225, 48, 0.15);
128 }
129
130 /* Corner neon circles */
131 .corner-circle {
132 position: absolute;
133 width: 150px;
134 height: 150px;
135 border-radius: 50%;
136 }
137
138 .corner-circle.tl {
139 left: -50px;
140 top: -50px;
141 border: 3px solid rgba(60, 240, 255, 0.5);
142 box-shadow:
143 0 0 30px rgba(60, 240, 255, 0.4),
144 inset 0 0 30px rgba(60, 240, 255, 0.15);
145 }
146
147 .corner-circle.tl::before {
148 content: '';
149 position: absolute;
150 top: 50%;
151 left: 50%;
152 transform: translate(-50%, -50%);
153 width: 80%;
154 height: 80%;
155 border-radius: 50%;
156 border: 2px solid rgba(60, 240, 255, 0.3);
157 box-shadow: 0 0 20px rgba(60, 240, 255, 0.3);
158 }
159
160 .corner-circle.tl::after {
161 content: '';
162 position: absolute;
163 top: 50%;
164 left: 50%;
165 transform: translate(-50%, -50%);
166 width: 50%;
167 height: 50%;
168 border-radius: 50%;
169 background: rgba(60, 240, 255, 0.15);
170 box-shadow:
171 0 0 25px rgba(60, 240, 255, 0.5),
172 inset 0 0 15px rgba(60, 240, 255, 0.3);
173 animation: circlePulse 3s ease-in-out infinite;
174 }
175
176 .corner-circle.br {
177 right: -50px;
178 bottom: -50px;
179 border: 3px solid rgba(255, 63, 224, 0.5);
180 box-shadow:
181 0 0 30px rgba(255, 63, 224, 0.4),
182 inset 0 0 30px rgba(255, 63, 224, 0.15);
183 }
184
185 .corner-circle.br::before {
186 content: '';
187 position: absolute;
188 top: 50%;
189 left: 50%;
190 transform: translate(-50%, -50%);
191 width: 80%;
192 height: 80%;
193 border-radius: 50%;
194 border: 2px solid rgba(255, 63, 224, 0.3);
195 box-shadow: 0 0 20px rgba(255, 63, 224, 0.3);
196 }
197
198 .corner-circle.br::after {
199 content: '';
200 position: absolute;
201 top: 50%;
202 left: 50%;
203 transform: translate(-50%, -50%);
204 width: 50%;
205 height: 50%;
206 border-radius: 50%;
207 background: rgba(255, 63, 224, 0.15);
208 box-shadow:
209 0 0 25px rgba(255, 63, 224, 0.5),
210 inset 0 0 15px rgba(255, 63, 224, 0.3);
211 animation: circlePulse 3s ease-in-out infinite 1.5s;
212 }
213
214 @keyframes circlePulse {
215 0%, 100% {
216 opacity: 0.6;
217 transform: translate(-50%, -50%) scale(1);
218 }
219 50% {
220 opacity: 1;
221 transform: translate(-50%, -50%) scale(1.1);
222 }
223 }
224
225 /* Neon squares */
226 .neon-square {
227 position: absolute;
228 border: 2px solid;
229 transform: rotate(45deg);
230 }
231
232 .neon-square.sq-1 {
233 width: 100px;
234 height: 100px;
235 top: 20%;
236 left: -30px;
237 border-color: rgba(60, 240, 255, 0.3);
238 box-shadow: 0 0 20px rgba(60, 240, 255, 0.4);
239 }
240
241 .neon-square.sq-2 {
242 width: 70px;
243 height: 70px;
244 bottom: 25%;
245 right: 50px;
246 border-color: rgba(255, 63, 224, 0.3);
247 box-shadow: 0 0 20px rgba(255, 63, 224, 0.4);
248 }
249
250 /* Neon particles */
251 .particle {
252 position: absolute;
253 width: 4px;
254 height: 4px;
255 border-radius: 50%;
256 background: rgba(60, 240, 255, 0.8);
257 box-shadow: 0 0 10px rgba(60, 240, 255, 1);
258 }
259
260 .particle.p1 { top: 10%; left: 20%; }
261 .particle.p2 { top: 30%; right: 15%; background: rgba(255, 63, 224, 0.8); box-shadow: 0 0 10px rgba(255, 63, 224, 1); }
262 .particle.p3 { top: 60%; left: 10%; }
263 .particle.p4 { bottom: 20%; right: 25%; background: rgba(240, 225, 48, 0.8); box-shadow: 0 0 10px rgba(240, 225, 48, 1); }
264 .particle.p5 { bottom: 35%; left: 30%; }
265
266 /* Diagonal lines */
267 .neon-line {
268 position: absolute;
269 height: 2px;
270 background: linear-gradient(90deg,
271 transparent,
272 rgba(60, 240, 255, 0.4) 50%,
273 transparent);
274 box-shadow: 0 0 8px rgba(60, 240, 255, 0.4);
275 }
276
277 .neon-line.line-1 {
278 width: 300px;
279 top: 25%;
280 left: 100px;
281 transform: rotate(-15deg);
282 }
283
284 .neon-line.line-2 {
285 width: 250px;
286 top: 65%;
287 right: 150px;
288 transform: rotate(20deg);
289 background: linear-gradient(90deg,
290 transparent,
291 rgba(255, 63, 224, 0.4) 50%,
292 transparent);
293 box-shadow: 0 0 8px rgba(255, 63, 224, 0.4);
294 }
295
296 /* Header section */
297 .header {
298 position: relative;
299 z-index: 1;
300 display: grid;
301 grid-template-rows: auto 1fr;
302 gap: 12px;
303 padding: 10px 0;
304 }
305
306 .header::before {
307 content: '';
308 position: absolute;
309 top: -15px;
310 left: 20%;
311 right: 20%;
312 height: 3px;
313 background: linear-gradient(90deg,
314 transparent,
315 rgba(60, 240, 255, 0.8) 50%,
316 transparent);
317 box-shadow: 0 0 12px rgba(60, 240, 255, 0.8);
318 }
319
320 .header::after {
321 content: '';
322 position: absolute;
323 bottom: -15px;
324 left: 30%;
325 right: 30%;
326 height: 2px;
327 background: linear-gradient(90deg,
328 transparent,
329 rgba(255, 63, 224, 0.7) 50%,
330 transparent);
331 box-shadow: 0 0 10px rgba(255, 63, 224, 0.7);
332 }
333
334 .title {
335 margin: 0;
336 font-size: 68px;
337 font-weight: 800;
338 line-height: 1.15;
339 letter-spacing: 0.5px;
340 color: var(--fg);
341 overflow-wrap: anywhere;
342 word-break: break-word;
343 text-shadow:
344 0 0 6px rgba(60, 240, 255, 0.6),
345 0 0 18px rgba(60, 240, 255, 0.35),
346 0 0 32px rgba(255, 63, 224, 0.25);
347 animation: glowPulse 3.6s ease-in-out infinite;
348 text-align: center;
349 position: relative;
350 }
351
352 .title::before,
353 .title::after {
354 content: '';
355 position: absolute;
356 width: 8px;
357 height: 8px;
358 border-radius: 50%;
359 top: 0;
360 background: var(--accent);
361 box-shadow: 0 0 12px var(--accent);
362 }
363
364 .title::before { left: -20px; }
365 .title::after { right: -20px; background: var(--accent2); box-shadow: 0 0 12px var(--accent2); }
366
367 .title-meta {
368 display: flex;
369 gap: 12px;
370 align-items: center;
371 justify-content: center;
372 flex-wrap: wrap;
373 }
374
375 .chip {
376 display: inline-flex;
377 align-items: center;
378 gap: 8px;
379 padding: 8px 14px;
380 font-size: 22px;
381 line-height: 1.2;
382 color: #dff7ff;
383 border: 2px solid rgba(60, 240, 255, 0.4);
384 border-radius: 999px;
385 background: transparent;
386 box-shadow: 0 0 15px rgba(60, 240, 255, 0.3);
387 }
388 .chip .dot {
389 width: 8px;
390 height: 8px;
391 border-radius: 50%;
392 background: rgba(60, 240, 255, 1);
393 box-shadow: 0 0 16px rgba(60, 240, 255, 0.9);
394 }
395 .chip .dot.pink {
396 background: rgba(255, 63, 224, 1);
397 box-shadow: 0 0 16px rgba(255, 63, 224, 0.9);
398 }
399 .chip .dot.yellow {
400 background: rgba(240, 225, 48, 1);
401 box-shadow: 0 0 16px rgba(240, 225, 48, 0.9);
402 }
403
404 @keyframes glowPulse {
405 0%, 100% {
406 text-shadow:
407 0 0 6px rgba(60, 240, 255, 0.6),
408 0 0 18px rgba(60, 240, 255, 0.35),
409 0 0 32px rgba(255, 63, 224, 0.25);
410 }
411 50% {
412 text-shadow:
413 0 0 8px rgba(60, 240, 255, 0.85),
414 0 0 26px rgba(60, 240, 255, 0.55),
415 0 0 48px rgba(255, 63, 224, 0.35);
416 }
417 }
418 @media (prefers-reduced-motion: reduce) {
419 .title { animation: none; }
420 }
421
422 /* Media section */
423 .media {
424 position: relative;
425 z-index: 1;
426 border-radius: 28px;
427 overflow: hidden;
428 border: 2px solid;
429 border-image: linear-gradient(135deg,
430 rgba(60, 240, 255, 0.5),
431 rgba(255, 63, 224, 0.5)) 1;
432 background: rgba(15, 18, 28, 0.4);
433 display: flex;
434 align-items: center;
435 justify-content: center;
436 box-shadow:
437 0 24px 48px rgba(0, 0, 0, 0.55),
438 0 0 60px rgba(60, 240, 255, 0.15);
439 }
440
441 .media::before {
442 content: '';
443 position: absolute;
444 inset: 0;
445 border-radius: 26px;
446 border: 2px solid rgba(60, 240, 255, 0.3);
447 pointer-events: none;
448 z-index: 1;
449 }
450
451 /* Corner indicators */
452 .corner-indicator {
453 position: absolute;
454 width: 30px;
455 height: 30px;
456 z-index: 2;
457 }
458
459 .corner-indicator.tl {
460 top: 15px;
461 left: 15px;
462 border-top: 3px solid var(--accent);
463 border-left: 3px solid var(--accent);
464 box-shadow: 0 0 10px var(--accent);
465 }
466
467 .corner-indicator.tr {
468 top: 15px;
469 right: 15px;
470 border-top: 3px solid var(--accent2);
471 border-right: 3px solid var(--accent2);
472 box-shadow: 0 0 10px var(--accent2);
473 }
474
475 .corner-indicator.bl {
476 bottom: 15px;
477 left: 15px;
478 border-bottom: 3px solid var(--accent2);
479 border-left: 3px solid var(--accent2);
480 box-shadow: 0 0 10px var(--accent2);
481 }
482
483 .corner-indicator.br {
484 bottom: 15px;
485 right: 15px;
486 border-bottom: 3px solid var(--accent);
487 border-right: 3px solid var(--accent);
488 box-shadow: 0 0 10px var(--accent);
489 }
490
491 /* Side badges */
492 .media-badge {
493 position: absolute;
494 display: flex;
495 flex-direction: column;
496 gap: 15px;
497 z-index: 2;
498 }
499
500 .media-badge.left {
501 left: -25px;
502 top: 50%;
503 transform: translateY(-50%);
504 }
505
506 .media-badge.right {
507 right: -25px;
508 top: 50%;
509 transform: translateY(-50%);
510 }
511
512 .badge-dot {
513 width: 12px;
514 height: 12px;
515 border-radius: 50%;
516 background: rgba(60, 240, 255, 0.3);
517 border: 2px solid rgba(60, 240, 255, 0.6);
518 box-shadow: 0 0 12px rgba(60, 240, 255, 0.6);
519 }
520
521 .badge-dot.active {
522 background: rgba(60, 240, 255, 0.8);
523 border-color: rgba(60, 240, 255, 1);
524 }
525
526 .badge-dot.pink {
527 background: rgba(255, 63, 224, 0.3);
528 border-color: rgba(255, 63, 224, 0.6);
529 box-shadow: 0 0 12px rgba(255, 63, 224, 0.6);
530 }
531
532 .badge-dot.pink.active {
533 background: rgba(255, 63, 224, 0.8);
534 border-color: rgba(255, 63, 224, 1);
535 }
536
537 .media img {
538 width: 100%;
539 height: 100%;
540 max-width: 100%;
541 max-height: 100%;
542 object-fit: cover;
543 display: block;
544 }
545
546 /* Caption section */
547 .caption {
548 position: relative;
549 z-index: 1;
550 display: grid;
551 grid-template-columns: 12px 1fr 12px;
552 align-items: center;
553 gap: 18px;
554 padding: 35px 10px 20px 10px;
555 }
556
557 .caption::before {
558 content: '';
559 position: absolute;
560 top: -20px;
561 left: 25%;
562 right: 25%;
563 height: 3px;
564 background: linear-gradient(90deg,
565 transparent,
566 rgba(60, 240, 255, 0.7) 50%,
567 transparent);
568 box-shadow: 0 0 10px rgba(60, 240, 255, 0.7);
569 }
570
571 .caption::after {
572 content: '';
573 position: absolute;
574 bottom: -15px;
575 left: 20%;
576 right: 20%;
577 height: 2px;
578 background: linear-gradient(90deg,
579 transparent,
580 rgba(255, 63, 224, 0.7) 50%,
581 transparent);
582 box-shadow: 0 0 10px rgba(255, 63, 224, 0.7);
583 }
584
585 .caption .accent-bar {
586 width: 8px;
587 height: 120px;
588 border-radius: 8px;
589 background: linear-gradient(180deg,
590 rgba(60, 240, 255, 0.95),
591 rgba(255, 63, 224, 0.95));
592 box-shadow:
593 0 0 18px rgba(60, 240, 255, 0.8),
594 0 0 36px rgba(255, 63, 224, 0.45);
595 animation: barPulse 2s ease-in-out infinite;
596 }
597
598 .caption .accent-bar-right {
599 width: 8px;
600 height: 120px;
601 border-radius: 8px;
602 background: linear-gradient(180deg,
603 rgba(255, 63, 224, 0.95),
604 rgba(240, 225, 48, 0.95));
605 box-shadow:
606 0 0 18px rgba(255, 63, 224, 0.8),
607 0 0 36px rgba(240, 225, 48, 0.45);
608 animation: barPulse 2s ease-in-out infinite 1s;
609 }
610
611 @keyframes barPulse {
612 0%, 100% {
613 opacity: 1;
614 }
615 50% {
616 opacity: 0.7;
617 }
618 }
619
620 /* Quote icons */
621 .quote-icon {
622 position: absolute;
623 opacity: 0.15;
624 z-index: 0;
625 }
626
627 .quote-icon.left {
628 top: -15px;
629 left: 40px;
630 transform: rotate(180deg);
631 }
632
633 .quote-icon.right {
634 bottom: -15px;
635 right: 40px;
636 }
637
638 .caption p {
639 margin: 0;
640 font-size: 42px;
641 line-height: 1.5;
642 color: #dff7ff;
643 overflow-wrap: anywhere;
644 word-break: break-word;
645 text-shadow: 0 0 8px rgba(60, 240, 255, 0.3);
646 position: relative;
647 z-index: 1;
648 height: 189px;
649 display: flex;
650 align-items: center;
651 justify-content: center;
652 }
653
654 /* Footer section */
655 .footer {
656 position: relative;
657 z-index: 1;
658 display: grid;
659 grid-template-columns: 1fr 1.5fr 1fr;
660 align-items: start;
661 gap: 18px;
662 padding: 20px 10px 28px 10px;
663 overflow: visible;
664 }
665
666 .footer::before {
667 content: '';
668 position: absolute;
669 top: -15px;
670 left: 15%;
671 right: 15%;
672 height: 3px;
673 background: linear-gradient(90deg,
674 transparent,
675 rgba(240, 225, 48, 0.8) 50%,
676 transparent);
677 box-shadow: 0 0 12px rgba(240, 225, 48, 0.8);
678 }
679
680 .author {
681 display: flex;
682 align-items: center;
683 gap: 10px;
684 font-size: 28px;
685 color: var(--fg);
686 white-space: nowrap;
687 padding-top: 4px;
688 }
689
690 .author-badges {
691 display: flex;
692 gap: 6px;
693 }
694
695 .author-badge-dot {
696 width: 10px;
697 height: 10px;
698 border-radius: 50%;
699 background: var(--accent);
700 box-shadow: 0 0 10px var(--accent);
701 }
702
703 .author-badge-dot.pink {
704 background: var(--accent2);
705 box-shadow: 0 0 10px var(--accent2);
706 }
707
708 .author .tag {
709 padding: 6px 10px;
710 border-radius: 10px;
711 border: 2px solid rgba(60, 240, 255, 0.5);
712 color: #bfefff;
713 background: transparent;
714 box-shadow: 0 0 15px rgba(60, 240, 255, 0.4);
715 font-size: 20px;
716 }
717
718 .slogan {
719 font-size: 26px;
720 text-align: center;
721 color: #dff7ff;
722 text-shadow: 0 0 10px rgba(60, 240, 255, 0.25);
723 overflow-wrap: anywhere;
724 word-break: break-word;
725 line-height: 1.4;
726 padding-top: 4px;
727 }
728
729 .cta {
730 display: flex;
731 flex-direction: column;
732 align-items: flex-end;
733 gap: 10px;
734 color: var(--muted);
735 font-size: 20px;
736 padding-top: 4px;
737 }
738 .cta .follow {
739 display: inline-flex;
740 align-items: center;
741 gap: 10px;
742 padding: 10px 14px;
743 border-radius: 999px;
744 background: transparent;
745 border: 2px solid rgba(255, 63, 224, 0.5);
746 color: #bfefff;
747 box-shadow: 0 0 15px rgba(255, 63, 224, 0.4);
748 font-size: 20px;
749 white-space: nowrap;
750 }
751 .cta .hashtags {
752 display: flex;
753 gap: 10px;
754 flex-wrap: wrap;
755 justify-content: flex-end;
756 }
757 .cta .hashtags span {
758 color: #9ad8ff;
759 text-shadow: 0 0 10px rgba(60, 240, 255, 0.18);
760 font-size: 20px;
761 line-height: 1.5;
762 }
763
764 /* Detail overlays */
765 .media::after {
766 content: "";
767 position: absolute;
768 inset: 0;
769 border-radius: inherit;
770 pointer-events: none;
771 box-shadow: inset 0 0 24px rgba(255, 255, 255, 0.05);
772 z-index: 10;
773 }
774
775 /* Spine decoration */
776 .spine {
777 position: absolute;
778 left: 8px;
779 top: 50%;
780 transform: translateY(-50%) rotate(-90deg);
781 transform-origin: left top;
782 z-index: 1;
783 opacity: 0.9;
784 background: transparent;
785 border: 2px solid rgba(60, 240, 255, 0.5);
786 border-radius: 999px;
787 padding: 8px 14px;
788 color: #bfefff;
789 font-size: 20px;
790 letter-spacing: 2px;
791 text-shadow: 0 0 10px rgba(60, 240, 255, 0.6);
792 box-shadow: 0 0 20px rgba(60, 240, 255, 0.4);
793 white-space: nowrap;
794 }
795
796 .spine::before {
797 content: '';
798 position: absolute;
799 left: -8px;
800 top: 50%;
801 transform: translateY(-50%);
802 width: 6px;
803 height: 6px;
804 border-radius: 50%;
805 background: var(--accent);
806 box-shadow: 0 0 10px var(--accent);
807 }
808
809 .spine::after {
810 content: '';
811 position: absolute;
812 right: -8px;
813 top: 50%;
814 transform: translateY(-50%);
815 width: 6px;
816 height: 6px;
817 border-radius: 50%;
818 background: var(--accent2);
819 box-shadow: 0 0 10px var(--accent2);
820 }
821
822 /* Readability */
823 * {
824 text-rendering: optimizeLegibility;
825 }
826 </style>
827 </head>
828 <body>
829 <div class="frame">
830 <!-- Background decorations -->
831 <div class="background-glow" aria-hidden="true">
832 <!-- Grid pattern -->
833 <div class="grid-pattern"></div>
834
835 <!-- Scan lines -->
836 <div class="scan-line"></div>
837 <div class="scan-line"></div>
838 <div class="scan-line"></div>
839
840 <!-- Neon rings -->
841 <div class="neon-ring ring-1"></div>
842 <div class="neon-ring ring-2"></div>
843 <div class="neon-ring ring-3"></div>
844
845 <!-- Corner neon circles -->
846 <div class="corner-circle tl"></div>
847 <div class="corner-circle br"></div>
848
849 <!-- Neon squares -->
850 <div class="neon-square sq-1"></div>
851 <div class="neon-square sq-2"></div>
852
853 <!-- Particles -->
854 <div class="particle p1"></div>
855 <div class="particle p2"></div>
856 <div class="particle p3"></div>
857 <div class="particle p4"></div>
858 <div class="particle p5"></div>
859
860 <!-- Neon lines -->
861 <div class="neon-line line-1"></div>
862 <div class="neon-line line-2"></div>
863 </div>
864
865 <!-- Spine decoration -->
866 <div class="spine" aria-hidden="true">CREATE · SHARE · INSPIRE</div>
867
868 <!-- Header -->
869 <header class="header" role="banner">
870 <h1 class="title">{{title}}</h1>
871 <div class="title-meta" role="list">
872 <div class="chip" role="listitem"><span class="dot"></span>AI 短视频</div>
873 <div class="chip" role="listitem"><span class="dot pink"></span>创意内容</div>
874 <div class="chip" role="listitem"><span class="dot yellow"></span>轻松制作</div>
875 </div>
876 </header>
877
878 <!-- Media -->
879 <section class="media" role="img" aria-label="Illustration for the video">
880 <!-- Corner indicators -->
881 <div class="corner-indicator tl"></div>
882 <div class="corner-indicator tr"></div>
883 <div class="corner-indicator bl"></div>
884 <div class="corner-indicator br"></div>
885
886 <!-- Side badges -->
887 <div class="media-badge left">
888 <div class="badge-dot"></div>
889 <div class="badge-dot active"></div>
890 <div class="badge-dot"></div>
891 </div>
892 <div class="media-badge right">
893 <div class="badge-dot pink"></div>
894 <div class="badge-dot pink active"></div>
895 <div class="badge-dot pink"></div>
896 </div>
897
898 <img src="{{image}}" alt="图像:{{title}}">
899 </section>
900
901 <!-- Caption -->
902 <section class="caption" role="region" aria-label="旁白内容">
903 <!-- Quote icons -->
904 <svg class="quote-icon left" width="80" height="80" viewBox="0 0 24 24" fill="var(--accent)">
905 <path d="M6 17h3l2-4V7H5v6h3zm8 0h3l2-4V7h-6v6h3z"/>
906 </svg>
907 <svg class="quote-icon right" width="80" height="80" viewBox="0 0 24 24" fill="var(--accent2)">
908 <path d="M6 17h3l2-4V7H5v6h3zm8 0h3l2-4V7h-6v6h3z"/>
909 </svg>
910
911 <div class="accent-bar" aria-hidden="true"></div>
912 <p>{{text}}</p>
913 <div class="accent-bar-right" aria-hidden="true"></div>
914 </section>
915
916 <!-- Footer -->
917 <footer class="footer" role="contentinfo">
918 <div class="author">
919 <span class="tag">作者</span>
920 <div class="author-badges">
921 <div class="author-badge-dot"></div>
922 <div class="author-badge-dot pink"></div>
923 </div>
924 <div class="logo">{{author=@Pixelle.AI}}</div>
925 </div>
926 <div class="author-desc">{{describe=Open Source Omnimodal AI Creative Agent}}</div>
927 <div class="cta">
928 <div class="logo">{{brand=Pixelle-Video}}</div>
929 <div class="hashtags">
930 <span>#AI创作</span>
931 <span>#短视频</span>
932 <span>#内容生产</span>
933 </div>
934 </div>
935 </footer>
936 </div>
937 </body>
938 </html>
939
939 lines HTML