@jjlmoya/utils-cooking 1.18.0 → 1.20.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.
Files changed (53) hide show
  1. package/package.json +7 -4
  2. package/scripts/postinstall.mjs +27 -0
  3. package/src/category/index.ts +12 -12
  4. package/src/entries.ts +26 -0
  5. package/src/tool/american-kitchen-converter/component.astro +0 -498
  6. package/src/tool/american-kitchen-converter/entry.ts +26 -0
  7. package/src/tool/american-kitchen-converter/index.ts +2 -27
  8. package/src/tool/american-kitchen-converter/us-cooking-conversion-calculator-cups-to-grams-fahrenheit.css +496 -0
  9. package/src/tool/banana-ripeness/banana-ripeness.css +587 -0
  10. package/src/tool/banana-ripeness/component.astro +0 -589
  11. package/src/tool/banana-ripeness/entry.ts +26 -0
  12. package/src/tool/banana-ripeness/index.ts +2 -27
  13. package/src/tool/brine/component.astro +0 -536
  14. package/src/tool/brine/entry.ts +29 -0
  15. package/src/tool/brine/equilibrium-brining-calculator-meat-fermentation-ratios.css +534 -0
  16. package/src/tool/brine/index.ts +2 -31
  17. package/src/tool/cookware-guide/component.astro +0 -24
  18. package/src/tool/cookware-guide/cookware-selector.css +22 -0
  19. package/src/tool/cookware-guide/entry.ts +26 -0
  20. package/src/tool/cookware-guide/index.ts +2 -27
  21. package/src/tool/egg-timer/component.astro +1 -505
  22. package/src/tool/egg-timer/entry.ts +30 -0
  23. package/src/tool/egg-timer/index.ts +2 -32
  24. package/src/tool/egg-timer/perfect-boiled-egg-timer-altitude-calculator.css +503 -0
  25. package/src/tool/ingredient-rescaler/component.astro +0 -22
  26. package/src/tool/ingredient-rescaler/entry.ts +26 -0
  27. package/src/tool/ingredient-rescaler/index.ts +2 -27
  28. package/src/tool/ingredient-rescaler/recipe-ingredient-scaler-converter-servings.css +20 -0
  29. package/src/tool/kitchen-timer/component.astro +0 -340
  30. package/src/tool/kitchen-timer/entry.ts +26 -0
  31. package/src/tool/kitchen-timer/index.ts +2 -28
  32. package/src/tool/kitchen-timer/kitchen-timer.css +338 -0
  33. package/src/tool/meringue-peak/component.astro +0 -300
  34. package/src/tool/meringue-peak/entry.ts +26 -0
  35. package/src/tool/meringue-peak/index.ts +2 -27
  36. package/src/tool/meringue-peak/meringue-sugar-ratio-calculator-stiff-peaks.css +298 -0
  37. package/src/tool/mold-scaler/cake-pan-size-converter-calculator.css +364 -0
  38. package/src/tool/mold-scaler/component.astro +0 -366
  39. package/src/tool/mold-scaler/entry.ts +26 -0
  40. package/src/tool/mold-scaler/index.ts +2 -28
  41. package/src/tool/pizza/component.astro +0 -570
  42. package/src/tool/pizza/entry.ts +30 -0
  43. package/src/tool/pizza/index.ts +2 -32
  44. package/src/tool/pizza/neapolitan-pizza-dough-calculator-authentic-recipe.css +569 -0
  45. package/src/tool/roux-guide/component.astro +0 -23
  46. package/src/tool/roux-guide/entry.ts +26 -0
  47. package/src/tool/roux-guide/index.ts +2 -27
  48. package/src/tool/roux-guide/roux-ratio-calculator-thickening-sauce-guide.css +21 -0
  49. package/src/tool/sourdough-calculator/component.astro +0 -371
  50. package/src/tool/sourdough-calculator/entry.ts +26 -0
  51. package/src/tool/sourdough-calculator/index.ts +2 -27
  52. package/src/tool/sourdough-calculator/sourdough-starter-feeding-calculator-ratio-proportions.css +369 -0
  53. package/src/tools.ts +1 -1
@@ -0,0 +1,298 @@
1
+ .meringue-calculator-container {
2
+ --primary: #f472b6;
3
+ --primary-dark: #db2777;
4
+ --text-dark: #1e293b;
5
+ --text-muted: #64748b;
6
+ --text-light: #cbd5e1;
7
+ --bg-light: #f1f5f9;
8
+ --border-dark: #334155;
9
+ --border-muted: #e2e8f0;
10
+ --pink-light: #f472b6;
11
+ --card-bg: #fff;
12
+ --card-border: #e2e8f0;
13
+ --card-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.1);
14
+ --card-hover-shadow: 0 12px 40px 0 rgba(31, 38, 135, 0.15);
15
+ --input-bg: #fff;
16
+ --input-border: #e2e8f0;
17
+ --input-dark-bg: #334155;
18
+ --input-dark-border: #475569;
19
+ --time-bg: #f1f5f9;
20
+ --pro-tip-bg: #fdf2f8;
21
+ --pro-tip-border: #f472b6;
22
+
23
+ max-width: 800px;
24
+ margin: 2rem auto;
25
+ padding: 1rem;
26
+ display: flex;
27
+ flex-direction: column;
28
+ gap: 2rem;
29
+ }
30
+
31
+ :global(.theme-dark) .meringue-calculator-container {
32
+ --text-dark: #f1f5f9;
33
+ --text-muted: #94a3b8;
34
+ --text-light: #cbd5e1;
35
+ --bg-light: #1e293b;
36
+ --border-dark: #475569;
37
+ --border-muted: #334155;
38
+ --card-bg: #1e293b;
39
+ --card-border: #334155;
40
+ --card-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.5);
41
+ --card-hover-shadow: 0 12px 40px 0 rgba(0, 0, 0, 0.3);
42
+ --input-bg: #334155;
43
+ --input-border: #475569;
44
+ --input-dark-bg: #1e293b;
45
+ --input-dark-border: #475569;
46
+ --time-bg: #1e293b;
47
+ --pro-tip-bg: #4c1d3a;
48
+ --pro-tip-border: #db2777;
49
+ }
50
+
51
+ .meringue-card {
52
+ background: var(--card-bg);
53
+ backdrop-filter: blur(12px);
54
+ -webkit-backdrop-filter: blur(12px);
55
+ border: 1px solid var(--card-border);
56
+ border-radius: 24px;
57
+ padding: 2.5rem;
58
+ box-shadow: var(--card-shadow);
59
+ transition: transform 0.3s ease, box-shadow 0.3s ease;
60
+ }
61
+
62
+ .meringue-card:hover {
63
+ transform: translateY(-4px);
64
+ box-shadow: var(--card-hover-shadow);
65
+ }
66
+
67
+ .meringue-input-section {
68
+ display: grid;
69
+ grid-template-columns: 1fr 1fr;
70
+ gap: 2rem;
71
+ margin-bottom: 2.5rem;
72
+ }
73
+
74
+ @media (max-width: 640px) {
75
+ .meringue-input-section {
76
+ grid-template-columns: 1fr;
77
+ }
78
+ }
79
+
80
+ .meringue-input-group {
81
+ display: flex;
82
+ flex-direction: column;
83
+ gap: 0.75rem;
84
+ }
85
+
86
+ .meringue-input-group label {
87
+ font-size: 0.875rem;
88
+ font-weight: 700;
89
+ color: var(--text-muted);
90
+ text-transform: uppercase;
91
+ letter-spacing: 0.05em;
92
+ }
93
+
94
+ .meringue-input-wrapper {
95
+ position: relative;
96
+ display: flex;
97
+ align-items: center;
98
+ }
99
+
100
+ .meringue-input-wrapper input {
101
+ width: 100%;
102
+ padding: 1rem 1.25rem;
103
+ padding-right: 3rem;
104
+ border-radius: 16px;
105
+ border: 2px solid var(--input-border);
106
+ background: var(--input-bg);
107
+ font-size: 1.125rem;
108
+ font-weight: 600;
109
+ color: var(--text-dark);
110
+ transition: all 0.2s ease;
111
+ outline: none;
112
+ }
113
+
114
+ .meringue-input-wrapper input:focus {
115
+ border-color: var(--primary);
116
+ box-shadow: 0 0 0 4px rgba(244, 114, 182, 0.1);
117
+ }
118
+
119
+ :global(.theme-dark) .meringue-input-wrapper input:focus {
120
+ box-shadow: 0 0 0 4px rgba(244, 114, 182, 0.2);
121
+ }
122
+
123
+ .meringue-input-unit {
124
+ position: absolute;
125
+ right: 1.25rem;
126
+ font-weight: 700;
127
+ color: var(--text-light);
128
+ pointer-events: none;
129
+ }
130
+
131
+ .meringue-type-selector {
132
+ display: flex;
133
+ background: var(--bg-light);
134
+ padding: 0.5rem;
135
+ border-radius: 16px;
136
+ gap: 0.25rem;
137
+ }
138
+
139
+ .meringue-type-btn {
140
+ flex: 1;
141
+ padding: 0.75rem;
142
+ border: none;
143
+ background: transparent;
144
+ border-radius: 12px;
145
+ font-size: 0.875rem;
146
+ font-weight: 600;
147
+ color: var(--text-muted);
148
+ cursor: pointer;
149
+ transition: all 0.2s ease;
150
+ }
151
+
152
+ .meringue-type-btn.active {
153
+ background: var(--card-bg);
154
+ color: var(--primary-dark);
155
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
156
+ }
157
+
158
+ :global(.theme-dark) .meringue-type-btn.active {
159
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
160
+ }
161
+
162
+ .meringue-results-grid {
163
+ display: grid;
164
+ grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
165
+ gap: 1.5rem;
166
+ }
167
+
168
+ :global(.meringue-result-item) {
169
+ background: var(--time-bg);
170
+ border: 1px solid var(--card-border);
171
+ border-radius: 20px;
172
+ padding: 1.5rem;
173
+ display: flex;
174
+ flex-direction: column;
175
+ gap: 0.5rem;
176
+ transition: all 0.2s ease;
177
+ }
178
+
179
+ :global(.meringue-result-item):hover {
180
+ background: var(--card-bg);
181
+ transform: scale(1.02);
182
+ }
183
+
184
+ .meringue-result-label {
185
+ font-size: 0.75rem;
186
+ font-weight: 700;
187
+ color: var(--text-light);
188
+ text-transform: uppercase;
189
+ }
190
+
191
+ .meringue-result-value {
192
+ font-size: 1.5rem;
193
+ font-weight: 800;
194
+ color: var(--text-dark);
195
+ display: flex;
196
+ align-items: baseline;
197
+ gap: 0.25rem;
198
+ }
199
+
200
+ .meringue-result-unit {
201
+ font-size: 0.875rem;
202
+ font-weight: 600;
203
+ color: var(--text-light);
204
+ }
205
+
206
+ .meringue-time-section {
207
+ margin-top: 2.5rem;
208
+ padding-top: 2.5rem;
209
+ border-top: 1px solid var(--card-border);
210
+ }
211
+
212
+ .meringue-time-grid {
213
+ display: flex;
214
+ flex-direction: column;
215
+ gap: 1rem;
216
+ }
217
+
218
+ :global(.meringue-time-row) {
219
+ display: flex;
220
+ align-items: center;
221
+ justify-content: space-between;
222
+ padding: 1rem 1.5rem;
223
+ border-radius: 16px;
224
+ background: var(--time-bg);
225
+ transition: all 0.2s ease;
226
+ }
227
+
228
+ .meringue-time-info {
229
+ display: flex;
230
+ flex-direction: column;
231
+ }
232
+
233
+ .meringue-time-stage {
234
+ font-weight: 700;
235
+ color: var(--border-dark);
236
+ }
237
+
238
+ .meringue-time-desc {
239
+ font-size: 0.75rem;
240
+ color: var(--text-muted);
241
+ }
242
+
243
+ .meringue-time-val {
244
+ font-weight: 800;
245
+ color: var(--primary-dark);
246
+ font-size: 1.125rem;
247
+ }
248
+
249
+ :global(.theme-dark) .meringue-time-val {
250
+ color: var(--primary);
251
+ }
252
+
253
+ .meringue-pro-tip {
254
+ margin-top: 2rem;
255
+ padding: 1.25rem;
256
+ border-radius: 16px;
257
+ background: var(--pro-tip-bg);
258
+ border: 1px dashed var(--pro-tip-border);
259
+ display: flex;
260
+ gap: 1rem;
261
+ align-items: center;
262
+ }
263
+
264
+ .meringue-pro-tip svg {
265
+ color: var(--primary-dark);
266
+ flex-shrink: 0;
267
+ }
268
+
269
+ :global(.theme-dark) .meringue-pro-tip svg {
270
+ color: var(--primary);
271
+ }
272
+
273
+ .meringue-pro-tip p {
274
+ font-size: 0.875rem;
275
+ color: var(--primary-dark);
276
+ line-height: 1.5;
277
+ margin: 0;
278
+ }
279
+
280
+ :global(.theme-dark) .meringue-pro-tip p {
281
+ color: var(--pink-light);
282
+ }
283
+
284
+ :global(.meringue-fade-in) {
285
+ animation: meringue-fade-in 0.5s ease forwards;
286
+ }
287
+
288
+ @keyframes meringue-fade-in {
289
+ from {
290
+ opacity: 0;
291
+ transform: translateY(10px);
292
+ }
293
+
294
+ to {
295
+ opacity: 1;
296
+ transform: translateY(0);
297
+ }
298
+ }
@@ -0,0 +1,364 @@
1
+ :root {
2
+ --ms-primary: hsl(262deg, 83%, 58%);
3
+ --ms-primary-light: hsl(262deg, 83%, 95%);
4
+ --ms-primary-dark: hsl(262deg, 83%, 45%);
5
+ --ms-bg-card: hsl(0deg, 0%, 100%);
6
+ --ms-bg-app: hsl(210deg, 20%, 98%);
7
+ --ms-border: hsl(210deg, 20%, 90%);
8
+ --ms-text-main: hsl(210deg, 30%, 20%);
9
+ --ms-text-muted: hsl(210deg, 15%, 50%);
10
+ --ms-shadow-lg: 0 10px 15px -3px rgb(0, 0, 0, 0.1);
11
+ --ms-radius: 1rem;
12
+ --ms-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
13
+ }
14
+
15
+ :global(.theme-dark) {
16
+ --ms-bg-card: hsl(220deg, 25%, 12%);
17
+ --ms-bg-app: hsl(220deg, 30%, 7%);
18
+ --ms-border: hsl(220deg, 20%, 20%);
19
+ --ms-text-main: hsl(210deg, 20%, 95%);
20
+ --ms-text-muted: hsl(210deg, 15%, 70%);
21
+ --ms-primary-light: hsl(262deg, 83%, 15%);
22
+ }
23
+
24
+ .mold-scaler-container {
25
+ max-width: 1000px;
26
+ margin: 0 auto;
27
+ padding: 1rem;
28
+ }
29
+
30
+ .ms-card {
31
+ background: var(--ms-bg-card);
32
+ border: 1px solid var(--ms-border);
33
+ border-radius: var(--ms-radius);
34
+ box-shadow: var(--ms-shadow-lg);
35
+ overflow: hidden;
36
+ display: flex;
37
+ flex-direction: column;
38
+ }
39
+
40
+ @media (min-width: 1024px) {
41
+ .ms-card {
42
+ flex-direction: row;
43
+ min-height: 700px;
44
+ }
45
+ }
46
+
47
+ .ms-sidebar {
48
+ flex: 1;
49
+ padding: 2rem;
50
+ border-bottom: 1px solid var(--ms-border);
51
+ background: linear-gradient(to bottom, var(--ms-bg-card), var(--ms-primary-light));
52
+ }
53
+
54
+ @media (min-width: 1024px) {
55
+ .ms-sidebar {
56
+ border-bottom: none;
57
+ border-right: 1px solid var(--ms-border);
58
+ max-width: 450px;
59
+ }
60
+ }
61
+
62
+ .ms-main {
63
+ flex: 1.5;
64
+ padding: 2rem;
65
+ display: flex;
66
+ flex-direction: column;
67
+ gap: 2rem;
68
+ }
69
+
70
+ .ms-section {
71
+ margin-bottom: 2rem;
72
+ }
73
+
74
+ .ms-section-title {
75
+ display: flex;
76
+ align-items: center;
77
+ gap: 0.75rem;
78
+ font-size: 1.25rem;
79
+ font-weight: 700;
80
+ color: var(--ms-text-main);
81
+ margin-bottom: 1.5rem;
82
+ }
83
+
84
+ .ms-section-badge {
85
+ display: flex;
86
+ align-items: center;
87
+ justify-content: center;
88
+ width: 1.75rem;
89
+ height: 1.75rem;
90
+ background: var(--ms-primary);
91
+ color: var(--ms-bg-card);
92
+ border-radius: 50%;
93
+ font-size: 0.875rem;
94
+ }
95
+
96
+ .ms-shape-selector {
97
+ display: grid;
98
+ grid-template-columns: repeat(3, 1fr);
99
+ gap: 0.75rem;
100
+ margin-bottom: 1.25rem;
101
+ }
102
+
103
+ .ms-shape-btn {
104
+ display: flex;
105
+ flex-direction: column;
106
+ align-items: center;
107
+ padding: 0.75rem;
108
+ border-radius: 0.75rem;
109
+ border: 1px solid var(--ms-border);
110
+ background: var(--ms-bg-card);
111
+ color: var(--ms-text-muted);
112
+ cursor: pointer;
113
+ transition: var(--ms-transition);
114
+ font-size: 0.875rem;
115
+ font-weight: 600;
116
+ }
117
+
118
+ .ms-shape-btn:hover {
119
+ border-color: var(--ms-primary);
120
+ color: var(--ms-primary);
121
+ }
122
+
123
+ .ms-shape-btn.active {
124
+ background: var(--ms-primary);
125
+ color: var(--ms-bg-card);
126
+ border-color: var(--ms-primary);
127
+ box-shadow: 0 4px 12px hsla(262deg, 83%, 58%, 0.3);
128
+ }
129
+
130
+ .ms-shape-icon {
131
+ width: 2rem;
132
+ height: 2rem;
133
+ margin-bottom: 0.5rem;
134
+ border: 2px solid currentcolor;
135
+ transition: var(--ms-transition);
136
+ }
137
+
138
+ .ms-shape-btn[data-shape="round"] .ms-shape-icon {
139
+ border-radius: 50%;
140
+ }
141
+
142
+ .ms-shape-btn[data-shape="square"] .ms-shape-icon {
143
+ border-radius: 4px;
144
+ }
145
+
146
+ .ms-shape-btn[data-shape="rectangular"] .ms-shape-icon {
147
+ border-radius: 2px;
148
+ width: 2.5rem;
149
+ }
150
+
151
+ :global(.ms-input-group) {
152
+ display: flex;
153
+ flex-direction: column;
154
+ gap: 0.5rem;
155
+ }
156
+
157
+ :global(.ms-label) {
158
+ font-size: 0.75rem;
159
+ font-weight: 700;
160
+ color: var(--ms-text-muted);
161
+ text-transform: uppercase;
162
+ letter-spacing: 0.05em;
163
+ }
164
+
165
+ :global(.ms-input) {
166
+ width: 100%;
167
+ padding: 0.75rem 1rem;
168
+ border-radius: 0.5rem;
169
+ border: 1px solid var(--ms-border);
170
+ background: var(--ms-bg-card);
171
+ color: var(--ms-text-main);
172
+ font-weight: 600;
173
+ transition: var(--ms-transition);
174
+ }
175
+
176
+ :global(.ms-input):focus {
177
+ outline: none;
178
+ border-color: var(--ms-primary);
179
+ box-shadow: 0 0 0 3px hsla(262deg, 83%, 58%, 0.1);
180
+ }
181
+
182
+ .ms-hero-result {
183
+ text-align: center;
184
+ padding: 2.5rem;
185
+ background: linear-gradient(135deg, var(--ms-primary), var(--ms-primary-dark));
186
+ color: hsl(0deg, 0%, 100%);
187
+ border-radius: var(--ms-radius);
188
+ box-shadow: var(--ms-shadow-md);
189
+ position: relative;
190
+ overflow: hidden;
191
+ }
192
+
193
+ .ms-result-label {
194
+ font-size: 0.875rem;
195
+ font-weight: 600;
196
+ text-transform: uppercase;
197
+ letter-spacing: 0.1em;
198
+ opacity: 0.8;
199
+ margin-bottom: 0.5rem;
200
+ }
201
+
202
+ .ms-result-value {
203
+ font-size: 4rem;
204
+ font-weight: 800;
205
+ margin-bottom: 0.5rem;
206
+ line-height: 1;
207
+ }
208
+
209
+ .ms-result-text {
210
+ font-size: 1rem;
211
+ opacity: 0.9;
212
+ max-width: 300px;
213
+ margin: 0 auto;
214
+ }
215
+
216
+ .ms-viz-container {
217
+ background: var(--ms-bg-app);
218
+ border: 1px solid var(--ms-border);
219
+ border-radius: var(--ms-radius);
220
+ padding: 1.5rem;
221
+ position: relative;
222
+ aspect-ratio: 4 / 3;
223
+ display: flex;
224
+ flex-direction: column;
225
+ }
226
+
227
+ .ms-viz-svg {
228
+ flex: 1;
229
+ width: 100%;
230
+ height: 100%;
231
+ }
232
+
233
+ .ms-viz-legend {
234
+ display: flex;
235
+ justify-content: center;
236
+ gap: 1.5rem;
237
+ padding-top: 1rem;
238
+ font-size: 0.75rem;
239
+ font-weight: 600;
240
+ }
241
+
242
+ .ms-legend-item {
243
+ display: flex;
244
+ align-items: center;
245
+ gap: 0.5rem;
246
+ }
247
+
248
+ .ms-dot {
249
+ width: 0.75rem;
250
+ height: 0.75rem;
251
+ border-radius: 50%;
252
+ }
253
+
254
+ .ms-dot.original {
255
+ background: var(--ms-primary);
256
+ opacity: 0.5;
257
+ border: 1px dashed var(--ms-primary);
258
+ }
259
+
260
+ .ms-dot.target {
261
+ background: hsl(150deg, 80%, 40%);
262
+ opacity: 0.8;
263
+ border: 1px solid hsl(150deg, 80%, 40%);
264
+ }
265
+
266
+ .ms-ingredients-card {
267
+ border: 1px solid var(--ms-border);
268
+ border-radius: var(--ms-radius);
269
+ padding: 1.5rem;
270
+ }
271
+
272
+ .ms-ingredients-list {
273
+ display: flex;
274
+ flex-direction: column;
275
+ gap: 0.75rem;
276
+ margin-bottom: 1.5rem;
277
+ }
278
+
279
+ :global(.ms-ingredient-row) {
280
+ display: grid;
281
+ grid-template-columns: 1fr;
282
+ gap: 0.75rem;
283
+ padding: 1rem;
284
+ background: var(--ms-bg-app);
285
+ border-radius: 0.75rem;
286
+ border: 1px solid var(--ms-border);
287
+ position: relative;
288
+ animation: slide-in 0.3s ease-out;
289
+ }
290
+
291
+ @keyframes slide-in {
292
+ from {
293
+ opacity: 0;
294
+ transform: translateY(10px);
295
+ }
296
+ to {
297
+ opacity: 1;
298
+ transform: translateY(0);
299
+ }
300
+ }
301
+
302
+ @media (min-width: 640px) {
303
+ :global(.ms-ingredient-row) {
304
+ grid-template-columns: 2fr 1fr 1fr auto;
305
+ align-items: center;
306
+ }
307
+ }
308
+
309
+ :global(.ms-ingredient-final) {
310
+ font-weight: 800;
311
+ color: hsl(150deg, 80%, 40%);
312
+ font-size: 1.125rem;
313
+ padding: 0.5rem;
314
+ text-align: center;
315
+ }
316
+
317
+ :global(.ms-del-btn) {
318
+ background: transparent;
319
+ border: none;
320
+ color: var(--ms-text-muted);
321
+ cursor: pointer;
322
+ padding: 0.5rem;
323
+ border-radius: 0.5rem;
324
+ transition: var(--ms-transition);
325
+ }
326
+
327
+ :global(.ms-del-btn):hover {
328
+ background: hsl(0deg, 85%, 60%);
329
+ color: var(--ms-bg-card);
330
+ }
331
+
332
+ .ms-add-btn {
333
+ width: 100%;
334
+ padding: 1rem;
335
+ background: transparent;
336
+ border: 2px dashed var(--ms-primary);
337
+ color: var(--ms-primary);
338
+ border-radius: 0.75rem;
339
+ font-weight: 700;
340
+ cursor: pointer;
341
+ transition: var(--ms-transition);
342
+ display: flex;
343
+ align-items: center;
344
+ justify-content: center;
345
+ gap: 0.5rem;
346
+ }
347
+
348
+ .ms-add-btn:hover {
349
+ background: var(--ms-primary-light);
350
+ border-style: solid;
351
+ }
352
+
353
+ :global(.ms-empty-state) {
354
+ text-align: center;
355
+ padding: 2rem;
356
+ color: var(--ms-text-muted);
357
+ font-style: italic;
358
+ }
359
+
360
+ :global(.ms-inputs-grid) {
361
+ display: grid;
362
+ grid-template-columns: 1fr 1fr;
363
+ gap: 1rem;
364
+ }