:root{--bg:#f8f9fc;--panel:#fff;--text:#242435;--muted:#737486;--line:#e8e9f0;--purple:#7650dc;--purple-dark:#6340c3;--tint:#f1edfc;--green:#237d66;--code:#1c2030;--shadow:0 5px 24px #28234405;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#151720;--panel:#1c1f2b;--text:#eeedf5;--muted:#a7a9bc;--line:#303344;--purple:#b197fc;--purple-dark:#9375e8;--tint:#2c2542;--green:#7bd0b6;--code:#10121c;--shadow:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.6}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.6}a{color:var(--purple);text-decoration:none}a:hover{text-decoration:underline}button{color:inherit}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,pre:focus-visible{outline:3px solid var(--purple);outline-offset:4px}h1:focus{outline:none}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-1.2px;margin-bottom:14px;font-size:34px;font-weight:700;line-height:1.2}h2{letter-spacing:-.45px;margin-bottom:13px;font-size:20px;line-height:1.35}h3{margin-bottom:8px;font-size:14px}p{margin-bottom:16px}svg{flex-shrink:0}small,.small{font-size:12px}.muted{color:var(--muted)}.between{justify-content:space-between;align-items:center;gap:12px;display:flex}.button{background:var(--purple);color:#fff;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:10px;min-height:42px;padding:10px 17px;font-size:13px;font-weight:600;transition:background .15s,transform .15s;display:inline-flex}.button:hover:not(:disabled){background:var(--purple-dark);transform:translateY(-1px)}.button.secondary{color:var(--text);border-color:var(--line);background:var(--panel)}.button.secondary:hover{background:var(--tint)}.button.white{color:#6440b7;background:#fff}.button.white:hover{background:#f2ebff}.button.danger{background:#b33e4c}.button-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.icon-button{background:0 0;border:none;border-radius:6px;place-items:center;width:36px;height:36px;display:grid}.icon-button:hover{background:var(--tint)}.text-button{color:var(--purple);background:0 0;border:0;align-items:center;gap:7px;min-height:28px;padding:0;font-size:12px;font-weight:600;display:inline-flex}.text-button:hover{text-decoration:underline}.eyebrow{letter-spacing:1.3px;color:var(--purple);font-size:10px;font-weight:700}.subtle-pill{background:var(--bg);border:1px solid var(--line);color:var(--muted);white-space:nowrap;border-radius:5px;padding:4px 9px;font-size:10px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{background:var(--panel);z-index:100;padding:12px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:15px}.sidebar{background:var(--panel);border-right:1px solid var(--line);z-index:40;flex-direction:column;width:244px;display:flex;position:fixed;top:0;bottom:0;left:0}.brand{height:82px;color:var(--text);letter-spacing:-.8px;flex-shrink:0;align-items:center;gap:10px;padding:0 24px;font-size:19px;font-weight:730;display:flex}.brand:hover{text-decoration:none}.brand-mark{background:var(--purple);color:#fff;border-radius:7px;width:29px;height:31px;padding:6px}.brand-mark svg{width:100%;height:100%}.brand-quest{color:var(--muted);margin-left:3px;font-weight:400}.brand small{letter-spacing:0;border:1px solid var(--line);border-radius:3px;margin-left:auto;padding:0 4px;font-family:monospace;font-size:9px}.sidebar-scroll{scrollbar-width:thin;padding:14px 16px 24px;overflow-y:auto}.nav-label{letter-spacing:1.4px;color:var(--muted);margin:0 12px 13px;font-size:9px;font-weight:650}.nav-link{color:var(--muted);border-radius:6px;align-items:center;gap:11px;margin:3px 0;padding:10px 12px;font-size:12px;font-weight:500;display:flex}.nav-link:hover,.chapter-link:hover{background:var(--bg);color:var(--text);text-decoration:none}.nav-link.active{background:var(--tint);color:var(--purple);font-weight:650}.nav-tag{background:var(--bg);border:1px solid var(--line);border-radius:3px;margin-left:auto;padding:4px 5px;font-size:8px;line-height:1}.course-label{margin-top:34px;padding-right:10px}.course-label .nav-label{margin-bottom:11px}.course-label>span{color:var(--muted);margin-top:-10px;font-size:10px}.chapter-link{color:var(--muted);border-radius:5px;align-items:center;gap:10px;padding:10px;font-size:11px;line-height:1.5;display:flex}.chapter-link>span:nth-child(2){flex:1}.chapter-link>svg{opacity:.5}.chapter-number{color:#9995aa;border:1px solid var(--line);border-radius:5px;flex-shrink:0;place-items:center;width:22px;height:22px;font-family:monospace;font-size:10px;display:grid}.chapter-number.complete{color:var(--green);background:#e9f5ef}.chapter-link.selected{color:var(--purple);background:var(--tint)}.lesson-nav{border-left:1px solid var(--line);margin:0 10px;padding:1px 0 10px 22px}.lesson-nav a{color:var(--muted);align-items:center;gap:7px;padding:7px 0;font-size:11px;line-height:1.4;display:flex}.lesson-nav a.active{color:var(--purple);font-weight:600}.sidebar-course{background:var(--bg);border:1px solid var(--line);border-radius:7px;margin-top:25px;padding:13px;font-size:11px}.sidebar-course small{color:var(--muted);font-size:10px}.sidebar-course .bar{margin:10px 0}.sidebar-footer{border-top:1px solid var(--line);color:var(--muted);align-items:center;gap:6px;margin-top:auto;padding:15px 19px;font-size:9px;display:flex}.sidebar-footer button{background:0 0;border:0;margin-left:auto;padding:3px;display:flex}.local-dot{background:#64b896;border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.workspace{margin-left:244px}.topbar{border-bottom:1px solid var(--line);background:var(--panel);z-index:25;justify-content:space-between;align-items:center;gap:20px;height:70px;padding:0 36px;display:flex;position:sticky;top:0}.breadcrumb{color:var(--muted);align-items:center;gap:12px;min-width:0;font-size:11px;display:flex}.breadcrumb strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.top-actions{align-items:center;gap:13px;display:flex}.search-box{color:var(--muted);align-items:center;gap:9px;width:235px;display:flex}.search-box input{color:var(--text);background:0 0;border:none;outline:none;width:155px;padding:7px 0;font-size:11px}.search-box kbd{background:var(--bg);border:1px solid var(--line);white-space:nowrap;border-radius:4px;padding:1px 4px;font-size:9px}.avatar{background:var(--tint);color:var(--purple);border:1px solid #e9e0fa;border-radius:50%;place-items:center;width:29px;height:29px;font-size:10px;font-weight:650;display:grid}.mobile-menu{display:none}.content-layout{max-width:1600px;margin:0 auto;padding:34px 36px}.content-layout.with-rail{grid-template-columns:minmax(0,1fr) 214px;gap:32px;display:grid}.main-content{min-width:0}.page-eyebrow{letter-spacing:1.4px;color:var(--muted);align-items:center;gap:8px;margin:2px 0 20px;font-size:9px;font-weight:650;display:flex}.purple-dot{background:var(--purple);border-radius:50%;width:6px;height:6px}.version-chip{background:var(--tint);color:var(--purple);letter-spacing:.6px;border:1px solid #9674cd22;border-radius:4px;margin-left:auto;padding:2px 7px;font-size:8px}.dashboard-heading{justify-content:space-between;gap:15px;margin-bottom:26px;display:flex}.dashboard-heading h1{letter-spacing:-1px;margin-bottom:9px;font-size:29px}.dashboard-heading p{color:var(--muted);margin-bottom:0;font-size:12px}.edition-badge{color:var(--purple);flex-shrink:0;align-items:center;gap:7px;display:flex}.edition-badge>span{letter-spacing:1px;font-size:7px;line-height:1.5}.edition-badge strong{letter-spacing:0;font-size:19px;line-height:1.2;display:block}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:25px;display:grid}.stat-card{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:9px;padding:17px 18px 14px}.stat-card>.between{color:var(--muted);gap:5px;font-size:10px}.stat-card>.between svg{color:var(--purple);opacity:.8}.stat-card>strong{letter-spacing:-1px;margin:8px 0;font-size:28px;font-weight:650;line-height:1.4;display:block}.stat-card>strong>small{color:var(--muted);letter-spacing:0;margin-left:5px;font-size:11px;font-weight:500}.stat-card>small{color:var(--muted);font-size:9px}.bar{background:var(--line);border-radius:5px;width:100%;height:5px;overflow:hidden}.bar>span{background:var(--purple);border-radius:5px;height:100%;transition:width .4s;display:block}.stat-card .bar{height:4px;margin:10px 0 5px}.mission-card{color:#fff;background:linear-gradient(115deg,#7348c5 0%,#6440b4 55%,#503392 100%);border:1px solid #8054ce;border-radius:11px;min-height:247px;display:flex;position:relative;overflow:hidden;box-shadow:0 5px 18px #7145ba13}.mission-content{z-index:2;max-width:70%;padding:28px;position:relative}.mission-content .eyebrow{color:#eee5ff;letter-spacing:1.5px;align-items:center;gap:7px;font-size:8px;display:flex}.mission-dot{background:#ddd1fa;border-radius:50%;width:5px;height:5px}.mission-chapter{color:#dfcff6;letter-spacing:.9px;text-transform:uppercase;margin-top:19px;font-size:8px;display:block}.mission-content h2{letter-spacing:-.6px;margin:5px 0 9px;font-size:24px}.mission-content p{color:#e2d7f5;max-width:325px;margin-bottom:21px;font-size:11px;line-height:1.8}.mission-bottom{align-items:center;gap:17px;display:flex}.mission-bottom .button{min-height:37px;padding:8px 12px;font-size:11px}.mission-bottom>span{color:#e3d6f6;white-space:nowrap;font-size:9px}.mission-bottom>span>span{padding:0 5px}.mission-art{pointer-events:none;width:35%;position:absolute;top:0;bottom:0;right:0}.orbit{border:1px solid #ffffff12;border-radius:50%;width:300px;height:300px;position:absolute;top:-25px;right:-90px;transform:rotate(-20deg)}.orbit-two{width:220px;height:220px;top:20px;right:-40px}.floating-code{background:#322449aa;border:1px solid #cfb4f534;border-radius:8px;width:185px;position:absolute;top:65px;right:24px;overflow:hidden;transform:rotate(-5deg);box-shadow:0 10px 30px #38216640}.floating-code>span{color:#d2c0eb;border-bottom:1px solid #ffffff13;padding:8px 11px;font-family:monospace;font-size:8px;display:block}.floating-code i{float:right;opacity:.7;letter-spacing:1px;font-size:6px;font-style:normal}.floating-code code{color:#e3dbee;white-space:pre;padding:14px 11px 6px;font-family:monospace;font-size:9px;line-height:1.9;display:block}.floating-code em{color:#ba9cec;font-style:normal}.floating-code b{color:#abd7c8;font-weight:400}.floating-code small{color:#baa9cd;padding:3px 10px 9px;font-size:6px;display:block}.floating-token{background:#8a65cc;border:1px solid #b295e0;border-radius:11px;place-items:center;width:44px;height:44px;display:grid;position:absolute;bottom:39px;right:17px;transform:rotate(8deg);box-shadow:0 5px 10px #39215333}.section{margin-top:30px}.section-heading{justify-content:space-between;align-items:center;gap:14px;margin-bottom:15px;display:flex}.section-heading h2{margin:0 0 4px;font-size:17px}.section-heading p{color:var(--muted);margin:0;font-size:11px}.path-list{background:var(--panel);border:1px solid var(--line);border-radius:9px;overflow:hidden}.path-row{text-align:left;border:0;border-bottom:1px solid var(--line);background:0 0;align-items:center;gap:15px;width:100%;padding:17px 19px;display:flex}.path-row:last-child{border-bottom:0}.path-row:hover{background:var(--tint)}.path-icon{background:var(--bg);border:1px solid var(--line);width:40px;height:40px;color:var(--muted);border-radius:8px;flex-shrink:0;place-items:center;display:grid}.path-row:first-child .path-icon{color:var(--purple);background:var(--tint);border-color:#0000}.path-icon.done{color:var(--green);background:#eaf8f1}.path-text{flex-direction:column;flex:1;min-width:0;display:flex}.path-kicker{letter-spacing:1px;color:var(--muted);margin-bottom:1px;font-size:7px}.path-text strong{font-size:12px;font-weight:600;line-height:1.8}.path-text small{color:var(--muted);font-size:10px}.path-meta{flex-direction:column;gap:8px;width:112px;display:flex}.path-meta>span{color:var(--muted);white-space:nowrap;font-size:9px}.path-meta>span>span{padding:0 5px}.path-meta .bar{width:90px;height:3px}.path-row>svg{color:var(--muted);opacity:.6}.project-card{background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:22px}.project-card .eyebrow{color:var(--muted);font-size:8px}.project-card h2{margin-top:5px}.aws-pill{color:#b88739;background:#fff7e9;border-color:#f4e8d6;font-size:10px;font-weight:700}.architecture{margin:27px 0 15px}.arch-chain{justify-content:center;gap:0;display:flex}.arch-unit{flex:1;align-items:center;display:flex}.arch-unit:last-child{flex:0 0 22%}.arch-node{flex-direction:column;align-items:center;gap:4px;width:100%;display:flex}.arch-node b{background:var(--bg);width:38px;height:38px;color:var(--muted);border:1px solid var(--line);border-radius:8px;place-items:center;font-family:monospace;font-size:23px;display:grid}.node-1 b{color:#c95c86;background:#fff1f5;border-color:#f3d9e3}.node-2 b{color:#c78942;background:#fff5e9;border-color:#f6e4cd}.node-3 b{color:#5c81c4;background:#edf3ff;border-color:#d9e5fb}.arch-node strong{font-size:10px;font-weight:600}.arch-node small{color:var(--muted);font-size:8px}.arch-arrow{color:var(--muted);opacity:.5;margin:-23px 3px 0}.arch-support{border-top:1px dashed var(--line);justify-content:center;gap:27px;margin-top:20px;padding-top:13px;display:flex}.arch-support>span{color:var(--muted);font-size:9px}.arch-support small{color:var(--muted);opacity:.8;font-size:8px;display:block}.project-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;margin-top:17px;padding-top:15px;font-size:9px;display:flex}.project-footer>span{align-items:center;gap:6px;display:flex}.project-footer .text-button{font-size:10px}.review-banner{background:var(--tint);color:var(--purple);border:1px solid #9674cd22;border-radius:9px;align-items:center;gap:15px;margin-top:25px;padding:20px;display:flex}.review-banner>div{flex:1}.review-banner h3{color:var(--text);margin:0 0 3px;font-size:12px}.review-banner p{color:var(--muted);margin:0;font-size:10px}.review-banner .button{min-height:35px;padding:8px 12px;font-size:10px}.main-footer{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px 20px;margin-top:35px;padding:30px 0 0;font-size:9px;display:flex}.main-footer a{align-items:center;gap:4px;display:flex}.main-footer>span:last-child{opacity:.8;width:100%;font-size:8px}.progress-rail{border-left:1px solid var(--line);padding:6px 0 0 25px}.rail-title{color:var(--muted);letter-spacing:1px;align-items:center;gap:8px;font-size:9px;display:flex}.rail-title svg{color:var(--purple)}.progress-ring{border-radius:50%;width:137px;height:137px;margin:24px auto 14px;padding:7px;transform:rotate(-90deg)}.progress-ring>div{background:var(--bg);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex;transform:rotate(90deg)}.progress-ring strong{letter-spacing:-1px;font-size:32px;font-weight:650;line-height:1.4}.progress-ring strong small{letter-spacing:0;font-size:17px}.progress-ring>div>span{color:var(--muted);font-size:8px}.rail-caption{text-align:center;color:var(--muted);font-size:9px}.rail-stats{color:var(--muted);flex-direction:column;gap:9px;margin:20px 0 24px;font-size:10px;display:flex}.rail-stats>span{align-items:center;gap:6px;display:flex}.rail-stats svg{color:var(--purple);margin-right:2px}.rail-stats b{color:var(--text);font-weight:600}.rail-section{border-top:1px solid var(--line);margin-top:21px;padding-top:20px}.rail-section h3{margin:0 0 12px;font-size:11px;font-weight:600}.rail-section .between>span{color:var(--muted);margin-top:-10px;font-size:9px}.badge-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px 6px;margin-bottom:13px;display:grid}.badge{text-align:center;color:var(--muted);filter:grayscale();opacity:.65}.badge>span:first-child{border:1px dashed var(--line);background:var(--panel);border-radius:10px;place-items:center;width:40px;height:40px;margin:0 auto 5px;font-size:19px;display:grid}.badge small{font-size:7px;line-height:1.35;display:block}.badge.unlocked{filter:none;opacity:1}.badge.unlocked>span:first-child{background:var(--tint);border:1px solid var(--purple)}.rail-section>small{font-size:8px}.weak-topic{width:100%;color:var(--muted);text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:4px;padding:8px 0;font-size:10px;display:flex}.weak-topic>span{flex:1}.weak-topic small{font-size:9px}.weak-topic:hover{color:var(--purple)}.cost-reminder{color:#8a693a;background:#fffaf0;border:1px solid #dcc89b55;border-radius:8px;margin-top:25px;padding:15px 13px}.cost-reminder>svg{margin-bottom:7px}.cost-reminder h3{color:#705535;margin-bottom:6px;font-size:11px}.cost-reminder p{color:#8a7657;margin-bottom:12px;font-size:10px;line-height:1.7}.cost-reminder>small{font-size:8px;line-height:1.7;display:block}.cost-reminder .code-top{display:none}.cost-reminder .code-block{background:#f8f1e4;border-color:#ede1cc;margin:10px 0}.cost-reminder pre{color:#715b3a;padding:9px 7px;font-size:9px}.cost-reminder pre .token{color:inherit}.cost-reminder .check-row{align-items:flex-start;margin-top:12px;font-size:8px}.cost-reminder input{width:11px;height:11px;margin:2px 0}.export-button{margin-top:20px;font-size:9px}.check-row{cursor:pointer;align-items:center;gap:9px;margin:10px 0;font-size:13px;display:flex}.check-row input{accent-color:var(--purple);flex-shrink:0;width:16px;height:16px}.page-heading{margin:2px 0 27px}.page-heading .eyebrow{margin-bottom:13px;display:block}.page-heading p{max-width:740px;color:var(--muted);margin-bottom:0;font-size:14px}.lesson-page{max-width:850px}.lesson-breadcrumb{color:var(--muted);align-items:center;gap:8px;margin-bottom:22px;font-size:11px;display:flex}.lesson-breadcrumb .text-button{font-size:11px}.objective-chips{flex-wrap:wrap;gap:7px;margin:-12px 0 22px;display:flex}.objective-chips button,.objective-id{color:var(--purple);background:var(--tint);border:1px solid #9974db22;border-radius:4px;padding:4px 7px;font:11px ui-monospace,SFMono-Regular,Consolas,monospace}.learning-goals{background:var(--panel);border:1px solid var(--line);border-radius:8px;margin:24px 0;padding:21px 23px}.learning-goals h2{margin-bottom:13px;font-size:16px}.learning-goals>div{color:var(--muted);align-items:center;gap:9px;margin:8px 0;font-size:12px;display:flex}.learning-goals svg{color:var(--green)}.problem-grid{grid-template-columns:1fr 1fr;gap:15px;margin:26px 0;display:grid}.problem-grid>section{border-left:2px solid var(--purple);padding:0 0 0 14px}.problem-grid>section:last-child{border-color:var(--line)}.problem-grid .eyebrow{font-size:9px}.problem-grid p{margin:7px 0;font-size:12px;line-height:1.8}.lesson-concept{margin:30px 0}.lesson-concept p{color:var(--text);margin-bottom:16px;font-size:13px;line-height:1.95}.lesson-page section>h2{margin-top:25px}.lesson-page .learning-goals>h2{margin-top:0}.code-block{background:var(--code);color:#d7dbea;border:1px solid #30364c;border-radius:8px;max-width:100%;margin:15px 0 22px;overflow:hidden}.code-top{background:#ffffff03;border-bottom:1px solid #ffffff10;justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:10px 14px;display:flex}.code-top>span{color:#a5acc3;overflow-wrap:anywhere;align-items:center;gap:8px;min-width:0;font:10px ui-monospace,SFMono-Regular,Consolas,monospace;display:flex}.code-top button{color:#b9c0d4;background:#ffffff08;border:1px solid #ffffff10;border-radius:4px;flex-shrink:0;align-items:center;gap:5px;padding:4px 7px;font-size:9px;display:flex}.code-top button:hover{background:#ffffff15}pre{tab-size:2;max-width:100%;margin:0;padding:19px 20px;font:11px/1.9 ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;overflow:auto}.token.comment{color:#8992ac;font-style:italic}.token.keyword,.token.property{color:#c7a4f7}.token.string{color:#9ed7bc}.token.number,.token.boolean{color:#ebba88}.token.punctuation{color:#aebbd2}.token.operator{color:#dfdaec}.token.function{color:#8ecbde}.token.interpolation{color:#c5aff2}.expected{border:1px solid var(--line);background:var(--panel);border-radius:6px;margin:15px 0 23px;padding:17px 20px}.expected .eyebrow{color:var(--green);font-size:9px}.expected p{margin:8px 0 0;font-size:12px}.callout{border:1px solid #9a79da30;border-left:3px solid var(--purple);background:var(--tint);border-radius:0 7px 7px 0;margin:22px 0;padding:16px 19px}.callout>div:first-child{color:var(--purple);align-items:center;gap:8px;font-size:11px;display:flex}.callout strong{letter-spacing:.2px;font-weight:650}.callout-content p,.callout-content li{margin:8px 0 0;font-size:12px;line-height:1.85}.callout-content ol{margin:10px 0 18px;padding-left:19px}.callout.warning{background:#fff8ec;border-color:#e2c28766 #e2c28766 #e2c28766 #c19243}.callout.warning>div:first-child{color:#8c6327}.callout.warning .callout-content{color:#715d40}.callout.trap{background:#fff3f2;border-color:#e3adab66 #e3adab66 #e3adab66 #be6c6a}.callout.trap>div:first-child{color:#a45552}.callout.trap .callout-content{color:#77504e}.callout.try{background:var(--panel)}.workflow-diagram{background:var(--panel);border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;gap:10px;padding:20px;font-family:monospace;font-size:11px;display:flex}.workflow-diagram>span{color:var(--purple);align-items:center;gap:9px;display:flex}.setup-checklist{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:21px}.setup-checklist h2{margin-top:0!important}.quiz-session{min-width:0;margin-top:20px}.quiz-toolbar{color:var(--muted);margin-bottom:14px;font-size:11px}.question-card{background:var(--panel);border:1px solid var(--line);border-radius:8px;margin:16px 0;padding:23px}.question-card>.eyebrow{font-size:9px}.question-card fieldset{border:0;min-width:0;padding:0}.question-card legend{float:left;width:100%;margin:12px 0 18px;padding:0;font-size:15px;font-weight:600;line-height:1.65}.question-card legend+.answer{clear:both}.answer{border:1px solid var(--line);cursor:pointer;background:var(--bg);border-radius:6px;align-items:center;gap:10px;margin:9px 0;padding:13px 14px;font-size:12px;line-height:1.65;display:flex}.answer:hover{border-color:var(--purple)}.answer input{accent-color:var(--purple);flex-shrink:0;width:15px;height:15px;margin:0}.answer>span{flex:1}.answer.selected{border-color:var(--purple);background:var(--tint)}.answer.correct{color:#236549;background:#edf8f2;border-color:#65ae93}.answer.incorrect{color:#983d3d;background:#fff0ee;border-color:#d28888}fieldset:disabled .answer{cursor:default}.answer-review{border-top:1px solid var(--line);margin-top:22px;padding-top:16px}.answer-review>strong{font-size:13px}.answer-review p{color:var(--muted);margin:12px 0;font-size:11px;line-height:1.85}.answer-review b{color:var(--text);font-weight:550}.success-text{color:var(--green)}.error-text{color:#bb5959}.quiz-result{background:var(--tint);border:1px solid #9974db22;border-radius:8px;align-items:center;gap:16px;margin:20px 0;padding:23px;display:flex}.quiz-result>svg{color:var(--purple)}.quiz-result h2{margin:4px 0;font-size:27px}.quiz-result h2>span{color:var(--muted);font-size:13px;font-weight:400}.quiz-result p{color:var(--muted);margin:0;font-size:12px}.domain-results{grid-template-columns:1fr 1fr;gap:20px;margin:25px 0;display:grid}.domain-results .between{margin-bottom:7px;font-size:11px}.question-dots{flex-wrap:wrap;gap:6px;margin-top:23px;display:flex}.question-dots button{border:1px solid var(--line);background:var(--panel);width:30px;height:30px;color:var(--muted);border-radius:4px;font-size:10px}.question-dots button.answered{background:var(--tint);color:var(--purple)}.question-dots button.active{border:2px solid var(--purple)}.chapter-quiz{border-top:1px solid var(--line);margin-top:35px;padding-top:25px}.chapter-quiz>div:first-child>svg{color:var(--purple)}.chapter-quiz p{color:var(--muted);font-size:12px}.lesson-finish{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;margin-top:35px;padding:25px 0;display:flex}.lesson-finish strong{font-size:15px}.lesson-finish p{color:var(--muted);margin:4px 0;font-size:11px}.lesson-finish .button{flex-shrink:0}.next-lesson{border:1px solid var(--line);background:var(--panel);text-align:left;border-radius:8px;justify-content:space-between;align-items:center;gap:15px;width:100%;padding:20px 23px;display:flex}.next-lesson:hover{border-color:var(--purple);background:var(--tint)}.next-lesson span{flex-direction:column;gap:5px;display:flex}.next-lesson small{letter-spacing:1px;color:var(--muted);font-size:8px}.next-lesson strong{font-size:15px;font-weight:600}.next-lesson>svg{color:var(--purple)}.sources{margin-top:28px}.sources h3{color:var(--muted);font-size:11px}.sources a,.source-link{overflow-wrap:anywhere;align-items:center;gap:5px;margin:8px 0;font-size:10px;display:flex}.detective details,.file-details,.matrix-details{background:var(--panel);border:1px solid var(--line);border-radius:7px;margin:12px 0;padding:15px 19px}.detective summary,.file-details summary,.matrix-details summary{cursor:pointer;overflow-wrap:anywhere;font-size:12px;font-weight:600}.detective p{margin:12px 0;font-size:12px}.detective details details{background:var(--bg)}.file-details{padding:14px}.file-details .code-block{margin-bottom:0}.objective-list{border:1px solid var(--line);border-radius:8px;overflow:hidden}.objective-list>button{border:0;border-bottom:1px solid var(--line);background:var(--panel);text-align:left;align-items:center;gap:13px;width:100%;padding:16px 18px;display:flex}.objective-list>button:last-child{border:0}.objective-list>button:hover{background:var(--tint)}.objective-list strong{flex:1;font-size:12px;font-weight:500}.objective-list>button>svg{color:var(--muted)}.status{background:var(--bg);color:var(--muted);white-space:nowrap;border-radius:5px;padding:3px 8px;font-size:9px}.status-learning{background:var(--tint);color:var(--purple)}.status-practiced{color:#5678af;background:#ecf2ff}.status-mastered{color:#267654;background:#e9f6f0}.table-scroll{margin-top:20px;overflow:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:11px}th,td{border-bottom:1px solid var(--line);vertical-align:top;min-width:80px;padding:12px}th{color:var(--muted);font-size:10px}.lab-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-top:25px;display:grid}.lab-card{background:var(--panel);border:1px solid var(--line);text-align:left;border-radius:9px;flex-direction:column;padding:23px;display:flex}.lab-card:hover{border-color:var(--purple);box-shadow:var(--shadow)}.lab-card>.between{width:100%;color:var(--purple)}.lab-number{letter-spacing:1px;color:var(--muted);font-size:9px}.lab-card h2{margin:20px 0 10px;font-size:17px}.lab-card p{color:var(--muted);flex:1;font-size:12px;line-height:1.8}.lab-card>.between:last-child{margin-top:10px}.lab-page{max-width:900px}.lab-step{margin:30px 0}.step-heading{align-items:center;gap:12px;margin-bottom:14px;display:flex}.step-heading>span{background:var(--tint);color:var(--purple);border:1px solid #9674cd33;border-radius:7px;flex-shrink:0;place-items:center;width:29px;height:29px;font:12px monospace;display:grid}.step-heading h2{margin:0;font-size:18px}.lab-step>p{color:var(--muted);font-size:13px;line-height:1.9}.exam-intro{border:1px solid var(--line);background:var(--panel);border-radius:10px;gap:22px;margin-bottom:20px;padding:28px;display:flex}.exam-intro>svg{color:var(--purple)}.exam-intro p{color:var(--muted);max-width:800px;font-size:13px}.chapter-practice-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.chapter-practice-grid>button{border:1px solid var(--line);background:var(--panel);text-align:left;border-radius:7px;align-items:center;gap:12px;padding:17px;font-size:12px;display:flex}.chapter-practice-grid>button>span{background:var(--tint);color:var(--purple);border-radius:5px;place-items:center;width:24px;height:24px;font:10px monospace;display:grid}.chapter-practice-grid>button>svg{color:var(--muted);margin-left:auto}.reference-search{border:1px solid var(--line);background:var(--panel);color:var(--muted);border-radius:7px;align-items:center;gap:10px;margin-bottom:30px;padding:12px 17px;display:flex}.reference-search input{width:100%;color:var(--text);background:0 0;border:0;padding:4px;font-size:13px}.command-card{border-bottom:1px solid var(--line);max-width:1000px;margin-bottom:30px;padding-bottom:25px}.command-card dl{grid-template-columns:1fr 1fr 1fr;gap:18px;display:grid}.command-card dt{color:var(--muted);margin-bottom:5px;font-size:10px}.command-card dd{margin:0;font-size:12px}.command-card>p{font-size:13px}.mental-layout{background:var(--panel);border:1px solid var(--line);border-radius:10px;grid-template-columns:1fr 1fr;gap:80px;padding:35px;display:grid}.mental-graph{max-width:320px}.mental-node{border:1px solid var(--line);background:var(--bg);border-radius:6px;align-items:center;gap:12px;width:100%;padding:14px;font-size:12px;display:flex}.mental-node span{color:var(--muted);font-family:monospace;font-size:9px}.mental-node small{color:var(--muted);margin-left:auto}.mental-node.selected,.state-branch.selected{border-color:var(--purple);color:var(--purple);background:var(--tint)}.vertical-arrow{text-align:center;color:var(--muted);height:38px;line-height:38px;position:relative}.state-branch{border:1px solid var(--line);width:125px;color:var(--purple);background:var(--tint);border-radius:6px;padding:8px;font-size:11px;line-height:20px;position:absolute;top:-9px;left:75%}.mental-explanation{padding-top:10px}.mental-explanation h2{margin-top:10px;font-size:24px}.mental-explanation p{color:var(--muted);font-size:13px;line-height:1.9}.mental-related{border-top:1px solid var(--line);margin-top:25px;padding-top:15px}.mental-related button{width:100%;color:var(--muted);background:0 0;border:0;justify-content:space-between;align-items:center;padding:10px 0;font-size:12px;display:flex}.mental-related button.active{color:var(--purple)}.search-results{z-index:50;background:var(--panel);border:1px solid var(--line);border-radius:9px;width:390px;padding:18px;position:fixed;top:63px;right:105px;box-shadow:0 12px 50px #1c15262a}.search-results>strong{color:var(--muted);font-size:11px}.search-results>button:not(.text-button){border:none;border-bottom:1px solid var(--line);text-align:left;background:0 0;align-items:center;gap:10px;width:100%;padding:10px 3px;font-size:12px;display:flex}.search-results>button>span{flex:1}.search-results small{color:var(--muted);font-size:9px;display:block}.search-results>button:hover{color:var(--purple)}.search-results>.text-button{margin-top:10px}.toast{z-index:80;background:var(--text);color:var(--panel);border-radius:9px;align-items:center;gap:11px;max-width:90vw;padding:14px 23px;font-size:13px;animation:.25s ease-out toast-in;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 6px 30px #0003}.toast svg{color:#c4a6ff}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,15px)}to{opacity:1;transform:translate(-50%)}}.reset-dialog{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:12px;max-width:480px;padding:28px;box-shadow:0 15px 80px #0003}.reset-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#15102380}.reset-dialog h2{font-size:21px}.reset-dialog p{color:var(--muted);font-size:13px}.reset-dialog .button-row{justify-content:flex-end;margin-top:24px}.drawer-backdrop{display:none}[data-theme=dark] .cost-reminder{color:#d4bd97;background:#30291f;border-color:#67543555}[data-theme=dark] .cost-reminder h3,[data-theme=dark] .cost-reminder p{color:#d4bd97}[data-theme=dark] .cost-reminder .code-block{background:#261f16;border-color:#51422e}[data-theme=dark] .cost-reminder pre{color:#dfc79d}[data-theme=dark] .callout.warning{background:#30291f;border-color:#7d654d}[data-theme=dark] .callout.warning>div:first-child,[data-theme=dark] .callout.warning .callout-content{color:#e4c592}[data-theme=dark] .callout.trap{background:#302226;border-color:#80535a}[data-theme=dark] .callout.trap>div:first-child,[data-theme=dark] .callout.trap .callout-content{color:#e5b1b4}[data-theme=dark] .answer.correct{color:#a2d7b9;background:#1d352b;border-color:#547961}[data-theme=dark] .answer.incorrect{color:#edb4b8;background:#392329;border-color:#865057}[data-theme=dark] .node-1 b{color:#e297b5;background:#302333;border-color:#553145}[data-theme=dark] .node-2 b{color:#d6ab76;background:#31271f;border-color:#4d3b29}[data-theme=dark] .node-3 b{color:#9bb8e5;background:#222b3b;border-color:#374960}[data-theme=dark] .status-mastered{color:#95d6b7;background:#223c32}[data-theme=dark] .status-practiced{color:#b2c9f0;background:#27334c}[data-theme=dark] .button{color:#161020}[data-theme=dark] .button.secondary{color:var(--text)}[data-theme=dark] .button.danger{color:#fff}@media (min-width:1600px){.content-layout{padding:42px 50px}.content-layout.with-rail{grid-template-columns:minmax(0,1fr) 240px;gap:45px}.dashboard-heading h1{font-size:34px}.mission-content{padding:34px}.mission-content h2{font-size:29px}.mission-content p{max-width:450px;font-size:13px}.floating-code{width:225px;right:45px}.floating-code code{font-size:11px}.mission-card{min-height:275px}.stat-card{padding:20px 23px}.stat-card>.between{font-size:12px}.path-row{padding:20px}.path-text strong{font-size:14px}.path-text small{font-size:11px}.path-meta{width:145px}.path-meta>span{font-size:10px}.path-meta .bar{width:115px}}@media (max-width:1250px){.content-layout{padding:27px 25px}.content-layout.with-rail{grid-template-columns:minmax(0,1fr) 180px;gap:22px}.progress-rail{padding-left:18px}.sidebar{width:220px}.workspace{margin-left:220px}.brand{padding:0 17px;font-size:17px}.topbar{padding:0 25px}.dashboard-heading h1{font-size:25px}.edition-badge{display:none}.mission-content{max-width:75%;padding:23px}.mission-content h2{font-size:22px}.floating-code{opacity:.65;width:170px;right:-45px}.mission-art{width:25%}.mission-content p{max-width:310px}.stats-grid{gap:10px}.stat-card{padding:14px}.path-meta{width:95px}.path-row{gap:11px;padding:16px}.path-text small{font-size:9px}.lab-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mental-layout{gap:40px;padding:25px}}@media (max-width:1080px){.content-layout.with-rail{display:block}.progress-rail{display:none}.content-layout{max-width:940px;padding:32px}.dashboard-heading h1{font-size:29px}.edition-badge{display:flex}.mission-art{width:35%}.floating-code{opacity:1;right:25px}.mission-content{max-width:68%}.topbar{padding:0 25px}.breadcrumb>span,.breadcrumb>svg{display:none}.search-box{width:215px}.stats-grid{gap:15px}.stat-card{padding:19px}.lesson-page{max-width:none}.review-banner .button{font-size:11px}}@media (max-width:800px){.sidebar{width:252px;transition:transform .2s;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.workspace{margin-left:0}.mobile-menu{display:grid}.drawer-backdrop{z-index:35;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#16132670;border:0;display:block;position:fixed;inset:0}.topbar{height:64px;padding:0 20px}.content-layout{padding:26px 24px}.breadcrumb{gap:8px}.top-actions{gap:7px}.brand{padding-left:22px;font-size:20px}.chapter-link{font-size:12px}.nav-link{font-size:13px}.sidebar-footer{font-size:10px}.search-results{top:58px;right:22px}.main-footer{padding-bottom:20px}}@media (max-width:550px){body{font-size:13px}.content-layout{padding:24px 18px}.topbar{gap:5px;padding:0 12px}.breadcrumb strong{max-width:120px;font-size:10px}.search-box{gap:5px;width:135px}.search-box input{width:108px;font-size:10px}.search-box kbd,.avatar{display:none}.top-actions{gap:2px}.top-actions .icon-button{width:30px}.page-eyebrow{letter-spacing:1px;margin-bottom:17px;font-size:7px}.version-chip{letter-spacing:0;padding:2px 4px;font-size:6px}.dashboard-heading h1{max-width:280px;font-size:26px}.dashboard-heading p{font-size:11px}.edition-badge{display:none}.stats-grid{gap:8px;margin-bottom:18px}.stat-card{border-radius:7px;padding:12px 10px}.stat-card>.between{align-items:flex-start;min-height:24px;font-size:8px;line-height:1.5}.stat-card>.between svg{display:none}.stat-card>strong{letter-spacing:-.5px;font-size:24px}.stat-card>small{font-size:7px;line-height:1.6;display:block}.stat-card>strong>small{margin-left:3px;font-size:8px}.stat-card .bar{height:3px;margin:8px 0}.mission-card{min-height:240px}.mission-content{z-index:2;max-width:100%;padding:23px}.mission-content h2{max-width:270px;font-size:24px}.mission-content p{max-width:280px;font-size:11px}.mission-art{display:none}.mission-bottom{gap:16px}.mission-bottom>span{font-size:8px}.section-heading h2{font-size:16px}.section-heading p{font-size:10px}.section-heading .subtle-pill{font-size:8px}.path-row{gap:11px;padding:14px 12px}.path-icon{width:34px;height:34px}.path-icon svg{width:17px}.path-text strong{font-size:11px}.path-text small{font-size:8px}.path-kicker{font-size:6px}.path-meta{gap:6px;width:58px}.path-meta>span{white-space:normal;font-size:7px}.path-meta>span>span{padding:0 2px}.path-meta .bar{width:48px}.path-row>svg{width:12px}.project-card{padding:18px 13px}.project-card p{font-size:10px}.arch-node b{width:32px;height:32px;font-size:20px}.arch-node strong{font-size:8px}.arch-node small{font-size:6px}.arch-arrow{width:12px;margin-left:1px;margin-right:1px}.arch-support{gap:20px}.arch-support>span{font-size:8px}.arch-support small{font-size:6px}.project-footer{gap:10px;font-size:7px}.project-footer .text-button{font-size:8px}.review-banner{flex-wrap:wrap;gap:10px;padding:17px 14px}.review-banner>svg{width:22px}.review-banner>div{min-width:220px}.review-banner h3{font-size:11px}.review-banner .button{margin-left:32px}.review-banner p{font-size:9px}.page-heading h1{font-size:29px}.page-heading p{font-size:13px}.page-heading .eyebrow{font-size:8px}.problem-grid{grid-template-columns:1fr;gap:18px}.lesson-concept p{font-size:13px;line-height:1.9}.learning-goals{padding:18px}.learning-goals>div{font-size:11px}.lesson-page .section-heading{align-items:flex-start}.code-top{gap:5px;padding:9px 11px}.code-top>span{font-size:8px}.code-top button{padding:4px 5px;font-size:8px}pre{padding:16px 13px;font-size:10px;line-height:1.85}.callout{padding:15px}.callout-content p,.callout-content li{font-size:11px}.question-card{padding:18px 14px}.question-card legend{font-size:13px}.answer{padding:12px 10px;font-size:11px}.quiz-session>.between>.small{display:none}.quiz-session .button{padding:9px 12px;font-size:11px}.lesson-finish{flex-direction:column;align-items:flex-start;gap:13px}.next-lesson{padding:17px}.next-lesson strong{font-size:14px}.lab-grid{grid-template-columns:1fr}.lab-card{padding:21px}.lab-card h2{margin-top:14px}.lab-card p{font-size:12px}.objective-list>button{flex-wrap:wrap;gap:9px;padding:13px 10px}.objective-list strong{min-width:170px;font-size:11px}.objective-list .status{margin-left:auto;font-size:8px}.objective-list>button>svg{display:none}.domain-results{grid-template-columns:1fr}.quiz-result{gap:11px;padding:18px 15px}.quiz-result h2{font-size:23px}.quiz-result h2>span,.quiz-result p{font-size:11px}.chapter-practice-grid{grid-template-columns:1fr}.exam-intro{gap:12px;padding:20px}.exam-intro>svg{width:25px}.exam-intro h2{font-size:17px}.exam-intro p{font-size:12px}.command-card dl{grid-template-columns:1fr;gap:13px}.mental-layout{grid-template-columns:1fr;gap:27px;padding:24px 20px}.mental-graph{width:85%;max-width:250px}.mental-explanation{border-top:1px solid var(--line);padding-top:25px}.state-branch{width:117px;font-size:10px;left:67%}.search-results{width:auto;left:12px;right:12px}.reset-dialog{max-width:calc(100vw - 30px);padding:23px}.reset-dialog .button-row{justify-content:flex-start}.toast{width:max-content;padding:13px 17px;font-size:11px}.button{min-height:42px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.mobile-cost-note,.mobile-export{display:none}@media (max-width:1080px){.mobile-cost-note{background:var(--tint);border:1px solid var(--line);border-radius:6px;width:100%;margin-bottom:4px;padding:14px;font-size:11px;display:block}.mobile-export{width:100%;margin-bottom:12px;display:inline-flex}}
