
/* VidyutLearn PC2.4 responsive curriculum workspace and typography hardening */
:root{--workspace-sidebar:300px;--workspace-line:#ddd5c7;--workspace-paper:#fffefa;}

/* Welcome/resume: no nested scrolling. The overlay may scroll only on genuinely short viewports. */
.onboarding-overlay{overflow-y:auto!important;align-items:center!important;min-height:100dvh;box-sizing:border-box;}
.onboarding-card{overflow:visible!important;max-height:none!important;width:min(500px,100%)!important;padding:24px 28px 22px!important;border-radius:22px!important;}
.onboarding-mark{max-width:220px!important;margin:0 auto 10px!important;}
.onboarding-card h2{font-size:1.48rem!important;margin:0 0 12px!important;}
.resume-summary{gap:5px!important;padding:13px 15px!important;margin:0 0 14px!important;border-radius:14px!important;}
.resume-summary .resume-status{padding:0!important;border:0!important;background:transparent!important;font-size:1.05rem!important;line-height:1!important;color:#2c6043!important;font-weight:850!important;}
.resume-summary .resume-status.review{font-size:.72rem!important;line-height:1.2!important;padding:3px 7px!important;border:1px solid #efd7a0!important;background:#fff3d9!important;color:#765315!important;}
.resume-actions{gap:8px!important;}
.onboarding-card button{min-height:46px!important;padding:11px 14px!important;border-radius:12px!important;}
.onboarding-card .adult-entry{min-height:34px!important;font-size:.78rem!important;margin-top:0!important;}

.study-shell{display:block;min-height:0;}
.curriculum-sidebar{display:none;}
.learning-workspace{min-width:0;}

@media(min-width:960px){
  body.student-study-active .study-shell,body.course-home-active .study-shell{display:grid;grid-template-columns:var(--workspace-sidebar) minmax(0,1fr);min-height:calc(100dvh - 154px);background:#f4f1e8;}
  body.student-study-active .curriculum-sidebar,body.course-home-active .curriculum-sidebar{display:flex;flex-direction:column;position:sticky;top:0;align-self:start;height:calc(100dvh - 154px);overflow:hidden;background:#f8f6f0;border-right:1px solid var(--workspace-line);}
  .curriculum-sidebar-head{padding:17px 16px 13px;border-bottom:1px solid var(--workspace-line);background:#fbfaf6;}
  .curriculum-sidebar-kicker{display:block;margin-bottom:4px;font:750 .67rem/1 var(--font-ui);text-transform:uppercase;letter-spacing:.08em;color:#8a744d;}
  .curriculum-sidebar-head strong{display:block;font:750 .83rem/1.35 var(--font-ui);color:#21483d;}
  .curriculum-tree{overflow:auto;padding:8px 8px 18px;scrollbar-width:thin;}
  body.student-study-active .page-wrap,body.course-home-active .page-wrap{min-height:calc(100dvh - 154px);}
  body.student-study-active #chat{padding:28px clamp(26px,4vw,62px) 48px!important;}
  body.student-study-active .chapter-change{display:none!important;}
}

.curriculum-node{border-bottom:1px solid #e5ded0;}
.curriculum-node>summary{list-style:none;display:grid;grid-template-columns:25px minmax(0,1fr) 24px;gap:7px;align-items:start;padding:10px 8px;cursor:pointer;border-radius:8px;color:#35443e;}
.curriculum-node>summary::-webkit-details-marker{display:none;}
.curriculum-node>summary:hover{background:#f1ede4;}
.curriculum-node[open]>summary{background:#eee9de;color:#173f35;}
.curriculum-node-number{font:750 .69rem/1.5 var(--font-display);color:#9a7a37;}
.curriculum-node-title{font:650 .79rem/1.4 var(--font-ui);}
.curriculum-status-icon{justify-self:end;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;font:850 .73rem/1 var(--font-ui);}
.curriculum-status-icon.ready{color:#2a6948;background:#e4f1e8;}
.curriculum-status-icon.review{color:#7b5a1b;background:#fff1cf;}
.curriculum-status-icon.gap,.curriculum-status-icon.error{color:#8a4935;background:#f7e9e3;}
.curriculum-status-icon.pending{color:#756e62;background:#ece8df;}
.curriculum-node-body{padding:0 8px 10px 40px;}
.curriculum-chapter-action{appearance:none;border:0;background:transparent;padding:4px 0 7px;color:#2e6453;font:750 .72rem/1.3 var(--font-ui);text-decoration:underline;text-underline-offset:3px;cursor:pointer;}
.curriculum-topic-list{display:grid;gap:2px;border-left:1px solid #d9d1c2;padding-left:9px;}
.curriculum-topic{display:block;width:100%;box-sizing:border-box;text-align:left;border:0;background:transparent;padding:6px 7px;border-radius:7px;color:#5b625e;font:550 .72rem/1.35 var(--font-ui);}
button.curriculum-topic{cursor:pointer;color:#3e554c;}
button.curriculum-topic:hover,button.curriculum-topic.current{background:#e8efe9;color:#204d3f;}
.curriculum-topic.is-reference{color:#81796d;}

/* Mobile/tablet contents becomes a full-height drawer-like sheet. */
@media(max-width:959px){
  #modalOverlay{align-items:stretch!important;justify-content:flex-start!important;background:rgba(11,30,25,.42)!important;}
  #modalOverlay .modal{width:min(88vw,390px)!important;max-width:390px!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;border-radius:0 18px 18px 0!important;transform:none!important;}
  #modalOverlay .modal-head{position:sticky;top:0;z-index:2;background:#14372f!important;color:#fff!important;padding:14px 16px!important;}
  #modalOverlay .modal-body{overflow:auto!important;height:calc(100dvh - 62px)!important;padding:0 8px 18px!important;}
  #modalOverlay .chapter-picker-context{padding:12px 9px 8px!important;font-size:.75rem!important;}
  #modalOverlay .chapter-list{padding:0!important;}
  #modalOverlay .curriculum-node>summary{padding:12px 8px;grid-template-columns:25px minmax(0,1fr) 24px;}
  #modalOverlay .curriculum-node-title{font-size:.84rem;}
  #modalOverlay .curriculum-node-body{padding-left:39px;}
}

/* Compact status in old picker markup if any remains. */
.chapter-availability.ready{font-size:0!important;padding:0!important;border:0!important;background:transparent!important;}
.chapter-availability.ready::after{content:'✓';font-size:.84rem;color:#2a6948;font-weight:850;}
@media(max-width:700px){.chapter-availability{white-space:nowrap}.chapter-availability.review{font-size:.62rem;padding:3px 6px}.chapter-availability.gap{font-size:.62rem;padding:3px 6px}}

/* Learning workspace: textbook companion, not chat. */
body.student-study-active .learning-workspace{background:#f4f1e8;}
body.student-study-active .chapter-opening-card,
body.student-study-active .book-learning-card,
body.student-study-active .source-only-chapter-card{margin-left:auto;margin-right:auto;}
.courseware-evidence{display:none!important;}
.page-source-cite{max-width:790px;margin:12px auto 2px;padding-top:10px;border-top:1px solid #ebe5da;font-size:.76rem;}
.source-cite-exact{display:grid;gap:5px;color:#47655a;line-height:1.45;}
.source-cite-exact-meta{font-weight:750;color:#3f594f;}
.source-cite-exact .inline-check-source-item{margin-top:2px;padding-top:5px;}
.source-cite-exact .inline-check-source-link{margin-top:3px;}
.source-cite-unavailable{color:#765a42;font-weight:700;}

/* Hints: one clue, one source, one local review action. */
.inline-check-feedback.wrong{padding:12px 13px!important;}
.inline-check-wrong-title{margin-bottom:5px;}
.inline-check-hint-text{margin-top:0!important;padding-top:0!important;border-top:0!important;line-height:1.55;}
.inline-check-source-compact{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-top:8px;padding-top:8px;border-top:1px solid rgba(113,66,51,.14);font-size:.78rem;}
.inline-check-source-compact>.source-cite-exact{flex:1 1 320px;}
.inline-check-review-link{appearance:none;border:0;background:transparent;color:#5b473d;padding:0;font:700 .76rem/1.3 var(--font-ui);text-decoration:underline;text-underline-offset:3px;cursor:pointer;}
.inline-check-source-status,.inline-check-source-pending{display:none!important;}
.practice-official-reference{margin-top:5px;font-size:.78rem;}
.revisit-guide{padding-top:8px;}
.revisit-path{font-size:.84rem;line-height:1.45;}
.revisit-actions{margin-top:8px;}
.revisit-actions .review-learning-page{min-height:38px!important;padding:8px 11px!important;border-radius:9px!important;}

/* Header stays compact on phones; full logo is preserved, not cropped. */
@media(max-width:600px){
  .app-header .header-main{min-height:58px!important;padding:4px 8px!important;}
  .app-header .brand-emblem{width:46px!important;height:46px!important;flex-basis:46px!important;}
  .app-header .brand-icon{width:46px!important;height:46px!important;object-fit:contain!important;}
  .app-header h1{font-size:.96rem!important;}
  .app-header .sub{font-size:.5rem!important;}
  .header-course{font-size:.63rem!important;padding:4px 8px 5px!important;min-height:24px!important;}
  .breadcrumb.active{padding:7px 8px!important;}
  .study-switches{width:100%;}
  .chapter-change,.context-change{min-height:34px!important;font-size:.65rem!important;}
  .onboarding-card{width:100%!important;padding:18px 16px 16px!important;border-radius:18px!important;}
  .onboarding-mark{max-width:175px!important;margin-bottom:7px!important;}
  .onboarding-card h2{font-size:1.32rem!important;margin-bottom:9px!important;}
  .resume-summary{padding:11px 12px!important;margin-bottom:11px!important;}
  .resume-summary strong{font-size:.9rem!important;}
  .resume-summary .resume-chapter{font-size:.94rem!important;}
  .resume-summary .resume-place{font-size:.76rem!important;}
  .onboarding-card button{min-height:44px!important;font-size:.9rem!important;padding:10px 12px!important;}
}
@media(max-height:620px){
  .onboarding-overlay{align-items:flex-start!important;padding:8px!important;}
  .onboarding-mark{max-width:150px!important;}
  .onboarding-card{margin:0 auto!important;}
}

.study-home-statuses{display:flex;justify-content:center;gap:8px;margin:-4px 0 16px}.study-home-statuses span{display:inline-flex;align-items:center;gap:4px;padding:4px 7px;border-radius:8px;background:#f2eee5;color:#5f625d;font:700 .74rem/1 var(--font-ui)}.study-home-statuses b{color:#2d6748}.study-home-statuses span:nth-child(2) b{color:#81611f}.study-home-statuses span:nth-child(3) b{color:#8a4935}


/* PC2.4 layout hardening: the study shell owns the remaining viewport.
   This prevents the curriculum column from ending early while the lesson pane continues. */
.study-shell{
  flex:1 1 auto;
  min-height:0;
  overflow:hidden;
  background:#f4f1e8;
}
.learning-workspace{
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:0;
  overflow:hidden;
  background:#f4f1e8;
}
.learning-workspace .page-wrap{
  flex:1 1 auto;
  min-height:0!important;
  height:auto!important;
  overflow:hidden;
}
.learning-workspace #chat{
  height:100%;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}

@media(min-width:960px){
  body.student-study-active .study-shell,
  body.course-home-active .study-shell{
    display:grid;
    grid-template-columns:var(--workspace-sidebar) minmax(0,1fr);
    flex:1 1 auto;
    min-height:0;
    height:auto;
    overflow:hidden;
    align-items:stretch;
    background:linear-gradient(to right,#f8f6f0 0 var(--workspace-sidebar),#f4f1e8 var(--workspace-sidebar) 100%);
  }
  body.student-study-active .curriculum-sidebar,
  body.course-home-active .curriculum-sidebar{
    display:flex;
    flex-direction:column;
    position:relative;
    top:auto;
    align-self:stretch;
    height:auto;
    min-height:0;
    max-height:none;
    overflow:hidden;
    background:#f8f6f0;
    border-right:1px solid var(--workspace-line);
  }
  .curriculum-tree{
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
  }
  body.student-study-active .page-wrap,
  body.course-home-active .page-wrap{
    min-height:0!important;
    height:100%!important;
  }
}

/* Modern offline-safe typography. KaTeX keeps its own embedded math fonts. */
html,body,button,input,select,textarea{font-family:var(--font-ui)!important;}
h1,h2,h3,h4,h5,h6{font-family:var(--font-display)!important;letter-spacing:-.018em;}
.curriculum-node-number,.avatar,.chapter-list .num{font-family:var(--font-ui)!important;}
.book-page-content h4,.chapter-opening-card h3,.study-home-card h2{font-weight:760!important;letter-spacing:-.025em;}
.book-page-body{line-height:1.66;}

/* PC2.5 compact verification and precise resume position */
.resume-chapter-row{display:flex;align-items:center;gap:8px;min-width:0;}
.resume-chapter-row .resume-chapter{min-width:0;}
.resume-summary .resume-status.ready{display:inline-grid!important;place-items:center!important;width:24px!important;height:27px!important;padding:0!important;border:0!important;background:#e6f4eb!important;color:#205d3d!important;font-size:.83rem!important;line-height:1!important;font-weight:900!important;clip-path:polygon(50% 0,90% 15%,90% 56%,50% 100%,10% 56%,10% 15%)!important;flex:0 0 auto;}
.resume-summary .resume-status.aligned{display:inline-grid!important;place-items:center!important;width:23px!important;height:23px!important;padding:0!important;border:1px solid #c9d7cf!important;border-radius:6px!important;background:#f2f7f4!important;color:#386451!important;font-size:.8rem!important;line-height:1!important;font-weight:850!important;flex:0 0 auto;}
.resume-summary .resume-place{margin-top:2px;font-size:.84rem!important;color:#625f58!important;}
.curriculum-status-icon.aligned{background:#f2f7f4;color:#386451;border-color:#c9d7cf;}
@media(max-width:640px){.resume-summary .resume-status.ready{width:22px!important;height:25px!important}.resume-summary .resume-place{font-size:.76rem!important}.resume-chapter-row{gap:6px}}

/* PC3.1 focused shell: subject tabs carry context; content gets the visual priority. */
.brand-board{font-size:.82em;font-weight:650;opacity:.88;margin-left:3px;letter-spacing:.01em;}
.header-main{padding:14px 28px;min-height:104px;gap:20px;}
.app-header .brand{gap:16px;}
.app-header .header-actions{gap:10px;}
.app-header .header-actions button{min-height:42px;padding:9px 14px;}
.adult-header-entry{width:42px!important;padding:0!important;display:grid!important;place-items:center!important;font-size:1rem!important;}
.header-course[hidden]{display:none!important;}
.subject-strip{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:8px 28px;background:#fffdf8;border-bottom:1px solid #ded7c8;box-shadow:0 2px 8px rgba(27,46,39,.05);position:relative;z-index:6;}
.subject-strip[hidden]{display:none!important;}
.subject-tabs{display:flex;align-items:center;gap:4px;min-width:0;overflow-x:auto;scrollbar-width:none;}
.subject-tabs::-webkit-scrollbar{display:none;}
.subject-tab{appearance:none;border:0;border-bottom:3px solid transparent;background:transparent;color:#4b5e56;padding:9px 12px 8px;font:720 .84rem/1.2 var(--font-ui);white-space:nowrap;cursor:pointer;}
.subject-tab:hover{color:#173f34;background:#f7f4ec;}
.subject-tab.active{color:#143d32;border-bottom-color:#d98f20;}
.subject-textbook-link{flex:0 0 auto;color:#285d4c;font:760 .78rem/1.2 var(--font-ui);text-decoration:underline;text-underline-offset:3px;white-space:nowrap;}
.breadcrumb.active{padding:9px 28px;gap:16px;min-height:52px;}
.study-context{min-width:0;flex:1;}
.study-topic-wrap{min-width:0;}
#breadcrumbTag{font-weight:760;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.curriculum-sidebar-head{padding:15px 18px 11px;}
.curriculum-sidebar-kicker{display:none!important;}
.curriculum-sidebar-head strong{font-size:.86rem;letter-spacing:.02em;}
.study-home-card{max-width:620px!important;padding:34px 36px!important;text-align:left!important;}
.study-home-card h2{margin:0 0 8px!important;}
.study-home-card p{max-width:52ch;margin:0 0 22px!important;color:#5d635f!important;}
.study-home-actions{justify-content:flex-start!important;}
.courseware-pending-card{max-width:760px!important;}
.courseware-pending-card .pending-lead{max-width:62ch;}
.courseware-pending-card .pending-note,.courseware-pending-card .chapter-source-row{display:none!important;}
.pending-outline{margin-top:20px;}
.source-only-actions{margin-top:22px;}
.onboarding-card .adult-entry{display:none!important;}
.onboarding-intro{max-width:38ch;margin-left:auto!important;margin-right:auto!important;}
/* What the demo covers, said once above the button that acts on it. */
.class-access-note{max-width:38ch;margin:2px auto 12px!important;text-align:center;font-size:.86rem;line-height:1.45;color:var(--ink-soft);}
/* The second path, below the primary one: the affordance a greyed list cannot
   offer by itself, kept visibly secondary to Start learning. */
.class-access-alt{margin:14px 0 0!important;text-align:center;display:flex;flex-direction:column;align-items:stretch;gap:7px;font-size:.82rem;line-height:1.45;color:var(--ink-soft);}
/* Same width as Start learning, so the two paths read as one column, but plainly
   the quieter of the two. */
.onboarding-card .class-access-unlock{
  width:100%;margin:0!important;background:#fff!important;color:#3d463f!important;
  border:1px solid #cfc8b9!important;box-shadow:none!important;font-size:.88rem!important;
}
.onboarding-card .class-access-unlock:hover{background:#f7f3e9!important;border-color:#b9b0a0!important;}
.class-access-note[hidden],.class-access-alt[hidden]{display:none!important;}
.class-access-unlock[hidden]{display:none!important;}
/* One class selectable is not a choice, so the note asking an adult to make one
   has nothing to ask. It returns by itself if more than one becomes selectable. */
body.single-selectable-class .onboarding-first-session-note{display:none!important;}

/* The class list is the first control anyone touches, so it is drawn rather
   than left to the platform: rounded to match the cards around it, with the
   browser's own arrow replaced by one that follows the ink colour. Native
   option rendering is still the platform's to decide — colour and weight carry
   across browsers, box metrics largely do not — so the "— locked" suffix, not
   the styling, is what makes an unavailable class unambiguous. */
.onboarding-card select,.class-setting-row select{
  -webkit-appearance:none;appearance:none;
  border:1px solid var(--rule);
  border-radius:12px;
  background-color:#fff;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9' fill='none'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%2316302A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 14px center;
  padding-right:38px;
  box-shadow:0 1px 2px rgba(22,48,42,.06);
  transition:border-color .15s ease,box-shadow .15s ease;
  cursor:pointer;
}
.onboarding-card select:hover,.class-setting-row select:hover{border-color:#9aa79f;}
.onboarding-card select:focus-visible,.class-setting-row select:focus-visible{
  outline:none;border-color:var(--board);box-shadow:0 0 0 3px rgba(22,48,42,.15);
}
.onboarding-card select option,.class-setting-row select option{
  color:var(--ink);background:#fff;padding:8px 10px;
}
/* Browsers dim a disabled option inconsistently, and on some barely at all, so
   the greying is stated rather than left to the platform. The "— locked" suffix
   in the label carries the same fact for anyone the colour does not reach. */
select option:disabled{color:#8d8577;}
.resume-actions{gap:10px!important;}
.app-footer .footer-subjects{white-space:normal;}
@media(min-width:960px){
  body.course-home-active .study-home-card{margin-top:58px!important;}
}
@media(max-width:760px){
  .header-main{padding:8px 12px;min-height:76px;gap:10px;}
  .subject-strip{padding:5px 10px;gap:8px;}
  .subject-tab{padding:9px 9px 7px;font-size:.76rem;}
  .subject-textbook-link{font-size:.7rem;}
  .brand-board{display:none;}
  .app-header .brand-subjects{font-size:.58rem!important;}
  .app-header .header-actions{gap:4px;}
  .breadcrumb.active{padding:7px 10px;}
  .study-home-card{padding:25px 22px!important;margin:22px 12px!important;}
}
@media(max-width:480px){
  .subject-strip{align-items:stretch;flex-direction:column;gap:0;padding:3px 8px 5px;}
  .subject-tabs{width:100%;}
  .subject-textbook-link{align-self:flex-end;padding:4px 8px 3px;}
  .app-header .sub{line-height:1.25!important;}
}


/* PC3.2 onboarding action hierarchy */
#onboardingAdultBtn:not(.welcome-meta-link){order:4;justify-self:center;width:auto!important;min-height:30px!important;padding:5px 8px!important;margin-top:2px!important;font-size:.76rem!important;font-weight:600!important;}
#preferencesOverlay{z-index:120;}
@media(max-width:560px){#onboardingAdultBtn:not(.welcome-meta-link){font-size:.74rem!important;min-height:28px!important;padding:4px 7px!important;}}

/* PC3.3 learner course shell: balanced identity, two subject tabs, then book and chapters. */
.app-header .header-main{
  width:min(100%,1440px);
  min-height:88px!important;
  margin:0 auto;
  padding:9px clamp(18px,3vw,38px)!important;
  gap:18px!important;
}
.app-header .brand{gap:14px!important;min-width:0;}
.app-header .brand-emblem{width:70px!important;height:70px!important;flex:0 0 70px!important;}
.app-header .brand-icon{width:70px!important;height:70px!important;}
.app-header .brand-text{min-width:0;}
.app-header .brand-title-row{gap:20px!important;align-items:baseline!important;flex-wrap:nowrap!important;}
.app-header h1{font-size:1.58rem!important;line-height:1.05!important;letter-spacing:-.015em!important;}
.app-header .brand-subjects{font-size:.76rem!important;line-height:1.25!important;letter-spacing:.018em!important;}
.app-header .brand-board{margin-left:4px;}

.subject-strip{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:0;
  padding:0 clamp(16px,3vw,38px)!important;
  background:#fffdf8;
  border-bottom:1px solid #ddd5c6;
  box-shadow:none;
}
.subject-tabs{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  width:min(100%,760px);
  margin:0 auto;
  gap:0!important;
  overflow:visible!important;
}
.subject-tab{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:50px;
  padding:12px 18px 10px!important;
  border:0!important;
  border-bottom:3px solid transparent!important;
  border-radius:0!important;
  background:transparent!important;
  color:#506159!important;
  font-size:.9rem!important;
  font-weight:760!important;
}
.subject-tab+.subject-tab{border-left:1px solid #e5ded1!important;}
.subject-tab:hover:not(:disabled){background:#f7f3e9!important;color:#173f34!important;}
.subject-tab.active{color:#153f34!important;border-bottom-color:#d98f20!important;background:#fbf7ed!important;}
.subject-tab:disabled{cursor:not-allowed;opacity:.42;}
.subject-subtabs{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  width:min(100%,760px);
  padding:7px 0 9px;
  border-top:1px solid #eee8dc;
}
.subject-subtabs[hidden]{display:none!important;}
.subject-subtab{
  appearance:none;
  border:1px solid #d8d0c1;
  border-radius:999px;
  background:#fffefa;
  color:#5d655f;
  min-height:32px;
  padding:6px 12px;
  font:700 .72rem/1.2 var(--font-ui);
  cursor:pointer;
  white-space:nowrap;
}
.subject-subtab:hover{background:#f3eee4;color:#214a3e;}
.subject-subtab.active{background:#e8efe9;border-color:#a9bdb2;color:#173f34;}

.course-book-strip{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  flex:0 0 auto;
  padding:11px clamp(18px,3vw,38px);
  background:#f5f1e7;
  border-bottom:1px solid #d8d0c2;
  color:#233e35;
}
.course-book-strip[hidden]{display:none!important;}
.course-book-identity{display:flex;align-items:center;gap:13px;min-width:0;}
.course-class-label{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:5px 10px;
  border-radius:999px;
  background:#173f34;
  color:#fff9eb;
  font:760 .7rem/1 var(--font-ui);
  white-space:nowrap;
}
.course-book-copy{display:flex;flex-direction:column;gap:2px;min-width:0;}
.course-book-copy>span{font:800 .6rem/1.1 var(--font-ui);letter-spacing:.085em;text-transform:uppercase;color:#8a744d;}
.course-book-copy strong{font:760 .86rem/1.35 var(--font-ui);color:#263f36;overflow-wrap:anywhere;}
.course-book-actions{display:flex;align-items:center;justify-content:flex-end;gap:11px;flex:0 0 auto;}
.subject-textbook-link{font-size:.76rem!important;color:#285d4c!important;}

.curriculum-sidebar-head{padding:16px 18px 13px!important;}
.curriculum-sidebar-kicker{display:none!important;}
.curriculum-sidebar-head strong{font-size:.9rem!important;letter-spacing:0!important;}
.chapter-change{display:none!important;}
.resume-auto-progress{
  display:block;
  margin:2px 0 4px;
  padding:7px 9px;
  border-radius:9px;
  background:#e8f1e9;
  color:#315c45;
  font:650 .76rem/1.4 var(--font-ui);
}
/* The standalone parent link, as it was before it joined the support bar.

   Scoped off the moment it becomes one of three siblings there. These rules
   carry an id, so they outrank anything the bar's own stylesheet says however
   many !importants it uses — which is how "Parents & teachers" ended up
   rendering in #5f6e66 beside two siblings inheriting the card's #2b2620. One
   of three links in a different colour reads as a different kind of thing.

   Left in place for the state they were written for: the button exists in the
   markup before the support layer loads, and until it does it is a lone link
   under the card and should look like one. */
.onboarding-card .adult-entry:not(.welcome-meta-link),
#onboardingAdultBtn:not(.welcome-meta-link){
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-height:28px!important;
  margin:15px auto 0!important;
  padding:4px 8px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#5f6e66!important;
  font-size:.73rem!important;
  font-weight:600!important;
  text-decoration:underline!important;
  text-underline-offset:3px!important;
}
#onboardingAdultBtn:not(.welcome-meta-link):hover{color:#204d3f!important;transform:none!important;filter:none!important;}

@media(max-width:760px){
  .app-header .header-main{min-height:72px!important;padding:6px 12px!important;}
  .app-header .brand{gap:10px!important;}
  .app-header .brand-emblem{width:58px!important;height:58px!important;flex-basis:58px!important;}
  .app-header .brand-icon{width:58px!important;height:58px!important;}
  .app-header .brand-title-row{gap:7px!important;flex-wrap:wrap!important;}
  .app-header h1{font-size:1.16rem!important;}
  .app-header .brand-subjects{font-size:.58rem!important;}
  .brand-board{display:inline!important;}
  .subject-strip{padding:0 8px!important;}
  .subject-tab{min-height:44px;padding:10px 8px 8px!important;font-size:.8rem!important;}
  .subject-subtabs{justify-content:flex-start;overflow-x:auto;padding:7px 4px 8px;scrollbar-width:none;}
  .course-book-strip{align-items:flex-start;padding:10px 12px;gap:9px;}
  .course-book-identity{align-items:flex-start;gap:8px;}
  .course-class-label{min-height:27px;padding:5px 8px;font-size:.64rem;}
  .course-book-copy strong{font-size:.76rem;line-height:1.35;}
  .course-book-actions{flex-direction:column;align-items:flex-end;gap:6px;}
  .subject-textbook-link{font-size:.67rem!important;}
  body.student-study-active .chapter-change{display:inline-flex!important;}
}
@media(max-width:480px){
  .subject-strip{align-items:center!important;flex-direction:column!important;gap:0!important;padding:0 6px!important;}
  .subject-tabs{width:100%!important;}
  .subject-textbook-link{align-self:auto!important;padding:0!important;}
  .course-book-strip{flex-direction:column;}
  .course-book-identity{width:100%;}
  .course-book-actions{width:100%;flex-direction:row;align-items:center;justify-content:space-between;}
  .app-header .brand-title-row{display:grid!important;grid-template-columns:auto;gap:3px!important;align-items:start!important;}
  .app-header .brand-subjects{white-space:normal!important;}
}
@media(min-width:960px){
  body.course-home-active .study-home-actions{display:none!important;}
}

/* PC6.0.4 compact learning chrome */
.study-context-bar{flex:0 0 auto;min-width:0;}
.course-book-stack{display:grid;width:100%;min-width:0;gap:5px;}
.course-book-actions{justify-content:flex-start;flex-wrap:wrap;}
.learning-tabs[hidden],.header-learning-guide-link[hidden]{display:none!important;}
.header-learning-guide-link{
  appearance:none;
  display:inline-flex;
  align-items:center;
  min-height:34px;
  margin-left:auto;
  padding:5px 2px;
  border:0;
  background:transparent;
  color:#f2cf83!important;
  font:720 .72rem/1.2 var(--font-ui);
  text-decoration:underline;
  text-underline-offset:4px;
  cursor:pointer;
  white-space:nowrap;
}
.header-learning-guide-link:hover{color:#fff3cf!important;}
.subject-course-field{display:grid;gap:3px;min-width:0;}
.subject-course-field>span,.study-context-label{
  font:760 .56rem/1 var(--font-ui);
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#cdb77f;
}
.subject-course-field select{
  width:100%;
  min-height:34px;
  margin:0;
  padding:5px 28px 5px 9px;
  border:1px solid rgba(239,191,98,.42);
  border-radius:8px;
  background:#f9f5ea;
  color:#173f34;
  font:720 .72rem/1.2 var(--font-ui);
}
.subject-course-field select:disabled{opacity:.82;cursor:default;}
body.course-home-active .breadcrumb{display:flex!important;}

@media(min-width:960px){
  body.student-study-active .app-header .header-main,
  body.course-home-active .app-header .header-main{
    min-height:64px!important;
    padding:4px clamp(16px,2vw,28px)!important;
  }
  body.student-study-active .app-header .brand,
  body.course-home-active .app-header .brand{gap:9px!important;}
  body.student-study-active .app-header .brand-emblem,
  body.course-home-active .app-header .brand-emblem{
    width:50px!important;height:50px!important;flex-basis:50px!important;
  }
  body.student-study-active .app-header .brand-icon,
  body.course-home-active .app-header .brand-icon{width:50px!important;height:50px!important;}
  body.student-study-active .app-header h1,
  body.course-home-active .app-header h1{font-size:1.34rem!important;}
  body.student-study-active .app-header .brand-title-row,
  body.course-home-active .app-header .brand-title-row{gap:15px!important;}
  body.student-study-active .app-header .brand-subjects,
  body.course-home-active .app-header .brand-subjects{font-size:.68rem!important;}

  body.student-study-active .study-context-bar,
  body.course-home-active .study-context-bar{
    display:grid;
    grid-template-columns:minmax(500px,.94fr) minmax(440px,1.06fr);
    min-height:66px;
    background:#15382f;
    border-bottom:1px solid rgba(255,255,255,.11);
  }
  body.student-study-active .course-book-strip,
  body.course-home-active .course-book-strip{
    min-width:0;
    min-height:66px;
    padding:5px 14px 5px clamp(18px,2vw,30px)!important;
    background:transparent;
    border:0;
    border-right:1px solid rgba(255,255,255,.13);
    color:#fff7e4;
  }
  body.student-study-active .course-book-stack,
  body.course-home-active .course-book-stack{gap:3px;}
  body.student-study-active .course-book-identity,
  body.course-home-active .course-book-identity{gap:9px;}
  body.student-study-active .course-class-label,
  body.course-home-active .course-class-label{
    min-height:25px;
    padding:3px 8px;
    background:#f4ead3;
    color:#173f34;
  }
  body.student-study-active .course-book-copy,
  body.course-home-active .course-book-copy{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    align-items:center;
    gap:7px;
    width:min(100%,520px);
  }
  body.student-study-active .course-book-copy>span,
  body.course-home-active .course-book-copy>span{color:#d5ba7e;}
  body.student-study-active .course-book-copy strong,
  body.course-home-active .course-book-copy strong{
    min-width:0;
    color:#fff7e4;
    font-size:.78rem;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  body.student-study-active .course-book-actions,
  body.course-home-active .course-book-actions{gap:6px;min-height:29px;}
  body.student-study-active .course-book-actions .ui-action,
  body.course-home-active .course-book-actions .ui-action{
    min-height:29px!important;
    padding:4px 8px!important;
    border-color:rgba(239,191,98,.42)!important;
    background:rgba(255,255,255,.055)!important;
    color:#f5d58c!important;
    font-size:.66rem!important;
  }
  body.student-study-active .course-book-actions .ui-action:hover:not(:disabled),
  body.course-home-active .course-book-actions .ui-action:hover:not(:disabled){
    background:rgba(232,163,61,.18)!important;
    border-color:#efbf62!important;
  }
  body.student-study-active .course-book-actions .ui-external-link,
  body.course-home-active .course-book-actions .ui-external-link{min-height:28px;color:#f5d58c!important;font-size:.66rem!important;}
  body.student-study-active .course-book-actions .learning-tabs,
  body.course-home-active .course-book-actions .learning-tabs{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(58px,1fr));
    margin:0!important;
    border:0;
  }
  body.student-study-active .course-book-actions .learning-tabs[hidden],
  body.course-home-active .course-book-actions .learning-tabs[hidden]{display:none!important;}
  body.student-study-active .course-book-actions .learning-tab,
  body.course-home-active .course-book-actions .learning-tab{
    min-height:29px!important;
    padding:4px 10px 3px!important;
    border:1px solid rgba(255,255,255,.16)!important;
    background:rgba(255,255,255,.04)!important;
    color:#d6e1dc!important;
    font-size:.67rem!important;
  }
  body.student-study-active .course-book-actions .learning-tab.active,
  body.course-home-active .course-book-actions .learning-tab.active{
    border-bottom-color:#efb44f!important;
    background:rgba(232,163,61,.1)!important;
    color:#fff7e4!important;
  }
  body.student-study-active .course-book-actions .chapter-narration.is-narrating{
    background:#f2c46e!important;
    color:#183f34!important;
  }
  body.student-study-active .breadcrumb,
  body.course-home-active .breadcrumb{
    display:flex!important;
    min-width:0;
    min-height:66px!important;
    padding:7px 18px!important;
    border:0!important;
    background:transparent!important;
  }
  body.student-study-active .study-context,
  body.course-home-active .study-context{width:100%!important;gap:12px!important;}
  body.student-study-active .subject-course-field,
  body.course-home-active .subject-course-field{flex:0 0 clamp(165px,15vw,220px);}
  body.student-study-active .study-topic-wrap,
  body.course-home-active .study-topic-wrap{flex:1;gap:4px;}
  body.student-study-active .breadcrumb .tag,
  body.course-home-active .breadcrumb .tag{font-size:.8rem!important;}
  body.student-study-active #chat{padding-top:14px!important;padding-bottom:32px!important;}
}

@media(max-width:959px){
  .header-learning-guide-link{font-size:.66rem;margin-right:2px;}
  body.student-study-active .course-book-actions,
  body.course-home-active .course-book-actions{flex-direction:row;align-items:center;justify-content:flex-start;gap:6px;}
  body.student-study-active .breadcrumb,
  body.course-home-active .breadcrumb{display:flex!important;}
  .subject-course-field{width:min(210px,48vw);flex:0 0 auto;}
  .study-topic-wrap{flex:1;}
}

/* Three tabs where there were two. They belong to one control and must break
   as one, or "Practice" ends up alone on a second row. */
.learning-tabs{flex-wrap:nowrap;}

/* Recall cards. One concept at a time, with nothing else on screen competing
   for the attention the recall itself needs. */
.recall-card{
  max-width:640px;margin:0 auto 14px;padding:20px 22px;
  background:#fff;border:1px solid var(--rule);border-radius:14px;
  box-shadow:0 1px 3px rgba(22,48,42,.06);text-align:left;
}
.recall-progress{font-size:.74rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:10px;}
.recall-front{margin:0 0 8px;font-size:1.18rem;line-height:1.35;color:var(--board);}
.recall-prompt{margin:0 0 14px;font-size:.88rem;color:var(--ink-soft);}
.recall-back{margin:0 0 14px;padding-top:12px;border-top:1px solid var(--rule);}
.recall-points{margin:0 0 10px;padding-left:20px;}
.recall-points li{margin-bottom:7px;font-size:.94rem;line-height:1.55;}
.recall-source{margin:0;font-size:.78rem;color:var(--ink-soft);display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;}
.recall-source-link{color:var(--board);text-underline-offset:3px;}
.recall-actions{display:flex;flex-wrap:wrap;gap:9px;}
.recall-actions .ui-action{flex:1 1 160px;}
.recall-complete .recall-front{font-size:1.05rem;}
@media(max-width:480px){
  .recall-card{padding:16px 15px;border-radius:12px;}
  .recall-front{font-size:1.06rem;}
}

/* Practice record. Deliberately quiet: no bars, no percentages, no colour
   coding a child could read as a mark. Every judgement carries its count. */
.progress-panel{
  max-width:640px;margin:16px auto 0;padding:18px 20px;text-align:left;
  background:#fff;border:1px solid var(--rule);border-radius:14px;
}
.progress-title{margin:0 0 6px;font-size:1rem;color:var(--board);}
.progress-counts{margin:0 0 12px;font-size:.9rem;color:var(--ink);}
.progress-line{margin:0 0 9px;font-size:.9rem;line-height:1.55;}
.progress-early{color:var(--ink-soft);}
.progress-caveat{
  margin:12px 0 0;padding-top:11px;border-top:1px solid var(--rule);
  font-size:.78rem;line-height:1.5;color:var(--ink-soft);
}
@media(max-width:480px){.progress-panel{padding:15px 15px;border-radius:12px;}}
