PluginProbe
Blockenberg — 600+ Advanced Gutenberg Blocks & AI Agent for WordPress Block Editor / 2.0.7
Blockenberg — 600+ Advanced Gutenberg Blocks & AI Agent for WordPress Block Editor v2.0.7
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 / tic-tac-toe / style.css

style.css in Blockenberg — 600+ Advanced Gutenberg Blocks & AI Agent for WordPress Block Editor 2.0.7, at blocks/tic-tac-toe/style.css

249 lines 7.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 .bkbg-ttt-wrap {
2 padding: 28px 20px;
3 border-radius: 16px;
4 font-family: system-ui, -apple-system, sans-serif;
5 box-sizing: border-box;
6 text-align: center;
7 }
8
9 .bkbg-ttt-title {
10 font-family: var(--bkttt-tt-font-family, inherit);
11 font-size: var(--bkttt-tt-font-size-d, 28px);
12 line-height: var(--bkttt-tt-line-height-d, 1.2);
13 font-weight: var(--bkttt-tt-font-weight, 800);
14 font-style: var(--bkttt-tt-font-style, normal);
15 text-decoration: var(--bkttt-tt-text-decoration, none);
16 text-transform: var(--bkttt-tt-text-transform, none);
17 letter-spacing: var(--bkttt-tt-letter-spacing-d, normal);
18 word-spacing: var(--bkttt-tt-word-spacing-d, normal);
19 margin: 0 0 4px;
20 }
21
22 .bkbg-ttt-root h3.bkbg-ttt-title {
23 font-family: var(--bkttt-tt-font-family, inherit);
24 font-size: var(--bkttt-tt-font-size-d, 28px);
25 line-height: var(--bkttt-tt-line-height-d, 1.2);
26 font-weight: var(--bkttt-tt-font-weight, 800);
27 font-style: var(--bkttt-tt-font-style, normal);
28 text-decoration: var(--bkttt-tt-text-decoration, none);
29 text-transform: var(--bkttt-tt-text-transform, none);
30 letter-spacing: var(--bkttt-tt-letter-spacing-d, normal);
31 word-spacing: var(--bkttt-tt-word-spacing-d, normal);
32 margin: 0 0 4px;
33 }
34
35 .bkbg-ttt-subtitle {
36 font-family: var(--bkttt-st-font-family, inherit);
37 font-size: var(--bkttt-st-font-size-d, 14px);
38 line-height: var(--bkttt-st-line-height-d, normal);
39 font-weight: var(--bkttt-st-font-weight, normal);
40 font-style: var(--bkttt-st-font-style, normal);
41 text-decoration: var(--bkttt-st-text-decoration, none);
42 text-transform: var(--bkttt-st-text-transform, none);
43 letter-spacing: var(--bkttt-st-letter-spacing-d, normal);
44 word-spacing: var(--bkttt-st-word-spacing-d, normal);
45 margin: 0 0 16px;
46 }
47
48 @media (max-width: 1024px) {
49 .bkbg-ttt-root .bkbg-ttt-title {
50 font-size: var(--bkttt-tt-font-size-t, var(--bkttt-tt-font-size-d, 28px));
51 line-height: var(--bkttt-tt-line-height-t, var(--bkttt-tt-line-height-d, 1.2));
52 letter-spacing: var(--bkttt-tt-letter-spacing-t, var(--bkttt-tt-letter-spacing-d, normal));
53 word-spacing: var(--bkttt-tt-word-spacing-t, var(--bkttt-tt-word-spacing-d, normal));
54 }
55 .bkbg-ttt-root .bkbg-ttt-subtitle {
56 font-size: var(--bkttt-st-font-size-t, var(--bkttt-st-font-size-d, 14px));
57 line-height: var(--bkttt-st-line-height-t, var(--bkttt-st-line-height-d, normal));
58 letter-spacing: var(--bkttt-st-letter-spacing-t, var(--bkttt-st-letter-spacing-d, normal));
59 word-spacing: var(--bkttt-st-word-spacing-t, var(--bkttt-st-word-spacing-d, normal));
60 }
61 }
62
63 @media (max-width: 767px) {
64 .bkbg-ttt-root .bkbg-ttt-title {
65 font-size: var(--bkttt-tt-font-size-m, var(--bkttt-tt-font-size-t, var(--bkttt-tt-font-size-d, 28px)));
66 line-height: var(--bkttt-tt-line-height-m, var(--bkttt-tt-line-height-t, var(--bkttt-tt-line-height-d, 1.2)));
67 letter-spacing: var(--bkttt-tt-letter-spacing-m, var(--bkttt-tt-letter-spacing-t, var(--bkttt-tt-letter-spacing-d, normal)));
68 word-spacing: var(--bkttt-tt-word-spacing-m, var(--bkttt-tt-word-spacing-t, var(--bkttt-tt-word-spacing-d, normal)));
69 }
70 .bkbg-ttt-root .bkbg-ttt-subtitle {
71 font-size: var(--bkttt-st-font-size-m, var(--bkttt-st-font-size-t, var(--bkttt-st-font-size-d, 14px)));
72 line-height: var(--bkttt-st-line-height-m, var(--bkttt-st-line-height-t, var(--bkttt-st-line-height-d, normal)));
73 letter-spacing: var(--bkttt-st-letter-spacing-m, var(--bkttt-st-letter-spacing-t, var(--bkttt-st-letter-spacing-d, normal)));
74 word-spacing: var(--bkttt-st-word-spacing-m, var(--bkttt-st-word-spacing-t, var(--bkttt-st-word-spacing-d, normal)));
75 }
76 }
77
78 /* Score bar */
79 .bkbg-ttt-score {
80 display: flex;
81 justify-content: center;
82 gap: 12px;
83 margin-bottom: 18px;
84 flex-wrap: wrap;
85 }
86
87 .bkbg-ttt-score-box {
88 border-radius: 10px;
89 padding: 8px 20px;
90 text-align: center;
91 box-shadow: 0 1px 6px rgba(0,0,0,0.07);
92 min-width: 70px;
93 }
94
95 .bkbg-ttt-score-val {
96 font-size: 24px;
97 font-weight: 900;
98 line-height: 1;
99 }
100
101 .bkbg-ttt-score-lbl {
102 font-size: 12px;
103 margin-top: 2px;
104 }
105
106 /* Mode/difficulty switcher */
107 .bkbg-ttt-mode-row {
108 display: flex;
109 justify-content: center;
110 gap: 8px;
111 margin-bottom: 14px;
112 flex-wrap: wrap;
113 }
114
115 .bkbg-ttt-mode-btn {
116 border-radius: 20px;
117 border: 2px solid;
118 padding: 5px 14px;
119 font-size: 13px;
120 font-weight: 600;
121 cursor: pointer;
122 transition: background 0.15s, color 0.15s;
123 }
124
125 /* Status badge */
126 .bkbg-ttt-status {
127 border-radius: 10px;
128 padding: 10px 14px;
129 margin-bottom: 16px;
130 font-weight: 700;
131 font-size: 15px;
132 color: #fff;
133 transition: background 0.3s;
134 }
135
136 /* Board */
137 .bkbg-ttt-board {
138 display: grid;
139 grid-template-columns: repeat(3, 1fr);
140 gap: 8px;
141 max-width: 300px;
142 margin: 0 auto 18px;
143 }
144
145 .bkbg-ttt-cell {
146 aspect-ratio: 1;
147 border-radius: 14px;
148 border: 2px solid;
149 display: flex;
150 align-items: center;
151 justify-content: center;
152 font-size: 42px;
153 font-weight: 900;
154 cursor: pointer;
155 transition: background 0.15s, transform 0.1s;
156 user-select: none;
157 -webkit-user-select: none;
158 position: relative;
159 overflow: hidden;
160 }
161
162 .bkbg-ttt-cell:hover:not(.bkbg-ttt-taken) {
163 filter: brightness(0.93);
164 }
165
166 .bkbg-ttt-cell:active:not(.bkbg-ttt-taken) {
167 transform: scale(0.93);
168 }
169
170 .bkbg-ttt-cell.bkbg-ttt-taken {
171 cursor: default;
172 }
173
174 .bkbg-ttt-cell span {
175 display: block;
176 animation: bkbg-ttt-place 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
177 }
178
179 @keyframes bkbg-ttt-place {
180 from { transform: scale(0) rotate(-15deg); opacity: 0; }
181 to { transform: scale(1) rotate(0deg); opacity: 1; }
182 }
183
184 .bkbg-ttt-cell.bkbg-ttt-win {
185 animation: bkbg-ttt-win-pulse 0.5s ease infinite alternate;
186 }
187
188 @keyframes bkbg-ttt-win-pulse {
189 from { transform: scale(1); }
190 to { transform: scale(1.06); }
191 }
192
193 /* Actions */
194 .bkbg-ttt-actions {
195 display: flex;
196 gap: 10px;
197 justify-content: center;
198 flex-wrap: wrap;
199 }
200
201 .bkbg-ttt-btn {
202 padding: 10px 26px;
203 border-radius: 10px;
204 font-size: 14px;
205 font-weight: 700;
206 cursor: pointer;
207 border: none;
208 color: #fff;
209 transition: opacity 0.2s, transform 0.1s;
210 }
211
212 .bkbg-ttt-btn:hover { opacity: 0.85; }
213 .bkbg-ttt-btn:active { transform: scale(0.97); }
214
215 .bkbg-ttt-btn-outline {
216 background: transparent !important;
217 border: 2px solid;
218 color: inherit !important;
219 }
220
221 /* AI thinking indicator */
222 .bkbg-ttt-thinking {
223 display: inline-flex;
224 gap: 4px;
225 margin-top: 8px;
226 }
227
228 .bkbg-ttt-thinking span {
229 width: 8px;
230 height: 8px;
231 border-radius: 50%;
232 background: #fff;
233 opacity: 0.6;
234 animation: bkbg-ttt-dot 1.2s infinite;
235 }
236 .bkbg-ttt-thinking span:nth-child(2) { animation-delay: 0.2s; }
237 .bkbg-ttt-thinking span:nth-child(3) { animation-delay: 0.4s; }
238
239 @keyframes bkbg-ttt-dot {
240 0%, 80%, 100% { transform: scale(0.8); opacity: 0.4; }
241 40% { transform: scale(1.2); opacity: 1; }
242 }
243
244 @media (max-width: 400px) {
245 .bkbg-ttt-wrap { padding: 14px; }
246 .bkbg-ttt-board { max-width: 240px; gap: 5px; }
247 .bkbg-ttt-cell { font-size: 32px; border-radius: 10px; }
248 }
249