.course-rail{border:1px solid var(--line-soft);border-radius:var(--r-lg);background:var(--surface-glass);-webkit-backdrop-filter:var(--glass-blur-soft);backdrop-filter:var(--glass-blur-soft);flex-direction:column;gap:10px;margin:0 0 18px;padding:14px 18px 16px;display:flex}.cx-top{align-items:center;gap:10px;display:flex}.cx-back{color:var(--text-muted);font:600 var(--fs-sm)/1 var(--font);cursor:pointer;background:0 0;border:none;align-items:center;gap:3px;padding:0;display:inline-flex}.cx-back svg{width:15px;height:15px}.cx-back:hover{color:var(--text-primary)}.cx-position{font:700 var(--fs-sm)/1 var(--font);letter-spacing:.06em;text-transform:uppercase;color:var(--presence)}.cx-done{font:700 var(--fs-xs)/1 var(--font);color:var(--insight);align-items:center;gap:4px;margin-left:auto;display:inline-flex}.cx-done svg{width:12px;height:12px}.cx-title-row{flex-direction:column;gap:2px;display:flex}.cx-course-title{font:600 var(--fs-xs)/1 var(--font);color:var(--text-muted)}.cx-lesson-title{font:700 var(--fs-xl)/1.25 var(--font);letter-spacing:-.01em;color:var(--text-primary);margin:0}.cx-objectives{font:450 var(--fs-sm)/1.45 var(--font);color:var(--text-secondary);flex-direction:column;gap:4px;margin:2px 0 0;padding-left:18px;display:flex}.cx-objectives li{list-style:outside}.cx-checkpoint-status{font:600 var(--fs-sm)/1 var(--font);align-items:center;gap:10px;display:flex}.cx-untaken{color:var(--text-muted)}.cx-pass{color:var(--insight)}.cx-fail{color:var(--warning)}.cx-link{color:var(--presence);font:600 var(--fs-sm)/1 var(--font);cursor:pointer;background:0 0;border:none;padding:0}.cx-link:hover{text-decoration:underline}.cx-check{border:1px solid var(--line-soft);border-radius:var(--r-md);background:var(--surface-elevated-2,var(--surface-glass));flex-direction:column;gap:8px;padding:12px 14px;display:flex}.cx-check-progress{font:700 var(--fs-2xs)/1 var(--font);letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint)}.cx-check-q{font:600 var(--fs-md)/1.4 var(--font);color:var(--text-primary)}.cx-check-a{font:450 var(--fs-md)/1.5 var(--font);color:var(--text-secondary);border-top:1px dashed var(--line-soft);padding-top:2px}.cx-check-actions{gap:8px;margin-top:2px;display:flex}.cx-check-pending{font:600 var(--fs-sm)/1 var(--font);color:var(--text-muted);align-items:center;gap:9px;display:flex}.cx-check-spinner{border:2px solid color-mix(in oklab, var(--presence) 30%, transparent);border-top-color:var(--presence);border-radius:50%;flex:none;width:13px;height:13px;animation:.7s linear infinite cx-check-spin}@keyframes cx-check-spin{to{transform:rotate(360deg)}}.cx-check-failed{font:600 var(--fs-sm)/1.4 var(--font);flex-wrap:wrap;align-items:baseline;gap:4px 10px;display:flex}.cx-check-failed-msg{color:var(--warning)}@media (prefers-reduced-motion:reduce){.cx-check-spinner{animation-duration:1.6s}}.cx-btn{border:1px solid var(--line-mid);border-radius:var(--r-full);background:var(--surface-elevated);color:var(--text-primary);font:600 var(--fs-sm)/1 var(--font);cursor:pointer;transition:background var(--m-quick), border-color var(--m-quick), opacity var(--m-quick);justify-content:center;align-items:center;gap:5px;padding:8px 14px;display:inline-flex}.cx-btn svg{width:13px;height:13px}.cx-btn:hover{background:var(--surface-glass);border-color:var(--line-strong)}.cx-btn:disabled{opacity:.45;cursor:default}.cx-btn-primary{background:var(--presence);border-color:var(--presence);color:#fff}.cx-btn-primary:hover{background:color-mix(in oklab, var(--presence) 88%, #000);border-color:color-mix(in oklab, var(--presence) 88%, #000)}.cx-btn-got{border-color:color-mix(in oklab, var(--insight) 55%, transparent);color:var(--insight)}.cx-btn-miss{border-color:color-mix(in oklab, var(--danger) 55%, transparent);color:var(--danger)}.cx-btn-reveal{align-self:flex-start}.cx-deck-link{font:600 var(--fs-sm)/1 var(--font);color:var(--text-muted);align-self:flex-start;align-items:center;gap:6px;text-decoration:none;display:inline-flex}.cx-deck-link svg{width:13px;height:13px}.cx-deck-link:hover{color:var(--presence)}.cx-secondary-links{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.cx-zoom-link{font:600 var(--fs-sm)/1 var(--font);color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-self:flex-start;align-items:center;gap:6px;padding:0;display:inline-flex}.cx-zoom-link svg{width:13px;height:13px}.cx-zoom-link:hover{color:var(--presence)}.cx-nav{gap:8px;margin-top:2px;display:flex}.cx-nav .cx-btn{flex:1}
