word-games-theme 3.3.8 → 3.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,189 @@
1
+ /* Blog listing, v2 look. Scoped to .wg-blog so it never touches other pages. */
2
+ .wg-blog .wg-blog__hero { background: var(--wg-hero); color: #fff; padding: 56px 0 64px; border-radius: 0 0 var(--wg-r-lg) var(--wg-r-lg); }
3
+ .wg-blog .wg-blog__hero h1 { margin: 0 0 10px; font-size: clamp(32px, 5vw, 48px); font-weight: 900; line-height: 1.1; letter-spacing: -0.01em; color: #fff; }
4
+ .wg-blog .wg-blog__hero p { margin: 0; max-width: 62ch; font-size: clamp(16px, 2vw, 19px); line-height: 1.55; color: rgba(255, 255, 255, .88); }
5
+ .wg-blog .wg-blog__body { padding-top: 40px; }
6
+ .wg-blog .wg-blog__intro { margin-bottom: 28px; color: var(--wg-muted); line-height: 1.7; }
7
+
8
+ .wg-blog .wg-blog__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
9
+ .wg-blog .wg-blog-card { display: flex; flex-direction: column; overflow: hidden; background: var(--wg-surface); border: 1px solid var(--wg-line); border-radius: var(--wg-r); box-shadow: var(--wg-sh-1); transition: transform .18s, box-shadow .18s, border-color .18s; }
10
+ .wg-blog .wg-blog-card:hover { transform: translateY(-3px); box-shadow: var(--wg-sh-2); border-color: #d8b4fe; }
11
+ .wg-blog .wg-blog-card__main { display: flex; flex: 1; flex-direction: column; color: inherit; text-decoration: none; }
12
+ .wg-blog .wg-blog-card__head { position: relative; display: flex; flex-direction: column; justify-content: space-between; gap: 14px; min-height: 176px; padding: 20px 22px; overflow: hidden; background: linear-gradient(145deg, var(--b1), var(--b2)); color: #fff; }
13
+ .wg-blog .wg-blog-card__head::before { content: ""; position: absolute; inset: 0; background: radial-gradient(120% 80% at 90% 0%, rgba(255, 255, 255, .3), transparent 60%), radial-gradient(rgba(255, 255, 255, .16) 1.2px, transparent 1.4px) 0 0 / 16px 16px; }
14
+ .wg-blog .wg-blog-card__head > * { position: relative; }
15
+ .wg-blog .wg-blog-card__head--0 { --b1: #7c3aed; --b2: #5b21b6; }
16
+ .wg-blog .wg-blog-card__head--1 { --b1: #22c55e; --b2: #15803d; }
17
+ .wg-blog .wg-blog-card__head--2 { --b1: #6366f1; --b2: #4338ca; }
18
+ .wg-blog .wg-blog-card__head--3 { --b1: #db2777; --b2: #9d174d; }
19
+ .wg-blog .wg-blog-card__head--4 { --b1: #0d9488; --b2: #0f766e; }
20
+ .wg-blog .wg-blog-card__head--5 { --b1: #d97706; --b2: #b45309; }
21
+ .wg-blog .wg-blog-card__tag { align-self: flex-start; padding: 4px 10px; border-radius: 999px; background: rgba(255, 255, 255, .2); color: #fff; font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
22
+ .wg-blog .wg-blog-card h2 { margin: 0; font-size: 22px; font-weight: 900; line-height: 1.25; color: #fff; overflow-wrap: anywhere; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
23
+ .wg-blog .wg-blog-card__body { display: flex; flex: 1; flex-direction: column; gap: 14px; padding: 18px 22px 16px; }
24
+ .wg-blog .wg-blog-card p { margin: 0; font-size: 15px; line-height: 1.6; color: var(--wg-muted); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
25
+ .wg-blog .wg-blog-card__more { margin-top: auto; font-size: 14px; font-weight: 800; color: var(--wg-primary); }
26
+ .wg-blog .wg-blog-card:hover .wg-blog-card__more { text-decoration: underline; text-underline-offset: 3px; }
27
+ .wg-blog .wg-blog-card__meta { display: flex; align-items: center; gap: 12px; padding: 14px 22px 18px; border-top: 1px solid var(--wg-line); }
28
+ .wg-blog .wg-blog-card__meta img { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; flex: none; }
29
+ .wg-blog .wg-blog-card__meta span { display: flex; flex-direction: column; min-width: 0; line-height: 1.3; }
30
+ .wg-blog .wg-blog-card__meta b { font-size: 14px; font-weight: 800; color: var(--wg-text); text-transform: capitalize; }
31
+ .wg-blog .wg-blog-card__meta time { font-size: 13px; color: var(--wg-muted); }
32
+
33
+ .wg-blog .wg-blog__pager { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 40px 0 0; }
34
+ .wg-blog .wg-blog__pg { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0 14px; border: 1px solid var(--wg-line); border-radius: 12px; background: var(--wg-surface); color: var(--wg-text); font-weight: 800; text-decoration: none; transition: background .15s, color .15s, border-color .15s; }
35
+ .wg-blog a.wg-blog__pg:hover { background: var(--wg-primary-soft); border-color: #d8b4fe; color: var(--wg-primary); }
36
+ .wg-blog .wg-blog__pg.is-current { background: var(--wg-primary); border-color: var(--wg-primary); color: #fff; }
37
+ .wg-blog .wg-blog__pg.is-off { opacity: .45; }
38
+
39
+ @media (max-width: 991.98px) { .wg-blog .wg-blog__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; } }
40
+ @media (max-width: 575.98px) {
41
+ .wg-blog .wg-blog__hero { padding: 36px 0 44px; }
42
+ .wg-blog .wg-blog__grid { grid-template-columns: 1fr; }
43
+ .wg-blog .wg-blog__pg--nav { flex: 1 1 40%; }
44
+ }
45
+ @media (prefers-color-scheme: dark) { .wg-blog .wg-blog__hero { color: #fff; } }
46
+
47
+ /* ---------- Single post (wordgames-post-v2) ---------- */
48
+ .wg-post .wg-post__hero { padding: 40px 0 48px; }
49
+ .wg-post .wg-post__crumbs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; font-size: 14px; font-weight: 700; color: rgba(255, 255, 255, .75); }
50
+ .wg-post .wg-post__crumbs a { color: #fff; text-decoration: none; }
51
+ .wg-post .wg-post__crumbs a:hover { text-decoration: underline; }
52
+ .wg-post .wg-post__hero h1 { max-width: 24ch; font-size: clamp(28px, 4.6vw, 44px); overflow-wrap: anywhere; }
53
+ .wg-post .wg-post__byline { display: flex; align-items: center; gap: 12px; margin-top: 20px; }
54
+ .wg-post .wg-post__byline img { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; border: 2px solid rgba(255, 255, 255, .6); }
55
+ .wg-post .wg-post__byline span { display: flex; flex-direction: column; line-height: 1.3; color: rgba(255, 255, 255, .85); font-size: 14px; }
56
+ .wg-post .wg-post__byline b { color: #fff; font-size: 15px; font-weight: 800; text-transform: capitalize; }
57
+
58
+ .wg-post .wg-post__layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 40px; align-items: start; padding-top: 40px; }
59
+ .wg-post .wg-post__article { min-width: 0; }
60
+ .wg-post .wg-post__content { padding: 32px 36px; background: var(--wg-surface); border: 1px solid var(--wg-line); border-radius: var(--wg-r); box-shadow: var(--wg-sh-1); font-size: 17px; line-height: 1.8; color: var(--wg-text); overflow-wrap: anywhere; }
61
+ .wg-post .wg-post__content > :first-child { margin-top: 0; }
62
+ .wg-post .wg-post__content > :last-child { margin-bottom: 0; }
63
+ .wg-post .wg-post__content p { margin: 0 0 1.25em; }
64
+ .wg-post .wg-post__content h2, .wg-post .wg-post__content h3, .wg-post .wg-post__content h4 { margin: 1.8em 0 .6em; font-weight: 800; line-height: 1.3; color: var(--wg-text); }
65
+ .wg-post .wg-post__content h2 { font-size: 26px; }
66
+ .wg-post .wg-post__content h3 { font-size: 21px; }
67
+ .wg-post .wg-post__content a { color: var(--wg-primary); text-decoration: underline; text-underline-offset: 3px; }
68
+ .wg-post .wg-post__content img { max-width: 100%; height: auto; border-radius: var(--wg-r-sm); }
69
+ .wg-post .wg-post__content ul, .wg-post .wg-post__content ol { margin: 0 0 1.25em; padding-left: 1.4em; }
70
+ .wg-post .wg-post__content li { margin-bottom: .4em; }
71
+ .wg-post .wg-post__content blockquote { margin: 1.5em 0; padding: 12px 20px; border-left: 4px solid var(--wg-primary-2); background: var(--wg-primary-soft); border-radius: 0 var(--wg-r-sm) var(--wg-r-sm) 0; color: var(--wg-text); }
72
+ .wg-post .wg-post__content table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; margin: 0 0 1.25em; }
73
+ .wg-post .wg-post__content th, .wg-post .wg-post__content td { padding: 8px 12px; border: 1px solid var(--wg-line); }
74
+ .wg-post .wg-post__content pre { overflow-x: auto; padding: 14px 16px; border-radius: var(--wg-r-sm); background: var(--wg-surface-2); }
75
+
76
+ .wg-post .wg-post__author { display: flex; gap: 18px; margin-top: 28px; padding: 22px 24px; background: var(--wg-surface); border: 1px solid var(--wg-line); border-radius: var(--wg-r); box-shadow: var(--wg-sh-1); }
77
+ .wg-post .wg-post__author img { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; flex: none; }
78
+ .wg-post .wg-post__author h2 { margin: 0 0 6px; font-size: 18px; font-weight: 800; text-transform: capitalize; }
79
+ .wg-post .wg-post__author p { margin: 0 0 12px; font-size: 15px; line-height: 1.6; color: var(--wg-muted); }
80
+ .wg-post .wg-post__author .wg-btn { min-height: 40px; padding: 0 16px; }
81
+
82
+ .wg-post .wg-post__nav { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 28px; }
83
+ .wg-post .wg-post__navlink { display: flex; flex-direction: column; gap: 4px; padding: 16px 18px; background: var(--wg-surface); border: 1px solid var(--wg-line); border-radius: var(--wg-r); color: var(--wg-text); text-decoration: none; transition: border-color .15s, box-shadow .15s; }
84
+ .wg-post .wg-post__navlink:hover { border-color: #d8b4fe; box-shadow: var(--wg-sh-2); }
85
+ .wg-post .wg-post__navlink small { font-size: 13px; font-weight: 800; color: var(--wg-primary); }
86
+ .wg-post .wg-post__navlink span { font-weight: 700; line-height: 1.35; }
87
+ .wg-post .wg-post__navlink--next { text-align: right; grid-column: 2; }
88
+
89
+ .wg-post .wg-post__side { position: sticky; top: 88px; display: flex; flex-direction: column; gap: 18px; }
90
+ .wg-post .wg-post__card { padding: 20px 22px; background: var(--wg-surface); border: 1px solid var(--wg-line); border-radius: var(--wg-r); box-shadow: var(--wg-sh-1); }
91
+ .wg-post .wg-post__card h2 { margin: 0 0 14px; font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--wg-muted); }
92
+ .wg-post .wg-post__share, .wg-post .wg-post__people { display: flex; flex-wrap: wrap; gap: 10px; }
93
+ .wg-post .wg-post__share a { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid var(--wg-line); border-radius: 12px; background: var(--wg-surface); transition: background .15s, border-color .15s; }
94
+ .wg-post .wg-post__share a:hover { background: var(--wg-primary-soft); border-color: #d8b4fe; }
95
+ .wg-post .wg-post__people img { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; }
96
+ .wg-post .wg-post__count { display: inline-block; margin-left: 4px; min-width: 22px; padding: 1px 6px; border-radius: 999px; background: var(--wg-primary-soft); color: var(--wg-primary); text-align: center; letter-spacing: 0; }
97
+ .wg-post .wg-post__links { margin: 0; padding: 0; list-style: none; }
98
+ .wg-post .wg-post__links a { display: block; padding: 8px 0; border-bottom: 1px solid var(--wg-line); font-size: 14.5px; font-weight: 600; color: var(--wg-text); text-decoration: none; text-transform: capitalize; }
99
+ .wg-post .wg-post__links li:last-child a { border-bottom: 0; }
100
+ .wg-post .wg-post__links a:hover { color: var(--wg-primary); }
101
+ .wg-post .wg-post__more { padding-top: 56px; }
102
+
103
+ @media (max-width: 991.98px) {
104
+ .wg-post .wg-post__layout { grid-template-columns: minmax(0, 1fr); gap: 28px; }
105
+ .wg-post .wg-post__side { position: static; }
106
+ }
107
+ @media (max-width: 575.98px) {
108
+ .wg-post .wg-post__hero { padding: 28px 0 36px; }
109
+ .wg-post .wg-post__content { padding: 22px 18px; font-size: 16px; }
110
+ .wg-post .wg-post__author { flex-direction: column; }
111
+ .wg-post .wg-post__nav { grid-template-columns: 1fr; }
112
+ .wg-post .wg-post__navlink--next { grid-column: auto; text-align: left; }
113
+ }
114
+
115
+ /* home page "Recent posts" block */
116
+ .wg-home .wg-recent { margin-top: var(--wg-gap); }
117
+ .wg-home .wg-recent .wg-recent__all { min-height: 44px; padding: 0 18px; white-space: nowrap; }
118
+ @media (max-width: 575.98px) { .wg-home .wg-recent .wg-section__head { flex-direction: column; align-items: flex-start; } }
119
+
120
+ /* ---------- Static pages (about, contact, privacy, terms, disclaimer) ---------- */
121
+ .wg-static .wg-static__hero { padding: 44px 0 52px; }
122
+ .wg-static .wg-static__wrap { padding-top: 36px; }
123
+ .wg-static .wg-static__content { max-width: 860px; margin: 0 auto; padding: 32px 36px; background: var(--wg-surface); border: 1px solid var(--wg-line); border-radius: var(--wg-r); box-shadow: var(--wg-sh-1); font-size: 16.5px; line-height: 1.8; color: var(--wg-text); overflow-wrap: anywhere; }
124
+ .wg-static .wg-static__content > :first-child { margin-top: 0; }
125
+ .wg-static .wg-static__content p { margin: 0 0 1.1em; }
126
+ .wg-static .wg-static__content h3 { margin: 1.8em 0 .5em; font-size: 18px; font-weight: 800; letter-spacing: .02em; line-height: 1.35; color: var(--wg-primary); }
127
+ .wg-static .wg-static__content a { color: var(--wg-primary); text-underline-offset: 3px; }
128
+ .wg-static .wg-static__content .py-3 { padding: 0; }
129
+ .wg-static .wg-static__lead { font-size: 19px; line-height: 1.65; color: var(--wg-text); }
130
+
131
+ .wg-static .wg-static__stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 14px; margin-top: 28px; }
132
+ .wg-static .wg-static__stat { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 20px 12px; text-align: center; background: var(--wg-surface-2); border: 1px solid var(--wg-line); border-radius: var(--wg-r); color: var(--wg-text); text-decoration: none !important; transition: transform .15s, border-color .15s; }
133
+ .wg-static a.wg-static__stat:hover { transform: translateY(-2px); border-color: #d8b4fe; }
134
+ .wg-static .wg-static__stat b { font-size: 28px; font-weight: 900; line-height: 1.1; color: var(--wg-primary); }
135
+ .wg-static .wg-static__stat > span:last-child { font-size: 14px; font-weight: 700; color: var(--wg-muted); }
136
+ .wg-static .wg-static__stat-ico { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 14px; background: var(--wg-primary-soft); color: var(--wg-primary); }
137
+ .wg-static .wg-static__stat-ico .wg-ico { width: 22px; height: 22px; }
138
+
139
+ .wg-static .wg-static__contact { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 24px; }
140
+ .wg-static .wg-static__contact-card { padding: 22px; background: var(--wg-surface-2); border: 1px solid var(--wg-line); border-radius: var(--wg-r); }
141
+ .wg-static .wg-static__contact-card h3 { margin: 0 0 8px; font-size: 18px; color: var(--wg-text); }
142
+ .wg-static .wg-static__contact-card p { margin-bottom: 14px; color: var(--wg-muted); }
143
+ .wg-static .wg-static__contact-card ul { margin: 0; padding-left: 1.2em; }
144
+ .wg-static .wg-static__contact-card .wg-btn { max-width: 100%; text-decoration: none; overflow-wrap: anywhere; }
145
+
146
+ @media (max-width: 767.98px) {
147
+ .wg-static .wg-static__content { padding: 22px 18px; font-size: 16px; }
148
+ .wg-static .wg-static__contact { grid-template-columns: 1fr; }
149
+ }
150
+
151
+ /* ---------- Authors list (wordgames-authors-v2) ---------- */
152
+ .wg-authors .wg-authors__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
153
+ .wg-authors .wg-author-card { background: var(--wg-surface); border: 1px solid var(--wg-line); border-radius: var(--wg-r); box-shadow: var(--wg-sh-1); transition: transform .18s, box-shadow .18s, border-color .18s; }
154
+ .wg-authors .wg-author-card:hover { transform: translateY(-3px); box-shadow: var(--wg-sh-2); border-color: #d8b4fe; }
155
+ .wg-authors .wg-author-card__link { display: flex; flex-direction: column; align-items: center; gap: 10px; height: 100%; padding: 28px 24px 22px; color: inherit; text-align: center; text-decoration: none; }
156
+ .wg-authors .wg-author-card__img { width: 96px; height: 96px; margin-bottom: 4px; border-radius: 50%; object-fit: cover; border: 4px solid var(--wg-primary-soft); box-shadow: 0 0 0 1px var(--wg-line); }
157
+ .wg-authors .wg-author-card h2 { margin: 0; font-size: 20px; font-weight: 900; color: var(--wg-text); }
158
+ .wg-authors .wg-author-card__count { padding: 3px 10px; border-radius: 999px; background: var(--wg-primary-soft); color: var(--wg-primary); font-size: 13px; font-weight: 800; }
159
+ .wg-authors .wg-author-card p { margin: 4px 0 0; font-size: 15px; line-height: 1.6; color: var(--wg-muted); display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
160
+ .wg-authors .wg-author-card__more { margin-top: auto; padding-top: 8px; font-size: 14px; font-weight: 800; color: var(--wg-primary); }
161
+ .wg-authors .wg-author-card:hover .wg-author-card__more { text-decoration: underline; text-underline-offset: 3px; }
162
+
163
+ @media (max-width: 991.98px) { .wg-authors .wg-authors__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; } }
164
+ @media (max-width: 575.98px) { .wg-authors .wg-authors__grid { grid-template-columns: 1fr; } }
165
+
166
+ /* ---------- Single author (wordgames-author-v2) ---------- */
167
+ .wg-author .wg-author__hero { padding: 40px 0 48px; }
168
+ .wg-author .wg-author__intro { display: flex; align-items: center; gap: 28px; }
169
+ .wg-author .wg-author__img { flex: none; width: 140px; height: 140px; border-radius: 50%; object-fit: cover; border: 4px solid rgba(255, 255, 255, .7); box-shadow: 0 12px 30px -12px rgba(0, 0, 0, .45); }
170
+ .wg-author .wg-author__hero h1 { margin-bottom: 8px; }
171
+ .wg-author .wg-author__hero p { max-width: 70ch; font-size: 17px; }
172
+ .wg-author .wg-author__stats { display: flex; flex-wrap: wrap; gap: 10px; margin: 16px 0 0; padding: 0; list-style: none; }
173
+ .wg-author .wg-author__stats li { padding: 6px 14px; border-radius: 999px; background: rgba(255, 255, 255, .16); color: #fff; font-size: 14px; font-weight: 700; }
174
+ .wg-author .wg-author__stats b { font-weight: 900; }
175
+ .wg-author .wg-author__stats a { color: #fff; text-decoration: none; }
176
+ .wg-author .wg-author__stats a:hover { text-decoration: underline; }
177
+ .wg-author .wg-author__section + .wg-author__section { margin-top: 40px; }
178
+ .wg-author .wg-author__heading { margin: 0 0 18px; font-size: 24px; font-weight: 900; color: var(--wg-text); }
179
+ .wg-author .wg-author__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
180
+ .wg-author .wg-author__empty { padding: 24px; border: 1px dashed var(--wg-line); border-radius: var(--wg-r); color: var(--wg-muted); text-align: center; }
181
+
182
+ @media (max-width: 991.98px) { .wg-author .wg-author__side { position: static; } }
183
+ @media (max-width: 575.98px) {
184
+ .wg-author .wg-author__hero { padding: 28px 0 36px; }
185
+ .wg-author .wg-author__intro { flex-direction: column; align-items: flex-start; gap: 18px; }
186
+ .wg-author .wg-author__img { width: 104px; height: 104px; }
187
+ .wg-author .wg-author__hero p { font-size: 16px; }
188
+ .wg-author .wg-author__grid { grid-template-columns: 1fr; }
189
+ }
@@ -2009,6 +2009,8 @@ summary::-webkit-details-marker {
2009
2009
  .wg-home .wg-footer .wg-logo-svg .st1 {
2010
2010
  fill: #ffffff !important;
2011
2011
  }
2012
+ .wg-home .wg-footer .wg-logo-svg .wg-logo-with { fill: #a59fc0; }
2013
+ .wg-home .wg-footer .wg-logo-svg .wg-logo-accent { fill: #d8b4fe; }
2012
2014
  .wg-home .wg-menu__btn, .wg-home .wg-menu__link {
2013
2015
  color: #1e1b2e !important;
2014
2016
  white-space: nowrap;
@@ -2700,6 +2702,7 @@ html.wg-searching .wg-home #containerWd .pad:has(.wordCount:empty) { padding-top
2700
2702
  display: flex; align-items: center; gap: 8px; margin: 0 0 14px; font-size: 11.5px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: #7c6f92;
2701
2703
  }
2702
2704
  .wg-home .wg-mega__title::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #b641da; flex: none; }
2705
+ .wg-home .wg-mega .wg-mega__title--sub { margin: 22px 0 10px; padding-top: 18px; border-top: 1px solid #f0e8fb; }
2703
2706
  .wg-home .wg-mega a { text-decoration: none; transition: background .15s, border-color .15s, color .15s, box-shadow .15s, transform .15s; }
2704
2707
 
2705
2708
  /* solver cards */
@@ -2729,21 +2732,46 @@ html.wg-searching .wg-home #containerWd .pad:has(.wordCount:empty) { padding-top
2729
2732
  background: #fff; border: 1px solid #efe7ff; border-top: 0; border-radius: 0 0 22px 22px;
2730
2733
  box-shadow: 0 38px 60px -30px rgba(44, 10, 90, .4);
2731
2734
  }
2735
+ /* every panel is capped to the Game Solvers height; taller ones scroll */
2736
+ .wg-home .wg-mega { max-height: min(640px, calc(100vh - 120px)); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #d8b4fe transparent; }
2737
+ .wg-home .wg-mega::-webkit-scrollbar { width: 8px; }
2738
+ .wg-home .wg-mega::-webkit-scrollbar-thumb { background: #d8b4fe; border-radius: 8px; }
2732
2739
  .wg-home .wg-mega__inner { gap: 0; padding: 0; }
2733
2740
  .wg-home .wg-mega__col { padding: 26px 28px 28px; }
2734
2741
  .wg-home .wg-mega__col + .wg-mega__col { border-left: 1px solid #f1eafc; }
2735
2742
  .wg-home .wg-mega__inner--solvers { grid-template-columns: 1.7fr 1fr 1.05fr; }
2736
2743
  .wg-home .wg-mega__inner--daily { grid-template-columns: 1fr 1fr 300px; }
2744
+ .wg-home .wg-mega__inner--cheats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
2745
+ .wg-home .wg-mega__inner--lists { grid-template-columns: 1fr 1fr 1.3fr 1fr; }
2737
2746
  .wg-home .wg-mega .wg-mega__promo { margin: 18px 18px 18px 6px; }
2747
+ /* Word Lists is the tallest panel: tighter rows + a higher cap so nothing is cut at laptop heights */
2748
+ .wg-home #mm-lists.wg-mega { max-height: min(780px, calc(100vh - 90px)); }
2749
+ .wg-home #mm-lists .wg-mega__col { padding-top: 22px; padding-bottom: 22px; }
2750
+ .wg-home #mm-lists .wg-mega__link { min-height: 34px; padding-top: 4px; padding-bottom: 4px; font-size: 14.5px; }
2751
+ .wg-home #mm-lists .wg-mega__title--sub { margin: 14px 0 8px; padding-top: 14px; }
2738
2752
  .wg-home .wg-mega__nums { gap: 8px; }
2739
2753
 
2740
2754
  /* the two short menus open as compact panels under their own trigger */
2741
- .wg-home .wg-menu__item:has(#mm-games),
2742
2755
  .wg-home .wg-menu__item:has(#mm-cross) { position: relative; }
2743
- .wg-home #mm-games.wg-mega, .wg-home #mm-cross.wg-mega { left: 0; right: auto; width: min(560px, 92vw); border-top: 1px solid #efe7ff; border-radius: 0 0 22px 22px; }
2744
- .wg-home #mm-games .wg-mega__games--3, .wg-home #mm-cross .wg-mega__games--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
2756
+ .wg-home #mm-cross.wg-mega { left: 0; right: auto; width: min(560px, 92vw); border-top: 1px solid #efe7ff; border-radius: 0 0 22px 22px; }
2757
+ .wg-home #mm-cross .wg-mega__games--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
2745
2758
  }
2746
2759
 
2760
+ /* small laptops: tighter columns so Word Lists labels stay on one line */
2761
+ @media (min-width: 992px) and (max-width: 1199.98px) {
2762
+ .wg-home .wg-mega__col { padding-left: 18px; padding-right: 18px; }
2763
+ .wg-home #mm-lists .wg-mega__link { font-size: 13.5px; padding-left: 6px; padding-right: 6px; }
2764
+ .wg-home .wg-mega__inner--lists { grid-template-columns: 1fr 1fr 1.25fr .95fr; }
2765
+ }
2766
+
2767
+ /* 992-1099px: the 6 menu items + logo overflowed the bar by ~45px */
2768
+ @media (min-width: 992px) and (max-width: 1099.98px) {
2769
+ .wg-home .wg-menu__btn, .wg-home .wg-menu__link { padding: 0 8px; gap: 4px; font-size: 14px; }
2770
+ }
2771
+
2772
+ /* long raw URLs inside FAQ answers must wrap on narrow phones */
2773
+ .wg-home .faqs .faq-answer a { overflow-wrap: anywhere; }
2774
+
2747
2775
  /* phones/tablets: drawer is white, so links must be dark */
2748
2776
  @media (max-width: 991.98px) {
2749
2777
  .wg-home .wg-mega { background: transparent; box-shadow: none; border: 0; padding: 0 0 8px; }
@@ -2751,6 +2779,7 @@ html.wg-searching .wg-home #containerWd .pad:has(.wordCount:empty) { padding-top
2751
2779
  .wg-home .wg-mega a { color: #1e1b2e !important; }
2752
2780
  .wg-home .wg-mega a:hover { background: #faf5ff; color: #6d28d9 !important; }
2753
2781
  .wg-home .wg-mega__title { margin: 6px 8px 8px; color: #7c6f92; }
2782
+ .wg-home .wg-mega .wg-mega__title--sub { margin: 14px 8px 8px; padding-top: 14px; }
2754
2783
  .wg-home .wg-mega .wg-mega__card { border: 0; border-radius: 10px; padding: 10px 12px; min-height: 44px; box-shadow: none; }
2755
2784
  .wg-home .wg-mega .wg-mega__link::after { display: none; }
2756
2785
  .wg-home .wg-mega .wg-mega__link { justify-content: flex-start; }
@@ -0,0 +1,152 @@
1
+ /* ---------- Tool pages (v2): hero + tool card ---------- */
2
+ /* loaded after the tool's own css (wordle-solver.css / wordgames-game.css) so these rules win */
3
+ .wg-tools .wg-hero .pageHeading { padding-bottom: 132px !important; }
4
+ .wg-tools .wg-tool { position: relative; z-index: 2; margin-top: -108px; }
5
+ .wg-tools .wg-tool__card { max-width: 920px; margin: 0 auto; padding: 32px; }
6
+ .wg-tools .wg-tool__card > .container,
7
+ .wg-tools .wg-tool__card > .row { width: 100%; max-width: 100%; margin: 0; padding: 0; }
8
+ .wg-tools .wg-tool__card label { margin: 0; }
9
+ /* .footer-section is only a JS hook around the v2 footer; drop the v1 footer styling */
10
+ .wg-tools .footer-section { margin: 0; padding: 0; background: none; }
11
+ /* pages without an h1 (e.g. the shared wordle game) skip the hero */
12
+ .wg-tools .wg-tool--plain { margin-top: 32px; }
13
+
14
+ @media (max-width: 767.98px) {
15
+ .wg-tools .wg-hero .pageHeading { padding-bottom: 116px !important; }
16
+ .wg-tools .wg-tool { margin-top: -92px; }
17
+ .wg-tools .wg-tool__card { padding: 22px 16px; border-radius: 22px; }
18
+ }
19
+
20
+ /* shared button look */
21
+ .wg-tools .wordlesolver-btn,
22
+ .wg-tools .create-wordle .generate-word-game-link,
23
+ .wg-tools .game-play-btn,
24
+ .wg-tools .copy-btn,
25
+ .wg-tools .refineSerach {
26
+ display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: auto; min-width: 180px; height: 52px; padding: 0 28px;
27
+ border: 0; border-radius: 14px; box-shadow: 0 10px 22px -10px rgba(245, 158, 11, .85);
28
+ background: var(--wg-accent); color: var(--wg-on-accent); font-size: 16px; font-weight: 800; letter-spacing: .01em;
29
+ transition: background .15s, transform .15s, box-shadow .15s;
30
+ }
31
+ .wg-tools .wordlesolver-btn:hover,
32
+ .wg-tools .create-wordle .generate-word-game-link:hover,
33
+ .wg-tools .game-play-btn:hover,
34
+ .wg-tools .copy-btn:hover,
35
+ .wg-tools .refineSerach:hover { background: var(--wg-accent-hover); color: var(--wg-on-accent) !important; transform: translateY(-1px); }
36
+ .wg-tools .wordlesolver-btn:focus-visible,
37
+ .wg-tools .generate-word-game-link:focus-visible,
38
+ .wg-tools .game-play-btn:focus-visible,
39
+ .wg-tools .copy-btn:focus-visible { outline: 3px solid var(--wg-ring); outline-offset: 2px; }
40
+
41
+ /* ---------- Wordle solver ---------- */
42
+ .wg-tools .ws { padding: 0; }
43
+ .wg-tools .ws .forms_data { width: 100%; padding: 0; border: 0; border-radius: 0; box-shadow: none; }
44
+ .wg-tools .ws .form-group { margin: 0 0 22px; }
45
+ .wg-tools .forms_data .wordleSolver-label { display: block; margin: 0 0 10px !important; color: var(--wg-text); font-size: 15px; font-weight: 800; }
46
+ .wg-tools .ws .forms_data .col-md-6,
47
+ .wg-tools .ws .forms_data .col-md-4 { flex: none; width: auto; max-width: none; margin: 0 auto !important; }
48
+ .wg-tools .ws .forms_data .d-flex { justify-content: center; gap: 8px; }
49
+ .wg-tools .ws .form-group.text-right { margin: 6px 0 0; text-align: center !important; }
50
+ .wg-tools .ws .wordlesolver-btn { margin-top: 0 !important; }
51
+
52
+ .wg-tools .forms_data .wordleSolver-field {
53
+ width: 56px; height: 56px; margin: 0 !important; border-width: 2px; border-radius: 12px;
54
+ color: var(--wg-text); font-size: 26px; font-weight: 900; line-height: 1;
55
+ transition: border-color .15s, box-shadow .15s, background .15s;
56
+ }
57
+ .wg-tools .forms_data .greenLetters { border-color: #22c55e !important; background: #f0fdf4; }
58
+ .wg-tools .forms_data .yellowLetters { border-color: #eab308 !important; background: #fefce8; }
59
+ .wg-tools .forms_data .greyLetters { border-color: #a1a1aa !important; background: #f4f4f5; }
60
+ .wg-tools .forms_data .wordleSolver-field:focus { box-shadow: 0 0 0 4px var(--wg-ring) !important; }
61
+ .wg-tools .ws-fcs { background-color: #16a34a !important; border-color: #16a34a !important; }
62
+ .wg-tools .ws-fcs2 { background-color: #ca8a04 !important; border-color: #ca8a04 !important; }
63
+ .wg-tools .ws-fcs3 { background-color: #3f3f46 !important; border-color: #3f3f46 !important; }
64
+
65
+ .wg-tools .createWordleLink {
66
+ display: flex; align-items: center; justify-content: center; width: fit-content; max-width: 100%; margin: 8px auto 0; padding: 12px 22px;
67
+ border: 1.5px solid var(--wg-primary); border-radius: 999px; box-shadow: none;
68
+ background: var(--wg-primary-soft); color: var(--wg-primary) !important; font-size: 15px; font-weight: 800; text-decoration: none;
69
+ transition: background .15s, color .15s;
70
+ }
71
+ .wg-tools .createWordleLink .text-black { color: inherit !important; }
72
+ .wg-tools .createWordleLink:hover { background: var(--wg-primary); color: #fff !important; }
73
+ /* hidden until wordleSolver.js sets display:block after a search */
74
+ .wg-tools .refineSerach { display: none; width: fit-content; line-height: 52px; margin: 18px auto 0; background: #16a34a; color: #fff; box-shadow: 0 10px 22px -10px rgba(22, 163, 74, .8); }
75
+ .wg-tools .refineSerach:hover { background: #15803d; color: #fff !important; }
76
+
77
+ .wg-tools #wordleWordCount { margin: 18px 0 6px; color: var(--wg-text); font-size: 18px; font-weight: 800; text-align: center; }
78
+ .wg-tools #wordleSolverData { display: block; }
79
+ .wg-tools #wordleSolvererrorMsg:empty { display: none; }
80
+ .wg-tools .allfiveletterswords,
81
+ .wg-tools .allGroupWords {
82
+ width: 100%; margin: 14px 0; padding: 14px; background: #fff !important; border: 1px solid #efe3ff; border-radius: 18px;
83
+ box-shadow: 0 10px 28px -18px rgba(44, 10, 90, .35);
84
+ }
85
+ .wg-tools .allfiveletterswords > .wordListHeading {
86
+ margin: 0 0 14px; padding: 12px 18px; border-radius: 12px; background: linear-gradient(135deg, #4c1d95, #7e22ce 60%, #b641da); color: #fff;
87
+ }
88
+ .wg-tools .allfiveletterswords > .wordListHeading * { color: #fff !important; margin: 0; font-size: 17px; font-weight: 800; }
89
+ .wg-tools .wordList > ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
90
+ .wg-tools .wordList > ul li {
91
+ min-width: 96px; margin: 0; padding: 8px 12px; border: 1.5px solid #ead7ff !important; border-radius: 10px;
92
+ background: #fdfaff; box-shadow: none !important; transition: border-color .15s, background .15s, transform .15s;
93
+ }
94
+ .wg-tools .wordList > ul li:hover { border-color: #b641da !important; background: #faf0ff; transform: translateY(-1px); }
95
+ .wg-tools .wordList .anchor__style { color: var(--wg-text) !important; font-weight: 800; letter-spacing: .04em; }
96
+
97
+ @media (max-width: 767.98px) {
98
+ .wg-tools .ws .forms_data .d-flex { gap: 6px; }
99
+ .wg-tools .forms_data .wordleSolver-field { width: 46px; height: 46px; font-size: 22px; border-radius: 10px; }
100
+ .wg-tools .allfiveletterswords, .wg-tools #wordleWordCount { width: 100%; }
101
+ .wg-tools .wordList > ul li { flex: 1 1 calc(33.333% - 8px); min-width: 0; }
102
+ }
103
+
104
+ /* ---------- Word game generator ---------- */
105
+ .wg-tools .create-wordle { margin: 0; padding: 8px 0; border: 0; border-radius: 0; box-shadow: none; background: transparent; }
106
+ .wg-tools .tools-feature > .row > .col-md-6 { flex: none; width: 100%; max-width: 520px; margin: 0 auto; padding: 0; }
107
+ .wg-tools .create-wordle h3 { margin: 0 0 6px !important; color: var(--wg-text); font-size: clamp(22px, 3vw, 28px); font-weight: 900; }
108
+ .wg-tools .create-wordle .custom-word {
109
+ width: 100%; height: 64px; margin: 18px 0 14px; border: 2px solid var(--wg-line); border-radius: 16px; box-shadow: none;
110
+ color: var(--wg-text); font-size: 26px; font-weight: 900; letter-spacing: .35em; text-indent: .35em;
111
+ transition: border-color .15s, box-shadow .15s;
112
+ }
113
+ .wg-tools .create-wordle .custom-word::placeholder { color: var(--wg-muted); font-size: 16px; font-weight: 600; letter-spacing: normal; text-transform: none; }
114
+ .wg-tools .create-wordle .custom-word:focus { border-color: var(--wg-primary); box-shadow: 0 0 0 4px var(--wg-ring); }
115
+ .wg-tools .create-wordle .generate-word-game-link { width: 100%; margin: 0; cursor: pointer; }
116
+
117
+ /* toast: only padded while the JS shows it (.active-alert), so the empty box stays invisible */
118
+ .wg-tools .alert-container { border-radius: 12px; background: var(--wg-header); box-shadow: var(--wg-sh-2); font-weight: 700; }
119
+ .wg-tools .alert-container.active-alert { width: auto; padding: 12px 18px; visibility: visible; }
120
+ .wg-tools .alert-container:not(.active-alert) { visibility: hidden; }
121
+
122
+ /* share modal */
123
+ .wg-tools .word-game .modal-dialog { max-width: 560px !important; padding: 0 16px; }
124
+ .wg-tools .word-game .modal-content { border: 0; border-radius: var(--wg-r-lg); background: var(--wg-surface); box-shadow: var(--wg-sh-3); }
125
+ .wg-tools .word-game .modal-header { padding: 12px 16px 0 !important; }
126
+ .wg-tools .word-game .times-icon { color: var(--wg-muted); font-size: 32px; line-height: 1; }
127
+ .wg-tools .word-game .modal-body { padding: 8px 28px 32px !important; }
128
+ .wg-tools .wordle-game-link {
129
+ width: 100%; height: auto; min-height: 72px; padding: 14px 16px; border: 1.5px dashed var(--wg-primary); border-radius: 14px; box-shadow: none;
130
+ background: var(--wg-primary-soft); color: var(--wg-primary) !important; font-weight: 700; word-break: break-all;
131
+ }
132
+ .wg-tools .game-play-btn { background: var(--wg-primary); color: #fff; box-shadow: 0 10px 22px -10px rgba(109, 40, 217, .8); }
133
+ .wg-tools .game-play-btn:hover { background: var(--wg-primary-2); color: #fff !important; }
134
+ .wg-tools .copy-btn { background: transparent; color: var(--wg-primary); border: 1.5px solid var(--wg-primary); box-shadow: none; }
135
+ .wg-tools .copy-btn:hover { background: var(--wg-primary-soft); color: var(--wg-primary) !important; }
136
+ .wg-tools .share-game { margin-top: 28px !important; color: var(--wg-text); font-size: 18px; font-weight: 800; }
137
+ .wg-tools .social-sharing-icons { margin-top: 14px; gap: 12px; }
138
+ .wg-tools .social-sharing-icons a {
139
+ display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 52px; border: 1px solid var(--wg-line); border-radius: 14px;
140
+ background: var(--wg-surface-2); cursor: pointer; transition: background .15s, border-color .15s;
141
+ }
142
+ .wg-tools .social-sharing-icons a:hover { background: var(--wg-primary-soft); border-color: var(--wg-primary); }
143
+ .wg-tools .social-sharing-icons svg { width: 26px; height: 26px; }
144
+
145
+ @media (max-width: 575.98px) {
146
+ .wg-tools .word-game .modal-body .d-flex { flex-direction: column; }
147
+ .wg-tools .game-play-btn, .wg-tools .copy-btn { width: 100%; }
148
+ }
149
+
150
+ @media (prefers-reduced-motion: reduce) {
151
+ .wg-tools .wordList > ul li, .wg-tools .wordlesolver-btn, .wg-tools .generate-word-game-link { transition: none; transform: none !important; }
152
+ }
@@ -0,0 +1,13 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64">
2
+ <defs>
3
+ <linearGradient id="g" x1="0" y1="0" x2="1" y2="1">
4
+ <stop offset="0" stop-color="#4c1d95"/>
5
+ <stop offset=".55" stop-color="#7c3aed"/>
6
+ <stop offset="1" stop-color="#c026d3"/>
7
+ </linearGradient>
8
+ </defs>
9
+ <!-- same mark as _includes/home/logo.html, simplified for small sizes -->
10
+ <rect x="20" y="3" width="40" height="40" rx="10" fill="#ffb020" transform="rotate(12 40 23)"/>
11
+ <rect x="2" y="12" width="50" height="50" rx="13" fill="url(#g)"/>
12
+ <path d="M12.5 25l6.5 22 8-16.5 8 16.5 6.5-22" fill="none" stroke="#fff" stroke-width="6" stroke-linecap="round" stroke-linejoin="round"/>
13
+ </svg>
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: word-games-theme
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.3.8
4
+ version: 3.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - manpreet-appscms
@@ -74,6 +74,7 @@ files:
74
74
  - _data/footer/en/data.json
75
75
  - _data/footer/networksites.json
76
76
  - _data/header/en/data.json
77
+ - _data/home_navbar.json
77
78
  - _data/home_sections.json
78
79
  - _data/noindexURLs.json
79
80
  - _data/rating/rating.json
@@ -148,6 +149,7 @@ files:
148
149
  - _includes/header/index.html
149
150
  - _includes/home/ad-preview.html
150
151
  - _includes/home/ad-slot.html
152
+ - _includes/home/blog-card.html
151
153
  - _includes/home/chips.html
152
154
  - _includes/home/crosswords.html
153
155
  - _includes/home/daily-hints.html
@@ -158,7 +160,15 @@ files:
158
160
  - _includes/home/icon.html
159
161
  - _includes/home/letter-lists.html
160
162
  - _includes/home/logo.html
163
+ - _includes/home/mega-games.html
164
+ - _includes/home/recent-posts.html
165
+ - _includes/home/related-posts.html
161
166
  - _includes/home/solvers.html
167
+ - _includes/home/static/about.html
168
+ - _includes/home/static/contact.html
169
+ - _includes/home/static/disclaimer.html
170
+ - _includes/home/static/privacy.html
171
+ - _includes/home/static/terms.html
162
172
  - _includes/howto.html
163
173
  - _includes/infographics/infographics.html
164
174
  - _includes/languages/languages.html
@@ -189,6 +199,7 @@ files:
189
199
  - _includes/wordgames-v2/advanced-filter/advanced-filter.html
190
200
  - _includes/wordgames-v2/faqs/faqs.html
191
201
  - _includes/wordgames-v2/featurehighlights/featurehighlights.html
202
+ - _includes/wordgames-v2/head/bloghead.html
192
203
  - _includes/wordgames-v2/head/head.html
193
204
  - _includes/wordgames-v2/headings/headings.html
194
205
  - _includes/wordgames-v2/howto/howto.html
@@ -257,14 +268,18 @@ files:
257
268
  - _layouts/wordgames-author.html
258
269
  - _layouts/wordgames-authors.html
259
270
  - _layouts/wordgames-autogencontent.html
271
+ - _layouts/wordgames-blog-v2.html
260
272
  - _layouts/wordgames-blog.html
261
273
  - _layouts/wordgames-disclaimer.html
262
274
  - _layouts/wordgames-home-v2.html
263
275
  - _layouts/wordgames-home.html
276
+ - _layouts/wordgames-post-v2.html
264
277
  - _layouts/wordgames-post.html
265
278
  - _layouts/wordgames-privacy-policy.html
266
279
  - _layouts/wordgames-result.html
280
+ - _layouts/wordgames-static-v2.html
267
281
  - _layouts/wordgames-terms-and-conditions.html
282
+ - _layouts/wordgames-tools-v2.html
268
283
  - _layouts/wordgames-tools.html
269
284
  - _layouts/wordgames-word-meaning.html
270
285
  - _layouts/wordgames-xyz.html
@@ -290,12 +305,14 @@ files:
290
305
  - assets/css/wordGroup.css
291
306
  - assets/css/wordfinder-result.css
292
307
  - assets/css/wordgames-autogencontent.css
308
+ - assets/css/wordgames-blog-v2.css
293
309
  - assets/css/wordgames-blog.css
294
310
  - assets/css/wordgames-game.css
295
311
  - assets/css/wordgames-home-v2.css
296
312
  - assets/css/wordgames-home.css
297
313
  - assets/css/wordgames-result.css
298
314
  - assets/css/wordgames-theme.css
315
+ - assets/css/wordgames-tools-v2.css
299
316
  - assets/css/wordgames-variables.css
300
317
  - assets/css/wordle-solver.css
301
318
  - assets/css/wordleSolver.css
@@ -407,6 +424,7 @@ files:
407
424
  - assets/images/wordfinder-result-logo.svg
408
425
  - assets/images/wordle.png
409
426
  - assets/images/words with letters logo white text.svg
427
+ - assets/images/wordswithletters-favicon.svg
410
428
  - assets/images/wordswithletters-logo.png
411
429
  - assets/images/wordswithletters-logo.svg
412
430
  - assets/images/wordswithletters-logo.webp