@jjlmoya/landings 0.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.
Files changed (90) hide show
  1. package/package.json +65 -0
  2. package/scripts/copy-public-assets.mjs +44 -0
  3. package/src/components/PreviewNavSidebar.astro +102 -0
  4. package/src/components/PreviewToolbar.astro +139 -0
  5. package/src/entries.ts +9 -0
  6. package/src/env.d.ts +4 -0
  7. package/src/index.ts +12 -0
  8. package/src/landing/team/assets/ambar-chiquilla.webp +0 -0
  9. package/src/landing/team/assets/ambar.webp +0 -0
  10. package/src/landing/team/assets/bob-model-book/bob-pointing.webp +0 -0
  11. package/src/landing/team/assets/bob-model-book/bob-pose-05.webp +0 -0
  12. package/src/landing/team/assets/bob-model-book/bob-pose-06.webp +0 -0
  13. package/src/landing/team/assets/bob-model-book/bob-pose-07-locked.webp +0 -0
  14. package/src/landing/team/assets/bob-model-book/bob-pose-08-locked.webp +0 -0
  15. package/src/landing/team/assets/bob-model-book/bob-pose-09-locked.webp +0 -0
  16. package/src/landing/team/assets/bob-model-book/bob-pose-attitude.webp +0 -0
  17. package/src/landing/team/assets/bob-model-book/bob-pose-cover.webp +0 -0
  18. package/src/landing/team/assets/bob-model-book/bob-pose-expensive.webp +0 -0
  19. package/src/landing/team/assets/bob-model-book/bob-pose-final.webp +0 -0
  20. package/src/landing/team/assets/bob.webp +0 -0
  21. package/src/landing/team/assets/drac.webp +0 -0
  22. package/src/landing/team/assets/feedback.webp +0 -0
  23. package/src/landing/team/assets/gamebob-team-hero.png +0 -0
  24. package/src/landing/team/assets/gamebob-team-hero.webp +0 -0
  25. package/src/landing/team/assets/jjlmoya/jjlmoya-exhausted.webp +0 -0
  26. package/src/landing/team/assets/jjlmoya/tinder-profile-winked.webp +0 -0
  27. package/src/landing/team/assets/jjlmoya/tinder-profile.webp +0 -0
  28. package/src/landing/team/assets/master-plan-food.webp +0 -0
  29. package/src/landing/team/assets/master-plan-money.webp +0 -0
  30. package/src/landing/team/assets/master-plan-more-food.webp +0 -0
  31. package/src/landing/team/assets/master-plan-more-money.webp +0 -0
  32. package/src/landing/team/assets/master-plan-projects.webp +0 -0
  33. package/src/landing/team/assets/master-plan-tools.webp +0 -0
  34. package/src/landing/team/assets/memorial/ambar-chiquillo.webp +0 -0
  35. package/src/landing/team/assets/music/bob-techno.mp3 +0 -0
  36. package/src/landing/team/assets/seal-of-approval.webp +0 -0
  37. package/src/landing/team/assets/terra.webp +0 -0
  38. package/src/landing/team/assets/webcomic/scene-1.webp +0 -0
  39. package/src/landing/team/assets/webcomic/scene-2.webp +0 -0
  40. package/src/landing/team/assets/webcomic/scene-3.webp +0 -0
  41. package/src/landing/team/assets/webcomic/scene-4.webp +0 -0
  42. package/src/landing/team/components/BobMasterPlan.astro +118 -0
  43. package/src/landing/team/components/BobModelBook.astro +253 -0
  44. package/src/landing/team/components/BobModelBookFrame.astro +73 -0
  45. package/src/landing/team/components/CompanyWorks.astro +180 -0
  46. package/src/landing/team/components/HumanTouch.astro +262 -0
  47. package/src/landing/team/components/MasterPlanScene.astro +73 -0
  48. package/src/landing/team/components/MemoryWall.astro +46 -0
  49. package/src/landing/team/components/ProductManifesto.astro +46 -0
  50. package/src/landing/team/components/SupportTransition.astro +67 -0
  51. package/src/landing/team/components/TeamComicScenes.astro +67 -0
  52. package/src/landing/team/components/TeamHero.astro +42 -0
  53. package/src/landing/team/components/TeamRoster.astro +94 -0
  54. package/src/landing/team/entry.ts +23 -0
  55. package/src/landing/team/i18n/en.ts +278 -0
  56. package/src/landing/team/i18n/es.ts +278 -0
  57. package/src/landing/team/i18n/index.ts +12 -0
  58. package/src/landing/team/landing.astro +31 -0
  59. package/src/landing/team/styles/BehindJoke.css +55 -0
  60. package/src/landing/team/styles/BobMasterPlan.css +213 -0
  61. package/src/landing/team/styles/BobModelBook.css +709 -0
  62. package/src/landing/team/styles/CompanyWorks.css +652 -0
  63. package/src/landing/team/styles/HumanTouch.css +1190 -0
  64. package/src/landing/team/styles/MemoryWall.css +50 -0
  65. package/src/landing/team/styles/ProductManifesto.css +164 -0
  66. package/src/landing/team/styles/SupportTransition.css +291 -0
  67. package/src/landing/team/styles/TeamComicScenes.css +129 -0
  68. package/src/landing/team/styles/TeamHero.css +149 -0
  69. package/src/landing/team/styles/TeamRoster.css +75 -0
  70. package/src/landing/team/styles/team-landing.css +83 -0
  71. package/src/layouts/PreviewLayout.astro +110 -0
  72. package/src/pages/[locale]/[slug].astro +70 -0
  73. package/src/pages/[locale].astro +165 -0
  74. package/src/pages/index.astro +3 -0
  75. package/src/styles/global.css +37 -0
  76. package/src/styles/tokens.css +107 -0
  77. package/src/tests/diacritics_density.test.ts +62 -0
  78. package/src/tests/i18n_coverage.test.ts +32 -0
  79. package/src/tests/inverted_punctuation.test.ts +67 -0
  80. package/src/tests/landing-test-helpers.ts +89 -0
  81. package/src/tests/landing_exports.test.ts +29 -0
  82. package/src/tests/mocks/astro_mock.js +1 -0
  83. package/src/tests/no_en_dash.test.ts +45 -0
  84. package/src/tests/no_h1_in_components.test.ts +33 -0
  85. package/src/tests/pagespeed_best_practices.test.ts +143 -0
  86. package/src/tests/script_density.test.ts +57 -0
  87. package/src/tests/slug_language_code_format.test.ts +20 -0
  88. package/src/tests/slug_uniqueness.test.ts +74 -0
  89. package/src/tests/title_quality.test.ts +34 -0
  90. package/src/types.ts +38 -0
@@ -0,0 +1,1190 @@
1
+ .human-touch {
2
+ --human-touch-inverse: #fff;
3
+
4
+ position: relative;
5
+ overflow: hidden;
6
+ }
7
+
8
+ .human-touch::before,
9
+ .human-touch::after {
10
+ position: absolute;
11
+ pointer-events: none;
12
+ content: "";
13
+ }
14
+
15
+ .human-touch::before {
16
+ inset: -15%;
17
+ background:
18
+ radial-gradient(circle at 15% 25%, var(--team-pink) 0%, transparent 35%),
19
+ radial-gradient(circle at 85% 25%, var(--team-mint) 0%, transparent 35%),
20
+ radial-gradient(circle at 50% 85%, var(--team-gold) 0%, transparent 40%);
21
+ filter: blur(55px);
22
+ opacity: 0.8;
23
+ animation:
24
+ human-touch-bg-move 8s linear infinite,
25
+ human-touch-bg-pulse 0.45s cubic-bezier(0.25, 0.8, 0.25, 1) infinite;
26
+ }
27
+
28
+ .human-touch.is-partying::before {
29
+ opacity: 1;
30
+ animation:
31
+ human-touch-bg-move 1.5s linear infinite,
32
+ human-touch-bg-pulse 0.18s cubic-bezier(0.25, 0.8, 0.25, 1) infinite;
33
+ }
34
+
35
+ .human-touch::after {
36
+ inset: -10%;
37
+ background:
38
+ linear-gradient(105deg, transparent 0 44%, var(--team-mint) 45% 46%, transparent 47%),
39
+ linear-gradient(225deg, transparent 0 53%, var(--team-pink) 54% 55%, transparent 56%);
40
+ opacity: 0.25;
41
+ pointer-events: none;
42
+ animation: human-touch-lasers 3s ease-in-out infinite alternate;
43
+ }
44
+
45
+ .human-touch.is-partying::after {
46
+ opacity: 0.74;
47
+ animation-duration: 0.42s;
48
+ mix-blend-mode: screen;
49
+ }
50
+
51
+ .human-touch-shell {
52
+ position: relative;
53
+ z-index: 1;
54
+ display: grid;
55
+ grid-template-columns: minmax(0, 0.9fr) minmax(320px, 1.1fr);
56
+ gap: clamp(1.5rem, 5vw, 4rem);
57
+ align-items: center;
58
+ }
59
+
60
+ .human-touch-copy {
61
+ position: relative;
62
+ background: color-mix(in srgb, var(--team-surface) 72%, transparent);
63
+ backdrop-filter: blur(12px);
64
+ border: 1px solid color-mix(in srgb, var(--team-border) 40%, transparent);
65
+ border-radius: 24px;
66
+ padding: clamp(1.2rem, 3vw, 2rem);
67
+ box-shadow:
68
+ 0 20px 45px rgba(0, 0, 0, 0.15),
69
+ inset 0 1px 1px rgba(255, 255, 255, 0.05);
70
+ }
71
+
72
+ .human-touch-copy .team-section-title {
73
+ text-shadow:
74
+ 0 0 18px color-mix(in srgb, var(--team-mint) 34%, transparent),
75
+ 0 0 42px color-mix(in srgb, var(--team-pink) 24%, transparent);
76
+ animation: human-touch-title 1.8s ease-in-out infinite;
77
+ }
78
+
79
+ .human-touch-chipstorm {
80
+ display: flex;
81
+ flex-wrap: wrap;
82
+ gap: 0.55rem;
83
+ margin-top: 1.5rem;
84
+ }
85
+
86
+ .human-touch-chipstorm span {
87
+ display: inline-flex;
88
+ border: 1px solid color-mix(in srgb, var(--team-mint) 45%, var(--team-border));
89
+ border-radius: 999px;
90
+ padding: 0.5rem 0.72rem;
91
+ background: color-mix(in srgb, var(--team-surface) 78%, transparent);
92
+ color: var(--team-ink);
93
+ font-size: 0.84rem;
94
+ font-weight: var(--font-weight-bold, 800);
95
+ box-shadow: 0 0 24px color-mix(in srgb, var(--team-mint) 18%, transparent);
96
+ animation: human-touch-chip 1.6s ease-in-out infinite;
97
+ }
98
+
99
+ .human-touch-chipstorm span:nth-child(2n) {
100
+ border-color: color-mix(in srgb, var(--team-pink) 52%, var(--team-border));
101
+ animation-delay: -0.4s;
102
+ }
103
+
104
+ .human-touch-chipstorm span:nth-child(3n) {
105
+ border-color: color-mix(in srgb, var(--team-gold) 58%, var(--team-border));
106
+ animation-delay: -0.8s;
107
+ }
108
+
109
+ .human-touch-board {
110
+ position: relative;
111
+ display: grid;
112
+ gap: 1rem;
113
+ border: 1px solid color-mix(in srgb, var(--team-mint) 52%, var(--team-border));
114
+ border-radius: 18px;
115
+ padding: clamp(1rem, 3vw, 1.4rem);
116
+ background:
117
+ linear-gradient(135deg, color-mix(in srgb, var(--team-surface-strong) 90%, transparent), color-mix(in srgb, var(--team-surface) 78%, transparent)),
118
+ repeating-linear-gradient(90deg, transparent 0 18px, rgba(45, 212, 191, 0.055) 19px 20px);
119
+ box-shadow:
120
+ 0 30px 90px rgba(0, 0, 0, 0.18),
121
+ 0 0 44px color-mix(in srgb, var(--team-mint) 20%, transparent);
122
+ animation:
123
+ human-touch-board 2.4s ease-in-out infinite,
124
+ human-touch-board-neon 8s linear infinite;
125
+ }
126
+
127
+ .human-touch.is-partying .human-touch-board {
128
+ animation:
129
+ human-touch-board 0.46s ease-in-out infinite,
130
+ human-touch-board-neon 0.64s linear infinite;
131
+ }
132
+
133
+ .human-touch.is-partying .human-touch-copy {
134
+ box-shadow:
135
+ 0 24px 60px rgba(0, 0, 0, 0.22),
136
+ 0 0 44px color-mix(in srgb, var(--team-pink) 28%, transparent),
137
+ 0 0 76px color-mix(in srgb, var(--team-mint) 18%, transparent),
138
+ inset 0 1px 1px rgba(255, 255, 255, 0.1);
139
+ animation: human-touch-dopamine-card 0.8s ease-in-out infinite;
140
+ }
141
+
142
+ .human-touch.is-partying .human-touch-chipstorm span {
143
+ animation-duration: 0.52s;
144
+ box-shadow:
145
+ 0 0 24px color-mix(in srgb, var(--team-mint) 28%, transparent),
146
+ 0 0 48px color-mix(in srgb, var(--team-pink) 18%, transparent);
147
+ }
148
+
149
+ .human-touch-alert {
150
+ justify-self: start;
151
+ border-radius: 999px;
152
+ padding: 0.48rem 0.7rem;
153
+ background: var(--team-pink);
154
+ color: var(--human-touch-inverse);
155
+ font-size: 0.72rem;
156
+ font-weight: var(--font-weight-bold, 800);
157
+ letter-spacing: 0.08em;
158
+ text-transform: uppercase;
159
+ box-shadow: 0 0 28px color-mix(in srgb, var(--team-pink) 55%, transparent);
160
+ animation: human-touch-alert 0.9s steps(2, end) infinite;
161
+ }
162
+
163
+ .human-touch-card {
164
+ display: grid;
165
+ grid-template-columns: minmax(110px, 0.42fr) minmax(0, 1fr);
166
+ gap: 1rem;
167
+ align-items: center;
168
+ }
169
+
170
+ .human-touch-human {
171
+ position: relative;
172
+ display: grid;
173
+ min-height: 180px;
174
+ place-items: end center;
175
+ overflow: hidden;
176
+ border-radius: 14px;
177
+ background:
178
+ radial-gradient(circle at 50% 30%, rgba(255, 255, 255, 0.22), transparent 26%),
179
+ linear-gradient(180deg, #252a36, #101318);
180
+ }
181
+
182
+ .human-touch-portrait {
183
+ position: relative;
184
+ display: block;
185
+ width: 100%;
186
+ height: 100%;
187
+ min-height: 220px;
188
+ }
189
+
190
+ .human-touch-portrait-base,
191
+ .human-touch-portrait-wink {
192
+ display: block;
193
+ width: 100%;
194
+ height: 100%;
195
+ min-height: 220px;
196
+ object-fit: cover;
197
+ filter: drop-shadow(0 18px 28px rgba(0, 0, 0, 0.35));
198
+ animation: human-touch-human 1.2s ease-in-out infinite;
199
+ }
200
+
201
+ .human-touch-portrait-wink {
202
+ position: absolute;
203
+ inset: 0;
204
+ opacity: 0;
205
+ animation:
206
+ human-touch-human 1.2s ease-in-out infinite,
207
+ human-touch-wink 7s ease-in-out infinite;
208
+ }
209
+
210
+ .human-touch-human span {
211
+ position: absolute;
212
+ right: 0.65rem;
213
+ bottom: 0.65rem;
214
+ left: 0.65rem;
215
+ z-index: 2;
216
+ border: 1px solid rgba(255, 255, 255, 0.2);
217
+ border-radius: 12px;
218
+ padding: 0.55rem 0.65rem;
219
+ background: rgba(0, 0, 0, 0.54);
220
+ color: var(--human-touch-inverse);
221
+ font-size: 0.76rem;
222
+ font-weight: var(--font-weight-bold, 800);
223
+ line-height: 1.25;
224
+ text-align: center;
225
+ backdrop-filter: blur(8px);
226
+ }
227
+
228
+ .human-touch-id p {
229
+ margin: 0;
230
+ font-size: clamp(2.1rem, 5vw, 4rem);
231
+ font-weight: var(--font-weight-bold, 800);
232
+ letter-spacing: 0;
233
+ line-height: 0.9;
234
+ }
235
+
236
+ .human-touch-id strong,
237
+ .human-touch-id span {
238
+ display: block;
239
+ }
240
+
241
+ .human-touch-id strong {
242
+ margin-top: 0.45rem;
243
+ color: var(--team-mint);
244
+ }
245
+
246
+ .human-touch-id span {
247
+ margin-top: 0.45rem;
248
+ color: var(--team-muted);
249
+ line-height: 1.5;
250
+ }
251
+
252
+ .human-touch-stats {
253
+ display: grid;
254
+ grid-template-columns: repeat(2, minmax(0, 1fr));
255
+ gap: 0.8rem;
256
+ }
257
+
258
+ .human-touch-stats div {
259
+ border: 1px solid var(--team-border);
260
+ border-radius: 12px;
261
+ padding: 0.85rem;
262
+ background: color-mix(in srgb, var(--team-surface) 78%, transparent);
263
+ animation: human-touch-stat 1.8s ease-in-out infinite;
264
+ }
265
+
266
+ .human-touch-stats div:nth-child(2n) {
267
+ animation-delay: -0.6s;
268
+ }
269
+
270
+ .human-touch-stats span {
271
+ display: block;
272
+ color: var(--team-muted);
273
+ font-size: 0.74rem;
274
+ font-weight: var(--font-weight-bold, 800);
275
+ text-transform: uppercase;
276
+ }
277
+
278
+ .human-touch-stats strong {
279
+ display: block;
280
+ margin-top: 0.3rem;
281
+ color: var(--team-ink);
282
+ font-size: 1.05rem;
283
+ }
284
+
285
+ .human-touch-bob-stamp {
286
+ position: absolute;
287
+ right: -1.2rem;
288
+ bottom: -1.5rem;
289
+ display: grid;
290
+ gap: 0.3rem;
291
+ justify-items: center;
292
+ width: min(34vw, 190px);
293
+ rotate: -8deg;
294
+ animation: human-touch-stamp 1.4s ease-in-out infinite;
295
+ }
296
+
297
+ .human-touch-bob-stamp img {
298
+ width: min(100%, 150px);
299
+ max-height: 230px;
300
+ height: auto;
301
+ object-fit: contain;
302
+ filter: drop-shadow(0 20px 26px rgba(0, 0, 0, 0.36));
303
+ }
304
+
305
+ .human-touch-bob-stamp span {
306
+ border: 1px solid color-mix(in srgb, var(--team-gold) 70%, transparent);
307
+ border-radius: 999px;
308
+ padding: 0.38rem 0.55rem;
309
+ background: color-mix(in srgb, var(--team-surface) 86%, transparent);
310
+ color: var(--team-gold);
311
+ font-size: 0.7rem;
312
+ font-weight: var(--font-weight-bold, 800);
313
+ text-align: center;
314
+ }
315
+
316
+ .human-touch-party-player {
317
+ position: absolute;
318
+ right: clamp(1.2rem, 6vw, 6.5rem);
319
+ bottom: clamp(1.4rem, 7vw, 5rem);
320
+ z-index: 2;
321
+ width: clamp(12rem, 26vw, 22rem);
322
+ height: clamp(12rem, 26vw, 22rem);
323
+ pointer-events: none;
324
+ }
325
+
326
+ .human-touch-party-player::before {
327
+ position: absolute;
328
+ inset: 2%;
329
+ pointer-events: none;
330
+ border-radius: 50%;
331
+ background:
332
+ radial-gradient(circle, color-mix(in srgb, var(--team-gold) 30%, transparent), transparent 22%),
333
+ radial-gradient(circle, color-mix(in srgb, var(--team-pink) 34%, transparent), transparent 58%),
334
+ radial-gradient(circle, color-mix(in srgb, var(--team-mint) 22%, transparent), transparent 72%);
335
+ content: "";
336
+ filter: blur(18px);
337
+ opacity: 0.72;
338
+ }
339
+
340
+ .human-touch-party-player::after {
341
+ position: absolute;
342
+ inset: 18%;
343
+ border: 1px solid color-mix(in srgb, var(--team-mint) 38%, transparent);
344
+ border-radius: 50%;
345
+ content: "";
346
+ opacity: 0.62;
347
+ }
348
+
349
+ .human-touch.is-partying .human-touch-party-player::before {
350
+ animation:
351
+ human-touch-disco-orb 0.36s ease-in-out infinite,
352
+ human-touch-disco-spin 2.4s linear infinite;
353
+ opacity: 1;
354
+ }
355
+
356
+ .human-touch.is-partying .human-touch-party-player::after {
357
+ animation: human-touch-disco-ring 0.48s ease-out infinite;
358
+ }
359
+
360
+ .human-touch-audio {
361
+ display: none;
362
+ }
363
+
364
+ .human-touch-player-toggle {
365
+ position: absolute;
366
+ top: 50%;
367
+ left: 50%;
368
+ z-index: 3;
369
+ display: grid;
370
+ width: clamp(4.2rem, 8vw, 6.2rem);
371
+ aspect-ratio: 1;
372
+ place-items: center;
373
+ border: 1px solid color-mix(in srgb, var(--team-mint) 54%, transparent);
374
+ border-radius: 50%;
375
+ color: var(--team-ink);
376
+ background:
377
+ radial-gradient(circle at 35% 25%, rgba(255, 255, 255, 0.34), transparent 32%),
378
+ color-mix(in srgb, var(--team-surface) 58%, transparent);
379
+ box-shadow:
380
+ 0 0 34px color-mix(in srgb, var(--team-mint) 32%, transparent),
381
+ 0 0 74px color-mix(in srgb, var(--team-pink) 18%, transparent),
382
+ inset 0 1px 0 rgba(255, 255, 255, 0.2);
383
+ cursor: pointer;
384
+ pointer-events: auto;
385
+ transform: translate(-50%, -50%);
386
+ backdrop-filter: blur(10px);
387
+ transition:
388
+ border-color 160ms ease,
389
+ box-shadow 160ms ease,
390
+ transform 160ms ease;
391
+ }
392
+
393
+ .human-touch-player-toggle:hover,
394
+ .human-touch-player-toggle:focus-visible,
395
+ .human-touch-player-toggle.is-playing {
396
+ border-color: color-mix(in srgb, var(--team-gold) 78%, transparent);
397
+ box-shadow:
398
+ 0 0 34px color-mix(in srgb, var(--team-pink) 30%, transparent),
399
+ 0 0 64px color-mix(in srgb, var(--team-mint) 22%, transparent),
400
+ inset 0 1px 0 rgba(255, 255, 255, 0.26);
401
+ transform: translate(-50%, -50%) scale(1.08);
402
+ }
403
+
404
+ .human-touch-player-toggle.is-playing {
405
+ animation:
406
+ human-touch-player-bounce 0.38s ease-in-out infinite,
407
+ human-touch-player-hue 1.2s linear infinite;
408
+ }
409
+
410
+ .human-touch-player-icon {
411
+ width: 0;
412
+ height: 0;
413
+ margin-left: 0.18rem;
414
+ border-top: 0.62rem solid transparent;
415
+ border-bottom: 0.62rem solid transparent;
416
+ border-left: 0.9rem solid currentcolor;
417
+ }
418
+
419
+ .human-touch-player-toggle.is-playing .human-touch-player-icon {
420
+ width: 0.92rem;
421
+ height: 1.1rem;
422
+ margin-left: 0;
423
+ border: 0;
424
+ background:
425
+ linear-gradient(90deg, currentcolor 0 34%, transparent 34% 66%, currentcolor 66% 100%);
426
+ }
427
+
428
+ .human-touch-equalizer {
429
+ position: absolute;
430
+ inset: -18% -6% -12%;
431
+ z-index: 0;
432
+ display: grid;
433
+ grid-template-columns: repeat(4, minmax(0, 1fr));
434
+ gap: clamp(0.8rem, 3vw, 2.6rem);
435
+ align-items: end;
436
+ pointer-events: none;
437
+ opacity: 0.16;
438
+ mix-blend-mode: screen;
439
+ }
440
+
441
+ .human-touch-equalizer span {
442
+ position: relative;
443
+ width: 100%;
444
+ height: 42%;
445
+ border-radius: 999px 999px 0 0;
446
+ background:
447
+ linear-gradient(180deg, rgba(255, 255, 255, 0.72), transparent 16%),
448
+ linear-gradient(180deg, color-mix(in srgb, var(--team-mint) 62%, transparent), transparent 86%);
449
+ box-shadow:
450
+ 0 0 42px color-mix(in srgb, var(--team-mint) 42%, transparent),
451
+ 0 0 96px color-mix(in srgb, var(--team-mint) 18%, transparent);
452
+ filter: blur(1.5px);
453
+ transform-origin: bottom;
454
+ }
455
+
456
+ .human-touch-equalizer span::after {
457
+ position: absolute;
458
+ inset: 0;
459
+ border-radius: inherit;
460
+ background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.32), transparent);
461
+ content: "";
462
+ opacity: 0.55;
463
+ }
464
+
465
+ .human-touch-equalizer span:nth-child(2n) {
466
+ color: var(--team-pink);
467
+ background:
468
+ linear-gradient(180deg, rgba(255, 255, 255, 0.72), transparent 16%),
469
+ linear-gradient(180deg, color-mix(in srgb, var(--team-pink) 62%, transparent), transparent 86%);
470
+ box-shadow:
471
+ 0 0 42px color-mix(in srgb, var(--team-pink) 42%, transparent),
472
+ 0 0 96px color-mix(in srgb, var(--team-pink) 18%, transparent);
473
+ }
474
+
475
+ .human-touch-equalizer span:nth-child(3n) {
476
+ color: var(--team-gold);
477
+ background:
478
+ linear-gradient(180deg, rgba(255, 255, 255, 0.72), transparent 16%),
479
+ linear-gradient(180deg, color-mix(in srgb, var(--team-gold) 62%, transparent), transparent 86%);
480
+ box-shadow:
481
+ 0 0 42px color-mix(in srgb, var(--team-gold) 42%, transparent),
482
+ 0 0 96px color-mix(in srgb, var(--team-gold) 18%, transparent);
483
+ }
484
+
485
+ .human-touch.is-partying .human-touch-equalizer {
486
+ opacity: 0.52;
487
+ }
488
+
489
+ .human-touch.is-partying .human-touch-equalizer span {
490
+ animation:
491
+ human-touch-eq 0.3s ease-in-out infinite,
492
+ human-touch-eq-spark 0.48s linear infinite;
493
+ }
494
+
495
+ .human-touch.is-partying .human-touch-equalizer span:nth-child(2) {
496
+ animation-delay: -0.16s;
497
+ }
498
+
499
+ .human-touch.is-partying .human-touch-equalizer span:nth-child(3) {
500
+ animation-delay: -0.3s;
501
+ }
502
+
503
+ .human-touch.is-partying .human-touch-equalizer span:nth-child(4) {
504
+ animation-delay: -0.08s;
505
+ }
506
+
507
+ .human-touch-player-wave span {
508
+ position: absolute;
509
+ inset: 14%;
510
+ border: 1px solid color-mix(in srgb, var(--team-pink) 48%, transparent);
511
+ border-radius: 50%;
512
+ opacity: 0.42;
513
+ box-shadow: 0 0 24px currentcolor;
514
+ }
515
+
516
+ .human-touch-player-wave span:nth-child(2) {
517
+ inset: 0;
518
+ border-color: color-mix(in srgb, var(--team-mint) 42%, transparent);
519
+ }
520
+
521
+ .human-touch-player-wave span:nth-child(3) {
522
+ inset: -14%;
523
+ border-color: color-mix(in srgb, var(--team-gold) 38%, transparent);
524
+ }
525
+
526
+ .human-touch-player-wave span:nth-child(4) {
527
+ inset: -28%;
528
+ border-color: color-mix(in srgb, var(--team-pink) 34%, transparent);
529
+ }
530
+
531
+ .human-touch-player-wave span:nth-child(5) {
532
+ inset: -42%;
533
+ border-color: color-mix(in srgb, var(--team-mint) 28%, transparent);
534
+ }
535
+
536
+ .human-touch.is-partying .human-touch-player-wave span {
537
+ animation: human-touch-disco-ring 0.72s ease-out infinite;
538
+ }
539
+
540
+ .human-touch.is-partying .human-touch-player-wave span:nth-child(2) {
541
+ animation-delay: -0.36s;
542
+ }
543
+
544
+ .human-touch.is-partying .human-touch-player-wave span:nth-child(3) {
545
+ animation-delay: -0.72s;
546
+ }
547
+
548
+ .human-touch.is-partying .human-touch-player-wave span:nth-child(4) {
549
+ animation-delay: -0.18s;
550
+ }
551
+
552
+ .human-touch.is-partying .human-touch-player-wave span:nth-child(5) {
553
+ animation-delay: -0.54s;
554
+ }
555
+
556
+ .human-touch-player-bar {
557
+ position: absolute;
558
+ right: 3%;
559
+ bottom: 3%;
560
+ left: 14%;
561
+ z-index: 3;
562
+ overflow: hidden;
563
+ height: clamp(0.42rem, 0.9vw, 0.72rem);
564
+ border-radius: 999px;
565
+ background:
566
+ linear-gradient(90deg, color-mix(in srgb, var(--team-pink) 10%, transparent), color-mix(in srgb, var(--team-mint) 12%, transparent)),
567
+ color-mix(in srgb, var(--team-ink) 12%, transparent);
568
+ opacity: 0.9;
569
+ box-shadow:
570
+ 0 0 18px color-mix(in srgb, var(--team-pink) 16%, transparent),
571
+ inset 0 0 0 1px color-mix(in srgb, var(--team-ink) 12%, transparent);
572
+ pointer-events: auto;
573
+ cursor: pointer;
574
+ }
575
+
576
+ .human-touch-player-bar span {
577
+ display: block;
578
+ width: 0%;
579
+ height: 100%;
580
+ border-radius: inherit;
581
+ background:
582
+ radial-gradient(circle at 100% 50%, rgba(255, 255, 255, 0.95), transparent 18%),
583
+ linear-gradient(90deg, var(--team-pink), var(--team-mint), var(--team-gold));
584
+ box-shadow:
585
+ 0 0 16px color-mix(in srgb, var(--team-mint) 58%, transparent),
586
+ 0 0 30px color-mix(in srgb, var(--team-pink) 32%, transparent);
587
+ }
588
+
589
+ .human-touch.is-partying .human-touch-player-bar {
590
+ animation: human-touch-progress-aura 0.54s ease-in-out infinite;
591
+ }
592
+
593
+ .human-touch-player-time {
594
+ position: absolute;
595
+ right: 0;
596
+ bottom: 7%;
597
+ z-index: 3;
598
+ padding: 0.18rem 0.42rem;
599
+ border: 1px solid color-mix(in srgb, var(--team-gold) 22%, transparent);
600
+ border-radius: 999px;
601
+ color: color-mix(in srgb, var(--team-ink) 82%, transparent);
602
+ background: color-mix(in srgb, var(--team-surface) 24%, transparent);
603
+ font-size: clamp(0.72rem, 1.2vw, 0.95rem);
604
+ font-variant-numeric: tabular-nums;
605
+ font-weight: var(--font-weight-bold, 800);
606
+ opacity: 0.86;
607
+ box-shadow: 0 0 16px color-mix(in srgb, var(--team-gold) 12%, transparent);
608
+ backdrop-filter: blur(5px);
609
+ }
610
+
611
+ .human-touch.is-partying .human-touch-player-time {
612
+ color: var(--team-gold);
613
+ animation: human-touch-time-glow 0.6s ease-in-out infinite;
614
+ }
615
+
616
+ .human-touch-disco-lights,
617
+ .human-touch-disco-bursts {
618
+ position: absolute;
619
+ inset: -8%;
620
+ pointer-events: none;
621
+ }
622
+
623
+ .human-touch-disco-lights span {
624
+ position: absolute;
625
+ top: 50%;
626
+ left: 50%;
627
+ width: 52%;
628
+ height: 0.16rem;
629
+ border-radius: 999px;
630
+ background: linear-gradient(90deg, transparent, var(--team-mint), transparent);
631
+ opacity: 0;
632
+ transform-origin: left center;
633
+ mix-blend-mode: screen;
634
+ filter: blur(0.5px);
635
+ }
636
+
637
+ .human-touch-disco-lights span:nth-child(1) {
638
+ transform: rotate(8deg);
639
+ }
640
+
641
+ .human-touch-disco-lights span:nth-child(2) {
642
+ background: linear-gradient(90deg, transparent, var(--team-pink), transparent);
643
+ transform: rotate(64deg);
644
+ }
645
+
646
+ .human-touch-disco-lights span:nth-child(3) {
647
+ background: linear-gradient(90deg, transparent, var(--team-gold), transparent);
648
+ transform: rotate(126deg);
649
+ }
650
+
651
+ .human-touch-disco-lights span:nth-child(4) {
652
+ transform: rotate(190deg);
653
+ }
654
+
655
+ .human-touch-disco-lights span:nth-child(5) {
656
+ background: linear-gradient(90deg, transparent, var(--team-pink), transparent);
657
+ transform: rotate(248deg);
658
+ }
659
+
660
+ .human-touch-disco-lights span:nth-child(6) {
661
+ background: linear-gradient(90deg, transparent, var(--team-gold), transparent);
662
+ transform: rotate(310deg);
663
+ }
664
+
665
+ .human-touch.is-partying .human-touch-disco-lights span {
666
+ animation: human-touch-disco-laser 0.44s ease-in-out infinite;
667
+ }
668
+
669
+ .human-touch.is-partying .human-touch-disco-lights span:nth-child(2n) {
670
+ animation-delay: -0.16s;
671
+ }
672
+
673
+ .human-touch.is-partying .human-touch-disco-lights span:nth-child(3n) {
674
+ animation-delay: -0.29s;
675
+ }
676
+
677
+ .human-touch-disco-bursts span {
678
+ position: absolute;
679
+ top: 50%;
680
+ left: 50%;
681
+ width: 0.38rem;
682
+ aspect-ratio: 1;
683
+ border-radius: 50%;
684
+ background: var(--team-gold);
685
+ opacity: 0;
686
+ box-shadow: 0 0 18px currentcolor;
687
+ }
688
+
689
+ .human-touch-disco-bursts span:nth-child(2n) {
690
+ background: var(--team-pink);
691
+ }
692
+
693
+ .human-touch-disco-bursts span:nth-child(3n) {
694
+ background: var(--team-mint);
695
+ }
696
+
697
+ .human-touch.is-partying .human-touch-disco-bursts span {
698
+ animation: human-touch-disco-burst 0.8s ease-out infinite;
699
+ }
700
+
701
+ .human-touch.is-partying .human-touch-disco-bursts span:nth-child(1) {
702
+ --burst-x: -5rem;
703
+ --burst-y: -4rem;
704
+ }
705
+
706
+ .human-touch.is-partying .human-touch-disco-bursts span:nth-child(2) {
707
+ --burst-x: 4rem;
708
+ --burst-y: -5rem;
709
+
710
+ animation-delay: -0.1s;
711
+ }
712
+
713
+ .human-touch.is-partying .human-touch-disco-bursts span:nth-child(3) {
714
+ --burst-x: 6rem;
715
+ --burst-y: 2rem;
716
+
717
+ animation-delay: -0.2s;
718
+ }
719
+
720
+ .human-touch.is-partying .human-touch-disco-bursts span:nth-child(4) {
721
+ --burst-x: -6rem;
722
+ --burst-y: 3rem;
723
+
724
+ animation-delay: -0.3s;
725
+ }
726
+
727
+ .human-touch.is-partying .human-touch-disco-bursts span:nth-child(5) {
728
+ --burst-x: 2rem;
729
+ --burst-y: 6rem;
730
+
731
+ animation-delay: -0.4s;
732
+ }
733
+
734
+ .human-touch.is-partying .human-touch-disco-bursts span:nth-child(6) {
735
+ --burst-x: -2rem;
736
+ --burst-y: -7rem;
737
+
738
+ animation-delay: -0.5s;
739
+ }
740
+
741
+ .human-touch.is-partying .human-touch-disco-bursts span:nth-child(7) {
742
+ --burst-x: 7rem;
743
+ --burst-y: -1rem;
744
+
745
+ animation-delay: -0.6s;
746
+ }
747
+
748
+ .human-touch.is-partying .human-touch-disco-bursts span:nth-child(8) {
749
+ --burst-x: -7rem;
750
+ --burst-y: -1rem;
751
+
752
+ animation-delay: -0.7s;
753
+ }
754
+
755
+ .human-touch-links {
756
+ display: flex;
757
+ flex-wrap: wrap;
758
+ gap: 0.7rem;
759
+ }
760
+
761
+ .human-touch-links a {
762
+ display: inline-flex;
763
+ min-height: 2.7rem;
764
+ align-items: center;
765
+ border: 1px solid color-mix(in srgb, var(--team-mint) 58%, var(--team-border));
766
+ border-radius: 999px;
767
+ padding: 0.55rem 0.9rem;
768
+ background: color-mix(in srgb, var(--team-surface) 78%, transparent);
769
+ color: var(--team-ink);
770
+ font-size: 0.9rem;
771
+ font-weight: var(--font-weight-bold, 800);
772
+ text-decoration: none;
773
+ box-shadow: 0 0 26px color-mix(in srgb, var(--team-mint) 16%, transparent);
774
+ transition:
775
+ transform 0.18s ease,
776
+ border-color 0.18s ease,
777
+ box-shadow 0.18s ease;
778
+ }
779
+
780
+ .human-touch-links a:hover {
781
+ border-color: color-mix(in srgb, var(--team-pink) 70%, var(--team-border));
782
+ box-shadow: 0 0 34px color-mix(in srgb, var(--team-pink) 20%, transparent);
783
+ transform: translateY(-3px) rotate(-1deg);
784
+ }
785
+
786
+ @keyframes human-touch-bg {
787
+ 0%,
788
+ 100% {
789
+ transform: translate3d(0, 0, 0) rotate(0deg);
790
+ }
791
+
792
+ 50% {
793
+ transform: translate3d(0.8rem, -0.6rem, 0) rotate(1deg);
794
+ }
795
+ }
796
+
797
+ @keyframes human-touch-scan {
798
+ 0%,
799
+ 100% {
800
+ opacity: 0.24;
801
+ transform: translateX(-1rem);
802
+ }
803
+
804
+ 50% {
805
+ opacity: 0.9;
806
+ transform: translateX(1rem);
807
+ }
808
+ }
809
+
810
+ @keyframes human-touch-title {
811
+ 0%,
812
+ 100% {
813
+ transform: skewX(0deg);
814
+ }
815
+
816
+ 50% {
817
+ transform: skewX(-2deg);
818
+ }
819
+ }
820
+
821
+ @keyframes human-touch-chip {
822
+ 0%,
823
+ 100% {
824
+ transform: translateY(0) rotate(0deg);
825
+ }
826
+
827
+ 50% {
828
+ transform: translateY(-0.35rem) rotate(1.5deg);
829
+ }
830
+ }
831
+
832
+ @keyframes human-touch-board {
833
+ 0%,
834
+ 100% {
835
+ transform: translateY(0);
836
+ }
837
+
838
+ 50% {
839
+ transform: translateY(-0.35rem);
840
+ }
841
+ }
842
+
843
+ @keyframes human-touch-alert {
844
+ 50% {
845
+ filter: hue-rotate(50deg) brightness(1.25);
846
+ }
847
+ }
848
+
849
+ @keyframes human-touch-human {
850
+ 0%,
851
+ 100% {
852
+ transform: translateY(0) scale(1);
853
+ }
854
+
855
+ 50% {
856
+ transform: translateY(-0.4rem) scale(1.03);
857
+ }
858
+ }
859
+
860
+ @keyframes human-touch-wink {
861
+ 0%, 88%, 100% {
862
+ opacity: 0;
863
+ }
864
+
865
+ 90%, 95% {
866
+ opacity: 1;
867
+ }
868
+ }
869
+
870
+ @keyframes human-touch-stat {
871
+ 50% {
872
+ border-color: color-mix(in srgb, var(--team-mint) 50%, var(--team-border));
873
+ box-shadow: 0 0 22px color-mix(in srgb, var(--team-mint) 13%, transparent);
874
+ }
875
+ }
876
+
877
+ @keyframes human-touch-stamp {
878
+ 0%,
879
+ 100% {
880
+ transform: rotate(0deg) scale(1);
881
+ }
882
+
883
+ 50% {
884
+ transform: rotate(4deg) scale(1.04);
885
+ }
886
+ }
887
+
888
+ @keyframes human-touch-bg-move {
889
+ 0% {
890
+ transform: translate3d(0, 0, 0) rotate(0deg);
891
+ filter: blur(55px) hue-rotate(0deg);
892
+ }
893
+
894
+ 50% {
895
+ transform: translate3d(2rem, -2rem, 0) rotate(180deg);
896
+ filter: blur(45px) hue-rotate(180deg);
897
+ }
898
+
899
+ 100% {
900
+ transform: translate3d(0, 0, 0) rotate(360deg);
901
+ filter: blur(55px) hue-rotate(360deg);
902
+ }
903
+ }
904
+
905
+ @keyframes human-touch-bg-pulse {
906
+ 0%, 100% {
907
+ opacity: 0.5;
908
+ filter: brightness(0.8) blur(55px);
909
+ }
910
+
911
+ 50% {
912
+ opacity: 0.95;
913
+ filter: brightness(1.35) blur(45px);
914
+ }
915
+ }
916
+
917
+ @keyframes human-touch-lasers {
918
+ 0% {
919
+ transform: translateY(-15%) scaleY(1) rotate(-5deg);
920
+ filter: hue-rotate(0deg) brightness(1);
921
+ }
922
+
923
+ 50% {
924
+ transform: translateY(15%) scaleY(1.2) rotate(5deg);
925
+ filter: hue-rotate(120deg) brightness(1.8);
926
+ }
927
+
928
+ 100% {
929
+ transform: translateY(-15%) scaleY(1) rotate(-5deg);
930
+ filter: hue-rotate(240deg) brightness(1.2);
931
+ }
932
+ }
933
+
934
+ @keyframes human-touch-board-neon {
935
+ 0%, 100% {
936
+ border-color: color-mix(in srgb, var(--team-mint) 60%, var(--team-border));
937
+ box-shadow:
938
+ 0 30px 90px rgba(0, 0, 0, 0.18),
939
+ 0 0 35px color-mix(in srgb, var(--team-mint) 25%, transparent);
940
+ }
941
+
942
+ 33% {
943
+ border-color: color-mix(in srgb, var(--team-pink) 60%, var(--team-border));
944
+ box-shadow:
945
+ 0 30px 90px rgba(0, 0, 0, 0.18),
946
+ 0 0 35px color-mix(in srgb, var(--team-pink) 25%, transparent);
947
+ }
948
+
949
+ 66% {
950
+ border-color: color-mix(in srgb, var(--team-gold) 60%, var(--team-border));
951
+ box-shadow:
952
+ 0 30px 90px rgba(0, 0, 0, 0.18),
953
+ 0 0 35px color-mix(in srgb, var(--team-gold) 25%, transparent);
954
+ }
955
+ }
956
+
957
+ @keyframes human-touch-party-scan {
958
+ from {
959
+ transform: translateX(-48%);
960
+ }
961
+
962
+ to {
963
+ transform: translateX(48%);
964
+ }
965
+ }
966
+
967
+ @keyframes human-touch-disco-orb {
968
+ 0%,
969
+ 100% {
970
+ filter: blur(18px) hue-rotate(0deg);
971
+ transform: scale(0.94);
972
+ }
973
+
974
+ 50% {
975
+ filter: blur(11px) hue-rotate(120deg);
976
+ transform: scale(1.12);
977
+ }
978
+ }
979
+
980
+ @keyframes human-touch-disco-spin {
981
+ from {
982
+ rotate: 0deg;
983
+ }
984
+
985
+ to {
986
+ rotate: 360deg;
987
+ }
988
+ }
989
+
990
+ @keyframes human-touch-disco-ring {
991
+ 0% {
992
+ opacity: 0.76;
993
+ transform: scale(0.78);
994
+ }
995
+
996
+ 100% {
997
+ opacity: 0;
998
+ transform: scale(1.24);
999
+ }
1000
+ }
1001
+
1002
+ @keyframes human-touch-player-bounce {
1003
+ 0%,
1004
+ 100% {
1005
+ transform: translate(-50%, -50%) scale(1.02) rotate(-1deg);
1006
+ }
1007
+
1008
+ 50% {
1009
+ transform: translate(-50%, -50%) scale(1.15) rotate(2deg);
1010
+ }
1011
+ }
1012
+
1013
+ @keyframes human-touch-player-hue {
1014
+ from {
1015
+ filter: hue-rotate(0deg) saturate(1);
1016
+ }
1017
+
1018
+ to {
1019
+ filter: hue-rotate(360deg) saturate(1.35);
1020
+ }
1021
+ }
1022
+
1023
+ @keyframes human-touch-dopamine-card {
1024
+ 0%,
1025
+ 100% {
1026
+ transform: translateY(0) rotate(0deg);
1027
+ }
1028
+
1029
+ 50% {
1030
+ transform: translateY(-0.18rem) rotate(-0.35deg);
1031
+ }
1032
+ }
1033
+
1034
+ @keyframes human-touch-disco-laser {
1035
+ 0%,
1036
+ 100% {
1037
+ opacity: 0;
1038
+ scale: 0.82 1;
1039
+ }
1040
+
1041
+ 50% {
1042
+ opacity: 0.88;
1043
+ scale: 1.18 1;
1044
+ }
1045
+ }
1046
+
1047
+ @keyframes human-touch-disco-burst {
1048
+ 0% {
1049
+ opacity: 0;
1050
+ transform: translate(-50%, -50%) scale(0.4);
1051
+ }
1052
+
1053
+ 18% {
1054
+ opacity: 1;
1055
+ }
1056
+
1057
+ 100% {
1058
+ opacity: 0;
1059
+ transform: translate(calc(-50% + var(--burst-x)), calc(-50% + var(--burst-y))) scale(1.15);
1060
+ }
1061
+ }
1062
+
1063
+ @keyframes human-touch-eq {
1064
+ 0%,
1065
+ 100% {
1066
+ transform: scaleY(0.28);
1067
+ }
1068
+
1069
+ 50% {
1070
+ transform: scaleY(1.08);
1071
+ }
1072
+ }
1073
+
1074
+ @keyframes human-touch-eq-spark {
1075
+ 0%,
1076
+ 100% {
1077
+ filter: blur(1.5px) hue-rotate(0deg) brightness(1);
1078
+ }
1079
+
1080
+ 50% {
1081
+ filter: blur(0.5px) hue-rotate(80deg) brightness(1.45);
1082
+ }
1083
+ }
1084
+
1085
+ @keyframes human-touch-progress-aura {
1086
+ 0%,
1087
+ 100% {
1088
+ box-shadow:
1089
+ 0 0 18px color-mix(in srgb, var(--team-pink) 16%, transparent),
1090
+ inset 0 0 0 1px color-mix(in srgb, var(--team-ink) 12%, transparent);
1091
+ }
1092
+
1093
+ 50% {
1094
+ box-shadow:
1095
+ 0 0 28px color-mix(in srgb, var(--team-mint) 34%, transparent),
1096
+ 0 0 54px color-mix(in srgb, var(--team-pink) 18%, transparent),
1097
+ inset 0 0 0 1px color-mix(in srgb, var(--team-gold) 18%, transparent);
1098
+ }
1099
+ }
1100
+
1101
+ @keyframes human-touch-time-glow {
1102
+ 0%,
1103
+ 100% {
1104
+ text-shadow: 0 0 8px color-mix(in srgb, var(--team-gold) 28%, transparent);
1105
+ }
1106
+
1107
+ 50% {
1108
+ text-shadow:
1109
+ 0 0 12px color-mix(in srgb, var(--team-gold) 64%, transparent),
1110
+ 0 0 24px color-mix(in srgb, var(--team-pink) 32%, transparent);
1111
+ }
1112
+ }
1113
+
1114
+ .human-touch-ragebait-inline {
1115
+ display: inline-block;
1116
+ border: 1px solid var(--team-pink);
1117
+ border-radius: 4px;
1118
+ padding: 0 0.35rem;
1119
+ color: var(--team-pink);
1120
+ font-weight: var(--font-weight-bold, 800);
1121
+ line-height: 1.2;
1122
+ }
1123
+
1124
+ .human-touch-ragebait-box {
1125
+ display: flex;
1126
+ align-items: center;
1127
+ gap: 1rem;
1128
+ margin-top: 1.25rem;
1129
+ border: 1px dashed color-mix(in srgb, var(--team-pink) 45%, transparent);
1130
+ border-radius: 12px;
1131
+ padding: 0.85rem 1.1rem;
1132
+ background: color-mix(in srgb, var(--team-pink) 6%, transparent);
1133
+ }
1134
+
1135
+ .human-touch-ragebait-badge {
1136
+ flex-shrink: 0;
1137
+ border: 1px solid var(--team-pink);
1138
+ border-radius: 6px;
1139
+ padding: 0.25rem 0.5rem;
1140
+ color: var(--team-pink);
1141
+ font-size: 0.78rem;
1142
+ font-weight: var(--font-weight-bold, 800);
1143
+ letter-spacing: 0.05em;
1144
+ text-transform: uppercase;
1145
+ }
1146
+
1147
+ .human-touch-ragebait-explanation {
1148
+ margin: 0;
1149
+ color: var(--team-muted);
1150
+ font-size: 0.88rem;
1151
+ line-height: 1.5;
1152
+ }
1153
+
1154
+ @media (max-width: 560px) {
1155
+ .human-touch-ragebait-box {
1156
+ flex-direction: column;
1157
+ align-items: flex-start;
1158
+ gap: 0.6rem;
1159
+ }
1160
+ }
1161
+
1162
+ @media (prefers-reduced-motion: reduce) {
1163
+ .human-touch,
1164
+ .human-touch *,
1165
+ .human-touch::before,
1166
+ .human-touch::after {
1167
+ animation-name: none;
1168
+ }
1169
+ }
1170
+
1171
+ @media (max-width: 860px) {
1172
+ .human-touch-shell {
1173
+ grid-template-columns: 1fr;
1174
+ }
1175
+ }
1176
+
1177
+ @media (max-width: 560px) {
1178
+ .human-touch-card,
1179
+ .human-touch-stats {
1180
+ grid-template-columns: 1fr;
1181
+ }
1182
+
1183
+ .human-touch-bob-stamp {
1184
+ position: relative;
1185
+ right: auto;
1186
+ bottom: auto;
1187
+ justify-self: center;
1188
+ margin-top: 0.5rem;
1189
+ }
1190
+ }