.course-technician{--c:var(--tech)}.course-general{--c:var(--general)}.course-extra{--c:var(--extra)}.course-map{gap:var(--space-5);display:grid}.course-summary{gap:var(--space-5);padding:var(--space-5);border:1px solid var(--rule);border-left:6px solid var(--c,var(--lamp));border-radius:var(--radius-m);background:var(--surface);display:grid}.course-stats{gap:var(--space-4);display:grid}@media (width>=40rem){.course-stats{grid-template-columns:repeat(3,1fr)}}.course-stats dt{font-size:var(--step--1);color:var(--muted)}.course-stats dd{margin:var(--space-1) 0 0;font-size:var(--step-2);font-variant-numeric:tabular-nums;font-weight:700}.course-stats .of{font-size:var(--step--1);color:var(--muted);font-weight:400}.course-next{justify-items:start;gap:var(--space-2);display:grid}.route{padding:0;list-style:none;display:grid}.stop{gap:var(--space-4);padding-bottom:var(--space-6);grid-template-columns:3rem minmax(0,1fr);display:grid;position:relative}.stop:before{background:var(--rule);content:"";border-radius:2px;width:4px;position:absolute;top:3.25rem;bottom:.25rem;left:calc(1.5rem - 2px)}.stop:last-child:before{display:none}.stop.complete:before{background:var(--c)}.node{background:conic-gradient(var(--c) var(--done,0deg), var(--rule) 0);border-radius:50%;place-items:center;width:3rem;height:3rem;display:grid}.node-number{background:var(--paper);width:2.35rem;height:2.35rem;font-family:var(--font-mono);color:var(--ink);border-radius:50%;place-items:center;font-weight:700;display:grid}.stop.complete .node-number{background:var(--c);color:var(--paper)}.stop.next .node{box-shadow:0 0 0 4px var(--lamp)}.stop-body{gap:var(--space-2);padding-top:var(--space-2);display:grid}.stop-title{font-size:var(--step-1)}.stop-title a{color:var(--ink);text-decoration-thickness:1px}.stop-meta{font-size:var(--step--1);color:var(--muted)}.stop-status{color:var(--ink-soft)}.stop-here{color:var(--lamp-ink);font-weight:700}.stop-why{max-width:var(--measure);color:var(--ink-soft)}.pills{gap:var(--space-2);flex-wrap:wrap;padding:0;list-style:none;display:flex}.pill{border:1.5px dashed var(--rule-strong);min-height:2rem;font-family:var(--font-mono);font-size:var(--step--1);color:var(--ink);border-radius:999px;align-items:center;padding:0 .7rem;text-decoration:none;display:inline-flex}.pill:hover{border-color:var(--c)}.pill.started{border-style:solid;border-color:var(--c);background:color-mix(in srgb, var(--c) 14%, transparent)}.pill.ready{border:1.5px solid var(--c);background:var(--c);color:var(--paper)}.pill.ready:before{content:"✓";margin-right:.3em}.course-progress{align-items:center;gap:var(--space-3) var(--space-4);flex-wrap:wrap;display:flex}.lesson-practice{gap:var(--space-5);margin-top:var(--space-5);display:grid}.group-chooser{gap:var(--space-2);border:0;margin:0;padding:0;display:grid}@media (width>=48rem){.group-chooser{grid-template-columns:repeat(2,minmax(0,1fr))}}.group-chooser legend{margin-bottom:var(--space-2);font-weight:700}.group-chooser-count{margin-left:var(--space-2);color:var(--muted);font-weight:400}.group-option{gap:var(--space-1);padding:var(--space-3) var(--space-4);border:1px solid var(--rule);border-radius:var(--radius-m);background:var(--surface);cursor:pointer;display:grid}.group-option.on{border-color:var(--c);box-shadow:inset 0 0 0 1px var(--c)}.group-option input{accent-color:var(--c)}.group-option-head{align-items:center;gap:var(--space-2);display:flex}.group-option-head .topic-id{font-size:var(--step-0);color:var(--ink);font-weight:700}.group-status{font-size:var(--step--1);color:var(--muted);margin-left:auto}.group-option.ready .group-status{color:var(--good);font-weight:700}.group-option-title{font-size:var(--step--1);color:var(--ink-soft)}.group-option-counts{font-size:var(--step--1);font-variant-numeric:tabular-nums;color:var(--muted)}.meter{background:var(--surface-sunk);border-radius:3px;height:6px;position:relative;overflow:hidden}.meter-seen,.meter-learned{position:absolute;top:0;bottom:0;left:0}.meter-seen{background:color-mix(in srgb, var(--c) 35%, transparent)}.meter-learned{background:var(--c)}.drill{gap:var(--space-4);display:grid}.drill-goal{max-width:var(--measure);color:var(--ink-soft)}.drill-ready{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-left:4px solid var(--good);border-radius:0 var(--radius-m) var(--radius-m) 0;background:var(--good-tint);flex-wrap:wrap;display:flex}
