.pa-lab{display:grid;grid-template-columns:minmax(240px,320px) 1fr;align-items:start}.pa-lab-sidebar{position:sticky;top:1rem}.pa-lab-main{min-height:70vh}.pa-lesson-btn{width:100%;text-align:left;padding:.8rem;margin:.25rem 0;background:#080919;border:1px solid var(--line);color:var(--muted);font-family:var(--font-main);cursor:pointer}.pa-lesson-btn:hover,.pa-lesson-btn.active{border-color:var(--cyan);color:var(--ink)}.pa-lesson-btn.done{color:var(--lime)}.pa-progress{height:8px;background:#080919;border:1px solid var(--line);margin:1.2rem 0 .5rem}.pa-progress>div{height:100%;width:0;background:var(--lime);transition:width .25s}.pa-theory{line-height:1.8;color:var(--muted);margin-bottom:1.5rem}.pa-lab-main pre{white-space:pre-wrap;background:#050713;border:1px solid var(--line);padding:1rem;overflow:auto}.pa-code-editor{min-height:220px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;line-height:1.6;tab-size:4}.pa-lab-actions{display:flex;gap:.7rem;margin:1rem 0}.pa-btn{border:1px solid var(--line);padding:.75rem 1rem;font-family:var(--font-main);cursor:pointer}.pa-btn-primary{background:var(--lime);color:#101400}.pa-btn-secondary{background:#101126;color:var(--ink)}.pa-output{min-height:58px;color:var(--cyan)}@media(max-width:850px){.pa-lab{grid-template-columns:1fr}.pa-lab-sidebar{position:static}}
/* Full-Stack textbook reading layer */
#cw-chapter-intro{border-left:3px solid var(--cyan);margin:1rem 0 1.5rem}
#cw-material{line-height:1.75;margin-top:1.25rem}
#cw-material h3{font-family:var(--font-display);margin-top:1.7rem;margin-bottom:.6rem}
#cw-material p,#cw-material li{max-width:78ch}
#cw-material details{margin:1rem 0;padding:1rem;border:1px solid var(--line);background:rgba(255,255,255,.02)}
#cw-lessons{max-height:300px;overflow:auto;border:1px solid var(--line);padding:.5rem;margin:1rem 0}

/* Web Lab textbook / syllabus repair */
.pa-outline{display:grid;gap:.7rem;margin:1rem 0}.pa-outline details{border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.018)}.pa-outline summary{cursor:pointer;padding:.8rem 1rem;font-weight:700;color:var(--ink)}.pa-outline summary span{float:right;color:var(--muted);font-size:.78rem;font-weight:500}.pa-outline ol{margin:0;padding:.25rem .5rem .75rem 2rem}.pa-outline li{color:var(--muted);margin:.15rem 0}.pa-outline-link{width:100%;text-align:left;border:0;background:transparent;color:var(--muted);padding:.45rem .3rem;cursor:pointer;font:inherit}.pa-outline-link:hover,.pa-outline-link.active{color:var(--ink)}.pa-outline-link.active{font-weight:700}.pa-theory-book{display:grid;gap:1rem}.pa-theory-intro,.pa-deep-section{border:1px solid var(--line);border-radius:8px;padding:1rem 1.15rem;background:rgba(255,255,255,.018)}.pa-theory-intro h3,.pa-deep-section h3{margin:.15rem 0 .65rem;color:var(--ink)}.pa-deep-section p{white-space:normal}.pa-deep-section li{margin:.35rem 0}.pa-practice-block{margin:1rem 0}.pa-theory-book code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}

/* Web Lab: sequential lesson navigation, repeated after the exercise. */
.pa-web-navigation{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1rem 0;margin:1rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.pa-web-navigation p{margin:0;color:var(--muted);font-size:.9rem}
.pa-web-navigation>div{display:flex;gap:.6rem;flex-wrap:wrap}
.pa-web-navigation button{font-size:.88rem;line-height:1.35;max-width:min(100%,320px);white-space:normal;text-align:left}
.pa-web-navigation button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:620px){.pa-web-navigation>div{width:100%}.pa-web-navigation button{flex:1 1 130px;min-width:0}}
