.ct-learning-progress-card { --learn-bg:var(--ct-white,#fff); --learn-raised:#fcfbfe; --learn-soft:#f6f3f9; --learn-line:#e5e1ef; --learn-control-line:#9b89ad; --learn-ink:var(--ct-ink,#30273f); --learn-muted:#6e6b81; --learn-accent:#7952b7; --learn-selected:#f4eefe; --learn-success-bg:#f0faf5; --learn-success-line:#baddc9; --learn-success:#176a42; --learn-warning:#986d24; margin: 0 0 1.5rem; padding: 1.15rem 1.25rem; border: 1px solid var(--learn-line, var(--ct-border, #e5e1ef)); border-radius: 18px; background: var(--learn-raised, var(--ct-white, #fff)); color: var(--learn-ink, var(--ct-ink, #30273f)); box-shadow: 0 12px 30px #33204d12; }
.ct-learning-progress-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.ct-learning-progress-heading h2 { margin:.25rem 0 0; padding:0; border:0; color:var(--learn-ink); font-size:clamp(1.1rem,2vw,1.3rem); font-weight:800; line-height:1.6; }
.ct-learning-progress-heading .ct-quiz-eyebrow { color:var(--learn-accent); font-size:10px; }
.ct-learning-progress-heading > strong { padding:8px 12px; border:1px solid var(--learn-line); border-radius:12px; background:var(--learn-selected); color:var(--learn-accent, #7952b7); font-size:1.4rem; font-variant-numeric:tabular-nums; }
.ct-learning-progress-track { height:8px; margin:1rem 0 .65rem; overflow:hidden; border-radius:999px; background:var(--learn-soft, #f6f3f9); }
.ct-learning-progress-track span { display:block; height:100%; width:0; border-radius:inherit; background:linear-gradient(90deg,var(--learn-accent),color-mix(in srgb,var(--learn-accent) 68%,var(--learn-ink))); transition:width .25s ease; }
.ct-learning-progress-summary { margin:0; color:var(--learn-muted,#6e6b81); font-size:12px; line-height:1.85; }
.ct-learning-progress-categories { display:flex; flex-wrap:wrap; gap:.45rem; margin-top:.85rem; }
.ct-learning-progress-category { display:inline-flex; align-items:center; gap:.35rem; padding:.35rem .55rem; border:1px solid var(--learn-line,#e5e1ef); border-radius:999px; color:var(--learn-muted,#6e6b81); font-size:.78rem; }
.ct-learning-progress-category b { color:var(--learn-ink,#30273f); font-variant-numeric:tabular-nums; }
.ct-learning-progress-footer { display:flex; align-items:center; justify-content:space-between; gap:.75rem; margin-top:.9rem; min-height:2rem; color:var(--learn-muted,#6e6b81); font-size:.8rem; }
.ct-learning-progress-footer a { color:var(--learn-accent,#7952b7); font-weight:700; }
.ct-learning-topic-footer { display:flex; justify-content:flex-start; margin-top:1.1rem; }
.ct-learning-topic-footer, .ct-learning-topic-indicator { --learn-line:#e5e1ef; --learn-control-line:#9b89ad; --learn-ink:#30273f; --learn-muted:#6e6b81; --learn-accent:#7952b7; --learn-selected:#f4eefe; --learn-success-bg:#f0faf5; --learn-success-line:#baddc9; --learn-success:#176a42; }
.ct-learning-topic-control { display:inline-flex; align-items:center; gap:.45rem; min-height:2.4rem; padding:.5rem .75rem; border:1px solid var(--learn-control-line,#9b89ad); border-radius:999px; background:transparent; color:var(--learn-accent,#7952b7); cursor:pointer; font:inherit; font-size:.86rem; text-align:start; }
.ct-learning-topic-control:hover { background:var(--learn-selected,#f4eefe); }
.ct-learning-topic-control:focus-visible, .ct-learning-progress-footer a:focus-visible { outline:3px solid var(--learn-warning,#986d24); outline-offset:3px; }
.ct-learning-topic-control.is-complete { border-color:var(--learn-success-line,#baddc9); background:var(--learn-success-bg,#f0faf5); color:var(--learn-success,#176a42); }
.ct-learning-topic-control:disabled { cursor:wait; opacity:.65; }
.ct-learning-topic-check { font-size:1.15rem; line-height:1; }
.ct-topic-number, .ct-topic-marker { position:relative; }
.ct-learning-topic-indicator { display:inline-grid; place-items:center; width:1.35rem; height:1.35rem; border-radius:50%; background:var(--learn-success-bg,#f0faf5); color:var(--learn-success,#176a42); font-size:.8rem; position:absolute; inset-inline-end:-.35rem; top:-.35rem; z-index:1; }
.ct-topic-collapsible .ct-topic-heading-badge .ct-topic-marker { position:relative !important; display:flex; flex:0 0 42px; width:42px; min-width:42px; height:48px; white-space:nowrap; }
.ct-topic-collapsible .ct-topic-heading-badge .ct-topic-marker .ct-learning-topic-indicator { position:absolute !important; inset-inline-end:-3px; bottom:-3px; top:auto; width:16px; min-width:16px; height:16px; flex:0 0 16px; padding:0; }
.ct-learning-topic-indicator[hidden] { display:none !important; }
[dir="rtl"] .ct-learning-progress-footer { flex-direction:row; }
[dir="rtl"] .ct-learning-topic-footer { justify-content:flex-end; }
@media (max-width:480px) { .ct-learning-progress-card { padding:1rem; } .ct-learning-progress-footer { align-items:flex-start; flex-direction:column; } [dir="rtl"] .ct-learning-progress-footer { flex-direction:column; } .ct-learning-topic-control { max-width:100%; } }
@media (prefers-reduced-motion:reduce) { .ct-learning-progress-track span { transition:none; } }
[data-ct-lesson-theme="dark"] .ct-learning-progress-card, [data-ct-lesson-theme="dark"] .ct-learning-topic-footer, [data-ct-lesson-theme="dark"] .ct-learning-topic-indicator { --learn-bg:#211c2a; --learn-raised:#292332; --learn-soft:#302739; --learn-line:#51445e; --learn-control-line:#8b7899; --learn-ink:#eee8f5; --learn-muted:#bfb1cd; --learn-accent:#c7a4f0; --learn-selected:#392a4d; --learn-success-bg:#1c332c; --learn-success-line:#426f5b; --learn-success:#96dfb7; --learn-warning:#f3cd83; }
[data-ct-lesson-theme="dark"] .ct-learning-progress-card { box-shadow:0 12px 30px #00000025; }

/* Guest copy and account actions follow the same authentication state. */
.ct-learning-progress-card { --learn-error:#a12626; }
.ct-learning-progress-card[hidden], .ct-learning-progress-card [hidden] { display:none!important; }
.ct-learning-progress-card .ct-learning-error { color:var(--learn-error); }
.ct-learning-progress-footer { flex-wrap:wrap; }
.ct-learning-progress-footer:not(:has(> :not([hidden]))) { display:none; }
.ct-learning-progress-footer > :is(a,button) { margin-inline-start:auto; }
.ct-learning-progress-footer .ct-learning-progress-sign-in { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:42px; padding:9px 16px; border:1px solid var(--learn-accent); border-radius:10px; background:linear-gradient(135deg,var(--learn-accent),color-mix(in srgb,var(--learn-accent) 86%,var(--learn-ink))); color:var(--learn-bg); font-size:12px; font-weight:750; line-height:1.5; text-decoration:none; white-space:nowrap; box-shadow:0 4px 10px color-mix(in srgb,var(--learn-accent) 14%,transparent); }
.ct-learning-progress-sign-in:hover { filter:brightness(1.06); }
.ct-learning-progress-card [data-progress-retry] { background:var(--learn-bg); color:var(--learn-accent); border-color:var(--learn-control-line); font-size:12px; }
.ct-learning-progress-card[data-progress-mode="guest"] { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px 24px; align-items:center; padding:20px 24px; border-inline-start:3px solid var(--learn-accent); background:linear-gradient(115deg,var(--learn-selected),var(--learn-bg)); }
.ct-learning-progress-card[data-progress-mode="guest"] .ct-learning-progress-heading { grid-column:1; grid-row:1; }
.ct-learning-progress-card[data-progress-mode="guest"] .ct-learning-progress-summary { grid-column:1; grid-row:2; }
.ct-learning-progress-card[data-progress-mode="guest"] .ct-learning-progress-footer { grid-column:2; grid-row:1 / span 2; margin:0; min-height:0; }
.ct-learning-progress-card[data-progress-mode="error"] { border-color:color-mix(in srgb,var(--learn-error) 60%,var(--learn-line)); }
.ct-learning-progress-card[data-percent="100"] .ct-learning-progress-heading > strong { color:var(--learn-success); background:var(--learn-success-bg); border-color:var(--learn-success-line); }
.ct-learning-progress-card[data-percent="100"] .ct-learning-progress-track span { background:var(--learn-success); }
[data-ct-lesson-theme="dark"] .ct-learning-progress-card { --learn-error:#ffacb9; }
@media(max-width:600px) {
    .ct-learning-progress-card[data-progress-mode="guest"] { grid-template-columns:minmax(0,1fr); padding:17px; gap:7px; }
    .ct-learning-progress-card[data-progress-mode="guest"] .ct-learning-progress-footer { grid-column:1; grid-row:3; margin-top:5px; }
    .ct-learning-progress-footer, [dir="rtl"] .ct-learning-progress-footer { flex-direction:row; align-items:center; }
}
