.student-topic-card{display:flex;flex-direction:column;justify-content:space-between;color:var(--navy);text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.student-topic-card:hover{transform:translateY(-3px);border-color:#b99aef;box-shadow:0 14px 34px #26104a12}
.learning-list{display:grid;gap:16px}
.learning-row{display:grid;grid-template-columns:56px minmax(0,1fr) 160px 28px;gap:20px;align-items:center;padding:24px;background:#fff;border:1px solid var(--line);border-radius:20px;color:var(--navy);text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.learning-row:hover{transform:translateY(-2px);border-color:#b99aef;box-shadow:0 14px 34px #26104a12}
.lesson-step{width:48px;height:48px;border-radius:15px;background:var(--lav);color:var(--purple);display:grid;place-items:center;font-weight:900}
.learning-row small,.student-activity small{font-size:.7rem;font-weight:900;letter-spacing:.11em;color:var(--purple)}
.learning-row h2{font-size:1.3rem;margin:5px 0}
.learning-row p{margin:0;color:var(--muted);font-size:.86rem}
.learning-progress strong{display:block;text-align:right;margin-bottom:8px}
.row-arrow{font-size:1.4rem;color:var(--purple)}
.learn-head{align-items:center}
.lesson-score{min-width:110px;padding:15px 20px;border:1px solid var(--line);border-radius:18px;background:#fff;text-align:center}
.lesson-score strong,.lesson-score span{display:block}
.lesson-score strong{font-size:1.65rem;color:var(--purple)}
.lesson-score span{font-size:.72rem;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.learn-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:24px;align-items:start}
.learn-nav{position:sticky;top:24px;padding:22px;background:#fff;border:1px solid var(--line);border-radius:20px}
.learn-nav>a{display:flex;align-items:center;gap:11px;padding:12px 0;color:var(--navy);text-decoration:none;font-weight:800;border-bottom:1px solid var(--line)}
.learn-nav>a:last-child{border-bottom:0}
.learn-nav>a>span{flex:0 0 30px;width:30px;height:30px;border-radius:10px;background:var(--lav);color:var(--purple);display:grid;place-items:center}
.learn-nav .nav-label{display:block;width:auto;height:auto;min-width:0;background:transparent;color:var(--navy)}
.learn-nav .nav-label small{display:block;margin-top:3px;font-size:.62rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.learn-nav>a.done>span{background:#dcf7ee;color:#08765a}
.learn-nav>a.active{color:var(--purple)}
.learn-nav>a.active .nav-label{color:var(--purple)}
.learn-nav>a.active>span{outline:2px solid #8242d63b}
.learn-content{display:grid;gap:20px}
.student-activity{scroll-margin-top:24px;padding:28px;background:#fff;border:1px solid var(--line);border-radius:22px}
.student-activity.completed{border-color:#a9dfd1}
.student-activity.current{border-color:#cbb2f1;box-shadow:0 14px 38px #8242d610}
.activity-top{display:flex;justify-content:space-between;gap:20px;align-items:start}
.activity-top h2{font-size:1.55rem;margin:7px 0 18px}
.complete-pill{white-space:nowrap;padding:8px 12px;border-radius:20px;background:#dcf7ee;color:#08765a;font-size:.78rem;font-weight:900}
.current-pill{white-space:nowrap;padding:8px 12px;border-radius:20px;background:var(--lav);color:var(--purple);font-size:.78rem;font-weight:900}
.activity-content{line-height:1.7;color:#28334e;margin:0 0 20px}
.resource-button{display:inline-flex;margin:0 12px 18px 0;padding:12px 16px;border-radius:12px;background:var(--lav);color:var(--purple);text-decoration:none;font-weight:900}
.student-activity form{margin-top:4px}
.video-frame{position:relative;aspect-ratio:16/9;margin:4px 0 22px;border-radius:17px;overflow:hidden;background:#0b1029}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.xl-video-facade{position:absolute;inset:0;display:grid;background:linear-gradient(135deg,#171747 0%,#39226f 56%,#6f36d8 100%);overflow:hidden}
.guided-video-wrap{position:relative}
.guided-video-wrap>.xl-video-facade{position:absolute;inset:0}
.xl-video-facade:before,.xl-video-facade:after{content:"";position:absolute;border:1px solid #ffffff1f;border-radius:50%;pointer-events:none}
.xl-video-facade:before{width:360px;height:360px;right:-115px;top:-190px}
.xl-video-facade:after{width:220px;height:220px;left:-90px;bottom:-135px}
.xl-video-start{position:relative;z-index:1;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;padding:30px;border:0;background:transparent;color:#fff;text-align:center;cursor:pointer;font:inherit}
.xl-video-start>strong{max-width:680px;font-size:clamp(1.25rem,3vw,2rem);line-height:1.25;letter-spacing:-.02em}
.xl-video-brand{font-size:.72rem;font-weight:950;letter-spacing:.18em;color:#d7c6ff}.xl-video-brand b{color:#fff}
.xl-video-play{display:inline-flex;align-items:center;gap:10px;margin-top:3px;padding:11px 18px;border-radius:999px;background:#fff;color:#49218f;font-size:.86rem;font-weight:900;box-shadow:0 10px 28px #110b2b45;transition:transform .16s,box-shadow .16s}
.xl-video-play i{width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:10px solid currentColor}
.xl-video-start:hover .xl-video-play,.xl-video-start:focus-visible .xl-video-play{transform:translateY(-2px) scale(1.02);box-shadow:0 13px 34px #110b2b60}.xl-video-start:focus-visible{outline:3px solid #ffb648;outline-offset:-5px}
.xl-video-facade.is-loading .xl-video-play{opacity:.72;pointer-events:none}
.xl-video-facade iframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:3;background:#000}
@media(max-width:600px){.xl-video-start{gap:9px;padding:20px}.xl-video-start>strong{font-size:1.15rem}.xl-video-play{padding:9px 15px}}
.activity-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
.activity-actions form{margin:0}.btn.secondary{background:#fff;color:var(--navy);border:1px solid var(--line)}
.step-navigation{display:flex;gap:16px}.step-navigation a{color:var(--purple);text-decoration:none;font-weight:900}
.hero-progress-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.hero-progress-row p{margin:0}.continue-button{background:var(--orange);color:var(--navy);white-space:nowrap}
@media(max-width:800px){.learning-row{grid-template-columns:45px minmax(0,1fr) 24px;padding:18px;gap:12px}.learning-progress{grid-column:2/4}.learning-progress strong{text-align:left}.learn-layout{grid-template-columns:1fr}.learn-nav{position:static}.activity-top{display:block}.complete-pill{display:inline-block;margin-bottom:12px}.activity-actions,.hero-progress-row{align-items:flex-start;flex-direction:column}.step-navigation{width:100%;justify-content:space-between}}

/* Student panel v20 */
.student-dashboard-page .topbar,.student-dashboard-page>footer{display:none}.student-dashboard-page .shell{max-width:none;min-height:100vh;padding:0}
.student-app-shell{min-height:100vh;display:grid;grid-template-columns:230px minmax(0,1fr);background:#f7f6fb}
.student-sidebar{position:sticky;top:0;height:100vh;padding:26px 20px;display:flex;flex-direction:column;background:#fff;border-right:1px solid var(--line)}
.student-brand{display:flex;align-items:center;gap:11px;color:var(--navy);text-decoration:none;letter-spacing:.05em}.student-brand span{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:linear-gradient(135deg,#6b2bd5,#914be9);color:#fff;font-weight:900}.student-brand strong{font-size:1.05rem}
.subject-switch{margin:30px 0 22px;padding:15px;border:1px solid var(--line);border-radius:15px;background:#faf9fd}.subject-switch small,.subject-switch strong,.subject-switch span{display:block}.subject-switch small{color:var(--muted);font-size:.58rem;font-weight:900;letter-spacing:.12em}.subject-switch strong{margin:7px 0 3px;color:var(--navy)}.subject-switch span{color:var(--muted);font-size:.74rem}
.student-sidebar nav{display:grid;gap:6px}.student-sidebar nav a{display:flex;align-items:center;gap:12px;padding:12px 13px;border-radius:12px;color:var(--muted);text-decoration:none;font-weight:800}.student-sidebar nav a b{width:20px;text-align:center}.student-sidebar nav a:hover,.student-sidebar nav a.active{background:#f1eaff;color:var(--purple)}.sidebar-footer{margin-top:auto;padding-top:16px;border-top:1px solid var(--line)}.sidebar-footer a{color:var(--muted);font-weight:800;text-decoration:none}
.student-dashboard-main{width:100%;max-width:1220px;margin:0 auto;padding:38px 42px 64px;min-width:0}.student-dashboard-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:24px}.student-dashboard-head h1{margin:6px 0;color:var(--navy);font-size:clamp(2rem,4vw,3rem);letter-spacing:-.045em}.student-dashboard-head p:last-child{margin:0;color:var(--muted)}.head-course{text-align:right}.head-course strong,.head-course span{display:block}.head-course strong{color:var(--purple)}.head-course span{margin-top:4px;color:var(--navy);font-size:.78rem;font-weight:800}
.home-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:16px}.home-continue{grid-row:span 2;min-height:270px;padding:28px 30px;border-radius:22px;background:linear-gradient(135deg,#141c4d,#292368);color:#fff;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 16px 42px #151a3317}.home-continue .eyebrow{color:#c3a6ff!important}.home-continue h2{font-size:clamp(1.8rem,3vw,2.65rem);margin:8px 0}.home-continue p:not(.eyebrow),.home-continue small{color:#cbd0e8}.home-continue .btn{align-self:flex-start;margin-top:22px}.mini-progress.dark{background:#ffffff2b}.mini-progress.dark span{background:linear-gradient(90deg,#a772ff,var(--orange))}.practice-button{background:var(--orange);color:var(--navy)}
.attention-card{min-height:126px;padding:22px 24px;border:1px solid var(--line);border-radius:19px;background:#fff}.attention-card h3{margin:6px 0;color:var(--navy)}.attention-card p{margin:0 0 10px;color:var(--muted);font-size:.83rem}.attention-card a{color:var(--purple);font-weight:900;text-decoration:none}.live-card{background:#fffaf2;border-color:#f1d9ac}
.section-title-row{display:flex;justify-content:space-between;align-items:end;margin:34px 0 16px}.section-title-row h2{margin:5px 0 0;color:var(--navy)}.section-title-row>a{color:var(--purple);font-weight:900;text-decoration:none}.home-topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.home-topic{display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:14px;padding:18px;border:1px solid var(--line);border-radius:17px;background:#fff;color:var(--navy);text-decoration:none}.topic-icon{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:var(--lav);color:var(--purple);font-weight:900}.home-topic h3{margin:0 0 4px}.home-topic small{color:var(--muted)}.home-topic>strong{color:var(--purple)}
.practice-intro{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:18px;padding:25px 28px;border:1px solid #dfcff7;border-radius:21px;background:linear-gradient(135deg,#f5efff,#fff9ed)}.practice-intro h2{margin:5px 0;color:var(--navy);font-size:1.8rem}.practice-intro p:last-child{margin:0;color:var(--muted)}.practice-intro>span{width:76px;height:76px;border-radius:21px;display:grid;place-items:center;background:var(--purple);color:#fff;font-size:1.8rem;font-weight:900}.practice-list{display:grid;gap:12px}.practice-list article{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;border:1px solid var(--line);border-radius:17px;background:#fff}.practice-list h3{margin:5px 0;color:var(--navy)}.practice-list p{margin:0;color:var(--muted);font-size:.82rem}.practice-type{color:var(--purple);font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.dashboard-primary{background:var(--purple);color:#fff;white-space:nowrap}
.feature-empty{min-height:390px;display:grid;place-content:center;text-align:center}.progress-summary{display:grid;grid-template-columns:1fr auto;gap:15px;padding:26px 28px;border:1px solid var(--line);border-radius:20px;background:#fff}.progress-summary h2{margin:5px 0}.progress-summary p:last-child{margin:0;color:var(--muted)}.progress-summary>strong{color:var(--purple);font-size:2rem}.progress-summary .mini-progress{grid-column:1/-1}.progress-topic-list{display:grid;gap:10px;margin-top:18px}.progress-topic-list a{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 20px;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--navy);text-decoration:none}.progress-topic-list h3{margin:4px 0}.progress-topic-list small,.progress-topic-list span{display:block;color:var(--muted)}.progress-topic-list>a>div:last-child{text-align:right}.progress-topic-list strong{color:var(--purple);font-size:1.2rem}
.dashboard-empty{margin-top:25px}.student-dashboard-page .student-unit{margin-bottom:30px}
@media(max-width:960px){.student-app-shell{grid-template-columns:205px 1fr}.student-dashboard-main{padding:32px 25px 55px}.home-grid{grid-template-columns:1fr}.home-continue{grid-row:auto}.home-topic-grid{grid-template-columns:1fr}}
@media(max-width:700px){.student-app-shell{display:block}.student-sidebar{position:static;height:auto;padding:15px}.student-brand{margin-bottom:12px}.subject-switch{display:none}.student-sidebar nav{display:flex;overflow:auto}.student-sidebar nav a{flex:0 0 auto;padding:9px 11px}.sidebar-footer{display:none}.student-dashboard-main{padding:28px 16px 48px}.student-dashboard-head{align-items:start}.head-course{display:none}.home-continue{min-height:235px;padding:23px}.practice-list article,.practice-intro{align-items:flex-start;flex-direction:column}.practice-intro>span{display:none}.student-topic-grid{grid-template-columns:1fr}.progress-topic-list a{align-items:flex-start}.home-topic{grid-template-columns:42px 1fr auto}}

/* Student panel v21 — approved XL Revise dashboard */
.student-app-shell{grid-template-columns:284px minmax(0,1fr);background:#f7f7fd}
.student-sidebar{padding:30px 26px;background:linear-gradient(180deg,#10183f 0%,#17275c 100%);border:0;color:#fff}
.student-brand{gap:15px;color:#fff}.student-brand span{width:55px;height:55px;border-radius:17px;font-size:1.15rem}.student-brand strong{font-size:1.35rem;letter-spacing:.08em}
.subject-switch{position:relative;margin:34px 0 24px;padding:20px 18px;background:#ffffff08;border:1px solid #ffffff2b;border-radius:18px}.subject-switch:after{content:'⌄';position:absolute;right:18px;top:31px;color:#fff}.subject-switch small{color:#aab2d2}.subject-switch strong{color:#fff;font-size:1.08rem}.subject-switch span{color:#aab2d2;font-size:.82rem}
.student-sidebar nav{gap:8px}.student-sidebar nav a{padding:14px 16px;color:#c7cce0;border-radius:14px;font-size:.96rem}.student-sidebar nav a:hover,.student-sidebar nav a.active{background:linear-gradient(135deg,#6f37df,#7f39ed);color:#fff}.student-sidebar nav a b{color:inherit}.sidebar-footer{border-color:#ffffff24}.sidebar-footer a{color:#fff}
.student-dashboard-main{max-width:none;margin:0;padding:0 42px 70px;background:#f8f8fd}.student-account-bar{height:72px;margin:0 -42px 42px;padding:0 42px;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line)}.student-account{display:flex;align-items:center;gap:11px}.student-account>span{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:#eee7ff;color:var(--purple);font-weight:900}.student-account strong{color:var(--navy)}
.student-dashboard-head{max-width:1240px;margin:0 auto 26px;align-items:end}.student-dashboard-head h1{font-size:clamp(2.35rem,4vw,3.55rem);font-weight:500;letter-spacing:-.05em}.student-dashboard-head>div>p:last-child{font-size:1.02rem}.head-course{padding-bottom:4px}.head-course strong{font-size:1rem}.preview-banner,.home-grid,.section-title-row,.study-mode-grid,.home-topic-grid,.student-curriculum,.practice-intro,.practice-list,.feature-empty,.progress-summary,.progress-topic-list,.dashboard-empty{max-width:1240px;margin-left:auto;margin-right:auto}
.preview-banner{margin-bottom:22px}
.draft-testing-banner{border-color:#cfc2ed;background:#f6f1ff;color:#51309b}.draft-testing-banner strong{color:#6f39db}
.home-grid{grid-template-columns:minmax(0,1.58fr) minmax(300px,.92fr);gap:20px}.home-continue{min-height:412px;padding:34px 36px;background:#fff;color:var(--navy);border:1px solid #d9c8fa;border-radius:22px;box-shadow:none}.continue-heading{display:grid;grid-template-columns:58px 1fr auto;align-items:center;gap:18px}.continue-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:16px;background:#f0e9ff;color:var(--purple);font-size:1.3rem}.continue-heading h2{margin:4px 0;font-size:2rem;font-weight:500}.continue-heading p:not(.eyebrow){margin:0;color:var(--muted)}.time-pill{align-self:start;padding:9px 14px;border-radius:999px;background:#efe8ff;color:var(--purple);font-size:.72rem;font-weight:900}.pathway-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin:28px 0}.pathway-step{position:relative;min-height:78px;padding:15px;display:flex;align-items:center;gap:11px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--navy);text-decoration:none}.pathway-step:not(:last-child):after{content:'';position:absolute;left:100%;top:50%;width:14px;border-top:1px solid #d5d1df}.pathway-step>span{flex:0 0 34px;width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#f1ebff;color:var(--purple);font-weight:900}.pathway-step strong,.pathway-step small{display:block}.pathway-step strong{font-size:.76rem;line-height:1.15}.pathway-step small{margin-top:4px;color:var(--muted);font-size:.64rem}.pathway-step.done>span{background:#dcf8ef;color:#009c78}.pathway-step.current{border:2px solid #8750ed}.pathway-step.current small{color:var(--purple);font-weight:900}.continue-footer{margin-top:auto;padding-top:18px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto;align-items:end;gap:28px}.continue-footer>div>div:first-child{display:flex;justify-content:space-between;color:var(--muted);font-size:.72rem}.continue-footer .mini-progress{margin:8px 0 12px}.continue-footer small{color:var(--muted)}.continue-footer .btn{padding:15px 22px}
.attention-card{min-height:194px;padding:28px 30px}.attention-card h3{font-size:1.35rem}.attention-card p{font-size:.88rem}.assignment-card{border-left:5px solid var(--orange)}.live-card{min-height:194px;background:linear-gradient(135deg,#191b58,#292367);border-color:#292367;color:#fff}.live-card .eyebrow{color:#c5a5ff!important}.live-card h3{color:#fff}.live-card p{color:#c8cce2}
.section-title-row{margin-top:36px}.study-heading{margin-bottom:15px}.study-mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.study-mode-grid>a{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:14px;padding:20px;border:1px solid var(--line);border-radius:17px;background:#fff;color:var(--navy);text-decoration:none}.study-mode-grid>a>span{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:#f1eaff;color:var(--purple);font-weight:900}.study-mode-grid h3{margin:0 0 4px}.study-mode-grid p{margin:0;color:var(--muted);font-size:.75rem;line-height:1.35}.study-mode-grid b{color:var(--purple)}
@media(max-width:1050px){.student-app-shell{grid-template-columns:230px 1fr}.home-grid{grid-template-columns:1fr}.home-continue{grid-row:auto}.attention-card{min-height:150px}.study-mode-grid{grid-template-columns:1fr}.student-dashboard-main{padding:0 25px 60px}.student-account-bar{margin:0 -25px 34px;padding:0 25px}}
@media(max-width:700px){.student-sidebar{background:#111a45}.student-brand{margin:0}.student-account-bar{display:none}.student-dashboard-main{padding-top:26px}.student-dashboard-head h1{font-size:2.25rem}.continue-heading{grid-template-columns:48px 1fr}.time-pill{display:none}.pathway-steps{grid-template-columns:1fr}.pathway-step:not(:last-child):after{display:none}.continue-footer{grid-template-columns:1fr}.home-continue{padding:23px;min-height:auto}.student-account{display:none}}

/* Student panel v22 — exact approved mockup styling */
.student-dashboard-page,.student-dashboard-page button,.student-dashboard-page input{font-family:Inter,"Avenir Next","Segoe UI",Arial,sans-serif}
.student-dashboard-page h1,.student-dashboard-page h2,.student-dashboard-page h3,.student-dashboard-page h4{font-family:inherit;color:var(--navy);font-weight:500}
.student-dashboard-page .eyebrow{font-weight:700;letter-spacing:.16em}
.student-sidebar{padding:34px 28px}.student-brand strong{font-weight:700}.subject-switch strong{font-weight:600}
.student-sidebar nav a,.sidebar-footer a{font-weight:600}.student-account strong{font-weight:600}
.student-dashboard-main{padding-bottom:80px}.student-account-bar{height:76px;margin-bottom:48px}
.student-dashboard-head h1{font-size:clamp(3rem,4.4vw,4.35rem);font-weight:400;line-height:1.02;letter-spacing:-.055em}
.student-dashboard-head>div>p:last-child{font-size:1.12rem;font-weight:400}.head-course strong{font-weight:600}.head-course span{font-weight:600}
.btn,.dashboard-primary,.practice-button{font-weight:700}.preview-banner strong{font-weight:700}
.continue-heading h2{font-size:2.2rem;font-weight:400;letter-spacing:-.035em}.pathway-step strong{font-weight:600}.pathway-step.current small,.time-pill{font-weight:700}
.attention-card h3,.section-title-row h2,.study-mode-grid h3,.home-topic h3{font-weight:600}.attention-card a,.section-title-row>a{font-weight:700}
.course-practice-cta{display:inline-flex;padding:15px 22px;border-radius:13px;background:var(--orange);color:var(--navy);font-weight:700;text-decoration:none;white-space:nowrap}
.practice-exam-cta{display:inline-flex;padding:14px 20px;border:1px solid #cdb4f4;border-radius:13px;background:#fff;color:var(--purple);font-weight:700;text-decoration:none;white-space:nowrap}
.course-resume-banner{max-width:1240px;margin:0 auto 24px;padding:30px 32px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:30px;border-radius:22px;background:linear-gradient(135deg,#171b55,#29236c);color:#fff}
.course-resume-banner .eyebrow{color:#c4a5ff!important}.course-resume-banner h2{margin:8px 0;color:#fff;font-size:2rem;font-weight:400;letter-spacing:-.03em}.course-resume-banner p:not(.eyebrow){margin:0;color:#c9cde4}.course-resume-banner .mini-progress{max-width:720px;margin-top:18px;background:#ffffff25}.course-resume-banner .btn{background:var(--orange);color:var(--navy)}
.course-unit-overview{max-width:1240px;margin:0 auto 32px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.course-unit-card{min-height:205px;padding:26px;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:20px;background:#fff;color:var(--navy);text-decoration:none}.course-unit-card>span{width:52px;height:52px;display:grid;place-items:center;border-radius:14px;background:var(--lav);color:var(--purple);font-weight:700}.course-unit-card small{margin-top:24px;color:var(--purple);font-weight:700;letter-spacing:.11em}.course-unit-card h2{margin:8px 0 5px;font-size:1.55rem;font-weight:500}.course-unit-card p{margin:0;color:var(--muted)}.course-unit-card .mini-progress{margin-top:auto}.course-unit-card b{margin-top:12px;color:var(--purple);font-size:.82rem}.detailed-curriculum{max-width:1240px;margin:44px auto 0}
.practice-toolbar{max-width:1240px;margin:0 auto 24px;display:flex;align-items:center;gap:10px}.practice-toolbar>span{padding:12px 17px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--navy)}.practice-toolbar>span:first-child{border-color:#cdb4f4;background:var(--lav);color:var(--purple);font-weight:700}.practice-toolbar label{margin-left:auto;padding:11px 15px;border:1px solid var(--line);border-radius:12px;background:#fff}.practice-toolbar input{width:220px;border:0;outline:0;background:transparent;font-size:.95rem}
.practice-unit-grid{max-width:1240px;margin:0 auto 30px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.practice-unit-grid a{min-height:190px;padding:26px;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:20px;background:#fff;color:var(--navy);text-decoration:none}.practice-unit-grid span{width:54px;height:54px;display:grid;place-items:center;border-radius:14px;background:var(--lav);color:var(--purple);font-size:1.15rem;font-weight:700}.practice-unit-grid h2{margin:25px 0 6px;font-size:1.5rem;font-weight:500}.practice-unit-grid p{margin:0;color:var(--muted)}.practice-unit-grid .mini-progress{margin-top:auto}.practice-unit-grid small{margin-top:9px;color:var(--muted)}.polished-practice-list{margin-top:28px}
.progress-metrics{max-width:1240px;margin:0 auto 22px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.progress-metrics article{min-height:145px;padding:24px;border:1px solid var(--line);border-radius:18px;background:#fff}.progress-metrics small{display:block;color:var(--purple);font-size:.68rem;font-weight:700;letter-spacing:.08em}.progress-metrics strong{display:block;margin:14px 0 8px;color:var(--navy);font-size:2rem;font-weight:600}.progress-metrics p{margin:0;color:var(--muted);font-size:.78rem}
.mastery-panel{max-width:1240px;margin:0 auto 28px;padding:26px 28px;border:1px solid var(--line);border-radius:20px;background:#fff}.mastery-panel h2{margin:7px 0 15px;font-size:1.45rem;font-weight:500}.mastery-row{display:grid;grid-template-columns:210px minmax(0,1fr) 55px;align-items:center;gap:18px;padding:17px 0;border-top:1px solid var(--line)}.mastery-row>strong{font-weight:600;text-align:left}.mastery-row>b{text-align:right;font-weight:600}.mastery-row .mini-progress{margin:0}
.student-unit h3,.student-topic-card h4,.learning-row h2,.practice-list h3,.progress-topic-list h3{font-weight:600}.student-topic-card,.learning-row,.practice-list article,.progress-topic-list a{box-shadow:none}
@media(max-width:1050px){.course-unit-overview,.practice-unit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.student-dashboard-head h1{font-size:2.55rem}.course-resume-banner{grid-template-columns:1fr;padding:24px}.course-unit-overview,.practice-unit-grid,.progress-metrics{grid-template-columns:1fr}.practice-toolbar{align-items:stretch;flex-wrap:wrap}.practice-toolbar label{margin-left:0;width:100%}.practice-toolbar input{width:calc(100% - 24px)}.mastery-row{grid-template-columns:1fr 50px}.mastery-row .mini-progress{grid-column:1/-1;grid-row:2}.course-practice-cta,.practice-exam-cta{display:none}}

/* Student panel v23 — final visual alignment with the approved XL Revise mockup */
.student-dashboard-page{
  --navy:#0e183d;
  --purple:#7541eb;
  --orange:#ff9f18;
  --ink:#121b3b;
  --muted:#6d7690;
  --line:#e1e5ef;
  --paper:#f7f7fb;
  --lav:#f2edff;
  background:var(--paper);
  color:var(--ink);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
}
.student-app-shell{grid-template-columns:228px minmax(0,1fr);background:var(--paper)}
.student-sidebar{width:228px;padding:27px 18px 20px;background:linear-gradient(170deg,#0e183d,#101946 65%,#18245b);border:0}
.student-brand{gap:11px;padding:0 10px 26px;letter-spacing:.08em}
.student-brand span{width:45px;height:45px;border-radius:13px;font-size:1rem;background:linear-gradient(135deg,#824df0,#6230d6)}
.student-brand strong{font-size:1.08rem;font-weight:800}
.subject-switch{margin:0 4px 20px;padding:13px;border:1px solid #3b4774;border-radius:13px;background:#ffffff0a}
.subject-switch:after{right:13px;top:27px}
.subject-switch small{font-size:.5rem;color:#b9c4e5}
.subject-switch strong{margin:5px 0 2px;font-size:.8rem;font-weight:700}
.subject-switch span{font-size:.63rem;color:#b9c4e5}
.student-sidebar nav{gap:6px}
.student-sidebar nav a{min-height:47px;padding:0 13px;border-radius:11px;color:#dce3ff;font-size:.78rem;font-weight:620}
.student-sidebar nav a b{font-size:1.1rem;width:23px}
.student-sidebar nav a:hover,.student-sidebar nav a.active{background:linear-gradient(100deg,#7141eb,#6031d9);box-shadow:0 8px 22px #040a263d}
.sidebar-footer a{font-size:.74rem;font-weight:620;color:#dce3ff}
.student-dashboard-main{padding:0 clamp(24px,3.5vw,52px) 65px;background:var(--paper)}
.student-account-bar{height:74px;margin:0 calc(clamp(24px,3.5vw,52px) * -1) 30px;padding:0 clamp(24px,3.5vw,52px);background:#ffffffeb;backdrop-filter:blur(14px)}
.student-account>span{width:37px;height:37px;font-size:.72rem}
.student-account strong{font-size:.75rem;font-weight:700}
.student-dashboard-head{max-width:1280px;margin:0 auto 24px;align-items:center}
.student-dashboard-head h1{margin:0 0 7px;font-size:clamp(30px,3.2vw,44px);line-height:1.05;font-weight:700;letter-spacing:-.045em}
.student-dashboard-head>div>p:last-child{font-size:.875rem;line-height:1.45}
.student-dashboard-page .eyebrow{margin:0 0 8px;font-size:.625rem!important;font-weight:850;letter-spacing:.17em}
.head-course strong{font-size:.75rem;font-weight:800}.head-course span{font-size:.7rem}
.preview-banner,.home-grid,.section-title-row,.study-mode-grid,.home-topic-grid,.student-curriculum,.practice-list,.feature-empty,.progress-topic-list,.dashboard-empty,.course-resume-banner,.course-unit-overview,.practice-toolbar,.practice-unit-grid,.progress-metrics,.mastery-panel{max-width:1280px}
.home-grid{grid-template-columns:minmax(0,1.22fr) minmax(390px,.88fr);gap:18px;align-items:stretch}
.home-continue{grid-row:span 2;min-height:408px;padding:27px 28px;border:1px solid #d5c7f8;border-radius:20px;background:linear-gradient(140deg,#fff 0%,#fdfcff 54%,#f4efff 100%);box-shadow:0 12px 34px #17204c0d}
.continue-heading{grid-template-columns:52px minmax(0,1fr) auto;gap:15px}
.continue-icon{width:46px;height:46px;border-radius:13px;font-size:1rem}
.continue-heading h2{margin:0 0 5px;font-size:1.75rem;font-weight:700;line-height:1.1;letter-spacing:-.025em}
.continue-heading p:not(.eyebrow){font-size:.7rem}
.time-pill{padding:7px 10px;font-size:.56rem}
.pathway-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:27px 0 24px}
.pathway-step{min-height:66px;padding:13px 11px;gap:9px;border-radius:13px}
.pathway-step:not(:last-child):after{width:10px}
.pathway-step>span{flex-basis:28px;width:28px;height:28px;border-radius:9px;font-size:.63rem}
.pathway-step{min-width:0;align-items:flex-start}
.pathway-step>div{flex:1 1 0;min-width:0}
.pathway-step strong{font-size:.63rem;font-weight:700;line-height:1.4;white-space:normal;overflow-wrap:anywhere}
.continue-heading>div{min-width:0}
.continue-heading h2{overflow-wrap:anywhere}
.pathway-step small{font-size:.5rem}
.continue-footer{padding-top:18px;gap:22px}
.continue-footer>div>div:first-child,.continue-footer small{font-size:.63rem}
.continue-footer .btn{padding:12px 18px;border-radius:10px;font-size:.75rem}
.attention-card{min-height:0;height:100%;padding:21px;border-radius:18px;box-shadow:0 10px 30px #1520440b;display:flex;flex-direction:column;justify-content:center}
.attention-card h3{margin:0 0 6px;font-size:1.18rem;font-weight:700;line-height:1.2}
.attention-card p{margin:0 0 12px;font-size:.64rem;line-height:1.45}
.attention-card a{font-size:.7rem}
.assignment-card{border-left:4px solid #ffad32}
.live-card{border-left:4px solid #8f6cff;background:linear-gradient(125deg,#151e4c,#292263)}
.section-title-row{margin:25px auto 14px}.section-title-row h2{margin:4px 0 0;font-size:1.38rem;font-weight:700}
.study-mode-grid{gap:14px}
.study-mode-grid>a{min-height:88px;padding:18px 19px;border-radius:14px;grid-template-columns:40px 1fr 18px;gap:11px;transition:.18s ease}
.study-mode-grid>a:hover{transform:translateY(-2px);border-color:#bca9ef;box-shadow:0 10px 24px #1b24500c}
.study-mode-grid>a>span{width:39px;height:39px;border-radius:11px}
.study-mode-grid h3{font-size:.94rem;font-weight:700}.study-mode-grid p{font-size:.63rem}.study-mode-grid b{font-size:.8rem}
.course-resume-banner{padding:25px 28px;border-radius:18px}.course-resume-banner h2{font-size:1.65rem;font-weight:700}
.course-unit-overview,.practice-unit-grid{gap:14px}.course-unit-card,.practice-unit-grid a{min-height:190px;padding:20px;border-radius:15px}
.course-unit-card h2,.practice-unit-grid h2{font-size:1.15rem;font-weight:700}.course-unit-card p,.practice-unit-grid p{font-size:.72rem}
.practice-toolbar>span,.practice-toolbar label{padding:10px 13px;border-radius:9px;font-size:.75rem}
.practice-list article{border-radius:15px;padding:18px 20px}.practice-list h3{font-size:1rem;font-weight:700}.practice-list p{font-size:.68rem}
.progress-metrics{gap:12px}.progress-metrics article{min-height:130px;padding:19px;border-radius:15px}.progress-metrics strong{font-size:1.7rem}.mastery-panel{border-radius:15px}
@media(max-width:1120px){
  .home-grid{grid-template-columns:1fr}.home-continue{grid-row:auto;min-height:360px}.attention-card{min-height:180px}
}
@media(max-width:760px){
  .student-app-shell{display:block}.student-sidebar{position:fixed;inset:auto 0 0;width:100%;height:66px;padding:7px 3px;background:#fff;border-top:1px solid var(--line);z-index:100}
  .student-brand,.subject-switch,.sidebar-footer{display:none}.student-sidebar nav{display:grid;grid-template-columns:repeat(5,1fr);gap:0;height:100%}
  .student-sidebar nav a{min-height:0;padding:3px;display:grid;justify-items:center;align-content:center;gap:2px;border-radius:8px;color:#788096;font-size:.5rem}
  .student-sidebar nav a b{width:auto;font-size:1.1rem}.student-sidebar nav a:hover,.student-sidebar nav a.active{background:none;color:var(--purple);box-shadow:none}
  .student-dashboard-main{padding:0 14px 100px}.student-account-bar{height:64px;margin:0 -14px 22px;padding:0 15px}
  .student-dashboard-head{align-items:flex-start;gap:14px}.student-dashboard-head h1{font-size:1.88rem}.student-dashboard-head>div>p:last-child{font-size:.75rem}.head-course{display:none}
  .home-continue{min-height:0;padding:19px}.continue-heading{grid-template-columns:42px 1fr}.continue-icon{width:42px;height:42px}.continue-heading h2{font-size:1.45rem}.time-pill{display:none}
  .pathway-steps{grid-template-columns:1fr;margin:20px 0}.pathway-step:not(:last-child):after{display:none}.pathway-step strong{font-size:.7rem}
  .continue-footer{grid-template-columns:1fr}.continue-footer .btn{width:100%;text-align:center}.attention-card{min-height:0;padding:18px}
  .study-mode-grid,.course-unit-overview,.practice-unit-grid,.progress-metrics{grid-template-columns:1fr}.course-resume-banner{grid-template-columns:1fr;padding:22px}
  .practice-toolbar{align-items:stretch;flex-wrap:wrap}.practice-toolbar label{margin-left:0;width:100%}.practice-toolbar input{width:calc(100% - 24px)}
  .mastery-row{grid-template-columns:1fr 50px}.mastery-row .mini-progress{grid-column:1/-1;grid-row:2}.course-practice-cta,.practice-exam-cta{display:none}
}

/* v40 unified learning workspace */
.student-account-bar{justify-content:space-between}
.display-mode-switch{display:flex;gap:3px;padding:4px;border:1px solid var(--line);border-radius:999px;background:#f6f5f9}
.display-mode-switch button{width:auto;min-width:72px;height:31px;padding:0 11px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:999px;background:transparent;color:var(--muted);cursor:pointer;font:inherit;font-size:.69rem}
.display-mode-switch button span{font-size:.85rem;line-height:1}.display-mode-switch button strong{font-size:inherit;font-weight:800}.display-mode-switch button.active{background:var(--purple);color:#fff;box-shadow:0 4px 12px #7541eb2b}.display-mode-switch button:focus-visible{outline:3px solid #bca3f4;outline-offset:2px}
.topic-player-page .student-account-bar{margin-bottom:0}.topic-player-shell{width:min(1180px,100%);margin:0 auto;padding-top:24px}.topic-player-shell .breadcrumbs{margin-bottom:18px}.topic-player-shell .page-head{margin-bottom:24px}.topic-player-shell .page-head h1{font-size:clamp(2rem,3.5vw,3.15rem)}
.lesson-panel .activity-content{min-height:0;margin-bottom:20px}
.lesson-panel .video-frame{width:min(760px,calc(100% - clamp(48px,6.4vw,80px)));max-width:760px;margin:14px auto 28px}
.worked-example-player{margin:4px clamp(24px,3.2vw,40px) 30px}
.worked-example-player>nav{display:flex;justify-content:center;gap:8px;margin:0 0 15px}
.worked-example-player>nav button{width:37px;height:37px;padding:0;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--navy);font:inherit;font-size:.72rem;font-weight:900;cursor:pointer}
.worked-example-player>nav button.active{border-color:var(--purple);background:var(--purple);color:#fff;box-shadow:0 7px 16px #7541eb2b}
.worked-example-stack{perspective:1300px}.worked-example-card{display:none;min-height:300px;cursor:pointer;border-radius:18px;outline:0}.worked-example-card.active{display:block}.worked-example-inner{position:relative;min-height:300px;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.2,.75,.25,1)}.worked-example-card.flipped .worked-example-inner{transform:rotateY(180deg)}
.worked-example-face{position:absolute;inset:0;padding:32px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;border:1px solid #d5c5f6;border-radius:18px;backface-visibility:hidden;background:linear-gradient(140deg,#fff,#faf7ff);box-shadow:0 16px 34px #2010470c}
.worked-example-face small{color:var(--purple);font-weight:900;letter-spacing:.12em}.worked-example-face h3{max-width:900px;margin:19px 0;color:var(--navy);font-size:clamp(1.35rem,2.35vw,2rem);line-height:1.42}.worked-example-back{transform:rotateY(180deg);background:linear-gradient(140deg,#171e4a,#28205e);color:#fff}.worked-example-back small{color:#c9b7ff}.worked-example-back>div{width:100%;max-height:190px;overflow:auto;margin:18px 0;font-size:1rem;line-height:1.72}.flip-cue{margin-top:auto;padding-top:22px;color:var(--purple);font-size:.75rem;font-weight:900}.worked-example-back .flip-cue{color:#d9ccff}.worked-example-card:hover .worked-example-face{border-color:var(--purple);box-shadow:0 18px 38px #7541eb18}.worked-example-card:focus-visible .worked-example-face{outline:3px solid #9e7df1;outline-offset:3px}.worked-example-unavailable{padding:24px;border:1px dashed #cbb8f4;border-radius:14px;background:#faf8ff}
.worked-example-admin{max-width:1120px;margin:0 auto}.worked-example-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:22px 0}.worked-example-admin-grid fieldset{padding:18px;border:1px solid var(--line);border-radius:15px}.worked-example-admin-grid legend{padding:0 8px;color:var(--purple);font-weight:900}.worked-example-admin textarea{width:100%;margin-top:7px;padding:12px;border:1px solid #d7d5df;border-radius:10px;font:inherit;resize:vertical}
.worked-example-create-note{margin:4px 0 18px;padding:11px 13px;border-radius:10px;background:#f2edff;color:#5f31c6;font-size:.78rem;font-weight:750}
.student-dashboard-page .student-dashboard-main,.student-dashboard-page .student-app-shell{transition:background .2s ease,color .2s ease}
html[data-student-theme="dark"] .student-dashboard-page{--navy:#f5f1ff;--ink:#eef1ff;--muted:#aeb7d0;--line:#34405d;--paper:#10182b;--lav:#24203e;background:#10182b}
html[data-student-theme="dark"] .student-dashboard-main,html[data-student-theme="dark"] .student-app-shell{background:#10182b;color:#eef1ff}
html[data-student-theme="dark"] .student-account-bar{background:#162036e8;border-color:#34405d}
html[data-student-theme="dark"] .display-mode-switch{background:#0d1527;border-color:#34405d}
html[data-student-theme="dark"] .student-account strong,html[data-student-theme="dark"] .lesson-player-head h1,html[data-student-theme="dark"] .page-head h1{color:#f5f1ff}
html[data-student-theme="dark"] .lesson-tabs,html[data-student-theme="dark"] .lesson-tabs a,html[data-student-theme="dark"] .lesson-tab-content,html[data-student-theme="dark"] .lesson-panel,html[data-student-theme="dark"] .lesson-panel-actions,html[data-student-theme="dark"] .learning-row{background:#182238;color:#eef1ff;border-color:#34405d}
html[data-student-theme="dark"] .lesson-tabs a.done{background:#162b2d}html[data-student-theme="dark"] .lesson-tabs a.active{border-bottom-color:#182238}html[data-student-theme="dark"] .lesson-tabs a.active:after{background:#182238}
html[data-student-theme="dark"] .worked-example-face{background:linear-gradient(140deg,#182238,#222844);border-color:#544584}html[data-student-theme="dark"] .worked-example-face h3{color:#fff}html[data-student-theme="dark"] .worked-example-back{background:linear-gradient(140deg,#0c1225,#281b54)}
html[data-student-theme="dark"] .account-popover{background:#182238;border-color:#34405d}html[data-student-theme="dark"] .account-popover a,html[data-student-theme="dark"] .account-popover strong{color:#eef1ff}
@media(max-width:760px){.display-mode-switch{display:none}.topic-player-shell{padding-top:12px}.worked-example-player{margin:0 14px 22px}.worked-example-card,.worked-example-inner{min-height:340px}.worked-example-face{padding:24px}.worked-example-admin-grid{grid-template-columns:1fr}.lesson-panel .video-frame{width:calc(100% - 28px)}}

/* Student panel v24 — screenshot-matched finishing pass */
.student-dashboard-page h1,.student-dashboard-page h2,.student-dashboard-page h3,.student-dashboard-page h4{font-weight:400}
.student-dashboard-head h1{font-weight:400}
.student-brand strong{font-weight:750}
.subject-switch strong{font-weight:650}
.student-sidebar nav a{font-weight:600}
.platform-plan{display:flex;align-items:center;gap:10px;padding:5px;border-radius:10px;background:#f1eff8}
.platform-plan small{padding:0 7px;color:#7a8193;font-size:.5rem;font-weight:850;letter-spacing:.12em}
.platform-plan strong{padding:7px 10px;border-radius:7px;background:#fff;color:#5f32d4;font-size:.63rem;font-weight:800;box-shadow:0 2px 8px #17204112}
.student-streak{margin-top:auto;padding:14px;display:grid;grid-template-columns:25px 1fr;gap:2px 7px;border:1px solid #404c79;border-radius:13px;background:#ffffff08}
.student-streak>span{grid-row:span 2}.student-streak strong{font-size:.72rem;font-weight:700}.student-streak small{font-size:.55rem;color:#b8c2df}
.sidebar-footer{margin-top:8px;padding-top:0;border:0;display:grid;gap:3px}.sidebar-footer a{min-height:38px;padding:0 13px;display:flex;align-items:center;border-radius:9px}.sidebar-footer a:hover{background:#ffffff0c}
.continue-heading h2,.course-resume-banner h2{font-weight:400}
.attention-card h3,.section-title-row h2,.study-mode-grid h3{font-weight:500}
.complete-heading{display:grid;grid-template-columns:52px 1fr;gap:15px;align-items:center}.complete-heading h2{margin:0 0 5px;font-size:1.75rem;font-weight:400}.complete-heading p:not(.eyebrow){margin:0;color:var(--muted);font-size:.72rem}
.complete-summary{margin:auto 0 20px;padding:20px;border:1px solid #e1d8f7;border-radius:14px;background:#fff}.complete-summary>strong{display:block;color:var(--purple);font-size:2rem;font-weight:600}.complete-summary>span{display:block;margin:3px 0 13px;color:var(--muted);font-size:.65rem}
.course-unit-overview{margin-top:0;grid-template-columns:repeat(3,minmax(0,1fr))}
.course-unit-card{min-height:260px;padding:25px 26px;color:var(--ink);text-decoration:none}
.course-unit-card>span{width:54px;height:54px;border-radius:14px}
.course-unit-card small{margin-top:22px;font-size:.56rem;font-weight:750}
.course-unit-card h2{margin:8px 0 5px;font-size:1.45rem;font-weight:400}
.course-unit-card p{font-size:.68rem}.course-unit-card .mini-progress{margin-top:auto;margin-bottom:14px}
.course-unit-card>b{color:var(--purple);font-size:.72rem;font-weight:750}
.course-unit-card:hover{transform:translateY(-2px);border-color:#bca9ef;box-shadow:0 10px 24px #1b24500c}
.course-complete-banner .mini-progress span{width:100%;background:linear-gradient(90deg,#7541eb,#a742b5)}
@media(max-width:1050px){.course-unit-overview{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
  .platform-plan{display:none}.student-streak{display:none}.sidebar-footer{display:none}
  .course-unit-overview{grid-template-columns:1fr}.course-unit-card{min-height:220px}
  .complete-heading{grid-template-columns:42px 1fr}.complete-summary{margin-top:22px}
}

/* Student panel v25 — navigation and control refinements */
.student-streak>div{min-width:0;display:grid;gap:2px}.student-streak strong,.student-streak small{display:block;white-space:normal}.student-streak strong{line-height:1.2}.student-streak small{line-height:1.35}
.sidebar-footer{margin-top:10px;padding-top:10px;border-top:1px solid #ffffff20}.sidebar-footer .logout-link{min-height:34px;padding:0 13px;color:#b9c4e5;font-size:.65rem;font-weight:600}.sidebar-footer .logout-link:hover{background:#ffffff0b;color:#fff}
.practice-toolbar{display:grid;grid-template-columns:auto auto minmax(300px,1fr);align-items:center;gap:10px}
.practice-toolbar label{width:min(100%,520px);height:50px;margin:0 0 0 auto;padding:0 16px;display:flex;align-items:center;gap:10px;color:var(--ink);font-size:1rem}
.practice-toolbar input{width:100%;height:48px;margin:0;padding:0;border:0;outline:0;background:transparent;font-size:.9rem;font-weight:500}
.practice-toolbar input::placeholder{color:#858a9b}
.practice-unit-grid>a[hidden],.polished-practice-list>article[hidden]{display:none!important}
@media(max-width:900px){.practice-toolbar{grid-template-columns:auto auto}.practice-toolbar label{grid-column:1/-1;width:100%;max-width:none;margin:0}}
@media(max-width:760px){.practice-toolbar{display:grid;grid-template-columns:1fr 1fr}.practice-toolbar label{grid-column:1/-1;width:100%;height:48px}.practice-toolbar input{height:46px}}

/* v37 standard lesson player */
.standard-lesson-player{max-width:980px;margin:0 auto;display:block}
.standard-lesson-player .learn-nav{position:static;margin-bottom:18px;padding:10px;display:flex;gap:8px;overflow-x:auto;border-radius:15px}
.standard-lesson-player .learn-nav>.eyebrow{display:none}
.standard-lesson-player .learn-nav>a{min-width:135px;flex:1;padding:9px 10px;border:0;border-radius:10px;font-size:.72rem;white-space:nowrap}
.standard-lesson-player .learn-nav>a.active{background:var(--lav)}
.standard-lesson-player .learn-nav>a>span{width:27px;height:27px;flex-basis:27px;border-radius:8px}
.standard-lesson-player .student-activity{padding:clamp(22px,4vw,42px);border-radius:20px}
.standard-lesson-player .student-activity:not(.current){display:none}
.standard-lesson-player .video-frame{max-width:860px;margin:18px auto 28px}
.standard-lesson-player .activity-content{max-width:820px;font-size:1rem;line-height:1.75}
.standard-lesson-player .step-navigation a:last-child{padding:11px 15px;border-radius:10px;background:var(--lav)}

/* v37 lesson-level practice catalogue */
.practice-mode-tabs{max-width:1280px;margin:0 auto 20px;display:flex;gap:8px;padding:6px;border:1px solid var(--line);border-radius:13px;background:#fff;width:max-content}
.practice-mode-tabs a{padding:10px 14px;border-radius:9px;color:var(--muted);text-decoration:none;font-size:.76rem;font-weight:800}.practice-mode-tabs a.active,.practice-mode-tabs a:hover{background:var(--lav);color:var(--purple)}
.recommended-practice{max-width:1280px;margin:0 auto 22px;padding:24px 26px;display:flex;align-items:center;justify-content:space-between;gap:22px;border:1px solid #cdb8f7;border-radius:18px;background:linear-gradient(125deg,#fff,#f5efff)}
.recommended-practice h2{margin:5px 0 7px;font-size:1.4rem}.recommended-practice p{margin:0;color:var(--muted)}
.lesson-practice-catalog{max-width:1280px;margin:0 auto;display:grid;gap:14px}.lesson-practice-row{padding:22px;border:1px solid var(--line);border-radius:18px;background:#fff}.lesson-practice-title small{color:var(--purple);font-weight:800}.lesson-practice-title h2{margin:5px 0 18px;font-size:1.25rem}
.practice-level-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.practice-level-card{min-height:148px;padding:16px;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;background:#fafafe}.practice-level-card>span:first-child{font-weight:900;color:var(--navy)}.practice-level-card p{margin:5px 0;color:var(--muted);font-size:.76rem}.practice-level-card small{margin-top:auto;color:var(--muted);font-size:.68rem}.practice-level-card a{margin-top:12px;color:var(--purple);text-decoration:none;font-weight:900;font-size:.78rem}.practice-level-card.level-strengthen{border-color:#d4c2f6}.practice-level-card.level-deepen{border-color:#f1d3a2}.unavailable-level{margin-top:12px!important;color:#9a9faf!important;font-size:.72rem!important}
.review-practice{max-width:1280px;margin:34px auto 0}.review-practice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.review-practice-grid article{padding:19px;border:1px solid var(--line);border-radius:15px;background:#fff}.review-practice-grid h3{margin:7px 0}.review-practice-grid p,.review-practice-grid small{display:block;color:var(--muted);font-size:.75rem}.review-practice-grid a{display:inline-block;margin-top:13px;color:var(--purple);text-decoration:none;font-weight:900}
@media(max-width:800px){.standard-lesson-player .learn-nav>a{min-width:118px}.practice-level-grid,.review-practice-grid{grid-template-columns:1fr}.recommended-practice{align-items:flex-start;flex-direction:column}.practice-mode-tabs{width:100%;overflow-x:auto}.practice-mode-tabs a{white-space:nowrap}}

/* v38 connected-tab lesson player */
.lesson-player-page{background:#fbfbfe}
.lesson-player-page .shell{max-width:none;padding:0}
.lesson-player-page .student-dashboard-main{padding-bottom:54px}
.lesson-player-page .student-account-bar{margin-bottom:0}
.lesson-player-shell{width:min(1180px,100%);margin:0 auto;padding-top:22px}
.lesson-player-shell .breadcrumbs{margin:0 0 14px;font-size:.76rem}
.lesson-player-shell .breadcrumbs a{color:var(--purple);text-decoration:none;font-weight:800}
.lesson-player-shell .breadcrumbs span{margin:0 9px;color:#9298aa}
.lesson-player-shell .breadcrumbs strong{color:var(--muted)}
.lesson-player-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:18px}
.lesson-player-head .eyebrow{margin:0 0 8px}
.lesson-player-head h1{margin:0 0 7px;color:var(--navy);font-size:clamp(2rem,3.3vw,2.8rem);line-height:1.02;letter-spacing:-.045em}
.lesson-player-head>div>p:last-child{margin:0;color:var(--muted);font-size:.88rem}
.lesson-progress-summary{flex:0 0 210px;padding-bottom:5px}
.lesson-progress-summary p{margin:0 0 9px;color:var(--muted);font-size:.76rem;font-weight:700}
.lesson-progress-summary p strong{color:var(--purple)}
.lesson-progress-track{height:7px;overflow:hidden;border-radius:999px;background:#e7e6ed}
.lesson-progress-track span{display:block;height:100%;border-radius:inherit;background:var(--purple)}
.lesson-workspace{filter:drop-shadow(0 12px 28px #1820440c)}
.lesson-tabs{position:relative;z-index:2;display:flex;overflow-x:auto;scrollbar-width:none;border:1px solid var(--line);border-radius:15px 15px 0 0;background:#fff}.lesson-tabs::-webkit-scrollbar{display:none}
.lesson-tabs a{position:relative;min-width:190px;min-height:74px;flex:1;padding:14px 18px;display:flex;align-items:center;gap:12px;border-right:1px solid var(--line);color:var(--navy);text-decoration:none}
.lesson-tabs a:last-child{border-right:0}
.lesson-tabs a>span:last-child{min-width:0}
.lesson-tabs a strong,.lesson-tabs a small{display:block}
.lesson-tabs a strong{font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lesson-tabs a small{margin-top:4px;font-size:.58rem;letter-spacing:0;color:var(--muted);font-weight:700}
.lesson-tab-number{flex:0 0 34px;width:34px;height:34px;display:grid;place-items:center;border:1px solid #dfe1e8;border-radius:10px;background:#f7f7fa;color:var(--navy);font-size:.72rem;font-weight:900}
.lesson-tabs a.done{background:#fbfffd}
.lesson-tabs a.done .lesson-tab-number{border-color:#bce8dc;background:#dcf7ee;color:#08765a}
.lesson-tabs a.done small{color:#08765a}
.lesson-tabs a.active{z-index:3;margin:-1px 0 -1px;border:2px solid var(--purple);border-bottom-color:#fff;border-radius:13px 13px 0 0;background:#fff;color:var(--purple)}
.lesson-tabs a.active:after{content:'';position:absolute;left:0;right:0;bottom:-3px;height:4px;background:#fff}
.lesson-tabs a.active .lesson-tab-number{border-color:var(--purple);background:var(--purple);color:#fff}
.lesson-tabs a.active small{color:var(--purple)}
.lesson-tab-content{position:relative;z-index:1;margin-top:-1px;border:1px solid #bfa2f3;border-radius:0 0 17px 17px;background:#fff;overflow:hidden}
.lesson-panel{display:none;background:#fff}
.lesson-panel.current{display:block}
.lesson-panel>.activity-top,.lesson-panel>.activity-content,.lesson-panel>.video-frame,.lesson-panel>.resource-button{margin-left:clamp(24px,3.2vw,40px);margin-right:clamp(24px,3.2vw,40px)}
.lesson-panel>.activity-top{padding-top:31px}
.lesson-panel .activity-top h2{margin-bottom:16px;font-size:1.55rem}
.lesson-panel .activity-content{max-width:850px;min-height:140px;margin-bottom:24px;color:#28334e;font-size:.96rem;line-height:1.72}
.lesson-panel .video-frame{max-width:900px;margin-top:4px;margin-bottom:28px}
.lesson-panel-actions{min-height:82px;padding:16px clamp(24px,3.2vw,40px);display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid var(--line);background:#fff}
.lesson-panel-actions form{margin:0}
.lesson-secondary-action,.lesson-primary-action{min-height:46px;padding:0 20px;display:inline-flex;align-items:center;justify-content:center;border-radius:11px;font:inherit;font-size:.78rem;font-weight:850;text-decoration:none;cursor:pointer}
.lesson-secondary-action{border:1px solid var(--line);background:#fff;color:var(--navy)}
.lesson-primary-action{border:1px solid var(--purple);background:var(--purple);color:#fff;box-shadow:0 8px 20px #7541eb2b}
.lesson-primary-action:hover{background:#6f34cc}
@media(max-width:760px){
  .lesson-player-page .shell{padding:0}.lesson-player-page .student-dashboard-main{padding-bottom:92px}.lesson-player-shell{padding-top:12px}.lesson-player-shell .breadcrumbs{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .lesson-player-head{align-items:flex-start;flex-direction:column;gap:18px}.lesson-progress-summary{width:100%;flex-basis:auto}
  .lesson-tabs a{min-width:156px;padding:12px;gap:9px}.lesson-tabs a strong{font-size:.69rem}.lesson-tabs a small{font-size:.54rem}
  .lesson-panel>.activity-top{display:flex;align-items:flex-start}.lesson-panel .activity-content{font-size:.9rem}
  .lesson-panel-actions{min-height:0;align-items:stretch;flex-direction:column-reverse}.lesson-panel-actions>span{display:none}.lesson-secondary-action,.lesson-primary-action{width:100%}
}

/* v40 final cascade overrides */
.lesson-panel .activity-content{min-height:0;margin-bottom:20px}
.lesson-panel .video-frame{width:min(760px,calc(100% - clamp(48px,6.4vw,80px)));max-width:760px;margin:14px auto 28px}
@media(max-width:760px){.lesson-panel .video-frame{width:calc(100% - 28px)}}

/* v43 GCSE Maths checklist */
.course-head-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.checklist-outline-cta{border:1px solid #cbb6f6;background:#fff;color:var(--purple);box-shadow:none}
.checklist-outline-cta:hover{border-color:var(--purple);background:#f7f2ff}
.checklist-page{width:min(1220px,100%);margin:0 auto;padding:7px 0 36px}
.checklist-breadcrumbs{display:flex;align-items:center;gap:10px;margin:0 0 20px;color:var(--muted);font-size:.78rem;font-weight:800}
.checklist-breadcrumbs a{color:var(--purple);text-decoration:none}
.checklist-hero{display:grid;grid-template-columns:minmax(0,1fr) 250px;align-items:end;gap:34px;padding:28px 0 30px}
.checklist-hero h1{margin:5px 0 8px;color:var(--navy);font-size:clamp(2.3rem,4.7vw,4.5rem);letter-spacing:-.055em;line-height:.98}
.checklist-hero>div>p:last-child{max-width:720px;margin:0;color:var(--muted);font-size:1rem;line-height:1.6}
.checklist-summary{padding:19px 20px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 10px 28px rgba(20,31,76,.06)}
.checklist-summary strong,.checklist-summary span,.checklist-summary small{display:block}
.checklist-summary strong{color:var(--purple);font-size:1.35rem}
.checklist-summary span{margin:2px 0 13px;color:var(--navy);font-size:.78rem;font-weight:850}
.checklist-summary small{margin-top:7px;color:var(--muted);font-size:.68rem;font-weight:750}
.checklist-controls{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px}
.checklist-search{width:min(430px,100%);height:51px;padding:0 16px;display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:13px;background:#fff}
.checklist-search span{color:var(--muted);font-size:1.3rem}
.checklist-search input{width:100%;border:0;outline:0;background:transparent;color:var(--navy);font:inherit;font-size:.86rem}
.checklist-filters{padding:4px;display:flex;gap:3px;border:1px solid var(--line);border-radius:13px;background:#fff}
.checklist-filters button{min-height:40px;padding:0 17px;border:0;border-radius:9px;background:transparent;color:var(--muted);font:inherit;font-size:.72rem;font-weight:850;cursor:pointer}
.checklist-filters button.active{background:#efe7ff;color:var(--purple)}
.checklist-legend{display:flex;justify-content:flex-end;gap:18px;flex-wrap:wrap;margin:0 1px 18px;color:var(--muted);font-size:.66rem;font-weight:750}
.checklist-legend span{display:flex;align-items:center;gap:6px}
.status-dot{width:9px;height:9px;border-radius:50%;background:#ccd0db}
.status-dot.learning{background:#f3a522}.status-dot.secure{background:#16a77d}.status-dot.coming-soon{background:#a8adbb}
.checklist-sections{display:grid;gap:14px}
.checklist-section{border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 12px 36px rgba(20,31,76,.055);overflow:hidden}
.checklist-section>summary{min-height:86px;padding:17px 24px;display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:13px;list-style:none;cursor:pointer}
.checklist-section>summary::-webkit-details-marker{display:none}
.checklist-chevron{display:grid;place-items:center;color:var(--purple);font-size:1.15rem;font-weight:900}
.checklist-section summary small,.checklist-section summary strong{display:block}
.checklist-section summary small{margin-bottom:2px;color:var(--purple);font-size:.58rem;letter-spacing:.16em;font-weight:900}
.checklist-section summary strong{color:var(--navy);font-size:1.15rem}
.checklist-section-count{padding:8px 11px;border-radius:999px;background:#f2ecff;color:var(--purple);font-size:.67rem;font-weight:850;white-space:nowrap}
.checklist-skill-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line)}
.checklist-skill{min-height:92px;padding:15px 18px;display:grid;grid-template-columns:38px minmax(0,1fr) auto 20px;align-items:center;gap:13px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--navy);text-decoration:none;transition:background .15s ease,transform .15s ease}
.checklist-skill:nth-child(2n){border-right:0}
.checklist-skill:nth-last-child(-n+2){border-bottom:0}
.checklist-skill[href]:hover{z-index:1;background:#faf8ff;transform:translateY(-1px)}
.checklist-skill-number{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;background:#f7f7fa;color:var(--muted);font-size:.72rem;font-weight:900}
.checklist-skill-copy{min-width:0}
.checklist-skill-copy strong,.checklist-skill-copy small{display:block}
.checklist-skill-copy strong{font-size:.82rem;line-height:1.35}
.checklist-skill-copy small{margin-top:5px;color:var(--muted);font-size:.63rem;line-height:1.35;font-weight:650}
.checklist-skill-copy em{margin-left:7px;padding:3px 6px;border-radius:6px;background:#fff1d5;color:#9a6200;font-size:.52rem;font-style:normal;text-transform:uppercase;letter-spacing:.06em}
.checklist-status{min-width:86px;display:flex;align-items:center;gap:7px;justify-content:flex-end}
.checklist-status i{width:25px;height:25px;display:grid;place-items:center;border-radius:8px;background:#f0f1f5;color:#858b99;font-size:.72rem;font-style:normal;font-weight:900}
.checklist-status b{font-size:.62rem;white-space:nowrap}
.checklist-arrow{color:var(--purple);font-size:1rem;font-weight:900}
.status-learning .checklist-status i{background:#fff0cf;color:#a76900}.status-learning .checklist-status b{color:#a76900}
.status-secure .checklist-status i{background:#d9f7ee;color:#08765a}.status-secure .checklist-status b{color:#08765a}
.status-not-started .checklist-status b{color:#777e8c}.status-coming-soon{background:#fbfbfc}.status-coming-soon .checklist-skill-copy,.status-coming-soon .checklist-status{opacity:.7}
.checklist-no-results{padding:28px;text-align:center;color:var(--muted);font-size:.78rem;font-weight:750}
.checklist-placeholder>summary{min-height:76px}.checklist-placeholder .checklist-section-count{background:#f4f5f8;color:#8a909d}
.checklist-note{margin-top:18px;padding:19px 22px;border:1px solid #dbcdf7;border-radius:15px;background:#f8f4ff}
.checklist-note strong{display:block;color:var(--purple);font-size:.76rem}.checklist-note p{margin:5px 0 0;color:var(--muted);font-size:.72rem;line-height:1.5}
body[data-display-mode="dim"] .checklist-summary,body[data-display-mode="dim"] .checklist-search,body[data-display-mode="dim"] .checklist-filters,body[data-display-mode="dim"] .checklist-section{background:#18243b;border-color:#34415a}
body[data-display-mode="dim"] .checklist-hero h1,body[data-display-mode="dim"] .checklist-section summary strong,body[data-display-mode="dim"] .checklist-skill,body[data-display-mode="dim"] .checklist-search input,body[data-display-mode="dim"] .checklist-summary span{color:#f4f6fb}
body[data-display-mode="dim"] .checklist-skill-list,body[data-display-mode="dim"] .checklist-skill{border-color:#34415a}
body[data-display-mode="dim"] .status-coming-soon,body[data-display-mode="dim"] .checklist-filters button.active{background:#202d46}
body[data-display-mode="dim"] .checklist-note{border-color:#534178;background:#241d3b}
@media(max-width:900px){.checklist-hero{grid-template-columns:1fr}.checklist-summary{width:min(360px,100%)}.checklist-controls{align-items:stretch;flex-direction:column}.checklist-filters{align-self:flex-start}.checklist-legend{justify-content:flex-start}.checklist-skill-list{grid-template-columns:1fr}.checklist-skill,.checklist-skill:nth-child(2n){border-right:0}.checklist-skill:nth-last-child(-n+2){border-bottom:1px solid var(--line)}.checklist-skill:last-child{border-bottom:0}}
@media(max-width:600px){.course-head-actions{width:100%}.course-head-actions .btn{flex:1;padding-inline:10px}.checklist-page{padding-top:0}.checklist-hero{padding-top:12px}.checklist-section>summary{padding-inline:15px}.checklist-section-count{display:none}.checklist-skill{grid-template-columns:34px minmax(0,1fr) 24px;padding-inline:13px}.checklist-status b{display:none}.checklist-status{min-width:0}.checklist-arrow{display:none}}
/* V44: Guided Practice flow */
.practice-breadcrumbs{max-width:1280px;margin:0 auto 22px;display:flex;align-items:center;gap:9px;color:var(--muted);font-size:.78rem;font-weight:700}.practice-breadcrumbs a{color:var(--purple);text-decoration:none}.practice-breadcrumbs strong{color:var(--navy)}
.practice-entry-actions,.guided-practice-heading{max-width:1280px;margin:0 auto 20px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.practice-entry-actions h2,.guided-practice-heading h2{margin:5px 0 7px;color:var(--navy);font-size:1.65rem}.practice-entry-actions p:last-child,.guided-practice-heading p:last-child{margin:0;color:var(--muted)}.guided-practice-heading>a{color:var(--purple);font-size:.8rem;font-weight:800;text-decoration:none;white-space:nowrap}
.guided-unit-grid a{transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.guided-unit-grid a:hover,.guided-topic-grid a:hover,.guided-skill-list a:hover{transform:translateY(-2px);border-color:#cdb4f4;box-shadow:0 12px 28px rgba(42,34,92,.08)}.guided-unit-grid a b{margin-top:15px;color:var(--purple);font-size:.78rem}
.guided-topic-grid{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.guided-topic-grid a{min-height:170px;padding:22px;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--navy);text-decoration:none;transition:.18s ease}.guided-topic-grid a>span{width:46px;height:46px;display:grid;place-items:center;border-radius:12px;background:var(--lav);color:var(--purple);font-size:.72rem;font-weight:900}.guided-topic-grid h3{margin:22px 0 6px;font-size:1.1rem}.guided-topic-grid p{margin:0;color:var(--muted);font-size:.75rem}.guided-topic-grid b{margin-top:auto;padding-top:18px;color:var(--purple);font-size:.76rem}
.guided-skill-list{max-width:1000px;margin:0 auto;display:grid;gap:10px}.guided-skill-list a{padding:18px 20px;display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:15px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--navy);text-decoration:none;transition:.18s ease}.skill-status{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:var(--lav);color:var(--purple);font-weight:900}.guided-skill-list small{color:var(--purple);font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.guided-skill-list h3{margin:3px 0;font-size:1rem}.guided-skill-list p{margin:0;color:var(--muted);font-size:.7rem}.guided-skill-list b{color:var(--purple);font-size:.74rem}
.guided-level-flow{max-width:1000px;margin:0 auto;display:grid;gap:13px}.guided-level-card{position:relative;min-height:145px;padding:22px 22px 22px 82px;display:flex;align-items:center;gap:22px;border:1px solid var(--line);border-radius:17px;background:#fff}.guided-level-card:after{content:"";position:absolute;left:40px;top:100%;width:2px;height:14px;background:#ddd7e9}.guided-level-card:last-child:after{display:none}.flow-step{position:absolute;left:22px;top:50%;width:38px;height:38px;transform:translateY(-50%);display:grid;place-items:center;border-radius:50%;background:var(--purple);color:#fff;font-weight:900}.level-copy{flex:1}.level-copy>small{color:var(--purple);font-size:.62rem;font-weight:900;letter-spacing:.1em}.level-copy h3{margin:4px 0 6px;color:var(--navy);font-size:1.25rem}.level-copy p{margin:0;color:var(--muted);font-size:.78rem}.level-meta{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}.level-meta span{padding:6px 9px;border-radius:8px;background:#f5f3fa;color:var(--muted);font-size:.66rem;font-weight:700}.guided-level-card.level-strengthen{border-color:#d9cafa}.guided-level-card.level-deepen{border-color:#efd3a6}.guided-level-card.level-deepen .flow-step{background:#9a641a}.guided-level-card.unavailable{opacity:.68}.level-coming-soon{color:var(--muted);font-size:.74rem;font-weight:800}.guided-review{margin-top:0}
@media(max-width:900px){.guided-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-entry-actions,.guided-practice-heading{align-items:flex-start;flex-direction:column}.guided-level-card{align-items:flex-start;flex-direction:column}.guided-level-card .btn{align-self:stretch;text-align:center}}
@media(max-width:650px){.guided-topic-grid{grid-template-columns:1fr}.guided-skill-list a{grid-template-columns:40px 1fr}.guided-skill-list b{grid-column:2}.guided-level-card{padding:20px 18px 20px 68px}.flow-step{left:17px}.guided-level-card:after{left:36px}.practice-breadcrumbs{overflow-x:auto;white-space:nowrap}}

/* V46: clearer completion states and attempt history for guided practice */
.guided-level-card.attempted{border-width:2px;box-shadow:0 10px 28px rgba(31,38,74,.06)}
.guided-level-card.completed{background:linear-gradient(135deg,#f8fff9 0%,#fff 65%);border-color:#9ed8ac}
.guided-level-card.completed .flow-step{background:#238a48;box-shadow:0 0 0 7px #e6f7eb}
.guided-level-card.needs-practice.attempted{background:linear-gradient(135deg,#fffaf2 0%,#fff 65%);border-color:#efc36d}
.guided-level-card.needs-practice.attempted .flow-step{background:#b77912;box-shadow:0 0 0 7px #fff1d5}
.level-status-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.level-status-row>small{color:var(--purple);font-size:.62rem;font-weight:900;letter-spacing:.1em}
.completion-pill{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:.62rem;font-weight:900}.completion-pill.secure{background:#e4f6e9;color:#207a40}.completion-pill.developing{background:#fff0d2;color:#98610d}
.level-result-action{min-width:250px;display:grid;grid-template-columns:auto auto;gap:10px 14px;align-items:center;justify-items:end}.level-result-action .btn{grid-column:1/-1;min-width:190px;text-align:center}
.score-orb{width:78px;height:78px;border-radius:50%;display:grid;place-content:center;text-align:center;border:7px solid #ece7fb;background:#fff}.score-orb strong{font-size:1.25rem;line-height:1;color:var(--navy)}.score-orb span{margin-top:4px;font-size:.58rem;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.score-orb.secure{border-color:#bde8c8}.score-orb.developing{border-color:#f6d38b}
.best-score{min-width:72px;padding:9px 10px;border-radius:12px;background:#f5f3fa;text-align:center}.best-score small{display:block;font-size:.54rem;letter-spacing:.08em;color:var(--muted);font-weight:900}.best-score strong{display:block;margin-top:3px;color:var(--navy);font-size:1.08rem}
.attempt-history{margin-top:12px}.attempt-history summary{width:max-content;cursor:pointer;color:var(--purple);font-size:.7rem;font-weight:850;list-style:none}.attempt-history summary::-webkit-details-marker{display:none}.attempt-history summary:after{content:' +';}.attempt-history[open] summary:after{content:' −'}
.attempt-history-list{margin-top:10px;display:grid;gap:6px;max-width:520px}.attempt-history-list>div{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:8px 10px;border:1px solid #ece8f3;border-radius:9px;background:#fbfafe;font-size:.66rem}.attempt-history-list span{color:var(--muted)}.attempt-history-list strong{font-size:.78rem;color:var(--navy)}.attempt-history-list small{color:var(--muted)}
@media(max-width:900px){.level-result-action{width:100%;min-width:0;grid-template-columns:auto 1fr;justify-items:start}.level-result-action .btn{width:100%;min-width:0}.attempt-history-list>div{grid-template-columns:1fr auto}.attempt-history-list small{grid-column:1/-1}}

/* V47: polished guided journey and full marked-attempt review links */
.guided-journey{display:grid;gap:16px;margin-top:22px}.journey-card{display:grid!important;grid-template-columns:72px minmax(0,1fr)!important;align-items:stretch!important;padding:0!important;overflow:hidden;border:1px solid #dfe4ef!important;border-radius:22px!important;background:#fff!important;box-shadow:0 9px 30px rgba(25,34,68,.05)!important}.journey-rail{position:relative;display:flex;justify-content:center;padding-top:34px;background:#faf9ff}.journey-rail .flow-step{position:relative;z-index:2;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;font-size:1rem;font-weight:900;background:#eeeaf8;color:#6b6580;box-shadow:0 0 0 7px #faf9ff}.journey-rail i{position:absolute;top:77px;bottom:-18px;width:2px;background:#ddd8ec;z-index:1}.journey-content{min-width:0;padding:28px 30px 26px}.journey-title-row{display:flex;justify-content:space-between;gap:28px;align-items:center}.journey-title-row h3{font-size:1.5rem;margin:4px 0 4px;color:var(--navy)}.journey-title-row p{margin:0;color:var(--muted);font-size:.84rem}.journey-state-label{font-size:.66rem;letter-spacing:.14em;font-weight:900;color:#756e8b}.state-mastered{border-color:#b9dfce!important;background:linear-gradient(110deg,#f5fcf8 0%,#fff 58%)!important}.state-mastered .journey-rail{background:#eef9f3}.state-mastered .journey-rail .flow-step{background:#198754;color:#fff;box-shadow:0 0 0 7px #eef9f3}.state-mastered .journey-state-label{color:#148052}.state-current{border:2px solid #9f79f4!important;box-shadow:0 13px 36px rgba(111,63,225,.12)!important}.state-current .journey-rail{background:#f5f0ff}.state-current .journey-rail .flow-step{background:var(--purple);color:#fff;box-shadow:0 0 0 7px #f5f0ff}.state-current .journey-state-label{color:var(--purple)}.state-next{border-color:#e8d4a5!important}.state-next .journey-rail{background:#fff9ec}.state-next .journey-rail .flow-step{background:#b87508;color:#fff;box-shadow:0 0 0 7px #fff9ec}.state-next .journey-state-label{color:#9b6308}.score-ring{--score:0;width:94px;height:94px;flex:0 0 94px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#8d55ee calc(var(--score)*1%),#ebe6f4 0);position:relative}.score-ring:before{content:'';position:absolute;inset:7px;border-radius:50%;background:#fff}.score-ring.secure{background:conic-gradient(#22a06b calc(var(--score)*1%),#dceee5 0)}.score-ring>div{position:relative;text-align:center;line-height:1}.score-ring strong{display:block;font-size:1.25rem;color:var(--navy)}.score-ring span{display:block;margin-top:5px;font-size:.6rem;font-weight:800;color:var(--muted)}.journey-summary{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.journey-summary span{padding:8px 11px;border-radius:10px;background:#f5f3fa;color:#756e88;font-size:.69rem}.journey-summary b{color:var(--navy);font-size:.76rem}.attempt-review-block{margin-top:20px;padding-top:18px;border-top:1px solid #ece9f3}.attempt-review-heading{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:10px}.attempt-review-heading strong{font-size:.82rem;color:var(--navy)}.attempt-review-heading span{font-size:.64rem;color:var(--muted)}.attempt-review-list{display:grid;gap:8px}.attempt-review-row{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;border:1px solid #e8e5ef;border-radius:12px;background:#fff;text-decoration:none;transition:.18s ease}.attempt-review-row:hover{transform:translateY(-1px);border-color:#b99af6;box-shadow:0 7px 18px rgba(48,36,84,.07)}.attempt-score{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;background:#fff3dd;color:#9b6408;font-size:.8rem;font-weight:900}.attempt-score.secure{background:#e6f6ee;color:#16734d}.attempt-date strong,.attempt-date small{display:block}.attempt-date strong{font-size:.74rem;color:var(--navy)}.attempt-date small{margin-top:3px;font-size:.62rem;color:var(--muted)}.attempt-review-row>b{font-size:.69rem;color:var(--purple)}.journey-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.journey-secondary{background:#fff!important;border:1px solid #d8c8fa!important;color:var(--purple)!important}.journey-actions .btn{min-width:154px;text-align:center}.journey-card.unavailable{opacity:.65}.journey-card.unavailable .journey-content{display:flex;align-items:center;justify-content:space-between}
@media(max-width:760px){.journey-card{grid-template-columns:52px minmax(0,1fr)!important}.journey-content{padding:22px 16px 20px}.journey-title-row{align-items:flex-start}.score-ring{width:74px;height:74px;flex-basis:74px}.score-ring strong{font-size:1rem}.score-ring span{font-size:.54rem}.attempt-review-heading{display:block}.attempt-review-heading span{display:block;margin-top:4px}.attempt-review-row{grid-template-columns:50px 1fr}.attempt-review-row>b{grid-column:2}.journey-actions{display:grid}.journey-actions .btn{width:100%}.journey-rail .flow-step{width:38px;height:38px}.journey-rail i{top:71px}}
/* V48: compact expandable marked-attempt history */
.attempt-review-block{margin-top:18px;border:0!important;padding:0!important}
.attempt-review-trigger{list-style:none;display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:8px 12px;border:1px solid #ddd3f5;border-radius:13px;background:#f8f5ff;color:var(--navy);cursor:pointer;user-select:none;transition:.18s ease}
.attempt-review-trigger::-webkit-details-marker{display:none}
.attempt-review-trigger:hover{border-color:#a984f1;background:#f3edff;transform:translateY(-1px)}
.attempt-review-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:#e9ddff;color:var(--purple);font-weight:900}
.attempt-review-trigger>span:nth-child(2){display:grid;gap:1px}
.attempt-review-trigger strong{font-size:.74rem;color:var(--navy)}
.attempt-review-trigger small{font-size:.59rem;color:var(--muted)}
.attempt-review-trigger>b{margin-left:7px;font-size:.65rem;color:var(--purple)}
.attempt-review-trigger>i{font-style:normal;color:#8a7aa7;transition:transform .18s ease}
.attempt-review-block[open] .attempt-review-trigger>i{transform:rotate(180deg)}
.attempt-review-panel{margin-top:10px;padding:14px;border:1px solid #e8e2f2;border-radius:15px;background:#fbfaff}
.attempt-review-panel>p{margin:0 0 10px;font-size:.65rem;color:var(--muted)}
@media(max-width:760px){.attempt-review-trigger{display:flex;width:100%;box-sizing:border-box}.attempt-review-trigger>b{margin-left:auto}.attempt-review-panel{padding:10px}}

/* V50: guided next action at the end of a practice skill */
.practice-next-card{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:24px;padding:28px 30px;border:1px solid #d9cdf6;border-radius:22px;background:linear-gradient(115deg,#f8f5ff 0%,#fff 68%);box-shadow:0 10px 30px rgba(46,34,84,.06)}
.practice-next-card .eyebrow{margin:0 0 7px;color:var(--purple)}
.practice-next-card h2{margin:0;color:var(--navy);font-size:1.08rem}
.practice-next-card h3{margin:8px 0 4px;color:var(--navy);font-size:1.45rem}
.practice-next-card p:not(.eyebrow){margin:0;color:var(--muted);font-size:.82rem}
.practice-next-card>.btn{flex:0 0 auto;min-width:220px;justify-content:center;text-align:center}
@media(max-width:760px){.practice-next-card{align-items:stretch;flex-direction:column;padding:22px 18px}.practice-next-card>.btn{width:100%;min-width:0}}

/* V103: compact Practice hierarchy — one expandable group per Master Skill. */
.compact-practice-heading{max-width:920px;margin-bottom:13px}.compact-practice-heading h2{font-size:1.45rem}.compact-practice-heading p:last-child{font-size:.76rem}
.master-practice-list{max-width:920px;margin:0 auto;display:grid;gap:11px}.master-practice-group{overflow:hidden;border:1px solid #dddfea;border-radius:16px;background:#fff;box-shadow:0 7px 22px rgba(28,35,70,.04)}
.master-practice-group>summary{list-style:none;display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:13px;padding:15px 17px;cursor:pointer;user-select:none}.master-practice-group>summary::-webkit-details-marker{display:none}.master-practice-group[open]{border-color:#cbb9f2;box-shadow:0 9px 26px rgba(80,49,145,.07)}
.master-practice-number{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:#eee7ff;color:var(--purple);font-size:.78rem;font-weight:900}.master-practice-copy{min-width:0;display:grid;gap:2px}.master-practice-copy small{color:var(--purple);font-size:.56rem;font-weight:900;letter-spacing:.1em}.master-practice-copy strong{overflow:hidden;color:var(--navy);font-size:.94rem;text-overflow:ellipsis;white-space:nowrap}.master-practice-copy em{color:var(--muted);font-size:.64rem;font-style:normal}
.master-practice-state{display:grid;grid-template-columns:auto 18px;align-items:center;gap:0 8px;text-align:right}.master-practice-state b{color:var(--navy);font-size:.75rem}.master-practice-state small{grid-column:1;color:var(--muted);font-size:.54rem}.master-practice-state i{grid-column:2;grid-row:1/3;color:#8d79b2;font-style:normal;transition:transform .18s ease}.master-practice-group[open] .master-practice-state i{transform:rotate(180deg)}
.master-micro-list{padding:4px 12px 8px;border-top:1px solid #eeebf4;background:#fcfbff}.master-micro-row{display:grid;grid-template-columns:32px minmax(0,1fr) auto auto;align-items:center;gap:11px;padding:11px 5px;border-bottom:1px solid #ece9f3}.master-micro-row:last-child{border-bottom:0}.master-micro-number{width:29px;height:29px;display:grid;place-items:center;border-radius:9px;background:#f0edf6;color:#756f82;font-size:.67rem;font-weight:900}.master-micro-row.is-developing .master-micro-number{background:#fff0d4;color:#9d6508}.master-micro-row.is-secure .master-micro-number{background:#e3f6ed;color:#16734d}.master-micro-copy{min-width:0;display:grid;gap:1px}.master-micro-copy small{color:var(--purple);font-size:.53rem;font-weight:900;letter-spacing:.07em}.master-micro-copy strong{overflow:hidden;color:var(--navy);font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.master-micro-copy em{color:var(--muted);font-size:.57rem;font-style:normal}.master-micro-score{min-width:42px;text-align:center}.master-micro-score b,.master-micro-score small{display:block}.master-micro-score b{color:var(--navy);font-size:.74rem}.master-micro-score small{color:var(--muted);font-size:.5rem}.master-micro-actions{display:flex;align-items:center;gap:7px}.master-micro-actions a{border-radius:9px;text-decoration:none;font-size:.62rem;font-weight:850;white-space:nowrap}.micro-review-link{padding:7px 8px;color:var(--purple)}.micro-start-link{padding:8px 10px;background:var(--purple);color:#fff}.master-micro-empty{padding:17px 8px;color:var(--muted);font-size:.7rem}
@media(max-width:680px){.master-practice-group>summary{grid-template-columns:36px minmax(0,1fr);padding:13px}.master-practice-state{grid-column:2;display:flex;gap:5px;text-align:left}.master-practice-state i{margin-left:auto}.master-micro-row{grid-template-columns:30px minmax(0,1fr) auto}.master-micro-score{grid-column:3}.master-micro-actions{grid-column:2/4;justify-content:flex-end}.master-micro-actions a{font-size:.6rem}.master-practice-copy strong{font-size:.86rem}}

/* V68: Course → Unit → Topic learning flow */
.course-structure-banner{background:linear-gradient(135deg,#171b55 0%,#302477 100%)}
.course-structure-banner .mini-progress{background:#ffffff24}
.course-structure-banner .mini-progress span{background:linear-gradient(90deg,#8b5cf6,#c45bc4)}
.course-unit-card{position:relative;overflow:hidden;min-height:292px;padding:26px 27px;border-color:#ded8ea;box-shadow:0 12px 32px rgba(28,31,76,.055);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.course-unit-card:before{content:'';position:absolute;inset:0 0 auto 0;height:5px;background:linear-gradient(90deg,#7140ed,#aa58df);opacity:.82}
.course-unit-card:hover{transform:translateY(-3px);border-color:#bba4ee;box-shadow:0 18px 42px rgba(27,25,77,.1)}
.course-unit-card-top{display:flex;align-items:center;justify-content:space-between;gap:14px}
.course-unit-card .unit-symbol{width:54px;height:54px;display:grid;place-items:center;border-radius:16px;background:linear-gradient(145deg,#f3edff,#e9dcff);color:#7140ed;font-size:1.05rem;font-weight:900;box-shadow:inset 0 0 0 1px #eadfff}
.course-unit-card .unit-state{padding:7px 11px;border-radius:999px;background:#f1f3f8;color:#747b91;font-size:.64rem;font-weight:850;white-space:nowrap}
.course-unit-card .unit-state.is-active{background:#e0f8ef;color:#087c61}
.course-unit-card small{margin-top:22px}
.course-unit-card h2{max-width:310px;margin:8px 0 10px;font-size:1.48rem;line-height:1.13;letter-spacing:-.025em}
.unit-card-meta{display:flex;align-items:center;gap:8px;color:#747b91;font-size:.73rem;font-weight:650}
.unit-card-meta i{font-style:normal;color:#b7bccb}
.unit-progress-copy{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:24px;color:#747b91;font-size:.68rem;font-weight:750}
.unit-progress-copy strong{color:#20264f;font-size:.74rem}
.course-unit-card .mini-progress{margin:8px 0 17px;height:7px}
.course-unit-card>.unit-explore{width:auto;height:auto;display:flex;align-items:center;justify-content:space-between;margin:0;padding:12px 14px;border-radius:12px;background:#f4efff;color:#7040e8;font-size:.76rem;font-weight:850;transition:background .18s ease,color .18s ease}
.course-unit-card>.unit-explore b{font-size:1rem}
.course-unit-card:hover>.unit-explore{background:#7543eb;color:#fff}

.unit-overview-page .student-dashboard-main{background:#f4f7fc}
.unit-overview-shell{width:min(1190px,100%);margin:0 auto;padding:26px 0 52px}
.unit-breadcrumbs{display:flex;align-items:center;gap:10px;margin:0 0 20px;color:#7c8398;font-size:.78rem;font-weight:800}
.unit-breadcrumbs a{color:#7543eb;text-decoration:none}
.unit-breadcrumbs strong{color:#5e667d}
.unit-overview-hero{display:grid;grid-template-columns:minmax(0,1fr) 300px;align-items:center;gap:34px;padding:32px 34px;border:1px solid #ddd7ed;border-radius:24px;background:linear-gradient(135deg,#fff 0%,#faf8ff 68%,#f1eaff 100%);box-shadow:0 18px 46px rgba(32,27,86,.065)}
.unit-hero-copy{display:flex;align-items:center;gap:22px}
.unit-hero-symbol{flex:0 0 70px;width:70px;height:70px;display:grid;place-items:center;border-radius:20px;background:linear-gradient(145deg,#7946ef,#9d5be9);color:#fff;font-size:1.35rem;font-weight:900;box-shadow:0 13px 28px rgba(117,67,235,.23)}
.unit-hero-copy .eyebrow{margin:0;color:#7543eb}
.unit-hero-copy h1{margin:7px 0 8px;color:#131a43;font-size:clamp(2rem,3.6vw,3rem);font-weight:520;letter-spacing:-.045em}
.unit-hero-copy p:last-child{max-width:680px;margin:0;color:#70788e;line-height:1.55}
.unit-hero-progress{padding:20px 22px;border:1px solid #e5dff2;border-radius:17px;background:rgba(255,255,255,.82)}
.unit-hero-progress>div:first-child{display:flex;justify-content:space-between;align-items:center;color:#747b91;font-size:.75rem;font-weight:800}
.unit-hero-progress strong{color:#7543eb;font-size:1.25rem}
.unit-hero-progress .mini-progress{height:8px;margin:12px 0 9px}
.unit-hero-progress small{color:#848b9f;font-size:.7rem}
.unit-topic-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:34px 2px 17px}
.unit-topic-heading .eyebrow{margin:0;color:#7543eb}
.unit-topic-heading h2{margin:5px 0 0;color:#171e49;font-size:1.45rem;font-weight:600}
.unit-topic-heading>a{padding:9px 13px;border-radius:10px;color:#6c3fe0;text-decoration:none;font-size:.78rem;font-weight:850;transition:background .18s ease}
.unit-topic-heading>a:hover{background:#ede5ff}
.unit-topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.unit-topic-card{display:grid;grid-template-columns:58px minmax(0,1fr) 105px 24px;align-items:center;gap:16px;min-height:126px;padding:20px 20px;border:1px solid #dfe3ed;border-radius:18px;background:#fff;color:#151b43;text-decoration:none;box-shadow:0 8px 26px rgba(28,31,76,.035);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.unit-topic-card:hover{transform:translateY(-2px);border-color:#baa4eb;box-shadow:0 14px 32px rgba(29,26,86,.075)}
.unit-topic-number{width:54px;height:54px;display:grid;place-items:center;border-radius:15px;background:#f1eaff;color:#7543eb;font-size:.85rem;font-weight:900;box-shadow:inset 0 0 0 1px #e8dbff}
.unit-topic-copy{min-width:0}
.unit-topic-copy small{display:block;color:#8d67ea;font-size:.56rem;font-weight:900;letter-spacing:.1em}
.unit-topic-copy h3{margin:5px 0 6px;overflow:hidden;color:#171e49;font-size:1.06rem;font-weight:650;line-height:1.2;text-overflow:ellipsis}
.unit-topic-copy p{margin:0;color:#81889b;font-size:.68rem;font-weight:650}
.unit-topic-progress{text-align:right}
.unit-topic-progress>strong{display:block;margin-bottom:9px;color:#646c84;font-size:.72rem}
.unit-topic-progress .mini-progress{height:7px;margin:0}
.unit-topic-arrow{color:#7543eb;font-size:1.3rem;font-weight:700;transition:transform .18s ease}
.unit-topic-card:hover .unit-topic-arrow{transform:translateX(3px)}
.unit-topic-card.is-complete .unit-topic-number{background:#ddf7ee;color:#087c61;box-shadow:inset 0 0 0 1px #c8eee1}
.unit-topic-card.is-complete .mini-progress span{background:#18a77e}
.unit-topic-card.is-active .unit-topic-number{background:#f1eaff;color:#7543eb}
.unit-topic-card.is-preparing .unit-topic-number,.unit-topic-card.is-coming .unit-topic-number{background:#f3f4f7;color:#9097a8;box-shadow:inset 0 0 0 1px #e8eaf0}
.topic-back-link{padding:9px 13px;border-radius:10px;color:#6c3fe0!important;text-decoration:none;font-size:.78rem;font-weight:850;transition:background .18s ease}
.topic-back-link:hover{background:#ede5ff}
.topic-player-shell .breadcrumbs a{color:#7543eb;text-decoration:none;font-weight:800}

html[data-student-theme="dark"] .unit-overview-page .student-dashboard-main{background:#101827}
html[data-student-theme="dark"] .unit-overview-hero,html[data-student-theme="dark"] .unit-topic-card,html[data-student-theme="dark"] .unit-hero-progress{background:#182238;border-color:#34405d;color:#eef1ff}
html[data-student-theme="dark"] .unit-hero-copy h1,html[data-student-theme="dark"] .unit-topic-heading h2,html[data-student-theme="dark"] .unit-topic-copy h3{color:#f5f1ff}
html[data-student-theme="dark"] .unit-hero-copy p:last-child,html[data-student-theme="dark"] .unit-topic-copy p,html[data-student-theme="dark"] .unit-hero-progress small{color:#aab2c7}

@media(max-width:980px){
  .unit-overview-hero{grid-template-columns:1fr}.unit-hero-progress{max-width:none}.unit-topic-grid{grid-template-columns:1fr}
}
@media(max-width:680px){
  .unit-overview-shell{padding:14px 0 35px}.unit-overview-hero{padding:23px 20px;border-radius:19px}.unit-hero-copy{align-items:flex-start}.unit-hero-symbol{flex-basis:54px;width:54px;height:54px;border-radius:16px}.unit-hero-copy h1{font-size:2rem}.unit-topic-heading{align-items:flex-start}.unit-topic-card{grid-template-columns:48px minmax(0,1fr) 20px;gap:12px;padding:17px 15px}.unit-topic-number{width:46px;height:46px;border-radius:13px}.unit-topic-progress{grid-column:2/4;display:grid;grid-template-columns:45px 1fr;align-items:center;gap:10px;text-align:left}.unit-topic-progress>strong{margin:0}.course-unit-card{min-height:270px}
}

/* V71: Practice mirrors the complete Learn curriculum hierarchy. */
.guided-unit-grid a>small{margin:18px 0 0;color:var(--purple);font-size:.64rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.guided-unit-grid a>small+h2{margin-top:6px}.guided-unit-grid a.is-coming-soon,.guided-topic-grid a.is-coming-soon,.guided-skill-list a.is-coming-soon{background:linear-gradient(180deg,#fff,#fbfbfe)}.guided-unit-grid a.is-coming-soon b,.guided-topic-grid a.is-coming-soon b,.guided-skill-list a.is-coming-soon b{color:#8b90a0}.guided-topic-grid a.is-coming-soon>span,.guided-skill-list a.is-coming-soon .skill-status{background:#f2f3f7;color:#9398a8}.guided-topic-grid a.is-ready>span,.guided-skill-list a.is-ready .skill-status{box-shadow:0 0 0 4px rgba(121,69,238,.07)}

/* V72: correct iGCSE identity, compact curriculum cards and global search */
.global-course-search-trigger{margin-left:auto;height:40px;padding:0 13px;display:inline-flex;align-items:center;gap:9px;border:1px solid #dfe3ee;border-radius:12px;background:#fff;color:#273052;font:inherit;font-size:.75rem;font-weight:800;cursor:pointer;box-shadow:0 4px 14px rgba(28,31,76,.035)}
.global-course-search-trigger:hover{border-color:#bca8ed;background:#faf8ff;color:#7040e8}
.global-course-search-trigger>span{font-size:1rem}.global-course-search-trigger kbd{padding:3px 6px;border:1px solid #e4e6ee;border-radius:6px;background:#f6f7fa;color:#858a9c;font:inherit;font-size:.58rem}
.course-search-open{overflow:hidden}.global-course-search{position:fixed;inset:0;z-index:1200}.global-course-search-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(16,23,49,.48);backdrop-filter:blur(4px);cursor:default}.global-course-search-dialog{position:relative;width:min(760px,calc(100% - 36px));max-height:min(720px,calc(100vh - 56px));margin:28px auto;padding:24px;border:1px solid #ddd8eb;border-radius:23px;background:#fff;box-shadow:0 34px 90px rgba(14,20,48,.24);overflow:auto}.global-course-search-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:17px}.global-course-search-dialog>header .eyebrow{margin:0;color:#7442e8}.global-course-search-dialog h2{margin:5px 0 0;color:#171e49;font-size:1.55rem;font-weight:650;letter-spacing:-.025em}.global-course-search-dialog>header>button{width:38px;height:38px;border:1px solid #e1e4ec;border-radius:11px;background:#f8f9fb;color:#6f768a;font-size:1.35rem;cursor:pointer}.global-course-search-input{height:58px;padding:0 16px;display:flex;align-items:center;gap:11px;border:2px solid #8a59ef;border-radius:15px;background:#fff;box-shadow:0 0 0 4px rgba(122,69,235,.08)}.global-course-search-input>span{color:#7442e8;font-size:1.2rem}.global-course-search-input input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:#171e49;font:inherit;font-size:1rem;font-weight:600}.global-course-search-input input::placeholder{color:#9298a9;font-weight:500}.global-course-search-input kbd{padding:4px 7px;border:1px solid #e1e4ec;border-radius:7px;background:#f6f7fa;color:#8a90a0;font:inherit;font-size:.6rem}.global-course-search-help{margin:12px 3px 16px;color:#7b8295;font-size:.7rem}.global-course-search-results{display:grid;gap:9px}.global-course-search-empty{padding:34px 18px;display:grid;gap:6px;text-align:center;border:1px dashed #dfe2eb;border-radius:15px;background:#fafbfe}.global-course-search-empty strong{color:#303754;font-size:.9rem}.global-course-search-empty span{color:#858c9f;font-size:.72rem}.global-course-search-result{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px;border:1px solid #e1e4ec;border-radius:15px;background:#fff;transition:border-color .16s ease,background .16s ease}.global-course-search-result:hover{border-color:#baa4eb;background:#fcfbff}.search-result-type{width:54px;height:32px;display:grid;place-items:center;border-radius:9px;background:#f0e9ff;color:#7040e8;font-size:.58rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.global-course-search-result>div{min-width:0}.global-course-search-result strong{display:block;overflow:hidden;color:#171e49;font-size:.88rem;text-overflow:ellipsis;white-space:nowrap}.global-course-search-result small{display:block;margin-top:4px;overflow:hidden;color:#81889a;font-size:.65rem;text-overflow:ellipsis;white-space:nowrap}.global-course-search-result nav{display:flex;align-items:center;gap:7px}.search-action{padding:8px 10px;border-radius:9px;text-decoration:none;font-size:.65rem;font-weight:850;white-space:nowrap}.search-action.learn{background:#7543eb;color:#fff}.search-action.practice{background:#e8f8f2;color:#087c61}.search-action.unavailable{background:#f2f3f6;color:#979cac}
.practice-course-toolbar{grid-template-columns:auto auto 1fr}.practice-search-launch{justify-self:end;height:44px;padding:0 15px;border:1px solid #d9ddec;border-radius:11px;background:#fff;color:#273052;font:inherit;font-size:.74rem;font-weight:800;cursor:pointer}.practice-search-launch:hover{border-color:#bba5ec;color:#7040e8;background:#faf8ff}
.course-unit-card{min-height:238px;padding:21px 22px;border-radius:18px}.course-unit-card .unit-symbol{width:47px;height:47px;border-radius:14px}.course-unit-card .unit-state{padding:6px 9px;font-size:.57rem}.course-unit-card small{margin-top:17px}.course-unit-card h2{max-width:none;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:6px 0 8px;font-size:1.23rem;line-height:1.14}.unit-progress-copy{padding-top:17px}.course-unit-card>.unit-explore{padding:10px 12px}.practice-unit-grid a{min-height:205px;padding:21px 22px;border-radius:18px}.practice-unit-grid h2{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:17px 0 6px;font-size:1.16rem;line-height:1.16}.practice-unit-grid span{width:47px;height:47px;border-radius:13px}.ready-heading .continue-icon{background:#eee7ff;color:#7543eb}
html[data-student-theme="dark"] .global-course-search-dialog,html[data-student-theme="dark"] .global-course-search-result,html[data-student-theme="dark"] .global-course-search-trigger,html[data-student-theme="dark"] .practice-search-launch{background:#182238;border-color:#34405d;color:#eef1ff}html[data-student-theme="dark"] .global-course-search-dialog h2,html[data-student-theme="dark"] .global-course-search-result strong,html[data-student-theme="dark"] .global-course-search-input input{color:#f5f1ff}html[data-student-theme="dark"] .global-course-search-input{background:#121b2f;border-color:#9f78f1}
@media(max-width:760px){.global-course-search-trigger b,.global-course-search-trigger kbd{display:none}.global-course-search-trigger{width:40px;padding:0;justify-content:center}.global-course-search-dialog{width:calc(100% - 20px);margin:10px auto;padding:17px;border-radius:18px;max-height:calc(100vh - 20px)}.global-course-search-result{grid-template-columns:48px minmax(0,1fr)}.global-course-search-result nav{grid-column:2;justify-content:flex-start}.search-result-type{width:44px}.practice-course-toolbar{grid-template-columns:1fr 1fr}.practice-search-launch{grid-column:1/-1;justify-self:stretch}.course-unit-card{min-height:215px}}


/* V73: precise grouped learning search and official International GCSE naming */
.global-course-search-results{display:block}.search-result-group{margin-top:14px}.search-result-group:first-child{margin-top:0}.search-result-group>h3{margin:0 0 7px;padding:0 3px;color:#7442e8;font-size:.6rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.search-result-group>div{display:grid;gap:8px}.global-course-search-result mark{padding:0;background:#fff0a8;color:inherit;border-radius:3px}.global-course-search-result nav:empty{display:none}.practice-course-toolbar{grid-template-columns:auto auto;justify-content:start}.practice-search-launch{display:none!important}
html[data-student-theme="dark"] .global-course-search-result mark{background:#755b1c;color:#fff3bb}


/* V75: mobile application header, full-screen search and safe-area navigation */
.mobile-topbar-brand{display:none;align-items:center;gap:8px;color:var(--navy);text-decoration:none;letter-spacing:.06em}.mobile-topbar-brand span{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:linear-gradient(135deg,#824df0,#6230d6);color:#fff;font-size:.75rem;font-weight:900}.mobile-topbar-brand strong{font-size:.86rem;font-weight:850}.student-account-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.student-account-actions .global-course-search-trigger{margin-left:0}

@media(max-width:760px){
  .student-account-bar{display:flex!important;position:sticky;top:0;z-index:115;height:62px;margin:0 -14px 18px;padding:0 14px;background:rgba(255,255,255,.96);border:0;border-bottom:1px solid var(--line);border-radius:0;overflow:visible;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
  .mobile-topbar-brand{display:flex;flex:0 0 auto;min-width:max-content;padding:4px 0;line-height:1}.mobile-topbar-brand span{width:38px;height:38px;flex:0 0 38px;border-radius:11px;line-height:1}.student-account-actions{gap:8px}.display-mode-switch{display:none}
  .global-course-search-trigger{width:40px;height:40px;padding:0;justify-content:center;border-radius:12px}.global-course-search-trigger b,.global-course-search-trigger kbd{display:none}.global-course-search-trigger>span{font-size:1.15rem}
  .student-account{gap:0}.student-account strong,.student-account>b{display:none}.student-account>span{width:40px;height:40px;font-size:.78rem}
  .account-popover{position:fixed!important;left:12px!important;right:12px!important;top:68px!important;width:auto!important;max-height:calc(100dvh - 84px);overflow:auto;border-radius:18px;box-shadow:0 24px 70px rgba(11,18,46,.24)}
  .account-popover>div{padding:13px 14px 15px}.account-popover a{padding:13px 14px}

  .global-course-search-dialog{width:100%;height:100dvh;max-height:none;margin:0;padding:calc(14px + env(safe-area-inset-top)) 14px calc(14px + env(safe-area-inset-bottom));display:flex;flex-direction:column;border:0;border-radius:0;overflow:hidden}
  .global-course-search-dialog>header{flex:0 0 auto;align-items:center;gap:12px;margin-bottom:13px}.global-course-search-dialog>header .eyebrow{font-size:.56rem!important;letter-spacing:.1em}.global-course-search-dialog h2{font-size:1.24rem;line-height:1.15}.global-course-search-dialog>header>button{flex:0 0 42px;width:42px;height:42px}
  .global-course-search-input{flex:0 0 auto;height:52px;padding:0 13px;border-radius:14px}.global-course-search-input input{font-size:.92rem}.global-course-search-input kbd{display:none}
  .global-course-search-help{flex:0 0 auto;margin:10px 2px 12px;font-size:.66rem;line-height:1.45}
  .global-course-search-results{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:1px 1px calc(12px + env(safe-area-inset-bottom))}
  .search-result-group{margin-top:12px}.global-course-search-result{grid-template-columns:43px minmax(0,1fr);gap:10px;padding:12px;border-radius:14px}.search-result-type{width:42px;height:31px;font-size:.52rem}.global-course-search-result strong{font-size:.82rem;white-space:normal;line-height:1.28}.global-course-search-result small{font-size:.61rem;white-space:normal;line-height:1.35}.global-course-search-result nav{grid-column:2;width:100%;justify-content:flex-start;gap:7px}.search-action{min-width:88px;padding:9px 11px;text-align:center}

  .student-sidebar{height:calc(66px + env(safe-area-inset-bottom));padding:7px 3px env(safe-area-inset-bottom);z-index:120}.student-sidebar nav{grid-template-columns:repeat(4,minmax(0,1fr))}.student-dashboard-main{padding-bottom:calc(100px + env(safe-area-inset-bottom))}
}

html[data-student-theme="dark"] .mobile-topbar-brand{color:#f5f1ff}@media(max-width:760px){html[data-student-theme="dark"] .student-account-bar{background:rgba(22,32,54,.96)}}

/* v154: two honest theme choices and complete dark surfaces. */
html[data-student-theme="dark"]{background:#0d1527}
html[data-student-theme="dark"] .student-dashboard-page{
  --navy:#f6f3ff;
  --ink:#eef2ff;
  --muted:#aeb8cf;
  --line:#35425f;
  --paper:#0f182b;
  --lav:#292443;
  --purple:#b79cff;
  background:#0f182b;
  color:#eef2ff;
}
html[data-student-theme="dark"] .student-app-shell,
html[data-student-theme="dark"] .student-dashboard-main{background:#0f182b;color:#eef2ff}
html[data-student-theme="dark"] .student-account-bar{background:rgba(20,30,51,.96);border-color:#35425f}
html[data-student-theme="dark"] .display-mode-switch{background:#0b1323;border-color:#43516d}
html[data-student-theme="dark"] .display-mode-switch button{color:#aeb8cf}
html[data-student-theme="dark"] .display-mode-switch button.active{background:#7543eb;color:#fff;box-shadow:0 4px 14px rgba(0,0,0,.28)}
html[data-student-theme="dark"] .student-dashboard-page h1,
html[data-student-theme="dark"] .student-dashboard-page h2,
html[data-student-theme="dark"] .student-dashboard-page h3,
html[data-student-theme="dark"] .student-dashboard-page h4,
html[data-student-theme="dark"] .student-account strong{color:#f6f3ff}

html[data-student-theme="dark"] .guided-section-path>a,
html[data-student-theme="dark"] .guided-card,
html[data-student-theme="dark"] .guided-card footer,
html[data-student-theme="dark"] .guided-question-toolbar,
html[data-student-theme="dark"] .guided-media-bar,
html[data-student-theme="dark"] .guided-complete,
html[data-student-theme="dark"] .lesson-score,
html[data-student-theme="dark"] .learn-nav,
html[data-student-theme="dark"] .student-activity,
html[data-student-theme="dark"] .lesson-tabs,
html[data-student-theme="dark"] .lesson-tabs a,
html[data-student-theme="dark"] .lesson-tab-content,
html[data-student-theme="dark"] .lesson-panel,
html[data-student-theme="dark"] .lesson-panel-actions,
html[data-student-theme="dark"] .learning-row,
html[data-student-theme="dark"] .course-unit-card,
html[data-student-theme="dark"] .practice-unit-grid a,
html[data-student-theme="dark"] .practice-list article,
html[data-student-theme="dark"] .home-continue,
html[data-student-theme="dark"] .attention-card,
html[data-student-theme="dark"] .study-mode-grid>a,
html[data-student-theme="dark"] .home-topic,
html[data-student-theme="dark"] .progress-summary,
html[data-student-theme="dark"] .progress-topic-list a,
html[data-student-theme="dark"] .progress-metrics article,
html[data-student-theme="dark"] .mastery-panel,
html[data-student-theme="dark"] .lesson-practice-row,
html[data-student-theme="dark"] .master-practice-group,
html[data-student-theme="dark"] .practice-toolbar>span,
html[data-student-theme="dark"] .practice-toolbar label,
html[data-student-theme="dark"] .account-popover{background:#182238;color:#eef2ff;border-color:#35425f}
html[data-student-theme="dark"] .guided-section-path>a.is-complete{background:#132a2b;border-color:#2e7063}
html[data-student-theme="dark"] .guided-section-path>a.is-complete span{color:#54d5ae}
html[data-student-theme="dark"] .guided-section-path>a>strong,
html[data-student-theme="dark"] .guided-media-bar span,
html[data-student-theme="dark"] .guided-section-head>p strong,
html[data-student-theme="dark"] .learn-nav>a,
html[data-student-theme="dark"] .learn-nav .nav-label,
html[data-student-theme="dark"] .activity-content,
html[data-student-theme="dark"] .course-unit-card,
html[data-student-theme="dark"] .practice-unit-grid a,
html[data-student-theme="dark"] .home-topic,
html[data-student-theme="dark"] .progress-topic-list a,
html[data-student-theme="dark"] .learning-row{color:#eef2ff}
html[data-student-theme="dark"] .guided-section-path>a>b,
html[data-student-theme="dark"] .guided-card footer,
html[data-student-theme="dark"] .lesson-panel-actions{border-color:#35425f}
html[data-student-theme="dark"] .guided-question-toolbar{background:rgba(24,34,56,.97)}
html[data-student-theme="dark"] .guided-media-bar.practice,
html[data-student-theme="dark"] .guided-step-context{background:#151f35;border-color:#35425f}
html[data-student-theme="dark"] .guided-previous-icon,
html[data-student-theme="dark"] .worked-example-player>nav button,
html[data-student-theme="dark"] .lesson-secondary-action{background:#111b30;color:#bda6ff;border-color:#475674;box-shadow:none}
html[data-student-theme="dark"] .guided-previous-icon:disabled{background:#111b30}
html[data-student-theme="dark"] .guided-options label>span{background:#172238;color:#eef2ff;border-color:#43516d}
html[data-student-theme="dark"] .guided-options input:checked+span{background:#2c2450;border-color:#a383f5}
html[data-student-theme="dark"] .guided-score-note{background:#202a41;color:#bdc5d8}
html[data-student-theme="dark"] .draft-testing-banner{background:#241d3e;color:#d7c9ff;border-color:#5a477e}
html[data-student-theme="dark"] .draft-testing-banner strong{color:#c1a8ff}
html[data-student-theme="dark"] .mini-progress,
html[data-student-theme="dark"] .lesson-progress-track,
html[data-student-theme="dark"] .guided-top-progress>div{background:#2c3853}
html[data-student-theme="dark"] .complete-pill{background:#17382f;color:#66dfb9}
html[data-student-theme="dark"] .current-pill,
html[data-student-theme="dark"] .time-pill{background:#2c2450;color:#c5afff}
html[data-student-theme="dark"] .pathway-step{background:#131e34;color:#eef2ff;border-color:#35425f}
html[data-student-theme="dark"] .pathway-step:not(:last-child):after{border-color:#46536d}
html[data-student-theme="dark"] .master-micro-list{background:#141f34;border-color:#35425f}
html[data-student-theme="dark"] .master-micro-row{border-color:#35425f}
html[data-student-theme="dark"] .master-micro-copy strong,
html[data-student-theme="dark"] .master-micro-score b{color:#eef2ff}
html[data-student-theme="dark"] .course-resume-banner,
html[data-student-theme="dark"] .live-card{background:linear-gradient(135deg,#171e4a,#29205f);border-color:#4b477a}
html[data-student-theme="dark"] .global-course-search-empty{background:#121c30;border-color:#43516d}
html[data-student-theme="dark"] .global-course-search-empty strong{color:#eef2ff}
html[data-student-theme="dark"] .global-course-search-dialog>header>button,
html[data-student-theme="dark"] .global-course-search-input kbd,
html[data-student-theme="dark"] .global-course-search-trigger kbd{background:#111b30;color:#bdc5d8;border-color:#43516d}
html[data-student-theme="dark"] .global-course-search-result:hover,
html[data-student-theme="dark"] .global-course-search-trigger:hover{background:#202b45}
html[data-student-theme="dark"] .account-popover small,
html[data-student-theme="dark"] .account-popover span{color:#aeb8cf}
@media(max-width:760px){html[data-student-theme="dark"] .student-sidebar{background:#101946;border-color:#35425f}}

/* v155: restrained, visible hover feedback for clickable dark-mode cards. */
html[data-student-theme="dark"] .course-unit-card,
html[data-student-theme="dark"] .unit-topic-card,
html[data-student-theme="dark"] .learning-row,
html[data-student-theme="dark"] .guided-section-path>a,
html[data-student-theme="dark"] .guided-unit-grid a,
html[data-student-theme="dark"] .guided-topic-grid a,
html[data-student-theme="dark"] .guided-skill-list a,
html[data-student-theme="dark"] .practice-unit-grid a,
html[data-student-theme="dark"] .progress-topic-list a,
html[data-student-theme="dark"] .study-mode-grid>a,
html[data-student-theme="dark"] .home-topic,
html[data-student-theme="dark"] .pathway-step{
  transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
html[data-student-theme="dark"] .guided-unit-grid a,
html[data-student-theme="dark"] .guided-topic-grid a,
html[data-student-theme="dark"] .guided-skill-list a{background:#182238;color:#eef2ff;border-color:#35425f}
html[data-student-theme="dark"] .row-arrow,
html[data-student-theme="dark"] .unit-topic-arrow,
html[data-student-theme="dark"] .course-unit-card>.unit-explore b,
html[data-student-theme="dark"] .guided-section-path>a>b em{transition:color .18s ease,transform .18s ease}
@media(hover:hover) and (pointer:fine){
  html[data-student-theme="dark"] .course-unit-card:hover,
  html[data-student-theme="dark"] .unit-topic-card:hover,
  html[data-student-theme="dark"] .learning-row:hover,
  html[data-student-theme="dark"] .guided-section-path>a:hover,
  html[data-student-theme="dark"] .guided-unit-grid a:hover,
  html[data-student-theme="dark"] .guided-topic-grid a:hover,
  html[data-student-theme="dark"] .guided-skill-list a:hover,
  html[data-student-theme="dark"] .practice-unit-grid a:hover,
  html[data-student-theme="dark"] .progress-topic-list a:hover,
  html[data-student-theme="dark"] .study-mode-grid>a:hover,
  html[data-student-theme="dark"] .home-topic:hover,
  html[data-student-theme="dark"] .pathway-step:hover{
    background:#1e2b46;
    border-color:#8f6cff;
    box-shadow:0 10px 28px rgba(88,56,184,.16);
    transform:translateY(-2px);
  }
  html[data-student-theme="dark"] .learning-row:hover .row-arrow,
  html[data-student-theme="dark"] .unit-topic-card:hover .unit-topic-arrow,
  html[data-student-theme="dark"] .course-unit-card:hover>.unit-explore b,
  html[data-student-theme="dark"] .guided-section-path>a:hover>b em{color:#ccbaff;transform:translateX(3px)}
}
html[data-student-theme="dark"] .course-unit-card:focus-visible,
html[data-student-theme="dark"] .unit-topic-card:focus-visible,
html[data-student-theme="dark"] .learning-row:focus-visible,
html[data-student-theme="dark"] .guided-section-path>a:focus-visible,
html[data-student-theme="dark"] .guided-unit-grid a:focus-visible,
html[data-student-theme="dark"] .guided-topic-grid a:focus-visible,
html[data-student-theme="dark"] .guided-skill-list a:focus-visible,
html[data-student-theme="dark"] .practice-unit-grid a:focus-visible,
html[data-student-theme="dark"] .progress-topic-list a:focus-visible{
  background:#1e2b46;
  border-color:#a78bfa;
  outline:2px solid #bca3ff;
  outline-offset:3px;
  box-shadow:0 10px 28px rgba(88,56,184,.16);
}

/* v156: mobile profile destination and dismissible account sheet. */
.student-sidebar nav .mobile-profile-nav{display:none}
@media(max-width:760px){
  .student-sidebar nav{grid-template-columns:repeat(5,minmax(0,1fr))}
  .student-sidebar nav .mobile-profile-nav{min-width:0;min-height:0;padding:3px;display:grid;justify-items:center;align-content:center;gap:2px;border:0;border-radius:8px;background:none;color:#788096;font:inherit;font-size:.5rem;line-height:inherit;cursor:pointer;-webkit-appearance:none;appearance:none}
  .mobile-profile-nav b{width:auto;height:auto;display:block;color:inherit;line-height:1}
  .mobile-profile-nav svg{width:19px;height:19px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .student-sidebar nav .mobile-profile-nav:hover,.student-sidebar nav .mobile-profile-nav.active{background:none;color:var(--purple);box-shadow:none}
  .mobile-profile-nav:focus-visible{outline:2px solid var(--purple);outline-offset:-2px}
  .student-account-menu[open] .account-menu-backdrop{display:none}
  .account-popover{position:absolute!important;z-index:30;left:auto!important;right:0!important;top:54px!important;bottom:auto!important;width:min(320px,calc(100vw - 24px))!important;max-height:min(70dvh,520px);overscroll-behavior:contain}
}

.profile-alert{margin-bottom:16px}.profile-settings-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(290px,.75fr);gap:18px;align-items:start}.profile-settings-card,.profile-account-card{padding:24px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 14px 38px rgba(20,30,70,.06)}.profile-card-heading{display:flex;align-items:center;gap:14px;margin-bottom:22px}.profile-card-heading>span{width:52px;height:52px;flex:0 0 52px;display:grid;place-items:center;border-radius:15px;background:var(--lav);color:var(--purple);font-size:1rem;font-weight:900}.profile-card-heading h2,.profile-account-card h2{margin:4px 0 5px;color:var(--navy)}.profile-card-heading small,.profile-account-card>p{color:var(--muted);line-height:1.5}.profile-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px}.profile-form-grid label{margin:0;color:var(--navy);font-size:.76rem;font-weight:800}.profile-form-grid input,.profile-form-grid select{width:100%;margin-top:7px;padding:12px 13px;background:#fff;color:var(--navy);border:1px solid var(--line);border-radius:11px;font:inherit}.profile-account-card>p{margin:10px 0 18px}.profile-account-card nav{display:grid;gap:8px}.profile-account-card nav a{display:flex;flex-direction:column;gap:4px;padding:13px 14px;background:var(--paper);color:var(--navy);border:1px solid var(--line);border-radius:12px;text-decoration:none}.profile-account-card nav a:hover{background:var(--lav);border-color:#cdbcf7}.profile-account-card nav span{font-weight:800}.profile-account-card nav b{color:var(--muted);font-size:.67rem;font-weight:650}.profile-account-card nav a.profile-logout span{color:#a32a2a}
html[data-student-theme="dark"] .profile-settings-card,html[data-student-theme="dark"] .profile-account-card,html[data-student-theme="dark"] .profile-form-grid input,html[data-student-theme="dark"] .profile-form-grid select{background:#182238;color:#eef2ff;border-color:#35425f}html[data-student-theme="dark"] .profile-account-card nav a{background:#121c30;color:#eef2ff;border-color:#35425f}html[data-student-theme="dark"] .profile-account-card nav a:hover{background:#202b45;border-color:#8f6cff}html[data-student-theme="dark"] .profile-account-card nav a.profile-logout span{color:#ffaaa4}
@media(max-width:850px){.profile-settings-grid{grid-template-columns:1fr}.profile-form-grid{grid-template-columns:1fr}.profile-settings-card,.profile-account-card{padding:18px;border-radius:15px}}

/* v158: never allow the retired mobile account backdrop to reappear. */
.account-menu-backdrop{display:none!important}

/* v159.4: persistent retry entry points and the Progress mistake centre. */
.master-micro-code-line{display:flex;align-items:center;gap:7px;min-width:0}.master-micro-code-line>b{padding:2px 5px;border-radius:999px;background:#fff0d4;color:#8f5900;font-size:.43rem;font-weight:900;letter-spacing:.06em;white-space:nowrap}.master-micro-row.has-mistakes{background:#fffdf8}.master-micro-row.is-high-priority{box-shadow:inset 3px 0 0 #ff9f1a}.micro-mistake-note{color:#a56100;font-weight:800}.micro-new-link{padding:7px 8px;color:var(--purple);border:1px solid #d8cdf6;background:#fff}.micro-retry-link{padding:8px 10px;background:#ff9f1a;color:#111a45;box-shadow:0 6px 14px rgba(255,159,26,.18)}.micro-retry-link:hover{background:#f3940d}.micro-new-link:hover{background:var(--lav)}

.progress-section-tabs{max-width:1280px;margin:0 auto 18px;display:flex;gap:7px;padding:5px;background:#f0edf6;border:1px solid #e4deef;border-radius:13px}.progress-section-tabs>a{min-width:130px;padding:10px 17px;border-radius:9px;color:#6f7484;text-align:center;text-decoration:none;font-size:.74rem;font-weight:850}.progress-section-tabs>a.active{background:#fff;color:var(--navy);box-shadow:0 4px 13px rgba(24,34,77,.08)}.progress-section-tabs>a span{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:5px;padding:0 5px;border-radius:999px;background:#ffead0;color:#965800;font-size:.6rem}
.mistake-summary-grid{max-width:1280px;margin:0 auto 16px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.mistake-summary-grid article{padding:20px 22px;border:1px solid var(--line);border-radius:15px;background:#fff}.mistake-summary-grid small{display:block;color:var(--purple);font-size:.61rem;font-weight:900;letter-spacing:.09em}.mistake-summary-grid strong{display:block;margin:9px 0 5px;color:var(--navy);font-size:2rem;line-height:1}.mistake-summary-grid p{margin:0;color:var(--muted);font-size:.72rem}.mistake-summary-grid article.priority small{color:#a35d00}.mistake-summary-grid article.priority strong{color:#b66700}.mistake-summary-grid article.fixed small{color:#16734d}.mistake-summary-grid article.fixed strong{color:#16734d}
.mistake-priority-card,.mistake-complete-card{max-width:1280px;margin:0 auto 18px;display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:16px;padding:20px 22px;border:1px solid #ddd4f7;border-radius:16px;background:linear-gradient(135deg,#fbf9ff,#f5f0ff)}.mistake-priority-card.is-high-priority{border-color:#ffd08f;background:linear-gradient(135deg,#fffaf2,#fff3df)}.mistake-priority-icon,.mistake-complete-card>span{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#efe8ff;color:var(--purple);font-size:1rem;font-weight:900}.mistake-priority-card.is-high-priority .mistake-priority-icon{background:#ffdfad;color:#9b5a00}.mistake-priority-card h2,.mistake-complete-card h2{margin:4px 0 5px;color:var(--navy);font-size:1.08rem}.mistake-priority-card p:last-child,.mistake-complete-card p:last-child{margin:0;color:var(--muted);font-size:.75rem;line-height:1.48}.mistake-complete-card{border-color:#cdebdc;background:linear-gradient(135deg,#f7fffb,#edfbf5)}.mistake-complete-card>span{background:#dff5ea;color:#16734d}
.mistake-status-tabs{max-width:1280px;margin:0 auto 11px;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line)}.mistake-status-tabs a{display:flex;align-items:center;gap:7px;padding:11px 13px;border-bottom:3px solid transparent;color:var(--muted);text-decoration:none;font-size:.73rem;font-weight:850}.mistake-status-tabs a.active{border-color:var(--purple);color:var(--navy)}.mistake-status-tabs span{display:grid;place-items:center;min-width:21px;height:21px;padding:0 5px;border-radius:999px;background:#f0edf6;color:#6d45d5;font-size:.58rem}
.mistake-group-list{max-width:1280px;margin:0 auto;display:grid;gap:11px}.mistake-group{overflow:hidden;border:1px solid var(--line);border-radius:15px;background:#fff}.mistake-group.is-high-priority{border-color:#f5c77f}.mistake-group>summary{list-style:none;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:13px;padding:15px 18px;cursor:pointer}.mistake-group>summary::-webkit-details-marker{display:none}.mistake-group[open]>summary{border-bottom:1px solid var(--line)}.mistake-group-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#fff0d8;color:#a45f00;font-weight:900}.mistake-group-copy{min-width:0;display:grid;gap:2px}.mistake-group-copy small{overflow:hidden;color:var(--purple);font-size:.57rem;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.mistake-group-copy strong{overflow:hidden;color:var(--navy);font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}.mistake-group-copy em{overflow:hidden;color:var(--muted);font-size:.62rem;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.mistake-group-state{display:flex;align-items:center;gap:13px}.mistake-group-state b{padding:5px 8px;border-radius:999px;background:#fff0d8;color:#985900;font-size:.53rem;letter-spacing:.06em}.mistake-group-state i{color:#7a718d;font-style:normal;transition:transform .18s ease}.mistake-group[open] .mistake-group-state i{transform:rotate(180deg)}.mistake-group-body{padding:15px 18px 18px;background:#fcfbff}.mistake-group-actions{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:9px;margin-bottom:13px}.mistake-group-actions>div{display:grid;gap:2px}.mistake-group-actions>div strong{color:var(--navy);font-size:.75rem}.mistake-group-actions>div span{color:var(--muted);font-size:.61rem}.mistake-group-actions .btn{padding:9px 12px;border-radius:9px;font-size:.64rem}.mistake-primary-action{background:var(--purple);color:#fff}.mistake-secondary-action{background:#fff;color:var(--purple);border:1px solid #d7ccf4}
.mistake-question-list{display:grid;gap:10px}.mistake-question-card{padding:15px;border:1px solid #ebe6f3;border-radius:13px;background:#fff}.mistake-question-card.is-repeated{border-color:#f2bf75;background:#fffdfa}.mistake-question-card.is-fixed{border-color:#cfe8dc;background:#fbfffd}.mistake-question-card>header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.mistake-question-card>header span{padding:4px 7px;border-radius:999px;background:#fff0d8;color:#985900;font-size:.54rem;font-weight:900;letter-spacing:.04em}.mistake-question-card.is-fixed>header span{background:#dff5ea;color:#16734d}.mistake-question-card>header small{color:var(--muted);font-size:.57rem}.mistake-question-card h3{margin:0 0 12px;color:var(--navy);font-size:.86rem;font-weight:650;line-height:1.55}.mistake-answer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.mistake-answer{min-width:0;padding:11px 12px;border-radius:10px;border:1px solid var(--line);background:#f8f7fb}.mistake-answer small{display:block;margin-bottom:5px;color:var(--muted);font-size:.54rem;font-weight:850;letter-spacing:.04em}.mistake-answer strong{display:block;overflow-wrap:anywhere;color:var(--navy);font-size:.72rem;font-weight:700}.mistake-answer.wrong{border-color:#ffd0c9;background:#fff5f3}.mistake-answer.wrong small{color:#ae4639}.mistake-answer.correct,.mistake-answer.corrected{border-color:#bfe5d2;background:#f0fbf6}.mistake-answer.correct small,.mistake-answer.corrected small{color:#16734d}.mistake-explanation{margin-top:10px;border:1px solid #e4ddf2;border-radius:10px;background:#faf8ff}.mistake-explanation>summary{padding:9px 11px;color:var(--purple);cursor:pointer;font-size:.62rem;font-weight:850}.mistake-explanation>p,.mistake-explanation>ol{margin:0;padding:0 13px 12px;color:var(--navy);font-size:.68rem;line-height:1.55}.mistake-explanation>ol{padding-left:29px}.mistake-question-card>footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:11px}.mistake-question-card>footer span{color:var(--muted);font-size:.58rem}.mistake-question-card>footer a{color:var(--purple);font-size:.61rem;font-weight:850;text-decoration:none}.mistake-empty-state{max-width:1280px;margin:0 auto;min-height:250px;display:grid;place-content:center;justify-items:center;text-align:center;padding:30px;border:1px dashed #d9d1e7;border-radius:16px;background:#fff}.mistake-empty-state>span{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#dff5ea;color:#16734d;font-weight:900}.mistake-empty-state h2{margin:13px 0 5px;color:var(--navy)}.mistake-empty-state p{max-width:520px;margin:0;color:var(--muted);font-size:.75rem;line-height:1.5}

html[data-student-theme="dark"] .master-micro-row.has-mistakes{background:#1b2435}html[data-student-theme="dark"] .micro-new-link{background:#121c30;color:#c6b5ff;border-color:#46536d}html[data-student-theme="dark"] .master-micro-code-line>b{background:#4a351a;color:#ffd18c}
html[data-student-theme="dark"] .progress-section-tabs{background:#111b30;border-color:#35425f}html[data-student-theme="dark"] .progress-section-tabs>a{color:#aeb8cf}html[data-student-theme="dark"] .progress-section-tabs>a.active,html[data-student-theme="dark"] .mistake-summary-grid article,html[data-student-theme="dark"] .mistake-group,html[data-student-theme="dark"] .mistake-question-card,html[data-student-theme="dark"] .mistake-empty-state{background:#182238;color:#eef2ff;border-color:#35425f}html[data-student-theme="dark"] .progress-section-tabs>a.active,html[data-student-theme="dark"] .mistake-summary-grid strong,html[data-student-theme="dark"] .mistake-priority-card h2,html[data-student-theme="dark"] .mistake-complete-card h2,html[data-student-theme="dark"] .mistake-group-copy strong,html[data-student-theme="dark"] .mistake-group-actions>div strong,html[data-student-theme="dark"] .mistake-question-card h3,html[data-student-theme="dark"] .mistake-answer strong,html[data-student-theme="dark"] .mistake-empty-state h2{color:#eef2ff}html[data-student-theme="dark"] .mistake-priority-card{background:linear-gradient(135deg,#1d2540,#2a214a);border-color:#4e4774}html[data-student-theme="dark"] .mistake-priority-card.is-high-priority{background:linear-gradient(135deg,#2d251a,#3a2b18);border-color:#70532a}html[data-student-theme="dark"] .mistake-complete-card{background:linear-gradient(135deg,#152a27,#17362f);border-color:#31594d}html[data-student-theme="dark"] .mistake-status-tabs,html[data-student-theme="dark"] .mistake-group[open]>summary{border-color:#35425f}html[data-student-theme="dark"] .mistake-status-tabs a.active{color:#eef2ff}html[data-student-theme="dark"] .mistake-group-body{background:#141f34}html[data-student-theme="dark"] .mistake-answer{background:#121c30;border-color:#35425f}html[data-student-theme="dark"] .mistake-answer.wrong{background:#382323;border-color:#6b3e3e}html[data-student-theme="dark"] .mistake-answer.correct,html[data-student-theme="dark"] .mistake-answer.corrected{background:#17332b;border-color:#315c4e}html[data-student-theme="dark"] .mistake-explanation{background:#121c30;border-color:#35425f}html[data-student-theme="dark"] .mistake-explanation>p,html[data-student-theme="dark"] .mistake-explanation>ol{color:#eef2ff}
@media(max-width:900px){.mistake-priority-card,.mistake-complete-card{grid-template-columns:42px minmax(0,1fr)}.mistake-priority-card>a,.mistake-complete-card>a{grid-column:2;justify-self:start}.mistake-group-actions{grid-template-columns:1fr auto}.mistake-group-actions>div{grid-column:1/-1}.mistake-answer-grid{grid-template-columns:1fr}}
@media(max-width:700px){.master-micro-row.has-mistakes{padding-left:7px}.master-micro-actions{flex-wrap:wrap}.micro-retry-link{order:3}.progress-section-tabs{margin-bottom:14px}.progress-section-tabs>a{min-width:0;flex:1;padding:9px 10px}.mistake-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.mistake-summary-grid article{padding:14px 12px}.mistake-summary-grid strong{font-size:1.55rem}.mistake-summary-grid p{font-size:.57rem}.mistake-priority-card,.mistake-complete-card{grid-template-columns:36px minmax(0,1fr);padding:16px}.mistake-priority-icon,.mistake-complete-card>span{width:34px;height:34px}.mistake-priority-card>a,.mistake-complete-card>a{grid-column:1/-1;width:100%;justify-content:center}.mistake-group>summary{grid-template-columns:32px minmax(0,1fr);padding:13px}.mistake-group-state{grid-column:2}.mistake-group-body{padding:12px}.mistake-group-actions{grid-template-columns:1fr}.mistake-group-actions .btn{width:100%;justify-content:center}.mistake-question-card{padding:13px}.mistake-question-card>header,.mistake-question-card>footer{align-items:flex-start;flex-direction:column}.mistake-group-copy strong,.mistake-group-copy em{white-space:normal}.mistake-status-tabs a{flex:1;justify-content:center}}

/* v159.4 refinement: resolved-state copy and retry actions on every Practice layout. */
.master-micro-row.has-mistakes .master-micro-actions{max-width:350px;flex-wrap:wrap;justify-content:flex-end}
.master-micro-row.has-fixed-mistakes{background:#fbfffd}
.micro-fixed-note{color:#16734d;font-weight:850}
.journey-card.has-mistakes{background:linear-gradient(110deg,#fffaf2 0%,#fff 58%)!important}
.journey-card.is-high-priority{border-color:#efb651!important;box-shadow:inset 4px 0 0 #ff9f1a,0 13px 34px rgba(170,103,0,.09)!important}
.journey-summary .journey-mistake-note{background:#fff0d8;color:#915500;font-weight:800}
.journey-summary .journey-mistake-note b{color:#8a5000}
.journey-summary .journey-fixed-note{background:#e5f7ee;color:#16734d;font-weight:850}
.journey-retry{min-width:190px;background:#ff9f1a!important;color:#111a45!important;box-shadow:0 7px 16px rgba(255,159,26,.2)}
.journey-retry:hover{background:#f3940d!important}
html[data-student-theme="dark"] .master-micro-row.has-fixed-mistakes{background:#172a27}
html[data-student-theme="dark"] .micro-fixed-note{color:#82dfb4}
html[data-student-theme="dark"] .journey-card.has-mistakes{background:linear-gradient(110deg,#2d251a 0%,#182238 58%)!important}
html[data-student-theme="dark"] .journey-card.is-high-priority{border-color:#8a6531!important;box-shadow:inset 4px 0 0 #ffb64d,0 13px 34px rgba(0,0,0,.2)!important}
html[data-student-theme="dark"] .journey-summary .journey-mistake-note{background:#4a351a;color:#ffd18c}
html[data-student-theme="dark"] .journey-summary .journey-mistake-note b{color:#ffd18c}
html[data-student-theme="dark"] .journey-summary .journey-fixed-note{background:#17352d;color:#82dfb4}
@media(max-width:1050px){.master-micro-row.has-mistakes{grid-template-columns:32px minmax(0,1fr) auto}.master-micro-row.has-mistakes .master-micro-actions{grid-column:2/4;max-width:none}}

/* v159.7: student-friendly mistake hierarchy. Internal Master/Micro Skill codes stay hidden from students. */
.mistake-topic-stack{max-width:1280px;margin:0 auto;display:grid;gap:14px}
.mistake-topic-card{overflow:hidden;border:1px solid #ddd6ec;border-radius:17px;background:#fff;box-shadow:0 10px 28px rgba(25,34,74,.045)}
.mistake-topic-card>summary{list-style:none;cursor:pointer}.mistake-topic-card>summary::-webkit-details-marker{display:none}
.mistake-topic-heading{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:18px 20px}
.mistake-topic-heading .eyebrow{margin:0 0 4px;font-size:.55rem}
.mistake-topic-heading h2{margin:0;color:var(--navy);font-size:1rem;line-height:1.25}
.mistake-topic-heading p:not(.eyebrow){margin:4px 0 0;color:var(--muted);font-size:.65rem}
.mistake-topic-stats{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap;text-align:right}
.mistake-topic-stats span{display:inline-flex;align-items:baseline;gap:4px;padding:6px 9px;border-radius:999px;background:#f6f3fb;color:var(--muted);font-size:.59rem;font-weight:750;line-height:1.2;white-space:nowrap}
.mistake-topic-stats span strong{color:var(--navy);font-size:.8rem;line-height:1}
.mistake-topic-stats span.priority{background:#fff3dc;color:#a35d00}
.mistake-topic-stats span.priority strong{color:#a35d00}
.mistake-topic-stats i{margin-left:2px;color:#7a718d;font-style:normal;transition:transform .18s ease}
.mistake-topic-card[open] .mistake-topic-stats i{transform:rotate(180deg)}
.mistake-topic-card.is-single{border-color:#dcd3ef;background:linear-gradient(180deg,#fff 0%,#fdfcff 100%)}
.mistake-topic-card.is-single .mistake-topic-heading{border-bottom:1px solid #eee9f5}
.mistake-topic-guidance{margin:0;padding:11px 20px 0;color:var(--muted);font-size:.65rem;line-height:1.45}
.mistake-topic-body{padding:0 14px 14px;border-top:1px solid #eee9f5;background:#fcfbff}
.mistake-topic-card .mistake-group-list{max-width:none;margin:0;padding:14px 14px 14px;gap:9px}
.mistake-topic-card.is-single .mistake-group-list{padding-top:12px}
.mistake-topic-body .mistake-group-list{padding-left:0;padding-right:0;padding-bottom:0}
.mistake-topic-card .mistake-group{box-shadow:none}

html[data-student-theme="dark"] .mistake-topic-card{background:#182238;border-color:#35425f;box-shadow:none}
html[data-student-theme="dark"] .mistake-topic-card.is-single{background:linear-gradient(180deg,#182238 0%,#151f34 100%);border-color:#46536d}
html[data-student-theme="dark"] .mistake-topic-heading h2,html[data-student-theme="dark"] .mistake-topic-stats span strong{color:#eef2ff}
html[data-student-theme="dark"] .mistake-topic-stats span{background:#222d45;color:#b7c0d3}
html[data-student-theme="dark"] .mistake-topic-stats span.priority{background:#4a351a;color:#ffd18c}
html[data-student-theme="dark"] .mistake-topic-stats span.priority strong{color:#ffd18c}
html[data-student-theme="dark"] .mistake-topic-card.is-single .mistake-topic-heading,html[data-student-theme="dark"] .mistake-topic-body{border-color:#35425f}
html[data-student-theme="dark"] .mistake-topic-body{background:#141f34}

@media(max-width:700px){
  .mistake-topic-heading{grid-template-columns:1fr;padding:15px}
  .mistake-topic-stats{justify-content:flex-start;justify-self:stretch;text-align:left;padding-right:30px}
  .mistake-topic-stats i{position:absolute;right:18px}
  .mistake-topic-guidance{padding:10px 15px 0}
  .mistake-topic-card .mistake-group-list{padding:11px}
  .mistake-topic-body{padding:0 10px 10px}
  .mistake-topic-body .mistake-group-list{padding-left:0;padding-right:0;padding-bottom:0}
}


/* v159.7.2: calm default mistake accordions + green repaired state. */
.mistake-group.is-repaired{border-color:#bfe5d2;background:#fbfffd}
.mistake-group.is-repaired .mistake-group-icon{background:#dff5ea;color:#16734d}
.mistake-group.is-repaired .mistake-group-state b{background:#dff5ea;color:#16734d}
.mistake-group.is-repaired[open]>summary{border-bottom-color:#d5ecdf}
.mistake-group.is-repaired .mistake-group-body{background:#f8fdfb}
html[data-student-theme="dark"] .mistake-group.is-repaired{background:#172a27;border-color:#315c4e}
html[data-student-theme="dark"] .mistake-group.is-repaired .mistake-group-icon,
html[data-student-theme="dark"] .mistake-group.is-repaired .mistake-group-state b{background:#17352d;color:#82dfb4}
html[data-student-theme="dark"] .mistake-group.is-repaired[open]>summary{border-bottom-color:#315c4e}
html[data-student-theme="dark"] .mistake-group.is-repaired .mistake-group-body{background:#142720}

/* v159.7.3 — make a pending 4/5 repair visible after leaving the result page. */
.mistake-priority-card.is-confirmation-due{border-color:#cbb8ff;background:linear-gradient(135deg,#fbf9ff,#f2edff)}
.mistake-priority-card.is-confirmation-due .mistake-priority-icon{background:#e9e0ff;color:var(--purple)}
.mistake-group.is-confirmation-due{border-color:#bfa8ff}
.mistake-group.is-confirmation-due .mistake-group-icon{background:#eee7ff;color:var(--purple)}
.mistake-group.is-confirmation-due .mistake-group-state b{background:#eee7ff;color:var(--purple)}
html[data-student-theme="dark"] .mistake-priority-card.is-confirmation-due{background:linear-gradient(135deg,#211d3d,#2d2350);border-color:#6552a4}
html[data-student-theme="dark"] .mistake-priority-card.is-confirmation-due .mistake-priority-icon,html[data-student-theme="dark"] .mistake-group.is-confirmation-due .mistake-group-state b{background:#322657;color:#cbbcff}
html[data-student-theme="dark"] .mistake-group.is-confirmation-due{border-color:#6552a4}

/* v159.8.1 — Smart Revise schedule-first student UI. */
.smart-revise-summary-grid{max-width:1280px;margin:0 auto 16px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.smart-revise-summary-grid article{padding:20px 22px;border:1px solid var(--line);border-radius:15px;background:#fff}
.smart-revise-summary-grid small{display:block;color:var(--purple);font-size:.61rem;font-weight:900;letter-spacing:.09em}
.smart-revise-summary-grid strong{display:block;margin:9px 0 5px;color:var(--navy);font-size:2rem;line-height:1}
.smart-revise-summary-grid p{margin:0;color:var(--muted);font-size:.72rem}
.smart-revise-summary-grid article.due{border-color:#d8c9ff;background:linear-gradient(135deg,#fff,#f8f4ff)}
.smart-revise-summary-grid article.secure small,.smart-revise-summary-grid article.secure strong{color:#16734d}
.smart-revise-hero{max-width:1280px;margin:0 auto 18px;display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:16px;padding:20px 22px;border:1px solid #cdebdc;border-radius:16px;background:linear-gradient(135deg,#f8fffb,#eefbf5)}
.smart-revise-hero.is-due{border-color:#d6c6ff;background:linear-gradient(135deg,#fbf9ff,#f2edff)}
.smart-revise-hero>span{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#dff5ea;color:#16734d;font-size:1rem;font-weight:900}
.smart-revise-hero.is-due>span{background:#e9e0ff;color:var(--purple)}
.smart-revise-hero h2{margin:4px 0 5px;color:var(--navy);font-size:1.08rem}
.smart-revise-hero p:last-child{margin:0;color:var(--muted);font-size:.75rem;line-height:1.48}
.smart-test-action{background:#fff!important;color:var(--purple)!important;border:1px solid #d8ccf7!important;box-shadow:none!important}
.smart-revise-section{max-width:1280px;margin:0 auto 18px;padding:18px;border:1px solid #ddd6ec;border-radius:17px;background:#fff}
.smart-revise-section.is-blocked{border-color:#f1d4a7;background:#fffdf9}
.smart-revise-section-head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:12px}
.smart-revise-section-head h2{margin:3px 0 0;color:var(--navy);font-size:1.03rem}
.smart-revise-section-head>span{padding:6px 9px;border-radius:999px;background:#f4f0fb;color:var(--muted);font-size:.62rem;font-weight:800;white-space:nowrap}
.smart-revise-list{display:grid;gap:9px}
.smart-revise-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:14px 15px;border:1px solid #ebe6f2;border-radius:13px;background:#fcfbff}
.smart-revise-list small{display:block;color:var(--purple);font-size:.62rem;font-weight:850}
.smart-revise-list h3{margin:3px 0 4px;color:var(--navy);font-size:.9rem}
.smart-revise-list p{margin:0;color:var(--muted);font-size:.68rem}
.smart-secure-archive{max-width:1280px;margin:0 auto;border:1px solid #cfe9dc;border-radius:15px;background:#fbfffd;overflow:hidden}
.smart-secure-archive>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:12px;padding:15px 17px}.smart-secure-archive>summary::-webkit-details-marker{display:none}
.smart-secure-archive>summary>span{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:#dff5ea;color:#16734d;font-weight:900}
.smart-secure-archive>summary strong{display:block;color:#16734d}.smart-secure-archive>summary small{display:block;margin-top:2px;color:var(--muted)}
.smart-secure-archive>div{padding:0 17px 14px}.smart-secure-archive>div p{display:flex;justify-content:space-between;gap:12px;margin:0;padding:11px 0;border-top:1px solid #e4f2eb}.smart-secure-archive>div span{color:var(--muted);font-size:.68rem}
html[data-student-theme="dark"] .smart-revise-summary-grid article,html[data-student-theme="dark"] .smart-revise-section{background:#182238;border-color:#35425f}
html[data-student-theme="dark"] .smart-revise-summary-grid article.due,html[data-student-theme="dark"] .smart-revise-hero.is-due{background:linear-gradient(135deg,#211d3d,#2d2350);border-color:#6552a4}
html[data-student-theme="dark"] .smart-revise-hero{background:linear-gradient(135deg,#152a27,#17362f);border-color:#31594d}
html[data-student-theme="dark"] .smart-revise-summary-grid strong,html[data-student-theme="dark"] .smart-revise-hero h2,html[data-student-theme="dark"] .smart-revise-section-head h2,html[data-student-theme="dark"] .smart-revise-list h3{color:#eef2ff}
html[data-student-theme="dark"] .smart-revise-list article{background:#141f34;border-color:#35425f}
html[data-student-theme="dark"] .smart-test-action{background:#17213a!important;border-color:#4b5874!important;color:#cbbcff!important}
html[data-student-theme="dark"] .smart-secure-archive{background:#172a27;border-color:#315c4e}
html[data-student-theme="dark"] .smart-secure-archive>div p{border-color:#315c4e}
@media(max-width:900px){.smart-revise-hero{grid-template-columns:42px minmax(0,1fr)}.smart-revise-hero>a{grid-column:2;justify-self:start}.smart-revise-list article{grid-template-columns:1fr}.smart-revise-list article>a{justify-self:start}}
@media(max-width:700px){.smart-revise-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.smart-revise-summary-grid article{padding:14px 12px}.smart-revise-summary-grid strong{font-size:1.55rem}.smart-revise-summary-grid p{font-size:.57rem}.smart-revise-hero{grid-template-columns:36px minmax(0,1fr);padding:16px}.smart-revise-hero>span{width:34px;height:34px}.smart-revise-hero>a{grid-column:1/-1;width:100%;justify-content:center}.smart-revise-section{padding:13px}.smart-revise-section-head{align-items:flex-start}.smart-revise-list article>a{width:100%;justify-content:center}.smart-secure-archive>div p{flex-direction:column}}

/* v159.8.1 — make the automatic revision schedule visibly intentional. */
.smart-revise-section-head>div>p:not(.eyebrow){margin:5px 0 0;color:var(--muted);font-size:.7rem;line-height:1.45}
.smart-revise-scheduled-line{display:flex;flex-wrap:wrap;align-items:center;gap:7px 10px!important}
.smart-revise-scheduled-line strong{color:var(--navy);font-size:.7rem}
.smart-revise-scheduled-line span{color:var(--muted);font-size:.66rem}
html[data-student-theme="dark"] .smart-revise-scheduled-line strong{color:#eef2ff}

.smart-revise-path{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin-top:8px;font-size:.61rem;line-height:1.35}
.smart-revise-path i{font-style:normal;color:#a6aec0}
.smart-revise-path span{padding:4px 7px;border-radius:999px;background:#f3f0f9;color:var(--muted);font-weight:750}
.smart-revise-path span.done{background:#eaf8f1;color:#16734d}
.smart-revise-path span.next{background:#f1ebff;color:var(--purple)}
html[data-student-theme="dark"] .smart-revise-path span{background:#202b43;color:#b7c0d4}
html[data-student-theme="dark"] .smart-revise-path span.done{background:#17362f;color:#7ee0b1}
html[data-student-theme="dark"] .smart-revise-path span.next{background:#2d2350;color:#cabdff}

/* v161: motivating, status-aware Progress hub. */
.progress-section-tabs{max-width:1280px;margin:0 auto 18px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0;background:transparent;border:0;border-radius:0}
.progress-section-tabs>a{min-width:0;min-height:108px;display:grid;grid-template-columns:42px minmax(0,1fr);align-content:center;gap:4px 13px;padding:17px 18px;border:1px solid #e1dbea;border-radius:16px;background:#fff;color:var(--navy);text-align:left;box-shadow:0 8px 24px rgba(24,34,77,.045);transition:transform .16s,border-color .16s,box-shadow .16s}
.progress-section-tabs>a:hover{transform:translateY(-2px);border-color:#bda9ee;box-shadow:0 12px 30px rgba(65,42,125,.1)}
.progress-section-tabs>a.active{background:linear-gradient(135deg,#f7f3ff,#fff);color:var(--navy);border-color:#a98aef;box-shadow:0 0 0 2px rgba(113,58,239,.08),0 10px 28px rgba(56,31,116,.08)}
.progress-section-tabs>a>i{grid-row:1/3;width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#eee7ff;color:var(--purple);font-size:1rem;font-style:normal;font-weight:950}
.progress-section-tabs>a:nth-child(2)>i{background:#fff0d8;color:#9c5c00}.progress-section-tabs>a:nth-child(3)>i{background:#e9f8f3;color:#13805e}
.progress-section-tabs>a .progress-tab-copy{display:grid;margin:0;padding:0;background:transparent;color:inherit;line-height:1.25}
.progress-section-tabs>a .progress-tab-copy strong{color:var(--navy);font-size:.9rem;font-weight:850}.progress-section-tabs>a .progress-tab-copy small{margin-top:3px;color:var(--muted);font-size:.65rem;font-weight:650;letter-spacing:0}
.progress-section-tabs>a>b{grid-column:2;justify-self:start;margin-top:5px;padding:4px 8px;border-radius:999px;background:#f1ecff;color:var(--purple);font-size:.54rem;font-weight:900;letter-spacing:.055em}
.progress-section-tabs>a:nth-child(2)>b{background:#fff3df;color:#955900}.progress-section-tabs>a:nth-child(3)>b{background:#eaf8f2;color:#137455}

.progress-motivation{max-width:1280px;margin:0 auto 16px;display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:18px;padding:24px 26px;border:1px solid #d8c9fb;border-radius:18px;background:linear-gradient(120deg,#f8f4ff 0%,#fff 64%,#fff8ea 100%);box-shadow:0 10px 30px rgba(62,38,124,.055)}
.progress-motivation>span{width:52px;height:52px;display:grid;place-items:center;border-radius:16px;background:linear-gradient(135deg,#6d37db,#8f5cf1);color:#fff;font-size:1.1rem;box-shadow:0 9px 20px rgba(104,54,213,.22)}
.progress-motivation h2{margin:4px 0 5px;color:var(--navy);font-size:1.28rem}.progress-motivation p:last-child{margin:0;color:var(--muted);font-size:.78rem;line-height:1.5}
.progress-motivation>.btn{padding:12px 17px;background:var(--purple);color:#fff;white-space:nowrap;box-shadow:0 8px 20px rgba(113,58,239,.2)}

.progress-metrics article{position:relative;overflow:hidden;padding:20px 21px}.progress-metrics article>span:first-child{position:absolute;right:18px;top:17px;width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:#f1ebff;color:var(--purple);font-size:.8rem;font-weight:900}
.progress-metrics article.accuracy>span:first-child{background:#e9f8f2;color:#13805e}.progress-metrics article.tests>span:first-child{background:#eef2ff;color:#4056af}.progress-metrics article.streak>span:first-child{background:#fff1dc;color:#b16500}
.progress-metrics article>.mini-progress{height:6px;margin-top:14px}.progress-metrics article.course strong{margin-bottom:5px}.progress-metrics article strong{max-width:calc(100% - 35px)}
.mastery-panel-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:10px}.mastery-panel-head h2{margin:5px 0 3px}.mastery-panel-head p:not(.eyebrow){margin:0;color:var(--muted);font-size:.72rem}.mastery-panel-head>span{padding:7px 10px;border-radius:999px;background:#eaf8f2;color:#137455;font-size:.56rem;font-weight:900;letter-spacing:.06em;white-space:nowrap}
.mastery-row.is-strongest{margin:0 -10px;padding-left:10px;padding-right:10px;border-radius:11px;background:linear-gradient(90deg,#f6f1ff,transparent)}.mastery-row.is-strongest>strong,.mastery-row.is-strongest>b{color:var(--purple)}

html[data-student-theme="dark"] .progress-section-tabs{background:transparent;border:0}html[data-student-theme="dark"] .progress-section-tabs>a,html[data-student-theme="dark"] .progress-section-tabs>a.active,html[data-student-theme="dark"] .progress-motivation{background:#182238;color:#eef2ff;border-color:#35425f}html[data-student-theme="dark"] .progress-section-tabs>a.active{background:linear-gradient(135deg,#242047,#182238);border-color:#755eb3}html[data-student-theme="dark"] .progress-section-tabs>a .progress-tab-copy strong,html[data-student-theme="dark"] .progress-motivation h2{color:#eef2ff}html[data-student-theme="dark"] .progress-motivation{background:linear-gradient(120deg,#211d3d,#182238 70%,#302719)}html[data-student-theme="dark"] .mastery-row.is-strongest{background:linear-gradient(90deg,#282044,transparent)}
@media(max-width:1000px){.progress-section-tabs{grid-template-columns:1fr}.progress-section-tabs>a{min-height:88px}.progress-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.progress-section-tabs{gap:8px;margin-bottom:13px}.progress-section-tabs>a{min-height:82px;grid-template-columns:36px minmax(0,1fr);padding:13px}.progress-section-tabs>a>i{width:36px;height:36px;border-radius:11px}.progress-section-tabs>a>b{grid-column:2}.progress-section-tabs>a .progress-tab-copy small{font-size:.61rem}.progress-motivation{grid-template-columns:44px minmax(0,1fr);padding:18px;gap:13px}.progress-motivation>span{width:42px;height:42px;border-radius:13px}.progress-motivation>.btn{grid-column:1/-1;width:100%;justify-content:center}.progress-metrics{grid-template-columns:1fr}.mastery-panel-head{align-items:flex-start;flex-direction:column}.mastery-row{grid-template-columns:minmax(0,1fr) 45px;gap:10px}.mastery-row .mini-progress{grid-column:1/-1;grid-row:2}.mastery-row>b{grid-column:2;grid-row:1}}

/* v162: one clear hierarchy — navigation, primary action, supporting evidence. */
.progress-section-tabs{display:flex;gap:4px;padding:5px;background:#efecf5;border:1px solid #e2ddeb;border-radius:14px}
.progress-section-tabs>a{min-height:62px;flex:1;display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;align-content:center;gap:3px 10px;padding:10px 12px;border:0;border-radius:10px;background:transparent;box-shadow:none}
.progress-section-tabs>a:hover{transform:none;background:#f8f6fc;border:0;box-shadow:none}.progress-section-tabs>a.active{background:#fff;border:0;box-shadow:0 4px 12px rgba(25,34,77,.08)}
.progress-section-tabs>a>i{grid-row:1/3;width:32px;height:32px;border-radius:9px;font-size:.78rem}.progress-section-tabs>a .progress-tab-copy{display:block;min-width:0}.progress-section-tabs>a .progress-tab-copy strong{display:block;font-size:.78rem;white-space:nowrap}.progress-section-tabs>a .progress-tab-copy small{display:block;overflow:hidden;margin-top:2px;font-size:.56rem;text-overflow:ellipsis;white-space:nowrap}
.progress-section-tabs>a>b{grid-column:3;grid-row:1/3;align-self:center;justify-self:end;margin:0;padding:4px 7px;font-size:.48rem;white-space:nowrap}

.progress-motivation{border-color:#6130d1;background:linear-gradient(120deg,#5426bc 0%,#7139df 58%,#844cf0 100%);box-shadow:0 14px 34px rgba(70,34,155,.19)}
.progress-motivation>span{background:#ffffff1c;color:#fff;border:1px solid #ffffff30;box-shadow:none}.progress-motivation .eyebrow{color:#dfd1ff!important}.progress-motivation h2{color:#fff}.progress-motivation p:last-child{color:#eee7ff}.progress-motivation>.btn{background:#fff;color:#5d2ac5;box-shadow:0 9px 22px rgba(32,12,79,.2)}

.progress-metrics article{padding:20px 21px}.progress-metrics article>span:first-child{display:none}.progress-metrics article strong{max-width:none}.progress-metrics article>.mini-progress{height:4px}

.smart-revise-hero.is-due{border-color:#6130d1;background:linear-gradient(120deg,#5426bc 0%,#7139df 58%,#844cf0 100%);box-shadow:0 14px 34px rgba(70,34,155,.16)}.smart-revise-hero.is-due>span{background:#ffffff1c;color:#fff;border:1px solid #ffffff30}.smart-revise-hero.is-due .eyebrow{color:#dfd1ff!important}.smart-revise-hero.is-due h2{color:#fff}.smart-revise-hero.is-due p:last-child{color:#eee7ff}.smart-revise-hero.is-due>.btn{background:#fff;color:#5d2ac5;box-shadow:0 9px 22px rgba(32,12,79,.2)}
.smart-revise-section{padding:0;border:0;border-radius:0;background:transparent}.smart-revise-section.is-blocked{padding:16px;border:1px solid #f1d4a7;border-radius:15px}.smart-revise-section-head{padding:0 2px}.smart-revise-list article{background:#fff;border-radius:14px;box-shadow:0 6px 18px rgba(24,34,77,.035)}
.mistake-topic-card.is-single{overflow:visible;border:0;background:transparent;box-shadow:none}.mistake-topic-card.is-single .mistake-topic-heading{padding:0 2px 13px;border-bottom:1px solid var(--line)}.mistake-topic-card.is-single .mistake-topic-guidance{padding:10px 2px 0}.mistake-topic-card.is-single .mistake-group-list{padding:10px 0 0}.mistake-topic-card.is-single .mistake-group{box-shadow:0 5px 16px rgba(24,34,77,.035)}

html[data-student-theme="dark"] .progress-section-tabs{background:#111b30;border-color:#35425f}html[data-student-theme="dark"] .progress-section-tabs>a{background:transparent}html[data-student-theme="dark"] .progress-section-tabs>a:hover{background:#151f34}html[data-student-theme="dark"] .progress-section-tabs>a.active{background:#202b45}html[data-student-theme="dark"] .progress-motivation,html[data-student-theme="dark"] .smart-revise-hero.is-due{background:linear-gradient(120deg,#4c26a5,#6735cc 60%,#7441dd);border-color:#805de0}html[data-student-theme="dark"] .smart-revise-section{background:transparent;border-color:transparent}html[data-student-theme="dark"] .smart-revise-section.is-blocked{background:#2d251a;border-color:#70532a}html[data-student-theme="dark"] .mistake-topic-card.is-single{background:transparent;border:0}
@media(max-width:980px){.progress-section-tabs{display:grid;grid-template-columns:1fr}.progress-section-tabs>a{min-height:58px}.progress-section-tabs>a .progress-tab-copy small{white-space:normal}.progress-section-tabs>a>b{grid-column:3}}
@media(max-width:700px){.progress-section-tabs>a{grid-template-columns:32px minmax(0,1fr) auto;padding:9px 10px}.progress-section-tabs>a>i{width:32px;height:32px}.progress-section-tabs>a>b{grid-column:3;grid-row:1/3}.progress-motivation{padding:19px}.smart-revise-hero.is-due{padding:18px}}


/* v163: clear, readable navigation with no competing microcopy. */
.progress-section-tabs.progress-toggle{display:flex;gap:6px;padding:5px;max-width:1280px;margin:0 auto 24px;background:#eae4f5;border:1px solid #ddd3ef;border-radius:16px}
.progress-section-tabs.progress-toggle>a{display:flex;align-items:center;justify-content:center;flex:1;min-width:0;min-height:44px;padding:10px 14px;border:1px solid transparent;border-radius:11px;background:transparent;color:#514565;font-size:16px;font-weight:650;line-height:1.25;text-align:center;text-decoration:none;cursor:pointer;box-shadow:none;transition:background .18s,color .18s,box-shadow .18s}
.progress-section-tabs.progress-toggle>a:hover{background:#fff;color:#6330cc;box-shadow:0 3px 10px #30205012;transform:none}
.progress-section-tabs.progress-toggle>a.active{background:#7139df;color:#fff;border-color:#7139df;box-shadow:0 5px 14px #6130d133}
.progress-section-tabs.progress-toggle>a:focus-visible{outline:3px solid #c68a19;outline-offset:3px}
.mistake-priority-card,.mistake-priority-card.is-high-priority,.mistake-priority-card.is-confirmation-due{background:linear-gradient(115deg,#5426bc,#7941e8);border-color:#6b35d7;box-shadow:0 10px 28px #5426bc20}
.mistake-priority-card h2{color:#fff;font-size:1.2rem}.mistake-priority-card .eyebrow{color:#e5d8ff!important}.mistake-priority-card p:last-child{color:#eee7ff}
.mistake-priority-card .mistake-priority-icon{background:#ffffff20;color:#fff}
.mistake-priority-card>.btn{background:#fff;color:#5927bd}
html[data-student-theme="dark"] .progress-section-tabs.progress-toggle{background:#151e32;border-color:#41405f}
html[data-student-theme="dark"] .progress-section-tabs.progress-toggle>a{color:#c6c5dc;background:transparent}
html[data-student-theme="dark"] .progress-section-tabs.progress-toggle>a:hover{background:#2d2948;color:#fff}
html[data-student-theme="dark"] .progress-section-tabs.progress-toggle>a.active{background:#7139df;color:#fff}
html[data-student-theme="dark"] .mistake-priority-card{background:linear-gradient(115deg,#48229e,#6632cc);border-color:#805de0}
@media(max-width:700px){.progress-section-tabs.progress-toggle{gap:4px;padding:5px;border-radius:12px}.progress-section-tabs.progress-toggle>a{min-height:44px;padding:8px 6px;font-size:14px;border-radius:8px}}
@media(prefers-reduced-motion:reduce){.progress-section-tabs.progress-toggle>a{transition:none}}

/* Progress navigation retains the current view while the next one loads. */
.progress-navigation-status{position:fixed;right:24px;bottom:24px;z-index:1000;background:#281455;color:#fff;padding:14px 20px;border-radius:12px;box-shadow:0 8px 30px #20103b33;font-size:14px}
.progress-navigation-status[hidden]{display:none}
.progress-toggle a:focus-visible{outline:3px solid #9a73ff;outline-offset:3px}
.progress-toggle a:not(.active):hover{background:#dfd4f5;color:#442080}
.progress-motivation h2,.mistake-priority-card h2,.smart-revise-hero h2{line-height:1.35}
@media(max-width:600px){.progress-navigation-status{left:16px;right:16px;bottom:16px}}

/* v166: student launch — readable empty states and secondary actions. */
html[data-student-theme="dark"] .student-dashboard-page :is(.empty,.dashboard-empty,.feature-empty,.learning-list,.further-route-summary){background:#182238;border-color:#35425f;color:#eef2ff}
html[data-student-theme="dark"] .student-dashboard-page :is(.empty,.dashboard-empty,.feature-empty) :is(p,small){color:#aeb8cf}
html[data-student-theme="dark"] .student-dashboard-page .btn:not(.dashboard-primary):not(.primary):not(.practice-exam-cta):not(.progress-motivation .btn):not(.course-resume-banner .btn){background:#292443;color:#eee7ff;border-color:#574773}
html[data-student-theme="dark"] .student-dashboard-page .btn:not(.dashboard-primary):not(.primary):hover{background:#393055;color:#fff}
html[data-student-theme="dark"] .student-dashboard-page .empty .orb{background:#7543eb;color:#fff}

/* v167: a compact, theme-aware entrance to prepared exam sets and tests. */
.student-dashboard-page .practice-exam-cta{display:inline-flex;align-items:center;justify-content:center;gap:9px;flex:0 0 auto;min-height:44px;max-width:100%;padding:11px 15px;border:1px solid #d6c4f2;border-radius:12px;background:#f0e9fc;color:#542894;font-size:.88rem;font-weight:750;line-height:1.35;white-space:normal;text-decoration:none;box-shadow:none;transition:background .15s,border-color .15s}
.student-dashboard-page .practice-exam-cta .practice-exam-icon{width:19px;height:19px;flex:none}
.student-dashboard-page .practice-exam-cta .practice-exam-arrow{margin-left:5px;font-size:1.1rem;line-height:1}
.student-dashboard-page .practice-exam-cta:hover{background:#e5d7fa;border-color:#b997e9;color:#45207c}
.student-dashboard-page .practice-exam-cta:focus-visible{outline:3px solid #9b73ed;outline-offset:4px}
html[data-student-theme="dark"] .student-dashboard-page .practice-exam-cta{background:#302344;border-color:#73549c;color:#eedfff}
html[data-student-theme="dark"] .student-dashboard-page .practice-exam-cta:hover{background:#40305a;border-color:#a680d9;color:#fff}
@media(max-width:700px){.student-dashboard-page .practice-exam-cta{display:inline-flex;align-self:flex-start;font-size:.86rem;margin-top:5px}.student-dashboard-page .student-dashboard-head:has(.practice-exam-cta){flex-wrap:wrap;gap:12px}}

/* v168: keep the exam entrance visible and explain unavailable content. */
.student-dashboard-page .practice-exam-cta{font-family:inherit}
.student-dashboard-page .practice-exam-label{text-align:left}
.student-dashboard-page .practice-exam-label small{display:block;margin-top:3px;color:inherit;font-size:.7rem;font-weight:500}
.student-dashboard-page .practice-exam-cta.is-unavailable{opacity:1;cursor:default;background:#f0e9fc;border-color:#d6c4f2;color:#542894}
html[data-student-theme="dark"] .student-dashboard-page .practice-exam-cta.is-unavailable{background:#302344;border-color:#73549c;color:#eedfff}

/* v169: gradual release; preserve readable titles on locked content. */
.xl-release-lock{display:inline-block;width:18px;height:18px;vertical-align:-3px;flex:none}
.student-dashboard-page a[aria-disabled="true"]{cursor:default;box-shadow:none;transform:none}
.student-dashboard-page a[aria-disabled="true"] :is(.unit-explore,.unit-topic-arrow,.row-arrow,.skill-status){color:var(--muted)}
.student-dashboard-page a[aria-disabled="true"] :is(.mini-progress,.unit-progress-copy,.unit-topic-progress,.learning-progress,.checklist-arrow){visibility:hidden}
.student-dashboard-page a[aria-disabled="true"]:hover{transform:none;box-shadow:none}
.practice-exam-label small .xl-release-lock{width:14px;height:14px;vertical-align:-2px;margin-right:3px}

/* v170: one quiet lock; complete light/dark card and checklist surfaces. */
.student-dashboard-page .unit-lock{display:grid;place-items:center;width:28px;height:28px;color:#737d94}
.student-dashboard-page .unit-lock .xl-release-lock{width:20px;height:20px}
.student-dashboard-page .course-unit-card[aria-disabled="true"]{background:#fafaff;border-color:#dedeea}
.student-dashboard-page .course-unit-card[aria-disabled="true"]:before{opacity:.3}
.student-dashboard-page .checklist-skill[aria-disabled="true"]{grid-template-columns:38px minmax(0,1fr) 26px}
.student-dashboard-page .checklist-skill[aria-disabled="true"] .checklist-arrow{display:none}
.student-dashboard-page .checklist-skill[aria-disabled="true"] .checklist-status{min-width:0}
.student-dashboard-page .checklist-skill[aria-disabled="true"] .checklist-status i{background:transparent;color:#737d94}
.student-dashboard-page .status-coming-soon .checklist-skill-copy,.student-dashboard-page .status-coming-soon .checklist-status{opacity:1}
html[data-student-theme="dark"] .student-dashboard-page .course-unit-card[aria-disabled="true"]{background:#172135;border-color:#35425f}
html[data-student-theme="dark"] .student-dashboard-page .unit-lock{color:#b4bfd4}
html[data-student-theme="dark"] .student-dashboard-page .course-unit-card .unit-symbol{background:#30264b;color:#cbb4ff;box-shadow:none}
html[data-student-theme="dark"] .student-dashboard-page .unit-state{background:#28334a;color:#d0d9eb}
html[data-student-theme="dark"] .student-dashboard-page .unit-state.is-active{background:#163c35;color:#81e3c3}
html[data-student-theme="dark"] .student-dashboard-page .unit-progress-copy{color:#b4bfd4}
html[data-student-theme="dark"] .student-dashboard-page .unit-progress-copy strong{color:#f0ebff}
html[data-student-theme="dark"] .student-dashboard-page .course-unit-card>.unit-explore{background:#30264b;color:#decfff}
html[data-student-theme="dark"] .student-dashboard-page .course-unit-card[href]:hover>.unit-explore{background:#533891;color:#fff}
html[data-student-theme="dark"] .student-dashboard-page :is(.checklist-section,.checklist-summary,.checklist-search,.checklist-filters){background:#182238;border-color:#35425f;color:#eef2ff}
html[data-student-theme="dark"] .student-dashboard-page :is(.checklist-skill-list,.checklist-skill){border-color:#35425f}
html[data-student-theme="dark"] .student-dashboard-page .checklist-skill{background:#182238;color:#eef2ff}
html[data-student-theme="dark"] .student-dashboard-page .checklist-skill[aria-disabled="true"]{background:#172135}
html[data-student-theme="dark"] .student-dashboard-page .checklist-skill[href]:hover{background:#25314b}
html[data-student-theme="dark"] .student-dashboard-page :is(.checklist-section summary strong,.checklist-skill-copy strong,.checklist-summary span,.checklist-search input){color:#eef2ff}
html[data-student-theme="dark"] .student-dashboard-page :is(.checklist-skill-copy small,.checklist-legend,.checklist-status b){color:#b4bfd4}
html[data-student-theme="dark"] .student-dashboard-page .checklist-skill-number{background:#222e44;border-color:#43516c;color:#c0cbe0}
html[data-student-theme="dark"] .student-dashboard-page .checklist-section-count{background:#30264b;color:#d7c4ff}
html[data-student-theme="dark"] .student-dashboard-page .checklist-skill[aria-disabled="true"] .checklist-status i{color:#b4bfd4;background:transparent}
html[data-student-theme="dark"] .student-dashboard-page .checklist-status i{background:#26334b;color:#b4bfd4}
html[data-student-theme="dark"] .student-dashboard-page .status-learning .checklist-status i{background:#44361b;color:#f0cd7b}
html[data-student-theme="dark"] .student-dashboard-page .status-secure .checklist-status i{background:#163c35;color:#81e3c3}
html[data-student-theme="dark"] .student-dashboard-page .checklist-note{background:#25213b;border-color:#50446b}
html[data-student-theme="dark"] .student-dashboard-page .checklist-filters button{color:#c0cbe0}
html[data-student-theme="dark"] .student-dashboard-page .checklist-filters button.active{background:#30264b;color:#e6d8ff}
@media(max-width:600px){.student-dashboard-page .checklist-skill[aria-disabled="true"]{grid-template-columns:34px minmax(0,1fr) 24px}}

/* A single Practice heading keeps the unit choices in view. */
.student-dashboard-page .practice-page-head{align-items:center;margin-bottom:24px}
.student-dashboard-page .practice-page-head h1{margin:0;font-size:clamp(1.9rem,3vw,2.5rem)}

/* Progress: separate learning completion from independent practice. */
.student-dashboard-page .progress-clear-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
.student-dashboard-page .progress-clear-metrics article{background:var(--card,#fff);color:var(--ink);border:1px solid var(--line);min-height:145px}
.progress-units{margin-top:30px}.progress-units>h2{font-size:1.45rem;margin-bottom:18px}
.progress-unit{border:1px solid var(--line);border-radius:18px;background:var(--card,#fff);margin-bottom:14px;overflow:hidden}
.progress-unit summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 24px;cursor:pointer;list-style:none}
.progress-unit summary::-webkit-details-marker{display:none}
.progress-unit summary strong{font-size:1.05rem}.progress-unit summary>span{color:var(--muted)}
.progress-column-labels,.progress-topic-row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr);gap:24px;padding:18px 24px;align-items:center}
.progress-column-labels{padding-top:8px;padding-bottom:12px;color:var(--muted);font-size:.8rem;font-weight:800}
.progress-topic-row{border-top:1px solid var(--line);font-size:.9rem}.progress-topic-row>strong{font-weight:650}
.progress-topic-row a{display:block;color:var(--purple);text-decoration:none}.progress-topic-row a:hover{text-decoration:underline}
.progress-topic-row a:focus-visible,.progress-unit summary:focus-visible{outline:2px solid var(--purple);outline-offset:-3px}
.progress-topic-row .mini-progress{margin-top:9px;height:6px}.progress-topic-row .xl-release-lock{color:var(--muted)}
html[data-student-theme="dark"] .student-dashboard-page :is(.progress-unit,.progress-clear-metrics article){background:#182238;border-color:#35425f;color:#eef2ff}
html[data-student-theme="dark"] .progress-topic-row{border-color:#35425f}
html[data-student-theme="dark"] :is(.progress-column-labels,.progress-unit summary>span){color:#b4bfd4}
html[data-student-theme="dark"] .progress-topic-row a{color:#cbb4ff}
@media(max-width:650px){.student-dashboard-page .progress-clear-metrics{grid-template-columns:1fr}.student-dashboard-page .progress-clear-metrics article{min-height:0;padding:20px}.progress-column-labels,.progress-topic-row{gap:12px;padding:15px;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr);font-size:.78rem}.progress-unit summary{padding:18px 15px}}

/* Compact student page header and access invitation. */
.student-dashboard-page .course-page-head{align-items:center;gap:16px}
.student-dashboard-page .course-page-head h1{margin:0;font-size:clamp(28px,3vw,38px)}
.student-dashboard-page .course-page-head .course-head-actions{flex-wrap:nowrap;flex-shrink:0;gap:10px}
.student-dashboard-page .course-page-head .btn{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;padding:12px 18px;font-size:.875rem}
.student-access-row{display:flex;justify-content:flex-end;margin:0 0 16px}
.student-access-button{display:inline-flex;align-items:center;gap:10px;min-height:38px;padding:8px 12px;border:1px solid #ddd2f4;border-radius:10px;background:#f3edff;color:#6331b4;text-decoration:none;font-size:.75rem;line-height:1.3}
.student-access-button>span{color:#655b79}
.student-access-button strong{font-weight:700}
.student-access-button:hover{background:#eae0ff;border-color:#a783e4}
.student-access-button:focus-visible{outline:3px solid #9161e6;outline-offset:3px}
html[data-student-theme="dark"] .student-access-button{background:#30264b;border-color:#51416e;color:#dfceff}
html[data-student-theme="dark"] .student-access-button>span{color:#c5b9dc}
html[data-student-theme="dark"] .student-access-button:hover{background:#40315f}
@media(max-width:600px){
.student-dashboard-page .course-page-head{flex-wrap:wrap}
.student-dashboard-page .course-page-head .course-head-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.student-dashboard-page .course-page-head .btn{min-width:0;padding:12px 8px;font-size:.75rem}
.student-access-row{margin-bottom:12px}
}
