/* Shared course context; all rules scoped to avoid changing existing trainers. */
.route-context{max-width:1180px;margin:1rem auto;padding:1rem 1.2rem;border:1px solid #bfd7d0;border-radius:14px;background:#eef7f3;color:#173e3c;line-height:1.5;box-sizing:border-box}.route-context>div{display:flex;gap:.6rem 1.5rem;flex-wrap:wrap}.route-context nav{display:flex;gap:.6rem 1.2rem;flex-wrap:wrap;margin-top:.65rem}.route-context a{color:#126459;font-weight:650}.route-context .route-next{margin-left:auto}.route-context details{margin-top:.6rem}.route-context summary{cursor:pointer}.route-context li{margin:.5rem 0}.route-context a,.route-context strong{overflow-wrap:anywhere}
body.route-page{margin:0;background:#f5f8f6;color:#213d3d;font:17px/1.65 system-ui,sans-serif}.route-page *{box-sizing:border-box}.route-page a{color:#14695f;text-underline-offset:.2em}.route-page .topbar,.route-page main,.route-page footer{max-width:1180px;margin:auto;padding:1.2rem 1.5rem}.route-page .topbar{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-bottom:1px solid #d8e5df}.route-page .brand{font-size:1.4rem;font-weight:800;text-decoration:none}.route-page .course-tabs{display:flex;gap:.7rem;flex-wrap:wrap;margin:1rem 0 2rem}.route-page .course-tabs a{padding:.45rem .8rem;border:1px solid #c7d9d2;border-radius:30px;text-decoration:none}.route-page [aria-current=page]{background:#176a5f;color:white!important}.route-page h1{font-size:clamp(2rem,5vw,3.8rem);font-weight:720;line-height:1.13;letter-spacing:-.035em;max-width:900px;margin:.6rem 0 1.2rem}.route-page h2{line-height:1.25;font-size:1.65rem}.route-page h3{line-height:1.3;font-size:1.2rem;margin:.4rem 0 1rem}.route-page .lead{font-size:1.16rem;max-width:850px}.route-page .eyebrow{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:#376f65;font-weight:750}.route-page .course-hero{padding:1rem 0 2rem}.route-page .actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-top:1rem}.route-page .button{background:#176a5f;color:white;padding:.65rem 1rem;border:1px solid #176a5f;border-radius:10px;font:inherit;font-weight:650;text-decoration:none;cursor:pointer;max-width:100%}.route-page .button.quiet{background:white;color:#176a5f;border-color:#bed1c8}.route-page .route-group{margin:3rem 0}.route-page .route-group>p{color:#55716a}.route-page .route-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.route-page .route-card{background:white;border:1px solid #d8e5df;border-radius:16px;padding:1.4rem;min-width:0}.route-page .unit-number{font-family:Georgia,serif;font-size:2rem;color:#78a294}.route-page .small,.route-page .task-status{font-size:.9rem;color:#526b64}.route-page .how{display:flex;gap:1rem;flex-wrap:wrap;border-block:1px solid #d8e5df;padding:1rem 0}.route-page .how span{flex:1 1 220px}.route-page .how b{color:#176a5f;margin-right:.4rem}.route-page .assignment,.route-page .note{padding:1.3rem;border-radius:14px;background:#eaf3ef;margin:1.5rem 0}.route-page .assignment label{display:block}.route-page input{display:block;width:100%;padding:.75rem;font:inherit;border:1px solid #aebfb8;border-radius:8px;margin:.5rem 0 1rem}.route-page .warning{border-left:4px solid #b67524;padding:1rem;background:#fff3dc}.route-page .teaching-prompts{padding-left:1.25rem;font-size:.95rem}.route-page li{margin:.6rem 0}.route-page .report .route-grid{margin:1rem 0}.route-page :focus-visible{outline:3px solid #b87525;outline-offset:3px}.route-page a,.route-page h1{overflow-wrap:anywhere}.route-page .skip{position:absolute;left:-10000px}.route-page .skip:focus{left:1rem;top:0;background:white;padding:.5rem;z-index:10}
@media(max-width:640px){.route-page .route-grid{grid-template-columns:1fr}.route-page main,.route-page .topbar{padding:1rem}.route-page .route-card{padding:1.1rem}.route-context{margin:.5rem;padding:.8rem}.route-context .route-next{margin-left:0}.route-page .course-tabs{gap:.4rem}.route-page .course-tabs a{font-size:.9rem}}
body.route-page{overflow-wrap:anywhere}.route-page input{min-width:0}.route-context li{overflow-wrap:anywhere}
@media print{.route-page .topbar,.route-page .course-tabs,.route-page .actions{display:none}.route-page .route-card{break-inside:avoid}.route-page{background:white}}
