@revclamp/google-ads-transparency-mcp 0.0.0-stage → 1.0.9

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,468 @@
1
+ :root {
2
+ --bg-obsidian: #0b1020;
3
+ --bg-panel: #111c38;
4
+ --bg-card: #162344;
5
+ --border-subtle: #243560;
6
+ --text-primary: #f8fafc;
7
+ --text-secondary: #cbd5e1;
8
+ --text-muted: #94a3b8;
9
+ --accent-emerald: #10b981;
10
+ --accent-emerald-hover: #059669;
11
+ --accent-cyan: #06b6d4;
12
+ --accent-amber: #f59e0b;
13
+ --danger-rose: #f43f5e;
14
+ --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
15
+ --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
16
+ }
17
+
18
+ *,
19
+ *::before,
20
+ *::after {
21
+ box-sizing: border-box;
22
+ }
23
+
24
+ html {
25
+ scroll-padding-top: 80px;
26
+ background-color: var(--bg-obsidian);
27
+ color: var(--text-primary);
28
+ font-family: var(--font-sans);
29
+ line-height: 1.5;
30
+ -webkit-text-size-adjust: 100%;
31
+ }
32
+
33
+ body {
34
+ margin: 0;
35
+ padding: 0;
36
+ min-height: 100vh;
37
+ display: flex;
38
+ flex-direction: column;
39
+ overflow-x: hidden;
40
+ background: radial-gradient(circle at 15% 0%, #15254b 0%, var(--bg-obsidian) 65%);
41
+ }
42
+
43
+ .site-header {
44
+ background: rgba(11, 16, 32, 0.96);
45
+ border-bottom: 1px solid var(--border-subtle);
46
+ padding: 12px 16px;
47
+ }
48
+
49
+ .header-inner {
50
+ max-width: 1360px;
51
+ margin: 0 auto;
52
+ display: flex;
53
+ flex-wrap: wrap;
54
+ align-items: center;
55
+ justify-content: space-between;
56
+ gap: 12px;
57
+ }
58
+
59
+ .brand-group {
60
+ display: flex;
61
+ align-items: center;
62
+ gap: 12px;
63
+ min-width: 0;
64
+ }
65
+
66
+ .brand-logo {
67
+ width: 36px;
68
+ height: 36px;
69
+ flex-shrink: 0;
70
+ border-radius: 8px;
71
+ }
72
+
73
+ .brand-titles {
74
+ min-width: 0;
75
+ }
76
+
77
+ .brand-title {
78
+ margin: 0;
79
+ font-size: 1.05rem;
80
+ font-weight: 700;
81
+ letter-spacing: -0.01em;
82
+ color: var(--text-primary);
83
+ overflow-wrap: anywhere;
84
+ }
85
+
86
+ .brand-subtitle {
87
+ margin: 2px 0 0;
88
+ font-size: 0.8rem;
89
+ color: var(--text-secondary);
90
+ overflow-wrap: anywhere;
91
+ }
92
+
93
+ .header-badges {
94
+ display: flex;
95
+ flex-wrap: wrap;
96
+ align-items: center;
97
+ gap: 8px;
98
+ }
99
+
100
+ .badge {
101
+ display: inline-flex;
102
+ align-items: center;
103
+ padding: 4px 10px;
104
+ border-radius: 999px;
105
+ font-size: 0.75rem;
106
+ font-weight: 600;
107
+ border: 1px solid var(--border-subtle);
108
+ background: var(--bg-panel);
109
+ color: var(--text-secondary);
110
+ }
111
+
112
+ .badge-emerald {
113
+ border-color: rgba(16, 185, 129, 0.45);
114
+ background: rgba(16, 185, 129, 0.14);
115
+ color: #6ee7b7;
116
+ }
117
+
118
+ .badge-cyan {
119
+ border-color: rgba(6, 182, 212, 0.45);
120
+ background: rgba(6, 182, 212, 0.14);
121
+ color: #67e8f9;
122
+ }
123
+
124
+ .badge-amber {
125
+ border-color: rgba(245, 158, 11, 0.45);
126
+ background: rgba(245, 158, 11, 0.14);
127
+ color: #fde68a;
128
+ }
129
+
130
+ .workbench-main {
131
+ flex: 1;
132
+ width: 100%;
133
+ max-width: 1360px;
134
+ margin: 0 auto;
135
+ padding: 16px;
136
+ display: grid;
137
+ grid-template-columns: 1fr;
138
+ gap: 16px;
139
+ }
140
+
141
+ @media (min-width: 720px) {
142
+ .workbench-main {
143
+ grid-template-columns: minmax(290px, 380px) minmax(0, 1fr);
144
+ align-items: start;
145
+ }
146
+ }
147
+
148
+ .panel {
149
+ background: var(--bg-panel);
150
+ border: 1px solid var(--border-subtle);
151
+ border-radius: 12px;
152
+ padding: 16px;
153
+ min-width: 0;
154
+ }
155
+
156
+ .panel-heading {
157
+ margin: 0 0 12px;
158
+ font-size: 0.95rem;
159
+ font-weight: 600;
160
+ color: var(--text-primary);
161
+ display: flex;
162
+ flex-wrap: wrap;
163
+ align-items: center;
164
+ justify-content: space-between;
165
+ gap: 8px;
166
+ }
167
+
168
+ .panel-heading-title {
169
+ margin: 0;
170
+ font-size: 0.95rem;
171
+ font-weight: 600;
172
+ color: var(--text-primary);
173
+ }
174
+
175
+ .export-actions-row {
176
+ display: flex;
177
+ flex-wrap: wrap;
178
+ align-items: center;
179
+ gap: 8px;
180
+ }
181
+
182
+ .btn:disabled {
183
+ opacity: 0.5;
184
+ cursor: not-allowed;
185
+ }
186
+
187
+ .form-stack {
188
+ display: flex;
189
+ flex-direction: column;
190
+ gap: 12px;
191
+ min-width: 0;
192
+ }
193
+
194
+ .field-group {
195
+ display: flex;
196
+ flex-direction: column;
197
+ gap: 4px;
198
+ min-width: 0;
199
+ }
200
+
201
+ .field-label {
202
+ font-size: 0.82rem;
203
+ font-weight: 600;
204
+ color: var(--text-secondary);
205
+ }
206
+
207
+ .field-hint {
208
+ font-size: 0.74rem;
209
+ color: var(--text-muted);
210
+ overflow-wrap: anywhere;
211
+ }
212
+
213
+ .input-control,
214
+ .select-control {
215
+ width: 100%;
216
+ min-height: 44px;
217
+ padding: 8px 12px;
218
+ border-radius: 8px;
219
+ border: 1px solid var(--border-subtle);
220
+ background: var(--bg-obsidian);
221
+ color: var(--text-primary);
222
+ font-size: 0.9rem;
223
+ font-family: var(--font-sans);
224
+ }
225
+
226
+ .input-control:focus,
227
+ .select-control:focus,
228
+ .btn:focus {
229
+ outline: 2px solid var(--accent-cyan);
230
+ outline-offset: 2px;
231
+ }
232
+
233
+ .checkbox-row {
234
+ display: flex;
235
+ align-items: center;
236
+ gap: 10px;
237
+ min-height: 44px;
238
+ padding: 4px 0;
239
+ cursor: pointer;
240
+ font-size: 0.85rem;
241
+ color: var(--text-secondary);
242
+ }
243
+
244
+ .checkbox-input {
245
+ width: 22px;
246
+ height: 22px;
247
+ accent-color: var(--accent-emerald);
248
+ cursor: pointer;
249
+ flex-shrink: 0;
250
+ }
251
+
252
+ .button-row {
253
+ display: flex;
254
+ flex-wrap: wrap;
255
+ gap: 10px;
256
+ margin-top: 4px;
257
+ }
258
+
259
+ .btn {
260
+ min-height: 44px;
261
+ min-width: 44px;
262
+ padding: 10px 16px;
263
+ border-radius: 8px;
264
+ border: 1px solid transparent;
265
+ font-size: 0.88rem;
266
+ font-weight: 600;
267
+ cursor: pointer;
268
+ display: inline-flex;
269
+ align-items: center;
270
+ justify-content: center;
271
+ gap: 8px;
272
+ text-decoration: none;
273
+ transition: background-color 0.15s ease, border-color 0.15s ease;
274
+ }
275
+
276
+ .btn-primary {
277
+ background: var(--accent-emerald);
278
+ color: #04130e;
279
+ flex: 1;
280
+ }
281
+
282
+ .btn-primary:hover {
283
+ background: var(--accent-emerald-hover);
284
+ }
285
+
286
+ .btn-secondary {
287
+ background: var(--bg-card);
288
+ border-color: var(--border-subtle);
289
+ color: var(--text-primary);
290
+ }
291
+
292
+ .btn-secondary:hover {
293
+ border-color: var(--accent-cyan);
294
+ }
295
+
296
+ .btn[ hidden ],
297
+ .hidden {
298
+ display: none !important;
299
+ }
300
+
301
+ .status-banner {
302
+ padding: 10px 12px;
303
+ border-radius: 8px;
304
+ border: 1px solid var(--border-subtle);
305
+ background: var(--bg-obsidian);
306
+ font-size: 0.84rem;
307
+ color: var(--text-secondary);
308
+ margin-bottom: 12px;
309
+ overflow-wrap: anywhere;
310
+ }
311
+
312
+ .status-banner[data-state="ok"] {
313
+ border-color: rgba(16, 185, 129, 0.5);
314
+ color: #a7f3d0;
315
+ }
316
+
317
+ .status-banner[data-state="warn"] {
318
+ border-color: rgba(245, 158, 11, 0.55);
319
+ color: #fde68a;
320
+ }
321
+
322
+ .status-banner[data-state="error"] {
323
+ border-color: rgba(244, 63, 94, 0.55);
324
+ color: #fecdd3;
325
+ }
326
+
327
+ .telemetry-grid {
328
+ display: grid;
329
+ grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
330
+ gap: 10px;
331
+ margin-bottom: 14px;
332
+ }
333
+
334
+ .telemetry-card {
335
+ background: var(--bg-obsidian);
336
+ border: 1px solid var(--border-subtle);
337
+ border-radius: 8px;
338
+ padding: 10px;
339
+ min-width: 0;
340
+ }
341
+
342
+ .telemetry-label {
343
+ font-size: 0.72rem;
344
+ text-transform: uppercase;
345
+ letter-spacing: 0.04em;
346
+ color: var(--text-muted);
347
+ }
348
+
349
+ .telemetry-value {
350
+ margin-top: 4px;
351
+ font-size: 0.92rem;
352
+ font-weight: 700;
353
+ color: var(--text-primary);
354
+ font-family: var(--font-mono);
355
+ overflow-wrap: anywhere;
356
+ }
357
+
358
+ .cards-stack {
359
+ display: flex;
360
+ flex-direction: column;
361
+ gap: 12px;
362
+ min-width: 0;
363
+ }
364
+
365
+ .creative-card {
366
+ background: var(--bg-card);
367
+ border: 1px solid var(--border-subtle);
368
+ border-radius: 10px;
369
+ padding: 14px;
370
+ min-width: 0;
371
+ display: flex;
372
+ flex-direction: column;
373
+ gap: 8px;
374
+ }
375
+
376
+ .creative-card-header {
377
+ display: flex;
378
+ flex-wrap: wrap;
379
+ align-items: center;
380
+ justify-content: space-between;
381
+ gap: 8px;
382
+ }
383
+
384
+ .creative-title {
385
+ font-weight: 700;
386
+ font-size: 0.92rem;
387
+ color: var(--text-primary);
388
+ overflow-wrap: anywhere;
389
+ }
390
+
391
+ .creative-meta {
392
+ font-size: 0.8rem;
393
+ color: var(--text-secondary);
394
+ font-family: var(--font-mono);
395
+ overflow-wrap: anywhere;
396
+ }
397
+
398
+ .creative-ad-copy {
399
+ background: rgba(11, 16, 32, 0.72);
400
+ border: 1px solid var(--border-subtle);
401
+ border-radius: 8px;
402
+ padding: 10px 12px;
403
+ display: flex;
404
+ flex-direction: column;
405
+ gap: 6px;
406
+ min-width: 0;
407
+ }
408
+
409
+ .creative-ad-copy-header {
410
+ display: flex;
411
+ flex-wrap: wrap;
412
+ align-items: center;
413
+ gap: 6px;
414
+ }
415
+
416
+ .creative-ad-headline {
417
+ font-size: 0.88rem;
418
+ font-weight: 600;
419
+ color: var(--text-primary);
420
+ overflow-wrap: anywhere;
421
+ }
422
+
423
+ .creative-ad-body {
424
+ font-size: 0.82rem;
425
+ color: var(--text-secondary);
426
+ overflow-wrap: anywhere;
427
+ }
428
+
429
+ .creative-ad-dest {
430
+ font-size: 0.76rem;
431
+ font-family: var(--font-mono);
432
+ color: var(--text-muted);
433
+ overflow-wrap: anywhere;
434
+ }
435
+
436
+ .creative-links {
437
+ display: flex;
438
+ flex-wrap: wrap;
439
+ gap: 8px;
440
+ margin-top: 4px;
441
+ }
442
+
443
+ .raw-json-box {
444
+ margin-top: 14px;
445
+ background: var(--bg-obsidian);
446
+ border: 1px solid var(--border-subtle);
447
+ border-radius: 8px;
448
+ padding: 12px;
449
+ font-family: var(--font-mono);
450
+ font-size: 0.78rem;
451
+ color: var(--text-secondary);
452
+ max-height: 360px;
453
+ overflow-y: auto;
454
+ overflow-x: auto;
455
+ white-space: pre-wrap;
456
+ overflow-wrap: anywhere;
457
+ word-break: break-word;
458
+ }
459
+
460
+ .site-footer {
461
+ border-top: 1px solid var(--border-subtle);
462
+ background: rgba(11, 16, 32, 0.95);
463
+ padding: 14px 16px;
464
+ text-align: center;
465
+ font-size: 0.78rem;
466
+ color: var(--text-muted);
467
+ overflow-wrap: anywhere;
468
+ }