/* v158 Academy learner-facing UX pass */
html{scroll-behavior:smooth}
.ac-main-card[id]{scroll-margin-top:96px}

/* Learning model is explanatory content, not navigation. */
.ac-model{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(0,1.5fr);gap:0;border:1px solid var(--ac-border);border-radius:18px;overflow:hidden;background:#fff;margin:1.5rem 0 2.5rem;pointer-events:none}
.ac-model__intro{padding:1rem 1.1rem;background:var(--ac-soft);border-right:1px solid var(--ac-border)}
.ac-model__intro .eyebrow{display:block;margin:0 0 .3rem}
.ac-model__intro p{margin:0;color:var(--ac-muted);font-size:.86rem;line-height:1.45}
.ac-model__flow{display:grid;grid-template-columns:repeat(7,auto);align-items:center;justify-content:space-evenly;gap:.4rem;padding:.85rem 1rem}
.ac-model__flow span{padding:.45rem .55rem;font-weight:600;white-space:nowrap;background:transparent;text-align:center;cursor:default}
.ac-model__flow b{font-weight:400;color:var(--ac-muted)}

/* Section navigation should look and behave like navigation. */
.ac-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin:1rem 0 1.25rem}
.ac-chip{min-height:64px;border:1px solid var(--ac-border);border-radius:14px;padding:.75rem .85rem;font-size:.82rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;background:#fff}
.ac-chip--link{text-decoration:none;color:inherit;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,background .15s ease}
.ac-chip--link:hover,.ac-chip--link:focus-visible{background:var(--ac-soft);border-color:var(--ac-accent);box-shadow:0 6px 18px rgba(32,38,34,.08);transform:translateY(-1px)}
.ac-chip__arrow{font-size:1rem;color:var(--ac-accent);flex:0 0 auto}
.ac-chip--static{cursor:default;background:var(--ac-soft)}

/* Lessons read as real actionable rows instead of inert metadata. */
.ac-lesson{position:relative;border-radius:12px;padding:1rem .7rem;margin:0 -.7rem;transition:background .15s ease}
.ac-lesson:hover,.ac-lesson:focus-within{background:var(--ac-soft)}
.ac-lesson__open{display:inline-flex;align-items:center;min-height:40px;padding:.35rem .2rem;text-decoration:none;font-weight:600}
.ac-lesson__open:after{content:"";position:absolute;inset:0;border-radius:12px}
.ac-lesson-title-row strong{line-height:1.35}

/* Keep technical build/status language out of the learner hierarchy. */
.ac-status{display:none}

/* Lesson layout: video remains the visual anchor; timeline aligns with it. */
.ac-lesson-layout{align-items:start}
.ac-chapters{position:sticky;top:88px;background:#fff;max-height:calc(100vh - 110px);overflow:auto}
.ac-player{width:100%}
.ac-main-card p,.ac-main-card li{overflow-wrap:anywhere}

@media(max-width:900px){
  .ac-model{grid-template-columns:1fr}
  .ac-model__intro{border-right:0;border-bottom:1px solid var(--ac-border)}
  .ac-model__flow{grid-template-columns:repeat(7,auto);overflow-x:auto;justify-content:start}
  .ac-chapters{position:static;max-height:none;overflow:visible}
}
@media(max-width:640px){
  .ac-sections{grid-template-columns:1fr}
  .ac-chip{min-height:56px}
  .ac-model__flow{font-size:.82rem;padding:.75rem}
  .ac-model__flow span{padding:.35rem .25rem}
}

/* v159 single functional course map + true lesson CTA */
.ac-pathmap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:1rem 0 1.5rem}
.ac-pathstep{position:relative;display:grid;grid-template-rows:auto auto 1fr;gap:.28rem;min-height:132px;padding:1rem 1.05rem;border:1px solid var(--ac-border);border-radius:14px;background:#fff;color:inherit;text-decoration:none}
.ac-pathstep span{font:500 .7rem/1.2 "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.06em}
.ac-pathstep strong{font-size:.95rem}
.ac-pathstep small{line-height:1.42;color:var(--ac-muted)}
.ac-pathstep b{position:absolute;right:1rem;top:1rem;font-weight:500;color:var(--ac-accent)}
.ac-pathstep--link{transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,background .15s ease}
.ac-pathstep--link:hover,.ac-pathstep--link:focus-visible{background:var(--ac-soft);border-color:var(--ac-accent);box-shadow:0 6px 18px rgba(32,38,34,.08);transform:translateY(-1px)}
.ac-lesson__open{position:relative;z-index:2;justify-self:end;min-height:42px;padding:.65rem .9rem!important;border-radius:8px!important;white-space:nowrap}
.ac-lesson__open:after{content:none!important}
@media(max-width:900px){.ac-pathmap{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.ac-pathmap{grid-template-columns:1fr}.ac-pathstep{min-height:auto}.ac-lesson__open{width:100%;justify-content:center;margin-top:.65rem}}
