Weltküche: Heimat-Regel – Zutaten folgen dem Gericht statt Zufall

Löst "warum kommt Deutschland nicht vor?": In regionalen Gerichten kommt jede
Zutat, die das Herkunftsland selbst erzeugt, von dort (Tiroler Gröstl → Tiroler
Speck/Kartoffeln aus Österreich). Nur was hier nicht wächst (Pfeffer, Olivenöl)
reist von weit her – die eigentliche Lektion. Datengetrieben: Test "erzeugt das
Heimatland die Zutat?" filtert automatisch, kein Länder-Bias (hängt am Gericht).

- dishes.json: heimat (25 Gerichte) + signature-Labels (5); exotische ohne heimat
- buildTaskFor: Heimat-Regel sticht Zufall aus, wenn Heimatland Produzent ist
- Klick-Feedback beantwortet "warum nicht Deutschland?" direkt (showWrong/explainChoice)
- Auflösung erklärt Heimat-Logik + zeigt Antwort auch wenn kein Top-5-Produzent

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-19 15:56:55 +02:00
parent 7d3b3693db
commit 1c5356422c
2 changed files with 144 additions and 32 deletions
+66 -26
View File
@@ -64,7 +64,11 @@
},
"fact": "Gröstl bedeutet klein geschnitten und gebraten' — entstand als Resteessen aus den Erdäpfeln und dem Speck vom Vortag in den Almhütten. Mit Spiegelei wird es zum vollwertigen Bauern-Gröstl'.",
"diff_note": "einfach zu kochen, Anfänger:in-tauglich, 1 Pfanne reicht",
"id": "tiroler-groestl"
"id": "tiroler-groestl",
"heimat": "oesterreich",
"signature": {
"speck": "Tiroler Speck"
}
},
"kaerntner-kasnudeln": {
"name": "Kärntner Kasnudeln",
@@ -119,7 +123,8 @@
},
"fact": "Das Krendeln' (die geriffelte Naht am Rand) gilt als Erkennungszeichen einer guten Kärntner Hausfrau — wer es nicht beherrscht, hat die Nudeln früher angeblich nicht serviert. Jede Familie hat ihre eigene Füll-Variante.",
"diff_note": "Profi-Handarbeit — das Krendeln (Naht-Riffeln) braucht echte Übung",
"id": "kaerntner-kasnudeln"
"id": "kaerntner-kasnudeln",
"heimat": "oesterreich"
},
"steirisches-wurzelfleisch": {
"name": "Steirisches Wurzelfleisch",
@@ -173,7 +178,8 @@
},
"fact": "Der Kren' (Meerrettich) ist in der Steiermark seit Jahrhunderten kultiviert und bekommt im Herbst die meiste Schärfe. Das frische Reiben treibt Tränen — und gibt dem Wurzelfleisch erst seinen typischen Kick.",
"diff_note": "kein Handwerk, aber 2,5 h schmoren — Geduld statt Technik",
"id": "steirisches-wurzelfleisch"
"id": "steirisches-wurzelfleisch",
"heimat": "oesterreich"
},
"vorarlberger-kaesespaetzle": {
"name": "Vorarlberger Käsespätzle (Käsknöpfle)",
@@ -228,7 +234,11 @@
},
"fact": "Im Bregenzerwald gehört es zur Tradition, dass die Familie aus EINER großen Pfanne isst — nicht aus einzelnen Tellern. Die Käsknöpfle stehen in der Mitte des Tisches, jeder löffelt sich seinen Teil heraus.",
"diff_note": "Spätzlehobel-Geschick + Zwiebeln geduldig rösten",
"id": "vorarlberger-kaesespaetzle"
"id": "vorarlberger-kaesespaetzle",
"heimat": "oesterreich",
"signature": {
"mozzarella": "Vorarlberger Bergkäse"
}
},
"wachauer-marillenknoedel": {
"name": "Wachauer Marillenknödel",
@@ -283,7 +293,8 @@
},
"fact": "Die Wachauer Marille hat ein eigenes Fest: das Marillenkirtag in Spitz an der Donau, jeden Juli. Drei Tage Marillen-Knödel, Marillenmarmelade, Marillenbrand.",
"diff_note": "Knödel-Formen braucht Gefühl, sonst läuft die Marille beim Kochen aus",
"id": "wachauer-marillenknoedel"
"id": "wachauer-marillenknoedel",
"heimat": "oesterreich"
},
"wiener-schnitzel": {
"name": "Wiener Schnitzel",
@@ -339,7 +350,8 @@
},
"fact": "Die Legende sagt, das Wiener Schnitzel sei aus dem Mailänder Cotoletta entstanden, das Feldmarschall Radetzky 1857 nach Wien gebracht haben soll. Historisch nicht belegt — das goldene Backteig-Schnitzel' gibt es in Wien aber spätestens seit 1830.",
"diff_note": "Panieren in 3 Schritten + 170 °C Öl treffen — Aufmerksamkeit, nicht Können",
"id": "wiener-schnitzel"
"id": "wiener-schnitzel",
"heimat": "oesterreich"
},
"sachertorte": {
"name": "Sachertorte",
@@ -396,7 +408,8 @@
},
"fact": "Franz Sacher erfand das Rezept 1832 mit 16 Jahren als Lehrling für Fürst Metternich. Den Streit, ob die Marillenmarmelade in der Mitte ODER nur außen sein darf, haben Sacher und Demel über 30 Jahre lang vor Gericht geführt — verloren hat keiner: heute gibt es beide Originale'.",
"diff_note": "echtes Konditor-Handwerk — Eiklarschnee, Glasur in einem Schwall, kein Streichen",
"id": "sachertorte"
"id": "sachertorte",
"heimat": "oesterreich"
},
"apfelstrudel": {
"name": "Apfelstrudel",
@@ -456,7 +469,8 @@
},
"fact": "Das älteste erhaltene Strudelteig-Rezept liegt in der Wiener Nationalbibliothek von 1696. Der Apfelstrudel' hat sich aus dem türkischen Baklava' entwickelt — als Wien zwischen 1529 und 1683 zweimal von Osmanen belagert wurde, blieb mehr als nur Krieg zurück.",
"diff_note": "Strudelteig hauchdünn ziehen ist das ganze Geheimnis — viel Übungssache",
"id": "apfelstrudel"
"id": "apfelstrudel",
"heimat": "oesterreich"
},
"topfengolatschen": {
"name": "Topfengolatsche",
@@ -512,7 +526,8 @@
},
"fact": "Die Topfengolatsche ist Kaffeehaus-Klassiker seit den 1880er-Jahren. Koláč' bedeutet im Tschechischen einfach Kuchen' — das ist ein typisches Wiener Lehnwort aus der Habsburger-Zeit, als die böhmische Küche in jeder Kaffeehausvitrine lag.",
"diff_note": "TK-Plunderteig nimmt die Arbeit ab, Fülle ist easy",
"id": "topfengolatschen"
"id": "topfengolatschen",
"heimat": "oesterreich"
},
"bayerische-brezel": {
"name": "Bayerische Brezel mit Obatzda",
@@ -572,7 +587,8 @@
},
"fact": "Die Brezel-Form wurde 1839 angeblich vom Münchner Bäckergeselle Anton Nepomuk Pfannenbrenner erfunden — er verwechselte aus Versehen Zuckerwasser mit Natronlauge zum Bestreichen. Das Versehen' wurde zum Welthit.",
"diff_note": "Vorsicht mit Lauge (NaOH ist ätzend!) + Brezel-Schlinge braucht Übung",
"id": "bayerische-brezel"
"id": "bayerische-brezel",
"heimat": "deutschland"
},
"schwaebische-maultaschen": {
"name": "Schwäbische Maultaschen",
@@ -630,7 +646,8 @@
},
"fact": "Die Legende der Herrgottsbescheißerle': Im Kloster Maulbronn wollten die Mönche in der Fastenzeit nicht auf Fleisch verzichten. Sie versteckten es im Spinat-Brät der Teigtasche — der Herrgott sieht's nicht durch den Teig. Aus Maulbronn' wurde Maultasche'.",
"diff_note": "Pasta selbst gemacht UND gefüllt — Geduld und Geschicklichkeit",
"id": "schwaebische-maultaschen"
"id": "schwaebische-maultaschen",
"heimat": "deutschland"
},
"rheinischer-sauerbraten": {
"name": "Rheinischer Sauerbraten",
@@ -691,7 +708,8 @@
},
"fact": "Im Rheinland wurde der Sauerbraten ursprünglich aus Pferdefleisch gemacht — weil Pferde nach 1834 (Ende der Pferde-Kutschen) auf den Bauernhöfen nutzlos wurden. Heute ist Rind Standard, aber in alten Köln-Rezepten steht noch Hottebrater'.",
"diff_note": "3 Tage vorher in Marinade einlegen + 2,5 h schmoren — Marathon, aber simpel",
"id": "rheinischer-sauerbraten"
"id": "rheinischer-sauerbraten",
"heimat": "deutschland"
},
"schwarzwaelder-kirschtorte": {
"name": "Schwarzwälder Kirschtorte",
@@ -746,7 +764,8 @@
},
"fact": "Die Schwarzwälder Kirschtorte heißt nicht nach dem Schwarzwald, sondern nach der schwarzen Tracht des Schwarzwald-Brauchs: schwarze Schokoraspeln (= Tracht), weiße Sahne (= Schürze), rote Kirschen (= Bollenhut der Frauen).",
"diff_note": "Konditor-Klassiker: Biskuit, Kirschen, Sahne, Schoko — viele Schritte",
"id": "schwarzwaelder-kirschtorte"
"id": "schwarzwaelder-kirschtorte",
"heimat": "deutschland"
},
"schweizer-kaesefondue": {
"name": "Schweizer Käsefondue",
@@ -800,7 +819,11 @@
},
"fact": "Das Schweizer Nationalgericht' Fondue ist eine Erfindung der 1930er Schweizer Käse-Union — als Marketing für die hohen Käse-Überschüsse während der Wirtschaftskrise. Vor 1930 war Fondue nur eine regionale Spezialität der West-Schweiz.",
"diff_note": "Käse-Verhältnis + Achter-Rührtechnik (nie Kreis) — Detail entscheidet",
"id": "schweizer-kaesefondue"
"id": "schweizer-kaesefondue",
"heimat": "schweiz",
"signature": {
"mozzarella": "Schweizer Bergkäse"
}
},
"zuercher-geschnetzeltes": {
"name": "Zürcher Geschnetzeltes mit Rösti",
@@ -859,7 +882,8 @@
},
"fact": "Die Sauce des Original-Zürcher-Geschnetzelten hat ursprünglich KEINE Champignons enthalten. Diese kamen erst in den 1940er Jahren dazu — und sind heute aus dem Klassiker nicht mehr wegzudenken. Den genauen Erfinder gibt's nicht.",
"diff_note": "Rösti-Wenden mit dem Teller ist die Kunst — sonst alles geradeaus",
"id": "zuercher-geschnetzeltes"
"id": "zuercher-geschnetzeltes",
"heimat": "schweiz"
},
"pizza-margherita": {
"name": "Pizza Margherita",
@@ -914,7 +938,8 @@
},
"fact": "Pizza Margherita wurde laut Legende 1889 für Königin Margherita gebacken: Mozzarella (weiß), Tomate (rot), Basilikum (grün) — die Farben der italienischen Flagge. Der Pizzaiolo Raffaele Esposito wollte der Monarchin huldigen.",
"diff_note": "24 h Teigreife planen + Backofen auf Maximum — Vorbereitung statt Technik",
"id": "pizza-margherita"
"id": "pizza-margherita",
"heimat": "italien"
},
"spaghetti-carbonara": {
"name": "Spaghetti Carbonara",
@@ -968,7 +993,11 @@
},
"fact": "Spaghetti Carbonara ist erst nach dem Zweiten Weltkrieg dokumentiert (erstes Rezept 1944). Eine Theorie: US-Soldaten in Rom verlangten Bacon & Eggs, die Köche servierten es als Pasta-Variante. Italienische Köche bestreiten das.",
"diff_note": "Pfanne vom Herd nehmen, BEVOR die Eier reinkommen — sonst Rührei!",
"id": "spaghetti-carbonara"
"id": "spaghetti-carbonara",
"heimat": "italien",
"signature": {
"speck": "Guanciale (italienischer Speck)"
}
},
"paella-valenciana": {
"name": "Paella Valenciana",
@@ -1027,7 +1056,8 @@
},
"fact": "Echte' Paella Valenciana hat 10 Zutaten — die Valencianer haben sie sogar offiziell festgelegt (Wikipaella'-Initiative). Was sonst Paella heißt — mit Fisch, Chorizo, Erbsen, Zitrone — ist für sie Touristenbetrug'.",
"diff_note": "große Pfanne nötig, niemals umrühren, Socarrat-Kruste am Ende ist Kunst",
"id": "paella-valenciana"
"id": "paella-valenciana",
"heimat": "spanien"
},
"tortilla-espanola": {
"name": "Tortilla Española",
@@ -1082,7 +1112,8 @@
},
"fact": "Die Tortilla Española entstand im 19. Jh. als Arbeiteressen in Nordspanien — günstig, sättigend, kalt essbar. Heute ist sie das Symbol-Tapas-Gericht der spanischen Bars.",
"diff_note": "Konfieren + Wenden mit Teller — sieht spektakulär aus, ist nur Geduld",
"id": "tortilla-espanola"
"id": "tortilla-espanola",
"heimat": "spanien"
},
"ratatouille": {
"name": "Ratatouille Niçoise",
@@ -1137,7 +1168,8 @@
},
"fact": "Bis ins 19. Jh. war Ratatouille ein Armeleute-Essen' aus Resten — heute Sterneküche. Der Pixar-Animationsfilm von 2007 hat das Gericht weltberühmt gemacht.",
"diff_note": "jedes Gemüse separat anbraten ist mühsam, aber technisch simpel",
"id": "ratatouille"
"id": "ratatouille",
"heimat": "frankreich"
},
"quiche-lorraine": {
"name": "Quiche Lorraine",
@@ -1192,7 +1224,11 @@
},
"fact": "Quiche Lorraine' wurde im 16. Jh. erstmals erwähnt. Das Wort Quiche' stammt vom deutschen Kuchen' — Lothringen war damals teils deutschsprachig. Die kulturelle Mischung steht im Teig.",
"diff_note": "Mürbteig kalt halten + blind backen — zwei Standardtechniken",
"id": "quiche-lorraine"
"id": "quiche-lorraine",
"heimat": "frankreich",
"signature": {
"speck-lorraine": "Lardons (französischer Speck)"
}
},
"moussaka": {
"name": "Moussaka",
@@ -1258,7 +1294,8 @@
},
"fact": "Die heutige Moussaka mit Béchamel ist eine Erfindung des griechischen Kochs Nikolaos Tselementes (18781958), der die griechische Küche im 1920er-Jahre nach französischen Vorbildern modernisierte. Vor ihm gab's Moussaka ohne die weiße Sauce.",
"diff_note": "drei Komponenten (Aubergine, Ragout, Béchamel) + langes Backen — Marathon",
"id": "moussaka"
"id": "moussaka",
"heimat": "griechenland"
},
"kanelbulle": {
"name": "Kanelbulle (Zimtschnecke)",
@@ -1317,7 +1354,8 @@
},
"fact": "In Schweden gibt's seit 1999 den Kanelbullens dag' am 4. Oktober — ein Feiertag für die Zimtschnecke. Die Heimbäcker-Industrie war damals besorgt, dass jüngere Schweden weniger backen. Heute werden zu diesem Tag mehrere Millionen Kanelbullar verkauft.",
"diff_note": "Hefeteig braucht Zeit, Wickel-Schneide-Technik ist easy",
"id": "kanelbulle"
"id": "kanelbulle",
"heimat": "schweden"
},
"pierogi-ruskie": {
"name": "Pierogi Ruskie (Teigtaschen)",
@@ -1375,7 +1413,8 @@
},
"fact": "Pierogi sind nicht russisch'! Der Name Ruskie' bezieht sich auf die Kiewer Rus' — eine slawische Hochkultur des 9.13. Jh. Heute ist es das polnische Nationalgericht. Streit über das richtige' Rezept tobt zwischen Polen und Ukraine bis heute.",
"diff_note": "Teigtaschen formen wie Kasnudeln — Geduld und ein flaches Werkzeug",
"id": "pierogi-ruskie"
"id": "pierogi-ruskie",
"heimat": "polen"
},
"gulasch": {
"name": "Ungarisches Gulasch (Gulyás)",
@@ -1436,7 +1475,8 @@
},
"fact": "Das ungarische Original Gulyás' ist eine SUPPE — was wir in Mitteleuropa als Gulasch kennen (sämig, kurz), heißt in Ungarn Pörkölt'. Echtes Wiener Saftgulasch wäre für Ungarn ein Sub-Variante.",
"diff_note": "Zwiebeln 20 min karamellisieren — wer das aushält, schafft alles",
"id": "gulasch"
"id": "gulasch",
"heimat": "ungarn"
},
"gemuese-curry": {
"name": "Gemüse-Curry mit Reis",
@@ -1744,4 +1784,4 @@
"diff_note": "Avocado zerdrücken + Tortillas in der trockenen Pfanne backen — beides simpel",
"id": "guacamole-tortillas"
}
}
}
+78 -6
View File
@@ -984,6 +984,30 @@ function buildTaskFor(ingKey) {
if (_taskCache[ingKey]) return _taskCache[ingKey];
const ing = ING[ingKey];
if (!ing) return null;
// HEIMAT-REGEL: In einem regionalen Gericht kommt jede Zutat, die das
// Herkunftsland selbst erzeugt, von dort — logisch nachvollziehbar (ein
// Tiroler Gröstl nutzt Tiroler Speck, Tiroler Kartoffeln …). Der Test
// „erzeugt das Heimatland diese Zutat?" filtert automatisch: Österreich
// baut Kartoffeln an (→ Österreich), aber keinen Pfeffer und kein Olivenöl
// (→ dort greift die normale Welt-Logik weiter unten). Kein Länder-Bias,
// weil die Antwort am Gericht hängt, nicht am Standort der App.
const _hDish = current && current.dish;
const heimat = _hDish && _hDish.heimat;
if (heimat && C[heimat] && ing.producers && ing.producers[heimat]) {
const correct = [heimat];
const others = Object.entries(ing.producers)
.filter(([c]) => C[c] && c !== heimat)
.sort((a, b) => (b[1].t || 0) - (a[1].t || 0))
.map(([c]) => c);
const climatePossible = (ing.climate_possible || []).filter(c => C[c] && c !== heimat);
const distr = others.slice(0, 3);
if (climatePossible.length && distr.length < 3) distr.push(climatePossible[0]);
const choices = [...correct, ...distr];
shuffleInPlace(choices);
const label = (_hDish.signature && _hDish.signature[ingKey]) || null;
_taskCache[ingKey] = { correct, choices, possible: new Set(), signature: true, heimat, label };
return _taskCache[ingKey];
}
// Alle Producer (für Klassifizierung) und EU-relevante separat (für Korrekt-Auswahl).
// Eigenkonsum-Riesen (Indien-Bananen, USA-Zitronen etc.) sind zwar echte Produzenten,
// landen aber nicht in unseren Supermärkten — also nicht als „Spiel-Slot-Korrekt" ziehen.
@@ -1109,8 +1133,13 @@ function loadIngredient(){
const task = buildTaskFor(ingKey);
current.found=[]; current.wrongHere=0; current.wrongStreak=0; current.attempted=new Set();
const two = task && task.correct.length > 1;
const frage = two
? 'finde die <b>zwei</b> Herkunftsländer aus dieser Auswahl'
: (task && task.signature
? 'aus welchem Land stammt diese Zutat in <b>diesem Gericht</b>?'
: 'aus welchem Land kommt diese Zutat häufig zu uns auf den Markt?');
document.getElementById('taskBanner').innerHTML=
`🔎 Suche: <b>${ing.nm}</b> ${two?'finde die <b>zwei</b> Herkunftsländer aus dieser Auswahl':'aus welchem Land kommt diese Zutat häufig zu uns auf den Markt?'}`;
`🔎 Suche: <b>${ing.nm}</b> ${frage}`;
document.getElementById('resultCard').className="result-card";
drawMarkers(ing); renderIngList();
}
@@ -1194,9 +1223,18 @@ function producerEconHTML(ingKey, correctKeys) {
if (!ing || !ing.producers) return '';
const all = Object.entries(ing.producers).filter(([c]) => C[c]);
all.sort((a,b) => (b[1].t||0) - (a[1].t||0));
const top5 = all.slice(0, 5);
let html = '<div class="econ-list"><div class="rlabel">Weltweite Hauptproduzenten</div>';
top5.forEach(([c, info]) => {
const shown = all.slice(0, 5);
// Richtige Antwort(en) immer zeigen — auch wenn das Heimatland kein Top-5-Produzent ist
correctKeys.forEach(ck => {
if (!shown.some(([c]) => c === ck)) {
const row = all.find(([c]) => c === ck);
if (row) shown.push(row);
}
});
const sig = _taskCache[ingKey] && _taskCache[ingKey].signature;
let html = '<div class="econ-list"><div class="rlabel">' +
(sig ? 'Die größten Produzenten zum Vergleich' : 'Weltweite Hauptproduzenten') + '</div>';
shown.forEach(([c, info]) => {
const isMatch = correctKeys.includes(c);
const cm = C[c];
const amount = info.t ? fmtTonnes(info.t) : (info.note || 'kulturell verbreitet');
@@ -1207,8 +1245,12 @@ function producerEconHTML(ingKey, correctKeys) {
<span class="prod-val">${amount}${share}</span>
</div>`;
});
if (all.length > 5) {
html += `<div class="prod-more">+ ${all.length - 5} weitere Länder</div>`;
const rest = all.length - shown.length;
if (rest > 0) {
html += `<div class="prod-more">+ ${rest} weitere Länder</div>`;
}
if (sig) {
html += `<div class="prod-more" style="color:#4a7c4e;font-weight:600">Der größte Produzent ist nicht automatisch die Antwort hier zählt, woher die Zutat für dieses Gericht kommt.</div>`;
}
html += '</div>';
return html;
@@ -1226,6 +1268,19 @@ function explainChoice(ingKey, key, isCorrect){
const info = ing && ing.producers && ing.producers[key];
const amount = info && info.t ? fmtTonnes(info.t) : '';
const animal = isAnimalIng(ingKey);
// Signatur-Zutat (Heimat-Regel): Antwort folgt dem Gericht
const sTask = _taskCache[ingKey];
if (sTask && sTask.signature) {
const heimatN = C[sTask.heimat] ? C[sTask.heimat].n : '';
const was = sTask.label || ('der/die/das ' + ing.nm);
if (isCorrect) {
return {cls:'ok', badge:'✓', text:`Dieses Gericht kommt aus <b>${heimatN}</b> ${was} ist hier heimisch und wird vor Ort erzeugt.`};
}
if (info) {
return {cls:'mid', badge:'⚠️', text:`${C[key].n} erzeugt zwar viel ${ing.nm}${amount?' ('+amount+')':''} aber in einem Gericht aus ${heimatN} stammt ${was} von dort.`};
}
// Nicht-Produzent-Fehlklick → normale „unmöglich"-Logik unten
}
if (isCorrect){
if (info && info.market === 'world-far'){
return {cls:'ok', badge:'✓', text:`<b>Welt-Hauptproduzent</b> (${amount}) — kommt aber selten in den AT-Handel.`};
@@ -1322,6 +1377,10 @@ function showSolved(ing,pts,bonus){
const flags=task.correct.map(k=>C[k].f+' '+C[k].n).join(' & ');
card.className="result-card ok show";
const factLine = ing.fact ? `<div class="more-line"><b>Wusstest du?</b> ${esc(ing.fact)}</div>` : '';
// Heimat-Regel: erklären, warum die Region die Antwort ist (nicht der größte Produzent)
const sigLine = (task.signature && C[task.heimat])
? `<div class="more-line" style="background:#eef5ec;border-left:3px solid #4a7c4e">🍽️ Das ist ein Gericht aus <b>${C[task.heimat].n}</b>. ${task.label ? ('<b>'+task.label+'</b>') : ('Der/die/das '+esc(ing.nm))} kommt von hier nur Zutaten, die bei uns gar nicht wachsen, reisen von weit her.</div>`
: '';
// Caveats für world-far/off-season Korrekt-Picks (pro Land separat)
const caveats = task.correct.map(k => {
const info = ing.producers && ing.producers[k];
@@ -1338,6 +1397,7 @@ function showSolved(ing,pts,bonus){
</div>`;
}).filter(Boolean).join('');
card.innerHTML=`<div class="rc-head">✓ Geschafft! ${esc(ing.nm)} kommt aus: ${flags}</div>
${sigLine}
${allChoicesHTML(ingKey, task, current.attempted)}
${producerEconHTML(ingKey, task.correct)}
${caveats}
@@ -1362,6 +1422,18 @@ function showWrong(key, kind, ingKey){
const c=C[key],card=document.getElementById('resultCard');
const ing = ING[ingKey];
let head, note;
// Signatur-Zutat: „Warum nicht Deutschland?" sofort beantworten
const sTask = _taskCache[ingKey];
if (sTask && sTask.signature && ing.producers && ing.producers[key]) {
card.className="result-card mid show";
const info = ing.producers[key];
const amount = info && info.t ? fmtTonnes(info.t) : 'verbreitet';
const heimatN = C[sTask.heimat] ? C[sTask.heimat].n : '';
const was = sTask.label || ('der/die/das ' + ing.nm);
card.innerHTML = `<div class="rc-head">⚠️ ${c.f} ${c.n} erzeugt zwar viel ${ing.nm} (${amount}) aber dieses Gericht kommt aus ${heimatN}, und ${was} stammt von dort.</div>`+
`<div class="note">${c.info}<br><br>🔎 Tipp: Achte auf den Namen des Gerichts er verrät oft die Herkunft.</div>`;
return;
}
if (kind === 'producer-eu-elsewhere') {
card.className="result-card mid show";
const info = ing.producers[key];