PluginProbe
Blockenberg — 600+ Advanced Gutenberg Blocks & AI Agent for WordPress Block Editor / 2.0.11
Blockenberg — 600+ Advanced Gutenberg Blocks & AI Agent for WordPress Block Editor v2.0.11
2.0.13 2.0.12 2.0.11 2.0.10 2.0.9 trunk 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8
blockenberg / blocks / memory-game / style.css

style.css in Blockenberg — 600+ Advanced Gutenberg Blocks & AI Agent for WordPress Block Editor 2.0.11, at blocks/memory-game/style.css

264 lines 6.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 .bkbg-mem-wrap {
2 padding: 28px 20px;
3 border-radius: 16px;
4 font-family: system-ui, -apple-system, sans-serif;
5 box-sizing: border-box;
6 }
7
8 /* Header */
9 .bkbg-mem-title,
10 .bkbg-mem-root h3.bkbg-mem-title {
11 font-family: var(--bkbg-mem-tt-font-family, inherit);
12 font-weight: var(--bkbg-mem-tt-font-weight, 800);
13 font-style: var(--bkbg-mem-tt-font-style, normal);
14 text-decoration: var(--bkbg-mem-tt-text-decoration, none);
15 text-transform: var(--bkbg-mem-tt-text-transform, none);
16 font-size: var(--bkbg-mem-tt-font-size-d, 28px);
17 line-height: var(--bkbg-mem-tt-line-height-d, 1.2);
18 letter-spacing: var(--bkbg-mem-tt-letter-spacing-d, normal);
19 word-spacing: var(--bkbg-mem-tt-word-spacing-d, normal);
20 text-align: center;
21 margin: 0 0 6px;
22 }
23
24 .bkbg-mem-subtitle {
25 font-family: var(--bkbg-mem-st-font-family, inherit);
26 font-weight: var(--bkbg-mem-st-font-weight, 400);
27 font-style: var(--bkbg-mem-st-font-style, normal);
28 text-decoration: var(--bkbg-mem-st-text-decoration, none);
29 text-transform: var(--bkbg-mem-st-text-transform, none);
30 font-size: var(--bkbg-mem-st-font-size-d, 14px);
31 line-height: var(--bkbg-mem-st-line-height-d, 1.5);
32 letter-spacing: var(--bkbg-mem-st-letter-spacing-d, normal);
33 word-spacing: var(--bkbg-mem-st-word-spacing-d, normal);
34 text-align: center;
35 margin: 0 0 18px;
36 }
37
38 /* Stats row */
39 .bkbg-mem-stats {
40 display: flex;
41 justify-content: center;
42 gap: 16px;
43 margin-bottom: 18px;
44 flex-wrap: wrap;
45 }
46
47 .bkbg-mem-stat {
48 border-radius: 10px;
49 padding: 8px 18px;
50 text-align: center;
51 box-shadow: 0 1px 6px rgba(0,0,0,0.08);
52 min-width: 70px;
53 }
54
55 .bkbg-mem-stat-val {
56 font-size: 22px;
57 font-weight: 800;
58 line-height: 1;
59 }
60
61 .bkbg-mem-stat-lbl {
62 font-size: 11px;
63 margin-top: 2px;
64 text-transform: uppercase;
65 letter-spacing: 0.04em;
66 }
67
68 /* Difficulty + theme selectors */
69 .bkbg-mem-selectors {
70 display: flex;
71 gap: 10px;
72 justify-content: center;
73 margin-bottom: 14px;
74 flex-wrap: wrap;
75 }
76
77 .bkbg-mem-sel-btn {
78 padding: 6px 14px;
79 border-radius: 20px;
80 border: 2px solid;
81 font-size: 13px;
82 font-weight: 600;
83 cursor: pointer;
84 transition: background 0.15s, color 0.15s;
85 }
86
87 /* Card grid */
88 .bkbg-mem-grid {
89 display: grid;
90 gap: 8px;
91 margin-bottom: 18px;
92 }
93
94 /* Individual card – 3D flip */
95 .bkbg-mem-card {
96 aspect-ratio: 1;
97 cursor: pointer;
98 perspective: 600px;
99 border-radius: 12px;
100 }
101
102 .bkbg-mem-card-inner {
103 position: relative;
104 width: 100%;
105 height: 100%;
106 transform-style: preserve-3d;
107 transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
108 border-radius: 12px;
109 }
110
111 .bkbg-mem-card.bkbg-mem-flipped .bkbg-mem-card-inner,
112 .bkbg-mem-card.bkbg-mem-matched .bkbg-mem-card-inner {
113 transform: rotateY(180deg);
114 }
115
116 .bkbg-mem-card-back,
117 .bkbg-mem-card-front {
118 position: absolute;
119 inset: 0;
120 backface-visibility: hidden;
121 -webkit-backface-visibility: hidden;
122 border-radius: 12px;
123 display: flex;
124 align-items: center;
125 justify-content: center;
126 font-size: 2.2em;
127 box-shadow: 0 2px 10px rgba(0,0,0,0.12);
128 user-select: none;
129 -webkit-user-select: none;
130 }
131
132 .bkbg-mem-card-back {
133 /* Color set by JS via CSS var */
134 font-size: 1.5em;
135 font-weight: 900;
136 color: rgba(255,255,255,0.5);
137 letter-spacing: 2px;
138 }
139
140 .bkbg-mem-card-front {
141 transform: rotateY(180deg);
142 background: #ffffff;
143 }
144
145 .bkbg-mem-card.bkbg-mem-matched .bkbg-mem-card-front {
146 animation: bkbg-mem-match-pulse 0.4s ease;
147 }
148
149 @keyframes bkbg-mem-match-pulse {
150 0% { transform: rotateY(180deg) scale(1); }
151 50% { transform: rotateY(180deg) scale(1.12); }
152 100%{ transform: rotateY(180deg) scale(1); }
153 }
154
155 .bkbg-mem-card.bkbg-mem-wrong .bkbg-mem-card-inner {
156 animation: bkbg-mem-wrong-shake 0.35s ease;
157 }
158
159 @keyframes bkbg-mem-wrong-shake {
160 0%, 100% { transform: rotateY(180deg) translateX(0); }
161 25% { transform: rotateY(180deg) translateX(-6px); }
162 75% { transform: rotateY(180deg) translateX(6px); }
163 }
164
165 /* Actions */
166 .bkbg-mem-actions {
167 display: flex;
168 gap: 10px;
169 justify-content: center;
170 flex-wrap: wrap;
171 }
172
173 .bkbg-mem-btn {
174 padding: 10px 28px;
175 border-radius: 10px;
176 font-size: 15px;
177 font-weight: 700;
178 cursor: pointer;
179 border: none;
180 color: #fff;
181 transition: opacity 0.2s, transform 0.1s;
182 }
183 .bkbg-mem-btn:hover { opacity: 0.85; }
184 .bkbg-mem-btn:active { transform: scale(0.97); }
185
186 .bkbg-mem-btn-outline {
187 background: transparent !important;
188 border: 2px solid;
189 color: inherit !important;
190 }
191
192 /* Win banner */
193 .bkbg-mem-win {
194 display: none;
195 border-radius: 14px;
196 padding: 20px;
197 text-align: center;
198 margin-bottom: 16px;
199 animation: bkbg-mem-win-in 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
200 }
201
202 .bkbg-mem-win.bkbg-mem-win-show {
203 display: block;
204 }
205
206 @keyframes bkbg-mem-win-in {
207 from { transform: scale(0.7); opacity: 0; }
208 to { transform: scale(1); opacity: 1; }
209 }
210
211 .bkbg-mem-win-icon { font-size: 44px; display: block; margin-bottom: 6px; }
212 .bkbg-mem-win-title { font-size: 22px; font-weight: 900; color: #fff; }
213 .bkbg-mem-win-stats { font-size: 14px; color: rgba(255,255,255,0.85); margin-top: 6px; }
214
215 /* Difficulty label badge */
216 .bkbg-mem-diff-badge {
217 display: inline-block;
218 padding: 3px 10px;
219 border-radius: 20px;
220 font-size: 12px;
221 font-weight: 700;
222 margin-bottom: 10px;
223 color: #fff;
224 }
225
226 @media (max-width: 1024px) {
227 .bkbg-mem-title,
228 .bkbg-mem-root h3.bkbg-mem-title {
229 font-size: var(--bkbg-mem-tt-font-size-t, 26px);
230 line-height: var(--bkbg-mem-tt-line-height-t, 1.2);
231 letter-spacing: var(--bkbg-mem-tt-letter-spacing-t, normal);
232 word-spacing: var(--bkbg-mem-tt-word-spacing-t, normal);
233 }
234 .bkbg-mem-subtitle {
235 font-size: var(--bkbg-mem-st-font-size-t, 14px);
236 line-height: var(--bkbg-mem-st-line-height-t, 1.5);
237 letter-spacing: var(--bkbg-mem-st-letter-spacing-t, normal);
238 word-spacing: var(--bkbg-mem-st-word-spacing-t, normal);
239 }
240 }
241
242 @media (max-width: 767px) {
243 .bkbg-mem-title,
244 .bkbg-mem-root h3.bkbg-mem-title {
245 font-size: var(--bkbg-mem-tt-font-size-m, 22px);
246 line-height: var(--bkbg-mem-tt-line-height-m, 1.2);
247 letter-spacing: var(--bkbg-mem-tt-letter-spacing-m, normal);
248 word-spacing: var(--bkbg-mem-tt-word-spacing-m, normal);
249 }
250 .bkbg-mem-subtitle {
251 font-size: var(--bkbg-mem-st-font-size-m, 13px);
252 line-height: var(--bkbg-mem-st-line-height-m, 1.4);
253 letter-spacing: var(--bkbg-mem-st-letter-spacing-m, normal);
254 word-spacing: var(--bkbg-mem-st-word-spacing-m, normal);
255 }
256 }
257
258 @media (max-width: 420px) {
259 .bkbg-mem-wrap { padding: 14px; }
260 .bkbg-mem-grid { gap: 5px; }
261 .bkbg-mem-stats { gap: 8px; }
262 .bkbg-mem-stat { padding: 6px 10px; min-width: 60px; }
263 }
264