/* Only Je progresse. Existing course layouts and saved progress stay intact. */
#oss-academy.ossa-progression-route .ossa-prog-intro{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0 12px}
#oss-academy.ossa-progression-route .ossa-prog-intro span{border-radius:99px;background:#efefff;color:#3434a8;font-size:13px;font-weight:700;padding:9px 13px}
#oss-academy.ossa-progression-route .ossa-prog-note{font-size:15px;max-width:65ch}
#oss-academy.ossa-progression-route .ossa-prog-mobile-steps{display:none}
#oss-academy.ossa-progression-route .ossa-prog-resources{margin:30px 0}
#oss-academy.ossa-progression-route .ossa-prog-section-heading{display:flex;align-items:center;gap:24px;margin-bottom:20px}
#oss-academy.ossa-progression-route .ossa-prog-section-heading>div{flex:1;min-width:0}
#oss-academy.ossa-progression-route .ossa-prog-section-heading h2{font-size:clamp(22px,2.4vw,30px);line-height:1.22;margin:8px 0}
#oss-academy.ossa-progression-route .ossa-prog-section-heading p{font-size:15px;margin:0}
#oss-academy.ossa-progression-route .ossa-prog-section-heading img{width:150px;height:125px;object-fit:contain;border-radius:20px;background:#fff}
#oss-academy.ossa-progression-route .ossa-prog-point-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
#oss-academy.ossa-progression-route .ossa-prog-point{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:22px;border:1px solid #dddded;border-radius:20px;background:#fff;box-shadow:0 5px 18px #29214a04}
#oss-academy.ossa-progression-route .ossa-prog-point:last-child:nth-child(odd){grid-column:1/-1}
#oss-academy.ossa-progression-route .ossa-prog-point-number{display:grid;place-items:center;min-width:36px;height:36px;border-radius:12px;color:#4841c5;background:#eeedff;font-size:13px;font-weight:800;margin-bottom:14px}
#oss-academy.ossa-progression-route .ossa-prog-point h3{font-size:19px;line-height:1.3;margin:0 0 10px}
#oss-academy.ossa-progression-route .ossa-prog-point p{font-size:15px;line-height:1.65;margin:0 0 16px}
#oss-academy.ossa-progression-route .ossa-prog-link{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:14px;line-height:1.45;font-weight:700;color:#3933ba;text-decoration:underline;text-underline-offset:4px;max-width:100%}
#oss-academy.ossa-progression-route .ossa-prog-link svg{flex-shrink:0;width:18px;height:18px}
#oss-academy.ossa-progression-route .ossa-prog-point .ossa-prog-link{margin-top:auto}
#oss-academy.ossa-progression-route .ossa-prog-link:hover{color:#7028ab}
#oss-academy.ossa-progression-route :is(a,summary,input):focus-visible{outline:3px solid #4441e7;outline-offset:5px;border-radius:5px}
#oss-academy.ossa-progression-route .ossa-prerequisite p{font-size:15px;line-height:1.6}
#oss-academy.ossa-progression-route .ossa-prerequisite .ossa-prog-link{margin-top:5px}
#oss-academy.ossa-progression-route .ossa-prog-vocabulary{margin-top:18px;border:1px solid #e1e0ed;border-radius:14px;background:#f8f8fc;padding:0 18px}
#oss-academy.ossa-progression-route .ossa-prog-vocabulary summary{cursor:pointer;min-height:52px;padding:15px 0;font-size:15px;font-weight:700}
#oss-academy.ossa-progression-route .ossa-prog-vocabulary p{font-size:14px;margin:0 0 8px}
#oss-academy.ossa-progression-route .ossa-prog-vocabulary>div{display:flex;gap:18px;flex-wrap:wrap;padding-bottom:12px}
#oss-academy.ossa-progression-route .ossa-resource-validation{padding:18px 0;margin:0;align-items:flex-start}
#oss-academy.ossa-progression-route .ossa-resource-validation input{flex-shrink:0;width:20px;height:20px}
#oss-academy.ossa-progression-route .ossa-practice-card{margin-top:12px}
#oss-academy.ossa-progression-route .ossa-checkpoint .ossa-prog-link{margin-top:12px}
@media(max-width:760px){
 #oss-academy.ossa-progression-route .ossa-prog-mobile-steps{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 22px}
 #oss-academy.ossa-progression-route .ossa-prog-mobile-steps a{display:flex;align-items:center;gap:8px;min-height:52px;padding:9px;border:1px solid #ddddec;border-radius:12px;text-decoration:none;color:#283348;background:white;font-size:12px;font-weight:700;line-height:1.35}
 #oss-academy.ossa-progression-route .ossa-prog-mobile-steps a>span{display:grid;place-items:center;width:24px;height:24px;flex-shrink:0;border-radius:8px;background:#eeeefa;color:#4036bb}
 #oss-academy.ossa-progression-route .ossa-prog-mobile-steps a[aria-current]{border-color:#5750e8;background:#f0efff}
 #oss-academy.ossa-progression-route .ossa-prog-point-grid{grid-template-columns:1fr;gap:12px}
 #oss-academy.ossa-progression-route .ossa-prog-point{padding:18px;border-radius:16px}
 #oss-academy.ossa-progression-route .ossa-prog-point-number{margin-bottom:10px}
 #oss-academy.ossa-progression-route .ossa-prog-section-heading{gap:10px;align-items:flex-start}
 #oss-academy.ossa-progression-route .ossa-prog-section-heading img{width:82px;height:78px}
 #oss-academy.ossa-progression-route .ossa-prog-section-heading h2{font-size:22px}
 #oss-academy.ossa-progression-route .ossa-prog-section-heading .ossa-app-kicker{font-size:10px}
 #oss-academy.ossa-progression-route .ossa-app-lead{font-size:16px;line-height:1.65}
 #oss-academy.ossa-progression-route .ossa-prerequisite{padding:16px;gap:10px}
 #oss-academy.ossa-progression-route .ossa-prog-link{font-size:14px}
 #oss-academy.ossa-progression-route .ossa-learning-heading h1{font-size:30px;line-height:1.15}
}
