@jjlmoya/utils-cooking 1.38.0 → 1.40.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 (63) hide show
  1. package/package.json +1 -1
  2. package/scripts/fix-translations.js +51 -0
  3. package/src/category/index.ts +5 -0
  4. package/src/entries.ts +6 -1
  5. package/src/index.ts +3 -0
  6. package/src/tests/i18n-titles.test.ts +2 -2
  7. package/src/tests/locale_completeness.test.ts +2 -2
  8. package/src/tests/sous-vide-pasteurization-curves.test.ts +66 -0
  9. package/src/tests/tool_validation.test.ts +2 -2
  10. package/src/tool/pectin-jam-setting-calculator/bibliography.astro +6 -0
  11. package/src/tool/pectin-jam-setting-calculator/bibliography.ts +10 -0
  12. package/src/tool/pectin-jam-setting-calculator/component.astro +170 -0
  13. package/src/tool/pectin-jam-setting-calculator/components/CalculatorInputs.astro +44 -0
  14. package/src/tool/pectin-jam-setting-calculator/components/DropTestVisualizer.astro +40 -0
  15. package/src/tool/pectin-jam-setting-calculator/components/FruitSelector.astro +38 -0
  16. package/src/tool/pectin-jam-setting-calculator/components/RecipeResults.astro +72 -0
  17. package/src/tool/pectin-jam-setting-calculator/entry.ts +26 -0
  18. package/src/tool/pectin-jam-setting-calculator/i18n/de.ts +248 -0
  19. package/src/tool/pectin-jam-setting-calculator/i18n/en.ts +248 -0
  20. package/src/tool/pectin-jam-setting-calculator/i18n/es.ts +248 -0
  21. package/src/tool/pectin-jam-setting-calculator/i18n/fr.ts +248 -0
  22. package/src/tool/pectin-jam-setting-calculator/i18n/id.ts +248 -0
  23. package/src/tool/pectin-jam-setting-calculator/i18n/it.ts +248 -0
  24. package/src/tool/pectin-jam-setting-calculator/i18n/ja.ts +248 -0
  25. package/src/tool/pectin-jam-setting-calculator/i18n/ko.ts +248 -0
  26. package/src/tool/pectin-jam-setting-calculator/i18n/nl.ts +248 -0
  27. package/src/tool/pectin-jam-setting-calculator/i18n/pl.ts +248 -0
  28. package/src/tool/pectin-jam-setting-calculator/i18n/pt.ts +248 -0
  29. package/src/tool/pectin-jam-setting-calculator/i18n/ru.ts +248 -0
  30. package/src/tool/pectin-jam-setting-calculator/i18n/sv.ts +248 -0
  31. package/src/tool/pectin-jam-setting-calculator/i18n/tr.ts +248 -0
  32. package/src/tool/pectin-jam-setting-calculator/i18n/zh.ts +248 -0
  33. package/src/tool/pectin-jam-setting-calculator/index.ts +11 -0
  34. package/src/tool/pectin-jam-setting-calculator/logic.ts +96 -0
  35. package/src/tool/pectin-jam-setting-calculator/pectin-jam-setting-calculator.css +730 -0
  36. package/src/tool/pectin-jam-setting-calculator/seo.astro +15 -0
  37. package/src/tool/sous-vide-pasteurization-curves/bibliography.astro +6 -0
  38. package/src/tool/sous-vide-pasteurization-curves/bibliography.ts +10 -0
  39. package/src/tool/sous-vide-pasteurization-curves/component.astro +275 -0
  40. package/src/tool/sous-vide-pasteurization-curves/components/Controls.astro +90 -0
  41. package/src/tool/sous-vide-pasteurization-curves/components/LethalityChart.astro +28 -0
  42. package/src/tool/sous-vide-pasteurization-curves/components/ResultsDisplay.astro +36 -0
  43. package/src/tool/sous-vide-pasteurization-curves/entry.ts +26 -0
  44. package/src/tool/sous-vide-pasteurization-curves/i18n/de.ts +323 -0
  45. package/src/tool/sous-vide-pasteurization-curves/i18n/en.ts +323 -0
  46. package/src/tool/sous-vide-pasteurization-curves/i18n/es.ts +323 -0
  47. package/src/tool/sous-vide-pasteurization-curves/i18n/fr.ts +323 -0
  48. package/src/tool/sous-vide-pasteurization-curves/i18n/id.ts +323 -0
  49. package/src/tool/sous-vide-pasteurization-curves/i18n/it.ts +323 -0
  50. package/src/tool/sous-vide-pasteurization-curves/i18n/ja.ts +323 -0
  51. package/src/tool/sous-vide-pasteurization-curves/i18n/ko.ts +323 -0
  52. package/src/tool/sous-vide-pasteurization-curves/i18n/nl.ts +323 -0
  53. package/src/tool/sous-vide-pasteurization-curves/i18n/pl.ts +154 -0
  54. package/src/tool/sous-vide-pasteurization-curves/i18n/pt.ts +323 -0
  55. package/src/tool/sous-vide-pasteurization-curves/i18n/ru.ts +154 -0
  56. package/src/tool/sous-vide-pasteurization-curves/i18n/sv.ts +154 -0
  57. package/src/tool/sous-vide-pasteurization-curves/i18n/tr.ts +154 -0
  58. package/src/tool/sous-vide-pasteurization-curves/i18n/zh.ts +323 -0
  59. package/src/tool/sous-vide-pasteurization-curves/index.ts +11 -0
  60. package/src/tool/sous-vide-pasteurization-curves/logic.ts +89 -0
  61. package/src/tool/sous-vide-pasteurization-curves/seo.astro +15 -0
  62. package/src/tool/sous-vide-pasteurization-curves/sous-vide-pasteurization-curves.css +456 -0
  63. package/src/tools.ts +5 -0
@@ -0,0 +1,323 @@
1
+ import type { ToolLocaleContent } from '../../../types';
2
+ import { bibliography } from '../bibliography';
3
+
4
+ const title = 'Sous Vide Pasteurization Curves Calculator';
5
+ const description = 'Calculate the exact time needed for safe core pasteurization against Salmonella and Listeria in sous vide cooking, factoring in meat shape and thickness.';
6
+
7
+ const faq = [
8
+ {
9
+ question: 'What is pasteurization in sous vide cooking?',
10
+ answer: 'Pasteurization is the process of heating food to a specific temperature and holding it there long enough to reduce pathogenic microorganisms (like Salmonella, Listeria, and E. coli) to safe, acceptable levels. Unlike sterilization, it does not destroy all bacterial spores but makes the food safe to consume.',
11
+ },
12
+ {
13
+ question: 'Why does meat thickness affect the cooking time so dramatically?',
14
+ answer: 'Heat transfer in food is governed by conduction. The time required for the core (coldest spot) of the food to reach the water bath temperature increases quadratically with thickness. Doubling the thickness of a steak increases the heating time by approximately four times.',
15
+ },
16
+ {
17
+ question: 'Why is 54.4°C (130°F) considered the minimum safe sous vide temperature?',
18
+ answer: 'At temperatures below 54.4°C, common foodborne pathogens like Salmonella can survive and actively multiply. If food is kept in this "danger zone" for more than 4 hours, toxins can form that are heat-resistant, posing severe food safety risks.',
19
+ },
20
+ {
21
+ question: 'What is a 6D or 6.5D reduction?',
22
+ answer: 'A D-reduction refers to a decimal (logarithmic) reduction in the bacterial population. A 6.5D reduction means that 99.99995% of the target pathogen is killed. For example, if there were 1,000,000 bacteria originally, fewer than 1 would survive.',
23
+ },
24
+ {
25
+ question: 'How does food geometry alter heating rate?',
26
+ answer: 'Heat penetrates a sphere from all directions (3 dimensions) and a cylinder from the sides (2 dimensions), whereas a flat slab is heated primarily from the top and bottom (1 dimension). Thus, spheres heat the fastest, followed by cylinders, with slabs taking the longest time.',
27
+ },
28
+ ];
29
+
30
+ const howTo = [
31
+ {
32
+ name: 'Set bath temperature',
33
+ text: 'Adjust the slider to match your water bath temperature. Note that higher temperatures pasteurize exponentially faster.',
34
+ },
35
+ {
36
+ name: 'Specify meat thickness',
37
+ text: 'Measure the thickest part of your meat in millimeters and enter it into the calculator.',
38
+ },
39
+ {
40
+ name: 'Select geometry shape',
41
+ text: 'Choose whether your food is shaped like a flat slab (steak, chicken breast), a cylinder (beef tenderloin, ballotine), or a sphere (meatball).',
42
+ },
43
+ {
44
+ name: 'Select target pathogen',
45
+ text: 'Choose Salmonella for standard meat and poultry safety, or Listeria monocytogenes for high-risk individuals or extended safety.',
46
+ },
47
+ {
48
+ name: 'Review total cook time',
49
+ text: 'The calculator outputs the core heating time and lethality hold time. Add them together for the total safe cooking duration.',
50
+ },
51
+ ];
52
+
53
+ const faqSchema = {
54
+ '@context': 'https://schema.org' as const,
55
+ '@type': 'FAQPage' as const,
56
+ mainEntity: faq.map((item) => ({
57
+ '@type': 'Question' as const,
58
+ name: item.question,
59
+ acceptedAnswer: { '@type': 'Answer' as const, text: item.answer },
60
+ })),
61
+ };
62
+
63
+ const howToSchema = {
64
+ '@context': 'https://schema.org' as const,
65
+ '@type': 'HowTo' as const,
66
+ name: title,
67
+ description,
68
+ step: howTo.map((step) => ({
69
+ '@type': 'HowToStep' as const,
70
+ name: step.name,
71
+ text: step.text,
72
+ })),
73
+ };
74
+
75
+ const appSchema = {
76
+ '@context': 'https://schema.org' as const,
77
+ '@type': 'SoftwareApplication' as const,
78
+ name: title,
79
+ description,
80
+ applicationCategory: 'UtilitiesApplication',
81
+ operatingSystem: 'Web',
82
+ offers: { '@type': 'Offer' as const, price: '0', priceCurrency: 'EUR' },
83
+ };
84
+
85
+ export const content: ToolLocaleContent = {
86
+ slug: 'sous-vide-pasteurization-curves',
87
+ title: 'Sous Vide Pasteurization Curves',
88
+ description: 'Calculate the exact time needed for safe core pasteurization against Salmonella and Listeria in sous vide cooking, factoring in meat shape and thickness.',
89
+ faqTitle: 'Frequently Asked Questions',
90
+ ui: {
91
+ title: 'Sous Vide Pasteurization Curves',
92
+ subtitle: 'Thermal lethality kinetics and core temperature compensation',
93
+ bathTempLabel: 'Water Bath Temperature',
94
+ thicknessLabel: 'Meat Thickness',
95
+ shapeLabel: 'Meat Geometry',
96
+ shapeSlab: 'Flat Slab (e.g. Steak, Chicken Breast)',
97
+ shapeCylinder: 'Cylinder (e.g. Tenderloin, Roulade)',
98
+ shapeSphere: 'Sphere (e.g. Meatball)',
99
+ pathogenLabel: 'Target Pathogen',
100
+ pathogenSalmonella: 'Salmonella (Standard)',
101
+ pathogenListeria: 'Listeria monocytogenes',
102
+ resultsTitle: 'Safe Pasteurization Time',
103
+ heatingTime: 'Core Heating Time',
104
+ lethalityTime: 'Pathogen Letality Time',
105
+ totalTime: 'Total Cooking Time',
106
+ dangerZoneTitle: 'Biological Hazard Danger Zone',
107
+ dangerZoneDesc: 'Temperatures below 54.4°C (130°F) cannot safely pasteurize food because bacterial replication rates can exceed thermal death rates. Do not cook sous vide below this temperature for more than 4 hours.',
108
+ chartTitle: 'Logarithmic Bacterial Reduction Curve',
109
+ chartXLabel: 'Time (minutes)',
110
+ chartYLabel: 'Log Reduction',
111
+ disclaimer: 'Calculations assume starting temperature of 5°C and thermal diffusivity of lean meat. Always use a calibrated digital thermometer to verify bath temperature.',
112
+ minutesUnit: 'min',
113
+ mmUnit: 'mm',
114
+ inUnit: 'in',
115
+ tempUnitC: '°C',
116
+ tempUnitF: '°F',
117
+ systemLabel: 'Measurement System',
118
+ systemMetric: 'Metric',
119
+ systemImperial: 'Imperial'
120
+ },
121
+ faq,
122
+ howTo,
123
+ seo: [
124
+ {
125
+ type: 'title',
126
+ text: 'Sous Vide Pasteurization: The Complete Safety Guide for Home Cooks',
127
+ level: 2,
128
+ },
129
+ {
130
+ type: 'paragraph',
131
+ html: 'Sous vide cooking has transformed home kitchens by making impossible-to-overcook steaks accessible to anyone with an immersion circulator. But the method hides a critical complexity: at the low temperatures that produce that perfect medium-rare pink edge to edge, you are operating millimeters above the thermal death threshold of dangerous bacteria. This guide explains exactly how to calculate safe pasteurization times for any cut of meat, at any temperature, so you never serve undercooked chicken or fish again.',
132
+ },
133
+ {
134
+ type: 'title',
135
+ text: 'Why Sous Vide Safety Is Different from Traditional Cooking',
136
+ level: 3,
137
+ },
138
+ {
139
+ type: 'paragraph',
140
+ html: 'When you sear a chicken breast at 200°C, the surface hits lethal temperatures instantly and bacteria die in seconds. Sous vide flips this model: the water bath runs at the exact final temperature you want the food to reach, sometimes as low as 55°C. At these temperatures, killing Salmonella or Listeria is not instant - it is a slow, time-dependent process measured in minutes or even hours. The USDA FSIS Appendix A tables specify that achieving a 6.5-log reduction in Salmonella requires holding poultry at 60°C for approximately 28 minutes after the core reaches temperature. At 55°C, this time stretches to nearly 90 minutes. If you pull the bag out when the timer beeps without accounting for lethality time, you may be serving under-pasteurized food.',
141
+ },
142
+ {
143
+ type: 'title',
144
+ text: 'Real-World Sous Vide Times: What Home Cooks Actually Need',
145
+ level: 2,
146
+ },
147
+ {
148
+ type: 'paragraph',
149
+ html: 'The following table reflects what home cooks actually search for: specific cuts of meat, at common temperatures, with total times that include both the heat-up lag and the pathogen lethality hold. These values assume a 25mm thickness, starting from refrigerated temperature (5°C), targeting a 6.5-log Salmonella reduction.',
150
+ },
151
+ {
152
+ type: 'table',
153
+ headers: ['Food', 'Bath Temp', 'Core Heat-Up', 'Lethality Hold', 'Total Time', 'Result'],
154
+ rows: [
155
+ ['Chicken Breast', '60°C / 140°F', '~35 min', '~28 min', '~63 min', 'Juicy, fully pasteurized'],
156
+ ['Chicken Breast', '65°C / 149°F', '~35 min', '~3 min', '~38 min', 'Firmer, traditional texture'],
157
+ ['Salmon Fillet', '50°C / 122°F', '~20 min', '~55 min', '~75 min', 'Buttery, translucent, safe'],
158
+ ['Beef Steak', '55°C / 131°F', '~40 min', '~89 min', '~129 min', 'Medium-rare, pasteurized surface'],
159
+ ['Pork Tenderloin', '60°C / 140°F', '~35 min', '~28 min', '~63 min', 'Tender with slight pink'],
160
+ ['Duck Breast', '57°C / 135°F', '~35 min', '~52 min', '~87 min', 'Rich, medium, food-safe'],
161
+ ['Turkey Breast', '63°C / 145°F', '~40 min', '~9 min', '~49 min', 'Moist, never dry'],
162
+ ['Meatballs (sphere)', '60°C / 140°F', '~25 min', '~28 min', '~53 min', 'Uniformly cooked'],
163
+ ],
164
+ },
165
+ {
166
+ type: 'title',
167
+ text: 'The Logarithmic Math of Bacterial Death: D-Values and z-Values Explained',
168
+ level: 3,
169
+ },
170
+ {
171
+ type: 'paragraph',
172
+ html: 'Bacteria do not die all at once like flipping a switch. Thermal death follows first-order kinetics: a constant fraction of the population is killed per unit of time at a given temperature. The <strong>D-value</strong> (decimal reduction time) is the time required at a specific temperature to kill 90% of the bacteria present - a 1-log reduction. For Salmonella at 60°C, the D-value is approximately 4.3 minutes. The <strong>z-value</strong> (typically 5.5°C for Salmonella) tells us how much we need to raise the temperature to make the process 10 times faster. Raise the bath from 55°C to 60.5°C, and the required lethality time drops by a factor of 10 - from 89 minutes to about 9 minutes. This exponential relationship is why cooking at 65°C is dramatically faster and safer than cooking at 55°C, even though the food looks barely different.',
173
+ },
174
+ {
175
+ type: 'title',
176
+ text: 'The Danger Zone: Why 54.4°C (130°F) Is the Absolute Floor',
177
+ level: 3,
178
+ },
179
+ {
180
+ type: 'diagnostic',
181
+ variant: 'warning',
182
+ title: 'Biological Hazard Below 54.4 C (130 F)',
183
+ html: 'Never sous vide below 54.4 C (130 F) for more than 4 hours. At temperatures below this threshold, the thermal death rate of bacteria like Salmonella and Clostridium perfringens is actually slower than their natural reproduction rate. The bacterial population can grow during cooking. Worse, certain pathogens like Bacillus cereus and Clostridium botulinum Type E can produce heat-stable toxins that survive cooking. If your circulator reads 52 C and you leave meat in for 8 hours thinking low and slow is safer, you are creating a biological hazard.',
184
+ },
185
+ {
186
+ type: 'title',
187
+ text: 'How Meat Shape and Thickness Dominate Cooking Time',
188
+ level: 3,
189
+ },
190
+ {
191
+ type: 'paragraph',
192
+ html: 'The thermal center of your food - the last point to reach the target temperature - dictates total cooking time. Heat conduction follows Fourier\'s law, and the time for the core to reach within 1°C of the bath temperature scales with the <strong>square of the thickness</strong>. Double the thickness of a chicken breast from 25mm to 50mm, and the heating time quadruples from 35 minutes to approximately 140 minutes. Shape matters enormously: a <strong>flat slab</strong> (steak, fillet) heats from two opposing surfaces and is the slowest geometry. A <strong>cylinder</strong> (tenderloin, roulade) receives heat radially from all sides and heats roughly 1.4 times faster than a slab of the same thickness. A <strong>sphere</strong> (meatball) heats from all directions and is the fastest geometry, about 1.7 times faster than a slab. This is why spherical items like meatballs or arancini reach safe core temperatures surprisingly quickly.',
193
+ },
194
+ {
195
+ type: 'title',
196
+ text: 'Salmonella vs. Listeria: Choosing Your Target Pathogen',
197
+ level: 3,
198
+ },
199
+ {
200
+ type: 'comparative',
201
+ columns: 2,
202
+ items: [
203
+ {
204
+ title: 'Salmonella (Standard)',
205
+ icon: 'mdi:bacteria-outline',
206
+ description: 'Most common poultry contaminant, moderately heat-sensitive, widely used as the reference pathogen in USDA FSIS standards.',
207
+ points: [
208
+ 'z-value of 5.5 C: moderately heat-sensitive',
209
+ 'Target: 6.5-log reduction for poultry, 5-log for beef',
210
+ 'D60 = 4.3 minutes: dies relatively quickly at 60 C',
211
+ 'Safe for healthy adults with standard pasteurization times',
212
+ 'Surrogate for Salmonella enterica serovars in all meat types',
213
+ ],
214
+ },
215
+ {
216
+ title: 'Listeria monocytogenes',
217
+ icon: 'mdi:shield-alert-outline',
218
+ description: 'Higher heat resistance than Salmonella. Critical for vulnerable populations including pregnant women and immunocompromised individuals.',
219
+ highlight: true,
220
+ points: [
221
+ 'Higher heat resistance than Salmonella',
222
+ 'z-value of 6.0 C: requires more temperature increase to accelerate kill',
223
+ 'Target: 6-log reduction recommended',
224
+ 'D60 = 7.7 minutes: takes nearly twice as long as Salmonella',
225
+ 'Critical for pregnant women, elderly, and immunocompromised individuals',
226
+ ],
227
+ },
228
+ ],
229
+ },
230
+ {
231
+ type: 'title',
232
+ text: 'Food Safety for Vulnerable Populations: When Standard Pasteurization Is Not Enough',
233
+ level: 3,
234
+ },
235
+ {
236
+ type: 'paragraph',
237
+ html: 'Pregnant women, adults over 65, chemotherapy patients, transplant recipients, and people with HIV or autoimmune conditions face dramatically higher risks from foodborne illness. Listeria monocytogenes in particular can cross the placental barrier and cause miscarriage, stillbirth, or neonatal meningitis - even when the mother shows no symptoms. For these populations, the standard 6.5-log Salmonella reduction is insufficient. Select Listeria as the target pathogen and extend cooking times accordingly. At 60°C, the additional lethality time for Listeria versus Salmonella adds approximately 16 extra minutes for a 25mm chicken breast - a small time investment for substantial safety margins.',
238
+ },
239
+ {
240
+ type: 'title',
241
+ text: 'Why Cold Start Temperature Matters: Always Measure from Refrigerated',
242
+ level: 3,
243
+ },
244
+ {
245
+ type: 'paragraph',
246
+ html: 'This calculator assumes a starting temperature of 5°C - standard refrigerator temperature. If you take meat directly from the freezer at -18°C, the core will take significantly longer to reach target temperature. The latent heat of melting ice within frozen muscle tissue creates a plateau at 0°C that can add 30-50% to the heating time. Always thaw frozen items completely in the refrigerator before sous vide cooking and verify the core starting temperature. Similarly, if you leave meat on the counter to temper for 30 minutes before bagging, the reduced heating time is not captured by this model and you may overshoot pasteurization - which is safe but may affect texture.',
247
+ },
248
+ {
249
+ type: 'title',
250
+ text: 'Pasteurization Does Not Mean Sterilization: What Survives',
251
+ level: 3,
252
+ },
253
+ {
254
+ type: 'paragraph',
255
+ html: 'Pasteurization reduces pathogens to levels considered safe by public health standards - typically a 5-log to 7-log reduction. It does not produce a sterile product. Certain bacterial spores, including <em>Clostridium botulinum</em> and <em>Clostridium perfringens</em>, can survive pasteurization temperatures and germinate if food is improperly stored. After sous vide cooking, food must be either served immediately, held above 54.4°C for service, or rapidly chilled in an ice bath to below 4°C within 2 hours. Vacuum-sealed bags create an anaerobic environment that Clostridium botulinum finds ideal; never leave cooked sous vide bags at room temperature. For extended refrigerator storage beyond 5 days, freezing is recommended.',
256
+ },
257
+ {
258
+ type: 'title',
259
+ text: 'USDA FSIS Compliance: Meeting Regulatory Standards at Home',
260
+ level: 3,
261
+ },
262
+ {
263
+ type: 'paragraph',
264
+ html: 'The USDA Food Safety and Inspection Service (FSIS) Appendix A provides the definitive regulatory framework for lethality performance standards in meat and poultry products. These tables specify the time-temperature combinations required for specific log reductions in Salmonella. While designed for commercial processors, home cooks can use the same science. For example, FSIS Appendix A mandates that ready-to-eat poultry achieve a 6.5-log reduction in Salmonella. At 60°C, the required holding time after the entire product reaches temperature is 28.1 minutes. This calculator implements the FSIS mathematical model using first-order Arrhenius kinetics with D-values and z-values derived from peer-reviewed thermal inactivation studies, adapted for home sous vide circulator use.',
265
+ },
266
+ {
267
+ type: 'title',
268
+ text: 'Fish and Seafood: Different Rules for Different Proteins',
269
+ level: 3,
270
+ },
271
+ {
272
+ type: 'paragraph',
273
+ html: 'Fish muscle has different thermal properties than mammalian or avian meat. Fish heats faster due to lower density and thinner typical cuts, but the pathogens of concern differ. For raw or lightly cooked fish, <em>Vibrio</em> species and <em>Anisakis</em> parasites are the primary concerns rather than Salmonella. The FDA recommends freezing fish at -20°C for 7 days before raw consumption to kill parasites, then sous vide pasteurizing against Listeria at the final cook. Salmon cooked at 50°C requires approximately 55 minutes of hold time for a 6-log Listeria reduction, producing a unique texture that is impossible to achieve with any other cooking method. Tuna and other scombroid fish require additional care: histamine produced by bacterial action before cooking is heat-stable and not destroyed by pasteurization; always source sushi-grade fish from reputable suppliers and keep it below 4°C before cooking.',
274
+ },
275
+ {
276
+ type: 'title',
277
+ text: 'The Texture-Safety Tradeoff: Why Higher Temperatures Are Faster but Different',
278
+ level: 3,
279
+ },
280
+ {
281
+ type: 'paragraph',
282
+ html: 'Every sous vide cook faces the same decision: cook lower and longer for better texture, or cook higher and faster for convenience and safety margin. Chicken breast cooked at 60°C produces meat so juicy it challenges expectations of what poultry can be, but requires a 28-minute lethality hold after core equilibration for a total cook time of over an hour. At 65°C, the same breast pasteurizes in just 3 minutes of hold time for a total of 38 minutes, but the muscle fibers contract more, expelling some moisture. Neither approach is wrong; the calculator simply gives you the numbers to make an informed choice. For dinner parties where timing is flexible, go low. For weeknight meals, go higher. The food will always be safe if the calculated time is respected.',
283
+ },
284
+ {
285
+ type: 'title',
286
+ text: 'Equipment Calibration: Your Circulator Might Be Lying to You',
287
+ level: 3,
288
+ },
289
+ {
290
+ type: 'tip',
291
+ html: '<strong>Verify your immersion circulator temperature with a calibrated digital thermometer.</strong> Consumer circulators can drift by 1-2°C over time, which at the margins of pasteurization (55-58°C) can mean the difference between a safe 89-minute cook and a dangerous under-pasteurization. Test your circulator against a reference thermometer in a well-insulated container once a month. A 1°C error at 55°C changes lethality time by approximately 30 minutes for Salmonella.',
292
+ },
293
+ {
294
+ type: 'title',
295
+ text: 'Cooking Multiple Items: How Bag Count Affects Heat Transfer',
296
+ level: 3,
297
+ },
298
+ {
299
+ type: 'paragraph',
300
+ html: 'A common mistake is loading a sous vide bath with multiple bags and assuming the timing calculated for a single item still applies. Water must circulate freely between bags for effective heat transfer. A tightly packed bath creates stagnant cold zones where bags insulate each other from the heated water. As a rule of thumb, leave at least 2cm of water space between bags, and if cooking more than 4 items, increase the calculated time by 15-20% to compensate. Better yet, use a container large enough that water can freely circulate around every bag. For spherical items like meatballs, the geometry advantage diminishes significantly if they are touching or stacked, as the contact points block radial heat transfer.',
301
+ },
302
+ {
303
+ type: 'title',
304
+ text: 'Quick Reference: Minimum Safe Temperatures and Times per Food Type',
305
+ level: 2,
306
+ },
307
+ {
308
+ type: 'table',
309
+ headers: ['Food Type', 'Minimum Core Temp', 'Pasteurization Time at Min Temp', 'Faster at', 'Recommended for'],
310
+ rows: [
311
+ ['Chicken & Poultry', '60°C / 140°F', '~28 min (6.5-log Salmonella)', '65°C: ~3 min hold', 'All consumers'],
312
+ ['Pork (whole cuts)', '60°C / 140°F', '~28 min (6.5-log Salmonella)', '65°C: ~3 min hold', 'All consumers'],
313
+ ['Beef (steaks, roasts)', '55°C / 131°F', '~89 min (6.5-log Salmonella)', '60°C: ~28 min hold', 'Healthy adults (surface pasteurization)'],
314
+ ['Ground Beef', '60°C / 140°F', '~28 min (6.5-log Salmonella)', '65°C: immediate', 'All consumers (bacteria mixed throughout)'],
315
+ ['Fish & Seafood', '50°C / 122°F', '~55 min (Listeria)', '55°C: ~22 min hold', 'Pre-frozen for parasite control'],
316
+ ['Eggs (in shell)', '57°C / 135°F', '~75 min (Salmonella)', '60°C: ~28 min hold', 'Pasteurized shell eggs'],
317
+ ['Vegetables', '85°C / 185°F', 'Not applicable (enzyme inactivation)', 'N/A', 'Pectin breakdown, no pathogen concern'],
318
+ ],
319
+ },
320
+ ],
321
+ bibliography,
322
+ schemas: [faqSchema, howToSchema, appSchema],
323
+ };