commit 618d3ddb609a0c74b243c1a0bfd3cc190d02af3f
Author: root <root@hub.scroll.pub> Date: 2024-12-28 00:01:28 +0000 Subject: Initial commit diff --git a/body.html b/body.html new file mode 100644 index 0000000..27bdd07 --- /dev/null +++ b/body.html @@ -0,0 +1,103 @@ +<header> + <nav class="main-nav"> + <div class="logo">SolveLab</div> + <button class="mobile-menu" aria-label="Toggle menu">≡</button> + <ul class="nav-links"> + <li><a href="#scenarios">Scenarios</a></li> + <li><a href="#collaborate">Collaborate</a></li> + <li><a href="#tools">Tools</a></li> + <li><a href="#profile">Profile</a></li> + </ul> + </nav> +</header> + +<main> + <section class="hero"> + <h1>Master Complex Problem-Solving</h1> + <p>Explore real-world scenarios, make decisions, and learn from outcomes</p> + <button class="cta-button">Start Learning</button> + </section> + + <section id="scenarios" class="scenarios"> + <h2>Active Scenarios</h2> + <div class="scenario-grid"> + <article class="scenario-card"> + <div class="scenario-content"> + <h3>Business Ethics Dilemma</h3> + <p>Navigate a complex corporate decision with multiple stakeholders</p> + <div class="difficulty">Advanced</div> + <button class="explore-btn">Explore</button> + </div> + </article> + <article class="scenario-card"> + <div class="scenario-content"> + <h3>Environmental Crisis</h3> + <p>Manage resources during an ecological emergency</p> + <div class="difficulty">Intermediate</div> + <button class="explore-btn">Explore</button> + </div> + </article> + <article class="scenario-card"> + <div class="scenario-content"> + <h3>Tech Innovation Challenge</h3> + <p>Design solutions for emerging technology problems</p> + <div class="difficulty">Expert</div> + <button class="explore-btn">Explore</button> + </div> + </article> + </div> + </section> + + <section id="decision-tree" class="decision-tree"> + <h2>Current Challenge</h2> + <div class="tree-container"> + <div id="decision-display" class="decision-display"> + <p>Select a scenario to begin your problem-solving journey</p> + </div> + <div class="choice-buttons"> + <button class="choice" data-choice="a">Option A</button> + <button class="choice" data-choice="b">Option B</button> + <button class="choice" data-choice="c">Option C</button> + </div> + </div> + </section> + + <section id="collaborate" class="collaborate"> + <h2>Collaborative Learning</h2> + <div class="collaboration-tools"> + <div class="tool-card"> + <h3>Discussion Forum</h3> + <p>Share insights and discuss approaches</p> + </div> + <div class="tool-card"> + <h3>Team Projects</h3> + <p>Work together on complex scenarios</p> + </div> + <div class="tool-card"> + <h3>Peer Review</h3> + <p>Get feedback on your solutions</p> + </div> + </div> + </section> +</main> + +<footer> + <div class="footer-content"> + <div class="footer-section"> + <h4>About SolveLab</h4> + <p>Innovative problem-solving education platform</p> + </div> + <div class="footer-section"> + <h4>Quick Links</h4> + <ul> + <li><a href="#scenarios">Scenarios</a></li> + <li><a href="#collaborate">Collaborate</a></li> + <li><a href="#tools">Tools</a></li> + </ul> + </div> + <div class="footer-section"> + <h4>Contact</h4> + <p>support@solvelab.scroll.pub</p> + </div> + </div> +</footer> diff --git a/index.scroll b/index.scroll new file mode 100644 index 0000000..4dd2d54 --- /dev/null +++ b/index.scroll @@ -0,0 +1,8 @@ +buildHtml +baseUrl https://solvelab.scroll.pub +metaTags +editButton /edit.html +title SolveLab - Interactive Problem-Solving Education +style.css +body.html +script.js diff --git a/prompt.json b/prompt.json new file mode 100644 index 0000000..a33807f --- /dev/null +++ b/prompt.json @@ -0,0 +1,20 @@ +{ + "id": "msg_01RynAQchpPyYYCyttKtQ6J1", + "type": "message", + "role": "assistant", + "model": "claude-3-5-sonnet-20241022", + "content": [ + { + "type": "text", + "text": "I'll help create this interactive educational platform. For the domain, I suggest:\n\n---domain---\nsolvelab.scroll.pub\n\n---index.scroll---\nbuildHtml\nbaseUrl https://solvelab.scroll.pub\nmetaTags\neditButton /edit.html\ntitle SolveLab - Interactive Problem-Solving Education\nstyle.css\nbody.html\nscript.js\n\n---body.html---\n<header>\n <nav class=\"main-nav\">\n <div class=\"logo\">SolveLab</div>\n <button class=\"mobile-menu\" aria-label=\"Toggle menu\">≡</button>\n <ul class=\"nav-links\">\n <li><a href=\"#scenarios\">Scenarios</a></li>\n <li><a href=\"#collaborate\">Collaborate</a></li>\n <li><a href=\"#tools\">Tools</a></li>\n <li><a href=\"#profile\">Profile</a></li>\n </ul>\n </nav>\n</header>\n\n<main>\n <section class=\"hero\">\n <h1>Master Complex Problem-Solving</h1>\n <p>Explore real-world scenarios, make decisions, and learn from outcomes</p>\n <button class=\"cta-button\">Start Learning</button>\n </section>\n\n <section id=\"scenarios\" class=\"scenarios\">\n <h2>Active Scenarios</h2>\n <div class=\"scenario-grid\">\n <article class=\"scenario-card\">\n <div class=\"scenario-content\">\n <h3>Business Ethics Dilemma</h3>\n <p>Navigate a complex corporate decision with multiple stakeholders</p>\n <div class=\"difficulty\">Advanced</div>\n <button class=\"explore-btn\">Explore</button>\n </div>\n </article>\n <article class=\"scenario-card\">\n <div class=\"scenario-content\">\n <h3>Environmental Crisis</h3>\n <p>Manage resources during an ecological emergency</p>\n <div class=\"difficulty\">Intermediate</div>\n <button class=\"explore-btn\">Explore</button>\n </div>\n </article>\n <article class=\"scenario-card\">\n <div class=\"scenario-content\">\n <h3>Tech Innovation Challenge</h3>\n <p>Design solutions for emerging technology problems</p>\n <div class=\"difficulty\">Expert</div>\n <button class=\"explore-btn\">Explore</button>\n </div>\n </article>\n </div>\n </section>\n\n <section id=\"decision-tree\" class=\"decision-tree\">\n <h2>Current Challenge</h2>\n <div class=\"tree-container\">\n <div id=\"decision-display\" class=\"decision-display\">\n <p>Select a scenario to begin your problem-solving journey</p>\n </div>\n <div class=\"choice-buttons\">\n <button class=\"choice\" data-choice=\"a\">Option A</button>\n <button class=\"choice\" data-choice=\"b\">Option B</button>\n <button class=\"choice\" data-choice=\"c\">Option C</button>\n </div>\n </div>\n </section>\n\n <section id=\"collaborate\" class=\"collaborate\">\n <h2>Collaborative Learning</h2>\n <div class=\"collaboration-tools\">\n <div class=\"tool-card\">\n <h3>Discussion Forum</h3>\n <p>Share insights and discuss approaches</p>\n </div>\n <div class=\"tool-card\">\n <h3>Team Projects</h3>\n <p>Work together on complex scenarios</p>\n </div>\n <div class=\"tool-card\">\n <h3>Peer Review</h3>\n <p>Get feedback on your solutions</p>\n </div>\n </div>\n </section>\n</main>\n\n<footer>\n <div class=\"footer-content\">\n <div class=\"footer-section\">\n <h4>About SolveLab</h4>\n <p>Innovative problem-solving education platform</p>\n </div>\n <div class=\"footer-section\">\n <h4>Quick Links</h4>\n <ul>\n <li><a href=\"#scenarios\">Scenarios</a></li>\n <li><a href=\"#collaborate\">Collaborate</a></li>\n <li><a href=\"#tools\">Tools</a></li>\n </ul>\n </div>\n <div class=\"footer-section\">\n <h4>Contact</h4>\n <p>support@solvelab.scroll.pub</p>\n </div>\n </div>\n</footer>\n\n---style.css---\n:root {\n --primary-color: #2a6bc2;\n --secondary-color: #1d4e8f;\n --accent-color: #4db6ac;\n --background-color: #f5f7fa;\n --text-color: #2c3e50;\n --card-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);\n}\n\n* {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n}\n\nbody {\n font-family: 'Segoe UI', system-ui, sans-serif;\n line-height: 1.6;\n color: var(--text-color);\n background-color: var(--background-color);\n}\n\n/* Header & Navigation */\n.main-nav {\n background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));\n padding: 1rem;\n display: flex;\n justify-content: space-between;\n align-items: center;\n position: sticky;\n top: 0;\n z-index: 1000;\n}\n\n.logo {\n color: white;\n font-size: 1.5rem;\n font-weight: bold;\n text-transform: uppercase;\n letter-spacing: 1px;\n}\n\n.nav-links {\n display: flex;\n list-style: none;\n gap: 2rem;\n}\n\n.nav-links a {\n color: white;\n text-decoration: none;\n transition: color 0.3s ease;\n}\n\n.nav-links a:hover {\n color: var(--accent-color);\n}\n\n.mobile-menu {\n display: none;\n background: none;\n border: none;\n color: white;\n font-size: 1.5rem;\n cursor: pointer;\n}\n\n/* Hero Section */\n.hero {\n text-align: center;\n padding: 4rem 2rem;\n background: linear-gradient(rgba(42, 107, 194, 0.1), rgba(42, 107, 194, 0.05));\n}\n\n.hero h1 {\n font-size: 2.5rem;\n margin-bottom: 1rem;\n color: var(--primary-color);\n}\n\n.cta-button {\n background-color: var(--accent-color);\n color: white;\n border: none;\n padding: 1rem 2rem;\n border-radius: 25px;\n font-size: 1.1rem;\n cursor: pointer;\n transition: transform 0.3s ease;\n}\n\n.cta-button:hover {\n transform: translateY(-2px);\n}\n\n/* Scenario Cards */\n.scenario-grid {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));\n gap: 2rem;\n padding: 2rem;\n}\n\n.scenario-card {\n background: white;\n border-radius: 10px;\n overflow: hidden;\n box-shadow: var(--card-shadow);\n transition: transform 0.3s ease;\n}\n\n.scenario-card:hover {\n transform: translateY(-5px);\n}\n\n.scenario-content {\n padding: 1.5rem;\n}\n\n.difficulty {\n display: inline-block;\n padding: 0.3rem 0.8rem;\n border-radius: 15px;\n background-color: var(--accent-color);\n color: white;\n font-size: 0.9rem;\n margin: 1rem 0;\n}\n\n.explore-btn {\n background-color: var(--primary-color);\n color: white;\n border: none;\n padding: 0.8rem 1.5rem;\n border-radius: 20px;\n cursor: pointer;\n transition: background-color 0.3s ease;\n}\n\n.explore-btn:hover {\n background-color: var(--secondary-color);\n}\n\n/* Decision Tree */\n.decision-tree {\n padding: 2rem;\n background: white;\n margin: 2rem 0;\n border-radius: 10px;\n box-shadow: var(--card-shadow);\n}\n\n.tree-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 2rem;\n}\n\n.decision-display {\n background: var(--background-color);\n padding: 2rem;\n border-radius: 10px;\n width: 100%;\n max-width: 800px;\n min-height: 200px;\n}\n\n.choice-buttons {\n display: flex;\n gap: 1rem;\n flex-wrap: wrap;\n justify-content: center;\n}\n\n.choice {\n padding: 1rem 2rem;\n border: 2px solid var(--primary-color);\n background: white;\n border-radius: 25px;\n cursor: pointer;\n transition: all 0.3s ease;\n}\n\n.choice:hover {\n background: var(--primary-color);\n color: white;\n}\n\n/* Collaboration Section */\n.collaboration-tools {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));\n gap: 2rem;\n padding: 2rem;\n}\n\n.tool-card {\n background: white;\n padding: 2rem;\n border-radius: 10px;\n box-shadow: var(--card-shadow);\n text-align: center;\n}\n\n/* Footer */\nfooter {\n background: var(--secondary-color);\n color: white;\n padding: 3rem 2rem;\n margin-top: 4rem;\n}\n\n.footer-content {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n gap: 2rem;\n max-width: 1200px;\n margin: 0 auto;\n}\n\n.footer-section h4 {\n margin-bottom: 1rem;\n}\n\n.footer-section ul {\n list-style: none;\n}\n\n.footer-section a {\n color: white;\n text-decoration: none;\n}\n\n/* Mobile Responsiveness */\n@media (max-width: 768px) {\n .mobile-menu {\n display: block;\n }\n\n .nav-links {\n display: none;\n position: absolute;\n top: 100%;\n left: 0;\n right: 0;\n background: var(--primary-color);\n flex-direction: column;\n padding: 1rem;\n }\n\n .nav-links.active {\n display: flex;\n }\n\n .hero h1 {\n font-size: 2rem;\n }\n\n .scenario-grid {\n grid-template-columns: 1fr;\n }\n}\n\n---script.js---\ndocument.addEventListener('DOMContentLoaded', function() {\n // Mobile menu toggle\n const mobileMenu = document.querySelector('.mobile-menu');\n const navLinks = document.querySelector('.nav-links');\n \n mobileMenu.addEventListener('click', () => {\n navLinks.classList.toggle('active');\n });\n\n // Scenario selection and decision tree logic\n const scenarioCards = document.querySelectorAll('.scenario-card');\n const decisionDisplay = document.getElementById('decision-display');\n const choiceButtons = document.querySelectorAll('.choice');\n\n // Sample scenario data\n const scenarios = {\n 'Business Ethics Dilemma': {\n initial: \"A major client has requested you to modify financial reports. What do you do?\",\n choices: {\n a: \"Refuse and report to authorities\",\n b: \"Try to negotiate a legal alternative\",\n c: \"Seek internal guidance first\"\n }\n },\n 'Environmental Crisis': {\n initial: \"A chemical spill threatens local water supply. How do you respond?\",\n choices: {\n a: \"Immediate public announcement\",\n b: \"Conduct thorough assessment first\",\n c: \"Contact environmental experts\"\n }\n },\n 'Tech Innovation Challenge': {\n initial: \"Your AI model shows concerning bias. How do you proceed?\",\n choices: {\n a: \"Rebuild from scratch\",\n b: \"Implement bias mitigation\",\n c: \"Hybrid approach with human oversight\"\n }\n }\n };\n\n // Handle scenario selection\n scenarioCards.forEach(card => {\n card.addEventListener('click', function() {\n const title = this.querySelector('h3').textContent;\n if (scenarios[title]) {\n decisionDisplay.innerHTML = `\n <h3>${title}</h3>\n <p>${scenarios[title].initial}</p>\n `;\n updateChoices(scenarios[title].choices);\n }\n });\n });\n\n // Update choice buttons\n function updateChoices(choices) {\n choiceButtons.forEach(button => {\n const choice = button.dataset.choice;\n if (choices[choice]) {\n button.textContent = choices[choice];\n button.style.display = 'block';\n } else {\n button.style.display = 'none';\n }\n });\n }\n\n // Handle choice selection\n choiceButtons.forEach(button => {\n button.addEventListener('click', function() {\n const choice = this.dataset.choice;\n const feedback = generateFeedback(choice);\n decisionDisplay.innerHTML += `\n <div class=\"feedback\">\n <p>${feedback}</p>\n </div>\n `;\n });\n });\n\n // Generate feedback based on choice\n function generateFeedback(choice) {\n const feedbacks = {\n a: \"This approach prioritizes integrity and compliance but may have immediate business impacts.\",\n b: \"A balanced approach that seeks compromise while maintaining standards.\",\n c: \"A measured response that leverages available expertise and resources.\"\n };\n return feedbacks[choice] || \"Consider the implications of your choice.\";\n }\n\n // Smooth scroll for navigation\n document.querySelectorAll('a[href^=\"#\"]').forEach(anchor => {\n anchor.addEventListener('click', function(e) {\n e.preventDefault();\n const target = document.querySelector(this.getAttribute('href'));\n if (target) {\n target.scrollIntoView({\n behavior: 'smooth',\n block: 'start'\n });\n navLinks.classList.remove('active');\n }\n });\n });\n});\n\n---end---" + } + ], + "stop_reason": "end_turn", + "stop_sequence": null, + "usage": { + "input_tokens": 337, + "cache_creation_input_tokens": 0, + "cache_read_input_tokens": 0, + "output_tokens": 3821 + } +} \ No newline at end of file diff --git a/readme.scroll b/readme.scroll new file mode 100644 index 0000000..f6e00b2 --- /dev/null +++ b/readme.scroll @@ -0,0 +1,2 @@ +# solvelab.scroll.pub +Website generated by Claude from prompt: an interactive educational platform that teaches complex problem-solving through branching, real-world scenarios where users can explore different solution paths and see the consequences of their choices. The site would combine visual learning tools, collaborative features, and cross-domain challenges to help users develop practical problem-solving skills while understanding the "why" behind different approaches. \ No newline at end of file diff --git a/script.js b/script.js new file mode 100644 index 0000000..703df6d --- /dev/null +++ b/script.js @@ -0,0 +1,107 @@ +document.addEventListener('DOMContentLoaded', function() { + // Mobile menu toggle + const mobileMenu = document.querySelector('.mobile-menu'); + const navLinks = document.querySelector('.nav-links'); + + mobileMenu.addEventListener('click', () => { + navLinks.classList.toggle('active'); + }); + + // Scenario selection and decision tree logic + const scenarioCards = document.querySelectorAll('.scenario-card'); + const decisionDisplay = document.getElementById('decision-display'); + const choiceButtons = document.querySelectorAll('.choice'); + + // Sample scenario data + const scenarios = { + 'Business Ethics Dilemma': { + initial: "A major client has requested you to modify financial reports. What do you do?", + choices: { + a: "Refuse and report to authorities", + b: "Try to negotiate a legal alternative", + c: "Seek internal guidance first" + } + }, + 'Environmental Crisis': { + initial: "A chemical spill threatens local water supply. How do you respond?", + choices: { + a: "Immediate public announcement", + b: "Conduct thorough assessment first", + c: "Contact environmental experts" + } + }, + 'Tech Innovation Challenge': { + initial: "Your AI model shows concerning bias. How do you proceed?", + choices: { + a: "Rebuild from scratch", + b: "Implement bias mitigation", + c: "Hybrid approach with human oversight" + } + } + }; + + // Handle scenario selection + scenarioCards.forEach(card => { + card.addEventListener('click', function() { + const title = this.querySelector('h3').textContent; + if (scenarios[title]) { + decisionDisplay.innerHTML = ` + <h3>${title}</h3> + <p>${scenarios[title].initial}</p> + `; + updateChoices(scenarios[title].choices); + } + }); + }); + + // Update choice buttons + function updateChoices(choices) { + choiceButtons.forEach(button => { + const choice = button.dataset.choice; + if (choices[choice]) { + button.textContent = choices[choice]; + button.style.display = 'block'; + } else { + button.style.display = 'none'; + } + }); + } + + // Handle choice selection + choiceButtons.forEach(button => { + button.addEventListener('click', function() { + const choice = this.dataset.choice; + const feedback = generateFeedback(choice); + decisionDisplay.innerHTML += ` + <div class="feedback"> + <p>${feedback}</p> + </div> + `; + }); + }); + + // Generate feedback based on choice + function generateFeedback(choice) { + const feedbacks = { + a: "This approach prioritizes integrity and compliance but may have immediate business impacts.", + b: "A balanced approach that seeks compromise while maintaining standards.", + c: "A measured response that leverages available expertise and resources." + }; + return feedbacks[choice] || "Consider the implications of your choice."; + } + + // Smooth scroll for navigation + document.querySelectorAll('a[href^="#"]').forEach(anchor => { + anchor.addEventListener('click', function(e) { + e.preventDefault(); + const target = document.querySelector(this.getAttribute('href')); + if (target) { + target.scrollIntoView({ + behavior: 'smooth', + block: 'start' + }); + navLinks.classList.remove('active'); + } + }); + }); +}); diff --git a/style.css b/style.css new file mode 100644 index 0000000..6dade2d --- /dev/null +++ b/style.css @@ -0,0 +1,263 @@ +:root { + --primary-color: #2a6bc2; + --secondary-color: #1d4e8f; + --accent-color: #4db6ac; + --background-color: #f5f7fa; + --text-color: #2c3e50; + --card-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); +} + +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +body { + font-family: 'Segoe UI', system-ui, sans-serif; + line-height: 1.6; + color: var(--text-color); + background-color: var(--background-color); +} + +/* Header & Navigation */ +.main-nav { + background: linear-gradient(135deg, var(--primary-color), var(--secondary-color)); + padding: 1rem; + display: flex; + justify-content: space-between; + align-items: center; + position: sticky; + top: 0; + z-index: 1000; +} + +.logo { + color: white; + font-size: 1.5rem; + font-weight: bold; + text-transform: uppercase; + letter-spacing: 1px; +} + +.nav-links { + display: flex; + list-style: none; + gap: 2rem; +} + +.nav-links a { + color: white; + text-decoration: none; + transition: color 0.3s ease; +} + +.nav-links a:hover { + color: var(--accent-color); +} + +.mobile-menu { + display: none; + background: none; + border: none; + color: white; + font-size: 1.5rem; + cursor: pointer; +} + +/* Hero Section */ +.hero { + text-align: center; + padding: 4rem 2rem; + background: linear-gradient(rgba(42, 107, 194, 0.1), rgba(42, 107, 194, 0.05)); +} + +.hero h1 { + font-size: 2.5rem; + margin-bottom: 1rem; + color: var(--primary-color); +} + +.cta-button { + background-color: var(--accent-color); + color: white; + border: none; + padding: 1rem 2rem; + border-radius: 25px; + font-size: 1.1rem; + cursor: pointer; + transition: transform 0.3s ease; +} + +.cta-button:hover { + transform: translateY(-2px); +} + +/* Scenario Cards */ +.scenario-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); + gap: 2rem; + padding: 2rem; +} + +.scenario-card { + background: white; + border-radius: 10px; + overflow: hidden; + box-shadow: var(--card-shadow); + transition: transform 0.3s ease; +} + +.scenario-card:hover { + transform: translateY(-5px); +} + +.scenario-content { + padding: 1.5rem; +} + +.difficulty { + display: inline-block; + padding: 0.3rem 0.8rem; + border-radius: 15px; + background-color: var(--accent-color); + color: white; + font-size: 0.9rem; + margin: 1rem 0; +} + +.explore-btn { + background-color: var(--primary-color); + color: white; + border: none; + padding: 0.8rem 1.5rem; + border-radius: 20px; + cursor: pointer; + transition: background-color 0.3s ease; +} + +.explore-btn:hover { + background-color: var(--secondary-color); +} + +/* Decision Tree */ +.decision-tree { + padding: 2rem; + background: white; + margin: 2rem 0; + border-radius: 10px; + box-shadow: var(--card-shadow); +} + +.tree-container { + display: flex; + flex-direction: column; + align-items: center; + gap: 2rem; +} + +.decision-display { + background: var(--background-color); + padding: 2rem; + border-radius: 10px; + width: 100%; + max-width: 800px; + min-height: 200px; +} + +.choice-buttons { + display: flex; + gap: 1rem; + flex-wrap: wrap; + justify-content: center; +} + +.choice { + padding: 1rem 2rem; + border: 2px solid var(--primary-color); + background: white; + border-radius: 25px; + cursor: pointer; + transition: all 0.3s ease; +} + +.choice:hover { + background: var(--primary-color); + color: white; +} + +/* Collaboration Section */ +.collaboration-tools { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); + gap: 2rem; + padding: 2rem; +} + +.tool-card { + background: white; + padding: 2rem; + border-radius: 10px; + box-shadow: var(--card-shadow); + text-align: center; +} + +/* Footer */ +footer { + background: var(--secondary-color); + color: white; + padding: 3rem 2rem; + margin-top: 4rem; +} + +.footer-content { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); + gap: 2rem; + max-width: 1200px; + margin: 0 auto; +} + +.footer-section h4 { + margin-bottom: 1rem; +} + +.footer-section ul { + list-style: none; +} + +.footer-section a { + color: white; + text-decoration: none; +} + +/* Mobile Responsiveness */ +@media (max-width: 768px) { + .mobile-menu { + display: block; + } + + .nav-links { + display: none; + position: absolute; + top: 100%; + left: 0; + right: 0; + background: var(--primary-color); + flex-direction: column; + padding: 1rem; + } + + .nav-links.active { + display: flex; + } + + .hero h1 { + font-size: 2rem; + } + + .scenario-grid { + grid-template-columns: 1fr; + } +}