.courses-body{min-height:100%}.courses-app{max-width:860px!important}
.courses-nav{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.95rem;color:var(--ink-muted)}
.courses-nav a{color:var(--accent);text-decoration:none;font-weight:600}
.courses-nav a:hover{color:var(--accent-hover);text-decoration:underline}
.nav-sep{color:var(--ink-faint)}.nav-current{color:var(--ink);font-weight:650}
.courses-hero{margin:8px 0 28px}.courses-lead{margin:10px 0 0;color:var(--ink-muted);font-size:.98rem;line-height:1.6}
.course-kicker{margin:0 0 6px;color:var(--accent);font-size:.8rem;font-weight:700;letter-spacing:.04em}
.section-title{margin:0 0 14px;font-size:1.05rem;font-weight:700}
.courses-section{margin-bottom:28px}.lecture-list{display:flex;flex-direction:column;gap:10px}
.lecture-card{display:block;text-decoration:none;color:inherit;padding:16px 18px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);transition:border-color .15s,transform .12s,box-shadow .15s}
.lecture-card:hover{border-color:var(--border-strong);transform:translateY(-1px);box-shadow:0 2px 4px rgba(31,41,51,.05),0 12px 28px rgba(31,41,51,.08)}
.lecture-card-title{margin:0 0 6px;font-size:1.02rem;font-weight:650;letter-spacing:-.01em}
.lecture-card-meta{margin:0;color:var(--ink-muted);font-size:.85rem}
.lecture-main{padding-bottom:40px}
.lecture-article{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px 22px 28px}
.lecture-header{margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--border)}
.lecture-title{margin:0;font-size:1.55rem;font-weight:750;letter-spacing:-.02em;line-height:1.3}
.lecture-body.md-preview{font-size:1.02rem;line-height:1.75}
.lecture-body>h1:first-child{display:none}
.lecture-footer{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.callout{margin:.9em 0;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--accent-soft)}
.callout-title{margin:0 0 6px;font-weight:700;color:var(--accent);font-size:.9rem}
.wiki-missing{color:var(--ink-muted);border-bottom:1px dashed var(--border-strong)}
.md-source-link{margin-top:8px;font-size:.85rem;color:var(--ink-muted)}
.md-source-link a{color:var(--accent);font-weight:600;text-decoration:none}
.md-source-link a:hover{text-decoration:underline}
.callout-inner{margin:0}
.callout-question{border-left:3px solid var(--accent)}
.callout-success,.callout-answer{border-left:3px solid #2f9e44;background:rgba(47,158,68,.08)}
.callout-warning{border-left:3px solid #e67700}
.callout-tip{border-left:3px solid var(--accent)}
details.callout{padding:0}
details.callout>summary.callout-title{list-style:none;cursor:pointer;padding:12px 14px;margin:0;user-select:none}
details.callout>summary.callout-title::-webkit-details-marker{display:none}
details.callout>summary.callout-title::before{content:"▸ ";display:inline-block;transition:transform .15s}
details.callout[open]>summary.callout-title::before{transform:rotate(90deg)}
details.callout>.callout-inner{padding:0 14px 12px}

/* MathML display must not clip sum limits */
.callout,.callout-question,.callout p,.lecture-body p{overflow-x:auto}
.math-display,math[display="block"]{overflow-x:auto;padding:.55em 0;margin:1em 0;line-height:normal;max-width:100%}
.lecture-body math, .callout math{line-height:normal}
.lecture-body.md-preview{overflow-x:auto}


/* Mobile overflow guards (PM) */
.courses-body, .courses-app, .lecture-main, .lecture-article, .lecture-body {
  max-width: 100%;
  overflow-x: clip;
}
.lecture-body.md-preview pre,
.lecture-body.md-preview table,
.lecture-body.md-preview .katex-display,
.lecture-body.md-preview .math-display {
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.lecture-body.md-preview table {
  display: block;
  width: 100%;
}
.lecture-body.md-preview img,
.lecture-body.md-preview svg {
  max-width: 100%;
  height: auto;
}
@media (max-width: 720px) {
  .lecture-article { padding: 14px 12px 20px; }
  .lecture-title { font-size: 1.25rem; word-break: break-word; }
  .courses-nav { gap: 4px; }
}
/* overflow-x hard */

html, body.courses-body { overflow-x: hidden; }
.site-main, .site-main-inner, .lecture-main, .lecture-article { max-width: 100%; }
.lecture-body pre, .lecture-body code, .lecture-body .katex-display, .lecture-body .math-block { max-width: 100%; overflow-x: auto; }
.lecture-body table { display: block; max-width: 100%; overflow-x: auto; }

/* katex-display-safe */
.callout,.callout-question,.callout-success,.callout-inner,.callout p,.lecture-body p,.lecture-body.md-preview{overflow:visible!important}
.lecture-body .katex-display,.lecture-body .katex-display>.katex,.lecture-body .katex-display>.katex>.katex-html{overflow:visible!important}
.lecture-body .katex-display{display:block;margin:1em 0;padding:.75em 0;overflow:visible!important;line-height:normal}

/* katex-sum-uncrop FINAL */
.callout,.callout-question,.callout-success,.callout-inner,.callout p,.lecture-body p,.lecture-body.md-preview{overflow:visible!important}
.lecture-body .katex-display,.lecture-body .katex-display>.katex,.lecture-body .katex-display>.katex>.katex-html,.md-preview .katex-display{overflow:visible!important;overflow-y:visible!important;overflow-x:visible!important}
.lecture-body .katex-display,.md-preview .katex-display{display:block;margin:1em 0;padding:.9em 0 .55em;line-height:normal;max-width:100%}

/* PM-QA mobile overflow FINAL */
html, body.courses-body {
  overflow-x: hidden !important;
  max-width: 100%;
}
.site-shell, .site-main, .site-main-inner, .lecture-main, .lecture-article, .lecture-body, .lecture-body.md-preview {
  max-width: 100%;
  min-width: 0;
}
.lecture-body.md-preview,
.lecture-body {
  overflow-x: auto;
  overflow-y: visible;
}
/* Keep Σ / tall glyphs uncropped vertically, but contain horizontal overflow */
.lecture-body .katex-display,
.md-preview .katex-display {
  display: block;
  max-width: 100%;
  margin: 1em 0;
  padding: 0.9em 0 0.55em;
  overflow-x: auto !important;
  overflow-y: visible !important;
  -webkit-overflow-scrolling: touch;
}
.lecture-body .katex-display > .katex,
.lecture-body .katex-display > .katex > .katex-html {
  overflow: visible !important;
}
.lecture-body pre,
.lecture-body table {
  display: block;
  max-width: 100%;
  overflow-x: auto;
}
.lecture-body img, .lecture-body svg {
  max-width: 100%;
  height: auto;
}
@media (max-width: 720px) {
  .lecture-article { padding-left: 12px; padding-right: 12px; }
  body.courses-body { overflow-x: hidden !important; }
}
