/* Reader commands share the existing theme and keep the 76 px module header. */
.tracking-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}
.tracking-actions button,.favorite-row button{font:inherit;color:var(--txt,#edf2ff);background:transparent;border:1px solid var(--line,#43516b);border-radius:8px;min-width:44px;min-height:44px;padding:8px 12px;cursor:pointer}
.tracking-actions button:hover,.favorite-row button:hover{background:#ffffff12}
.tracking-actions button[aria-pressed=true]{color:#f3cd67}
.module-header.has-tracking{display:grid;grid-template-columns:325px minmax(0,1fr) auto;grid-template-rows:1fr 26px 18px 1fr;height:76px;padding:0;gap:0 16px;align-content:normal}
.module-header.has-tracking .module-identity{grid-column:1;grid-row:1 / -1;min-width:0;overflow:hidden;align-self:stretch;border-right:1px solid var(--line);padding:10px 24px}
.module-header.has-tracking .module-identity>div{min-width:0;max-width:100%}
.module-header.has-tracking .module-identity h1{max-width:100%;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}
.has-tracking .current-page{grid-column:2;grid-row:2;padding:0 0 0 4px;border-left:0;align-self:center;min-width:0}
.has-tracking .current-page-label{display:none}
.has-tracking .current-page-title{display:block;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:24px}
.has-tracking .tracking-crumbs{grid-column:2;grid-row:3;padding-left:4px;align-self:center}
.has-tracking .tracking-actions{grid-column:3;grid-row:1 / -1;align-self:center;margin-right:24px}
.has-tracking+.local-shell{height:calc(100vh - 76px);height:calc(100dvh - 76px)}
/* Reset generic table-of-contents nav links for the breadcrumb component. */
.tracking-crumbs{font-size:.8rem;color:var(--muted,#abb9ce);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.module-header .tracking-crumbs,.direct-tracking .tracking-crumbs{display:block;line-height:18px;height:18px;margin:0;border:0;background:none;font-size:12px;font-weight:400;letter-spacing:0;text-transform:none;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.module-header .tracking-crumbs a,.direct-tracking .tracking-crumbs a{display:inline;padding:0;border:0;border-radius:0;background:none;color:var(--muted);text-decoration:none;font:inherit}
.module-header .tracking-crumbs a:hover,.direct-tracking .tracking-crumbs a:hover{background:none;color:var(--blue);text-decoration:underline}
.direct-tracking{position:sticky;top:0;z-index:20;background:var(--nav,#111b2e);padding:8px 16px;display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid var(--line)}
.module-card{position:relative;overflow:hidden}
.module-progress{position:absolute;left:0;right:0;top:0;height:5px;background:#ffffff0c;display:block}
.module-progress>span{display:block;height:100%;background:#8391a6}
.module-progress .is-complete{background:#52bf87}
.progress-caption{font-size:.8rem;margin-top:10px!important;color:var(--muted)}
.favorites{margin:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0}
.favorites summary,.version-info summary{cursor:pointer;color:var(--muted);font-weight:600}
.favorite-group{margin-top:20px}
.favorite-group-title{margin:0 0 4px;padding:0 0 8px;font-size:.9rem;font-weight:700;line-height:1.5;color:var(--blue)}
.favorite-row{display:flex;align-items:center;border-top:1px solid var(--line);gap:12px}
.favorite-row a{flex:1;min-width:0;display:block;padding:14px 0;color:var(--txt);text-decoration:none}
.favorite-row small{display:block;color:var(--muted);margin-top:4px}
.favorite-row.is-removed a{opacity:.4}
.favorite-row button{flex-shrink:0}
.tracking-note,.tracking-storage{font-size:.85rem;color:var(--muted);line-height:1.6}
.tracking-mark{color:#69ce99}
.version-info{margin-top:28px;border-top:1px solid var(--line);padding:16px 0}
.version-info .note{background:none;border:0;padding:0}
.tracking-actions button:focus-visible,.favorite-row button:focus-visible,.favorites summary:focus-visible,.version-info summary:focus-visible{outline:2px solid var(--blue,#88baff);outline-offset:3px}
@media(max-width:1024px){
 .module-header.has-tracking{grid-template-columns:44px minmax(0,1fr) auto;grid-template-rows:18px 26px 16px;height:76px;padding:6px 12px;gap:0 12px;align-content:center}
 .has-tracking .mobile-menu{grid-column:1;grid-row:1 / 4;align-self:center}
 .module-header.has-tracking .module-identity{grid-column:2;grid-row:1;gap:6px;align-self:center;border-right:0;padding:0}
 .has-tracking .module-logo{display:block;width:18px;height:18px;max-width:18px}
 .has-tracking .module-eyebrow{font-size:.75rem;line-height:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .has-tracking .current-page{grid-column:2;grid-row:2;padding:0;border:0;align-self:center}
 .has-tracking .tracking-crumbs{grid-column:2 / 4;grid-row:3;padding-left:0;line-height:16px;height:16px;align-self:center;font-size:11px}
 .has-tracking .tracking-actions{grid-column:3;grid-row:1 / 3;margin-right:0}
 .has-tracking .crumb-module-name{display:none}
 .tracking-actions .action-text{display:none}
 .tracking-actions{gap:4px}
 .tracking-actions button{padding:8px}
 .direct-tracking{padding:6px 10px}
 .direct-tracking .tracking-crumbs{flex:1}
}

.ongoing-tps{margin:20px 0;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ongoing-title{font-size:1rem;font-weight:600;line-height:1.5;color:var(--muted);margin:0;padding:0;border:0;cursor:pointer}

@media(min-width:1025px){
 .module-header.has-tracking{position:relative;border-bottom:0}
 .module-header.has-tracking::after{content:"";position:absolute;left:325px;right:0;bottom:0;height:1px;background:var(--line);pointer-events:none}
}

.tp-progress-caption{font-size:.8rem;margin-top:2px!important;color:var(--muted)}

.strict-courses{margin:20px 0;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.strict-courses>summary{cursor:pointer;color:var(--muted);font-weight:600}

/* Keep course search available after its original position is crossed. */
.modules-home .search-box{position:sticky;top:0;z-index:30;background:var(--bg,#0b1220);padding:10px 0;}
.modules-home .search-results{max-height:min(430px,60dvh);}
