/* Shared navigation stays concealed until the server confirms internal access. */
[data-toefl-course-entry][hidden], [data-toefl-course-shell-nav][hidden] { display: none !important; }
.toefl-course-progress-card [hidden] { display: none !important; }
.sidebar-tab[href], .mobile-tab[href] { text-decoration: none; }
.toefl-course-hub-layout { background: var(--course-bg); }
.toefl-course-hub-layout > .practice-sidebar { flex: 0 0 240px; background: var(--course-surface); border-color: var(--course-border); }
.toefl-course-hub-layout .sidebar-header { color: var(--course-muted); }
.toefl-course-hub-layout .sidebar-header > a { font-weight: 700; color: var(--course-text); }
.toefl-course-hub-main { min-width: 0; background: var(--course-bg); padding: 32px clamp(16px, 3vw, 44px) 80px; }
.toefl-course-hub-main .toefl-course-page { max-width: 1120px; margin: 0 auto; padding: 0; }
.toefl-course-hub-layout .sidebar-tab { color: var(--course-muted); }
.toefl-course-hub-layout .sidebar-tab.active { color: #fff; background: var(--course-accent); border-color: var(--course-accent); }
.toefl-course-hub-layout .sidebar-tab:not(.active):hover { background: var(--course-soft); color: var(--course-link); }
.toefl-course-hub-return { display: inline-block; margin: 0 0 16px; color: var(--course-link); font-weight: 600; }
.toefl-course-hub-outline { margin: 16px 0 24px; border: 1px solid var(--course-border); border-radius: 12px; background: var(--course-surface); padding: 12px 18px; }
.toefl-course-hub-outline summary { cursor: pointer; font-weight: 700; color: var(--course-link); }
.toefl-course-hub-outline[open] { max-height: 360px; overflow-y: auto; }
.toefl-course-hub-outline h2 { font-size: 15px; margin: 18px 0 8px; }
.toefl-course-hub-outline li { margin: 8px 0; }
.toefl-course-hub-outline a { display: block; color: var(--course-muted); padding: 3px 0; }
.toefl-course-hub-outline [aria-current] { color: var(--course-link); font-weight: 700; }
.toefl-course-strategies { border: 1px solid var(--border-primary, #e5e4e1); border-radius: 12px; padding: 14px 18px; margin: 0 0 24px; background: var(--bg-white, #fff); color: var(--text-primary, #1a1816); font-size: 14px; }
.toefl-course-strategies > div { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-top: 6px; }
.toefl-course-strategies a { color: var(--primary, #4a5d4a); text-decoration: underline; text-underline-offset: 3px; }
.toefl-course-hub-enabled :is(.sidebar-tab, .mobile-tab, .toefl-course-hub-outline a, .toefl-course-hub-outline summary):focus-visible { outline: 2px solid var(--primary, #4a5d4a); outline-offset: 3px; }
@media (max-width: 768px) {
    .toefl-course-hub-layout > .practice-sidebar { display: none; }
    .toefl-course-hub-main { padding: 20px 16px 100px; }
    .toefl-course-hub-enabled .mobile-bottom-tabs { height: calc(56px + env(safe-area-inset-bottom)); }
    .toefl-course-hub-enabled .mobile-tab { min-height: 48px; }
    .toefl-course-hub-enabled .mobile-tab-label { font-size: 10px; }
    .toefl-course-hub-enabled .toefl-course-petra-toggle { bottom: calc(72px + env(safe-area-inset-bottom)); }
    .toefl-course-hub-enabled .toefl-course-petra-drawer { bottom: calc(132px + env(safe-area-inset-bottom)); max-height: calc(100dvh - 220px); }
}
@media (min-width: 769px) and (max-width: 1300px) {
    .toefl-course-hub-main .toefl-course-home-layout { grid-template-columns: 1fr; }
    .toefl-course-hub-main .toefl-course-media-stage.is-transcript-open { grid-template-columns: 1fr; }
}
