@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/55c55f0601d81cf3-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/26a46d62cd723877-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/97e0cb1ae144a2a9-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/581909926a08bbc8-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_e8ce0c{font-family:Inter,Inter Fallback;font-style:normal}:root{--bg-primary:#1e1e1e;--bg-secondary:#252526;--bg-tertiary:#2d2d30;--bg-quaternary:#3c3c3c;--text-primary:#cccccc;--text-secondary:#9cdcfe;--text-muted:#6a9955;--text-comment:#6a9955;--accent-primary:#007acc;--accent-secondary:#4ec9b0;--accent-success:#4ec9b0;--accent-warning:#d7ba7d;--accent-error:#f44747;--border-primary:#3c3c3c;--border-secondary:#5a5a5a;--shadow:0 4px 6px rgba(0,0,0,0.3)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;overflow-x:hidden}.app-container{min-height:100vh;display:flex;flex-direction:column}.app-header{background:linear-gradient(135deg,var(--bg-secondary) 0,var(--bg-tertiary) 100%);padding:2rem;text-align:center;border-bottom:2px solid var(--accent-primary);box-shadow:var(--shadow)}.app-header h1{font-size:2.5rem;color:var(--text-secondary);margin-bottom:.5rem;text-shadow:0 2px 4px rgba(0,0,0,.5)}.app-header p{font-size:1.2rem;color:var(--text-muted)}.app-nav{background-color:var(--bg-secondary);padding:1rem 2rem;display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;border-bottom:1px solid var(--border-primary);box-shadow:var(--shadow)}.nav-btn{background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-primary);padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;font-size:1rem;transition:all .3s ease;font-weight:500}.nav-btn:hover{background-color:var(--bg-quaternary);transform:translateY(-2px)}.nav-btn.active,.nav-btn:hover{border-color:var(--accent-primary)}.nav-btn.active{background-color:var(--accent-primary);color:white}.app-main{flex:1;padding:2rem}.content-section{display:none;animation:fadeIn .5s ease-in-out}.content-section.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.section-header{text-align:center;margin-bottom:3rem}.section-header h2{font-size:2.5rem;color:var(--text-secondary);margin-bottom:1rem}.section-header p{font-size:1.2rem;color:var(--text-muted)}.study-content{max-width:1200px;margin:0 auto;display:grid;gap:2rem}.concept-card{background-color:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px;padding:2rem;box-shadow:var(--shadow);transition:all .3s ease}.concept-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px rgba(0,0,0,.4);border-color:var(--accent-primary)}.concept-card h3{color:var(--text-secondary);font-size:1.5rem;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-secondary)}.code-block{background-color:var(--bg-primary);border:1px solid var(--border-primary);border-radius:6px;margin:1rem 0;box-shadow:inset 0 2px 4px rgba(0,0,0,.3)}.code-header{background-color:var(--bg-tertiary);color:var(--text-primary);padding:.75rem 1rem;font-weight:600;border-bottom:1px solid var(--border-primary);font-size:.9rem}.code-block pre{margin:0;padding:1rem;overflow-x:auto;font-family:Consolas,Monaco,Courier New,monospace;font-size:.9rem;line-height:1.4;background-color:var(--bg-primary)}.code-block code{color:var(--text-primary);display:block;width:100%}.memory-aids{display:grid;gap:1rem;margin-top:1rem}.memory-item{background-color:var(--bg-tertiary);padding:1rem;border-radius:6px;border-left:4px solid var(--accent-secondary);font-size:.95rem}.memory-item strong{color:var(--text-secondary)}.practice-content{max-width:800px;margin:0 auto}.test-question{background-color:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px;padding:2rem;margin-bottom:2rem;box-shadow:var(--shadow)}.test-question h3{color:var(--text-secondary);margin-bottom:1rem;font-size:1.3rem}.test-question p{margin-bottom:1rem;color:var(--text-primary)}.options{display:grid;gap:.75rem;margin:1.5rem 0}.option-btn{background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-primary);padding:1rem;border-radius:6px;cursor:pointer;text-align:left;transition:all .3s ease;font-size:1rem}.option-btn:hover{background-color:var(--bg-quaternary);border-color:var(--accent-primary)}.option-btn.correct{background-color:var(--accent-success);color:white;border-color:var(--accent-success)}.option-btn.incorrect{background-color:var(--accent-error);color:white;border-color:var(--accent-error)}.option-btn.selected{border-color:var(--accent-primary);box-shadow:0 0 0 2px rgba(0,122,204,.3)}.feedback{margin-top:1.5rem;padding:1.5rem;border-radius:6px;border-left:4px solid}.feedback.correct{background-color:rgba(78,201,176,.1);border-color:var(--accent-success)}.feedback.incorrect{background-color:rgba(244,71,71,.1);border-color:var(--accent-error)}.feedback-content{color:var(--text-primary)}.feedback-content p{margin-bottom:.5rem}.feedback-content strong{color:var(--text-secondary)}.hint-section{margin-top:1rem}.hint-btn{background-color:#569CD6;color:white;border:none;padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;font-size:1rem;transition:all .3s ease;font-weight:500}.hint-btn:hover{background-color:#4ec9b0;transform:translateY(-2px)}.hint-content{margin-top:1rem;padding:1rem;background-color:var(--bg-tertiary);border-radius:6px;border-left:4px solid #569cd6;color:var(--text-primary)}.next-btn,.reset-btn{background-color:var(--accent-primary);color:white;border:none;padding:1rem 2rem;border-radius:6px;cursor:pointer;font-size:1.2rem;margin-top:1rem;transition:all .3s ease}.next-btn:hover,.reset-btn:hover{background-color:#005a9e;transform:translateY(-2px)}.timed-challenge{max-width:800px;margin:0 auto}.timer{padding:1rem;border:2px solid var(--accent-primary)}.timer h3{color:var(--text-secondary);margin-bottom:.5rem}.timer-display{font-size:2rem;font-weight:700;color:var(--accent-primary);font-family:Courier New,monospace}.timer.warning .timer-display{color:var(--accent-warning)}.timer.danger .timer-display{color:var(--accent-error);animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.challenge-description{background-color:var(--bg-secondary);padding:1.5rem;border-radius:8px;margin-bottom:2rem;border-left:4px solid var(--accent-secondary)}.challenge-description h3{color:var(--text-secondary);margin-bottom:1rem}.challenge-description p{color:var(--text-primary);line-height:1.6}.requirements{background-color:var(--bg-tertiary);padding:1.5rem;border-radius:6px;margin:1.5rem 0}.requirements h4{color:var(--text-secondary);margin-bottom:1rem}.requirements ul{list-style-type:none;padding-left:0}.requirements li{padding:.5rem 0;border-bottom:1px solid var(--border-secondary);color:var(--text-primary)}.requirements li:last-child{border-bottom:none}.requirements li:before{content:"✓";color:var(--accent-success);font-weight:700;margin-right:.5rem}.code-editor{margin:1.5rem 0}.editor-header{background-color:var(--bg-tertiary);color:var(--text-primary);padding:.75rem 1rem;font-weight:600;border-bottom:1px solid var(--border-primary);border-radius:6px 6px 0 0}#challenge-code{width:100%;min-height:300px;background-color:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-primary);border-top:none;border-radius:0 0 6px 6px;padding:1rem;font-family:Consolas,Monaco,Courier New,monospace;font-size:.9rem;line-height:1.4;resize:vertical}.test-cases{background-color:var(--bg-tertiary);padding:1.5rem;border-radius:6px;margin-top:1.5rem}.test-cases h4{color:var(--text-secondary)}.test-case{padding:.75rem 0;border-bottom:1px solid var(--border-secondary);font-family:Courier New,monospace;font-size:.9rem}.test-case:last-child{border-bottom:none}.test-case strong{color:var(--text-secondary)}.review-content{max-width:1200px;margin:0 auto}.solution-section{background-color:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px;padding:2rem;margin-bottom:2rem;box-shadow:var(--shadow)}.solution-section h3{color:var(--text-secondary);margin-bottom:1.5rem;font-size:1.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-secondary)}.live-coding{max-width:1000px;margin:0 auto}.challenge-header{background-color:var(--bg-secondary);padding:2rem;border-radius:8px;margin-bottom:2rem;border-left:4px solid var(--accent-primary)}.challenge-header h3{color:var(--text-secondary);margin-bottom:1rem;font-size:1.5rem}.challenge-header p{color:var(--text-primary);line-height:1.6}.code-input{width:100%;min-height:300px;background-color:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-primary);border-radius:6px;padding:1rem;font-family:Consolas,Monaco,Courier New,monospace;font-size:.9rem;line-height:1.4;resize:vertical}.run-btn{background-color:var(--accent-success);color:white;border:none;padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;font-weight:600;transition:all .2s ease}.run-btn:hover{background-color:#3da890}.test-results{margin-top:2rem;padding:1.5rem;background-color:var(--bg-tertiary);border-radius:6px}.test-result{padding:.75rem;margin-bottom:.5rem;border-radius:4px;font-family:Courier New,monospace;font-size:.9rem}.test-result.passed{background-color:rgba(78,201,176,.2);color:var(--accent-success);border-left:4px solid var(--accent-success)}.test-result.failed{background-color:rgba(244,71,71,.2);color:var(--accent-error);border-left:4px solid var(--accent-error)}.results{text-align:center;padding:2rem}.score-feedback{margin:2rem 0}.reset-btn{background-color:var(--accent-primary);color:white;border:none;padding:1rem 2rem;border-radius:6px;cursor:pointer;font-size:1.2rem}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;color:var(--text-primary)}.loading-spinner{width:40px;height:40px;border-top:4px solid var(--border-primary);border:4px solid var(--border-primary);border-top-color:var(--accent-primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@media (max-width:768px){.app-nav{flex-direction:column;align-items:center}.nav-btn{width:100%;max-width:300px}.study-content{grid-template-columns:1fr}.app-main{padding:1rem}.section-header h2{font-size:2rem}.concept-card{padding:1.5rem}.code-block pre{font-size:.8rem;padding:.75rem}#challenge-code{min-height:250px;font-size:.8rem}}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--bg-quaternary);border-radius:6px;border:2px solid var(--bg-secondary)}::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)}#challenge-code:focus,.nav-btn:focus,.option-btn:focus,.reset-btn:focus,.start-btn:focus{outline:2px solid var(--accent-primary);outline-offset:2px}.code-block{position:relative;overflow:hidden}.code-block:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s}.code-block:hover:before{left:100%}.success{border-color:var(--accent-success)!important;box-shadow:0 0 20px rgba(78,201,176,.3)!important}.error{border-color:var(--accent-error)!important;box-shadow:0 0 20px rgba(244,71,71,.3)!important}.loading{opacity:.7;pointer-events:none}.loading:after{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid var(--accent-primary);border-top:2px solid transparent;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.full-function-context{margin-top:1.5rem;padding:1rem;background-color:var(--bg-tertiary);border-radius:6px;border-left:4px solid var(--accent-secondary)}.full-function-context h5{color:var(--text-secondary);margin-bottom:1rem;font-size:1.1rem;display:flex;align-items:center;gap:.5rem}.full-function-context h5:before{content:"📋";font-size:1.2rem}.full-function-context .code-block{margin-top:.5rem;border:1px solid var(--border-primary)}.full-function-context .code-header{font-size:.9rem;color:var(--text-muted);margin-bottom:.5rem;font-style:italic;background-color:var(--bg-primary);padding:.5rem .75rem;border-radius:4px 4px 0 0;border-bottom:1px solid var(--border-primary)}.code-editor{position:relative;margin:1rem 0}.code-editor .editor-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background-color:var(--bg-tertiary);border:1px solid var(--border-primary);border-bottom:none;border-radius:6px 6px 0 0;color:var(--text-primary)}.code-editor .run-btn{background-color:var(--accent-success);color:white;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.9rem;transition:all .3s ease}.code-editor .run-btn:hover{background-color:#3da58a;transform:translateY(-1px)}.code-editor .code-input-container{position:relative;background-color:var(--bg-primary);border:1px solid var(--border-primary);border-radius:0 0 6px 6px;overflow:hidden}.code-editor .code-input{background-color:var(--bg-primary);border:none;outline:none;color:#9cdcfe;font-family:Menlo,Monaco,Courier New,monospace;font-size:14px;line-height:1.5;padding:1rem;min-height:200px;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;resize:vertical;caret-color:#9cdcfe;width:100%;box-sizing:border-box}.code-editor .code-input:focus{outline:none;border:none;box-shadow:0 0 0 2px var(--accent-primary)}.code-editor .code-input::placeholder{color:var(--text-muted);font-style:italic}.timed-setup{text-align:center;padding:2rem;background-color:var(--bg-tertiary);border-radius:8px;margin:2rem 0}.timed-setup h3{color:var(--text-primary);margin-bottom:1rem;font-size:1.5rem}.timed-setup p{color:var(--text-secondary);margin-bottom:1.5rem;line-height:1.6}.start-btn{background-color:var(--accent-primary);color:white;border:none;padding:1.25rem 2.5rem;border-radius:8px;cursor:pointer;font-size:1.2rem;font-weight:600;margin-top:1rem;transition:all .3s ease;box-shadow:0 4px 8px rgba(0,0,0,.3)}.start-btn:hover{background-color:var(--accent-secondary);transform:translateY(-2px);box-shadow:0 6px 12px rgba(0,0,0,.4)}.timed-challenge{padding:1rem}.timer{text-align:center;font-size:2rem;font-weight:700;color:var(--accent-warning);margin-bottom:2rem;background-color:var(--bg-tertiary);padding:1.5rem;border-radius:8px;border:2px solid var(--accent-warning);box-shadow:0 4px 12px rgba(204,167,0,.2)}.challenge-content h3{margin-bottom:1rem;color:var(--text-primary);font-size:1.2rem}.test-cases{margin-top:2rem}.test-cases h4{color:var(--text-primary);margin-bottom:1rem}.test-case{padding:1.5rem;background-color:var(--bg-secondary);border-radius:8px;margin:1rem 0;display:flex;justify-content:space-between;border:1px solid var(--border-primary);box-shadow:0 2px 6px rgba(0,0,0,.2);color:var(--text-primary)}.test-case strong{color:var(--accent-primary);margin-right:.5rem}code[class*=language-],pre[class*=language-]{color:#d4d4d4;font-size:13px;text-shadow:none;font-family:Menlo,Monaco,Consolas,Andale Mono,Ubuntu Mono,Courier New,monospace;direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection,pre[class*=language-]::selection{text-shadow:none;background:#264F78}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto;background:#1e1e1e}:not(pre)>code[class*=language-]{padding:.1em .3em;border-radius:.3em;color:#db4c69;background:#1e1e1e}.namespace{opacity:.7}.token.doctype .token.doctype-tag{color:#569CD6}.token.doctype .token.name{color:#9cdcfe}.token.comment,.token.prolog{color:#6a9955}.language-html .language-css .token.punctuation,.language-html .language-javascript .token.punctuation,.token.punctuation{color:#d4d4d4}.token.boolean,.token.constant,.token.inserted,.token.number,.token.property,.token.symbol,.token.tag,.token.unit{color:#b5cea8}.token.attr-name,.token.builtin,.token.char,.token.deleted,.token.selector,.token.string{color:#ce9178}.language-css .token.string.url{text-decoration:underline}.token.entity,.token.operator{color:#d4d4d4}.token.operator.arrow{color:#569CD6}.token.atrule{color:#ce9178}.token.atrule .token.rule{color:#c586c0}.token.atrule .token.url{color:#9cdcfe}.token.atrule .token.url .token.function{color:#dcdcaa}.token.atrule .token.url .token.punctuation{color:#d4d4d4}.token.keyword{color:#569CD6}.token.keyword.control-flow,.token.keyword.module{color:#c586c0}.token.function,.token.function .token.maybe-class-name{color:#dcdcaa}.token.regex{color:#d16969}.token.important{color:#569cd6}.token.italic{font-style:italic}.token.constant{color:#9cdcfe}.token.class-name,.token.maybe-class-name{color:#4ec9b0}.token.console,.token.interpolation,.token.parameter{color:#9cdcfe}.token.boolean,.token.punctuation.interpolation-punctuation{color:#569cd6}.token.exports .token.maybe-class-name,.token.imports .token.maybe-class-name,.token.property,.token.variable{color:#9cdcfe}.token.escape,.token.selector{color:#d7ba7d}.token.tag{color:#569cd6}.token.cdata,.token.tag .token.punctuation{color:#808080}.token.attr-name{color:#9cdcfe}.token.attr-value,.token.attr-value .token.punctuation{color:#ce9178}.token.attr-value .token.punctuation.attr-equals{color:#d4d4d4}.token.entity{color:#569cd6}.token.namespace{color:#4ec9b0}code[class*=language-javascript],code[class*=language-jsx],code[class*=language-tsx],code[class*=language-typescript],pre[class*=language-javascript],pre[class*=language-jsx],pre[class*=language-tsx],pre[class*=language-typescript]{color:#9cdcfe}code[class*=language-css],pre[class*=language-css]{color:#ce9178}code[class*=language-html],pre[class*=language-html]{color:#d4d4d4}.language-regex .token.anchor{color:#dcdcaa}.language-html .token.punctuation{color:#808080}pre[class*=language-]>code[class*=language-]{position:relative;z-index:1}.line-highlight.line-highlight{background:#f7ebc6;box-shadow:inset 5px 0 0 #f7d87c;z-index:0}