css-pkg-01 1.3.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,567 @@
1
+ :root {
2
+ --bg: #041214;
3
+ --surface: #0a2226;
4
+ --surface-light: #113339;
5
+ --accent: #ffd166;
6
+ --accent2: #14b8a6;
7
+ --text: #effcff;
8
+ --muted: #8fb0b3;
9
+ --font-display: 'Russo One', sans-serif;
10
+ --font-body: 'Open Sans', sans-serif;
11
+ --container-w: 1024px;
12
+ --transition: all 0.3s ease;
13
+ }
14
+
15
+ * {
16
+ box-sizing: border-box;
17
+ margin: 0;
18
+ padding: 0;
19
+ }
20
+
21
+ body {
22
+ font-family: var(--font-body);
23
+ background-color: var(--bg);
24
+ color: var(--text);
25
+ line-height: 1.6;
26
+ overflow-x: hidden;
27
+ -webkit-font-smoothing: antialiased;
28
+ }
29
+
30
+ a {
31
+ color: var(--accent2);
32
+ text-decoration: none;
33
+ transition: var(--transition);
34
+ }
35
+
36
+ a:hover {
37
+ color: var(--accent);
38
+ }
39
+
40
+ .container {
41
+ width: 100%;
42
+ max-width: var(--container-w);
43
+ margin: 0 auto;
44
+ padding: 0 20px;
45
+ }
46
+
47
+ /* Typography */
48
+ h1, h2, h3, h4, .brand {
49
+ font-family: var(--font-display);
50
+ font-weight: 400;
51
+ line-height: 1.2;
52
+ }
53
+
54
+ h1 { font-size: 2rem; color: var(--text); margin-bottom: 1rem; text-transform: uppercase; letter-spacing: 1px; }
55
+ h2 { font-size: 1.5rem; color: var(--accent); margin-bottom: 1rem; }
56
+ h3 { font-size: 1.25rem; color: var(--text); margin-bottom: 0.75rem; }
57
+
58
+ p { margin-bottom: 1rem; }
59
+
60
+ /* Buttons */
61
+ .btn {
62
+ display: inline-flex;
63
+ align-items: center;
64
+ justify-content: center;
65
+ padding: 12px 24px;
66
+ font-family: var(--font-display);
67
+ font-size: 14px;
68
+ text-transform: uppercase;
69
+ letter-spacing: 1px;
70
+ min-height: 44px;
71
+ cursor: pointer;
72
+ clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
73
+ transition: var(--transition);
74
+ border: none;
75
+ text-align: center;
76
+ }
77
+
78
+ .btn-primary {
79
+ background-color: var(--accent);
80
+ color: var(--bg);
81
+ }
82
+
83
+ .btn-primary:hover {
84
+ background-color: #ffdf99;
85
+ color: var(--bg);
86
+ box-shadow: 0 0 15px rgba(255, 209, 102, 0.4);
87
+ transform: translateY(-2px);
88
+ }
89
+
90
+ .btn-secondary {
91
+ background-color: transparent;
92
+ color: var(--accent2);
93
+ border: 2px solid var(--accent2);
94
+ /* Adjust clip-path for border appearance */
95
+ clip-path: none;
96
+ border-radius: 4px;
97
+ position: relative;
98
+ z-index: 1;
99
+ overflow: hidden;
100
+ }
101
+
102
+ .btn-secondary::before {
103
+ content: '';
104
+ position: absolute;
105
+ top: 0; left: 0; right: 0; bottom: 0;
106
+ background: var(--accent2);
107
+ z-index: -1;
108
+ transform: scaleX(0);
109
+ transform-origin: left;
110
+ transition: transform 0.3s ease;
111
+ }
112
+
113
+ .btn-secondary:hover {
114
+ color: var(--bg);
115
+ border-color: var(--accent2);
116
+ }
117
+
118
+ .btn-secondary:hover::before {
119
+ transform: scaleX(1);
120
+ }
121
+
122
+ /* --- HEADER (Part A1 Styles) --- */
123
+ header {
124
+ background-color: rgba(4, 18, 20, 0.95);
125
+ backdrop-filter: blur(10px);
126
+ border-bottom: 1px solid var(--surface);
127
+ position: sticky;
128
+ top: 0;
129
+ z-index: 100;
130
+ }
131
+
132
+ .header-inner {
133
+ display: flex;
134
+ justify-content: space-between;
135
+ align-items: center;
136
+ height: 70px;
137
+ }
138
+
139
+ .brand {
140
+ font-size: 24px;
141
+ color: var(--text);
142
+ text-transform: uppercase;
143
+ letter-spacing: 2px;
144
+ }
145
+
146
+ .brand span {
147
+ color: var(--accent2);
148
+ }
149
+
150
+ .nav-links {
151
+ display: flex;
152
+ gap: 20px;
153
+ }
154
+
155
+ .nav-links a {
156
+ color: var(--text);
157
+ font-size: 14px;
158
+ font-weight: 600;
159
+ text-transform: uppercase;
160
+ padding: 10px 0;
161
+ }
162
+
163
+ .nav-links a:hover {
164
+ color: var(--accent2);
165
+ }
166
+
167
+ .header-actions {
168
+ display: flex;
169
+ align-items: center;
170
+ gap: 15px;
171
+ }
172
+
173
+ .mobile-toggle {
174
+ display: none;
175
+ background: none;
176
+ border: none;
177
+ color: var(--text);
178
+ font-size: 28px;
179
+ cursor: pointer;
180
+ min-width: 44px;
181
+ min-height: 44px;
182
+ }
183
+
184
+ /* --- HERO BANNER --- */
185
+ .hero-banner {
186
+ padding: 60px 0 40px;
187
+ background: radial-gradient(circle at 50% 0%, rgba(20, 184, 166, 0.15) 0%, var(--bg) 70%);
188
+ text-align: center;
189
+ border-bottom: 1px solid var(--surface);
190
+ position: relative;
191
+ }
192
+
193
+ .breadcrumb {
194
+ font-size: 12px;
195
+ color: var(--muted);
196
+ margin-bottom: 20px;
197
+ text-transform: uppercase;
198
+ letter-spacing: 1px;
199
+ }
200
+
201
+ .meta-chips {
202
+ display: flex;
203
+ justify-content: center;
204
+ gap: 10px;
205
+ flex-wrap: wrap;
206
+ margin-top: 20px;
207
+ }
208
+
209
+ .chip {
210
+ background-color: var(--surface);
211
+ border: 1px solid var(--accent2);
212
+ color: var(--accent2);
213
+ padding: 6px 12px;
214
+ font-size: 12px;
215
+ font-weight: 600;
216
+ border-radius: 20px;
217
+ display: inline-flex;
218
+ align-items: center;
219
+ box-shadow: 0 0 10px rgba(20, 184, 166, 0.1);
220
+ }
221
+
222
+ /* --- MAIN CONTENT --- */
223
+ .page-content {
224
+ padding: 50px 20px;
225
+ }
226
+
227
+ .intro-box {
228
+ background-color: var(--surface);
229
+ border-left: 4px solid var(--accent);
230
+ padding: 25px;
231
+ margin-bottom: 40px;
232
+ font-size: 1.1rem;
233
+ color: var(--text);
234
+ box-shadow: 0 10px 30px rgba(0,0,0,0.5);
235
+ position: relative;
236
+ }
237
+
238
+ .intro-box::after {
239
+ content: '';
240
+ position: absolute;
241
+ top: 0; right: 0;
242
+ width: 30px; height: 30px;
243
+ background: linear-gradient(225deg, var(--bg) 50%, transparent 50%);
244
+ }
245
+
246
+ .content-grid {
247
+ display: grid;
248
+ gap: 30px;
249
+ margin-bottom: 50px;
250
+ }
251
+
252
+ .dossier-card {
253
+ background-color: var(--surface);
254
+ padding: 30px;
255
+ position: relative;
256
+ border: 1px solid rgba(143, 176, 179, 0.1);
257
+ transition: var(--transition);
258
+ }
259
+
260
+ .dossier-card:hover {
261
+ border-color: rgba(20, 184, 166, 0.3);
262
+ box-shadow: 0 5px 20px rgba(0,0,0,0.4), inset 0 0 20px rgba(20, 184, 166, 0.05);
263
+ }
264
+
265
+ /* Decorative stadium/tech corners */
266
+ .dossier-card::before, .dossier-card::after {
267
+ content: '';
268
+ position: absolute;
269
+ width: 15px; height: 15px;
270
+ border: 2px solid var(--accent2);
271
+ transition: var(--transition);
272
+ }
273
+ .dossier-card::before { top: -1px; left: -1px; border-right: none; border-bottom: none; }
274
+ .dossier-card::after { bottom: -1px; right: -1px; border-left: none; border-top: none; }
275
+
276
+ .dossier-card:hover::before, .dossier-card:hover::after {
277
+ width: 25px; height: 25px;
278
+ border-color: var(--accent);
279
+ }
280
+
281
+ /* Custom List for Hero Steps */
282
+ .hero-list {
283
+ list-style: none;
284
+ counter-reset: hero-counter;
285
+ margin-top: 20px;
286
+ }
287
+
288
+ .hero-list li {
289
+ position: relative;
290
+ padding-left: 45px;
291
+ margin-bottom: 15px;
292
+ background: rgba(17, 51, 57, 0.4);
293
+ padding-top: 12px;
294
+ padding-bottom: 12px;
295
+ padding-right: 15px;
296
+ border-radius: 0 8px 8px 0;
297
+ border-left: 2px solid var(--accent2);
298
+ }
299
+
300
+ .hero-list li::before {
301
+ content: counter(hero-counter);
302
+ counter-increment: hero-counter;
303
+ position: absolute;
304
+ left: -10px;
305
+ top: 50%;
306
+ transform: translateY(-50%);
307
+ background-color: var(--accent2);
308
+ color: var(--bg);
309
+ font-family: var(--font-display);
310
+ width: 30px;
311
+ height: 30px;
312
+ display: flex;
313
+ align-items: center;
314
+ justify-content: center;
315
+ clip-path: polygon(20% 0%, 100% 0, 80% 100%, 0% 100%);
316
+ font-size: 14px;
317
+ box-shadow: 2px 2px 5px rgba(0,0,0,0.5);
318
+ }
319
+
320
+ /* --- FAQ SECTION --- */
321
+ .faq-section {
322
+ margin: 50px 0;
323
+ }
324
+
325
+ .faq-section h2 {
326
+ text-align: center;
327
+ margin-bottom: 30px;
328
+ }
329
+
330
+ details {
331
+ background-color: var(--surface);
332
+ margin-bottom: 15px;
333
+ border: 1px solid rgba(20, 184, 166, 0.2);
334
+ border-radius: 4px;
335
+ overflow: hidden;
336
+ }
337
+
338
+ summary {
339
+ padding: 18px 20px;
340
+ font-family: var(--font-display);
341
+ font-size: 16px;
342
+ color: var(--text);
343
+ cursor: pointer;
344
+ list-style: none;
345
+ display: flex;
346
+ justify-content: space-between;
347
+ align-items: center;
348
+ background-color: rgba(17, 51, 57, 0.5);
349
+ min-height: 44px;
350
+ }
351
+
352
+ summary::-webkit-details-marker {
353
+ display: none;
354
+ }
355
+
356
+ summary::after {
357
+ content: '+';
358
+ color: var(--accent2);
359
+ font-size: 24px;
360
+ line-height: 1;
361
+ transition: transform 0.3s ease;
362
+ }
363
+
364
+ details[open] summary::after {
365
+ transform: rotate(45deg);
366
+ color: var(--accent);
367
+ }
368
+
369
+ details[open] summary {
370
+ border-bottom: 1px solid rgba(20, 184, 166, 0.2);
371
+ }
372
+
373
+ details p {
374
+ padding: 20px;
375
+ margin: 0;
376
+ color: var(--muted);
377
+ }
378
+
379
+ /* --- RELATED LINKS --- */
380
+ .related-links {
381
+ background: linear-gradient(90deg, var(--surface) 0%, var(--bg) 100%);
382
+ padding: 30px;
383
+ border-left: 4px solid var(--accent2);
384
+ margin: 50px 0;
385
+ }
386
+
387
+ .related-links h3 {
388
+ color: var(--accent2);
389
+ text-transform: uppercase;
390
+ font-size: 1rem;
391
+ letter-spacing: 2px;
392
+ }
393
+
394
+ .link-grid {
395
+ display: flex;
396
+ flex-wrap: wrap;
397
+ gap: 15px;
398
+ margin-top: 15px;
399
+ }
400
+
401
+ .link-grid a {
402
+ background-color: rgba(4, 18, 20, 0.8);
403
+ border: 1px solid var(--muted);
404
+ padding: 10px 20px;
405
+ color: var(--text);
406
+ font-size: 14px;
407
+ text-transform: uppercase;
408
+ font-weight: 600;
409
+ display: inline-flex;
410
+ align-items: center;
411
+ min-height: 44px;
412
+ }
413
+
414
+ .link-grid a:hover {
415
+ border-color: var(--accent);
416
+ color: var(--accent);
417
+ background-color: var(--surface);
418
+ }
419
+
420
+ /* --- CTA BLOCK --- */
421
+ .cta-block {
422
+ text-align: center;
423
+ padding: 60px 20px;
424
+ background: linear-gradient(135deg, var(--surface) 0%, #061a1d 100%);
425
+ border: 1px solid rgba(255, 209, 102, 0.2);
426
+ position: relative;
427
+ overflow: hidden;
428
+ margin-bottom: 40px;
429
+ }
430
+
431
+ .cta-block::before {
432
+ content: '';
433
+ position: absolute;
434
+ top: -50%; left: -50%; width: 200%; height: 200%;
435
+ background: radial-gradient(circle, rgba(20, 184, 166, 0.05) 0%, transparent 60%);
436
+ z-index: 0;
437
+ }
438
+
439
+ .cta-block h2, .cta-actions {
440
+ position: relative;
441
+ z-index: 1;
442
+ }
443
+
444
+ .cta-block h2 {
445
+ font-size: 2rem;
446
+ color: var(--text);
447
+ margin-bottom: 30px;
448
+ }
449
+
450
+ .cta-actions {
451
+ display: flex;
452
+ justify-content: center;
453
+ gap: 20px;
454
+ flex-wrap: wrap;
455
+ }
456
+
457
+ /* --- FOOTER (Part A2 Styles) --- */
458
+ footer {
459
+ background-color: #02090a;
460
+ padding: 60px 0 20px;
461
+ border-top: 2px solid var(--surface);
462
+ }
463
+
464
+ .footer-grid {
465
+ display: grid;
466
+ grid-template-columns: 2fr 1fr 1fr;
467
+ gap: 40px;
468
+ margin-bottom: 40px;
469
+ }
470
+
471
+ .footer-brand h2 {
472
+ font-size: 28px;
473
+ color: var(--text);
474
+ text-transform: uppercase;
475
+ letter-spacing: 2px;
476
+ margin-bottom: 15px;
477
+ }
478
+
479
+ .footer-brand h2 span { color: var(--accent2); }
480
+
481
+ .footer-tagline {
482
+ color: var(--muted);
483
+ font-size: 14px;
484
+ max-width: 300px;
485
+ }
486
+
487
+ .footer-links-group h4 {
488
+ color: var(--text);
489
+ margin-bottom: 20px;
490
+ font-size: 16px;
491
+ text-transform: uppercase;
492
+ }
493
+
494
+ .footer-links-group a {
495
+ display: block;
496
+ color: var(--muted);
497
+ margin-bottom: 10px;
498
+ font-size: 14px;
499
+ min-height: 24px; /* Touch target consideration */
500
+ padding: 4px 0;
501
+ }
502
+
503
+ .footer-links-group a:hover {
504
+ color: var(--accent2);
505
+ padding-left: 5px;
506
+ }
507
+
508
+ .footer-bottom {
509
+ text-align: center;
510
+ padding-top: 20px;
511
+ border-top: 1px solid var(--surface);
512
+ color: var(--muted);
513
+ font-size: 12px;
514
+ }
515
+
516
+ /* --- MEDIA QUERIES --- */
517
+ @media (max-width: 1024px) {
518
+ .footer-grid { grid-template-columns: 1fr 1fr; }
519
+ .footer-brand { grid-column: span 2; }
520
+ }
521
+
522
+ @media (max-width: 768px) {
523
+ h1 { font-size: 1.5rem; }
524
+ .header-actions .btn-secondary { display: none; }
525
+ .nav-links {
526
+ display: none;
527
+ position: absolute;
528
+ top: 70px;
529
+ left: 0;
530
+ width: 100%;
531
+ background-color: var(--surface);
532
+ flex-direction: column;
533
+ padding: 20px;
534
+ border-bottom: 1px solid var(--accent2);
535
+ }
536
+ .nav-links.active { display: flex; }
537
+ .mobile-toggle { display: block; }
538
+
539
+ .content-grid { gap: 20px; }
540
+ .dossier-card { padding: 20px; }
541
+ .cta-actions { flex-direction: column; }
542
+ .cta-actions .btn { width: 100%; }
543
+ }
544
+
545
+ @media (max-width: 390px) {
546
+ .header-inner { padding: 0 10px; }
547
+ .brand { font-size: 20px; }
548
+ .header-actions .btn-primary { display: none; }
549
+ .page-content { padding: 30px 15px; }
550
+ .intro-box { padding: 15px; font-size: 1rem; }
551
+ h2 { font-size: 1.25rem; }
552
+ .footer-grid { grid-template-columns: 1fr; gap: 30px; }
553
+ .footer-brand { grid-column: span 1; }
554
+ .link-grid a { width: 100%; justify-content: center; }
555
+ }
556
+
557
+
558
+ /* pipeline image & layout guards */
559
+ html, body { overflow-x: clip; }
560
+ img { max-width: 100%; height: auto; }
561
+ img.site-logo { height: 40px; width: auto; max-width: 240px; object-fit: contain; flex: none; }
562
+ header .logo a { display: inline-flex; align-items: center; flex: none; text-decoration: none; }
563
+ img.hero-visual { width: 100%; max-width: 560px; height: auto; object-fit: cover; border-radius: 16px; display: block; margin-inline: auto; }
564
+ img[class^="strip-"], img[class*=" strip-"] { width: 100%; height: auto; display: block; border-radius: 12px; object-fit: cover; }
565
+ /* 合规声明块(zb-disclaimer,全站 footer) */
566
+ .zb-disclaimer { margin-top: 18px; padding-top: 14px; border-top: 1px solid color-mix(in srgb, currentColor 22%, transparent); font-size: .72rem; line-height: 1.65; opacity: .8; display: grid; gap: 6px; }
567
+ .zb-disclaimer .zb-18 { justify-self: start; display: inline-flex; align-items: center; padding: 2px 10px; border: 1.5px solid currentColor; border-radius: 8px; font-weight: 800; letter-spacing: 1px; }