
  .cxrail{display:none}
  @media(min-width:820px){
    body{padding-left:210px}
    .cxrail{display:block;position:fixed;left:0;top:0;width:210px;height:100vh;overflow-y:auto;background:var(--paper-3);border-right:1px solid var(--rule);z-index:58;overscroll-behavior:contain;padding-bottom:20px}
    .cxrail .cx-h{position:sticky;top:0;z-index:2;background:var(--ink);color:var(--paper);padding:15px 18px;font-size:13px;;font-family:var(--sans);letter-spacing:0;text-transform:none;font-weight:500}
    .cxrail .cx-h a{color:var(--paper);text-decoration:none}
    .cxrail details{border:0}
    .cxrail summary{list-style:none;cursor:pointer;outline:none}
    .cxrail summary::-webkit-details-marker{display:none}
    .cxrail .cx-ph-d>summary{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--ink-3);padding:15px 18px 6px;font-family:var(--sans);letter-spacing:0;text-transform:none;font-weight:500}
    .cxrail .cx-ph-d>summary .cv{margin-left:auto;transition:transform .15s;font-size:10px;color:var(--ink-3)}
    .cxrail .cx-ph-d[open]>summary .cv{transform:rotate(90deg)}
    .cxrail a.cx-c,.cxrail summary.cx-par{display:flex;gap:9px;align-items:baseline;padding:5px 18px;font-family:var(--sans);font-size:13px;color:var(--ink-2);text-decoration:none;line-height:1.3}
    .cxrail .n{color:var(--ink-3);font-size:13.5px;min-width:22px;text-align:right;font-family:var(--sans);letter-spacing:0}
    .cxrail summary.cx-par .cx-cv{margin-left:auto;transition:transform .15s;color:var(--ink-3);font-size:11px}
    .cxrail details.cx-cls[open]>summary .cx-cv{transform:rotate(90deg)}
    .cxrail a.cx-c:hover,.cxrail summary.cx-par:hover{background:var(--paper-2);color:var(--ink);box-shadow:inset 3px 0 0 var(--pen)}
    .cxrail .cx-sub a.cx-s{padding-left:40px;font-size:12.5px;color:var(--ink-3)}
    .cxrail .cx-sub a.cx-s .n{min-width:26px}
    .cxrail [aria-current="page"]{background:var(--ink);color:var(--paper);font-weight:600;box-shadow:none}
    .cxrail [aria-current="page"] .n{color:var(--paper)}
    .cxrail .cx-foot{padding:16px 18px 8px}
    .cxrail .cx-foot a{font-size:13px;color:var(--ink-3);text-decoration:none;font-family:var(--sans);letter-spacing:0;text-transform:none;font-weight:500}
    /* sign-in teaser: the whole course is free to read — no blur, just a save-progress nudge */
    .cx-teaser .cx-unlock{display:block;margin:12px 18px;padding:9px 13px;background:var(--ink);color:var(--paper);font-size:13px;text-decoration:none;text-align:center;font-family:var(--sans);letter-spacing:0;text-transform:none;font-weight:500}
    .cx-teaser .cx-unlock:hover{background:var(--pen)}
  }
