:root {
  --mit-accent: #c92f2b;
  --mit-accent-soft: rgba(201,47,43,.14);
}

.lesson-page[data-course-profile="software-construction"] { --pb-accent: var(--mit-accent); }
.lesson-page[data-course-profile="software-construction"] .page > nav:first-child,
.lesson-page[data-course-profile="software-construction"] .page > .eyebrow,
.lesson-page[data-course-profile="software-construction"] .page > h1,
.lesson-page[data-course-profile="software-construction"] .page > .lede { max-width: var(--pb-reading-width, 820px); }
.lesson-page[data-course-profile="software-construction"] .page > h1 { color: var(--pb-ink) !important; }
.lesson-page[data-course-profile="software-construction"] .page section > pre,
.lesson-page[data-course-profile="software-construction"] .page > pre { max-width: var(--pb-workspace-width, 1096px); }

.source-switch { display: inline-flex; align-items: center; gap: 0; margin: 0 0 28px; overflow: hidden; border: 1px solid var(--pb-line); border-radius: 7px; background: var(--pb-paper); }
.source-switch a { min-height: 38px; display: inline-flex; align-items: center; padding: 0 13px; color: var(--pb-muted) !important; font-size: .7rem; font-weight: 720; text-decoration: none !important; }
.source-switch a + a { border-left: 1px solid var(--pb-line); }
.source-switch a[aria-current="page"] { background: var(--mit-accent); color: #fff !important; }
.source-switch a:hover { background: var(--mit-accent-soft); color: var(--mit-accent) !important; }
.source-switch a[aria-current="page"]:hover { background: #ae2724; color: #fff !important; }

.mit-source-note { max-width: var(--pb-reading-width, 820px); margin: 28px 0; padding: 15px 17px; border: 1px solid var(--pb-line); border-left: 3px solid var(--mit-accent); background: var(--pb-paper); color: var(--pb-muted); font-size: .76rem; line-height: 1.65; }
.mit-source-note strong { color: var(--pb-ink); }

.lesson-page[data-course-profile="software-construction"] .card { max-width: var(--pb-reading-width, 820px); border-radius: 8px !important; box-shadow: none !important; }
.lesson-page[data-course-profile="software-construction"] .tag { display: inline-flex; margin-right: 7px; padding: 3px 7px; border-radius: 4px; background: var(--mit-accent-soft); color: var(--mit-accent); font-family: "SFMono-Regular", Consolas, monospace; font-size: .62rem; font-weight: 760; }
.lesson-page[data-course-profile="software-construction"] .src-link { display:inline-block; margin-top:8px; color:var(--mit-accent); font-family:"SFMono-Regular",Consolas,monospace; font-size:.68rem; }
.lesson-page[data-course-profile="software-construction"] .ps-grid { width:100%; display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:12px; margin:22px 0; }
.lesson-page[data-course-profile="software-construction"] .ps-card { min-height:160px; display:flex; flex-direction:column; padding:19px; border:1px solid var(--pb-line); border-radius:8px; background:var(--pb-paper); color:var(--pb-ink); text-decoration:none; }
.lesson-page[data-course-profile="software-construction"] .ps-card:hover { border-color:var(--mit-accent); }
.lesson-page[data-course-profile="software-construction"] .ps-card .badge { margin-bottom:12px; color:var(--mit-accent); font-family:"SFMono-Regular",Consolas,monospace; font-size:.61rem; font-weight:760; letter-spacing:.07em; }
.lesson-page[data-course-profile="software-construction"] .ps-card h4 { margin:0 0 8px; font-size:.9rem; }
.lesson-page[data-course-profile="software-construction"] .ps-card p { margin:0; color:var(--pb-muted); font-size:.7rem; line-height:1.6; }

@media (max-width: 640px) {
  .source-switch { display: flex; width: 100%; }
  .source-switch a { min-width: 0; flex: 1; justify-content: center; text-align: center; }
}
