:root{color-scheme:dark;--bg:#090b10;--panel:#10141e;--line:#252c3b;--muted:#a2abbd;--purple:#8992ff;--green:#abe3b7}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#f1f3fa;font:15px/1.65 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid #c6cbff;outline-offset:5px}header{height:100px;border-bottom:1px solid var(--line);padding:0 4%;display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{display:flex;align-items:center;gap:15px;font-size:12px;font-weight:700;letter-spacing:1px}.brand img{width:52px;border-radius:7px}.brand small{display:block;font-size:10px;color:var(--muted);margin-top:4px;letter-spacing:1.5px}nav{display:flex;gap:28px;font-size:13px}nav a:first-child{color:var(--purple)}.layout{display:grid;grid-template-columns:240px minmax(0,1fr);max-width:1600px;margin:auto}aside{padding:40px 24px;border-right:1px solid var(--line)}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--purple);margin:0 0 20px}.side-link{display:block;font-size:12px;padding:12px 14px;border-radius:6px;margin:4px 0}.side-link.active{background:#1b203d;color:#bdc3ff}.side-link:hover:not(span){background:#171b29}.muted{color:#8e98aa}.side-rule{height:1px;background:var(--line);margin:25px 0}.aside-note{margin-top:70px;font-size:9px;letter-spacing:1px;color:var(--green)}.aside-note p{font-size:13px;letter-spacing:0;color:var(--muted);line-height:1.9}.dot{display:inline-block;width:6px;height:6px;background:var(--green);border-radius:50%;margin-right:5px}main{padding:46px 5% 70px;min-width:0}.hero{display:grid;grid-template-columns:1.5fr 1fr;gap:32px;align-items:center;margin-bottom:38px}h1{font-size:clamp(36px,4.2vw,62px);line-height:1.07;letter-spacing:-2.5px;margin:14px 0 20px;font-weight:600}h1 em{font-style:normal;color:var(--purple)}.lead{color:var(--muted);max-width:530px;font-size:15px;line-height:1.8}.pill{display:inline-flex;border:1px solid #37405b;border-radius:20px;padding:3px 10px;font-size:10px;color:#bdc5ff;letter-spacing:.5px}.btn{display:inline-flex;justify-content:center;align-items:center;gap:25px;background:#626de8;color:white;border:1px solid #7b84ed;padding:12px 20px;border-radius:6px;font-weight:600;font-size:13px}.btn:hover{background:#7480f1}.ghost{background:transparent;border:1px solid #3b4358;color:#ccd2e4}.ghost:hover{background:#232a3c}.hero .btn{margin-top:12px}.visual{background:linear-gradient(145deg,#1b2241,#0c1019);border:1px solid #343c5b;border-radius:12px;padding:23px;position:relative;overflow:hidden}.visual-head{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.5px;color:#bac2dd}.visual svg{width:100%;height:150px;margin-top:12px}.visual-bottom{font-size:11px;color:var(--muted);border-top:1px solid #303850;padding-top:14px;display:flex;justify-content:space-between}.visual-bottom b{color:var(--green)}.progress-panel{display:flex;gap:25px;align-items:center;padding:23px 26px;background:var(--panel);border:1px solid var(--line);border-radius:9px;margin-bottom:40px}.progress-body{flex:1}.progress-top{display:flex;justify-content:space-between;gap:15px;font-size:13px}.track{height:5px;background:#2c3345;border-radius:9px;margin:12px 0;overflow:hidden}.track i{display:block;height:100%;background:#8992ff}.tiny{font-size:11px;color:var(--muted);margin:0}.ring{width:66px;height:66px;flex-shrink:0;border:4px solid #6974de;border-radius:50%;display:grid;place-items:center;font-size:16px}.section-top{display:flex;align-items:center;justify-content:space-between;margin:35px 0 20px;gap:20px}h2{font-size:24px;letter-spacing:-.7px;margin:0 0 8px}h3{font-size:19px;margin:10px 0}.section-top p{color:var(--muted);font-size:13px;margin:0}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.card{display:flex;flex-direction:column;min-height:225px;border:1px solid var(--line);border-radius:9px;padding:23px;background:linear-gradient(135deg,#131823,#0e121a);transition:border-color .15s,transform .15s}.card:hover{border-color:#727ee2;transform:translateY(-3px)}.card-top{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--muted)}.card-number{font:24px monospace;color:#8e98ef}.card p{font-size:13px;color:var(--muted);margin:0 0 22px;flex:1}.card-bottom{border-top:1px solid var(--line);padding-top:13px;display:flex;justify-content:space-between;font-size:11px;color:#c2c9df}.done{color:var(--green)}.roadmap{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.roadmap article{border:1px dashed #353d50;border-radius:8px;padding:23px}.roadmap h3{font-size:15px}.roadmap p{font-size:12px;color:var(--muted)}footer{border-top:1px solid var(--line);padding:26px 5%;display:flex;gap:30px;justify-content:space-between;color:#8e98ac;font-size:11px}footer p{margin:0;max-width:680px}.crumb{font-size:12px;color:var(--muted);margin-bottom:30px}.lesson-head{max-width:780px}.lesson-head h1{font-size:46px}.lesson-grid{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:34px;margin-top:30px}.lesson-body section{padding:26px 0;border-top:1px solid var(--line)}.lesson-body p{color:#bac2d3;font-size:15px}.lesson-body h2{font-size:23px}.callout{background:#181e34;border-left:3px solid #8790f1;padding:18px 22px;border-radius:0 6px 6px 0;margin:22px 0;color:#d7dcf0}.lesson-nav{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:20px;height:fit-content;position:sticky;top:24px}.lesson-nav a{display:block;padding:10px 0;font-size:12px;border-bottom:1px solid var(--line);color:var(--muted)}.lesson-nav a.current{color:var(--purple)}.lesson-nav p{font-size:10px}.lab,.quiz{background:var(--panel);border:1px solid #353e59;border-radius:9px;padding:24px;margin:25px 0}.lab label{display:block;font-size:13px;color:#cbd2e5}input[type=range]{width:100%;accent-color:#8c95ff;margin:18px 0}.lab-output{font-size:18px;color:var(--green);margin-top:16px}.lab-note{font-size:12px!important}.book{width:100%;border-collapse:collapse;margin:20px 0;font:13px monospace}.book th,.book td{text-align:center;padding:10px;border-bottom:1px solid var(--line)}.book th{color:var(--muted);font:11px Arial}.buy{color:#a8e2ba}.sell{color:#f2a9b7}.quiz fieldset{border:0;padding:0;margin:23px 0}.quiz legend{font-size:14px;font-weight:600;margin-bottom:12px}.option{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #30394d;border-radius:5px;margin:8px 0;color:#c2cadb;font-size:13px;cursor:pointer}.option:has(input:checked){border-color:#8c96ff;background:#242c49}.feedback{font-size:13px;margin:14px 0}.success{color:var(--green)}.error{color:#f8bcc4}.actions{display:flex;flex-wrap:wrap;gap:12px;margin:25px 0}.skip{position:absolute;top:-100px}.skip:focus{top:5px;background:#626de8;padding:10px;z-index:10}#storage-warning{position:fixed;bottom:15px;left:15px;right:15px;background:#543d21;padding:16px;border-radius:6px;font-size:13px}button.reset{background:none;border:0;color:var(--muted);text-decoration:underline;font-size:11px;padding:10px} @media(max-width:1100px){.layout{grid-template-columns:195px 1fr}aside{padding:32px 13px}.cards{grid-template-columns:repeat(2,1fr)}.lesson-grid{grid-template-columns:1fr}.lesson-nav{position:static}.hero{gap:20px}h1{font-size:43px}.roadmap{grid-template-columns:1fr}.visual{padding:15px}}@media(max-width:760px){header{height:auto;min-height:85px;flex-wrap:wrap;padding:18px 5%;gap:16px}nav{font-size:12px;gap:20px}.brand{font-size:10px}.layout{display:block}aside{display:none}main{padding:30px 5%}.hero{grid-template-columns:1fr}.visual{display:none}h1,.lesson-head h1{font-size:42px}.cards{grid-template-columns:1fr}.card{min-height:190px}.progress-panel{padding:20px;gap:15px}.ring{width:52px;height:52px;font-size:13px}.progress-panel>.btn{display:none}.section-top{align-items:flex-start}.section-top .pill{white-space:nowrap}.lesson-head h1{letter-spacing:-1.5px}footer{display:block}footer p{margin-top:12px}.lab,.quiz{padding:19px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
/* Scope header navigation separately from the vertical lesson index. */
header nav{display:flex;gap:28px}.lesson-nav{display:block;width:100%;min-width:0;padding:23px;overflow-wrap:anywhere}.lesson-nav .eyebrow{margin:0 0 12px}.lesson-nav h2{font-size:18px;margin:0 0 6px;line-height:1.3}.lesson-nav .module-caption{color:var(--muted);letter-spacing:1px;font-size:10px;margin:0 0 18px}.lesson-nav a{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:8px;width:100%;padding:13px 0;line-height:1.55;font-size:12px}.lesson-nav a b{font-weight:400}.lesson-nav a span{color:#8f9bc3}.lesson-nav a.current{background:#1d2542;margin-inline:-10px;padding-inline:10px;width:calc(100% + 20px);border-radius:5px;border-color:transparent}.lesson-nav .back-curriculum{display:block;color:#c3caff;margin-top:12px}.lesson-nav .tiny{font-size:11px;line-height:1.7;margin:16px 0 0}.lesson-grid{grid-template-columns:minmax(0,1fr) 245px;gap:32px}.lesson-body{min-width:0}.lesson-head{max-width:none}.side-link small{display:block;margin:4px 0 0 26px;font-size:9px;letter-spacing:.7px;color:#929db8}.course-intro{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr);gap:45px;align-items:center;padding:5px 0 40px}.course-intro h1{font-size:clamp(48px,5vw,72px)}.intro-line{font-size:22px;line-height:1.5;letter-spacing:-.5px;margin:22px 0 12px}.course-overview{border:1px solid #3a4464;background:linear-gradient(145deg,#1b2340,#10141e);border-radius:11px;padding:28px}.overview-stat{display:flex;align-items:center;gap:22px;padding:0 0 24px}.overview-stat strong{font-size:65px;line-height:1;color:#bcc3ff;font-weight:400}.overview-stat span{font-size:10px;color:#a7b2d1;letter-spacing:1px;line-height:1.8}.course-overview>a{display:grid;grid-template-columns:25px 1fr auto;gap:8px;border-top:1px solid #35405b;padding:17px 0;align-items:center}.course-overview>a span{font-size:11px;color:#8d9abe}.course-overview>a b{font-size:13px;font-weight:400}.course-overview>a small{font-size:10px;color:#a2aecf}.course-overview>.tiny{margin-top:16px}.module-jumps{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 36px}.module-jumps a{border:1px solid #35405a;border-radius:5px;padding:9px 12px;font-size:11px;color:#c4cce3}.module-jumps span{color:#8793b3;margin-left:7px}.curriculum-module{border:1px solid #333c52;border-radius:10px;overflow:hidden;margin:0 0 32px;scroll-margin-top:25px}.module-heading{display:flex;gap:18px;align-items:flex-start;padding:26px;background:#141a29;border-bottom:1px solid #333c52}.module-index{font:25px monospace;color:#929cf4;padding-top:3px}.module-heading .eyebrow{margin:0 0 8px}.module-heading h2{margin:0 0 8px;font-size:25px}.module-heading p:not(.eyebrow){margin:0;font-size:13px;color:var(--muted);max-width:540px}.module-count{font-size:10px;color:#a5b1ca;white-space:nowrap;margin-left:auto;padding-top:4px}.lesson-row{display:grid;grid-template-columns:35px minmax(0,1fr) 95px 105px;gap:15px;align-items:center;padding:23px 26px;background:#0f131d}.lesson-row+.lesson-row{border-top:1px solid #283147}.lesson-row:hover{background:#181e30}.row-number{font:17px monospace;color:#8d99bb}.row-copy h3{font-size:17px;font-weight:500;letter-spacing:-.3px;margin:0 0 5px}.row-copy p{font-size:12px;color:#9faac1;line-height:1.6;margin:0}.level{font-size:10px;letter-spacing:.3px;border:1px solid;border-radius:4px;text-align:center;padding:4px 8px;width:fit-content}.beginner{color:#b3d9c2;border-color:#355446;background:#16251f}.intermediate{color:#b9c1fb;border-color:#434c7b;background:#20253d}.advanced{color:#dbbee8;border-color:#61476e;background:#2b2033}.row-status{font-size:10px;text-align:right;color:#bbc4dc}.row-status.done{color:var(--green)}.row-status>span{margin-left:8px}.learning-method{padding:25px 0}.learning-method>div{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:25px}.learning-method article{border-top:1px solid #39435b;padding-top:20px}.learning-method b{font-size:12px;color:#bdc6f6}.learning-method p{font-size:13px;color:var(--muted)}.concept-table{border:1px solid #3b4660;background:#111826;border-radius:8px;margin:26px 0;padding:24px}.concept-table figcaption{font-size:10px;color:#a7b2ef;letter-spacing:1px;margin-bottom:18px}.table-scroll{overflow-x:auto}.concept-table table{width:100%;border-collapse:collapse;font-size:13px}.concept-table th{text-align:left;color:#97a8cb;font-size:11px;font-weight:400}.concept-table th,.concept-table td{padding:12px;border-bottom:1px solid #303b52}.concept-table td{color:#d6def0}.concept-table>p{font-size:11px;margin:16px 0 0;color:#93a1be}.completion-box{padding:24px;border:1px solid #4a5681;border-radius:8px;background:#1b2340;margin-top:28px;display:flex;gap:25px;align-items:center;justify-content:space-between}.completion-box h2{font-size:20px}.completion-box .eyebrow{margin:0 0 10px}.completion-box p{font-size:12px;margin:0}.completion-box .btn{flex-shrink:0}.lesson-pagination{display:flex;justify-content:space-between;gap:24px;margin-top:30px}.lesson-pagination>a{font-size:13px;max-width:48%}.lesson-pagination>a:last-child{text-align:right}.lesson-pagination small{display:block;color:#929dba;font-size:9px;letter-spacing:1px;margin-bottom:7px}.lesson-sources{font-size:11px;color:#a7b2e7}.lesson-sources a{text-decoration:underline}.callout p{margin:8px 0 0}.worked-example{border-bottom:1px solid var(--line)}@media(max-width:1200px){.lesson-grid{grid-template-columns:minmax(0,1fr) 220px;gap:22px}.lesson-row{grid-template-columns:25px minmax(0,1fr) 85px;gap:12px}.row-status{grid-column:2 / 4;text-align:left;margin-top:-4px}.course-intro{gap:25px}.module-count{display:none}}@media(max-width:1000px){.lesson-grid{display:flex;flex-direction:column}.lesson-nav{position:static;order:-1}.lesson-nav>a{max-width:100%}.course-intro{grid-template-columns:1fr}.course-overview{max-width:650px}.completion-box{flex-wrap:wrap}}@media(max-width:760px){header nav{gap:18px}.course-intro h1{font-size:55px}.course-intro{padding-bottom:20px}.course-overview{padding:22px}.module-heading{padding:21px;gap:12px}.module-heading h2{font-size:22px}.lesson-row{padding:20px;grid-template-columns:24px minmax(0,1fr)}.level{grid-column:2}.row-status{grid-column:2;margin:0;text-align:left}.row-copy h3{font-size:16px}.row-copy p{font-size:12px}.module-jumps{gap:8px}.module-jumps a{font-size:10px}.learning-method>div{grid-template-columns:1fr}.concept-table{padding:16px}.concept-table th,.concept-table td{padding:10px 8px}.lesson-nav h2{font-size:17px}.lesson-nav .tiny{max-width:100%}.completion-box{padding:20px}.lesson-pagination{gap:15px}.progress-top{flex-wrap:wrap;gap:5px}}

.candle-demo{width:100%;height:665px;border:0;display:block;background:#101621;border-radius:8px}@media(max-width:520px){.candle-demo{height:650px}}

.framework-feature{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:23px 26px;border:1px solid #586898;border-radius:8px;background:linear-gradient(110deg,#222d4f,#111725);margin-bottom:35px}.framework-feature small{display:block;font-size:9px;letter-spacing:1.8px;color:#aab4ff}.framework-feature strong{display:block;font-size:22px;font-weight:500;margin:5px 0}.framework-feature b{font-size:12px;font-weight:400;color:#afbdd7}.framework-feature>span:last-child{font-size:11px;color:#c4cdf0;white-space:nowrap}@media(max-width:760px){.framework-feature{display:block;padding:20px}.framework-feature>span:last-child{display:block;margin-top:12px}}
