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;overflow-x:hidden}#root,body,html{height:100%;overflow-x:hidden}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)}}.level-display-container{align-items:center;background:linear-gradient(135deg,var(--ld-bg,#3b82f614) 0,var(--ld-bg-soft,#3b82f61f) 100%);border:1px solid var(--ld-border-light,#3b82f640);border-radius:10px;box-shadow:0 2px 8px var(--ld-shadow,#3b82f626);color:var(--ld-text,#0f172a);display:flex;gap:.5rem;padding:.35rem .75rem;transition:all .3s ease}.level-display-container:hover{border-color:var(--ld-border,#3b82f6);box-shadow:0 4px 12px var(--ld-shadow,#3b82f638);transform:translateY(-1px)}.level-badge{align-items:center;background:linear-gradient(135deg,var(--ld-progress-start,#3b82f6) 0,var(--ld-progress-end,#8b5cf6) 100%);border-radius:50%;box-shadow:0 2px 8px var(--ld-shadow,#3b82f640);display:flex;flex-shrink:0;height:28px;justify-content:center;width:28px}.level-display-number{color:#fff;font-size:.875rem;font-weight:700}.level-info{display:flex;flex-direction:column;gap:.2rem;min-width:100px}.level-title{color:var(--ld-primary,#3b82f6);font-size:.75rem;font-weight:600;line-height:1}.level-progress-bar-container{background:var(--ld-border-light,#3b82f633);border-radius:2px;height:4px;overflow:hidden;width:100%}.level-progress-bar-fill{background:linear-gradient(90deg,var(--ld-progress-start,#3b82f6) 0,var(--ld-progress-mid,#6d28d9) 50%,var(--ld-progress-end,#8b5cf6) 100%);border-radius:3px;height:100%;transition:width .5s ease}.level-xp-text{color:var(--ld-text-light,#475569);font-size:.7rem;font-weight:500}@media (max-width:768px){.level-display-container{gap:.4rem;padding:.3rem .6rem}.level-badge{height:26px;width:26px}.level-display-number{font-size:.8rem}.level-info{min-width:85px}.level-title{font-size:.7rem}.level-xp-text{font-size:.65rem}}@media (max-width:480px){.level-xp-text{display:none}.level-info{min-width:80px}}.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}:root{--color-primary:#377bb9;--color-primaryHover:#0056b3;--color-primaryLight:#99beff;--color-secondary:#4ebed6;--color-accent:#58abae;--color-background:#fff;--color-backgroundAlt:#f9f9f9;--color-backgroundCard:#fafafa;--color-backgroundDark:#f8f9fa;--color-text:#333;--color-textLight:#666;--color-textDark:#000;--color-textInverse:#fff;--color-border:#ddd;--color-borderLight:#e0e0e0;--color-shadow:#0000001a;--color-shadowDark:#0003;--color-success:#28a745;--color-error:#dc3545;--color-warning:#ff9800;--color-info:#4ebed6;--color-navbarBg:#99beff;--color-sidebarBg:#f5f5f5;--color-consoleBg:#222121;--color-consoleText:#09ea09;--color-buttonPrimary:#377bb9;--color-buttonPrimaryHover:#0056b3;--color-buttonSecondary:#4ebed6;--color-buttonSecondaryHover:#3aa5b5;--color-gradientStart:#377bb9;--color-gradientMid:#4ebed6;--color-gradientEnd:#58abae}#root,body,html{background-color:var(--color-background);color:var(--color-textDark);font-family:sans-serif;margin:0;min-height:100vh;overflow-x:hidden!important;padding:0;width:100%}body{padding-top:70px}.app-root{display:flex;flex-direction:column;min-height:calc(100vh - 70px)}.app-main{flex:1 1;min-height:0}.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:1rem;align-items:start;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin:0 auto;max-width:1200px;width:100%}.resizable-panels-wrapper{align-items:stretch;box-sizing:border-box;display:flex;gap:8px;height:500px;margin:0;max-width:100%;position:relative;width:100%}@media (max-width:1000px){.editor-output-wrapper{align-items:stretch;flex-direction:column;height:auto;margin:0;max-width:100%;width:100%}.resizer{display:none!important}.resizable-panels-wrapper{align-items:stretch;flex-direction:column;height:auto;margin:0;max-width:100%;width:100%}.resizable-panels-wrapper .resizer{display:none!important}}.editor-panel,.output-panel,.resizable-panels-wrapper .editor-panel,.resizable-panels-wrapper .output-panel{background:#0000;box-sizing:border-box;display:flex;flex-direction:column;min-width:200px;overflow:hidden}.resizer{background:linear-gradient(90deg,var(--color-gradientStart) 0,var(--color-gradientMid) 50%,var(--color-gradientStart) 100%);border-radius:4px;cursor:col-resize;flex-shrink:0;position:relative;transition:all .2s ease;width:8px}.resizer:hover{background:linear-gradient(90deg,var(--color-primaryHover) 0,var(--color-primary) 50%,var(--color-primaryHover) 100%);width:10px}.resizer:active{background:var(--color-primaryHover);width:10px}.resizer:before{color:#fff;content:"⋮";font-size:16px;font-weight:700;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%)}.responsive-editor-container{box-sizing:border-box;overflow:hidden}.rounded-editor{box-sizing:border-box;width:100%}.ch_output-container,.output-container{background-color:#222121;color:#09ea09;margin:0}@media (max-width:1024px),(max-width:1124px){.responsive-editor-container .ch_output-container{max-width:100%!important;width:100%!important}}@media (max-width:1023px){.ch_output-container{max-width:100%!important;width:100%!important}}@media (max-width:1000px){.editor-panel,.output-panel{flex:none;max-width:100%!important;min-height:300px;width:100%!important}.ch_output-container,.output-container{height:auto;max-width:100%!important;min-height:300px;width:100%!important}}.output-input-container{box-sizing:border-box;height:100%;width:100%}.input-section{background-color:#333;border-radius:0 0 10px 10px;border-top:1px solid #555;display:flex;gap:8px;padding:10px}.submit-button{background-color:var(--color-buttonPrimary);border:none;border-radius:5px;color:var(--color-textInverse);cursor:pointer;font-size:1.5rem;margin-top:1rem;padding:.75rem 1.25rem}.submit-button:hover{background-color:var(--color-accent)}.ch_output-container,.output-container{background-color:var(--color-consoleBg);border:1px solid #000;border-radius:10px;box-sizing:border-box;color:var(--color-consoleText);font-family:OpenDyslexic,Arial,sans-serif;font-size:1rem;line-height:1.5;overflow:auto;padding:20px 10px;text-align:left;white-space:pre-wrap;width:100%}.ch_output-container,.output-container,.responsive-editor-container{display:flex;flex-direction:column;height:100%}.rounded-editor{border-radius:10px;flex:1 1;height:100%;overflow:hidden}@media (max-width:1000px){.editor-panel,.output-panel{flex:none;min-height:300px;width:100%}.ch_output-container,.output-container{height:auto;min-height:300px}.editor-output-wrapper{align-items:center;grid-template-columns:1fr;width:100%}}@media (max-width:1024px),(max-width:1124px){.responsive-editor-container .ch_output-container{width:clamp(200px,99vw,500px)}}@media (max-width:1023px){.ch_output-container{width:clamp(200px,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:200px}.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-size:12px;font-weight:700;margin-bottom:5px}.input-field{background-color:initial;border:1px solid #000;border-radius:4px;color:#09ea09;font-size:16px;margin-bottom:5px;margin-right:2px;padding:10px;width:87%}.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:var(--color-navbarBg);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:var(--color-accent)}.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:var(--color-buttonPrimary);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:var(--color-primaryHover);box-shadow:inset 0 2px 4px #0003;color:#fff;transform:scale(.98)}.nav-button.ghost-toggle{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background-color:initial;border:1px solid #111e4959;box-shadow:none;color:var(--color-text);min-width:150px}.nav-button.ghost-toggle.selected{background-color:#111e4914;box-shadow:inset 0 0 0 1px #111e4933;color:#0b1330}.badge-dot{background:#ff6b6b;border-radius:999px;display:inline-flex;height:.65rem;margin-left:.5rem;opacity:0;transform:scale(.5);transition:opacity .2s ease,transform .2s ease;width:.65rem}.badge-dot.visible{opacity:1;transform:scale(1)}.count-pill{align-items:center;background:#111e491f;border-radius:999px;color:var(--color-text);display:inline-flex;font-size:.8rem;font-weight:600;height:1.35rem;justify-content:center;margin-left:.5rem;min-width:1.5rem;padding:0 .5rem}.nav-button:hover:not(.selected){background-color:var(--color-buttonSecondary);box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.nav-button.ghost-toggle:hover:not(.selected){background-color:#111e490f;box-shadow:none;transform:translateY(0)}.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;border-radius:8px;cursor:pointer;font-size:1rem;padding:.4rem;transition:all .2s ease}[data-theme=oceanBlue] .copy-button:hover,[data-theme=oceanBlue] .download-button:hover,[data-theme=oceanBlue] .font-decrease-button:hover,[data-theme=oceanBlue] .font-increase-button:hover,[data-theme=oceanBlue] .refresh-button:hover,[data-theme=oceanBlue] .run-button:hover,[data-theme=oceanBlue] .save-button:hover,[data-theme=oceanBlue] .stop-button:hover,[data-theme=oceanBlue] .theme-toggle-button:hover{background:#f0f4f8;transform:translateY(-1px)}[data-theme=forestGreen] .copy-button:hover,[data-theme=forestGreen] .download-button:hover,[data-theme=forestGreen] .font-decrease-button:hover,[data-theme=forestGreen] .font-increase-button:hover,[data-theme=forestGreen] .refresh-button:hover,[data-theme=forestGreen] .run-button:hover,[data-theme=forestGreen] .save-button:hover,[data-theme=forestGreen] .stop-button:hover,[data-theme=forestGreen] .theme-toggle-button:hover{background:#f4f7f0;transform:translateY(-1px)}[data-theme=sunsetOrange] .copy-button:hover,[data-theme=sunsetOrange] .download-button:hover,[data-theme=sunsetOrange] .font-decrease-button:hover,[data-theme=sunsetOrange] .font-increase-button:hover,[data-theme=sunsetOrange] .refresh-button:hover,[data-theme=sunsetOrange] .run-button:hover,[data-theme=sunsetOrange] .save-button:hover,[data-theme=sunsetOrange] .stop-button:hover,[data-theme=sunsetOrange] .theme-toggle-button:hover{background:#fff8f0;transform:translateY(-1px)}[data-theme=darkMode] .copy-button:hover,[data-theme=darkMode] .download-button:hover,[data-theme=darkMode] .font-decrease-button:hover,[data-theme=darkMode] .font-increase-button:hover,[data-theme=darkMode] .refresh-button:hover,[data-theme=darkMode] .run-button:hover,[data-theme=darkMode] .save-button:hover,[data-theme=darkMode] .stop-button:hover,[data-theme=darkMode] .theme-toggle-button:hover{background:#383747;transform:translateY(-1px)}[data-theme=studioRed] .copy-button:hover,[data-theme=studioRed] .download-button:hover,[data-theme=studioRed] .font-decrease-button:hover,[data-theme=studioRed] .font-increase-button:hover,[data-theme=studioRed] .refresh-button:hover,[data-theme=studioRed] .run-button:hover,[data-theme=studioRed] .save-button:hover,[data-theme=studioRed] .stop-button:hover,[data-theme=studioRed] .theme-toggle-button:hover{background:#262626;transform:translateY(-1px)}[data-theme=darkMode] .download-button img,[data-theme=darkMode] .font-decrease-button img,[data-theme=darkMode] .font-increase-button img,[data-theme=darkMode] .refresh-button img,[data-theme=darkMode] .run-button img,[data-theme=darkMode] .save-button img,[data-theme=darkMode] .stop-button img{filter:invert(1) brightness(1.2)}[data-theme=studioRed] .download-button img,[data-theme=studioRed] .font-decrease-button img,[data-theme=studioRed] .font-increase-button img,[data-theme=studioRed] .refresh-button img,[data-theme=studioRed] .run-button img,[data-theme=studioRed] .save-button img,[data-theme=studioRed] .stop-button img{filter:invert(1) brightness(1.05)}[data-theme=darkMode] .theme-toggle-button img,[data-theme=studioRed] .theme-toggle-button img{filter:none}.font-decrease-button,.font-increase-button{justify-content:flex-end}.challenge-category-button{background-color:var(--color-buttonPrimary);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)}.ch_output-container{max-height:100%;overflow-y:auto;padding:1rem}.output-content{word-wrap:break-word;overflow-wrap:break-word}#python-standalone-root{margin:10px 0;max-width:100%!important;overflow-x:auto;width:100%!important}#python-standalone-root img{border:1px solid #ddd;border-radius:4px;display:block;margin:10px 0}.challenge-category-button:hover{background-color:var(--color-buttonSecondary);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:var(--color-primaryHover);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:var(--color-navbarBg);bottom:0;box-sizing:border-box;color:var(--color-text);flex-shrink:0;font-size:.8rem;left:0;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding:.2rem .3rem;text-align:center;width:100vw}.footer-content{margin:0 auto;max-width:1400px}.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 var(--color-border,#c5d9e8);display:flex;justify-content:flex-start;margin-bottom:.5rem;margin-top:0}.playground-tabs .tab-button{background:var(--color-backgroundAlt,#f6f8ff);border:1px solid #0000;border-top-left-radius:.5rem;border-top-right-radius:.5rem;color:var(--color-text,#0f264d);cursor:pointer;margin-right:.25rem;padding:.5rem 1rem;position:relative;transition:background .2s ease,color .2s ease,border-color .2s ease}.playground-tabs .tab-button.active{background:var(--color-primary,#377bb9);border:1px solid var(--color-primary,#377bb9);border-bottom:none;border-top-left-radius:.5rem;border-top-right-radius:.5rem;color:var(--color-textInverse,#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:var(--color-navbarBg);border:2px solid var(--color-text);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:var(--color-text);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:var(--color-buttonPrimary);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:var(--color-buttonSecondary)}.modal-buttons.primary{background-color:var(--color-primaryHover);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:var(--color-backgroundCard,var(--color-backgroundAlt,#f9f9f9));border:1px solid var(--color-border,#c5d9e8);border-radius:8px;box-shadow:0 2px 4px var(--color-shadow,#0000001a);color:var(--color-text,#0f264d);cursor:pointer;padding:1rem;transition:transform .1s ease,box-shadow .1s ease,border-color .1s ease}.lesson-card:hover{border-color:var(--color-primary,#377bb9);box-shadow:0 4px 8px var(--color-shadowDark,#00000026);transform:translateY(-4px)}.lesson-card h4{color:inherit;font-size:1.1rem;margin:0}.back-button{background-color:var(--color-buttonPrimary);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:var(--color-buttonSecondary);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:var(--color-backgroundAlt,#f9f9f9);border:1px solid var(--color-border,#ccc);border-radius:5px;color:var(--color-text,#333);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:var(--color-backgroundCard,#e0f0ff);border:2px solid var(--color-primary,#007bff);font-weight:700}@media (min-width:600px){.topic-button{flex:0 1 auto}}.resizable-panels-wrapper .ch_output-container,.resizable-panels-wrapper .output-container{box-sizing:border-box;height:100%;max-width:100%!important;overflow:auto;width:100%!important}.responsive-editor-container{max-width:100%;min-width:0;width:100%}@media (max-width:1000px){.editor-output-wrapper .editor-panel,.editor-output-wrapper .output-panel{flex:none;min-height:300px;width:100%}.editor-output-wrapper .ch_output-container,.editor-output-wrapper .output-container{height:auto;min-height:300px}.resizable-panels-wrapper .editor-panel,.resizable-panels-wrapper .output-panel{flex:none;max-width:100%!important;min-height:300px;width:100%!important}.resizable-panels-wrapper .ch_output-container,.resizable-panels-wrapper .output-container{height:auto;max-width:100%!important;min-height:300px;width:100%!important}}.editor-output-wrapper .editor-panel,.editor-output-wrapper .output-panel{flex:none;min-height:300px;width:100%}.ch_output-container img,.download-links img,.output-container img,.output-content img{box-sizing:border-box!important;height:auto!important;margin:10px 0!important;max-width:100%!important}.download-links{overflow-x:auto!important;width:100%!important}#python-standalone-root img,.download-links{box-sizing:border-box!important;max-width:100%!important}#python-standalone-root img{height:auto!important}.pygame-editor-container{display:flex;flex-direction:column;height:100vh}.pygame-editor-container .resizable-panels-wrapper{flex:1 1;min-height:0}.resizable-panels-wrapper iframe{height:100%!important;width:100%!important}@media (max-width:1000px){.pygame-editor-container .resizable-panels-wrapper .editor-panel,.pygame-editor-container .resizable-panels-wrapper .output-panel{min-height:400px}.pygame-editor-container iframe{min-height:300px!important}}.app-shell{background:var(--color-navbarBg);display:flex;min-height:100vh}.sidebar{background:var(--color-sidebarBg);border-right:2px solid var(--color-border);bottom:0;color:var(--color-text);left:0;overflow-x:hidden;overflow-y:auto;padding-top:calc(60px + .5rem);position:fixed;top:0;width:220px;z-index:99}.sidebar::-webkit-scrollbar{width:8px}.sidebar::-webkit-scrollbar-track{background:#0000}.sidebar::-webkit-scrollbar-thumb{background:#0000;border-radius:4px;-webkit-transition:background .2s ease;transition:background .2s ease}.sidebar:hover::-webkit-scrollbar-thumb{background:var(--color-border)}.sidebar::-webkit-scrollbar-thumb:hover{background:var(--color-primary)}.sidebar{scrollbar-color:var(--color-border) #0000;scrollbar-width:auto}body::-webkit-scrollbar{width:12px}body::-webkit-scrollbar-track{background:#0000}body::-webkit-scrollbar-thumb{background:#0000;border:3px solid var(--color-background);border-radius:6px;-webkit-transition:background .3s ease;transition:background .3s ease}body.is-scrolling::-webkit-scrollbar-thumb{background:var(--color-border)}body.is-scrolling::-webkit-scrollbar-thumb:hover{background:var(--color-primary)}body{scrollbar-color:#0000 #0000;scrollbar-gutter:stable;scrollbar-width:thin}body.is-scrolling{scrollbar-color:var(--color-border) #0000}.sidebar.collapsed{width:64px}.sidebar.collapsed .sidebar-nav{padding-left:6px;padding-right:6px}.sidebar.collapsed .sidebar-item{justify-content:center;padding-left:8px;padding-right:8px}.sidebar-inner{display:flex;flex-direction:column;height:100%;min-height:0}.sidebar-toggle{-webkit-appearance:none;appearance:none;background:#0000;border:0;color:inherit;cursor:pointer;font-size:24px;line-height:1;min-height:40px;padding:14px;text-align:left}.sidebar-toggle:focus-visible,.sidebar-toggle:hover{background:var(--color-backgroundAlt);border-radius:8px;outline:none}.sidebar-nav{display:flex;flex:1 1;flex-direction:column;gap:4px;min-height:0;overflow-x:hidden;overflow-y:auto;padding:8px}.sidebar-item{align-items:center;border-radius:8px;color:inherit;display:flex;font-size:14px;gap:10px;padding:10px 12px;position:relative;text-decoration:none;transition:background-color .2s ease}.sidebar-item:hover{background:var(--color-backgroundAlt)}.sidebar-item.active{background:var(--color-primary);border-left:3px solid var(--color-accent);color:var(--color-textInverse)}.sidebar-item .icon{--icon-y-nudge:-2px;align-items:center;display:inline-flex;height:28px;justify-content:center;position:relative;width:28px}.sidebar-item .icon svg{display:block}.sidebar-item .icon .icon-count-overlay{font-feature-settings:"tnum";color:currentColor;font-size:12px;font-variant-numeric:tabular-nums;font-weight:800;left:50%;line-height:1;pointer-events:none;position:absolute;text-shadow:0 0 1px #ffffff59;top:50%;transform:translate(-50%,-50%)}.sidebar-item .label{white-space:nowrap}.sidebar-item.ghost{background:#0000;border:none;text-align:left;width:100%}.sidebar-item.ghost:hover{background:var(--color-backgroundAlt)}.sidebar-item .count-pill{margin-left:auto}.sidebar-theme-switcher{background:var(--color-sidebarBg);border-top:1px solid var(--color-borderLight);bottom:0;display:flex;flex-direction:column;flex-shrink:0;overflow-x:hidden;padding:12px 8px 16px;position:-webkit-sticky;position:sticky}.theme-switcher-label{color:var(--color-textLight);font-size:11px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;padding-left:4px;text-transform:uppercase}.theme-palette{display:flex;flex-shrink:0;flex-wrap:wrap;gap:6px;justify-content:center}.theme-palette.collapsed{align-items:center;flex-direction:column}.theme-circle{align-items:center;border:2px solid #0000;border-radius:50%;box-shadow:0 2px 4px #0003;cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;position:relative;transition:all .2s ease;width:28px}.theme-circle:hover{box-shadow:0 4px 8px #0000004d;transform:scale(1.1)}.theme-circle.active{border-color:#fff;box-shadow:0 0 0 2px var(--color-background),0 4px 8px #0000004d}.theme-circle:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (max-width:900px){.theme-circle{height:24px;width:24px}.theme-circle svg{height:10px;width:10px}.sidebar-theme-switcher{padding:8px 4px 12px}.theme-palette{gap:4px}}@media (max-height:600px){.theme-switcher-label{font-size:10px;margin-bottom:6px}}.sidebar-item.ghost{flex-shrink:0}.content{--sidebar-offset:220px;background:var(--color-background);flex:1 1;margin-left:var(--sidebar-offset);min-height:calc(100vh - 70px);min-width:0;overflow-x:visible;overflow-y:visible;padding:16px;width:calc(100% - var(--sidebar-offset))}@media (max-width:900px){.sidebar,.sidebar:not(.collapsed){width:64px}.content{--sidebar-offset:64px;margin-left:var(--sidebar-offset);width:calc(100% - var(--sidebar-offset))}}.sidebar.collapsed+main.content,.sidebar.collapsed~.content{--sidebar-offset:64px;margin-left:var(--sidebar-offset);width:calc(100% - var(--sidebar-offset))}*,:after,:before{box-sizing:border-box}.content canvas,.content iframe,.content img,.content video{height:auto;max-width:100%}.sidebar-item .icon img{display:block;height:100%;object-fit:contain;width:100%}.sidebar-item .icon img,.sidebar-item .icon svg{display:block;transform:translateY(var(--icon-y-nudge));vertical-align:middle}.sidebar-item .icon.saved-icon{--icon-y-nudge:-2px;align-items:center;justify-content:center}.sidebar-item .icon.saved-icon .icon-count-overlay{transform:translate(-50%,calc(-50% + var(--icon-y-nudge)))}[data-theme=darkMode] .sidebar-item .icon img.pseudocode-icon{filter:invert(1) brightness(1.15)}[data-theme=darkMode] .sidebar-item .saved-icon .icon-count-overlay{color:#000;text-shadow:0 0 1px #fffc}[data-theme=studioRed] .sidebar-item .icon img[src*=SQL],[data-theme=studioRed] .sidebar-item .icon img[src*=pseudocode],[data-theme=studioRed] .sidebar-item .icon img[src*=saved_files]{filter:invert(1) brightness(.9)}[data-theme=studioRed] button svg,[data-theme=studioRed] label svg{color:#e0e0e0}[data-theme=studioRed] button svg text,[data-theme=studioRed] label svg text{fill:#fff}[data-theme=darkMode] button svg,[data-theme=darkMode] label svg{color:#e0e0e0}[data-theme=darkMode] button svg text,[data-theme=darkMode] label svg text{fill:#fff}[data-theme=darkMode] div[style*="border: 1px solid"]{background:var(--color-backgroundCard)!important;border-color:var(--color-border)!important}[data-theme=darkMode] div[style*="border: 1px solid"] h3{color:#e0e0e0!important}[data-theme=darkMode] div[style*="border: 1px solid"] span[style*="color: #555"]{color:#9e9e9e!important}[data-theme=studioRed] div[style*="border: 1px solid"]{background:var(--color-backgroundCard)!important;border-color:var(--color-border)!important}[data-theme=studioRed] div[style*="border: 1px solid"] h3{color:#e0e0e0!important}[data-theme=studioRed] div[style*="border: 1px solid"] span[style*="color: #555"]{color:#9e9e9e!important}.sidebar.collapsed .sidebar-item{position:relative}.sidebar.collapsed .sidebar-item:after{background:#111e49f2;border-radius:8px;box-shadow:0 4px 12px #00000040;color:#fff;content:attr(data-tooltip);left:100%;opacity:0;padding:6px 10px;pointer-events:none;position:absolute;top:50%;transform:translate(8px,-50%);transition:opacity .15s ease,transform .15s ease;white-space:nowrap;z-index:1002}.sidebar.collapsed .sidebar-item:before{border:6px solid #0000;border-left-color:#111e49f2;content:"";left:100%;opacity:0;position:absolute;top:50%;transform:translate(2px,-50%);transition:opacity .15s ease;z-index:1002}.sidebar.collapsed .sidebar-item:focus-visible:after,.sidebar.collapsed .sidebar-item:focus-visible:before,.sidebar.collapsed .sidebar-item:hover:after,.sidebar.collapsed .sidebar-item:hover:before{opacity:1}.sidebar:not(.collapsed) .sidebar-item .label{font-size:15px;font-weight:700;line-height:1.2}
/*# sourceMappingURL=main.8869b9a7.css.map*/