word-games-theme 3.3.5 → 3.3.7

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 (53) hide show
  1. checksums.yaml +4 -4
  2. data/_data/footer/en/data.json +95 -0
  3. data/_data/header/en/data.json +559 -36
  4. data/_data/home_sections.json +453 -0
  5. data/_data/wordgames/en/root.json +16 -13
  6. data/_includes/home/ad-preview.html +3 -0
  7. data/_includes/home/ad-slot.html +3 -0
  8. data/_includes/home/chips.html +6 -0
  9. data/_includes/home/crosswords.html +18 -0
  10. data/_includes/home/daily-hints.html +15 -0
  11. data/_includes/home/footer.html +212 -0
  12. data/_includes/home/game-art.html +18 -0
  13. data/_includes/home/game-cards.html +22 -0
  14. data/_includes/home/header.html +82 -0
  15. data/_includes/home/icon.html +19 -0
  16. data/_includes/home/letter-lists.html +17 -0
  17. data/_includes/home/logo.html +84 -0
  18. data/_includes/home/solvers.html +9 -0
  19. data/_includes/wordgames/advanced-filter/advanced-filter.html +15 -14
  20. data/_includes/wordgames/faqs/faqs.html +2 -4
  21. data/_includes/wordgames/headings/headings.html +1 -1
  22. data/_includes/wordgames/infographics/infographics.html +2 -136
  23. data/_includes/wordgames/search-box/search-box.html +1 -1
  24. data/_includes/wordgames-v2/advanced-filter/advanced-filter.html +421 -0
  25. data/_includes/wordgames-v2/faqs/faqs.html +35 -0
  26. data/_includes/wordgames-v2/featurehighlights/featurehighlights.html +70 -0
  27. data/_includes/wordgames-v2/head/head.html +170 -0
  28. data/_includes/wordgames-v2/headings/headings.html +14 -0
  29. data/_includes/wordgames-v2/howto/howto.html +94 -0
  30. data/_includes/wordgames-v2/infographics/infographics.html +358 -0
  31. data/_includes/wordgames-v2/search-box/dict-picker.html +26 -0
  32. data/_includes/wordgames-v2/search-box/search-box.html +87 -0
  33. data/_layouts/wordgames-home-v2.html +141 -0
  34. data/assets/css/ad-preview.css +85 -0
  35. data/assets/css/home-hub.css +1879 -0
  36. data/assets/css/wordfinder-result.css +5 -5
  37. data/assets/css/wordgames-home-v2.css +2955 -0
  38. data/assets/css/wordgames-home.css +3 -4
  39. data/assets/css/wordgames-result.css +1 -1
  40. data/assets/css/wordle-solver.css +2 -2
  41. data/assets/images/close-menu.svg +1 -14
  42. data/assets/images/hamburger-menu.svg +1 -5
  43. data/assets/images/logo-hub.svg +24 -0
  44. data/assets/images/logo.svg +13 -106
  45. data/assets/images/questionmark.svg +1 -1
  46. data/assets/images/wordswithletters-logo.svg +96 -0
  47. data/assets/js/ad-preview.js +141 -0
  48. data/assets/js/home-hub.js +275 -0
  49. data/assets/js/home-ui.js +286 -0
  50. data/assets/js/scrabbleDictonary.js +8 -202
  51. data/assets/js/wordleSolver-worker.js +2 -7
  52. data/assets/js/wordleSolver.js +2 -2
  53. metadata +34 -2
@@ -0,0 +1,1879 @@
1
+ /**
2
+ * Home Hub - World-Class Professional Puzzle & Solver Portal
3
+ * Ultra-clean, accessible, dark/light responsive design system
4
+ */
5
+
6
+ .hh-scope {
7
+ --font-sans: 'Plus Jakarta Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
8
+ --font-display: 'Space Grotesk', var(--font-sans);
9
+
10
+ /* Light Palette */
11
+ --bg-page: #f8fafc;
12
+ --bg-surface: #ffffff;
13
+ --bg-surface-subtle: #f1f5f9;
14
+ --bg-surface-hover: #e2e8f0;
15
+ --bg-card: #ffffff;
16
+ --bg-card-hover: #ffffff;
17
+
18
+ --text-primary: #0f172a;
19
+ --text-secondary: #475569;
20
+ --text-muted: #64748b;
21
+ --text-faint: #94a3b8;
22
+
23
+ --border-subtle: #e2e8f0;
24
+ --border-base: #cbd5e1;
25
+ --border-focus: #b641da;
26
+
27
+ /* Accent Tones */
28
+ --brand-primary: #b641da;
29
+ --brand-primary-light: #c754eb;
30
+ --brand-primary-soft: #fbf0fd;
31
+ --brand-accent: #0ea5e9;
32
+
33
+ --success-base: #10b981;
34
+ --success-soft: #ecfdf5;
35
+ --warning-base: #f59e0b;
36
+ --warning-soft: #fffbeb;
37
+ --danger-base: #ef4444;
38
+
39
+ /* Elevation */
40
+ --shadow-xs: 0 1px 2px 0 rgba(15, 23, 42, 0.04);
41
+ --shadow-sm: 0 1px 3px 0 rgba(15, 23, 42, 0.06), 0 1px 2px -1px rgba(15, 23, 42, 0.06);
42
+ --shadow-md: 0 4px 6px -1px rgba(15, 23, 42, 0.07), 0 2px 4px -2px rgba(15, 23, 42, 0.05);
43
+ --shadow-lg: 0 10px 15px -3px rgba(15, 23, 42, 0.08), 0 4px 6px -4px rgba(15, 23, 42, 0.04);
44
+ --shadow-xl: 0 20px 25px -5px rgba(15, 23, 42, 0.08), 0 8px 10px -6px rgba(15, 23, 42, 0.03);
45
+ --shadow-glow: 0 0 24px rgba(182, 65, 218, 0.2);
46
+
47
+ --radius-sm: 8px;
48
+ --radius-md: 12px;
49
+ --radius-lg: 18px;
50
+ --radius-xl: 24px;
51
+ --radius-pill: 9999px;
52
+
53
+ --container-max: 1200px;
54
+ --header-height: 72px;
55
+ --transition-fast: 0.15s cubic-bezier(0.4, 0, 0.2, 1);
56
+ --transition-normal: 0.25s cubic-bezier(0.4, 0, 0.2, 1);
57
+ }
58
+
59
+ /* Dark Theme */
60
+ html[data-theme="dark"] .hh-scope {
61
+ --bg-page: #090d16;
62
+ --bg-surface: #0f172a;
63
+ --bg-surface-subtle: #1e293b;
64
+ --bg-surface-hover: #334155;
65
+ --bg-card: #111827;
66
+ --bg-card-hover: #172033;
67
+
68
+ --text-primary: #f8fafc;
69
+ --text-secondary: #cbd5e1;
70
+ --text-muted: #94a3b8;
71
+ --text-faint: #64748b;
72
+
73
+ --border-subtle: #1e293b;
74
+ --border-base: #334155;
75
+ --border-focus: #d977f0;
76
+
77
+ --brand-primary-soft: rgba(182, 65, 218, 0.18);
78
+ --success-soft: rgba(16, 185, 129, 0.15);
79
+ --warning-soft: rgba(245, 158, 11, 0.15);
80
+
81
+ --shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, 0.3);
82
+ --shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.35);
83
+ --shadow-md: 0 6px 16px rgba(0, 0, 0, 0.45);
84
+ --shadow-lg: 0 14px 28px rgba(0, 0, 0, 0.55);
85
+ --shadow-xl: 0 24px 44px rgba(0, 0, 0, 0.65);
86
+ --shadow-glow: 0 0 32px rgba(182, 65, 218, 0.28);
87
+ }
88
+
89
+ /* Base Reset */
90
+ .hh-scope, .hh-scope *, .hh-scope *::before, .hh-scope *::after {
91
+ box-sizing: border-box;
92
+ }
93
+
94
+ html {
95
+ scroll-behavior: smooth;
96
+ scroll-padding-top: 96px;
97
+ -webkit-text-size-adjust: 100%;
98
+ }
99
+
100
+ .hh-scope {
101
+ margin: 0;
102
+ font-family: var(--font-sans);
103
+ background-color: var(--bg-page);
104
+ color: var(--text-primary);
105
+ line-height: 1.6;
106
+ -webkit-font-smoothing: antialiased;
107
+ -moz-osx-font-smoothing: grayscale;
108
+ overflow-x: hidden;
109
+ transition: background-color var(--transition-normal), color var(--transition-normal);
110
+ }
111
+
112
+ .hh-scope a {
113
+ color: inherit;
114
+ text-decoration: none;
115
+ }
116
+
117
+ .hh-scope button {
118
+ font-family: inherit;
119
+ font-size: inherit;
120
+ color: inherit;
121
+ background: none;
122
+ border: none;
123
+ cursor: pointer;
124
+ padding: 0;
125
+ }
126
+
127
+ .hh-scope h1, .hh-scope h2, .hh-scope h3, .hh-scope h4, .hh-scope p, .hh-scope ul {
128
+ margin: 0;
129
+ padding: 0;
130
+ }
131
+
132
+ .hh-scope ul {
133
+ list-style: none;
134
+ }
135
+
136
+ .hh-scope :focus-visible {
137
+ outline: 2px solid var(--brand-primary-light);
138
+ outline-offset: 3px;
139
+ border-radius: var(--radius-sm);
140
+ }
141
+
142
+ .hh-wrap {
143
+ width: min(var(--container-max), 100% - 32px);
144
+ margin-inline: auto;
145
+ }
146
+
147
+ .hh-scope [hidden] {
148
+ display: none !important;
149
+ }
150
+
151
+ /* Ambient Subtle Background Glow */
152
+ .hh-ambient-bg {
153
+ position: fixed;
154
+ inset: 0;
155
+ z-index: -1;
156
+ pointer-events: none;
157
+ overflow: hidden;
158
+ }
159
+
160
+ .hh-ambient-orb {
161
+ position: absolute;
162
+ border-radius: 50%;
163
+ filter: blur(100px);
164
+ opacity: 0.35;
165
+ transition: opacity 0.5s ease;
166
+ }
167
+
168
+ .hh-ambient-orb--1 {
169
+ width: 500px;
170
+ height: 500px;
171
+ background: radial-gradient(circle, rgba(182, 65, 218, 0.35) 0%, transparent 70%);
172
+ top: -120px;
173
+ left: -80px;
174
+ }
175
+
176
+ .hh-ambient-orb--2 {
177
+ width: 450px;
178
+ height: 450px;
179
+ background: radial-gradient(circle, rgba(14, 165, 233, 0.35) 0%, transparent 70%);
180
+ top: 15%;
181
+ right: -100px;
182
+ }
183
+
184
+ .hh-ambient-orb--3 {
185
+ width: 400px;
186
+ height: 400px;
187
+ background: radial-gradient(circle, rgba(16, 185, 129, 0.25) 0%, transparent 70%);
188
+ bottom: 10%;
189
+ left: 20%;
190
+ }
191
+
192
+ :root[data-theme="dark"] .hh-ambient-orb {
193
+ opacity: 0.22;
194
+ }
195
+
196
+ /* Global SVG Icons */
197
+ .hh-svg-icon {
198
+ width: 18px;
199
+ height: 18px;
200
+ display: inline-block;
201
+ vertical-align: middle;
202
+ flex-shrink: 0;
203
+ }
204
+
205
+ .hh-svg-ic {
206
+ width: 32px;
207
+ height: 32px;
208
+ display: block;
209
+ }
210
+
211
+ /* ==========================================================================
212
+ Header & Navigation
213
+ ========================================================================== */
214
+ .hh-header {
215
+ position: sticky;
216
+ top: 0;
217
+ z-index: 100;
218
+ background: color-mix(in srgb, var(--bg-surface) 85%, transparent);
219
+ backdrop-filter: blur(16px);
220
+ -webkit-backdrop-filter: blur(16px);
221
+ border-bottom: 1px solid var(--border-subtle);
222
+ transition: border-color var(--transition-fast), background-color var(--transition-fast);
223
+ }
224
+
225
+ .hh-header__inner {
226
+ display: flex;
227
+ align-items: center;
228
+ justify-content: space-between;
229
+ gap: 20px;
230
+ height: var(--header-height);
231
+ }
232
+
233
+ /* Brand */
234
+ .hh-brand {
235
+ display: flex;
236
+ align-items: center;
237
+ gap: 12px;
238
+ text-decoration: none;
239
+ transition: transform var(--transition-fast);
240
+ }
241
+
242
+ .hh-brand:hover {
243
+ transform: translateY(-1px);
244
+ }
245
+
246
+ .hh-logo-img,
247
+ .hh-logo-svg {
248
+ height: 32px;
249
+ width: auto;
250
+ max-width: 200px;
251
+ display: block;
252
+ transition: transform var(--transition-fast);
253
+ }
254
+
255
+ /* Nav Links */
256
+ .hh-nav {
257
+ display: flex;
258
+ align-items: center;
259
+ gap: 6px;
260
+ margin-left: auto;
261
+ }
262
+
263
+ .hh-nav__link {
264
+ padding: 8px 14px;
265
+ font-size: 14.5px;
266
+ font-weight: 600;
267
+ color: var(--text-secondary);
268
+ border-radius: var(--radius-md);
269
+ transition: color var(--transition-fast), background-color var(--transition-fast);
270
+ }
271
+
272
+ .hh-nav__link:hover {
273
+ color: var(--text-primary);
274
+ background-color: var(--bg-surface-subtle);
275
+ }
276
+
277
+ /* Mega Menu */
278
+ .hh-mega-wrap {
279
+ position: relative;
280
+ }
281
+
282
+ .hh-nav__btn {
283
+ display: flex;
284
+ align-items: center;
285
+ gap: 6px;
286
+ padding: 8px 14px;
287
+ font-size: 14.5px;
288
+ font-weight: 600;
289
+ color: var(--text-secondary);
290
+ border-radius: var(--radius-md);
291
+ transition: all var(--transition-fast);
292
+ }
293
+
294
+ .hh-nav__btn:hover,
295
+ .hh-mega-wrap.is-open .hh-nav__btn {
296
+ color: var(--text-primary);
297
+ background-color: var(--bg-surface-subtle);
298
+ }
299
+
300
+ .hh-nav__btn .hh-svg-icon {
301
+ width: 15px;
302
+ height: 15px;
303
+ transition: transform var(--transition-fast);
304
+ }
305
+
306
+ .hh-mega-wrap.is-open .hh-nav__btn .hh-svg-icon {
307
+ transform: rotate(180deg);
308
+ }
309
+
310
+ .hh-mega-panel {
311
+ position: absolute;
312
+ top: calc(100% + 12px);
313
+ right: -80px;
314
+ width: min(840px, 94vw);
315
+ background-color: var(--bg-surface);
316
+ border: 1px solid var(--border-subtle);
317
+ border-radius: var(--radius-lg);
318
+ padding: 24px;
319
+ box-shadow: var(--shadow-xl);
320
+ opacity: 0;
321
+ visibility: hidden;
322
+ transform: translateY(8px);
323
+ transition: opacity var(--transition-normal), transform var(--transition-normal), visibility var(--transition-normal);
324
+ z-index: 110;
325
+ }
326
+
327
+ .hh-mega-wrap.is-open .hh-mega-panel,
328
+ .hh-mega-wrap:focus-within .hh-mega-panel {
329
+ opacity: 1;
330
+ visibility: visible;
331
+ transform: translateY(0);
332
+ }
333
+
334
+ .hh-mega-grid {
335
+ display: grid;
336
+ grid-template-columns: repeat(3, 1fr);
337
+ gap: 20px;
338
+ }
339
+
340
+ .hh-mega-col {
341
+ display: flex;
342
+ flex-direction: column;
343
+ }
344
+
345
+ .hh-mega-col__head {
346
+ display: flex;
347
+ align-items: center;
348
+ justify-content: space-between;
349
+ padding-bottom: 10px;
350
+ margin-bottom: 8px;
351
+ border-bottom: 1px solid var(--border-subtle);
352
+ }
353
+
354
+ .hh-mega-col__badge {
355
+ font-size: 13px;
356
+ font-weight: 700;
357
+ color: var(--accent, var(--brand-primary));
358
+ letter-spacing: -0.01em;
359
+ }
360
+
361
+ .hh-mega-col__more {
362
+ font-size: 12px;
363
+ font-weight: 600;
364
+ color: var(--text-muted);
365
+ }
366
+
367
+ .hh-mega-col__more:hover {
368
+ color: var(--brand-primary);
369
+ }
370
+
371
+ .hh-mega-list {
372
+ display: flex;
373
+ flex-direction: column;
374
+ gap: 4px;
375
+ }
376
+
377
+ .hh-mega-item {
378
+ display: flex;
379
+ align-items: center;
380
+ gap: 10px;
381
+ padding: 8px 10px;
382
+ border-radius: var(--radius-sm);
383
+ transition: background-color var(--transition-fast), transform var(--transition-fast);
384
+ }
385
+
386
+ .hh-mega-item:hover {
387
+ background-color: var(--bg-surface-subtle);
388
+ transform: translateX(2px);
389
+ }
390
+
391
+ .hh-mega-item__icon {
392
+ width: 28px;
393
+ height: 28px;
394
+ display: grid;
395
+ place-items: center;
396
+ border-radius: var(--radius-sm);
397
+ background-color: var(--bg-surface-subtle);
398
+ flex-shrink: 0;
399
+ }
400
+
401
+ .hh-mega-item__icon .hh-svg-ic {
402
+ width: 20px;
403
+ height: 20px;
404
+ }
405
+
406
+ .hh-mega-item__text {
407
+ display: flex;
408
+ flex-direction: column;
409
+ line-height: 1.25;
410
+ }
411
+
412
+ .hh-mega-item__text strong {
413
+ font-size: 13.5px;
414
+ font-weight: 600;
415
+ color: var(--text-primary);
416
+ }
417
+
418
+ .hh-mega-item__text small {
419
+ font-size: 11.5px;
420
+ color: var(--text-muted);
421
+ }
422
+
423
+ /* Actions */
424
+ .hh-header__actions {
425
+ display: flex;
426
+ align-items: center;
427
+ gap: 8px;
428
+ }
429
+
430
+ .hh-action-btn {
431
+ width: 40px;
432
+ height: 40px;
433
+ display: grid;
434
+ place-items: center;
435
+ border-radius: var(--radius-md);
436
+ border: 1px solid var(--border-subtle);
437
+ background-color: var(--bg-surface);
438
+ color: var(--text-secondary);
439
+ transition: all var(--transition-fast);
440
+ }
441
+
442
+ .hh-action-btn:hover {
443
+ color: var(--text-primary);
444
+ border-color: var(--border-base);
445
+ background-color: var(--bg-surface-subtle);
446
+ }
447
+
448
+ /* Theme Toggle Icons */
449
+ .hh-theme-toggle {
450
+ position: relative;
451
+ overflow: hidden;
452
+ }
453
+
454
+ .hh-theme-sun,
455
+ .hh-theme-moon {
456
+ position: absolute;
457
+ transition: transform var(--transition-normal), opacity var(--transition-normal);
458
+ }
459
+
460
+ :root[data-theme="dark"] .hh-theme-sun {
461
+ opacity: 1;
462
+ transform: rotate(0deg) scale(1);
463
+ }
464
+
465
+ :root[data-theme="dark"] .hh-theme-moon {
466
+ opacity: 0;
467
+ transform: rotate(90deg) scale(0.5);
468
+ }
469
+
470
+ :root:not([data-theme="dark"]) .hh-theme-sun {
471
+ opacity: 0;
472
+ transform: rotate(-90deg) scale(0.5);
473
+ }
474
+
475
+ :root:not([data-theme="dark"]) .hh-theme-moon {
476
+ opacity: 1;
477
+ transform: rotate(0deg) scale(1);
478
+ }
479
+
480
+ /* Mobile Burger */
481
+ .hh-burger {
482
+ display: none;
483
+ flex-direction: column;
484
+ justify-content: center;
485
+ gap: 5px;
486
+ }
487
+
488
+ .hh-burger__bar {
489
+ width: 18px;
490
+ height: 2px;
491
+ background-color: currentColor;
492
+ border-radius: 2px;
493
+ transition: transform var(--transition-fast), opacity var(--transition-fast);
494
+ }
495
+
496
+ /* ==========================================================================
497
+ Hero Section
498
+ ========================================================================== */
499
+ .hh-hero {
500
+ padding: 64px 0 48px;
501
+ position: relative;
502
+ }
503
+
504
+ .hh-hero__content {
505
+ text-align: center;
506
+ max-width: 820px;
507
+ margin-inline: auto;
508
+ }
509
+
510
+ .hh-hero__pill {
511
+ display: inline-flex;
512
+ align-items: center;
513
+ gap: 10px;
514
+ padding: 6px 16px;
515
+ background-color: var(--bg-surface);
516
+ border: 1px solid var(--border-subtle);
517
+ border-radius: var(--radius-pill);
518
+ font-size: 13px;
519
+ font-weight: 600;
520
+ color: var(--text-secondary);
521
+ box-shadow: var(--shadow-sm);
522
+ margin-bottom: 24px;
523
+ }
524
+
525
+ .hh-pulse-dot {
526
+ width: 8px;
527
+ height: 8px;
528
+ border-radius: 50%;
529
+ background-color: var(--success-base);
530
+ box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.7);
531
+ animation: hh-pulse-glow 2s infinite;
532
+ }
533
+
534
+ @keyframes hh-pulse-glow {
535
+ 0% { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.7); }
536
+ 70% { box-shadow: 0 0 0 8px rgba(16, 185, 129, 0); }
537
+ 100% { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0); }
538
+ }
539
+
540
+ .hh-hero__pill-tag {
541
+ background-color: var(--success-soft);
542
+ color: var(--success-base);
543
+ font-size: 11.5px;
544
+ font-weight: 700;
545
+ padding: 2px 8px;
546
+ border-radius: var(--radius-pill);
547
+ letter-spacing: 0.02em;
548
+ }
549
+
550
+ .hh-hero__title {
551
+ font-family: var(--font-display);
552
+ font-size: clamp(36px, 5.2vw, 62px);
553
+ font-weight: 800;
554
+ line-height: 1.08;
555
+ letter-spacing: -0.03em;
556
+ color: var(--text-primary);
557
+ margin-bottom: 18px;
558
+ }
559
+
560
+ .hh-hero__subtitle {
561
+ font-size: clamp(16px, 2vw, 19px);
562
+ color: var(--text-secondary);
563
+ line-height: 1.55;
564
+ max-width: 680px;
565
+ margin-inline: auto;
566
+ margin-bottom: 32px;
567
+ }
568
+
569
+ /* Search Container */
570
+ .hh-search-container {
571
+ position: relative;
572
+ max-width: 640px;
573
+ margin-inline: auto;
574
+ }
575
+
576
+ .hh-search-bar {
577
+ display: flex;
578
+ align-items: center;
579
+ gap: 12px;
580
+ background-color: var(--bg-surface);
581
+ border: 1.5px solid var(--border-base);
582
+ border-radius: var(--radius-lg);
583
+ padding: 6px 14px 6px 18px;
584
+ box-shadow: var(--shadow-lg);
585
+ transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
586
+ }
587
+
588
+ .hh-search-bar:focus-within {
589
+ border-color: var(--brand-primary);
590
+ box-shadow: var(--shadow-glow), var(--shadow-lg);
591
+ }
592
+
593
+ .hh-search-bar__icon {
594
+ color: var(--text-muted);
595
+ display: flex;
596
+ align-items: center;
597
+ }
598
+
599
+ .hh-search-bar input {
600
+ flex: 1;
601
+ min-width: 0;
602
+ border: none;
603
+ background: transparent;
604
+ outline: none;
605
+ font-family: inherit;
606
+ font-size: 16px;
607
+ color: var(--text-primary);
608
+ padding: 12px 0;
609
+ }
610
+
611
+ .hh-search-bar input::placeholder {
612
+ color: var(--text-faint);
613
+ }
614
+
615
+ .hh-search-clear {
616
+ color: var(--text-muted);
617
+ padding: 4px;
618
+ border-radius: var(--radius-sm);
619
+ display: flex;
620
+ align-items: center;
621
+ transition: color var(--transition-fast);
622
+ }
623
+
624
+ .hh-search-clear:hover {
625
+ color: var(--text-primary);
626
+ }
627
+
628
+ .hh-search-kbd kbd {
629
+ font-family: var(--font-sans);
630
+ font-size: 12px;
631
+ font-weight: 700;
632
+ padding: 4px 8px;
633
+ border-radius: var(--radius-sm);
634
+ background-color: var(--bg-surface-subtle);
635
+ border: 1px solid var(--border-subtle);
636
+ color: var(--text-muted);
637
+ }
638
+
639
+ /* Live Search Dropdown */
640
+ .hh-search-dropdown {
641
+ position: absolute;
642
+ top: calc(100% + 8px);
643
+ left: 0;
644
+ right: 0;
645
+ background-color: var(--bg-surface);
646
+ border: 1px solid var(--border-subtle);
647
+ border-radius: var(--radius-lg);
648
+ box-shadow: var(--shadow-xl);
649
+ z-index: 90;
650
+ text-align: left;
651
+ overflow: hidden;
652
+ max-height: 420px;
653
+ display: flex;
654
+ flex-direction: column;
655
+ }
656
+
657
+ .hh-search-dropdown__header {
658
+ display: flex;
659
+ align-items: center;
660
+ justify-content: space-between;
661
+ padding: 12px 18px;
662
+ background-color: var(--bg-surface-subtle);
663
+ border-bottom: 1px solid var(--border-subtle);
664
+ font-size: 12.5px;
665
+ font-weight: 700;
666
+ color: var(--text-muted);
667
+ text-transform: uppercase;
668
+ letter-spacing: 0.05em;
669
+ }
670
+
671
+ .hh-search-dropdown__list {
672
+ overflow-y: auto;
673
+ padding: 6px;
674
+ }
675
+
676
+ .hh-search-result-item {
677
+ display: flex;
678
+ align-items: center;
679
+ gap: 12px;
680
+ padding: 10px 14px;
681
+ border-radius: var(--radius-md);
682
+ transition: background-color var(--transition-fast);
683
+ }
684
+
685
+ .hh-search-result-item:hover,
686
+ .hh-search-result-item.is-selected {
687
+ background-color: var(--bg-surface-subtle);
688
+ }
689
+
690
+ .hh-search-result-item__icon {
691
+ width: 34px;
692
+ height: 34px;
693
+ border-radius: var(--radius-sm);
694
+ background-color: var(--bg-surface-subtle);
695
+ display: grid;
696
+ place-items: center;
697
+ flex-shrink: 0;
698
+ }
699
+
700
+ .hh-search-result-item__icon .hh-svg-ic {
701
+ width: 24px;
702
+ height: 24px;
703
+ }
704
+
705
+ .hh-search-result-item__text {
706
+ flex: 1;
707
+ min-width: 0;
708
+ }
709
+
710
+ .hh-search-result-item__title {
711
+ font-size: 14.5px;
712
+ font-weight: 700;
713
+ color: var(--text-primary);
714
+ display: flex;
715
+ align-items: center;
716
+ gap: 8px;
717
+ }
718
+
719
+ .hh-search-result-item__title mark {
720
+ background-color: rgba(245, 158, 11, 0.25);
721
+ color: inherit;
722
+ border-radius: 2px;
723
+ padding: 0 2px;
724
+ }
725
+
726
+ .hh-search-result-item__desc {
727
+ font-size: 12.5px;
728
+ color: var(--text-muted);
729
+ white-space: nowrap;
730
+ overflow: hidden;
731
+ text-overflow: ellipsis;
732
+ }
733
+
734
+ .hh-search-result-item__arrow {
735
+ color: var(--text-faint);
736
+ margin-left: auto;
737
+ transition: transform var(--transition-fast), color var(--transition-fast);
738
+ }
739
+
740
+ .hh-search-result-item:hover .hh-search-result-item__arrow {
741
+ transform: translateX(3px);
742
+ color: var(--brand-primary);
743
+ }
744
+
745
+ /* Trending Chips */
746
+ .hh-chips-row {
747
+ display: flex;
748
+ align-items: center;
749
+ justify-content: center;
750
+ flex-wrap: wrap;
751
+ gap: 8px;
752
+ margin-top: 18px;
753
+ }
754
+
755
+ .hh-chips-label {
756
+ font-size: 13px;
757
+ font-weight: 600;
758
+ color: var(--text-muted);
759
+ margin-right: 4px;
760
+ }
761
+
762
+ .hh-chip {
763
+ display: inline-flex;
764
+ align-items: center;
765
+ gap: 6px;
766
+ padding: 6px 12px;
767
+ background-color: var(--bg-surface);
768
+ border: 1px solid var(--border-subtle);
769
+ border-radius: var(--radius-pill);
770
+ font-size: 13px;
771
+ font-weight: 600;
772
+ color: var(--text-secondary);
773
+ transition: all var(--transition-fast);
774
+ }
775
+
776
+ .hh-chip:hover {
777
+ color: var(--brand-primary);
778
+ border-color: var(--brand-primary);
779
+ transform: translateY(-1px);
780
+ box-shadow: var(--shadow-xs);
781
+ }
782
+
783
+ .hh-chip__icon .hh-svg-ic {
784
+ width: 16px;
785
+ height: 16px;
786
+ }
787
+
788
+ /* ==========================================================================
789
+ Today's Spotlight Section
790
+ ========================================================================== */
791
+ .hh-spotlight {
792
+ margin-top: 56px;
793
+ padding: 32px;
794
+ background-color: var(--bg-surface);
795
+ border: 1px solid var(--border-subtle);
796
+ border-radius: var(--radius-xl);
797
+ box-shadow: var(--shadow-lg);
798
+ }
799
+
800
+ .hh-spotlight__header {
801
+ display: flex;
802
+ align-items: flex-end;
803
+ justify-content: space-between;
804
+ gap: 20px;
805
+ flex-wrap: wrap;
806
+ margin-bottom: 24px;
807
+ padding-bottom: 16px;
808
+ border-bottom: 1px solid var(--border-subtle);
809
+ }
810
+
811
+ .hh-spotlight__heading {
812
+ display: flex;
813
+ flex-direction: column;
814
+ gap: 6px;
815
+ }
816
+
817
+ .hh-badge-pulse {
818
+ display: inline-flex;
819
+ align-items: center;
820
+ gap: 6px;
821
+ font-size: 12px;
822
+ font-weight: 800;
823
+ text-transform: uppercase;
824
+ letter-spacing: 0.08em;
825
+ color: var(--brand-primary);
826
+ }
827
+
828
+ .hh-spotlight__heading h2 {
829
+ font-family: var(--font-display);
830
+ font-size: clamp(20px, 2.4vw, 28px);
831
+ font-weight: 700;
832
+ letter-spacing: -0.02em;
833
+ color: var(--text-primary);
834
+ }
835
+
836
+ .hh-spotlight__sub {
837
+ font-size: 14.5px;
838
+ color: var(--text-muted);
839
+ }
840
+
841
+ .hh-spotlight__grid {
842
+ display: grid;
843
+ grid-template-columns: repeat(3, 1fr);
844
+ gap: 20px;
845
+ }
846
+
847
+ .hh-spotlight-card {
848
+ display: flex;
849
+ flex-direction: column;
850
+ background-color: var(--bg-surface-subtle);
851
+ border: 1px solid var(--border-subtle);
852
+ border-radius: var(--radius-lg);
853
+ padding: 22px;
854
+ transition: transform var(--transition-normal), box-shadow var(--transition-normal), border-color var(--transition-normal);
855
+ position: relative;
856
+ overflow: hidden;
857
+ }
858
+
859
+ .hh-spotlight-card::before {
860
+ content: "";
861
+ position: absolute;
862
+ top: 0;
863
+ left: 0;
864
+ right: 0;
865
+ height: 3px;
866
+ background-color: var(--spotlight-accent, var(--brand-primary));
867
+ }
868
+
869
+ .hh-spotlight-card:hover {
870
+ transform: translateY(-4px);
871
+ box-shadow: var(--shadow-md);
872
+ border-color: color-mix(in srgb, var(--spotlight-accent) 40%, var(--border-subtle));
873
+ }
874
+
875
+ .hh-spotlight-card__top {
876
+ display: flex;
877
+ align-items: center;
878
+ justify-content: space-between;
879
+ margin-bottom: 16px;
880
+ }
881
+
882
+ .hh-spotlight-card__publisher {
883
+ font-size: 12px;
884
+ font-weight: 700;
885
+ text-transform: uppercase;
886
+ letter-spacing: 0.05em;
887
+ color: var(--text-muted);
888
+ }
889
+
890
+ .hh-spotlight-card__badge {
891
+ font-size: 11.5px;
892
+ font-weight: 700;
893
+ padding: 3px 10px;
894
+ border-radius: var(--radius-pill);
895
+ background-color: color-mix(in srgb, var(--spotlight-accent) 15%, transparent);
896
+ color: var(--spotlight-accent);
897
+ }
898
+
899
+ .hh-spotlight-card__body {
900
+ display: flex;
901
+ align-items: flex-start;
902
+ gap: 16px;
903
+ margin-bottom: 20px;
904
+ flex: 1;
905
+ }
906
+
907
+ .hh-spotlight-card__icon {
908
+ width: 52px;
909
+ height: 52px;
910
+ border-radius: var(--radius-md);
911
+ background-color: var(--bg-surface);
912
+ border: 1px solid var(--border-subtle);
913
+ display: grid;
914
+ place-items: center;
915
+ flex-shrink: 0;
916
+ box-shadow: var(--shadow-xs);
917
+ transition: transform var(--transition-normal);
918
+ }
919
+
920
+ .hh-spotlight-card:hover .hh-spotlight-card__icon {
921
+ transform: scale(1.08) rotate(-3deg);
922
+ }
923
+
924
+ .hh-spotlight-card__info h3 {
925
+ font-size: 18px;
926
+ font-weight: 700;
927
+ letter-spacing: -0.01em;
928
+ color: var(--text-primary);
929
+ margin-bottom: 6px;
930
+ }
931
+
932
+ .hh-spotlight-card__info p {
933
+ font-size: 13.5px;
934
+ color: var(--text-secondary);
935
+ line-height: 1.5;
936
+ }
937
+
938
+ .hh-spotlight-card__actions {
939
+ display: grid;
940
+ grid-template-columns: 1.3fr 1fr;
941
+ gap: 8px;
942
+ margin-top: auto;
943
+ }
944
+
945
+ /* Reusable Buttons */
946
+ .hh-btn {
947
+ display: inline-flex;
948
+ align-items: center;
949
+ justify-content: center;
950
+ gap: 8px;
951
+ padding: 9px 16px;
952
+ border-radius: var(--radius-md);
953
+ font-size: 13.5px;
954
+ font-weight: 700;
955
+ transition: all var(--transition-fast);
956
+ text-align: center;
957
+ }
958
+
959
+ .hh-btn--primary {
960
+ background-color: var(--brand-primary);
961
+ color: #ffffff;
962
+ box-shadow: 0 4px 12px rgba(182, 65, 218, 0.25);
963
+ }
964
+
965
+ .hh-btn--primary:hover {
966
+ background-color: var(--brand-primary-light);
967
+ transform: translateY(-1px);
968
+ box-shadow: 0 6px 16px rgba(182, 65, 218, 0.35);
969
+ }
970
+
971
+ .hh-btn--secondary {
972
+ background-color: var(--bg-surface);
973
+ color: var(--text-primary);
974
+ border: 1px solid var(--border-subtle);
975
+ }
976
+
977
+ .hh-btn--secondary:hover {
978
+ background-color: var(--bg-surface-hover);
979
+ border-color: var(--border-base);
980
+ }
981
+
982
+ /* ==========================================================================
983
+ Games Catalog & Filter Tabs
984
+ ========================================================================== */
985
+ .hh-section {
986
+ padding: 64px 0;
987
+ }
988
+
989
+ .hh-catalog-header {
990
+ display: flex;
991
+ align-items: flex-end;
992
+ justify-content: space-between;
993
+ gap: 24px;
994
+ flex-wrap: wrap;
995
+ margin-bottom: 36px;
996
+ }
997
+
998
+ .hh-catalog-title {
999
+ font-family: var(--font-display);
1000
+ font-size: clamp(26px, 3.2vw, 36px);
1001
+ font-weight: 800;
1002
+ letter-spacing: -0.02em;
1003
+ color: var(--text-primary);
1004
+ margin-bottom: 6px;
1005
+ }
1006
+
1007
+ .hh-catalog-desc {
1008
+ font-size: 15px;
1009
+ color: var(--text-muted);
1010
+ }
1011
+
1012
+ .hh-count-badge {
1013
+ font-weight: 700;
1014
+ color: var(--text-primary);
1015
+ }
1016
+
1017
+ /* Filter Bar Segmented Tabs */
1018
+ .hh-filter-bar {
1019
+ display: flex;
1020
+ align-items: center;
1021
+ gap: 4px;
1022
+ background-color: var(--bg-surface);
1023
+ padding: 5px;
1024
+ border: 1px solid var(--border-subtle);
1025
+ border-radius: var(--radius-lg);
1026
+ box-shadow: var(--shadow-sm);
1027
+ flex-wrap: wrap;
1028
+ }
1029
+
1030
+ .hh-tab-btn {
1031
+ display: flex;
1032
+ align-items: center;
1033
+ gap: 8px;
1034
+ padding: 8px 16px;
1035
+ border-radius: var(--radius-md);
1036
+ font-size: 13.5px;
1037
+ font-weight: 600;
1038
+ color: var(--text-secondary);
1039
+ transition: all var(--transition-fast);
1040
+ }
1041
+
1042
+ .hh-tab-btn:hover {
1043
+ color: var(--text-primary);
1044
+ background-color: var(--bg-surface-subtle);
1045
+ }
1046
+
1047
+ .hh-tab-btn.is-active {
1048
+ background-color: var(--brand-primary);
1049
+ color: #ffffff;
1050
+ box-shadow: 0 4px 12px rgba(182, 65, 218, 0.3);
1051
+ }
1052
+
1053
+ .hh-tab-count {
1054
+ font-size: 11px;
1055
+ font-weight: 700;
1056
+ padding: 2px 7px;
1057
+ border-radius: var(--radius-pill);
1058
+ background-color: var(--bg-surface-subtle);
1059
+ color: var(--text-secondary);
1060
+ transition: all var(--transition-fast);
1061
+ }
1062
+
1063
+ .hh-tab-btn.is-active .hh-tab-count {
1064
+ background-color: rgba(255, 255, 255, 0.25);
1065
+ color: #ffffff;
1066
+ }
1067
+
1068
+ /* Groups Container */
1069
+ .hh-group {
1070
+ margin-bottom: 52px;
1071
+ }
1072
+
1073
+ .hh-group-header {
1074
+ display: flex;
1075
+ align-items: baseline;
1076
+ justify-content: space-between;
1077
+ gap: 16px;
1078
+ flex-wrap: wrap;
1079
+ margin-bottom: 20px;
1080
+ padding-bottom: 12px;
1081
+ border-bottom: 1px solid var(--border-subtle);
1082
+ }
1083
+
1084
+ .hh-group-header__title {
1085
+ display: flex;
1086
+ align-items: center;
1087
+ gap: 10px;
1088
+ }
1089
+
1090
+ .hh-group-indicator {
1091
+ width: 10px;
1092
+ height: 22px;
1093
+ border-radius: 4px;
1094
+ }
1095
+
1096
+ .hh-group-header__title h3 {
1097
+ font-family: var(--font-display);
1098
+ font-size: 22px;
1099
+ font-weight: 700;
1100
+ letter-spacing: -0.01em;
1101
+ color: var(--text-primary);
1102
+ }
1103
+
1104
+ .hh-group-pill {
1105
+ font-size: 12px;
1106
+ font-weight: 600;
1107
+ padding: 3px 9px;
1108
+ border-radius: var(--radius-pill);
1109
+ background-color: var(--bg-surface-subtle);
1110
+ color: var(--text-muted);
1111
+ }
1112
+
1113
+ .hh-group-blurb {
1114
+ font-size: 14px;
1115
+ color: var(--text-muted);
1116
+ flex: 1;
1117
+ }
1118
+
1119
+ .hh-group-view-all {
1120
+ display: flex;
1121
+ align-items: center;
1122
+ gap: 6px;
1123
+ font-size: 13.5px;
1124
+ font-weight: 700;
1125
+ color: var(--group-color, var(--brand-primary));
1126
+ transition: transform var(--transition-fast);
1127
+ }
1128
+
1129
+ .hh-group-view-all:hover {
1130
+ transform: translateX(3px);
1131
+ text-decoration: underline;
1132
+ }
1133
+
1134
+ /* Cards Grid */
1135
+ .hh-cards-grid {
1136
+ display: grid;
1137
+ grid-template-columns: repeat(auto-fill, minmax(270px, 1fr));
1138
+ gap: 20px;
1139
+ }
1140
+
1141
+ .hh-game-card {
1142
+ position: relative;
1143
+ background-color: var(--bg-card);
1144
+ border: 1px solid var(--border-subtle);
1145
+ border-radius: var(--radius-lg);
1146
+ box-shadow: var(--shadow-sm);
1147
+ transition: transform var(--transition-normal), box-shadow var(--transition-normal), border-color var(--transition-normal);
1148
+ display: flex;
1149
+ flex-direction: column;
1150
+ overflow: hidden;
1151
+ }
1152
+
1153
+ .hh-game-card:hover {
1154
+ transform: translateY(-4px);
1155
+ box-shadow: var(--shadow-lg);
1156
+ border-color: color-mix(in srgb, var(--group-color, var(--brand-primary)) 45%, var(--border-subtle));
1157
+ }
1158
+
1159
+ .hh-game-card__inner {
1160
+ padding: 22px;
1161
+ display: flex;
1162
+ flex-direction: column;
1163
+ height: 100%;
1164
+ }
1165
+
1166
+ .hh-game-card__header {
1167
+ display: flex;
1168
+ align-items: center;
1169
+ gap: 14px;
1170
+ margin-bottom: 14px;
1171
+ }
1172
+
1173
+ .hh-game-card__icon-wrap {
1174
+ width: 48px;
1175
+ height: 48px;
1176
+ border-radius: var(--radius-md);
1177
+ background-color: color-mix(in srgb, var(--group-color, var(--brand-primary)) 12%, transparent);
1178
+ border: 1px solid color-mix(in srgb, var(--group-color, var(--brand-primary)) 20%, transparent);
1179
+ display: grid;
1180
+ place-items: center;
1181
+ flex-shrink: 0;
1182
+ transition: transform var(--transition-normal);
1183
+ }
1184
+
1185
+ .hh-game-card:hover .hh-game-card__icon-wrap {
1186
+ transform: scale(1.06) rotate(-3deg);
1187
+ }
1188
+
1189
+ .hh-game-card__meta {
1190
+ display: flex;
1191
+ flex-direction: column;
1192
+ }
1193
+
1194
+ .hh-game-card__pub {
1195
+ font-size: 11px;
1196
+ font-weight: 700;
1197
+ text-transform: uppercase;
1198
+ letter-spacing: 0.05em;
1199
+ color: var(--text-muted);
1200
+ }
1201
+
1202
+ .hh-game-card__title {
1203
+ font-size: 17px;
1204
+ font-weight: 700;
1205
+ color: var(--text-primary);
1206
+ line-height: 1.25;
1207
+ }
1208
+
1209
+ .hh-game-card__suffix {
1210
+ font-weight: 500;
1211
+ color: var(--text-muted);
1212
+ }
1213
+
1214
+ .hh-game-card__desc {
1215
+ font-size: 13.5px;
1216
+ color: var(--text-secondary);
1217
+ line-height: 1.5;
1218
+ margin-bottom: 18px;
1219
+ flex: 1;
1220
+ }
1221
+
1222
+ .hh-game-card__footer {
1223
+ display: flex;
1224
+ align-items: center;
1225
+ justify-content: space-between;
1226
+ padding-top: 14px;
1227
+ border-top: 1px solid var(--border-subtle);
1228
+ margin-top: auto;
1229
+ }
1230
+
1231
+ .hh-card-tag {
1232
+ font-size: 11.5px;
1233
+ font-weight: 700;
1234
+ padding: 3px 9px;
1235
+ border-radius: var(--radius-pill);
1236
+ background-color: color-mix(in srgb, var(--group-color, var(--brand-primary)) 12%, transparent);
1237
+ color: var(--group-color, var(--brand-primary));
1238
+ }
1239
+
1240
+ :root[data-theme="dark"] .hh-card-tag {
1241
+ color: color-mix(in srgb, var(--group-color, var(--brand-primary)) 80%, #ffffff);
1242
+ }
1243
+
1244
+ .hh-card-link-text {
1245
+ display: flex;
1246
+ align-items: center;
1247
+ gap: 5px;
1248
+ font-size: 13px;
1249
+ font-weight: 700;
1250
+ color: var(--text-muted);
1251
+ transition: all var(--transition-fast);
1252
+ }
1253
+
1254
+ .hh-game-card:hover .hh-card-link-text {
1255
+ color: var(--group-color, var(--brand-primary));
1256
+ transform: translateX(3px);
1257
+ }
1258
+
1259
+ .hh-game-card.is-hidden,
1260
+ .hh-group.is-hidden {
1261
+ display: none !important;
1262
+ }
1263
+
1264
+ /* Empty State */
1265
+ .hh-empty-state {
1266
+ text-align: center;
1267
+ padding: 64px 24px;
1268
+ background-color: var(--bg-surface);
1269
+ border: 1px dashed var(--border-base);
1270
+ border-radius: var(--radius-xl);
1271
+ max-width: 540px;
1272
+ margin: 40px auto;
1273
+ }
1274
+
1275
+ .hh-empty-state__icon {
1276
+ width: 56px;
1277
+ height: 56px;
1278
+ border-radius: 50%;
1279
+ background-color: var(--bg-surface-subtle);
1280
+ display: grid;
1281
+ place-items: center;
1282
+ margin: 0 auto 18px;
1283
+ color: var(--text-muted);
1284
+ }
1285
+
1286
+ .hh-empty-state h3 {
1287
+ font-size: 19px;
1288
+ font-weight: 700;
1289
+ color: var(--text-primary);
1290
+ margin-bottom: 8px;
1291
+ }
1292
+
1293
+ .hh-empty-state p {
1294
+ font-size: 14.5px;
1295
+ color: var(--text-muted);
1296
+ margin-bottom: 24px;
1297
+ }
1298
+
1299
+ /* ==========================================================================
1300
+ Word Tools & Anagram Solvers
1301
+ ========================================================================== */
1302
+ .hh-section--tools {
1303
+ background-color: color-mix(in srgb, var(--bg-surface) 60%, transparent);
1304
+ border-block: 1px solid var(--border-subtle);
1305
+ }
1306
+
1307
+ .hh-tools-header {
1308
+ display: flex;
1309
+ align-items: flex-end;
1310
+ justify-content: space-between;
1311
+ gap: 20px;
1312
+ flex-wrap: wrap;
1313
+ margin-bottom: 32px;
1314
+ }
1315
+
1316
+ .hh-badge-pill {
1317
+ display: inline-flex;
1318
+ align-items: center;
1319
+ gap: 6px;
1320
+ padding: 4px 12px;
1321
+ border-radius: var(--radius-pill);
1322
+ background-color: var(--warning-soft);
1323
+ color: #b45309;
1324
+ font-size: 12px;
1325
+ font-weight: 700;
1326
+ margin-bottom: 10px;
1327
+ }
1328
+
1329
+ :root[data-theme="dark"] .hh-badge-pill {
1330
+ color: #fcd34d;
1331
+ }
1332
+
1333
+ .hh-tools-header h2 {
1334
+ font-family: var(--font-display);
1335
+ font-size: clamp(24px, 3vw, 34px);
1336
+ font-weight: 800;
1337
+ letter-spacing: -0.02em;
1338
+ color: var(--text-primary);
1339
+ margin-bottom: 6px;
1340
+ }
1341
+
1342
+ .hh-tools-header p {
1343
+ font-size: 15px;
1344
+ color: var(--text-muted);
1345
+ max-width: 600px;
1346
+ }
1347
+
1348
+ /* Quick Unscrambler Card */
1349
+ .hh-unscrambler-card {
1350
+ background-color: var(--bg-surface);
1351
+ border: 1px solid var(--border-subtle);
1352
+ border-radius: var(--radius-xl);
1353
+ padding: 32px;
1354
+ box-shadow: var(--shadow-lg);
1355
+ margin-bottom: 36px;
1356
+ }
1357
+
1358
+ .hh-unscrambler-card__intro h3 {
1359
+ font-size: 19px;
1360
+ font-weight: 700;
1361
+ color: var(--text-primary);
1362
+ margin-bottom: 4px;
1363
+ }
1364
+
1365
+ .hh-unscrambler-card__intro p {
1366
+ font-size: 14px;
1367
+ color: var(--text-muted);
1368
+ margin-bottom: 18px;
1369
+ }
1370
+
1371
+ .hh-unscrambler-card__intro code {
1372
+ font-family: monospace;
1373
+ background-color: var(--bg-surface-subtle);
1374
+ padding: 2px 6px;
1375
+ border-radius: 4px;
1376
+ color: var(--brand-primary);
1377
+ }
1378
+
1379
+ .hh-unscrambler-form {
1380
+ display: flex;
1381
+ gap: 12px;
1382
+ max-width: 720px;
1383
+ margin-bottom: 16px;
1384
+ }
1385
+
1386
+ .hh-unscrambler-input-wrap {
1387
+ flex: 1;
1388
+ display: flex;
1389
+ align-items: center;
1390
+ gap: 12px;
1391
+ background-color: var(--bg-surface-subtle);
1392
+ border: 1.5px solid var(--border-base);
1393
+ border-radius: var(--radius-md);
1394
+ padding: 4px 16px;
1395
+ transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
1396
+ }
1397
+
1398
+ .hh-unscrambler-input-wrap:focus-within {
1399
+ border-color: var(--brand-primary);
1400
+ box-shadow: 0 0 0 3px rgba(182, 65, 218, 0.18);
1401
+ }
1402
+
1403
+ .hh-tile-symbol {
1404
+ font-family: var(--font-display);
1405
+ font-weight: 800;
1406
+ font-size: 13px;
1407
+ letter-spacing: 0.05em;
1408
+ padding: 3px 7px;
1409
+ border-radius: 6px;
1410
+ background-color: #fef3c7;
1411
+ color: #92400e;
1412
+ }
1413
+
1414
+ .hh-unscrambler-input {
1415
+ flex: 1;
1416
+ border: none;
1417
+ background: transparent;
1418
+ outline: none;
1419
+ font-size: 16px;
1420
+ font-weight: 600;
1421
+ color: var(--text-primary);
1422
+ padding: 10px 0;
1423
+ letter-spacing: 0.08em;
1424
+ text-transform: uppercase;
1425
+ }
1426
+
1427
+ .hh-unscrambler-input::placeholder {
1428
+ font-weight: 400;
1429
+ letter-spacing: normal;
1430
+ text-transform: none;
1431
+ color: var(--text-faint);
1432
+ }
1433
+
1434
+ .hh-unscramble-submit {
1435
+ padding: 12px 24px;
1436
+ font-size: 14.5px;
1437
+ }
1438
+
1439
+ .hh-unscrambler-shortcuts {
1440
+ display: flex;
1441
+ align-items: center;
1442
+ gap: 10px;
1443
+ flex-wrap: wrap;
1444
+ font-size: 13px;
1445
+ }
1446
+
1447
+ .hh-unscrambler-shortcuts span {
1448
+ font-weight: 600;
1449
+ color: var(--text-muted);
1450
+ }
1451
+
1452
+ .hh-unscrambler-shortcuts a {
1453
+ color: var(--brand-primary);
1454
+ font-weight: 600;
1455
+ transition: text-decoration var(--transition-fast);
1456
+ }
1457
+
1458
+ .hh-unscrambler-shortcuts a:hover {
1459
+ text-decoration: underline;
1460
+ }
1461
+
1462
+ /* Tools Grid */
1463
+ .hh-tools-grid {
1464
+ display: grid;
1465
+ grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
1466
+ gap: 16px;
1467
+ }
1468
+
1469
+ .hh-tool-card {
1470
+ display: flex;
1471
+ align-items: center;
1472
+ gap: 16px;
1473
+ padding: 18px 20px;
1474
+ background-color: var(--bg-surface);
1475
+ border: 1px solid var(--border-subtle);
1476
+ border-radius: var(--radius-lg);
1477
+ box-shadow: var(--shadow-sm);
1478
+ transition: transform var(--transition-normal), border-color var(--transition-normal), box-shadow var(--transition-normal);
1479
+ }
1480
+
1481
+ .hh-tool-card:hover {
1482
+ transform: translateY(-3px);
1483
+ border-color: var(--brand-primary);
1484
+ box-shadow: var(--shadow-md);
1485
+ }
1486
+
1487
+ .hh-tool-card__icon {
1488
+ width: 44px;
1489
+ height: 44px;
1490
+ border-radius: var(--radius-md);
1491
+ display: grid;
1492
+ place-items: center;
1493
+ flex-shrink: 0;
1494
+ background-color: var(--bg-surface-subtle);
1495
+ }
1496
+
1497
+ .hh-tool-card__icon .hh-svg-ic {
1498
+ width: 26px;
1499
+ height: 26px;
1500
+ }
1501
+
1502
+ .hh-tool-card__body {
1503
+ flex: 1;
1504
+ min-width: 0;
1505
+ }
1506
+
1507
+ .hh-tool-card__body h4 {
1508
+ font-size: 15px;
1509
+ font-weight: 700;
1510
+ color: var(--text-primary);
1511
+ margin-bottom: 2px;
1512
+ }
1513
+
1514
+ .hh-tool-card__body p {
1515
+ font-size: 13px;
1516
+ color: var(--text-muted);
1517
+ line-height: 1.4;
1518
+ }
1519
+
1520
+ .hh-tool-card__arrow {
1521
+ color: var(--text-faint);
1522
+ transition: transform var(--transition-fast), color var(--transition-fast);
1523
+ }
1524
+
1525
+ .hh-tool-card:hover .hh-tool-card__arrow {
1526
+ transform: translateX(3px);
1527
+ color: var(--brand-primary);
1528
+ }
1529
+
1530
+ /* ==========================================================================
1531
+ Features & Trust Pillars + FAQ Accordion
1532
+ ========================================================================== */
1533
+ .hh-section--features {
1534
+ padding: 64px 0 80px;
1535
+ }
1536
+
1537
+ .hh-features-header {
1538
+ text-align: center;
1539
+ max-width: 680px;
1540
+ margin: 0 auto 48px;
1541
+ }
1542
+
1543
+ .hh-features-header h2 {
1544
+ font-family: var(--font-display);
1545
+ font-size: clamp(24px, 3.2vw, 34px);
1546
+ font-weight: 800;
1547
+ letter-spacing: -0.02em;
1548
+ color: var(--text-primary);
1549
+ margin-bottom: 8px;
1550
+ }
1551
+
1552
+ .hh-features-header p {
1553
+ font-size: 15.5px;
1554
+ color: var(--text-muted);
1555
+ }
1556
+
1557
+ .hh-features-grid {
1558
+ display: grid;
1559
+ grid-template-columns: repeat(4, 1fr);
1560
+ gap: 24px;
1561
+ margin-bottom: 64px;
1562
+ }
1563
+
1564
+ .hh-feature-item {
1565
+ background-color: var(--bg-surface);
1566
+ border: 1px solid var(--border-subtle);
1567
+ border-radius: var(--radius-lg);
1568
+ padding: 24px 20px;
1569
+ box-shadow: var(--shadow-sm);
1570
+ display: flex;
1571
+ flex-direction: column;
1572
+ transition: transform var(--transition-fast);
1573
+ }
1574
+
1575
+ .hh-feature-item:hover {
1576
+ transform: translateY(-2px);
1577
+ }
1578
+
1579
+ .hh-feature-item__icon {
1580
+ width: 44px;
1581
+ height: 44px;
1582
+ border-radius: var(--radius-md);
1583
+ background-color: var(--brand-primary-soft);
1584
+ color: var(--brand-primary);
1585
+ display: grid;
1586
+ place-items: center;
1587
+ margin-bottom: 16px;
1588
+ }
1589
+
1590
+ .hh-feature-item h3 {
1591
+ font-size: 16px;
1592
+ font-weight: 700;
1593
+ color: var(--text-primary);
1594
+ margin-bottom: 6px;
1595
+ }
1596
+
1597
+ .hh-feature-item p {
1598
+ font-size: 13.5px;
1599
+ color: var(--text-secondary);
1600
+ line-height: 1.5;
1601
+ }
1602
+
1603
+ /* FAQ Accordion */
1604
+ .hh-faq-container {
1605
+ max-width: 820px;
1606
+ margin-inline: auto;
1607
+ background-color: var(--bg-surface);
1608
+ border: 1px solid var(--border-subtle);
1609
+ border-radius: var(--radius-xl);
1610
+ padding: 40px;
1611
+ box-shadow: var(--shadow-lg);
1612
+ }
1613
+
1614
+ .hh-faq-header {
1615
+ text-align: center;
1616
+ margin-bottom: 28px;
1617
+ }
1618
+
1619
+ .hh-faq-header h2 {
1620
+ font-family: var(--font-display);
1621
+ font-size: 26px;
1622
+ font-weight: 800;
1623
+ color: var(--text-primary);
1624
+ letter-spacing: -0.02em;
1625
+ margin-bottom: 6px;
1626
+ }
1627
+
1628
+ .hh-faq-header p {
1629
+ font-size: 14.5px;
1630
+ color: var(--text-muted);
1631
+ }
1632
+
1633
+ .hh-faq-list {
1634
+ display: flex;
1635
+ flex-direction: column;
1636
+ gap: 12px;
1637
+ }
1638
+
1639
+ .hh-faq-item {
1640
+ border: 1px solid var(--border-subtle);
1641
+ border-radius: var(--radius-md);
1642
+ background-color: var(--bg-surface-subtle);
1643
+ overflow: hidden;
1644
+ transition: border-color var(--transition-fast);
1645
+ }
1646
+
1647
+ .hh-faq-item[open] {
1648
+ border-color: var(--border-base);
1649
+ background-color: var(--bg-surface);
1650
+ }
1651
+
1652
+ .hh-faq-question {
1653
+ display: flex;
1654
+ align-items: center;
1655
+ justify-content: space-between;
1656
+ gap: 16px;
1657
+ padding: 16px 20px;
1658
+ font-size: 15.5px;
1659
+ font-weight: 700;
1660
+ color: var(--text-primary);
1661
+ cursor: pointer;
1662
+ user-select: none;
1663
+ list-style: none;
1664
+ }
1665
+
1666
+ .hh-faq-question::-webkit-details-marker {
1667
+ display: none;
1668
+ }
1669
+
1670
+ .hh-faq-chevron {
1671
+ color: var(--text-muted);
1672
+ transition: transform var(--transition-fast);
1673
+ }
1674
+
1675
+ .hh-faq-item[open] .hh-faq-chevron {
1676
+ transform: rotate(180deg);
1677
+ color: var(--brand-primary);
1678
+ }
1679
+
1680
+ .hh-faq-answer {
1681
+ padding: 0 20px 20px;
1682
+ font-size: 14.5px;
1683
+ color: var(--text-secondary);
1684
+ line-height: 1.6;
1685
+ }
1686
+
1687
+ /* ==========================================================================
1688
+ Footer
1689
+ ========================================================================== */
1690
+ .hh-footer {
1691
+ background-color: var(--bg-surface);
1692
+ border-top: 1px solid var(--border-subtle);
1693
+ padding: 64px 0 32px;
1694
+ }
1695
+
1696
+ .hh-footer__top {
1697
+ display: grid;
1698
+ grid-template-columns: 1.3fr 2fr;
1699
+ gap: 48px;
1700
+ margin-bottom: 48px;
1701
+ }
1702
+
1703
+ .hh-footer__brand-col {
1704
+ display: flex;
1705
+ flex-direction: column;
1706
+ gap: 14px;
1707
+ }
1708
+
1709
+ .hh-footer .hh-brand {
1710
+ color: #ffffff;
1711
+ }
1712
+
1713
+ .hh-footer__desc {
1714
+ font-size: 14px;
1715
+ color: var(--text-secondary);
1716
+ line-height: 1.6;
1717
+ max-width: 360px;
1718
+ }
1719
+
1720
+ .hh-footer__disclaimer {
1721
+ font-size: 12px;
1722
+ color: var(--text-faint);
1723
+ line-height: 1.5;
1724
+ max-width: 360px;
1725
+ }
1726
+
1727
+ .hh-footer__nav-cols {
1728
+ display: grid;
1729
+ grid-template-columns: repeat(4, 1fr);
1730
+ gap: 24px;
1731
+ }
1732
+
1733
+ .hh-footer__col h4 {
1734
+ font-size: 13px;
1735
+ font-weight: 800;
1736
+ text-transform: uppercase;
1737
+ letter-spacing: 0.05em;
1738
+ color: var(--text-primary);
1739
+ margin-bottom: 16px;
1740
+ }
1741
+
1742
+ .hh-footer__col ul {
1743
+ display: flex;
1744
+ flex-direction: column;
1745
+ gap: 10px;
1746
+ }
1747
+
1748
+ .hh-footer__col a {
1749
+ font-size: 13.5px;
1750
+ font-weight: 500;
1751
+ color: var(--text-muted);
1752
+ transition: color var(--transition-fast);
1753
+ }
1754
+
1755
+ .hh-footer__col a:hover {
1756
+ color: var(--brand-primary);
1757
+ }
1758
+
1759
+ .hh-footer__bottom {
1760
+ display: flex;
1761
+ align-items: center;
1762
+ justify-content: space-between;
1763
+ padding-top: 24px;
1764
+ border-top: 1px solid var(--border-subtle);
1765
+ font-size: 13px;
1766
+ color: var(--text-muted);
1767
+ flex-wrap: wrap;
1768
+ gap: 16px;
1769
+ }
1770
+
1771
+ .hh-back-to-top {
1772
+ display: inline-flex;
1773
+ align-items: center;
1774
+ gap: 6px;
1775
+ font-weight: 600;
1776
+ color: var(--text-secondary);
1777
+ transition: color var(--transition-fast);
1778
+ }
1779
+
1780
+ .hh-back-to-top .hh-svg-icon {
1781
+ transform: rotate(-90deg);
1782
+ }
1783
+
1784
+ .hh-back-to-top:hover {
1785
+ color: var(--brand-primary);
1786
+ }
1787
+
1788
+ /* ==========================================================================
1789
+ Responsive Breakpoints
1790
+ ========================================================================== */
1791
+ @media (max-width: 1024px) {
1792
+ .hh-spotlight__grid {
1793
+ grid-template-columns: 1fr;
1794
+ gap: 16px;
1795
+ }
1796
+
1797
+ .hh-features-grid {
1798
+ grid-template-columns: repeat(2, 1fr);
1799
+ }
1800
+
1801
+ .hh-footer__top {
1802
+ grid-template-columns: 1fr;
1803
+ gap: 36px;
1804
+ }
1805
+
1806
+ .hh-footer__nav-cols {
1807
+ grid-template-columns: repeat(2, 1fr);
1808
+ }
1809
+ }
1810
+
1811
+ @media (max-width: 768px) {
1812
+ .hh-burger {
1813
+ display: flex;
1814
+ }
1815
+
1816
+ .hh-nav {
1817
+ position: fixed;
1818
+ top: var(--header-height);
1819
+ left: 0;
1820
+ right: 0;
1821
+ bottom: 0;
1822
+ background-color: var(--bg-surface);
1823
+ flex-direction: column;
1824
+ align-items: stretch;
1825
+ padding: 24px;
1826
+ gap: 12px;
1827
+ overflow-y: auto;
1828
+ transform: translateY(-100%);
1829
+ opacity: 0;
1830
+ visibility: hidden;
1831
+ transition: transform var(--transition-normal), opacity var(--transition-normal), visibility var(--transition-normal);
1832
+ }
1833
+
1834
+ .hh-nav.is-open {
1835
+ transform: translateY(0);
1836
+ opacity: 1;
1837
+ visibility: visible;
1838
+ }
1839
+
1840
+ .hh-mega-panel {
1841
+ position: static;
1842
+ width: 100%;
1843
+ opacity: 1;
1844
+ visibility: visible;
1845
+ transform: none;
1846
+ box-shadow: none;
1847
+ border: none;
1848
+ padding: 12px 0 0;
1849
+ }
1850
+
1851
+ .hh-mega-grid {
1852
+ grid-template-columns: 1fr;
1853
+ }
1854
+
1855
+ .hh-quick-search-btn__text,
1856
+ .hh-quick-search-btn kbd {
1857
+ display: none;
1858
+ }
1859
+
1860
+ .hh-spotlight {
1861
+ padding: 20px;
1862
+ }
1863
+
1864
+ .hh-unscrambler-card {
1865
+ padding: 20px;
1866
+ }
1867
+
1868
+ .hh-unscrambler-form {
1869
+ flex-direction: column;
1870
+ }
1871
+
1872
+ .hh-faq-container {
1873
+ padding: 24px 18px;
1874
+ }
1875
+
1876
+ .hh-features-grid {
1877
+ grid-template-columns: 1fr;
1878
+ }
1879
+ }