/* Compact navigation: the course list opens in pages instead of extending the rail. */
.learning-shell{--rail-width:248px;grid-template-columns:var(--rail-width) minmax(0,1fr)}
.learning-shell.is-rail-collapsed{--rail-width:76px}
.learning-shell .classroom-rail{height:100dvh;padding:20px 14px 12px;display:flex;flex-direction:column;gap:18px;overflow:visible;z-index:5;border-right:1px solid #294550}
.rail-header{display:flex;align-items:center;gap:8px;min-height:42px;flex:none}
.nav-brand{display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none;min-width:0;flex:1;line-height:1.25;font-weight:650;font-size:17px;white-space:nowrap}
.brand-symbol{width:36px;height:36px;flex:none;display:flex;align-items:center;justify-content:center;background:#e0f3ed;border:1px solid #a7d3c7;border-radius:10px;color:#125853;font:700 21px/1 ui-monospace,Consolas,monospace;letter-spacing:-2px}
.brand-symbol span{font-size:12px;letter-spacing:-1px}
.nav-brand small{display:block;color:#96b4be;font:8px/1.5 ui-monospace,Consolas,monospace;letter-spacing:.8px;margin-top:6px}
.nav-icon{width:20px;height:20px;flex:none;display:block}
.nav-icon-button,.classroom-rail .nav-section-toggle,.classroom-rail .nav-item{color:#c6d9e0;border:0;background:transparent;border-radius:8px}
.nav-icon-button{padding:7px;flex:none}
.nav-icon-button:hover:enabled{background:#294753;color:#fff}
.rail-body{flex:1;min-height:0}
.classroom-rail #rail-navigation{display:grid;gap:18px}
.classroom-rail .nav-section-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0 10px 8px;font-size:11px;color:#8cabb6;text-align:left;letter-spacing:.7px}
.classroom-rail .nav-section-toggle .nav-icon{width:12px;height:12px;transition:transform .15s}
.classroom-rail .nav-section-toggle[aria-expanded=true] .nav-icon{transform:rotate(90deg)}
.classroom-rail .nav-section-toggle:hover:enabled{color:#d6e8ef;background:transparent}
.nav-links{display:grid;gap:4px}
.classroom-rail .nav-item{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;font:13px/1.3 "Segoe UI","Microsoft YaHei",sans-serif;text-decoration:none;text-align:left;min-height:40px}
.classroom-rail .nav-item:hover{background:#203f4b;color:#fff}
.classroom-rail .nav-item.active{background:#dff2ec;color:#16554f;box-shadow:inset 3px 0 #54bea5}
.nav-label{min-width:0}
.nav-count{margin-left:auto;font:10px ui-monospace,Consolas,monospace;opacity:.6}
.rail-account{display:flex;align-items:center;gap:10px;min-height:64px;flex:none;border-top:1px solid #304b56;margin-top:auto;padding:14px 4px 0;text-decoration:none;color:#e9f3f6}
.rail-account:hover{color:#fff}
.account-avatar{width:36px;height:36px;display:grid;place-items:center;flex:none;border-radius:50%;background:#2b4854;color:#c9dce3;font-weight:650}
.signed-in .account-avatar{background:#238d79;color:white}
.account-copy{flex:1;line-height:1.4}
.account-copy strong{display:block;font-size:13px;font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:150px}
.account-copy small{font-size:10px;color:#a0b9c2;display:flex;align-items:center;gap:5px;margin-top:4px;white-space:nowrap}
.account-copy i{width:5px;height:5px;display:inline-block;border-radius:50%;background:#8fa5ad}
.signed-in .account-copy i{background:#6dd2b2}
.rail-account>.nav-icon{width:14px;height:14px;color:#97b4be}
.learning-shell.is-rail-collapsed .classroom-rail{padding-left:12px;padding-right:12px}
.is-rail-collapsed .rail-header{flex-direction:column;gap:12px}
.is-rail-collapsed .nav-brand{flex:none}
.is-rail-collapsed .classroom-rail .nav-label,.is-rail-collapsed .nav-count,.is-rail-collapsed .nav-section-toggle,.is-rail-collapsed .rail-account>.nav-icon{display:none}
.is-rail-collapsed .classroom-rail .nav-item{justify-content:center;padding:10px}
.is-rail-collapsed .classroom-rail #rail-navigation{gap:14px}
.is-rail-collapsed .nav-section+.nav-section{border-top:1px solid #304b56;padding-top:14px}
.is-rail-collapsed .rail-account{justify-content:center;padding-left:0;padding-right:0}
.is-rail-collapsed #toggle-navigation .nav-icon{transform:rotate(180deg)}
.learning-shell [hidden]{display:none!important}
.chapter-picker{width:min(610px,calc(100vw - 32px));max-width:none;margin:auto auto auto calc(var(--rail-width) + 18px);padding:24px;border:1px solid var(--line);border-radius:18px;color:var(--ink);background:var(--paper);box-shadow:0 18px 80px #112d3933;overflow:visible}
.chapter-picker::backdrop{background:#102c394d}
.chapter-picker-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.chapter-picker-head .eyebrow{font-size:9px}
.chapter-picker h2{font-size:22px;line-height:1.4;margin:4px 0 0}
.picker-close{display:grid;place-items:center;padding:8px;border:0;background:var(--bg)}
.chapter-group-tabs{display:flex;gap:6px;padding:4px;border-radius:10px;background:var(--bg);margin-bottom:14px}
.chapter-group-tabs button{flex:1;border:0;background:transparent;padding:8px 6px;font-size:12px;border-radius:7px;white-space:nowrap}
.chapter-group-tabs button span{font:10px ui-monospace,Consolas,monospace;margin-left:5px;opacity:.65}
.chapter-group-tabs button[aria-pressed=true]{background:white;color:var(--teal);box-shadow:0 1px 5px #112d3914}
.chapter-picker-grid>[data-chapter-list]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.chapter-picker a.chapter{display:flex;gap:10px;align-items:center;padding:12px;min-height:68px;border:1px solid var(--line);border-radius:9px;text-decoration:none;color:var(--ink);font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.chapter-picker .chapter .num{color:var(--teal);font-size:11px;min-width:18px}
.chapter-picker a.chapter:hover{background:var(--bg);border-color:#9bcbbd}
.chapter-picker a.chapter.active{background:var(--soft);border-color:#81bbac;color:#16594d}
.chapter-picker .chapter.done::after{content:'✓';margin-left:auto;color:var(--teal)}
.chapter-picker-pages{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:16px}
.chapter-picker-pages select{font:12px/1.5 "Segoe UI","Microsoft YaHei",sans-serif;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--sub);max-width:100%}
.chapter-picker-pages>div{display:flex;gap:5px}
.chapter-picker-pages button{padding:7px}
.chapter-picker-pages button:first-child .nav-icon{transform:rotate(180deg)}
.picker-all-courses{display:block;font-size:11px;text-align:center;margin-top:16px;padding-top:14px;border-top:1px solid var(--line);text-decoration:none;color:var(--sub)}
@media(max-height:760px) and (min-width:761px){
 .learning-shell .classroom-rail{padding-top:14px;gap:12px}
 .classroom-rail #rail-navigation{gap:12px}
 .classroom-rail .nav-item{min-height:34px;padding-top:7px;padding-bottom:7px}
 .classroom-rail .nav-section-toggle{padding-bottom:6px}
 .nav-links{gap:3px}
 .rail-account{min-height:54px;padding-top:10px}
 .is-rail-collapsed .rail-header{gap:6px}
 .is-rail-collapsed .nav-section+.nav-section{padding-top:10px}
}
@media(max-height:600px) and (min-width:761px){
 .learning-shell .classroom-rail{padding-top:10px;gap:8px}
 .rail-header{min-height:36px}
 .classroom-rail #rail-navigation,.is-rail-collapsed .classroom-rail #rail-navigation{gap:8px}
 .classroom-rail .nav-item{min-height:30px;padding-top:5px;padding-bottom:5px;font-size:12px}
 .classroom-rail .nav-section-toggle{padding-bottom:4px}
 .nav-links{gap:2px}
 .is-rail-collapsed .nav-section+.nav-section{padding-top:8px}
 .rail-account{min-height:48px;padding-top:8px}
}
@media(max-width:1000px){.chapter-picker{margin:auto;width:min(610px,calc(100vw - 28px))}}
@media(max-width:760px),(max-height:480px){
 .learning-shell,.learning-shell.is-rail-collapsed{display:block;--rail-width:0px}
 .learning-shell .classroom-rail,.learning-shell.is-rail-collapsed .classroom-rail{position:sticky;top:0;height:auto;padding:12px 18px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 14px;align-items:center;border-right:0;border-bottom:1px solid #304b56}
 .classroom-rail .rail-header,.is-rail-collapsed .rail-header{display:flex;flex-direction:row;gap:12px;min-height:36px}
 .nav-brand,.is-rail-collapsed .nav-brand{flex:1;font-size:16px;gap:9px}
 .nav-brand small{font-size:7px;letter-spacing:.5px;margin-top:3px}
 .brand-symbol{width:32px;height:32px;font-size:19px}
 .is-rail-collapsed .classroom-rail .nav-label{display:block}
 .rail-header .nav-icon-button{padding:6px}
 .classroom-rail .rail-header{grid-column:1/-1}
 .classroom-rail .rail-account,.is-rail-collapsed .rail-account{grid-column:1/-1;min-height:48px;padding:12px 4px 0;margin:12px 0 0;border-top:1px solid #304b56;justify-content:flex-start}
 .classroom-rail:not(.mobile-open) .rail-account{display:none}
 .account-avatar{height:32px;width:32px;font-size:13px}
 .classroom-rail .rail-account .account-copy{display:block}
 .classroom-rail .rail-account>.nav-icon{display:block;width:14px;height:14px}
 .rail-body{grid-column:1/-1;margin-top:14px;padding-top:14px;border-top:1px solid #304b56}
 .classroom-rail #rail-navigation,.is-rail-collapsed .classroom-rail #rail-navigation{grid-template-columns:1fr 1fr;gap:12px}
 .classroom-rail .nav-section:first-child{grid-row:span 2}
 .classroom-rail .nav-section-toggle,.is-rail-collapsed .classroom-rail .nav-section-toggle{display:flex;font-size:10px;padding:0 6px 6px}
 .classroom-rail .nav-item,.is-rail-collapsed .classroom-rail .nav-item{justify-content:flex-start;padding:8px 7px;min-height:36px;gap:8px;font-size:12px}
 .classroom-rail .nav-icon{width:18px;height:18px}
 .nav-count,.is-rail-collapsed .nav-count{display:inline}
 .is-rail-collapsed .nav-section+.nav-section{padding-top:0;border:0}
 .chapter-picker{padding:18px;width:calc(100vw - 24px);margin:auto;border-radius:14px}
 .chapter-picker h2{font-size:19px}
 .chapter-picker-head{margin-bottom:14px}
 .chapter-picker a.chapter{padding:9px 8px;gap:6px;min-height:64px;font-size:11px}
 .chapter-group-tabs{margin-bottom:12px}
 .chapter-group-tabs button{font-size:11px}
 .chapter-group-tabs button span{margin-left:3px}
 .chapter-picker-pages{margin-top:12px}
 .chapter-picker-pages select{font-size:12px;width:100%;min-height:36px}
 .picker-all-courses{margin-top:12px;padding-top:10px;font-size:10px}
}
@media(max-height:480px){
 .learning-shell .classroom-rail,.learning-shell.is-rail-collapsed .classroom-rail{padding-top:8px;padding-bottom:8px}
 .rail-body{margin-top:8px;padding-top:8px}
 .classroom-rail #rail-navigation,.is-rail-collapsed .classroom-rail #rail-navigation{gap:8px}
 .classroom-rail .nav-item,.is-rail-collapsed .classroom-rail .nav-item{min-height:28px;padding-top:4px;padding-bottom:4px;font-size:11px}
 .classroom-rail .rail-account,.is-rail-collapsed .rail-account{min-height:40px;margin-top:8px;padding-top:8px}
 .chapter-picker{padding:12px}
 .chapter-picker-head{margin-bottom:8px}
 .chapter-picker-head .eyebrow{display:none}
 .chapter-picker h2{font-size:17px;margin:0}
 .chapter-group-tabs{margin-bottom:8px}
 .chapter-group-tabs button{padding:5px}
 .chapter-picker a.chapter{min-height:40px;padding:6px 8px;font-size:10px}
 .chapter-picker-grid>[data-chapter-list]{gap:5px}
 .chapter-picker-pages{margin-top:8px}
 .picker-all-courses{margin-top:8px;padding-top:6px}
}
@media print{.chapter-picker{display:none!important}}
