@jjlmoya/utils-alcohol 1.11.0 → 1.13.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.
@@ -1,381 +0,0 @@
1
- .beer-app {
2
- width: 100%;
3
- max-width: 72rem;
4
- margin: 0 auto;
5
- padding: 0.5rem;
6
- }
7
-
8
- .beer-card {
9
- background: #fff;
10
- border: 1px solid #e2e8f0;
11
- border-radius: 1.25rem;
12
- overflow: clip;
13
- box-shadow: 0 4px 20px rgba(0,0,0,0.06);
14
- color: #1e293b;
15
- }
16
- .theme-dark .beer-card {
17
- background: #0f172a;
18
- border-color: #1e293b;
19
- color: #f1f5f9;
20
- }
21
-
22
- .beer-grid { display: grid; }
23
-
24
- @media (min-width: 1024px) {
25
- .beer-grid {
26
- grid-template-columns: 1fr 1fr;
27
- align-items: stretch;
28
- }
29
- }
30
-
31
- .beer-steps-panel {
32
- display: flex;
33
- flex-direction: column;
34
- }
35
-
36
- .beer-sec {
37
- padding: 1.25rem 1.5rem;
38
- border-bottom: 1px solid #e2e8f0;
39
- }
40
- .theme-dark .beer-sec { border-color: #1e293b; }
41
- .beer-sec:last-child { border-bottom: none; }
42
-
43
- .step-header {
44
- font-size: 1rem;
45
- font-weight: 700;
46
- display: flex;
47
- align-items: center;
48
- gap: 0.75rem;
49
- margin: 0 0 1rem;
50
- color: #1e293b;
51
- }
52
-
53
- .theme-dark .step-header { color: #f1f5f9; }
54
- .step-number {
55
- width: 1.75rem;
56
- height: 1.75rem;
57
- border-radius: 50%;
58
- background: #0f172a;
59
- color: #fff;
60
- display: flex;
61
- align-items: center;
62
- justify-content: center;
63
- font-size: 0.75rem;
64
- flex-shrink: 0;
65
- }
66
- .theme-dark .step-number {
67
- background: #fff;
68
- color: #0f172a;
69
- }
70
-
71
- .selector-grid {
72
- display: grid;
73
- grid-template-columns: 1fr 1fr;
74
- gap: 0.75rem;
75
- }
76
-
77
- .selector-card {
78
- width: 100%;
79
- text-align: left;
80
- padding: 1rem;
81
- border-radius: 0.75rem;
82
- border: 2px solid #e2e8f0;
83
- transition: border-color 0.2s;
84
- position: relative;
85
- overflow: hidden;
86
- background: #f8fafc;
87
- cursor: pointer;
88
- }
89
- .theme-dark .selector-card {
90
- border-color: #1e293b;
91
- background: #0c1527;
92
- }
93
- .selector-card:hover { border-color: #cbd5e1; }
94
- .theme-dark .selector-card:hover { border-color: #334155; }
95
-
96
- .selector-content {
97
- position: relative;
98
- z-index: 1;
99
- display: flex;
100
- flex-direction: column;
101
- align-items: center;
102
- gap: 0.5rem;
103
- }
104
- .icon-el {
105
- width: 2rem;
106
- height: 2rem;
107
- color: #94a3b8;
108
- transition: color 0.2s;
109
- }
110
- .selector-card:hover .icon-el { color: #f59e0b; }
111
- .selector-card[data-value="bottle"]:hover .icon-el { color: #10b981; }
112
- .selector-card[data-value="fridge"]:hover .icon-el { color: #06b6d4; }
113
- .selector-card[data-value="freezer"]:hover .icon-el { color: #3b82f6; }
114
-
115
- .selector-label {
116
- font-weight: 700;
117
- font-size: 1rem;
118
- color: #1e293b;
119
- }
120
-
121
- .theme-dark .selector-label { color: #f1f5f9; }
122
-
123
- .selector-sub {
124
- font-size: 0.7rem;
125
- color: #64748b;
126
- font-weight: 500;
127
- text-transform: uppercase;
128
- letter-spacing: 0.05em;
129
- }
130
-
131
- .theme-dark .selector-sub { color: #94a3b8; }
132
-
133
- .bg-el {
134
- position: absolute;
135
- inset: 0;
136
- opacity: 0;
137
- transition: opacity 0.2s;
138
- background: rgba(245,158,11,0.08);
139
- }
140
- .selector-card[data-value="bottle"] .bg-el { background: rgba(16,185,129,0.08); }
141
- .selector-card[data-value="fridge"] .bg-el { background: rgba(6,182,212,0.08); }
142
- .selector-card[data-value="freezer"] .bg-el { background: rgba(59,130,246,0.08); }
143
-
144
- .selector-card.selected[data-value="can"] { border-color: #f59e0b; }
145
- .selector-card.selected[data-value="bottle"] { border-color: #10b981; }
146
- .selector-card.selected[data-value="fridge"] { border-color: #06b6d4; }
147
- .selector-card.selected[data-value="freezer"] { border-color: #3b82f6; }
148
- .selector-card.selected .bg-el { opacity: 1; }
149
-
150
- .slider-row { margin-bottom: 1.25rem; }
151
- .slider-row-last { margin-bottom: 0; }
152
- .slider-label-row {
153
- display: flex;
154
- justify-content: space-between;
155
- align-items: center;
156
- margin-bottom: 0.75rem;
157
- }
158
- .slider-label {
159
- font-size: 0.75rem;
160
- font-weight: 700;
161
- color: #64748b;
162
- text-transform: uppercase;
163
- letter-spacing: 0.1em;
164
- }
165
-
166
- .theme-dark .slider-label { color: #94a3b8; }
167
-
168
- .temp-display {
169
- font-size: 1rem;
170
- font-weight: 700;
171
- background: #f1f5f9;
172
- color: #1e293b;
173
- padding: 0.2rem 0.6rem;
174
- border-radius: 0.4rem;
175
- }
176
-
177
- .theme-dark .temp-display {
178
- background: #1e293b;
179
- color: #f1f5f9;
180
- }
181
-
182
- .slider-custom {
183
- width: 100%;
184
- height: 0.5rem;
185
- border-radius: 0.5rem;
186
- appearance: none;
187
- cursor: pointer;
188
- background: #e2e8f0;
189
- }
190
- .theme-dark .slider-custom { background: #334155; }
191
- .slider-dark { accent-color: #0f172a; }
192
- .theme-dark .slider-dark { accent-color: #fff; }
193
- .slider-blue { accent-color: #3b82f6; }
194
- .slider-custom::-webkit-slider-thumb {
195
- -webkit-appearance: none;
196
- height: 20px;
197
- width: 20px;
198
- border-radius: 50%;
199
- background: currentcolor;
200
- cursor: pointer;
201
- margin-top: -6px;
202
- }
203
- .slider-custom::-webkit-slider-runnable-track {
204
- width: 100%;
205
- height: 8px;
206
- background: transparent;
207
- border-radius: 4px;
208
- }
209
-
210
- .beer-result-panel {
211
- background: linear-gradient(to bottom right, #eff6ff, #eef2ff);
212
- color: #1e293b;
213
- display: flex;
214
- align-items: stretch;
215
- min-height: 380px;
216
- }
217
-
218
- @media (min-width: 1024px) { .beer-result-panel { border-left: 1px solid #e2e8f0; } }
219
-
220
- .theme-dark .beer-result-panel {
221
- background: linear-gradient(to bottom right, #1e293b, #020617);
222
- color: #fff;
223
- }
224
-
225
- @media (min-width: 1024px) { .theme-dark .beer-result-panel { border-left-color: #334155; } }
226
-
227
- .result-inner {
228
- width: 100%;
229
- display: flex;
230
- flex-direction: column;
231
- align-items: center;
232
- justify-content: center;
233
- text-align: center;
234
- padding: 2rem;
235
- position: relative;
236
- z-index: 1;
237
- }
238
-
239
- .empty-state {
240
- display: flex;
241
- flex-direction: column;
242
- align-items: center;
243
- gap: 1.5rem;
244
- }
245
- .empty-icon {
246
- width: 4rem;
247
- height: 4rem;
248
- border-radius: 50%;
249
- background: #e0e7ff;
250
- display: flex;
251
- align-items: center;
252
- justify-content: center;
253
- color: #6366f1;
254
- }
255
-
256
- .theme-dark .empty-icon {
257
- background: #1e293b;
258
- color: #475569;
259
- }
260
- .empty-icon-svg {
261
- width: 2rem;
262
- height: 2rem;
263
- }
264
- .empty-title {
265
- font-size: 1.25rem;
266
- font-weight: 700;
267
- color: #475569;
268
- margin: 0;
269
- }
270
-
271
- .theme-dark .empty-title { color: #64748b; }
272
-
273
- .empty-desc {
274
- color: #94a3b8;
275
- margin: 0;
276
- font-size: 0.875rem;
277
- }
278
-
279
- .theme-dark .empty-desc { color: #475569; }
280
-
281
- .result-content {
282
- flex-direction: column;
283
- align-items: center;
284
- width: 100%;
285
- position: relative;
286
- z-index: 1;
287
- }
288
- .result-time-wrap {
289
- position: relative;
290
- margin-bottom: 1.5rem;
291
- }
292
- .result-glow {
293
- position: absolute;
294
- inset: -2rem;
295
- background: rgba(59,130,246,0.2);
296
- border-radius: 50%;
297
- filter: blur(2rem);
298
- }
299
- .result-time-num {
300
- position: relative;
301
- font-size: 5rem;
302
- font-weight: 900;
303
- color: #1e293b;
304
- letter-spacing: -0.05em;
305
- line-height: 1;
306
- }
307
-
308
- .theme-dark .result-time-num { color: #fff; }
309
-
310
- .result-time-unit {
311
- position: absolute;
312
- right: -1.5rem;
313
- bottom: 0.75rem;
314
- font-size: 1.25rem;
315
- font-weight: 700;
316
- color: #94a3b8;
317
- }
318
-
319
- .result-labels { margin-bottom: 2rem; }
320
- .result-est-label {
321
- font-size: 0.75rem;
322
- font-weight: 700;
323
- text-transform: uppercase;
324
- letter-spacing: 0.2em;
325
- color: #6366f1;
326
- margin: 0 0 0.5rem;
327
- }
328
-
329
- .theme-dark .result-est-label { color: #60a5fa; }
330
-
331
- .result-finish-time {
332
- font-size: 1.5rem;
333
- font-weight: 700;
334
- color: #1e293b;
335
- margin: 0;
336
- }
337
-
338
- .theme-dark .result-finish-time { color: #fff; }
339
-
340
- .result-meta-grid {
341
- display: grid;
342
- grid-template-columns: 1fr 1fr;
343
- gap: 0.75rem;
344
- width: 100%;
345
- text-align: left;
346
- }
347
- .result-meta-item {
348
- background: rgba(255,255,255,0.7);
349
- padding: 0.75rem;
350
- border-radius: 0.5rem;
351
- border: 1px solid #e2e8f0;
352
- }
353
-
354
- .theme-dark .result-meta-item {
355
- background: rgba(30,41,59,0.5);
356
- border-color: #334155;
357
- }
358
-
359
- .result-meta-label {
360
- font-size: 0.7rem;
361
- color: #94a3b8;
362
- text-transform: uppercase;
363
- font-weight: 700;
364
- margin-bottom: 0.25rem;
365
- }
366
-
367
- .result-meta-value {
368
- color: #1e293b;
369
- font-weight: 700;
370
- font-size: 0.875rem;
371
- }
372
-
373
- .theme-dark .result-meta-value { color: #fff; }
374
-
375
- .bubbles-layer {
376
- position: absolute;
377
- inset: 0;
378
- overflow: hidden;
379
- pointer-events: none;
380
- z-index: 0;
381
- }