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,173 @@
1
+ :root {
2
+ --bg: #041214;
3
+ --surface: #0a2226;
4
+ --surface-hover: #0e2f34;
5
+ --accent: #ffd166;
6
+ --accent-hover: #ffdf99;
7
+ --accent2: #14b8a6;
8
+ --accent2-glow: rgba(20, 184, 166, 0.3);
9
+ --text: #effcff;
10
+ --muted: #8fb0b3;
11
+ --font-display: 'Russo One', sans-serif;
12
+ --font-body: 'Open Sans', sans-serif;
13
+ --container-width: 1140px;
14
+ --header-height: 70px;
15
+ --radius: 8px;
16
+ --transition: all 0.3s ease;
17
+ }
18
+
19
+ /* Reset & Base */
20
+ * { margin: 0; padding: 0; box-sizing: border-box; }
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
+ /* Stadium Grid & Glow */
28
+ background-image:
29
+ radial-gradient(circle at 50% 0%, rgba(20, 184, 166, 0.15) 0%, transparent 70%),
30
+ linear-gradient(rgba(20, 184, 166, 0.03) 1px, transparent 1px),
31
+ linear-gradient(90deg, rgba(20, 184, 166, 0.03) 1px, transparent 1px);
32
+ background-size: 100% 100%, 40px 40px, 40px 40px;
33
+ background-attachment: fixed;
34
+ }
35
+ a { color: var(--accent2); text-decoration: none; transition: var(--transition); }
36
+ a:hover { color: var(--accent); }
37
+ h1, h2, h3, h4, h5 { font-family: var(--font-display); font-weight: normal; line-height: 1.2; letter-spacing: 0.5px; }
38
+ .container { width: 100%; max-width: var(--container-width); margin: 0 auto; padding: 0 20px; }
39
+
40
+ /* Buttons */
41
+ .btn {
42
+ display: inline-flex; align-items: center; justify-content: center;
43
+ padding: 12px 24px; font-family: var(--font-display); font-size: 14px;
44
+ text-transform: uppercase; letter-spacing: 1px; border: none; cursor: pointer;
45
+ transition: var(--transition); text-decoration: none; min-height: 44px;
46
+ clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
47
+ }
48
+ .btn-primary { background: var(--accent); color: var(--bg); box-shadow: 0 0 15px rgba(255, 209, 102, 0.2); }
49
+ .btn-primary:hover { background: var(--accent-hover); transform: translateY(-2px); box-shadow: 0 4px 20px rgba(255, 209, 102, 0.4); color: var(--bg); }
50
+ .btn-secondary { background: transparent; color: var(--accent2); border: 2px solid var(--accent2); padding: 10px 22px; }
51
+ .btn-secondary:hover { background: var(--accent2); color: var(--bg); box-shadow: 0 0 15px var(--accent2-glow); }
52
+
53
+ /* Header (Copied Structure Styling) */
54
+ header { position: fixed; top: 0; left: 0; width: 100%; background: rgba(4, 18, 20, 0.95); backdrop-filter: blur(10px); z-index: 1000; border-bottom: 1px solid rgba(20, 184, 166, 0.2); height: var(--header-height); display: flex; align-items: center; }
55
+ .header-inner { display: flex; justify-content: space-between; align-items: center; width: 100%; }
56
+ .brand { font-family: var(--font-display); font-size: 24px; color: var(--text); display: flex; align-items: center; gap: 10px; text-transform: uppercase; letter-spacing: 1px; }
57
+ .brand span { color: var(--accent2); }
58
+ .nav-links { display: flex; gap: 20px; }
59
+ .nav-links a { color: var(--text); font-size: 14px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; position: relative; }
60
+ .nav-links a::after { content: ''; position: absolute; bottom: -5px; left: 0; width: 0; height: 2px; background: var(--accent2); transition: var(--transition); }
61
+ .nav-links a:hover { color: var(--accent2); }
62
+ .nav-links a:hover::after { width: 100%; }
63
+ .header-actions { display: flex; gap: 15px; align-items: center; }
64
+ .mobile-toggle { display: none; background: transparent; border: none; color: var(--accent2); font-size: 28px; cursor: pointer; min-width: 44px; min-height: 44px; }
65
+
66
+ /* Hero Banner */
67
+ .hero-banner { padding: calc(var(--header-height) + 60px) 0 60px; position: relative; text-align: center; border-bottom: 1px solid rgba(20, 184, 166, 0.1); }
68
+ .hero-banner::before { content: ''; position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 100%; max-width: 800px; height: 100%; background: radial-gradient(ellipse at top, var(--accent2-glow) 0%, transparent 70%); pointer-events: none; }
69
+ .breadcrumb { font-size: 13px; color: var(--muted); margin-bottom: 20px; display: inline-block; background: rgba(10, 34, 38, 0.8); padding: 6px 16px; border-radius: 20px; border: 1px solid rgba(20, 184, 166, 0.2); }
70
+ .hero-banner h1 { font-size: 42px; color: var(--text); margin-bottom: 25px; text-transform: uppercase; text-shadow: 0 0 20px rgba(255, 209, 102, 0.2); }
71
+ .meta-chips { display: flex; justify-content: center; gap: 15px; }
72
+ .chip { display: inline-flex; align-items: center; font-size: 12px; font-weight: 600; color: var(--accent2); background: rgba(20, 184, 166, 0.1); padding: 4px 12px; border-radius: 4px; border: 1px solid rgba(20, 184, 166, 0.3); text-transform: uppercase; letter-spacing: 0.5px; }
73
+
74
+ /* Main Content */
75
+ .page-content { padding: 60px 20px; display: flex; flex-direction: column; gap: 40px; }
76
+
77
+ .intro-block { background: var(--surface); padding: 30px; border-left: 4px solid var(--accent); font-size: 16px; color: var(--text); line-height: 1.8; box-shadow: 0 10px 30px rgba(0,0,0,0.5); position: relative; overflow: hidden; }
78
+ .intro-block::after { content: ''; position: absolute; top: -50%; right: -50%; width: 100%; height: 200%; background: radial-gradient(circle, rgba(255, 209, 102, 0.05) 0%, transparent 50%); pointer-events: none; }
79
+
80
+ .content-grid { display: grid; grid-template-columns: 1fr; gap: 30px; }
81
+
82
+ .promo-card { background: var(--surface); padding: 40px; position: relative; border: 1px solid rgba(20, 184, 166, 0.15); transition: var(--transition); /* Diagonal cut effect */ clip-path: polygon(0 0, 100% 0, 100% calc(100% - 25px), calc(100% - 25px) 100%, 0 100%); }
83
+ .promo-card::before { content: ''; position: absolute; bottom: 0; right: 0; width: 25px; height: 25px; background: rgba(20, 184, 166, 0.2); clip-path: polygon(100% 0, 0 100%, 100% 100%); transition: var(--transition); }
84
+ .promo-card:hover { border-color: rgba(20, 184, 166, 0.4); box-shadow: 0 15px 40px rgba(0,0,0,0.4); transform: translateY(-3px); }
85
+ .promo-card:hover::before { background: var(--accent2); }
86
+
87
+ .promo-card h2 { font-size: 24px; color: var(--accent); margin-bottom: 20px; padding-bottom: 15px; border-bottom: 1px dashed rgba(143, 176, 179, 0.2); display: flex; align-items: center; gap: 15px; }
88
+ .section-badge { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: rgba(20, 184, 166, 0.1); color: var(--accent2); font-family: var(--font-display); font-size: 18px; border: 1px solid var(--accent2); border-radius: 4px; flex-shrink: 0; }
89
+
90
+ .promo-card p { margin-bottom: 15px; color: var(--muted); font-size: 15px; }
91
+ .promo-card p:last-child { margin-bottom: 0; }
92
+ .promo-card a { font-weight: 600; border-bottom: 1px solid transparent; }
93
+ .promo-card a:hover { border-bottom-color: var(--accent); }
94
+
95
+ /* Custom List Styling */
96
+ .claim-steps { list-style: none; margin-top: 20px; counter-reset: step-counter; }
97
+ .claim-steps li { position: relative; padding-left: 50px; margin-bottom: 15px; color: var(--text); font-size: 15px; min-height: 32px; display: flex; align-items: center; }
98
+ .claim-steps li::before { content: counter(step-counter); counter-increment: step-counter; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 32px; height: 32px; background: var(--bg); border: 2px solid var(--accent2); color: var(--accent2); font-family: var(--font-display); display: flex; align-items: center; justify-content: center; font-size: 14px; clip-path: polygon(5px 0, 100% 0, 100% calc(100% - 5px), calc(100% - 5px) 100%, 0 100%, 0 5px); }
99
+
100
+ /* FAQ Section */
101
+ .faq-wrapper { margin-top: 20px; }
102
+ .faq-wrapper h2 { font-size: 28px; text-align: center; margin-bottom: 30px; color: var(--text); text-transform: uppercase; }
103
+ details { background: var(--surface); margin-bottom: 15px; border: 1px solid rgba(20, 184, 166, 0.2); transition: var(--transition); clip-path: polygon(15px 0, 100% 0, 100% calc(100% - 15px), calc(100% - 15px) 100%, 0 100%, 0 15px); }
104
+ details:hover { border-color: rgba(20, 184, 166, 0.5); }
105
+ summary { padding: 20px 25px; font-family: var(--font-display); font-size: 16px; cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; color: var(--accent); user-select: none; }
106
+ summary::-webkit-details-marker { display: none; }
107
+ summary::after { content: '+'; color: var(--accent2); font-size: 24px; font-weight: normal; transition: transform 0.3s ease; }
108
+ details[open] summary::after { transform: rotate(45deg); }
109
+ details p { padding: 0 25px 25px; margin: 0; color: var(--muted); font-size: 15px; border-top: 1px solid rgba(255,255,255,0.05); padding-top: 15px; }
110
+
111
+ /* Related Links */
112
+ .related-links { background: rgba(10, 34, 38, 0.5); padding: 40px; border: 1px solid rgba(143, 176, 179, 0.1); text-align: center; border-radius: var(--radius); }
113
+ .related-links h3 { font-size: 20px; margin-bottom: 20px; color: var(--text); }
114
+ .tags-container { display: flex; flex-wrap: wrap; justify-content: center; gap: 15px; }
115
+ .tags-container a { display: inline-block; padding: 10px 20px; background: var(--bg); border: 1px solid rgba(20, 184, 166, 0.3); color: var(--muted); font-size: 14px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; transition: var(--transition); clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px); }
116
+ .tags-container a:hover { background: rgba(20, 184, 166, 0.1); color: var(--accent); border-color: var(--accent); transform: translateY(-2px); }
117
+
118
+ /* Grand CTA */
119
+ .grand-cta { background: linear-gradient(135deg, var(--surface) 0%, #06181b 100%); padding: 60px 40px; text-align: center; border: 1px solid rgba(255, 209, 102, 0.2); position: relative; overflow: hidden; }
120
+ .grand-cta::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 4px; background: linear-gradient(90deg, var(--accent2), var(--accent), var(--accent2)); }
121
+ .grand-cta h2 { font-size: 32px; color: var(--accent); margin-bottom: 15px; text-transform: uppercase; }
122
+ .grand-cta p { color: var(--muted); font-size: 16px; margin-bottom: 30px; max-width: 600px; margin-left: auto; margin-right: auto; }
123
+ .cta-buttons { display: flex; justify-content: center; gap: 20px; }
124
+
125
+ /* Footer (Copied Structure Styling) */
126
+ footer { background: #02090a; padding: 60px 0 20px; border-top: 1px solid rgba(20, 184, 166, 0.2); margin-top: 40px; }
127
+ .footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 40px; margin-bottom: 40px; }
128
+ .footer-brand h2 { font-family: var(--font-display); font-size: 28px; color: var(--text); margin-bottom: 15px; text-transform: uppercase; }
129
+ .footer-brand span { color: var(--accent2); }
130
+ .footer-tagline { color: var(--muted); font-size: 14px; max-width: 300px; }
131
+ .footer-links-group h4 { font-size: 16px; color: var(--accent); margin-bottom: 20px; text-transform: uppercase; letter-spacing: 1px; }
132
+ .footer-links-group a { display: block; color: var(--muted); margin-bottom: 10px; font-size: 14px; }
133
+ .footer-links-group a:hover { color: var(--accent2); padding-left: 5px; }
134
+ .footer-bottom { text-align: center; padding-top: 20px; border-top: 1px solid rgba(255,255,255,0.05); color: var(--muted); font-size: 13px; }
135
+
136
+ /* Responsive */
137
+ @media (max-width: 1024px) {
138
+ .hero-banner h1 { font-size: 36px; }
139
+ .promo-card { padding: 30px; }
140
+ }
141
+ @media (max-width: 768px) {
142
+ .nav-links, .header-actions .btn { display: none; }
143
+ .mobile-toggle { display: block; }
144
+ .nav-links.active { display: flex; flex-direction: column; position: absolute; top: var(--header-height); left: 0; width: 100%; background: var(--surface); padding: 20px; border-bottom: 1px solid rgba(20, 184, 166, 0.2); }
145
+ .header-actions.active .btn { display: inline-flex; margin-top: 10px; width: 100%; }
146
+
147
+ .hero-banner h1 { font-size: 28px; }
148
+ .hero-banner { padding: calc(var(--header-height) + 40px) 0 40px; }
149
+ .footer-grid { grid-template-columns: 1fr; gap: 30px; }
150
+ .grand-cta h2 { font-size: 26px; }
151
+ }
152
+ @media (max-width: 390px) {
153
+ .hero-banner h1 { font-size: 24px; }
154
+ .meta-chips { flex-direction: column; align-items: center; gap: 10px; }
155
+ .promo-card { padding: 20px; }
156
+ .promo-card h2 { font-size: 20px; flex-direction: column; align-items: flex-start; gap: 10px; }
157
+ .cta-buttons { flex-direction: column; }
158
+ .btn { width: 100%; }
159
+ .claim-steps li { padding-left: 40px; font-size: 14px; }
160
+ .claim-steps li::before { width: 28px; height: 28px; font-size: 12px; }
161
+ }
162
+
163
+
164
+ /* pipeline image & layout guards */
165
+ html, body { overflow-x: clip; }
166
+ img { max-width: 100%; height: auto; }
167
+ img.site-logo { height: 40px; width: auto; max-width: 240px; object-fit: contain; flex: none; }
168
+ header .logo a { display: inline-flex; align-items: center; flex: none; text-decoration: none; }
169
+ img.hero-visual { width: 100%; max-width: 560px; height: auto; object-fit: cover; border-radius: 16px; display: block; margin-inline: auto; }
170
+ img[class^="strip-"], img[class*=" strip-"] { width: 100%; height: auto; display: block; border-radius: 12px; object-fit: cover; }
171
+ /* 合规声明块(zb-disclaimer,全站 footer) */
172
+ .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; }
173
+ .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; }
@@ -0,0 +1,415 @@
1
+ :root {
2
+ --bg: #041214;
3
+ --surface: #0a2226;
4
+ --accent: #ffd166;
5
+ --accent2: #14b8a6;
6
+ --text: #effcff;
7
+ --muted: #8fb0b3;
8
+ }
9
+
10
+ * {
11
+ box-sizing: border-box;
12
+ margin: 0;
13
+ padding: 0;
14
+ }
15
+
16
+ body {
17
+ font-family: 'Open Sans', sans-serif;
18
+ background-color: var(--bg);
19
+ color: var(--text);
20
+ line-height: 1.6;
21
+ -webkit-font-smoothing: antialiased;
22
+ }
23
+
24
+ h1, h2, h3, h4, .brand {
25
+ font-family: 'Russo One', sans-serif;
26
+ font-weight: normal;
27
+ }
28
+
29
+ a {
30
+ color: var(--accent2);
31
+ text-decoration: none;
32
+ transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease;
33
+ }
34
+
35
+ a:hover {
36
+ color: var(--accent);
37
+ }
38
+
39
+ .container {
40
+ width: 100%;
41
+ max-width: 1280px;
42
+ margin: 0 auto;
43
+ padding: 0 15px;
44
+ }
45
+
46
+ /* BUTTONS */
47
+ .btn {
48
+ display: inline-flex;
49
+ align-items: center;
50
+ justify-content: center;
51
+ padding: 10px 20px;
52
+ border-radius: 4px;
53
+ font-weight: 700;
54
+ text-transform: uppercase;
55
+ font-size: 0.875rem;
56
+ cursor: pointer;
57
+ border: 2px solid transparent;
58
+ }
59
+
60
+ .btn-primary {
61
+ background-color: var(--accent);
62
+ color: #000;
63
+ }
64
+
65
+ .btn-primary:hover {
66
+ background-color: #e6bc5c;
67
+ color: #000;
68
+ }
69
+
70
+ .btn-secondary {
71
+ background-color: transparent;
72
+ border-color: var(--accent);
73
+ color: var(--accent);
74
+ }
75
+
76
+ .btn-secondary:hover {
77
+ background-color: rgba(255, 209, 102, 0.1);
78
+ }
79
+
80
+ /* HEADER */
81
+ header {
82
+ background-color: var(--surface);
83
+ border-bottom: 1px solid rgba(20, 184, 166, 0.2);
84
+ position: sticky;
85
+ top: 0;
86
+ z-index: 100;
87
+ }
88
+
89
+ .header-inner {
90
+ display: flex;
91
+ align-items: center;
92
+ justify-content: space-between;
93
+ height: 70px;
94
+ }
95
+
96
+ .brand {
97
+ font-size: 1.5rem;
98
+ color: var(--text);
99
+ display: flex;
100
+ align-items: center;
101
+ gap: 10px;
102
+ }
103
+
104
+ .brand span {
105
+ color: var(--accent);
106
+ }
107
+
108
+ .nav-links {
109
+ display: none; /* Hidden on mobile */
110
+ gap: 20px;
111
+ }
112
+
113
+ .nav-links a {
114
+ color: var(--text);
115
+ font-weight: 600;
116
+ font-size: 0.9rem;
117
+ }
118
+
119
+ .nav-links a:hover {
120
+ color: var(--accent);
121
+ }
122
+
123
+ .header-actions {
124
+ display: flex;
125
+ align-items: center;
126
+ gap: 10px;
127
+ }
128
+
129
+ .header-actions .btn {
130
+ display: none; /* Hidden on mobile */
131
+ }
132
+
133
+ .mobile-toggle {
134
+ background: transparent;
135
+ border: none;
136
+ color: var(--text);
137
+ font-size: 1.5rem;
138
+ cursor: pointer;
139
+ display: block;
140
+ }
141
+
142
+ /* MAIN CONTENT */
143
+ main {
144
+ padding: 40px 0 80px;
145
+ }
146
+
147
+ /* BREADCRUMB */
148
+ .breadcrumb {
149
+ font-size: 0.875rem;
150
+ color: var(--muted);
151
+ margin-bottom: 20px;
152
+ text-align: center;
153
+ }
154
+
155
+ .breadcrumb a {
156
+ color: var(--accent2);
157
+ }
158
+
159
+ /* BANNER & SEARCH BOX */
160
+ .search-banner {
161
+ text-align: center;
162
+ margin-bottom: 40px;
163
+ }
164
+
165
+ .search-banner h1 {
166
+ font-size: 2rem;
167
+ color: var(--accent);
168
+ margin-bottom: 25px;
169
+ text-transform: uppercase;
170
+ letter-spacing: 1px;
171
+ }
172
+
173
+ .search-form {
174
+ display: flex;
175
+ max-width: 600px;
176
+ margin: 0 auto;
177
+ gap: 10px;
178
+ }
179
+
180
+ .search-input {
181
+ flex-grow: 1;
182
+ padding: 15px 20px;
183
+ font-size: 1rem;
184
+ background-color: var(--surface);
185
+ border: 2px solid rgba(143, 176, 179, 0.3);
186
+ border-radius: 8px;
187
+ color: var(--text);
188
+ outline: none;
189
+ transition: border-color 0.3s;
190
+ font-family: 'Open Sans', sans-serif;
191
+ }
192
+
193
+ .search-input:focus {
194
+ border-color: var(--accent2);
195
+ }
196
+
197
+ .search-input::placeholder {
198
+ color: var(--muted);
199
+ }
200
+
201
+ .btn-search {
202
+ padding: 0 30px;
203
+ font-size: 1rem;
204
+ border-radius: 8px;
205
+ }
206
+
207
+ /* POPULAR SEARCHES */
208
+ .popular-searches {
209
+ text-align: center;
210
+ margin-bottom: 50px;
211
+ }
212
+
213
+ .section-title {
214
+ font-size: 1.5rem;
215
+ margin-bottom: 20px;
216
+ color: var(--text);
217
+ }
218
+
219
+ .tag-cloud {
220
+ display: flex;
221
+ flex-wrap: wrap;
222
+ justify-content: center;
223
+ gap: 12px;
224
+ max-width: 800px;
225
+ margin: 0 auto;
226
+ }
227
+
228
+ .tag-cloud a {
229
+ padding: 8px 16px;
230
+ background-color: var(--surface);
231
+ border: 1px solid rgba(20, 184, 166, 0.4);
232
+ border-radius: 20px;
233
+ font-size: 0.9rem;
234
+ color: var(--text);
235
+ transition: all 0.3s ease;
236
+ }
237
+
238
+ .tag-cloud a:hover {
239
+ background-color: var(--accent2);
240
+ color: var(--bg);
241
+ border-color: var(--accent2);
242
+ }
243
+
244
+ /* RESULTS SECTION */
245
+ .results-section {
246
+ max-width: 800px;
247
+ margin: 0 auto 50px;
248
+ }
249
+
250
+ .results-grid {
251
+ display: flex;
252
+ flex-direction: column;
253
+ gap: 15px;
254
+ margin-top: 20px;
255
+ }
256
+
257
+ .result-card {
258
+ display: block;
259
+ background-color: var(--surface);
260
+ padding: 20px;
261
+ border-radius: 8px;
262
+ border: 1px solid rgba(143, 176, 179, 0.1);
263
+ transition: transform 0.2s ease, border-color 0.2s ease;
264
+ }
265
+
266
+ .result-card:hover {
267
+ transform: translateY(-2px);
268
+ border-color: var(--accent2);
269
+ color: inherit;
270
+ }
271
+
272
+ .result-card h3 {
273
+ color: var(--accent);
274
+ font-size: 1.2rem;
275
+ margin-bottom: 5px;
276
+ }
277
+
278
+ .result-card span {
279
+ display: block;
280
+ font-size: 0.8rem;
281
+ color: var(--accent2);
282
+ margin-bottom: 10px;
283
+ }
284
+
285
+ .result-card p {
286
+ font-size: 0.95rem;
287
+ color: var(--muted);
288
+ }
289
+
290
+ .empty-state {
291
+ text-align: center;
292
+ padding: 30px;
293
+ background-color: var(--surface);
294
+ border-radius: 8px;
295
+ color: var(--muted);
296
+ border: 1px dashed rgba(143, 176, 179, 0.3);
297
+ margin-top: 20px;
298
+ }
299
+
300
+ /* CTA SECTION */
301
+ .cta-section {
302
+ text-align: center;
303
+ padding: 40px 20px;
304
+ background-color: var(--surface);
305
+ border-radius: 12px;
306
+ max-width: 600px;
307
+ margin: 0 auto;
308
+ border: 1px solid rgba(255, 209, 102, 0.1);
309
+ }
310
+
311
+ .cta-section h3 {
312
+ margin-bottom: 15px;
313
+ color: var(--text);
314
+ }
315
+
316
+ .cta-buttons {
317
+ display: flex;
318
+ justify-content: center;
319
+ gap: 15px;
320
+ flex-wrap: wrap;
321
+ }
322
+
323
+ /* FOOTER */
324
+ footer {
325
+ background-color: var(--surface);
326
+ border-top: 2px solid var(--accent2);
327
+ padding: 60px 0 20px;
328
+ margin-top: auto;
329
+ }
330
+
331
+ .footer-grid {
332
+ display: grid;
333
+ grid-template-columns: 1fr;
334
+ gap: 40px;
335
+ margin-bottom: 40px;
336
+ }
337
+
338
+ .footer-brand h2 {
339
+ font-size: 2rem;
340
+ color: var(--text);
341
+ margin-bottom: 15px;
342
+ }
343
+
344
+ .footer-brand h2 span {
345
+ color: var(--accent);
346
+ }
347
+
348
+ .footer-tagline {
349
+ color: var(--muted);
350
+ font-size: 0.95rem;
351
+ }
352
+
353
+ .footer-links-group h4 {
354
+ color: var(--accent2);
355
+ margin-bottom: 20px;
356
+ font-size: 1.1rem;
357
+ }
358
+
359
+ .footer-links-group a {
360
+ display: block;
361
+ color: var(--muted);
362
+ margin-bottom: 10px;
363
+ }
364
+
365
+ .footer-links-group a:hover {
366
+ color: var(--accent);
367
+ }
368
+
369
+ .footer-bottom {
370
+ text-align: center;
371
+ padding-top: 20px;
372
+ border-top: 1px solid rgba(143, 176, 179, 0.2);
373
+ color: var(--muted);
374
+ font-size: 0.875rem;
375
+ }
376
+
377
+ /* BREAKPOINTS */
378
+ @media (min-width: 768px) {
379
+ .nav-links {
380
+ display: flex;
381
+ }
382
+ .header-actions .btn {
383
+ display: inline-flex;
384
+ }
385
+ .mobile-toggle {
386
+ display: none;
387
+ }
388
+ .footer-grid {
389
+ grid-template-columns: 2fr 1fr 1fr;
390
+ }
391
+ .search-banner h1 {
392
+ font-size: 2.5rem;
393
+ }
394
+ }
395
+
396
+ @media (max-width: 480px) {
397
+ .search-form {
398
+ flex-direction: column;
399
+ }
400
+ .btn-search {
401
+ padding: 15px;
402
+ }
403
+ }
404
+
405
+
406
+ /* pipeline image & layout guards */
407
+ html, body { overflow-x: clip; }
408
+ img { max-width: 100%; height: auto; }
409
+ img.site-logo { height: 40px; width: auto; max-width: 240px; object-fit: contain; flex: none; }
410
+ header .logo a { display: inline-flex; align-items: center; flex: none; text-decoration: none; }
411
+ img.hero-visual { width: 100%; max-width: 560px; height: auto; object-fit: cover; border-radius: 16px; display: block; margin-inline: auto; }
412
+ img[class^="strip-"], img[class*=" strip-"] { width: 100%; height: auto; display: block; border-radius: 12px; object-fit: cover; }
413
+ /* 合规声明块(zb-disclaimer,全站 footer) */
414
+ .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; }
415
+ .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; }