@jjlmoya/utils-alcohol 1.11.0 → 1.12.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,369 +0,0 @@
1
- .alc-app {
2
- width: 100%;
3
- max-width: 56rem;
4
- margin: 0 auto;
5
- padding: 0.5rem;
6
- }
7
-
8
- .alc-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 .alc-card {
17
- background: #0f172a;
18
- border-color: #1e293b;
19
- color: #f1f5f9;
20
- }
21
-
22
- .alc-grid { display: grid; }
23
-
24
- @media (min-width: 768px) {
25
- .alc-grid {
26
- grid-template-columns: 1fr 1fr;
27
- align-items: stretch;
28
- }
29
- }
30
-
31
- .alc-inputs-panel {
32
- display: flex;
33
- flex-direction: column;
34
- }
35
-
36
- @media (min-width: 768px) { .alc-inputs-panel { border-right: 1px solid #e2e8f0; } }
37
- .theme-dark .alc-inputs-panel { border-color: #1e293b; }
38
-
39
- .alc-sec {
40
- padding: 1.25rem 1.5rem;
41
- border-bottom: 1px solid #e2e8f0;
42
- }
43
- .theme-dark .alc-sec { border-color: #1e293b; }
44
- .alc-sec:last-child { border-bottom: none; }
45
-
46
- .alc-sex-weight {
47
- display: grid;
48
- grid-template-columns: 1fr 1fr;
49
- gap: 1.25rem;
50
- }
51
- .alc-field {
52
- display: flex;
53
- flex-direction: column;
54
- gap: 0.75rem;
55
- }
56
-
57
- .field-label {
58
- font-size: 0.75rem;
59
- font-weight: 700;
60
- text-transform: uppercase;
61
- letter-spacing: 0.1em;
62
- color: #94a3b8;
63
- display: flex;
64
- align-items: center;
65
- gap: 0.5rem;
66
- }
67
- .field-label-icon {
68
- width: 1rem;
69
- height: 1rem;
70
- }
71
-
72
- .sex-toggle {
73
- display: flex;
74
- gap: 0.5rem;
75
- padding: 0.25rem;
76
- background: #f1f5f9;
77
- border-radius: 0.75rem;
78
- }
79
- .theme-dark .sex-toggle { background: #1e293b; }
80
-
81
- .sex-btn {
82
- flex: 1;
83
- padding: 0.75rem;
84
- border-radius: 0.5rem;
85
- border: none;
86
- cursor: pointer;
87
- display: flex;
88
- align-items: center;
89
- justify-content: center;
90
- color: #94a3b8;
91
- background: transparent;
92
- transition: all 0.2s;
93
- }
94
- .sex-btn:hover { color: #64748b; }
95
- .sex-btn.selected {
96
- background: #fff;
97
- color: #4f46e5;
98
- box-shadow: 0 1px 3px rgba(0,0,0,0.1);
99
- }
100
- .theme-dark .sex-btn.selected {
101
- background: #334155;
102
- color: #818cf8;
103
- }
104
- .sex-icon {
105
- width: 1.5rem;
106
- height: 1.5rem;
107
- }
108
-
109
- .weight-input-wrap { position: relative; }
110
- .weight-input {
111
- width: 100%;
112
- background: #f8fafc;
113
- border: 2px solid #e2e8f0;
114
- border-radius: 0.75rem;
115
- padding: 0.75rem 3rem 0.75rem 1rem;
116
- font-weight: 700;
117
- font-size: 1.125rem;
118
- outline: none;
119
- transition: border-color 0.2s;
120
- box-sizing: border-box;
121
- }
122
- .theme-dark .weight-input {
123
- background: rgba(0,0,0,0.2);
124
- border-color: #334155;
125
- color: #f1f5f9;
126
- }
127
- .weight-input:focus { border-color: #6366f1; }
128
- .weight-unit {
129
- position: absolute;
130
- right: 1rem;
131
- top: 50%;
132
- transform: translateY(-50%);
133
- color: #94a3b8;
134
- font-weight: 700;
135
- font-size: 0.75rem;
136
- text-transform: uppercase;
137
- }
138
-
139
- .drink-btns {
140
- display: grid;
141
- grid-template-columns: repeat(4, 1fr);
142
- gap: 0.75rem;
143
- margin-top: 0.75rem;
144
- }
145
- .drink-add-btn {
146
- display: flex;
147
- flex-direction: column;
148
- align-items: center;
149
- gap: 0.5rem;
150
- padding: 1rem;
151
- border-radius: 0.75rem;
152
- border: none;
153
- cursor: pointer;
154
- background: #f1f5f9;
155
- color: #475569;
156
- transition: all 0.15s;
157
- }
158
- .theme-dark .drink-add-btn {
159
- background: #1e293b;
160
- color: #94a3b8;
161
- }
162
- .drink-add-btn:hover {
163
- background: #e0e7ff;
164
- color: #6366f1;
165
- transform: scale(1.05);
166
- }
167
- .drink-add-btn:active { transform: scale(0.95); }
168
- .drink-icon {
169
- width: 2rem;
170
- height: 2rem;
171
- }
172
-
173
- .list-header {
174
- display: flex;
175
- justify-content: space-between;
176
- align-items: center;
177
- margin-bottom: 0.75rem;
178
- }
179
- .items-count {
180
- font-size: 0.75rem;
181
- font-weight: 900;
182
- color: #6366f1;
183
- text-transform: uppercase;
184
- }
185
-
186
- .drinks-list {
187
- max-height: 250px;
188
- overflow-y: auto;
189
- display: flex;
190
- flex-direction: column;
191
- gap: 0.5rem;
192
- padding-right: 0.5rem;
193
- }
194
- .list-empty {
195
- text-align: center;
196
- padding: 2rem 0;
197
- color: #cbd5e1;
198
- display: flex;
199
- flex-direction: column;
200
- align-items: center;
201
- gap: 0.75rem;
202
- }
203
- .theme-dark .list-empty { color: #334155; }
204
- .list-empty-icon {
205
- width: 2.5rem;
206
- height: 2.5rem;
207
- opacity: 0.2;
208
- }
209
- .list-empty-text {
210
- font-size: 0.875rem;
211
- font-weight: 500;
212
- }
213
-
214
- .custom-scroll::-webkit-scrollbar { width: 4px; }
215
- .custom-scroll::-webkit-scrollbar-track { background: transparent; }
216
- .custom-scroll::-webkit-scrollbar-thumb {
217
- background: #e2e8f0;
218
- border-radius: 10px;
219
- }
220
-
221
- .alc-results-panel {
222
- display: flex;
223
- flex-direction: column;
224
- background: #f8fafc;
225
- }
226
- .theme-dark .alc-results-panel { background: rgba(0,0,0,0.2); }
227
-
228
- .bac-section {
229
- background: #4f46e5;
230
- color: #fff;
231
- padding: 1.5rem;
232
- position: relative;
233
- overflow: hidden;
234
- flex-shrink: 0;
235
- }
236
- .theme-dark .bac-section { background: #4338ca; }
237
- .bac-bg-icon {
238
- position: absolute;
239
- top: 0;
240
- right: 0;
241
- padding: 1.5rem;
242
- opacity: 0.1;
243
- }
244
- .bac-bg-icon-svg {
245
- width: 5rem;
246
- height: 5rem;
247
- transform: rotate(12deg);
248
- }
249
- .bac-content {
250
- position: relative;
251
- z-index: 1;
252
- display: flex;
253
- flex-direction: column;
254
- gap: 1rem;
255
- }
256
- .bac-label {
257
- font-size: 0.75rem;
258
- font-weight: 700;
259
- text-transform: uppercase;
260
- letter-spacing: 0.2em;
261
- opacity: 0.6;
262
- }
263
- .bac-value-row {
264
- display: flex;
265
- align-items: baseline;
266
- gap: 0.5rem;
267
- }
268
- .bac-number {
269
- font-size: 3.5rem;
270
- font-weight: 900;
271
- letter-spacing: -0.05em;
272
- line-height: 1;
273
- font-variant-numeric: tabular-nums;
274
- }
275
- .bac-unit {
276
- font-size: 1rem;
277
- font-weight: 700;
278
- opacity: 0.6;
279
- }
280
-
281
- .time-box {
282
- display: flex;
283
- align-items: center;
284
- gap: 0.75rem;
285
- background: rgba(255,255,255,0.1);
286
- border-radius: 0.75rem;
287
- padding: 0.75rem;
288
- border: 1px solid rgba(255,255,255,0.1);
289
- }
290
- .time-icon {
291
- width: 1.25rem;
292
- height: 1.25rem;
293
- flex-shrink: 0;
294
- }
295
- .time-text {
296
- font-weight: 700;
297
- font-size: 0.875rem;
298
- }
299
-
300
- .alc-advice-sec {
301
- display: flex;
302
- flex-direction: column;
303
- gap: 1rem;
304
- }
305
- .advice-row {
306
- display: flex;
307
- align-items: center;
308
- gap: 1rem;
309
- }
310
- .advice-icon {
311
- width: 2.25rem;
312
- height: 2.25rem;
313
- border-radius: 0.6rem;
314
- display: flex;
315
- align-items: center;
316
- justify-content: center;
317
- flex-shrink: 0;
318
- }
319
- .advice-icon-blue {
320
- background: #dbeafe;
321
- color: #3b82f6;
322
- }
323
- .theme-dark .advice-icon-blue { background: rgba(59,130,246,0.2); }
324
- .advice-icon-amber {
325
- background: #fef3c7;
326
- color: #f59e0b;
327
- }
328
- .theme-dark .advice-icon-amber { background: rgba(245,158,11,0.2); }
329
- .advice-icon-svg {
330
- width: 1.25rem;
331
- height: 1.25rem;
332
- }
333
- .advice-label {
334
- font-size: 0.75rem;
335
- font-weight: 700;
336
- color: #94a3b8;
337
- text-transform: uppercase;
338
- margin: 0 0 0.2rem;
339
- }
340
- .advice-value {
341
- font-size: 1.125rem;
342
- font-weight: 900;
343
- margin: 0;
344
- }
345
- .advice-value-sm { font-size: 0.875rem; }
346
-
347
- .alc-disclaimer-sec { margin-top: auto; }
348
- .disclaimer {
349
- background: #fffbeb;
350
- border-radius: 0.75rem;
351
- padding: 0.875rem;
352
- display: flex;
353
- gap: 0.75rem;
354
- color: #92400e;
355
- font-size: 0.75rem;
356
- line-height: 1.6;
357
- border: 1px solid #fde68a;
358
- }
359
- .theme-dark .disclaimer {
360
- background: rgba(120,53,15,0.2);
361
- border-color: rgba(120,53,15,0.5);
362
- color: #f59e0b;
363
- }
364
- .disclaimer-icon {
365
- width: 1.5rem;
366
- height: 1.5rem;
367
- flex-shrink: 0;
368
- }
369
- .disclaimer-text { margin: 0; }