
:root{--ac-border:#d9d6cf;--ac-soft:#f4f1ea;--ac-ink:#252724;--ac-muted:#6e716c;--ac-accent:#4a7c6f}
.ac-shell{padding:3.2rem 0 5rem}.ac-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:end;margin-bottom:2rem}.ac-head h1{margin:.35rem 0 .6rem;max-width:850px}.ac-status{font:500 .75rem/1.2 "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--ac-border);border-radius:999px;padding:.55rem .75rem;background:var(--ac-soft)}
.ac-model{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--ac-border);border:1px solid var(--ac-border);margin:1.5rem 0 2.5rem}.ac-model span{background:#fff;padding:1rem;text-align:center;font-weight:600}.ac-grid{display:grid;grid-template-columns:300px minmax(0,1fr);gap:2rem}.ac-side{border-right:1px solid var(--ac-border);padding-right:1.5rem}.ac-side h2{font-size:1rem;margin:0 0 1rem}.ac-module-list{list-style:none;margin:0;padding:0}.ac-module-list li{margin:0 0 .4rem}.ac-module-list a{display:block;text-decoration:none;padding:.75rem .8rem;border-radius:10px;color:inherit}.ac-module-list a:hover,.ac-module-list a.is-active{background:var(--ac-soft)}.ac-module-code{font:500 .68rem/1 "IBM Plex Mono",monospace;color:var(--ac-muted);display:block;margin-bottom:.25rem}.ac-main-card{border:1px solid var(--ac-border);border-radius:18px;padding:1.4rem;background:#fff;margin-bottom:1rem}.ac-main-card h2,.ac-main-card h3{margin-top:0}.ac-sections{display:flex;flex-wrap:wrap;gap:.45rem}.ac-chip{border:1px solid var(--ac-border);border-radius:999px;padding:.42rem .65rem;font-size:.78rem}.ac-lesson{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;border-top:1px solid var(--ac-border);padding:1rem 0}.ac-lesson:first-of-type{border-top:0}.ac-lesson-code{font:500 .72rem/1 "IBM Plex Mono",monospace}.ac-lesson small{color:var(--ac-muted)}.ac-lesson a{white-space:nowrap}
.ac-lesson-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:2rem}.ac-player{aspect-ratio:16/9;background:#171917;border-radius:16px;overflow:hidden;position:relative;color:#fff;display:grid;place-items:center}.ac-player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.ac-player-lock{max-width:520px;padding:2rem;text-align:center}.ac-player-lock strong{display:block;font-size:1.2rem;margin-bottom:.5rem}.ac-chapters{border:1px solid var(--ac-border);border-radius:16px;overflow:hidden}.ac-chapters h2{font-size:1rem;padding:1rem;margin:0;background:var(--ac-soft)}.ac-chapter{display:grid;grid-template-columns:70px 1fr;gap:.7rem;width:100%;border:0;border-top:1px solid var(--ac-border);background:#fff;text-align:left;padding:.8rem;cursor:pointer}.ac-chapter[disabled]{cursor:default;color:var(--ac-muted)}.ac-time{font:500 .72rem/1.4 "IBM Plex Mono",monospace}.ac-note{padding:1rem;border-left:3px solid var(--ac-accent);background:var(--ac-soft);margin:1.2rem 0}.ac-objectives li,.ac-checkpoints li{margin:.45rem 0}.ac-back{display:inline-block;margin-bottom:1rem}.ac-placeholder{color:var(--ac-muted);font-style:italic}.ac-auth{min-height:45vh;display:grid;place-items:center;text-align:center}.ac-auth[hidden]{display:none}
@media(max-width:900px){.ac-grid,.ac-lesson-layout{grid-template-columns:1fr}.ac-side{border-right:0;padding-right:0}.ac-model{grid-template-columns:1fr 1fr}.ac-head{grid-template-columns:1fr}.ac-lesson{grid-template-columns:1fr}.ac-lesson a{justify-self:start}}

/* v135 curriculum grouping and branch map */
.ac-pathmap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin:1.15rem 0 1.35rem}.ac-pathstep{border:1px solid var(--ac-border);border-radius:12px;padding:.85rem;background:var(--ac-soft);display:grid;gap:.28rem}.ac-pathstep>span,.ac-track span,.ac-branch-grid span{font:500 .68rem/1.25 "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.06em;color:var(--ac-muted)}.ac-pathstep strong{font-size:.9rem}.ac-pathstep small{color:var(--ac-muted);line-height:1.35}.ac-pathstep.is-pending{border-style:dashed}.ac-track{margin:1.5rem 0 .1rem;padding:.55rem .7rem;background:var(--ac-soft);border-left:3px solid var(--ac-accent)}.ac-branch-inline{display:flex;flex-wrap:wrap;gap:.4rem .8rem;margin-top:.55rem}.ac-branch-inline strong{width:100%;font-size:.8rem}.ac-branch-inline span{font-size:.76rem;color:var(--ac-muted)}.ac-branch-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.ac-branch-grid>div{border:1px solid var(--ac-border);border-radius:12px;padding:1rem;display:grid;gap:.35rem;background:var(--ac-soft)}.ac-branch-grid strong{font-size:1.05rem}.ac-branch-grid small{color:var(--ac-muted)}
@media(max-width:900px){.ac-pathmap{grid-template-columns:1fr 1fr}.ac-branch-grid{grid-template-columns:1fr}}
@media(max-width:560px){.ac-pathmap{grid-template-columns:1fr}}

/* v136 complete sequence map + detailed timeline */
.ac-lesson-title-row{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.ac-mini-status{font:500 .62rem/1 "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.06em;padding:.28rem .42rem;border-radius:999px;background:#e8f1ed;color:#315f53}.ac-mini-status.is-pending{background:var(--ac-soft);color:var(--ac-muted);border:1px dashed var(--ac-border)}.ac-route-inline{margin:.45rem 0 0;font-size:.8rem;line-height:1.4;color:var(--ac-muted);max-width:68ch}.ac-lesson-list{margin-top:1rem}.ac-chapter{align-items:start}.ac-chapter-copy{display:grid;gap:.28rem;text-align:left}.ac-chapter-copy strong{font-size:.83rem;line-height:1.3}.ac-chapter-copy small{font-size:.74rem;line-height:1.45;color:var(--ac-muted);font-weight:400}.ac-chapter:hover .ac-chapter-copy small{color:inherit}.ac-branch-grid a{display:grid;gap:.35rem;text-decoration:none;color:inherit}.ac-branch-grid a:hover strong{text-decoration:underline}.ac-branch-foot{margin:.8rem 0 0;color:var(--ac-muted);font-size:.82rem}.ac-route-card{border-left:3px solid var(--ac-accent)}
@media(max-width:700px){.ac-chapter{grid-template-columns:64px 1fr}.ac-time{font-size:.68rem}}

.ac-access-state{max-width:760px;margin:8vh auto;padding:clamp(28px,5vw,56px)}
.ac-access-state .btn{margin-top:18px}

.ac-preview-banner{margin:0 0 1rem;padding:.85rem 1rem;border:1px solid #d7a77f;background:#fff8ef;display:flex;gap:.7rem;align-items:baseline;flex-wrap:wrap}.ac-preview-banner strong{font-family:"IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.04em;font-size:.72rem}.ac-preview-banner span{color:#686b65;font-size:.9rem}
