.course-banner{display:flex;justify-content:space-between;gap:28px;align-items:center;background:linear-gradient(135deg,#e6f0e8,#fff);border:1px solid var(--line);border-radius:18px;padding:22px;margin:22px 0 18px}.course-banner h2{margin:3px 0 5px;font-size:24px}.course-banner p{margin:0;color:var(--muted)}.course-progress{min-width:210px;display:grid;grid-template-columns:1fr auto;gap:5px 10px;align-items:center}.course-progress progress{width:100%;height:12px}.course-progress span{grid-column:1/-1;color:var(--muted);font-size:12px}.course-state{min-height:20px;margin-top:9px;color:var(--green);font-size:12px;font-weight:800}.card.is-complete{border-color:#8fb49a;background:#fbfefb}.course-toggle{margin-top:18px;border:1px solid var(--green);background:#fff;color:var(--green);border-radius:10px;padding:9px 12px;font:inherit;font-weight:750;cursor:pointer}.course-toggle:hover,.course-toggle.is-complete{background:var(--green);color:#fff}.chooser{max-width:900px;margin-top:25px;display:grid;gap:12px}.chooser fieldset{border:1px solid var(--line);background:#fff;border-radius:14px;padding:16px 18px}.chooser legend{font-weight:800;padding:0 7px}.chooser label{display:block;padding:7px 5px;border-radius:8px;cursor:pointer}.chooser label:hover{background:#f2f6f2}.chooser input{margin-right:8px}.chooser-actions{display:flex;gap:9px;flex-wrap:wrap;margin:6px 0 18px}.btn-primary,.btn-secondary{border-radius:10px;padding:10px 14px;font:inherit;font-weight:800;cursor:pointer}.btn-primary{border:1px solid var(--green);background:var(--green);color:#fff}.btn-secondary{border:1px solid var(--line);background:#fff;color:var(--ink)}.stack-result{max-width:900px;background:#fff;border:2px solid #a5bbaa;border-radius:18px;padding:24px;margin:20px 0}.stack-result h2{font-size:32px;margin:3px 0 5px}.lead-result{font-size:17px;color:var(--muted)}.scoreboard{display:grid;gap:8px;margin:18px 0}.score-row{display:grid;grid-template-columns:120px minmax(120px,1fr) 35px;gap:10px;align-items:center}.score-row progress{width:100%;height:12px}.stack-result .warning ul{margin:5px 0 0;padding-left:18px}@media(max-width:760px){.course-banner{display:grid}.course-progress{min-width:0}.chooser fieldset{padding:13px}.score-row{grid-template-columns:90px minmax(90px,1fr) 30px}}