// recipes-data.jsx — 4 道菜的食谱数据
// step.timer (秒) — 该步需要计时,无该字段则不显示计时器
// recipe.accent — 该食谱主色,用于 hero / 进度条等
// ingredient.qty (string) — 自然单位描述: "2 个" / "1 小勺" / "半茶匙" / "一小把"
// ingredient.note — 选购/使用建议(深圳本地视角,菜场/超市易得)
// recipe.variations[] — 同一道菜的不同做法变体
// recipe.principles[] — 科学原理: 为什么这么做能做好(温度/化学/物理)

const RECIPES = [
  {
    id: 'tomato-egg', name: '番茄炒蛋', nameEn: 'Tomato & Scrambled Eggs',
    category: 'egg', tags: ['酸甜', '快手', '家常'],
    time: 10, difficulty: '入门', accent: '#D45A3D', heroIcon: 'tomato',
    heroImage: 'recipe-images/tomato-egg.png',
    intro: '一道看似最简单、却最见功力的家常菜。蛋液的滑嫩与番茄的酸甜需精准平衡 — 火候不到则寡淡,过则发柴。',
    chefNote: '关键在分次下锅。蛋须七成熟先盛出,余温会让它在回锅时恰好定形。',
    baseServings: 2,
    ingredients: [
      { name: '番茄', qty: '中型 2 个', icon: 'tomato', note: '选沙瓤红番茄(汁多肉糯,带绿萼蒂的更新鲜)。盒马"普罗旺斯番茄"最稳' },
      { name: '鸡蛋', qty: '3 个', icon: 'egg', note: '普通笼养盒装蛋够用。土鸡蛋蛋黄太浓反而炒蛋偏腥' },
      { name: '葱白', qty: '1 段', icon: 'scallion', note: '小葱或大葱白皆可,菜场散装小葱最香' },
      { name: '蒜', qty: '2 瓣', icon: 'garlic', note: '紫皮独头蒜最香。普通白蒜也行' },
      { name: '盐', qty: '半茶匙', icon: 'salt', note: '普通食盐即可,不必海盐' },
      { name: '白糖', qty: '1 小勺', icon: 'sugar', note: '普通白砂糖,不用冰糖(不易化)' },
      { name: '生抽', qty: '1 茶匙', icon: 'soy', note: '海天金标 / 厨邦头道,鲜味更突出' },
      { name: '番茄酱', qty: '1 汤匙', icon: 'paste', note: '可选 · 亨氏番茄酱补色补味' },
      { name: '食用油', qty: '2 汤匙', icon: 'oil', note: '花生油优于调和油,香气足' },
    ],
    steps: [
      { title: '处理食材', body: '番茄顶部划十字浅口,沸水浸 1 分钟去皮,切 2cm 滚刀块。鸡蛋加少许盐打散,顺一个方向充分搅匀至蛋液起泡 — 这是嫩滑的关键。', tip: '蛋液加 1 茶匙清水,口感更柔。', timer: 60 },
      { title: '炒制蛋液', body: '冷锅热油,油温五成时倒入蛋液,静置三秒待边缘凝结,用铲背划散成大块,七成熟即出锅。', tip: '油须没过蛋液一半,蛋才丰盈。', timer: 45 },
      { title: '炒制番茄', body: '原锅留底油,下葱白蒜末爆香,倒入番茄块中火翻炒 2 分钟,加糖、盐、生抽调味,转小火熬出红汁。', tip: '番茄起沙后再加入番茄酱补色。', timer: 120 },
      { title: '合炒收汁', body: '番茄汤汁浓稠时回锅鸡蛋,改大火快速翻拌十秒让汁水裹匀,临出锅撒葱花点缀即可。', tip: '回锅时间不超过 15 秒,避免蛋老。', timer: 15 },
    ],
    principles: [
      {
        name: '蛋白质凝固温度',
        body: '蛋白在 62°C 开始凝固,蛋黄 70°C,完全凝固到 80°C 就开始脱水变柴。锅中油温五成 (~150°C)下蛋液,边缘瞬间凝固,中心还在流。七成熟出锅靠余温把中心推到 70°C 而不是 80°C — 多十秒就老了。',
      },
      {
        name: '番茄出汁的化学',
        body: '番茄细胞壁是果胶,80°C 开始软化,持续加热细胞破裂释放胞内汁液 + 番茄红素 + 谷氨酸钠 (天然鲜味)。所以中火慢炒比大火快炒出汁多 50% 以上 — 急火只能煎番茄,出不了红汁。',
      },
      {
        name: '糖加多少 / 何时加',
        body: '番茄本身有酸 (柠檬酸 + 苹果酸) 和甜 (葡萄糖+果糖,熟透才足)。糖不是为了甜,是中和酸,让酸甜平衡。加在番茄炒制阶段而不是最后,糖能与酸发生轻微酯化让风味更圆 — 出锅前撒糖只会齁。',
      },
      {
        name: '回锅 10 秒为什么不能久',
        body: '蛋一旦再次受热超过 80°C,蛋白质继续脱水交联,口感发柴。汁多的番茄回锅时温度会瞬间降到 80-90°C,只有大火快收能短时间把汁水浓缩同时不让蛋老。所以"大火 + 10 秒"是黄金窗口。',
      },
    ],
    variations: [
      {
        name: '加糖南方版', region: '江浙沪',
        body: '糖加到 2 小勺,番茄炒制阶段先放一半,出锅前再淋小半勺。番茄汁更甜更黏稠,起锅时表面微微反光,特别下饭。这版还可以多加一勺番茄酱,颜色橙红更亮。江浙人家普遍偏甜口,小孩接受度最高。',
        tip: '糖太多会盖住番茄本味,加到能让汁微微反光就够了 — 进了齁就回不去。',
      },
      {
        name: '咸鲜北方版', region: '北方',
        body: '完全不放糖。蒜末和葱白要爆得更香一点 — 油温稍高时下,蒜微微泛黄就立刻下番茄。生抽也加到 2 茶匙,出锅前点几滴香油。这版番茄汁咸鲜不甜,配馒头花卷、烙饼最对路,北方家庭做法。',
        tip: '蒜末必须先爆香 — 直接下番茄,生蒜味会浮在汤汁表面散不掉。',
      },
      {
        name: '蛋包番茄式', region: '改良',
        body: '番茄汁先单独熬到极浓 (汤汁浓到能拉成丝),起锅时把蛋液最后浇在番茄表层不打散,做成"盖浇"形态 — 蛋液受热半凝固,顶部呈丝绒质感。卖相像西式 omelette,适合宴客或换花样。蛋液量比常规版多一个,这样表层够厚不漏番茄。',
        tip: '蛋液浇上去后立刻盖锅 30 秒小火,让上层蛋汽蒸熟 — 不盖盖蛋汁会一直流。',
      },
    ],
  },
  {
    id: 'broccoli-garlic', name: '蒜蓉西兰花', nameEn: 'Garlic Broccoli',
    category: 'veg', tags: ['清淡', '健康', '快手'],
    time: 8, difficulty: '入门', accent: '#5C8A4F', heroIcon: 'broccoli',
    heroImage: 'recipe-images/broccoli-garlic.png',
    intro: '看似清炒,实则讲究焯水与爆香的两个时间点。火候到位的西兰花应当翠绿挺立,蒜香扑鼻而不焦苦。',
    chefNote: '焯水时加少许油盐,可锁色锁味。蒜蓉分两次下锅 — 一半爆香,一半起锅前撒入。',
    baseServings: 2,
    ingredients: [
      { name: '西兰花', qty: '1 整棵', icon: 'broccoli', note: '紧实墨绿、花蕊紧凑、根部切口湿润不发黑 — 冬季品质最佳' },
      { name: '蒜', qty: '6 瓣', icon: 'garlic', note: '紫皮独头蒜辣味更立体' },
      { name: '小米椒', qty: '1 根', icon: 'chili', note: '可选 · 颜色鲜红、有韧性的更辣' },
      { name: '盐', qty: '半茶匙', icon: 'salt', note: '普通食盐即可' },
      { name: '生抽', qty: '1 茶匙', icon: 'soy' },
      { name: '蚝油', qty: '1 茶匙', icon: 'oyster', note: '李锦记或海天均可,提鲜核心' },
      { name: '食用油', qty: '1 汤匙半', icon: 'oil', note: '花生油或菜籽油' },
    ],
    steps: [
      { title: '改刀焯水', body: '西兰花掰小朵,淡盐水浸泡 5 分钟去虫。沸水加少许油盐,下西兰花焯 1 分钟,捞出过冰水保色。', tip: '过冰水是翠绿挺立的核心。', timer: 60 },
      { title: '爆香蒜末', body: '冷锅冷油下一半蒜末,小火慢煸至边缘金黄、蒜香释放,加小米椒提味。', tip: '蒜末发黄即停火,过火则苦。', timer: 90 },
      { title: '猛火翻炒', body: '转大火,沥干的西兰花入锅快炒 30 秒,沿锅边淋生抽蚝油,撒余下生蒜末翻匀。', tip: '生熟蒜末叠用,香气更立体。', timer: 30 },
      { title: '调味出锅', body: '试咸淡,补少许盐,沿锅边再淋几滴香油提亮即可。盘中码圆形堆叠,卖相更佳。', tip: '不盖锅、不勾芡 — 西兰花最忌闷。' },
    ],
    principles: [
      {
        name: '焯水时间与叶绿素',
        body: '西兰花的翠绿来自叶绿素,80°C 以上 1 分钟内激发并稳定 (chlorophyll → chlorophyllide),超过 2 分钟开始降解为褐色 (pheophytin)。所以焯水严格控制在 60-90 秒 — 多焯 30 秒颜色就开始往下掉。',
      },
      {
        name: '冰水过冷的双重作用',
        body: '一是急速降温防止余热继续煮,锁住叶绿素稳定形态;二是热胀冷缩让细胞紧致,口感清脆而不软塌。冰水过 30 秒就够,过久反而让蔬菜吸水变水嫩感(炒后会出水)。',
      },
      {
        name: '蒜的两阶段香气',
        body: '生蒜的辣味来自蒜氨酸 + 蒜酶反应生成的硫化物 (allicin),这味道极易被高温破坏。一半爆香释放美拉德香 (像坚果),另一半生蒜末起锅前撒入保留新鲜辣味 — 两种香气叠加才立体,只用一种总感觉差点意思。',
      },
      {
        name: '焯水加油盐的科学',
        body: '焯水加盐升高沸点 0.5°C 左右,提高叶绿素稳定性 (高温时间更短);加少许油形成微膜包裹西兰花表面,出锅过冰水后油膜锁住翠绿同时增亮 — 没加油的焯水,西兰花表面会显得干哑发暗。',
      },
    ],
    variations: [
      {
        name: '蚝油重口版', region: '广式',
        body: '收尾时多淋半勺蚝油 + 半勺生抽,再撒一把生蒜末。出锅前沿锅边淋几滴香油激发香气。这版味道更厚重,西兰花呈深绿带亮光,适合配米饭。喜欢咸鲜口的人会一口接一口。',
        tip: '蚝油本身有咸味,这版盐要减半,否则咸到发苦。',
      },
      {
        name: '干煸版', region: '川式',
        body: '不焯水,直接干锅煸炒。锅烧到冒青烟,下油转中大火,西兰花切小朵后入锅,耐心煸 3-4 分钟到边缘焦黄 — 加干辣椒和花椒粒,撒盐和一点白糖。口感像川式干煸豆角,焦香带辣,下饭神器。',
        tip: '油要多放一倍,中大火耐心煸,容易糊锅 — 全程不能离开锅。煸出焦边后再调味,前面放盐会出水变蒸。',
      },
      {
        name: '白灼版', region: '粤式',
        body: '完全不放蒜炒。西兰花焯水沥干后码盘,另起一小锅烧热花生油 (约 8 成热),加蒜末和姜丝爆香 5 秒,趁热浇在西兰花上,再淋一勺蒸鱼豉油即可。清淡见本味,西兰花的甜会自动突出。粤菜思路。',
        tip: '蒸鱼豉油比生抽鲜得多 — 没有的话生抽 + 半勺糖 + 几滴温水可代替。',
      },
    ],
  },
  {
    id: 'sweet-sour-pork', name: '糖醋里脊', nameEn: 'Sweet & Sour Pork',
    category: 'meat', tags: ['酸甜', '宴客', '硬菜'],
    time: 35, difficulty: '进阶', accent: '#C77A2C', heroIcon: 'meat',
    heroImage: 'recipe-images/sweet-sour-pork.png',
    intro: '糖醋汁的黄金比例与里脊的两次复炸,共同构成这道菜的金黄外壳与酸甜回甘。',
    chefNote: '糖醋比例记 "1·2·3·4·5":1 勺料酒、2 勺生抽、3 勺糖、4 勺醋、5 勺水。可放心套用。',
    baseServings: 3,
    ingredients: [
      { name: '猪里脊', qty: '掌心大 1 块', icon: 'meat', note: '粉红色、纹理细致、回弹好。盒马"里脊纯瘦"最稳;前腿肉也可' },
      { name: '鸡蛋', qty: '1 个', icon: 'egg', note: '只取蛋清,蛋黄留炒别的菜' },
      { name: '玉米淀粉', qty: '半碗', icon: 'starch', note: '裹粉用 · 玉米淀粉颗粒最适合,马铃薯淀粉次之' },
      { name: '料酒', qty: '1 勺', icon: 'wine', note: '王致和或老恒和均可' },
      { name: '生抽', qty: '2 勺', icon: 'soy' },
      { name: '白糖', qty: '3 勺', icon: 'sugar' },
      { name: '香醋', qty: '4 勺', icon: 'vinegar', note: '镇江香醋是核心,千万不要用米醋(太淡)' },
      { name: '番茄酱', qty: '2 勺', icon: 'paste', note: '亨氏' },
      { name: '食用油', qty: '半锅', icon: 'oil', note: '炸用 · 用过的可过滤回收做炒菜' },
      { name: '熟白芝麻', qty: '一小把', icon: 'sesame', note: '装饰 · 现炒的最香' },
    ],
    steps: [
      { title: '腌制里脊', body: '里脊改 1cm 粗条,加料酒、半勺盐、蛋清抓匀腌 15 分钟,再分次拍入玉米淀粉,使每条均匀裹粉。', tip: '裹粉静置 5 分钟,炸时不易脱浆。', timer: 900 },
      { title: '初炸定形', body: '油温升至 160°C,下里脊条中火炸 2 分钟至定形发白,捞出沥油。', tip: '一次少量,避免粘连。', timer: 120 },
      { title: '复炸上色', body: '油温升至 190°C,里脊回锅复炸 30 秒至金黄酥脆,迅速捞出。', tip: '复炸是酥脆持久的关键。', timer: 30 },
      { title: '熬糖醋汁', body: '净锅留底油,下番茄酱炒出红油,按 1·2·3·4·5 比例倒入料酒生抽糖醋水,中火熬至浓稠挂勺。', tip: '汁起鱼眼泡时最浓郁。', timer: 90 },
      { title: '挂汁装盘', body: '里脊回锅快速颠翻,糖醋汁均匀挂裹每根肉条,撒白芝麻起锅 — 趁热上桌。', tip: '颠锅不超 10 秒,否则回软。', timer: 10 },
    ],
    principles: [
      {
        name: '复炸的物理学',
        body: '第一次 160°C 让里脊定形(蛋白质凝固 + 表面淀粉水解形成壳),内部 65-70°C 刚断生不老。出锅静置 1-2 分钟让表面水分迁移到内部。第二次 190°C 30 秒,水分迅速蒸发让外壳超脆,内部因短时不会过热 — 这就是"外脆里嫩"的原理,不复炸是脆不起来的。',
      },
      {
        name: '1·2·3·4·5 比例的化学',
        body: '糖与醋反应(酯化)需要时间和热,糖过多则齁,醋过多则刺。3 糖 + 4 醋是经验上达到味觉平衡的甜酸比 (约 0.75:1)。2 生抽提供咸度+鲜 (谷氨酸+核苷酸协同,鲜味叠加是 5-8 倍效应)。5 水让汁有铺展能力,挂得均匀。',
      },
      {
        name: '挂浆 vs 散浆',
        body: '玉米淀粉颗粒大小约 15μm,鸡蛋清提供蛋白质粘合剂。淀粉:蛋清:肉的比例不当则脱浆。先用蛋清抓肉腌,蛋白与肉表面蛋白形成共价键 → 再分次拍入淀粉让蛋白把淀粉粘住,这样炸时不会"飞浆"。一次倒入大量淀粉则只是"裹粉"不是"挂浆",炸完会大片脱落。',
      },
      {
        name: '糖醋汁起鱼眼泡',
        body: '浓糖水的沸点高于纯水 (约 105-110°C)。当糖+醋+水浓缩到出现"鱼眼泡" (直径 2-3mm 气泡) 时,糖浓度达到 60-65%,这时挂在肉上能形成均匀薄膜不滴落,冷却后形成轻微脆壳。汁太稀挂不住,太稠则起糖块。',
      },
    ],
    variations: [
      {
        name: '茄汁版', region: '上海',
        body: '番茄酱用量翻倍至 4 勺,白醋只放 2 勺。糖醋汁颜色更红更亮,口味偏甜不那么酸,孩子最爱 — 老式上海西餐厅做法,叫"咕噜肉"的远房亲戚。这版还可加几个菠萝块同炒,酸甜更立体。糖醋汁更稠,挂得更厚。',
        tip: '番茄酱多了酸度会被压住,要补半勺白醋找回酸感 — 否则只有甜没有醋香。',
      },
      {
        name: '老醋版', region: '山东 / 北方',
        body: '把香醋换成陈醋 1:1 加 1 勺老抽。颜色深红偏褐 — 山西陈醋的味道厚度比镇江香醋更高 (酸度 6° vs 镇江 3.5°)。咸香味突出,糖只放 2 勺。这版配馒头比配米饭好,北方人会爱。糖醋汁挂在肉上后呈深棕红,有点像红烧肉的色。',
        tip: '老抽颜色已经够深,不要再加深色酱油,否则颜色发黑像糊了。',
      },
      {
        name: '干炸不挂汁', region: '改良',
        body: '复炸金黄后直接装盘 — 不调糖醋汁,改用椒盐 (花椒粉 + 盐,2:1 比例)蘸食。外皮更脆更酥,肉条本身的香气更突出。啤酒下酒菜首选,孩子也能直接抓着吃。这版肉条要切粗一点 (1.5cm 见方),否则肉会显薄。',
        tip: '椒盐里加一点辣椒粉 (1 茶匙) 会更上头 — 辣味让脆口更鲜明。',
      },
    ],
  },
  {
    id: 'egg-fried-rice', name: '黄金蛋炒饭', nameEn: 'Golden Egg Fried Rice',
    category: 'egg', tags: ['主食', '快手', '一人食'],
    time: 12, difficulty: '入门', accent: '#E0A23A', heroIcon: 'rice',
    heroImage: 'recipe-images/egg-fried-rice.png',
    intro: '"金包银" 的至高境界 — 每一粒米都被薄薄一层蛋液包裹,粒粒分明、油润不腻。',
    chefNote: '隔夜饭是底线,蛋液与冷饭预先拌匀是核心。锅气足、出锅快,家用灶也能复刻。',
    baseServings: 1,
    ingredients: [
      { name: '隔夜米饭', qty: '1 大碗', icon: 'rice', note: '必须冷透;头天剩饭最佳。深圳常用泰国香米更适合炒饭(粒长不黏)' },
      { name: '鸡蛋', qty: '2 个', icon: 'egg', note: '普通蛋即可' },
      { name: '小葱', qty: '一小把', icon: 'scallion', note: '菜场早市的葱花最新鲜,葱白葱青分开切' },
      { name: '盐', qty: '1 小撮', icon: 'salt' },
      { name: '白胡椒粉', qty: '1 小撮', icon: 'pepper', note: '现磨白胡椒比预磨的香 4 倍' },
      { name: '生抽', qty: '1 茶匙', icon: 'soy', note: '可选 · 头道生抽更鲜' },
      { name: '猪油', qty: '1 大勺', icon: 'oil', note: '盒马有现成板油猪油 · 没有用花生油 + 1 勺猪油渣替代' },
    ],
    steps: [
      { title: '蛋饭预拌', body: '鸡蛋打散,直接倒入冷米饭中,加盐胡椒,用筷子拌至每粒米都裹上蛋液 — 此为 "金包银" 的核心。', tip: '冷饭散籽再拌蛋,不结块。' },
      { title: '热锅冷油', body: '铁锅烧至冒青烟,转小火,下猪油润锅至化开,转中大火。', tip: '热锅冷油防粘是基本功。', timer: 30 },
      { title: '猛火快炒', body: '裹蛋米饭一次性入锅,用锅铲快速推散翻炒 1 分钟,蛋液瞬间凝在米粒上,饭粒分明。', tip: '不停翻动,火大手快。', timer: 60 },
      { title: '调味起香', body: '沿锅边淋少许生抽,撒葱花,翻拌 10 秒让锅气裹匀,葱香被高温激发即出锅。', tip: '葱花最后下,留住鲜绿。', timer: 10 },
    ],
    principles: [
      {
        name: '金包银的物理学',
        body: '隔夜冷饭含水量低 (24-26% vs 新鲜饭 70%),饭粒表面已脱水形成微孔。蛋液包裹时液体顺着微孔附着,加热时蛋白快速凝固封住表面 — 形成"蛋膜包米"的金黄外壳。新鲜饭水分太大,蛋液会被稀释,炒不出"金包银"效果。',
      },
      {
        name: '猪油的风味化学',
        body: '猪油是饱和脂肪 + 少量氨基酸,加热时美拉德反应生成的吡嗪类香气 (坚果香、烤香)远超植物油。同时熔点 28-40°C,常温固态高温液态,挂在饭粒上的"油亮感"是植物油给不了的。这就是为什么粤菜茶餐厅蛋炒饭都用猪油。',
      },
      {
        name: '锅温与饭粒分明',
        body: '铁锅烧到 230-250°C (青烟)然后转中大火 180-200°C 炒饭。这个温度让蛋液瞬间凝固 (< 0.5 秒),饭粒不停翻动避免黏锅。低于 170°C 蛋液会包成块、饭粒粘连;高于 220°C 葱花和调料会糊。',
      },
      {
        name: '酱油沿锅边淋的科学',
        body: '酱油直接淋饭表面会有生酱味。沿锅边淋让酱油先接触热锅瞬间汽化 (梅纳反应 + 焦糖化),产生焦香,再裹回饭粒 — 这就是粤厨说的"锅气"的来源之一。原理跟铁板烧最后淋酱油是一样的。',
      },
    ],
    variations: [
      {
        name: '蛋包饭式', region: '日式改良',
        body: '米饭炒好后另起一锅,煎一个半凝固蛋皮 (蛋黄朝下,蛋白稍凝固即可),把饭包在蛋皮里,顶部用刀划开露出黄金外壳。蛋皮要厚一点 (3 个鸡蛋打散),不要全熟,半凝固时立刻包饭。盘中淋番茄酱"画 X"是日式 omurice 的经典摆盘。',
        tip: '蛋皮要在蛋液还会流的时候包饭 — 全凝固再包就破了。',
      },
      {
        name: '扬州式', region: '江苏',
        body: '加虾仁、火腿丁、青豆、玉米粒,配料丰富一道顶半桌。配料务必先单独过油断生再下锅 — 虾仁滑油 30 秒,火腿丁炒香,青豆玉米快炒。这版要先炒蛋再下饭,让蛋呈大块"碎金"分布在饭里,而不是包在每粒米上。家庭聚餐显有诚意。',
        tip: '扬州炒饭核心不是"金包银"而是"色彩丰富 + 配料协调",配料颜色 (红虾粉绿黄)对了味道才对。',
      },
      {
        name: '隔夜爆香版', region: '改良',
        body: '米饭先用油在锅里炒到金黄发硬 (3-4 分钟),让饭粒外层焦化,蛋液后加。饭粒颗颗分明像广式干炒牛河的米饭质感,有焦边香。省事版"金包银",失去蛋包米的滑润但更香 — 适合冰箱里只有米饭和蛋,想做个香的炒饭时。',
        tip: '炒饭这一步火候要小心 — 焦黄是好,焦黑就废了。中火 + 不停翻动是关键。',
      },
    ],
  },
];

const CATEGORIES = [
  { id: 'egg', label: '蛋类', count: RECIPES.filter(r => r.category === 'egg').length },
  { id: 'meat', label: '肉类', count: RECIPES.filter(r => r.category === 'meat').length },
  { id: 'veg', label: '蔬菜', count: RECIPES.filter(r => r.category === 'veg').length },
  { id: 'seafood', label: '海鲜', count: RECIPES.filter(r => r.category === 'seafood').length },
];

window.RECIPES = RECIPES;
window.CATEGORIES = CATEGORIES;
