:root{font-family:Inter,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:#1f2937;background-color:#f4f7fb;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh}button{border-radius:8px;border:1px solid #d5d8df;padding:.45rem .8rem;font-size:.95rem;font-weight:600;font-family:inherit;cursor:pointer}body.learn-login-shell{background-color:#f4f4f4!important}body.learn-login-shell .main-content-column-nested{margin:25px;width:calc(100% - 50px);background-color:#fff}body.learn-login-shell .main-content-column{width:100%}body.learn-login-shell button{padding:5px 10px;text-decoration:none;border:1px solid #0b0c3f;background-color:#0b0c3f;color:#fff;transition:all .5s;border-radius:0}body.learn-login-shell button:hover{background-color:#4c4d71}body.learn-login-shell .learn-login-columns{display:flex;gap:40px;flex-wrap:wrap}body.learn-login-shell .learn-login-col{flex:1;min-width:300px}body.learn-login-shell .learn-login-table{margin:20px 0}body.learn-login-shell .learn-login-table input{padding:5px;width:200px}body.learn-login-shell .learn-login-subhead{margin-top:40px}body.learn-login-shell #errorMessage{color:red;margin-top:15px}body.learn-login-shell .logo-image{width:328px;max-width:100%;height:auto}@media screen and (max-width:700px){body.learn-login-shell .main-content-column-nested{margin:12px;width:calc(100% - 24px)}body.learn-login-shell .learn-login-col{min-width:0}body.learn-login-shell .learn-login-table,body.learn-login-shell .learn-login-table tbody,body.learn-login-shell .learn-login-table tr,body.learn-login-shell .learn-login-table td{display:block;width:100%}body.learn-login-shell .learn-login-table td{padding-bottom:8px}body.learn-login-shell .learn-login-table input{width:100%;max-width:100%}}.learn-shell{--lp-primary: #2b59c3;--lp-primary-soft: #edf3ff;--lp-accent: #f6d365;--lp-bg: #f4f7fb;--lp-surface: #ffffff;--lp-border: #d5d8df;--lp-text: #1f2937;--lp-muted: #4f596d;--lp-ok: #156b2a;--lp-bad: #a12222;min-height:100vh;width:100%;overflow-x:clip;background:var(--lp-bg);color:var(--lp-text);line-height:1.5}.learn-shell *,.learn-shell *:before,.learn-shell *:after{box-sizing:border-box}.learn-shell button{border-radius:8px;border:1px solid var(--lp-border);padding:.45rem .8rem;font-size:.95rem;font-weight:600;font-family:inherit;cursor:pointer}.learn-shell-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.75rem 1.25rem;border-bottom:1px solid var(--lp-border);background:var(--lp-surface)}.learn-shell-brand{display:flex;align-items:baseline;gap:.6rem;min-width:0}.learn-shell-logo{max-height:2.25rem;width:auto;align-self:center}.learn-shell-name{font-size:1.1rem;font-weight:700}.learn-shell-tagline{color:var(--lp-muted);font-size:.9rem}.learn-shell-account{display:flex;align-items:center;gap:.75rem}.learn-shell-account a{color:var(--lp-primary)}.learn-shell-footer{padding:.75rem 1.25rem;border-top:1px solid var(--lp-border);background:var(--lp-surface);color:var(--lp-muted);font-size:.86rem;text-align:center}.layout{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:calc(100vh - 230px);max-width:none;width:100%}.sidebar{border-right:1px solid var(--lp-border);padding:1rem;overflow-y:auto}.sidebar h1{font-size:1.2rem;margin:0}.sidebar p{color:var(--lp-muted);font-size:.92rem;margin-bottom:1rem}.module-nav{margin-bottom:.75rem}.module-button,.lesson-button{width:100%;text-align:left;border:1px solid var(--lp-border);background:var(--lp-surface);border-radius:8px;padding:.55rem .7rem;margin-bottom:.4rem}.module-button.active,.lesson-button.active{border-color:var(--lp-primary);background:var(--lp-primary-soft)}.lesson-nav{padding-left:.35rem}.content{padding:1.2rem 1.5rem;overflow:visible;min-width:0;max-width:none;width:100%}.content-header h2{margin-top:0;margin-bottom:.25rem}.content-header p{color:var(--lp-muted);margin-bottom:1rem}.lesson-top-box{background:var(--lp-surface);border:1px solid var(--lp-border);border-radius:12px;padding:1.25rem 1.5rem;margin-bottom:1rem}.lesson-top-box .content-header:last-of-type{margin-bottom:0}.lesson-header-content{overflow:visible;min-width:0;margin-top:.5rem}.lesson-header-content>*,.lesson-body>*{max-width:100%}.lesson-header-content p,.lesson-header-content li,.lesson-header-content td,.lesson-header-content th,.lesson-header-content code,.lesson-body p,.lesson-body li,.lesson-body td,.lesson-body th,.lesson-body code{overflow-wrap:anywhere;word-break:break-word}.lesson-header-content img,.lesson-header-content video,.lesson-header-content iframe,.lesson-header-content svg,.lesson-header-content canvas,.lesson-body img,.lesson-body video,.lesson-body iframe,.lesson-body svg,.lesson-body canvas{max-width:100%;height:auto}.lesson-header-content pre,.lesson-body pre,.quiz-panel pre{background:#f2f5fb;padding:.75rem;border-radius:8px;overflow-x:auto}.lesson-header-content table,.lesson-body table{border-collapse:collapse;max-width:100%}.lesson-header-content th,.lesson-header-content td,.lesson-body th,.lesson-body td{border:1px solid var(--lp-border);padding:.4rem .6rem}.lesson-header-content details,.lesson-body details{border:1px solid var(--lp-border);border-radius:8px;padding:.75rem 1rem;margin:1rem 0;background:#f8fafc}.lesson-header-content summary,.lesson-body summary{cursor:pointer;font-weight:600}.lesson-body{width:100%;max-width:none;overflow:visible;min-width:0;margin-bottom:1rem}.quiz-panel{background:var(--lp-surface);border:1px solid var(--lp-border);border-radius:12px;padding:1.25rem 1.5rem;margin-bottom:1rem}.dashboard-section h3{margin-top:0}.helper-text{margin-top:0;color:var(--lp-muted)}.question-block{border-top:1px solid #e4e7ef;padding-top:.9rem;margin-top:.9rem}.question-meta{font-size:.82rem;color:var(--lp-muted);margin:0 0 .3rem}.question-explanation{font-size:.9rem;color:var(--lp-muted);border-left:3px solid var(--lp-border);padding-left:.75rem;margin-top:.5rem}.options-grid{display:grid;gap:.45rem}.option-row{display:flex;align-items:center;gap:.5rem;border:1px solid var(--lp-border);border-radius:8px;padding:.45rem .55rem}.option-row.correct{border-color:#197a2f;background:#effaf2}.option-row.wrong{border-color:#b12a2a;background:#fff1f1}.feedback{font-size:.88rem;margin:.4rem 0 0}.feedback.ok{color:var(--lp-ok)}.feedback.bad{color:var(--lp-bad)}.score{margin:0;font-weight:600}.quiz-actions,.lesson-actions{display:flex;align-items:center;gap:.6rem;margin-top:.8rem;flex-wrap:wrap}.section-nav{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:1rem;flex-wrap:wrap}.section-indicator{font-size:.85rem;font-weight:600;color:var(--lp-muted)}.runnable-code{margin:.75rem 0;border:1px solid var(--lp-border);border-radius:8px;overflow:hidden}.runnable-code-editor{display:block;width:100%;border:0;border-bottom:1px solid var(--lp-border);background:#f2f5fb;padding:.75rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85rem;line-height:1.5;resize:vertical}.runnable-code-actions{display:flex;align-items:center;gap:.6rem;padding:.5rem .75rem}.runnable-code-output{border-top:1px solid var(--lp-border);background:#1d2638;padding:.6rem .75rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem;max-height:16rem;overflow-y:auto}.runnable-code-line{margin:0 0 .2rem;white-space:pre-wrap;word-break:break-word;color:#e5e9f2}.runnable-code-line.level-warn{color:#f2c94c}.runnable-code-line.level-error,.runnable-code-line.error{color:#ff8f8f}.runnable-code-line.timeout{color:#f2a35c;font-weight:600}.runnable-code-line.muted{color:#8b94a7}.learn-shell button.primary{background:var(--lp-primary);color:#fff;border-color:var(--lp-primary)}.learn-shell button.secondary{background:var(--lp-surface);color:var(--lp-text)}.learn-shell button.link-button{border:0;background:none;padding:0;color:var(--lp-primary);font-weight:600;text-decoration:underline}.learn-shell button:disabled{opacity:.5;cursor:not-allowed}.catalog-category{margin-bottom:2rem}.catalog-category-title{margin:0 0 .75rem;font-size:1.1rem}.catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.catalog-card{display:flex;flex-direction:column;gap:.75rem}.catalog-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.catalog-card-header h3{margin:0}.catalog-card-badges{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-end}.level-chip,.badge-chip,.progress-chip,.locked-chip{display:inline-block;padding:.15rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600;white-space:nowrap}.level-beginner{background:#e8f5e9;color:#2e7d32}.level-intermediate{background:#e3f2fd;color:#1565c0}.level-advanced{background:#fce4ec;color:#c2185b}.badge-chip{font-weight:700;letter-spacing:.04em;background:var(--lp-accent);color:#5c3d00}.progress-chip{background:var(--lp-primary-soft);color:#3730a3}.locked-chip{background:#f1f3f7;color:var(--lp-muted)}.requirements-list{margin:.75rem 0 0;padding-left:1.25rem}.requirement-met{color:#166534}.requirement-pending{color:#4b5563}.award-banner{border-color:var(--lp-accent);background:#fffdf5}@media(max-width:960px){.content{padding:.8rem}.layout{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--lp-border)}.lesson-body table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}}.sign-up-gate{border-left:4px solid var(--lp-primary);background:var(--lp-primary-soft)}.sign-up-gate h3{margin-top:0}.sign-up-gate a.primary{display:inline-block;padding:.55rem 1rem;border:1px solid var(--lp-primary);border-radius:8px;background:var(--lp-primary);color:#fff;font-weight:600;text-decoration:none}.sign-up-gate a.primary:hover{filter:brightness(1.08)}.nav-count{display:inline-block;min-width:1.4em;margin-left:.5em;padding:0 .35em;border-radius:999px;background:var(--lp-primary);color:#fff;font-size:.75em;font-weight:700;text-align:center}.streak-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.streak-tile{display:flex;flex-direction:column;min-width:7rem;padding:.6rem .9rem;border:1px solid var(--lp-border);border-radius:10px;background:var(--lp-bg)}.streak-tile strong{font-size:1.5rem;line-height:1.1;color:var(--lp-primary)}.streak-tile span{font-size:.78rem;color:var(--lp-muted)}.heatmap{display:flex;gap:3px;overflow-x:auto;padding-bottom:.25rem}.heatmap-week{display:flex;flex-direction:column;gap:3px}.heatmap-cell{width:11px;height:11px;border-radius:2px;background:var(--lp-border)}.heatmap-cell--1{background:color-mix(in srgb,var(--lp-primary) 30%,var(--lp-surface))}.heatmap-cell--2{background:color-mix(in srgb,var(--lp-primary) 50%,var(--lp-surface))}.heatmap-cell--3{background:color-mix(in srgb,var(--lp-primary) 75%,var(--lp-surface))}.heatmap-cell--4{background:var(--lp-primary)}.search-input{width:100%;padding:.55rem .75rem;margin-bottom:1rem;border:1px solid var(--lp-border);border-radius:8px;background:var(--lp-surface);color:var(--lp-text);font-size:1rem}.search-results{list-style:none;margin:0;padding:0}.search-result{padding:.75rem 0;border-top:1px solid var(--lp-border)}.search-result__title{font-weight:600}.search-result__course{margin-left:.6rem;font-size:.82rem;color:var(--lp-muted)}.search-result__snippet{margin:.35rem 0 0;font-size:.9rem;line-height:1.5;color:var(--lp-muted)}.search-result__snippet b{color:var(--lp-text);background:var(--lp-primary-soft)}.path-courses{list-style:none;margin:.5rem 0 0;padding:0}.path-course{display:flex;align-items:center;gap:.6rem;padding:.4rem 0}.path-course__step{display:inline-flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;border-radius:999px;background:var(--lp-primary-soft);color:var(--lp-primary);font-size:.78rem;font-weight:700}.exercise__prompt{margin-bottom:.75rem}.exercise__editor{width:100%;padding:.7rem .85rem;border:1px solid var(--lp-border);border-radius:8px;background:#0f1420;color:#e6ebf5;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88rem;line-height:1.5;resize:vertical}.exercise__output{margin-top:.75rem;padding:.7rem .85rem;border-radius:8px;background:#0f1420;color:#e6ebf5;font-size:.84rem;line-height:1.55;white-space:pre-wrap;overflow-x:auto}.lesson-static,.catalog-static{max-width:62rem;margin:0 auto;padding:1.5rem 1.25rem 3rem}.lesson-static-course{margin:0 0 .25rem;font-size:.82rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--lp-primary, #2b59c3)}.catalog-static{list-style:none}.catalog-static>li+li{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(15,20,32,.12)}
