/* v343: only Spine uses the existing course map and chapter controls side by side. */
.cw--spine .cw-lesson{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}
.cw--spine .cw-stage{min-width:0}
.cw--spine .cw-rail--spine{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);max-height:none}
.cw-rail--spine>section{min-width:0;display:flex;flex-direction:column}
.cw-rail--spine>section+section{border-left:1px solid var(--cw-line)}
.cw-rail--spine h3{font:500 .86rem/1.35 var(--font-body);margin:0;padding:.85rem .7rem;border-bottom:1px solid var(--cw-line);background:var(--cw-soft)}
.cw-rail--spine .cw-rail__body{max-height:calc(100vh - var(--cw-head,74px) - 150px)}
.cw-rail--spine .cw-syl--spine button{grid-template-columns:18px minmax(0,1fr);gap:.4rem;padding:.65rem .5rem;font-size:.83rem}
.cw-syl--spine .cw-syl__title{min-width:0;overflow-wrap:anywhere}
.cw-syl--spine .cw-syl__title small{display:block;margin-top:.25rem;font-size:.75rem;font-weight:400}
.cw-rail--spine .cw-chapters button{grid-template-columns:3.4rem minmax(0,1fr);gap:.3rem;padding:.65rem .5rem;font-size:.83rem;overflow-wrap:anywhere}
.cw-spine-pending{padding:.7rem;font-size:.85rem}
@media(max-width:980px){.cw--spine .cw-lesson{grid-template-columns:minmax(0,1fr)}.cw--spine .cw-rail--spine{position:static}.cw-rail--spine .cw-rail__body{max-height:28rem}}
@media(max-width:480px){.cw--spine .cw-rail--spine{grid-template-columns:minmax(0,.75fr) minmax(0,1.35fr)}.cw-rail--spine .cw-chapters button{grid-template-columns:minmax(0,1fr);gap:.2rem}.cw-rail--spine h3{font-size:.8rem;padding:.7rem .5rem}}
