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 / dice-roller / style.css

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

304 lines 8.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /* ============================================================
2 Dice Roller — bkbg-dr-*
3 ============================================================ */
4
5 .bkbg-dr-wrap {
6 box-sizing: border-box;
7 font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
8 padding: 32px 24px;
9 border-radius: 16px;
10 max-width: var(--dr-max-width, 580px);
11 margin: 0 auto;
12 text-align: center;
13 }
14
15 /* ---- Header ---- */
16 .bkbg-dr-wrap .bkbg-dr-title {
17 font-family: var(--bkbg-dr-ttl-font-family, inherit);
18 font-weight: var(--bkbg-dr-ttl-font-weight, 700);
19 font-size: var(--bkbg-dr-ttl-font-size-d, var(--bkbg-dr-ttl-fs, 26px));
20 line-height: var(--bkbg-dr-ttl-line-height-d, 1.25);
21 letter-spacing: var(--bkbg-dr-ttl-letter-spacing-d, normal);
22 word-spacing: var(--bkbg-dr-ttl-word-spacing-d, normal);
23 text-transform: var(--bkbg-dr-ttl-text-transform, none);
24 font-style: var(--bkbg-dr-ttl-font-style, normal);
25 text-decoration: var(--bkbg-dr-ttl-text-decoration, none);
26 color: var(--dr-title-color, #111827);
27 margin: 0 0 5px;
28 }
29
30 .bkbg-dr-subtitle {
31 font-family: var(--bkbg-dr-sub-font-family, inherit);
32 font-weight: var(--bkbg-dr-sub-font-weight, normal);
33 font-size: var(--bkbg-dr-sub-font-size-d, var(--bkbg-dr-sub-fs, 14px));
34 line-height: var(--bkbg-dr-sub-line-height-d, 1.5);
35 letter-spacing: var(--bkbg-dr-sub-letter-spacing-d, normal);
36 word-spacing: var(--bkbg-dr-sub-word-spacing-d, normal);
37 text-transform: var(--bkbg-dr-sub-text-transform, none);
38 font-style: var(--bkbg-dr-sub-font-style, normal);
39 text-decoration: var(--bkbg-dr-sub-text-decoration, none);
40 color: var(--dr-subtitle-color, #6b7280);
41 margin: 0 0 18px;
42 }
43
44 /* ---- Controls ---- */
45 .bkbg-dr-controls {
46 display: flex;
47 gap: 12px;
48 justify-content: center;
49 flex-wrap: wrap;
50 margin-bottom: 18px;
51 align-items: flex-end;
52 }
53
54 .bkbg-dr-ctrl-group {
55 display: flex;
56 flex-direction: column;
57 align-items: flex-start;
58 gap: 4px;
59 }
60
61 .bkbg-dr-ctrl-label {
62 font-size: 11px;
63 font-weight: 700;
64 text-transform: uppercase;
65 letter-spacing: .07em;
66 color: var(--dr-label-color, #374151);
67 }
68
69 .bkbg-dr-select {
70 padding: 8px 12px;
71 border-radius: 9px;
72 border: 1.5px solid #e5e7eb;
73 font-size: 15px;
74 font-weight: 700;
75 color: var(--dr-label-color, #374151);
76 background: #fff;
77 cursor: pointer;
78 outline: none;
79 min-width: 70px;
80 text-align: center;
81 }
82
83 .bkbg-dr-select:focus { border-color: var(--dr-accent, #dc2626); }
84
85 .bkbg-dr-counter {
86 display: flex;
87 gap: 6px;
88 align-items: center;
89 }
90
91 .bkbg-dr-counter-btn {
92 width: 32px;
93 height: 32px;
94 border-radius: 8px;
95 border: 1.5px solid #e5e7eb;
96 background: #f9fafb;
97 font-weight: 700;
98 font-size: 16px;
99 cursor: pointer;
100 display: flex;
101 align-items: center;
102 justify-content: center;
103 transition: background .15s, border-color .15s;
104 color: var(--dr-label-color, #374151);
105 }
106
107 .bkbg-dr-counter-btn:hover { background: #e5e7eb; }
108
109 .bkbg-dr-counter-val {
110 font-size: 16px;
111 font-weight: 700;
112 color: var(--dr-label-color, #374151);
113 width: 28px;
114 text-align: center;
115 }
116
117 .bkbg-dr-mod-input {
118 width: 60px;
119 padding: 7px 8px;
120 border-radius: 8px;
121 border: 1.5px solid #e5e7eb;
122 font-size: 14px;
123 text-align: center;
124 color: var(--dr-label-color, #374151);
125 font-family: inherit;
126 font-weight: 600;
127 outline: none;
128 }
129
130 .bkbg-dr-mod-input:focus { border-color: var(--dr-accent, #dc2626); }
131
132 /* ---- Roll button ---- */
133 .bkbg-dr-roll-btn {
134 padding: 13px 38px;
135 border-radius: 12px;
136 border: none;
137 background: var(--dr-accent, #dc2626);
138 color: #fff;
139 font-weight: 800;
140 font-size: 16px;
141 cursor: pointer;
142 margin-bottom: 18px;
143 letter-spacing: .02em;
144 box-shadow: 0 4px 14px rgba(220,38,38,.3);
145 transition: opacity .15s, transform .12s;
146 }
147
148 .bkbg-dr-roll-btn:hover { opacity: .9; }
149 .bkbg-dr-roll-btn:active { transform: scale(.97); }
150
151 .bkbg-dr-roll-btn.rolling { animation: dr-shake .35s ease; }
152
153 @keyframes dr-shake {
154 0%,100% { transform: rotate(0deg); }
155 20% { transform: rotate(-8deg) scale(1.06); }
156 40% { transform: rotate(10deg) scale(1.1); }
157 60% { transform: rotate(-8deg) scale(1.06); }
158 80% { transform: rotate(6deg); }
159 }
160
161 /* ---- Dice display ---- */
162 .bkbg-dr-dice-row {
163 display: flex;
164 gap: 10px;
165 flex-wrap: wrap;
166 justify-content: center;
167 margin-bottom: 16px;
168 min-height: 74px;
169 }
170
171 .bkbg-dr-die {
172 width: 64px;
173 height: 64px;
174 border-radius: 14px;
175 background: var(--dr-die-bg, #1e1b4b);
176 color: var(--dr-die-face, #ffffff);
177 display: flex;
178 align-items: center;
179 justify-content: center;
180 font-size: 24px;
181 font-weight: 800;
182 font-family: 'Courier New', Courier, monospace;
183 box-shadow: 0 4px 12px rgba(0,0,0,.3);
184 transition: transform .15s;
185 user-select: none;
186 }
187
188 .bkbg-dr-die.rolling { animation: dr-die-spin .35s ease; }
189
190 @keyframes dr-die-spin {
191 0% { transform: scale(.6) rotate(-20deg); opacity:.4; }
192 60% { transform: scale(1.12) rotate(8deg); opacity:1; }
193 100% { transform: scale(1) rotate(0deg); }
194 }
195
196 /* ---- Total ---- */
197 .bkbg-dr-total-wrap {
198 display: inline-flex;
199 gap: 14px;
200 align-items: center;
201 background: var(--dr-total-bg, #fef2f2);
202 border-radius: 14px;
203 padding: 12px 24px;
204 margin-bottom: 18px;
205 }
206
207 .bkbg-dr-total-label {
208 font-size: 13px;
209 font-weight: 600;
210 color: var(--dr-label-color, #374151);
211 }
212
213 .bkbg-dr-total-val {
214 font-size: 36px;
215 font-weight: 800;
216 color: var(--dr-total-color, #dc2626);
217 line-height: 1;
218 }
219
220 /* ---- History ---- */
221 .bkbg-dr-history {
222 border-radius: 12px;
223 border: 1.5px solid #e5e7eb;
224 overflow: hidden;
225 text-align: left;
226 }
227
228 .bkbg-dr-hist-head {
229 display: flex;
230 justify-content: space-between;
231 padding: 8px 14px;
232 font-size: 11px;
233 font-weight: 700;
234 text-transform: uppercase;
235 letter-spacing: .07em;
236 color: var(--dr-label-color, #374151);
237 background: #f3f4f6;
238 }
239
240 .bkbg-dr-hist-row {
241 display: flex;
242 justify-content: space-between;
243 align-items: center;
244 padding: 8px 14px;
245 font-size: 13px;
246 color: var(--dr-label-color, #374151);
247 border-top: 1px solid #f3f4f6;
248 transition: background .12s;
249 }
250
251 .bkbg-dr-hist-row:hover { background: #f9fafb; }
252
253 .bkbg-dr-hist-reroll {
254 background: none;
255 border: none;
256 color: var(--dr-accent, #dc2626);
257 font-size: 11px;
258 font-weight: 600;
259 cursor: pointer;
260 padding: 2px 6px;
261 border-radius: 5px;
262 transition: background .12s;
263 }
264
265 .bkbg-dr-hist-reroll:hover { background: rgba(220,38,38,.08); }
266
267 /* ---- Responsive typography ---- */
268 @media (max-width: 1024px) {
269 .bkbg-dr-wrap .bkbg-dr-title {
270 font-size: var(--bkbg-dr-ttl-font-size-t, var(--bkbg-dr-ttl-font-size-d, var(--bkbg-dr-ttl-fs, 26px)));
271 line-height: var(--bkbg-dr-ttl-line-height-t, var(--bkbg-dr-ttl-line-height-d, 1.25));
272 letter-spacing: var(--bkbg-dr-ttl-letter-spacing-t, var(--bkbg-dr-ttl-letter-spacing-d, normal));
273 word-spacing: var(--bkbg-dr-ttl-word-spacing-t, var(--bkbg-dr-ttl-word-spacing-d, normal));
274 }
275 .bkbg-dr-subtitle {
276 font-size: var(--bkbg-dr-sub-font-size-t, var(--bkbg-dr-sub-font-size-d, var(--bkbg-dr-sub-fs, 14px)));
277 line-height: var(--bkbg-dr-sub-line-height-t, var(--bkbg-dr-sub-line-height-d, 1.5));
278 letter-spacing: var(--bkbg-dr-sub-letter-spacing-t, var(--bkbg-dr-sub-letter-spacing-d, normal));
279 word-spacing: var(--bkbg-dr-sub-word-spacing-t, var(--bkbg-dr-sub-word-spacing-d, normal));
280 }
281 }
282
283 @media (max-width: 767px) {
284 .bkbg-dr-wrap .bkbg-dr-title {
285 font-size: var(--bkbg-dr-ttl-font-size-m, var(--bkbg-dr-ttl-font-size-t, var(--bkbg-dr-ttl-font-size-d, var(--bkbg-dr-ttl-fs, 26px))));
286 line-height: var(--bkbg-dr-ttl-line-height-m, var(--bkbg-dr-ttl-line-height-t, var(--bkbg-dr-ttl-line-height-d, 1.25)));
287 letter-spacing: var(--bkbg-dr-ttl-letter-spacing-m, var(--bkbg-dr-ttl-letter-spacing-t, var(--bkbg-dr-ttl-letter-spacing-d, normal)));
288 word-spacing: var(--bkbg-dr-ttl-word-spacing-m, var(--bkbg-dr-ttl-word-spacing-t, var(--bkbg-dr-ttl-word-spacing-d, normal)));
289 }
290 .bkbg-dr-subtitle {
291 font-size: var(--bkbg-dr-sub-font-size-m, var(--bkbg-dr-sub-font-size-t, var(--bkbg-dr-sub-font-size-d, var(--bkbg-dr-sub-fs, 14px))));
292 line-height: var(--bkbg-dr-sub-line-height-m, var(--bkbg-dr-sub-line-height-t, var(--bkbg-dr-sub-line-height-d, 1.5)));
293 letter-spacing: var(--bkbg-dr-sub-letter-spacing-m, var(--bkbg-dr-sub-letter-spacing-t, var(--bkbg-dr-sub-letter-spacing-d, normal)));
294 word-spacing: var(--bkbg-dr-sub-word-spacing-m, var(--bkbg-dr-sub-word-spacing-t, var(--bkbg-dr-sub-word-spacing-d, normal)));
295 }
296 }
297
298 /* ---- Responsive ---- */
299 @media (max-width: 480px) {
300 .bkbg-dr-wrap { padding: 20px 12px; }
301 .bkbg-dr-die { width: 52px; height: 52px; font-size: 20px; }
302 .bkbg-dr-controls { gap: 8px; }
303 }
304