:root{--paper:#0d1116;--panel:#131a21;--line:#1f2a33;--line2:#2f3d49;--ink:#e6edf3;--ink2:#a5b4c0;--mut:#6b7d8c;--acc:#5ad1ff;--accSoft:#5ad1ff1a;--asm:#ff9d5c;--asmSoft:#ff9d5c1a;--deep:#070b0f;--deepTx:#dbe6ee;--ok:#3fb984;--warn:#e0a24a;--err:#ff6b6b;--onAccent:#06222e}*,:before,:after{box-sizing:border-box}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Archivo,Helvetica Neue,sans-serif}a{color:var(--acc)}a:hover{color:var(--asm)}input::placeholder,textarea::placeholder{color:var(--mut)}::selection{color:#fff;background:#5ad1ff4d}button,input,textarea,select{font:inherit}h1,h2,h3,p{margin:0}.mono{font-family:IBM Plex Mono,monospace}@media (width<=839.98px){button,input,.tap{min-height:44px}}.kicker{color:var(--acc);letter-spacing:.16em;text-transform:uppercase;margin-bottom:16px;font-family:IBM Plex Mono,monospace;font-size:11px}.h1{letter-spacing:-1.3px;text-wrap:pretty;font-size:38px;font-weight:800}.hero-h{letter-spacing:-1.6px;text-wrap:pretty;font-size:46px;font-weight:800;line-height:1.1}.lead{color:var(--ink2);text-wrap:pretty;font-size:15.5px;line-height:1.75}@media (width<=839.98px){.h1{font-size:27px}.hero-h{font-size:32px}.h1-lesson{font-size:26px}}.microlabel{letter-spacing:.14em;text-transform:uppercase;color:var(--mut);font-family:IBM Plex Mono,monospace;font-size:10.5px;font-weight:600}.rule-row{align-items:baseline;gap:14px;display:flex}.rule-row:after{content:"";background:var(--line2);flex:1;height:1px}.badge{letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;border:1px solid;border-radius:2px;padding:3px 8px;font-family:IBM Plex Mono,monospace;font-size:10.5px;font-weight:600}.btn{letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;border-radius:3px;padding:11px 18px;font-family:IBM Plex Mono,monospace;font-size:11px}.btn-fill{background:var(--acc);color:var(--onAccent)}.btn-ink{background:var(--ink);color:var(--paper);border:1px solid var(--ink)}.btn-ink:hover{background:var(--acc);border-color:var(--acc);color:var(--onAccent)}.btn-ghost{border:1px solid var(--line2);color:var(--ink2)}.btn-ghost:hover{border-color:var(--acc);color:var(--acc)}.btn-ghost-acc{border:1px solid var(--acc);color:var(--acc)}.seg{border:1px solid var(--line2);border-radius:3px;display:flex;overflow:hidden}.seg>button{background:var(--panel);color:var(--ink2);border:none;border-right:1px solid var(--line2);cursor:pointer;letter-spacing:.06em;padding:8px 14px;font-family:IBM Plex Mono,monospace;font-size:10.5px}.seg>button:last-child{border-right:none}.seg>button.on{background:var(--ink);color:var(--paper)}.input{background:var(--paper);border:1px solid var(--line2);color:var(--ink);border-radius:3px;padding:10px 13px;font-family:IBM Plex Mono,monospace;font-size:12.5px}.card{border:1px solid var(--line);background:var(--panel);border-radius:3px}.callout{border-left:2px solid var(--acc);padding:2px 0 2px 18px}.callout-label{letter-spacing:.14em;text-transform:uppercase;margin-bottom:9px;font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:600}.linkish{color:var(--acc);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.page,.page-lesson,.page-auth{width:100%;max-width:1220px;margin:0 auto;padding:52px 40px 90px}.page-lesson{padding:36px 40px 90px}.page-auth{justify-content:center;padding:60px 40px 90px;display:flex}@media (width<=839.98px){.page{padding:32px 20px 72px}.page-lesson{padding:24px 20px 72px}.page-auth{padding:36px 20px 72px}}.hdr{z-index:20;background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0}.hdr-in{flex-wrap:nowrap;align-items:center;gap:14px;max-width:1220px;min-height:64px;margin:0 auto;padding:0 40px;display:flex}.hdr-logo{cursor:pointer;color:var(--ink);background:0 0;border:none;flex-shrink:0;align-items:center;gap:11px;padding:0;display:flex}.hdr-nav{flex:none;align-items:stretch;min-height:64px;margin:0 0 0 4px;display:flex;overflow:hidden}.hdr-nav>button{color:var(--mut);cursor:pointer;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;flex:none;padding:0 6px;font-family:IBM Plex Mono,monospace;font-size:10.5px}.hdr-nav>button:hover{color:var(--ink)}.hdr-nav>button.on{border-bottom-color:var(--acc);color:var(--ink)}.hdr-spacer{flex:1;min-width:0}.hdr-btn{border:1px solid var(--line2);color:var(--ink2);cursor:pointer;letter-spacing:.06em;white-space:nowrap;background:0 0;border-radius:3px;flex-shrink:0;align-items:center;gap:8px;padding:6px 12px;font-family:IBM Plex Mono,monospace;font-size:11px;display:flex}.hdr-btn:hover{border-color:var(--acc);color:var(--acc)}.hdr-search{color:var(--mut);padding:6px 10px}.streak-chip{border:1px solid var(--line2);color:var(--ink2);white-space:nowrap;border-radius:3px;flex-shrink:0;align-items:center;gap:8px;padding:5px 11px;font-family:IBM Plex Mono,monospace;font-size:11px;display:none}@media (width>=1060px){.streak-chip{display:flex}}@media (width<=1023.98px){.hdr-in{gap:10px}}.nav-search{display:none}.ftr-in{padding:18px 40px}@media (width<=839.98px){.nav-search{display:block}.hdr-account-label{display:none}.ftr-in{padding:16px 20px}.hdr-in{flex-wrap:wrap;gap:8px;min-height:56px;padding:0 20px}.hdr-nav{border-top:1px solid var(--line);flex-wrap:wrap;flex-basis:100%;order:9;min-height:44px;margin:0;padding:4px 0;overflow:visible}.hdr-nav>button{padding:0 10px}.hdr-spacer,.hdr-search{display:none}}.grid-hero{grid-template-columns:minmax(0,1fr) 300px;align-items:end;gap:56px;display:grid}.hero-aside{border-left:1px solid var(--line);padding:0 0 0 24px}.rails{grid-template-columns:repeat(auto-fit,minmax(430px,1fr));gap:48px;display:grid}.grid-lesson{grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);align-items:start;gap:48px;display:grid}.grid-2col{grid-template-columns:minmax(0,1fr) minmax(300px,360px);align-items:start;gap:48px;display:grid}.books-grid{grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:0 44px;display:grid}.cheat-grid{grid-template-columns:repeat(auto-fit,minmax(460px,1fr));align-items:start;gap:48px;display:grid}.cheat-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,168px) minmax(0,1fr);align-items:baseline;gap:16px;padding:10px 0;display:grid}.tracks-2{grid-template-columns:1fr 1fr;gap:36px;display:grid}.sticky-col{position:sticky;top:96px}@media (width<=1023.98px){.grid-lesson,.grid-2col{grid-template-columns:1fr;gap:30px}.sticky-col{position:static}}@media (width<=839.98px){.grid-hero{grid-template-columns:1fr;align-items:start;gap:26px}.hero-aside{border-left:none;border-top:1px solid var(--line);padding:20px 0 0}.rails{grid-template-columns:1fr;gap:34px}.books-grid,.cheat-grid{grid-template-columns:1fr;gap:30px}.cheat-row{grid-template-columns:1fr;gap:4px}.tracks-2{grid-template-columns:1fr}.inst-col{margin-top:22px}}.step-rail{align-items:stretch;gap:10px;margin-bottom:24px;display:flex}.step-rail>button{border:none;border-top:2px solid var(--line2);color:var(--mut);cursor:pointer;letter-spacing:.06em;text-align:left;background:0 0;flex:1;padding:9px 2px 0;font-family:IBM Plex Mono,monospace;font-size:11px}.step-rail>button.on{border-top-color:var(--acc);color:var(--ink)}@media (width<=839.98px){.step-rail{overflow-x:auto}.step-rail>button{flex:none;min-width:130px}}.code-listing{background:var(--deep);border-radius:3px;overflow:hidden}.code-cap{color:#7f95a6;border-bottom:1px solid #16212b;padding:9px 16px;font-family:IBM Plex Mono,monospace;font-size:11px}.code-cap-mini{letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid #16212b;padding:7px 14px;font-family:IBM Plex Mono,monospace;font-size:10px}.code-body{padding:13px 0;font-family:IBM Plex Mono,monospace;font-size:13px;line-height:1.85;overflow-x:auto}.code-body-mini{padding:10px 0;font-family:IBM Plex Mono,monospace;font-size:12.5px;line-height:1.8;overflow-x:auto}.code-line{display:flex}.code-ln{color:#41525f;text-align:right;-webkit-user-select:none;user-select:none;flex-shrink:0;width:36px;padding-right:14px}.code-ln-mini{color:#41525f;text-align:right;-webkit-user-select:none;user-select:none;flex-shrink:0;width:30px;padding-right:11px}.code-tx{color:var(--deepTx);white-space:pre}.lesson-row:hover:not(:disabled){background:var(--panel)}.asm-c-line:hover{background:#5ad1ff17!important}.search-scrim{z-index:60;background:#05080bb8;justify-content:center;align-items:flex-start;padding:10vh 24px;display:flex;position:fixed;inset:0}.search-row:hover{background:var(--paper)!important}@media (width<=799.98px){.search-scrim{padding:16px}}.chip{background:var(--panel);border:1px solid var(--line);border-radius:2px;padding:1px 5px;font-family:IBM Plex Mono,monospace;font-size:.88em}
