body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.spinner{--spinner-color:#0009;animation:spin 1s linear infinite;border:8px solid #0000001a;border-radius:50%;border-top-color:#0009;border-top:8px solid var(--spinner-color);height:48px;width:48px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}#root,body,html{background-color:#ffffe0;color:#000;font-family:sans-serif;margin:0;min-height:100vh;overflow-x:hidden!important;padding:0;width:100vw!important}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.editor-output-wrapper,.nav-buttons{max-width:100%;overflow-x:hidden}.editor-output-wrapper{grid-gap:.3rem;box-sizing:border-box;display:grid;gap:.3rem;grid-template-columns:1fr 1fr;margin-left:.3rem;max-width:100%;width:99%}@media (max-width:1000px){.editor-output-wrapper{align-items:center;grid-template-columns:1fr;width:100%}}.responsive-editor-container{width:clamp(400px,99vw,750px)}@media (max-width:1024px),(max-width:1124px){.responsive-editor-container .ch_output-container{width:clamp(400px,99vw,500px)}}@media (max-width:1023px){.ch_output-container{width:clamp(400px,80vw,700px)}}.output-input-container{align-items:center;display:flex;flex-direction:column;justify-content:center;margin:0 auto;text-align:center}.output-container{font-size:1rem;margin-top:0;min-width:clamp(300px,40vw,500px)}.ch_output-container,.output-container{background-color:#222121;border:1px solid #000;border-radius:10px;color:#09ea09;display:flex;flex-direction:column;font-family:OpenDyslexic,Arial,sans-serif;line-height:1.5;max-height:500px;min-height:480px;overflow-x:auto;padding-left:10px;padding-top:20px;text-align:left;white-space:pre-wrap}.ch_output-container{font-size:1.2rem;min-width:400px}.output-container.dark{background-color:#222121;color:#09ea09}.output-container.light{background-color:#fafafa;color:#000}.ch_output-container.dark{background-color:#222121;color:#09ea09}.ch_output-container.light{background-color:#fafafa;color:#000}.input-section{background-color:initial}.input-label{display:block;font-weight:700}.input-field,.input-label{font-size:16px;margin-bottom:5px}.input-field{background-color:initial;border:1px solid #ccc;border-radius:4px;color:#09ea09;margin-right:2px;padding:10px;width:60%}.submit-button{background-color:#377bb9;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:18px;padding:8px 10px}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.button{background-color:#57c9ab;border:none;border-radius:5px;color:#000;cursor:pointer;font-size:1.5rem;margin-left:1rem;margin-top:1rem;padding:.75rem 1.25rem;transition:background-color .2s ease}.button:hover{background-color:#8aa839}.nav-buttons{box-sizing:border-box;display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin:1.5rem 0;max-width:100%;overflow-x:hidden}.nav-button{background-color:#377bb9;background-image:linear-gradient(to bottom right,#ffffff1a,#0000000d);border:none;border-radius:8px;box-shadow:0 2px 4px #0000001a;color:#f2e8cf;cursor:pointer;font-size:1rem;font-weight:700;min-width:160px;overflow:hidden;padding:.75rem 1.5rem;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1)}.nav-button.selected{background-color:#111e49;box-shadow:inset 0 2px 4px #0003;color:#fff;transform:scale(.98)}.nav-button:hover:not(.selected){background-color:#4ebed6;box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.nav-button:active{transform:scale(.96)}.nav-button:focus{box-shadow:0 0 0 3px #6a994e66;outline:none}.nav-button:disabled{cursor:not-allowed;opacity:.7}.responsive-editor-container,.rounded-editor{border-radius:10px;height:auto;overflow:auto;overflow-y:auto}.copy-button,.download-button,.font-decrease-button,.font-increase-button,.refresh-button,.run-button,.save-button,.stop-button,.theme-toggle-button{background:#0000;border:none;cursor:pointer;font-size:1rem}.copy-button:hover,.download-button:hover,.font-decrease-button:hover,.font-increase-button:hover,.refresh-button:hover,.run-button:hover,.save-button:hover,.stop-button:hover,.theme-toggle-button:hover{transform:translateY(-1px)}.font-decrease-button,.font-increase-button{justify-content:flex-end}.challenge-category-button{background-color:#377bb9;background-image:linear-gradient(to bottom right,#ffffff1a,#0000000d);border:none;border-radius:8px;box-shadow:0 2px 4px #0000001a;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;letter-spacing:.5px;margin:.5rem;min-width:200px;overflow:hidden;padding:.75rem .5rem;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1)}.challenge-category-button:hover{background-color:#4ebed6;box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.challenge-category-button:active{box-shadow:0 1px 2px #0000001a;transform:translateY(1px)}.challenge-category-button:focus{ring:3px solid #a7c95766;outline:none}.challenge-category-button.selected{ring:2px solid #a7c957;background-color:#111e49;color:#fff}.challenge-category-button:disabled{background-color:#d3d3d3;color:grey;cursor:not-allowed;opacity:.8}@keyframes button-entry{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.challenge-category-button{animation:button-entry .3s ease-out}.ai-feedback-container{margin-top:1rem}.ai-feedback-button{background-color:#386641;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:1rem;padding:.8rem 1.5rem;transition:background-color .2s}.ai-feedback-button:hover{background-color:#2a4a2f}.ai-feedback-button:disabled{background-color:#6a994e;cursor:not-allowed}.ai-feedback-feedback{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;margin-top:2rem;padding:1.5rem}.ai-feedback-header{color:#2b2d42;margin-bottom:1rem}.ai-feedback-content{color:#4a4a4a;line-height:1.6}.ai-feedback-pseudocode{background-color:#e9ecef;border-radius:5px;font-family:monospace;padding:1rem;white-space:pre-wrap}.ai-feedback-error{color:#dc3545;margin-top:1rem}.loading-dots:after{animation:dots 1s steps(5) infinite;content:"."}@keyframes dots{0%,20%{content:"."}40%{content:".."}60%{content:"..."}80%,to{content:""}}.pseudo-button,.solution-button{background-color:initial}.pseudo-button:hover,.solution-button:hover{background-color:#93a653!important}.footer{background-color:#bdb8b8;bottom:0;color:#1b386e;font-size:.9rem;left:0;padding:1rem 2rem;text-align:center;width:100%}.footer-content{margin:0 auto;max-width:1000px}.footer-links{margin-top:.5rem}.footer-links a{color:#171111;margin:0 .5rem;text-decoration:none}.footer-links a:hover{text-decoration:underline}@media (max-width:1020px){.editor-controls-container{flex-wrap:wrap}}.challenge-controls{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}@media (max-width:1020px){.challenge-controls{flex-direction:row}}@media (max-width:599px){.challenge-controls{display:flex;flex-wrap:wrap;gap:.5rem}.challenge-controls>:nth-child(-n+3){flex-basis:calc(33.33333% - 0.33333rem);flex-grow:0;flex-shrink:1}.challenge-controls>:nth-child(n+4){flex-basis:calc(25% - 0.375rem);flex-grow:0;flex-shrink:1}}.turtle{align-items:center;display:flex;flex-direction:row-reverse;gap:1rem;justify-content:space-between;margin:0 auto}@media (max-width:1023px){.turtle{flex-direction:column}}.tchallenge-controls{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}@media (max-width:800px){.tchallenge-controls{flex-direction:row}}.turtle-content{align-items:center;display:flex;flex-direction:row;gap:1rem;justify-content:center;margin:0 auto;max-width:1400px;min-width:auto;width:100%}@media (max-width:800px){.turtle-content{flex-direction:column}}.light .input-field{color:#000}.guide-button{background-color:#f9f9f9;border:1px solid #ccc;border-radius:5px;cursor:pointer;font-weight:400;padding:.5rem 1rem}.guide-button.active{background-color:#e0f0ff;border:2px solid #007bff;font-weight:700}.playground-tabs{border-bottom:1px solid #377bb9;display:flex;justify-content:flex-start;margin-bottom:.5rem;margin-top:0}.playground-tabs .tab-button{background:#0000;border:none;cursor:pointer;margin-right:.25rem;padding:.5rem 1rem;position:relative}.playground-tabs .tab-button.active{background:#1b386e;border:1px solid #ccc;border-bottom:none;border-top-left-radius:.5rem;border-top-right-radius:.5rem;color:#fff;top:1px;z-index:1}.modal-backdrop{align-items:center;background-color:#0006;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:1000}.modal-content{background-color:#ffffe0;border:2px solid #1b386e;border-radius:10px;box-shadow:0 4px 10px #00000040;color:#000;font-family:sans-serif;max-width:420px;padding:1.5rem 2rem;width:90%}.modal-content h2{color:#1b386e;margin-bottom:1rem;margin-top:0}.modal-content input[type=text]{border:1px solid #ccc;border-radius:6px;font-size:1rem;margin-top:.25rem;padding:.6rem .75rem;width:100%}.modal-buttons{background-color:#377bb9;border:none;border-radius:6px;color:#f2e8cf;cursor:pointer;display:flex;font-weight:600;gap:.5rem;justify-content:flex-end;margin-top:1.25rem;padding:.5rem 1.25rem;transition:background-color .2s ease}.modal-buttons:hover{background-color:#4ebed6}.modal-buttons.primary{background-color:#111e49;color:#fff}.lesson-controls{display:flex;gap:.75rem;margin-bottom:1rem}.lesson-button{background-color:#f9f9f9;border:1px solid #ccc;border-radius:5px;cursor:pointer;font-weight:400;padding:.5rem 1rem}.lesson-button:hover{background-color:#e0f0ff;border:1px solid #007bff;font-weight:700}.lesson-container{color:#333;font-family:sans-serif;line-height:1.6;margin:0 auto;max-width:1024px;padding:20px}.lesson-title{border-bottom:2px solid #3498db;color:#2c3e50;margin-bottom:20px;padding-bottom:10px}.lesson-intro{font-size:1.1em;margin-bottom:30px}.method-section{background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #0000000d;margin-bottom:30px;padding:20px}.method-name{color:#2980b9;font-size:1.5em;margin-top:0}.method-name code{background-color:initial;color:#2980b9;padding:0}.method-description{margin-bottom:15px}.example-block{background-color:#fff;border:1px solid #dce4e9;border-radius:6px;margin-top:15px;padding:15px}.example-title{color:#34495e;font-weight:700;margin-bottom:8px}pre.code-example,pre.code-example code{background-color:#2d2d2d;border-radius:4px;color:#f8f8f2;display:block;font-family:Courier New,Courier,monospace;font-size:.95em;overflow-x:auto;padding:10px;white-space:pre-wrap;word-break:break-all}pre.code-example code{background-color:initial;padding:0}.example-output{word-wrap:break-word;align-items:center;background-color:#e8f6fd;border:1px dashed #a1c4d4;border-radius:4px;display:flex;flex-wrap:wrap;margin-top:8px;max-width:100%;overflow-wrap:anywhere;padding:8px;white-space:pre-wrap}.example-output .output-arrow{color:#3498db;flex:none;font-size:1.5em;font-weight:700;margin-right:10px}.example-output pre,.example-output pre code{background-color:initial;color:#2c3e50;flex:1 1;font-family:Courier New,Courier,monospace;font-size:.95em;margin:0;min-width:0;padding:0;white-space:pre-wrap!important;word-break:break-word}.example-note{background-color:#ecf0f1;border-left:3px solid #bdc3c7;border-radius:0 4px 4px 0;color:#000;font-size:1rem;margin-top:10px;padding:10px}code{background-color:#e8e8e8;border-radius:3px;color:#000;font-family:Courier New,Courier,monospace;font-size:.9em;margin:0;padding:.2em .4em}.task-section{background-color:#e6f7ff;border:1px solid #91d5ff;border-radius:8px;box-shadow:0 2px 4px #0000000d;margin-top:30px;padding:20px}.task-title{color:#0050b3;margin-top:0}.task-description{margin-bottom:10px}.task-list{list-style-type:decimal;padding-left:30px}.task-list li{margin-bottom:8px}.lessons-container{margin-top:1rem}.lesson-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.lesson-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;cursor:pointer;padding:1rem;transition:transform .1s ease,box-shadow .1s ease}.lesson-card:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-4px)}.lesson-card h4{font-size:1.1rem;margin:0}.back-button{background-color:#377bb9;border:none;border-radius:8px;box-shadow:0 2px 4px #0000001a;color:#f2e8cf;cursor:pointer;font-size:1rem;font-weight:600;margin-top:1rem;padding:.75rem 1.5rem;transition:background-color .2s ease,transform .1s ease,box-shadow .2s ease}.back-button:hover{background-color:#4ebed6;box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.back-button:active{transform:scale(.96)}.topic-buttons-container{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin:.5rem 0}.topic-button{align-items:center;background-color:#f9f9f9;border:1px solid #ccc;border-radius:5px;cursor:pointer;display:flex;flex-basis:calc(50% - 0.75rem);flex-grow:0;flex-shrink:1;font-size:1.3rem;gap:.5rem;justify-content:center;padding:.5rem 1rem;text-transform:none}.topic-button.selected{background-color:#e0f0ff;border:2px solid #007bff;font-weight:700}@media (min-width:600px){.topic-button{flex:0 1 auto}}.hero-section{colour:#fff;align-items:center;background:src("/logo512.png") no-repeat 50%/cover;display:flex;height:60vh;justify-content:center}.hero-content{background-colour:#00000080;border-radius:10px;padding:2rem;text-align:center}.cta-button{background-colour:#007bff;colour:#fff;border:none;border-radius:5px;cursor:pointer;font-size:1.2rem;margin-top:1rem;padding:1rem 2rem}
/*# sourceMappingURL=main.101e7542.css.map*/