{ "id": "basics", "title": "CSS Basics", "description": "Learn the fundamental concepts of CSS styling", "difficulty": "beginner", "lessons": [ { "id": "basics-1", "title": "Introduction to Selectors", "description": "Selectors are patterns used to select HTML elements you want to style. In this lesson, you'll learn how to target elements with CSS.", "task": "Style the paragraph element by making its text color blue. Use the 'color' property with the value 'blue'.", "previewHTML": "
This paragraph needs to be blue!
This paragraph should remain unchanged.
", "previewBaseCSS": "body { font-family: system-ui, -apple-system, sans-serif; padding: 1.25rem; }", "sandboxCSS": ".target { outline: 0.125rem dashed #ccc; padding: 0.625rem; }", "codePrefix": "/* Style the paragraph with class 'target' */\n", "initialCode": "", "codeSuffix": "", "previewContainer": "preview-area", "validations": [ { "type": "contains", "value": ".target", "message": "Make sure to use the '.target' class selector", "options": { "caseSensitive": false } }, { "type": "contains", "value": "color", "message": "Use the 'color' property", "options": { "caseSensitive": false } }, { "type": "property_value", "value": { "property": "color", "expected": "blue" }, "message": "Set the color property to 'blue'", "options": { "exact": false } } ] }, { "id": "basics-2", "title": "Box Model Basics", "description": "The CSS box model is a fundamental concept that describes how elements are sized and spaced on a page.", "task": "Add padding of 1.25rem and a 0.125rem solid border with color #333 to the box element.", "previewHTML": "