feat: implement #4 — replace answer-revealing validation messages with pedagogical hints

Rewrite ~120 validation error messages across 17 English lesson modules
and their localized variants (ar, de, es, pl, uk) to use concept questions,
property hints, and directional nudges instead of revealing the exact
CSS property-value answers.

Priority modules (flexbox, box-model, colors, positioning) fully rewritten.
All remaining CSS modules updated. Only message strings changed — no
validation logic modifications.
This commit is contained in:
2026-03-28 19:40:28 +01:00
parent 782e87705c
commit c560676544
50 changed files with 434 additions and 403 deletions

View File

@@ -147,7 +147,7 @@
"property": "padding",
"expected": "20px"
},
"message": "Set the padding value to <kbd>20px</kbd>",
"message": "How much breathing room does the content need? Re-read the task for the exact size",
"options": {
"exact": true
}
@@ -181,7 +181,7 @@
"property": "margin-bottom",
"expected": "30px"
},
"message": "Set the margin-bottom value to <kbd>30px</kbd>",
"message": "How much space should separate the title from the content below? Check the task for the amount",
"options": {
"exact": true
}
@@ -212,7 +212,7 @@
{
"type": "regex",
"value": "border:\\s*2px\\s+solid\\s+blue",
"message": "Set the border to <kbd>2px solid blue</kbd>",
"message": "The <kbd>border</kbd> shorthand takes three parts: width, style, and color",
"options": {
"caseSensitive": false
}
@@ -246,7 +246,7 @@
"property": "justify-content",
"expected": "center"
},
"message": "Set <kbd>justify-content</kbd> to <kbd>center</kbd>",
"message": "How do you center items along the main axis?",
"options": {
"exact": true
}
@@ -265,7 +265,7 @@
"property": "align-items",
"expected": "center"
},
"message": "Set <kbd>align-items</kbd> to <kbd>center</kbd>",
"message": "Which property centers items along the cross axis?",
"options": {
"exact": true
}
@@ -327,7 +327,7 @@
{
"type": "regex",
"value": "font-family:\\s*Courier,\\s*monospace",
"message": "Set the font-family to <kbd>Courier, monospace</kbd>",
"message": "A font stack lists preferred fonts first, followed by a generic fallback, separated by commas",
"options": {
"caseSensitive": false
}