:root{--canvas:#f5f7fa;--surface:#fff;--ink:#101b3e;--muted:#62708e;--border:#e1e7f0;--mint:#0aa780;--deep-mint:#00866b;--pale-mint:#e5faf3;--lavender:#ede9ff;--yellow:#ffc63e;--radius:14px;--sans:"DM Sans",sans-serif;--heading:"Nunito Sans",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--canvas);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;background:none}a,button{color:inherit}button:disabled{cursor:not-allowed;opacity:.48}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #8557e8;outline-offset:4px}input:focus,select:focus,textarea:focus{outline:2px solid var(--mint);outline-offset:2px}svg{flex-shrink:0;stroke-width:1.9}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--heading);line-height:1.2;letter-spacing:-.6px}h1{font-weight:900;font-size:46px;letter-spacing:-1.8px}h2{font-size:27px}h2,h3{font-weight:850}h3{font-size:18px}p{color:var(--muted)}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}small{font-size:13px}.green{color:var(--mint)}.yellow{color:var(--yellow)}.muted{color:#919ab0}.fill-icon{fill:currentColor;stroke-width:1.6}.rotated{transform:rotate(180deg)}.skip-link{position:fixed;left:16px;top:-80px;z-index:1000;background:var(--ink);color:white;padding:10px 20px;border-radius:8px}.skip-link:focus{top:12px}.app-shell{min-height:100vh}.sidebar{width:238px;background:var(--surface);border-right:1px solid var(--border);position:fixed;inset:0 auto 0 0;padding:27px 16px 0;display:flex;flex-direction:column;z-index:20}.brand{gap:12px;font-family:var(--heading);font-size:43px;font-weight:900;letter-spacing:-1.7px;line-height:1;padding:0 10px}.brand,.brand-icon{display:flex;align-items:center}.brand-icon{justify-content:center;width:40px;height:40px;border-radius:9px;background:linear-gradient(145deg,#21c6a0,#009478);color:white;box-shadow:inset 0 0 0 1px #ffffff25,0 2px 3px #00896a12}.sidebar nav{margin-top:39px;display:flex;flex-direction:column;gap:9px}.nav-item{width:100%;padding:15px 14px;min-height:54px;display:flex;gap:16px;align-items:center;border-radius:12px;text-align:left;font-size:15px;font-weight:650;color:#425075;transition:background .15s,color .15s}.nav-item svg{stroke-width:1.8}.nav-item.active{color:#007e65;background:var(--pale-mint);font-weight:750}.nav-item.active svg{fill:#10b78e26;stroke-width:2.2}.nav-item:hover{background:#f0f4f7}.nav-item.active:hover{background:#dbf6ec}.sidebar-bottom{margin-top:auto}.encouragement{margin:34px 0 18px;background:#e4f9f1;border-radius:16px;padding:24px 20px 20px}.encouragement>svg{color:#17b88d;fill:#29c69c23;margin-bottom:12px}.encouragement strong{display:block;font-family:var(--heading);font-size:18px;line-height:1.25;font-weight:850;letter-spacing:-.4px}.encouragement p{font-size:14px;line-height:1.4;margin-top:8px}.profile-trigger{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border-top:1px solid var(--border);padding:15px 8px;font-weight:650;font-size:14px}.profile-trigger>svg:last-child{margin-left:auto}.avatar{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;color:#26726a;position:relative;flex-shrink:0;background:#dcefe9}.avatar.mint,.mint{background:#e1f6ee;color:#078d70}.avatar.lavender,.lavender{background:#ede9fd;color:#7251c8}.avatar.yellow,.yellow.project-art{background:#fff2cb;color:#b57d11}.main-shell{margin-left:238px}.topbar{height:76px;justify-content:space-between;gap:24px;padding:0 34px}.breadcrumb,.topbar{display:flex;align-items:center}.breadcrumb{gap:12px;color:#586789;font-size:13px;min-width:0}.breadcrumb>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-button{display:flex;align-items:center;gap:11px;font-weight:600;font-size:13px;white-space:nowrap}.account-button .avatar{width:33px;height:33px}.account-button>svg{margin-left:4px}.mobile-brand,.mobile-nav{display:none}main{max-width:1530px;padding:0 34px 18px;margin:0 auto}.page-intro{margin:2px 0 20px}.page-intro>p{font-size:18px;margin-top:8px;letter-spacing:-.25px}.progress-strip{background:white;border:1px solid var(--border);border-radius:11px;padding:14px 19px;display:flex;align-items:center;gap:24px;font-size:13px;margin-bottom:18px;box-shadow:0 2px 3px #24345002}.progress-strip>span{display:flex;align-items:center;gap:9px;white-space:nowrap}.progress-strip>span:nth-child(2){margin-left:21px}.progress-strip>span:nth-child(2)>svg{color:#848aa5}.progress-strip>span:nth-child(3){color:#5b6985}.mission-label{margin-left:-4px}.progress-strip>small{font-size:12px;color:#546285}.progress-track{height:9px;flex:1 1;background:#edf0f5;border-radius:20px;overflow:hidden;min-width:40px}.progress-track i{display:block;height:100%;background:#13b38b;border-radius:20px;transition:width .6s ease}.start-banner{position:relative;min-height:206px;background:#e5faf3;border:1px solid #d0f1e6;border-radius:13px;padding:27px 25px;overflow:hidden;display:flex;align-items:center;isolation:isolate}.banner-copy{position:relative;z-index:1;max-width:72%;pointer-events:none}.banner-copy h2{font-size:27px;font-weight:900;letter-spacing:-.9px;max-width:640px}.banner-copy>p{font-size:16px;margin:9px 0 20px;max-width:570px;line-height:1.5}.banner-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap;pointer-events:auto}.button{display:inline-flex;justify-content:center;align-items:center;gap:10px;min-height:43px;padding:11px 19px;border-radius:9px;font-size:13px;font-weight:700;line-height:1.3;text-decoration:none;transition:transform .15s,box-shadow .15s,background .15s;border:1px solid transparent}.button.primary{color:white;background:linear-gradient(155deg,#08a281,#007963);box-shadow:inset 0 1px 0 #ffffff15}.button.primary:hover:not(:disabled){background:linear-gradient(155deg,#069476,#006f59);box-shadow:0 3px 9px #008b6c20;transform:translateY(-1px)}.button.secondary{color:var(--ink);background:white;border-color:#bac6da}.button.secondary:hover:not(:disabled){background:#f0f5f7}.banner-actions .button{padding:13px 23px;font-size:14px;min-height:46px}.banner-meta{display:flex;gap:7px;align-items:center;font-size:12px;color:#536385;white-space:nowrap}.banner-meta b{margin:0 3px}.hero-art{position:absolute;width:315px;height:223px;object-fit:contain;right:11px;bottom:-9px;z-index:0}.path-layout{display:grid;grid-template-columns:minmax(0,1fr) 252px;gap:18px;margin-top:22px}.section-heading{margin-bottom:13px}.section-heading h2{font-size:27px;font-weight:900}.section-heading>p{font-size:13px;margin-top:4px}.section-heading>p>span{margin:0 6px}.chapters{display:flex;flex-direction:column;gap:10px}.chapter{background:white;border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:0 2px 3px #10224a02}.chapter-heading{padding:13px 15px;display:flex;gap:13px;align-items:center;text-align:left;width:100%;min-height:73px}.chapter.expanded .chapter-heading{background:#eefbf6}.chapter-heading>svg{color:#566384}.chapter-heading>svg.rotated{transition:transform .2s}.chapter-number{font-family:var(--heading);font-weight:850;font-size:16px;width:36px;height:36px;border-radius:50%;background:#f0f2f6;display:flex;align-items:center;justify-content:center;flex-shrink:0}.chapter-done .chapter-number,.expanded .chapter-number{background:#cff5e6;color:#008e6c}.chapter-icon{height:33px;width:33px;display:flex;align-items:center;justify-content:center;border-radius:8px;flex-shrink:0}.tone-0{background:#d5f8ec;color:#08a77e}.tone-1{background:#eee8ff;color:#754ce4}.tone-2{background:#eee9ff;color:#744fdf}.chapter-title{min-width:0;flex:1 1;display:block}.chapter-title>strong{font-family:var(--heading);display:block;font-size:16px;font-weight:850;line-height:1.25;letter-spacing:-.35px}.chapter-title small{display:block;font-size:12px;line-height:1.4;color:#677491;margin-top:3px}.chapter:not(.expanded) .chapter-title small{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.chapter-count{white-space:nowrap;font-size:12px;color:#586785;margin-left:4px}.mission-list{padding:0 15px}.mission-row{display:flex;gap:15px;align-items:center;padding:13px 0;min-height:69px;text-align:left;width:100%;border-bottom:1px solid #e5eaf2;transition:background .15s}.mission-row:last-child{border-bottom:none}.mission-row:hover{background:#f8fcfa}.mission-play{width:37px;height:37px;border-radius:50%;background:#e2f9f0;color:#0bae86;display:flex;justify-content:center;align-items:center;flex-shrink:0}.mission-play svg{margin-left:2px}.mission-play.done{background:#d2f2e4;color:#008665}.mission-play.done svg{margin:0}.mission-text{flex:1 1;min-width:0}.mission-text strong{display:block;font-family:var(--heading);font-size:14px;font-weight:850;line-height:1.3;letter-spacing:-.2px}.mission-text small{display:block;font-size:12px;margin-top:3px;line-height:1.4;color:#677492}.mission-xp{gap:7px;color:#64718d;font-size:12px;white-space:nowrap}.mission-xp,.status-circle{display:flex;align-items:center}.status-circle{width:17px;height:17px;border:1.5px solid #b8c3d5;border-radius:50%;justify-content:center;margin-left:10px;flex-shrink:0}.status-circle.checked{background:var(--mint);color:white;border-color:var(--mint)}.unlock-note{font-size:12px;color:#78659f;display:flex;align-items:center;gap:8px;padding:13px 0 4px}.path-aside{padding-top:0}.project-preview{background:white;border:1px solid var(--border);border-radius:13px;padding:18px 17px}.project-preview h3{font-size:16px;font-weight:850;letter-spacing:-.4px}.project-preview>img{display:block;width:100%;height:136px;object-fit:contain;margin:3px 0 6px}.project-preview>h3:nth-of-type(2){font-size:18px;margin-bottom:7px}.project-preview p{font-size:13px;line-height:1.5}.project-availability{display:flex;align-items:center;justify-content:center;gap:7px;color:#5e3ab5;background:#eeebff;border-radius:8px;padding:10px 6px;font-size:11px;font-weight:650;width:100%;margin-top:13px}.project-availability>svg:last-child{margin-left:auto}.learning-note{display:flex;gap:12px;padding:17px 15px;background:#f0edfc;border:1px solid #e5e0fa;border-radius:11px;margin-top:13px;color:#514693}.learning-note>svg{color:#e9b323;fill:#ffdb5b;margin-top:1px}.learning-note strong{font-size:12px;font-weight:750;display:block;color:#283459}.learning-note p{font-size:12px;line-height:1.5;color:#657094;margin-top:2px}.save-note{padding:19px 12px;display:flex;gap:9px;color:#8497a1}.save-note>svg{margin-top:2px}.save-note p{font-size:11px;color:#7c8a9c;line-height:1.6}.save-note button{padding:0;color:#128d73;font-weight:650;text-decoration:underline;text-underline-offset:3px}.app-footer{justify-content:space-between;gap:15px;margin-top:33px;padding:14px 0 2px;font-size:10px;color:#95a0b1;border-top:1px solid #e7ebf1}.app-footer,.error-banner{display:flex;align-items:center}.error-banner{gap:10px;padding:13px 16px;background:#fff1ef;border:1px solid #ffd6ce;border-radius:10px;color:#b34d3b;margin:12px 0;font-size:13px}.error-banner button{margin-left:auto;flex-shrink:0;text-decoration:underline;font-weight:700}.toast{position:fixed;z-index:100;left:calc(50% + 119px);bottom:24px;transform:translateX(-50%);border:1px solid #cde7db;background:#fff;color:#2b6556;box-shadow:0 8px 30px #102e3b18;display:flex;align-items:center;gap:10px;font-size:13px;border-radius:12px;padding:15px 18px;max-width:min(560px,90vw);animation:toastIn .2s ease}.toast button{padding:4px;display:flex;margin-left:4px}.toast>svg{color:var(--mint)}.lesson-intro{margin-bottom:23px}.lesson-intro h1{font-size:45px}.lesson-intro>p{display:flex;align-items:center;gap:10px;font-size:14px;flex-wrap:wrap}.lesson-intro>p>span:not(.completed-label){margin:0 2px}.completed-label{font-size:11px;font-weight:650;color:#078260;background:#ddf5e9;padding:4px 8px;border-radius:6px;display:flex;align-items:center;gap:5px}.workspace{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(360px,1.15fr);gap:17px;align-items:start}.explanation-panel{background:white;padding:25px 22px;border:1px solid var(--border);border-radius:13px}.explanation-panel h2{font-size:24px;font-weight:900;margin-bottom:17px;line-height:1.25}.explanation-panel>p{color:#4b5a78;font-size:14px;line-height:1.65;margin-bottom:10px}.example-code{background:#f2f5f9;color:#07886d;border-radius:10px;padding:17px 16px;font-size:14px;line-height:1.7;margin:18px 0 0;tab-size:4}.task-section{border-top:1px solid var(--border);margin-top:23px;padding-top:24px}.task-section h2{margin-bottom:13px}.task-section>p{font-size:14px;line-height:1.65;color:#4b5a78}.expected-output{background:#e4f8f1;padding:12px 13px;border-radius:9px;margin-top:16px;color:#007d62}.expected-output strong{font-size:12px}.expected-output small{display:block;font-size:11px;margin-top:4px;color:#448376}.expected-output pre{background:#d8f2e9;border-radius:5px;padding:9px 10px;color:#20453e;font-size:13px;line-height:1.6;margin:7px 0 0}.help-controls{display:flex;flex-direction:column;gap:10px;margin-top:24px}.disclosure{display:flex;gap:12px;align-items:center;background:#f5f7fa;border:1px solid var(--border);border-radius:9px;padding:13px 14px;font-size:12px;font-weight:650;text-align:left}.disclosure>svg:last-child{margin-left:auto}.hint-content,.solution-content{padding:2px 9px 8px}.hint-content p,.solution-content p{font-size:12px;line-height:1.65;margin-bottom:10px}.text-button{display:inline-flex;align-items:center;gap:6px;padding:3px 0;color:#07896d;font-size:12px;font-weight:700}.solution-content .example-code{margin:0 0 10px;font-size:12px}.editor-panel{border:1px solid var(--border);background:white;border-radius:13px;overflow:hidden}.editor-top{background:#1c2638;color:white;border-bottom:1px solid #344157;justify-content:space-between;font-size:12px}.editor-top,.editor-top>span{display:flex;align-items:center;height:49px}.editor-top>span{gap:11px;padding:0 20px;border-bottom:3px solid #11c297;background:#253147;font-weight:650}.editor-top button{color:#c2ccdc;display:flex;align-items:center;gap:7px;padding:10px 14px;font-size:11px}.code-area{background:#192332;min-height:275px;display:flex;align-items:stretch;max-height:550px;overflow:auto}.line-numbers{padding:17px 12px 17px 18px;color:#74819b;font-family:Consolas,monospace;font-size:13px;line-height:1.8;text-align:right;-webkit-user-select:none;user-select:none;background:#192332}.code-area textarea{resize:vertical;min-height:275px;height:320px;flex:1 1;min-width:0;border:0;border-radius:0;padding:17px 17px 17px 5px;background:#192332;color:#d6e3ed;font:13px/1.8 SFMono-Regular,Consolas,Liberation Mono,monospace;white-space:pre;tab-size:4;caret-color:#40e2ad;outline:none}.code-area textarea:focus{outline:none;box-shadow:inset 0 0 0 1px #5fdcba33}.editor-actions{display:flex;gap:10px;align-items:center;padding:15px 15px 13px}.editor-actions>.button{flex:1 1;padding:11px 8px;font-size:12px;white-space:nowrap}.stop-button{display:flex;align-items:center;justify-content:center;color:#b53b3b;padding:9px;border:1px solid #f0d4d4;border-radius:8px}.console{margin:0 15px;background:#192332;color:#d3deee;border-radius:9px;overflow:hidden}.console-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 13px;border-bottom:1px solid #344054;background:#222e40;color:#e3e9f4;font-size:11px;font-weight:650}.console-heading>span{display:flex;align-items:center;gap:8px}.console-heading button{display:flex;color:#acb8cc}.console pre{font-size:12px;line-height:1.7;padding:13px 14px;min-height:100px;max-height:240px;overflow:auto;margin:0}.console-placeholder{color:#8596ae}.console-error{color:#ffb9ae}.test-inputs{margin:12px 15px 0;background:#f4f6fa;border:1px solid var(--border);border-radius:9px;overflow:hidden}.test-inputs summary{list-style:none;display:flex;align-items:center;gap:9px;padding:12px;color:#546587;font-size:11px;cursor:pointer}.test-inputs summary::-webkit-details-marker{display:none}.test-inputs summary>svg:last-child{margin-left:auto}.test-inputs p{font-size:11px;padding:0 12px 8px}.test-inputs textarea{width:calc(100% - 24px);margin:0 12px 10px;border:1px solid #d0d9e6;border-radius:7px;background:white;min-height:73px;padding:8px 10px;font:12px/1.5 Consolas,monospace;resize:vertical;color:#344363}.editor-save{justify-content:space-between;padding:10px 17px 11px;color:#85939d;font-size:10px;gap:10px}.editor-save,.editor-save>span{display:flex;align-items:center}.editor-save>span{gap:6px}.editor-save>span>button{font-size:10px;text-align:left;padding:0;color:#687f8e}.editor-save>button{display:flex;padding:2px}.lesson-navigation{background:white;border:1px solid var(--border);padding:13px 16px;border-radius:12px;margin-top:18px;display:flex;justify-content:space-between;gap:15px}.lesson-navigation .button{min-height:41px;font-size:12px}.test-results{background:white;border:1px solid var(--border);padding:19px 22px;border-radius:12px;margin-top:16px}.test-results h3{margin-bottom:13px}.test-result{font-size:12px;border:1px solid #dcece3;background:#f5fcf8;border-radius:8px;margin-bottom:8px;padding:10px 12px}.test-result>span{display:flex;align-items:center;gap:8px;color:#008769;font-weight:650}.test-result.fail{background:#fff8f5;border-color:#f1d7cb}.test-result.fail>span{color:#b96b41}.test-result>div{display:grid;grid-template-columns:100px 1fr;gap:5px 10px;margin:10px 0 0}.test-result p{font-size:11px}.test-result pre{font-size:11px;margin:0;color:#5c3b2c}.test-results>p{font-size:12px;margin-top:8px}.success-panel{gap:15px;background:#e2f8ec;border:1px solid #b6e8cd;border-radius:12px;padding:19px 22px;margin-top:18px}.success-icon,.success-panel{display:flex;align-items:center}.success-icon{width:47px;height:47px;justify-content:center;border-radius:50%;color:#008c62;background:#c4efd9;flex-shrink:0}.success-panel h3{font-size:19px;color:#076b50}.success-panel p{font-size:12px;color:#4c7a69;margin-top:5px}.success-panel>svg:last-child{margin-left:auto}.success-panel button{padding:0;font-size:12px;color:#007a5e;text-decoration:underline}.project-intro{display:flex;align-items:center;gap:15px;background:#e6f8ef;border:1px solid #cdeedd;padding:20px 23px;border-radius:12px;margin:25px 0 22px;color:#00825f}.project-intro strong{font-weight:700;font-size:14px}.project-intro p{font-size:13px;max-width:760px;margin-top:3px;color:#568372}.projects-list{display:flex;flex-direction:column;gap:19px}.project-card{display:flex;align-items:stretch;border:1px solid var(--border);border-radius:14px;background:white;overflow:hidden}.project-art{width:230px;min-height:230px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.project-art>img{width:190px;height:190px;object-fit:contain}.project-content{padding:25px 29px}.project-status{color:#8791a7;font-size:11px;display:flex;gap:7px;align-items:center;margin-bottom:7px}.project-content h2{font-size:25px}.project-content p{font-size:14px;margin-top:8px;max-width:660px}.project-content>small{display:block;color:#8b85a1;margin:11px 0 18px;font-size:11px}.project-content>div:last-child{display:flex;gap:10px;flex-wrap:wrap}.wide-note{padding:19px 22px;margin-top:23px}.wide-note strong{font-size:14px}.wide-note p{font-size:13px;margin-top:4px}.glossary-toolbar{display:flex;gap:13px;margin-top:28px}.search-field{display:flex;align-items:center;gap:12px;border:1px solid #dce3ed;background:white;border-radius:10px;padding:0 15px;flex:1 1;min-width:0;color:#8e99ac}.search-field input{min-width:0;width:100%;border:0;padding:13px 0;color:var(--ink);font-size:13px;background:none}.search-field input:focus{outline:0}.search-field:focus-within{outline:2px solid var(--mint)}.search-field button{display:flex;padding:2px}.glossary-toolbar select{border:1px solid #dce3ed;background:white;color:#50607d;border-radius:10px;padding:10px 35px 10px 14px;font-size:13px;max-width:230px}.results-label{font-size:12px;margin:18px 0 11px;color:#8c97a9}.glossary-list{background:white;border:1px solid var(--border);border-radius:12px;overflow:hidden}.glossary-entry{display:grid;grid-template-columns:1fr .9fr;gap:30px;padding:25px 26px;border-bottom:1px solid var(--border);align-items:center}.glossary-entry:last-child{border:0}.glossary-entry>div>span{font-size:10px;color:#8b92a7}.glossary-entry h2{font-family:Consolas,monospace;font-size:20px;letter-spacing:-.4px;margin:5px 0 8px;color:#078c6c}.glossary-entry p{font-size:13px;line-height:1.65}.glossary-entry .example-code{margin:0;font-size:12px}.empty-results{text-align:center;padding:60px 20px;color:#9aa9bb}.empty-results svg{margin-bottom:15px}.empty-results h2{font-size:24px;color:var(--ink)}.empty-results p{font-size:13px;margin:10px 0 20px}.achievement-summary{display:flex;align-items:center;gap:36px;background:white;border:1px solid var(--border);border-radius:14px;padding:27px;margin:27px 0 30px}.big-level{background:#f1ecff;color:#8259cb;display:flex;align-items:center;flex-direction:column;justify-content:center;border-radius:12px;min-width:170px;padding:22px 15px}.big-level>svg{color:#a58bd8;margin-bottom:10px}.big-level strong{font-family:var(--heading);font-size:25px;font-weight:850;color:#442e78}.big-level span{font-size:11px;margin-top:4px}.achievement-summary>div:nth-child(2){flex:1 1}.achievement-summary h2{font-size:28px}.achievement-summary p{font-size:13px;margin-top:8px}.achievement-summary .progress-track{margin:16px 0 7px}.achievement-summary small{font-size:11px;color:#9aa3b1}.awards-list{background:white;border:1px solid var(--border);border-radius:12px;overflow:hidden}.award{display:flex;gap:19px;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border)}.award:last-child{border:0}.award-icon{width:51px;height:51px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:#f1f3f7;color:#a1acc0;flex-shrink:0}.award.earned .award-icon{background:#dcf7eb;color:#06a376}.award>div{flex:1 1}.award h3{font-size:17px}.award p{font-size:12px;margin-top:4px}.award:not(.earned) h3{color:#68738a}.profile-dialog{border:1px solid var(--border);border-radius:19px;padding:0;max-width:480px;width:calc(100% - 32px);max-height:90vh;color:var(--ink);box-shadow:0 22px 90px #14203535;background:white;overflow:auto}.profile-dialog::backdrop{background:#14254062;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dialog-inner{padding:33px 30px 22px;position:relative}.dialog-close{position:absolute;right:15px;top:15px;display:flex;color:#8a94a7;padding:3px}.dialog-symbol{width:53px;height:53px;border-radius:15px;background:#dcf8ec;color:#09a57b;display:flex;align-items:center;justify-content:center;margin-bottom:18px}.profile-dialog h2{font-size:28px;font-weight:900;letter-spacing:-.8px}.profile-dialog h2+p{font-size:13px;line-height:1.7;margin-top:10px}.sign-in{width:100%;margin:25px 0 14px}.dialog-fineprint{font-size:11px;line-height:1.7;text-align:center;color:#98a1b0}.profile-list{display:flex;flex-direction:column;gap:7px;margin-top:22px}.profile-list>button{display:flex;align-items:center;gap:12px;border:1px solid var(--border);padding:11px 13px;border-radius:10px;text-align:left;font-size:13px}.profile-list>button.selected{border-color:#b0e4d2;background:#f0fcf6}.profile-list>button>svg:last-child{margin-left:auto;color:#08a77d}.new-profile{margin:12px 0 8px;font-size:12px}.profile-dialog form{margin-top:15px;padding-top:21px;border-top:1px solid var(--border)}.profile-dialog form h3{font-size:17px;margin-bottom:16px}.profile-dialog form label{display:block;font-size:12px;font-weight:650;margin-bottom:7px}.profile-dialog form input{display:block;width:100%;border:1px solid #ced8e5;border-radius:9px;padding:11px 12px;font-size:13px;color:#3a4d6c;margin-bottom:16px}.avatar-options{display:flex;gap:13px;margin:11px 0 22px}.avatar-options .avatar{width:43px;height:43px}.avatar.chosen{outline:2px solid #14a784;outline-offset:3px}.avatar-options .avatar>svg:last-child:not(:first-child){position:absolute;bottom:-2px;right:-3px;background:var(--mint);color:white;border-radius:50%;padding:1px;width:15px;height:15px}.profile-dialog form>.button{width:100%}.account-info{display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid var(--border);padding-top:17px;margin-top:23px;font-size:10px;color:#8a96a9}.account-info span{overflow:hidden;text-overflow:ellipsis}.account-info a{display:flex;align-items:center;gap:5px;white-space:nowrap;text-decoration:none}.form-error{font-size:12px;color:#b94638;padding:10px;background:#fff1ee;border-radius:7px;margin-bottom:14px}@keyframes spin{to{transform:rotate(1turn)}}.spin{animation:spin 1s linear infinite}@keyframes toastIn{0%{opacity:0;bottom:15px}to{opacity:1;bottom:24px}}@media(min-width:1500px){.hero-art{width:375px;height:248px;right:15px}.banner-copy{max-width:72%}.start-banner{min-height:218px}.banner-copy h2{font-size:30px}.path-layout{grid-template-columns:minmax(0,1fr) 280px}.mission-row{padding:15px 0}.mission-text strong{font-size:15px}.chapter-heading{padding:15px}.project-preview>img{height:150px}}@media(max-width:1250px){.sidebar{width:218px;padding-left:13px;padding-right:13px}.main-shell{margin-left:218px}.topbar{padding:0 26px}main{padding:0 26px 18px}.brand,h1{font-size:40px}.nav-item{font-size:14px;gap:12px}.banner-copy h2{font-size:25px;max-width:490px}.banner-copy>p{max-width:410px;font-size:14px}.banner-copy{max-width:70%}.hero-art{width:270px;right:-8px;bottom:-3px}.banner-actions{gap:12px}.banner-meta{font-size:11px;gap:5px}.banner-actions .button{padding:12px 15px;font-size:12px}.path-layout{grid-template-columns:minmax(0,1fr) 225px;gap:15px}.chapter-heading{gap:9px;padding:12px}.chapter-number{width:31px;height:31px;font-size:14px}.chapter-icon{width:29px;height:29px}.chapter-title strong{font-size:14px}.chapter-count,.chapter-title small{font-size:11px}.mission-row{gap:10px}.mission-text strong{font-size:12px}.mission-text small,.mission-xp{font-size:11px}.mission-xp{gap:4px}.status-circle{margin-left:4px;width:15px;height:15px}.progress-strip{gap:18px}.progress-strip>span:nth-child(2){margin-left:3px}.workspace{grid-template-columns:minmax(260px,.9fr) minmax(330px,1.1fr);gap:13px}.explanation-panel{padding:21px 18px}.explanation-panel h2{font-size:22px}.editor-actions>.button{font-size:11px;padding:11px 4px;gap:7px}.achievement-summary{gap:22px}.achievement-summary>.button{padding:10px 12px}.toast{left:calc(50% + 109px)}}@media(max-width:1080px) and (min-width:761px){.path-layout{grid-template-columns:minmax(0,1fr)}.path-aside{display:grid;grid-template-columns:1fr 1fr;gap:15px}.project-preview{grid-row:span 2}.project-preview>img{float:right;width:120px;height:110px}.learning-note{margin:0}.save-note{padding:10px}.banner-copy{max-width:74%}.hero-art{width:230px;right:-15px}.banner-copy h2{max-width:390px}.banner-copy>p{max-width:360px}.banner-meta{gap:5px}.mission-text strong{font-size:14px}.mission-text small,.mission-xp{font-size:12px}.workspace{grid-template-columns:1fr}.explanation-panel{display:block}.explanation-panel>p{font-size:14px}.editor-panel{margin-top:0}.code-area textarea{height:300px}.project-art{width:175px}.project-content{padding:24px}.project-content h2{font-size:23px}.achievement-summary{flex-wrap:wrap}.achievement-summary>.button{margin-left:auto}.glossary-entry{grid-template-columns:1fr;gap:8px}.breadcrumb{font-size:12px}}@media(max-width:760px){body{font-size:14px}.sidebar{display:none}.main-shell{margin-left:0}.topbar{height:78px;padding:16px 20px 9px;align-items:center}.mobile-brand{display:flex;font-size:33px;padding:0;gap:10px}.brand-icon{width:34px;height:34px;border-radius:8px}.breadcrumb{display:none}.account-button{padding:0;gap:0}.account-button>span:not(.avatar),.account-button>svg{display:none}.account-button .avatar{width:35px;height:35px}main{padding:8px 18px 92px;max-width:650px}.page-intro{margin:6px 0 19px}h1{font-size:34px;line-height:1.12;letter-spacing:-1px;max-width:450px}.page-intro>p{font-size:15px;line-height:1.6;margin-top:10px;max-width:440px}.progress-strip{gap:13px;flex-wrap:wrap;padding:13px 14px;margin-bottom:14px;border-radius:12px;font-size:12px}.progress-strip>span{gap:7px;flex:1 1;justify-content:center}.progress-strip>span:nth-child(2){margin-left:0;border-left:1px solid #e8edf3;border-right:1px solid #e8edf3}.progress-strip>span:nth-child(3){font-size:12px}.mission-label{display:none}.progress-strip .progress-track{flex-basis:85%;margin-top:2px;height:8px}.progress-strip>small{font-size:11px;min-width:24px}.start-banner{padding:21px 18px 20px;min-height:260px;align-items:start;border-radius:12px}.banner-copy{max-width:100%;width:100%;pointer-events:auto}.banner-copy h2{font-size:23px;max-width:340px;line-height:1.15;letter-spacing:-.6px}.banner-copy>p{font-size:12px;max-width:62%;margin:12px 0 17px;line-height:1.55}.banner-actions{align-items:start;flex-direction:column;gap:11px;max-width:70%}.banner-actions .button{font-size:11px;min-height:42px;padding:11px 12px;gap:7px;position:relative;z-index:2}.banner-actions .button svg{width:13px}.banner-meta{font-size:10px;gap:5px}.banner-meta svg{width:15px}.hero-art{width:178px;height:153px;right:-7px;bottom:0;pointer-events:none;z-index:1}.path-layout{display:flex;flex-direction:column;margin-top:24px;gap:20px}.section-heading{margin-bottom:12px}.section-heading h2{font-size:26px}.section-heading>p{font-size:12px}.chapter-heading{padding:13px 11px;min-height:70px;gap:9px}.chapter-number{width:32px;height:32px;font-size:14px}.chapter-icon{width:28px;height:28px;border-radius:7px}.chapter-icon svg{width:19px}.chapter-title strong{font-size:14px;letter-spacing:-.3px}.chapter-title small{font-size:10px;margin-top:4px}.chapter-count{font-size:10px;margin-left:1px}.chapter-heading>svg{width:14px}.chapter-heading>svg.muted{display:none}.mission-list{padding:0 11px}.mission-row{min-height:71px;padding:12px 0;gap:10px}.mission-play{width:32px;height:32px}.mission-play svg{width:14px}.mission-text strong{font-size:12px;line-height:1.3}.mission-text small{font-size:10px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mission-xp{font-size:9px;gap:4px}.mission-xp svg{width:14px}.status-circle{width:14px;height:14px;margin-left:0}.path-aside{display:grid;grid-template-columns:1fr;gap:0}.project-preview{padding:19px}.project-preview>img{width:130px;height:125px;float:right;margin:5px 0 0 10px}.project-preview h3{font-size:17px}.project-preview>h3:nth-of-type(2){font-size:20px;margin-top:23px}.project-preview p{font-size:12px}.project-availability{font-size:11px}.learning-note{padding:17px}.learning-note strong{font-size:13px}.learning-note p{font-size:12px}.save-note{padding:17px 6px}.app-footer{font-size:9px;flex-direction:column;align-items:start;gap:5px;margin-top:22px}.mobile-nav{position:fixed;bottom:0;left:0;right:0;display:flex;z-index:30;padding:7px 11px calc(8px + env(safe-area-inset-bottom));background:#ffffffed;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--border);justify-content:space-around;gap:6px}.mobile-nav>button{flex:1 1;padding:6px 3px;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:10px;color:#6e7995;border-radius:11px;max-width:150px}.mobile-nav>button.active{background:#e1f8ee;color:#008b6e;font-weight:750}.mobile-nav>button.active svg{fill:#0cbb8f1a}.toast{left:50%;bottom:85px;width:max-content;font-size:11px;max-width:91vw;padding:13px 14px;gap:8px}.toast button{margin-left:0}@keyframes toastIn{0%{opacity:0;bottom:75px}to{opacity:1;bottom:85px}}.error-banner{font-size:11px;flex-wrap:wrap}.error-banner>svg{width:17px}.error-banner button{margin-left:27px}.lesson-intro h1{font-size:34px}.lesson-intro>p{font-size:11px;gap:7px}.lesson-intro svg{width:14px}.completed-label{font-size:9px}.workspace{grid-template-columns:1fr;gap:15px}.explanation-panel{padding:22px 19px}.explanation-panel h2{font-size:23px;margin-bottom:13px}.explanation-panel>p{font-size:13px;margin-bottom:10px}.example-code{font-size:12px;padding:14px}.task-section{margin-top:21px;padding-top:20px}.task-section>p{font-size:13px}.help-controls{margin-top:19px}.disclosure{padding:12px}.disclosure,.hint-content p,.solution-content p{font-size:11px}.editor-top{height:45px}.editor-top>span{height:45px;padding:0 15px;font-size:11px}.editor-top button{font-size:10px;gap:6px}.code-area textarea{font-size:12px;min-height:230px;height:280px;padding:15px 12px 15px 4px}.line-numbers{font-size:12px;padding:15px 10px 15px 13px}.editor-actions{padding:12px;gap:8px}.editor-actions>.button{font-size:10px;padding:11px 6px;gap:7px;min-height:40px}.editor-actions>.button svg{width:14px}.console{margin:0 12px}.console pre{font-size:11px;min-height:90px}.test-inputs{margin:11px 12px 0}.test-inputs summary{font-size:10px}.editor-save{padding:11px 14px}.editor-save,.editor-save>span>button{font-size:9px}.lesson-navigation{padding:12px 10px;gap:8px}.lesson-navigation .button{font-size:10px;padding:10px 8px;gap:5px}.lesson-navigation .button svg{width:14px}.success-panel{padding:16px 14px;gap:11px}.success-panel h3{font-size:17px}.success-panel p{font-size:11px}.success-panel>svg:last-child{display:none}.success-icon{width:37px;height:37px}.success-icon svg{width:22px}.test-results{padding:18px 16px}.test-result>div{grid-template-columns:1fr;gap:3px}.test-result pre{margin-bottom:7px}.project-intro{padding:18px 17px;gap:12px;margin-top:23px}.project-intro>svg{width:22px}.project-intro strong{font-size:13px}.project-intro p{font-size:11px}.project-card{flex-direction:column}.project-art{width:100%;min-height:160px;height:160px}.project-art>img{height:155px;width:155px}.project-art>svg{width:66px}.project-content{padding:23px 21px}.project-content h2{font-size:25px}.project-content p{font-size:13px}.project-content>small{font-size:10px}.project-content .button{font-size:11px}.wide-note strong{font-size:13px}.wide-note p{font-size:12px}.glossary-toolbar{flex-direction:column;gap:10px;margin-top:23px}.glossary-toolbar select{max-width:none;width:100%;font-size:12px}.search-field{padding:0 12px}.search-field input{font-size:11px;padding:13px 0}.search-field>svg{width:17px}.glossary-entry{grid-template-columns:1fr;padding:21px 19px;gap:14px}.glossary-entry h2{font-size:20px}.glossary-entry p{font-size:12px}.glossary-entry .example-code{font-size:11px;margin:0}.achievement-summary{padding:20px;flex-wrap:wrap;gap:20px}.big-level{min-width:112px;padding:18px 10px}.big-level>svg{width:31px;height:31px}.big-level strong{font-size:23px}.big-level span{font-size:9px}.achievement-summary h2{font-size:23px}.achievement-summary p{font-size:11px}.achievement-summary>div:nth-child(2){min-width:130px}.achievement-summary .button{width:100%;font-size:12px}.achievement-summary small{font-size:10px}.award{padding:18px 17px;gap:13px}.award-icon{width:43px;height:43px;border-radius:11px}.award-icon svg{width:23px}.award h3{font-size:15px}.award p{font-size:10px;line-height:1.6}.award>svg{width:17px}.dialog-inner{padding:29px 23px 20px}.profile-dialog h2{font-size:25px}.profile-dialog h2+p{font-size:12px}.account-info{font-size:9px}.dialog-fineprint{font-size:10px}.profile-dialog{max-height:88vh}}@media(max-width:370px){main{padding-left:13px;padding-right:13px}.topbar{padding-left:15px;padding-right:15px}h1{font-size:31px}.banner-copy h2{font-size:21px}.hero-art{width:150px;right:-13px}.banner-actions .button{font-size:10px}.banner-copy>p{max-width:62%}.chapter-heading{gap:7px}.chapter-icon{display:none}.mission-text strong{font-size:11px}.mission-text small,.mission-xp{font-size:9px}.status-circle{display:none}}.mobile-banner-break{display:none}@media(min-width:1280px){.explanation-panel{padding:27px 23px}.explanation-panel h2{font-size:28px}.example-code,.explanation-panel>p,.task-section>p{font-size:16px}.expected-output strong{font-size:13px}.code-area textarea,.expected-output pre,.line-numbers{font-size:15px}.editor-top,.editor-top button{font-size:13px}.editor-actions>.button{font-size:14px}.console-heading{font-size:13px}.console pre,.disclosure{font-size:14px}.test-inputs summary{font-size:12px}.lesson-navigation .button{font-size:13px}h1{font-size:51px}.page-intro>p{font-size:20px}.progress-strip{font-size:14px;padding:15px 20px}.banner-copy>p{font-size:16px}.banner-actions .button{font-size:14px}.banner-meta{font-size:13px}.mission-text strong{font-size:16px}.mission-text small,.mission-xp{font-size:13px}.chapter-title strong{font-size:17px}.chapter-count,.chapter-title small{font-size:13px}.nav-item{font-size:16px}.section-heading>p{font-size:14px}.project-preview h3{font-size:17px}.project-preview>h3:nth-of-type(2){font-size:20px}.project-preview p{font-size:14px}.learning-note p,.learning-note strong{font-size:13px}}@media(min-width:1500px){.sidebar{width:270px;padding-left:18px;padding-right:18px}.main-shell{margin-left:270px}.brand{font-size:47px}.brand-icon{width:43px;height:43px}.nav-item{font-size:17px;padding:16px 14px;gap:18px}.sidebar nav{margin-top:37px}.nav-item>svg{width:24px;height:24px}.topbar{padding-left:34px}.page-intro h1{font-size:55px;letter-spacing:-1.7px}.banner-copy h2{font-size:30px}.start-banner{padding-top:27px;padding-bottom:27px}.hero-art{width:355px;height:236px;right:12px;bottom:-6px}.banner-copy{max-width:74%}.banner-copy>p{max-width:600px}.path-layout{grid-template-columns:minmax(0,1fr) 280px}.chapter-heading{gap:13px}.chapter-number{width:39px;height:39px}.chapter-icon{width:35px;height:35px}.mission-row{gap:16px;min-height:76px}.mission-play{width:42px;height:42px}.status-circle{width:19px;height:19px;margin-left:8px}.chapter-title strong{font-size:18px}.mission-text strong{font-size:17px}.mission-text small{font-size:13px}.encouragement strong{font-size:20px}.encouragement p{font-size:16px}.encouragement{padding:26px 22px}.profile-trigger{font-size:15px}.toast{left:calc(50% + 135px)}}@media(max-width:760px){h1{font-size:36px;max-width:315px;line-height:1.08}.page-intro>p{font-size:15px}.mobile-banner-break{display:block}.start-banner{min-height:228px;padding:18px 17px}.banner-copy h2{font-size:22px;line-height:1.15}.banner-copy>p{margin:10px 0 13px;font-size:12px;max-width:65%}.banner-actions{gap:9px}.banner-meta{font-size:10px}.hero-art{width:171px;height:145px;bottom:-1px;right:-8px}.banner-actions .button{padding:10px 11px;min-height:39px}.path-layout{margin-top:21px}.section-heading>p{font-size:12px}.chapter-heading{min-height:66px}.mission-row{min-height:65px}.save-note p{font-size:11px}.lesson-intro h1{font-size:34px}.banner-actions .button,.editor-actions>.button,.lesson-navigation .button{min-height:44px}.code-area textarea,.line-numbers{font-size:16px}.disclosure{min-height:44px}.account-button{padding:4px}.banner-copy>p{max-width:64%}}@media(max-width:370px){.hero-art{width:135px;height:121px;right:-12px;bottom:-3px}.banner-copy h2{font-size:20px}.banner-copy>p{max-width:68%;font-size:11px}.banner-actions .button{font-size:10px}.banner-actions{max-width:75%}.mission-text strong{font-size:12px}.mission-text small{font-size:10px}}@media(max-width:760px){.hero-art{right:0}.page-intro:not(.lesson-intro) h1{max-width:280px}}@media(min-width:761px) and (max-width:1080px){.hero-art{right:0;width:215px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}