.soe-wrap{max-width:1200px;margin:2rem auto;padding:0 1rem;font-family:inherit;color:#19312b}
.soe-wrap *{box-sizing:border-box}
.soe-nav{display:flex;flex-wrap:wrap;gap:1.5rem;padding:1rem 0;border-top:1px solid #cad8d0;border-bottom:1px solid #cad8d0;margin-bottom:2rem}
.soe-nav a,.soe-wrap a{color:#14654b}
.soe-button{display:inline-block;padding:.65rem 1rem;background:#14654b;color:#fff!important;text-decoration:none;border-radius:4px}
.soe-card{border:1px solid #cad8d0;border-radius:6px;padding:1.25rem;margin:1rem 0}
.soe-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}
.soe-course-layout{display:grid;grid-template-columns:minmax(220px,260px) minmax(0,1fr);gap:1.5rem}
.soe-sidebar{border:1px solid #cad8d0;padding:1rem;max-height:75vh;overflow:auto}
.soe-sidebar section+section{border-top:1px solid #cad8d0;margin-top:1rem;padding-top:1rem}
.soe-sidebar h2{font-size:1rem;margin:.25rem 0}.soe-sidebar ul{padding-left:1.25rem;font-size:.9rem}
.soe-sidebar a[aria-current="page"]{font-weight:700}
.soe-viewer{border:1px solid #cad8d0;padding:1rem;min-width:0}
.soe-viewer iframe{width:100%;height:min(70vh,800px);border:0;background:#f4f4f4}
.soe-resources{columns:2;list-style:none;padding:0}.soe-resources li{break-inside:avoid;margin:.5rem 0}
.soe-notice{padding:1rem;border:1px solid #cad8d0}
@media(max-width:700px){.soe-course-layout{grid-template-columns:1fr}.soe-sidebar{max-height:none}.soe-resources{columns:1}.soe-viewer iframe{height:65vh}}
