/* Catalog, reference reading and progress: flat, editorial surfaces. */
.workspace .classes-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}
.workspace .class-card {
  padding: 28px 28px 0;
  border: 1px solid #dedde1;
  border-radius: 16px;
  background: #fff;
  box-shadow: none;
  transition: border-color .18s ease, background .18s ease;
}
.workspace .class-card:hover,
.workspace .class-card:active {
  transform: none;
  border-color: #121117;
  box-shadow: none;
}
.workspace .class-card.is-current { background: #fff5f9; border-color: #121117; box-shadow: none; }
.workspace .class-number,
.workspace .class-card.is-current .class-number {
  width: auto;
  height: auto;
  display: block;
  background: transparent;
  color: #121117;
  border-radius: 0;
  box-shadow: none;
  font-size: 56px;
  font-weight: 800;
  letter-spacing: -2px;
}
.workspace .class-current {
  border: 1px solid #121117;
  border-radius: 5px;
  background: #ed80ae;
  color: #121117;
  font-size: 12px;
}
.workspace .class-card h2 { margin: 22px 0 20px; font-size: 25px; letter-spacing: -.7px; }
.workspace .class-summary strong { color: #121117; font-size: 14px; }
.workspace .class-summary p > span { color: #625f68; font-size: 14px; line-height: 1.75; }
.workspace .class-card-open { padding: 20px 0; border-top: 1px solid #dedde1; font-size: 14px; }
.workspace .class-card-progress { margin-top: 28px; }
.workspace .class-card-progress > span { color: #625f68; font-size: 12px; }
.workspace .class-card-progress .progress-track {
  height: 5px;
  background: #eeedf0;
  border-radius: 3px;
  box-shadow: none;
}
.workspace .class-card-progress .progress-track > span { background: #121117; }
.workspace .curriculum-banner {
  gap: 20px;
  padding: 24px 28px;
  margin-bottom: 30px;
  border: 1px solid #dedde1;
  border-radius: 16px;
  background: #f7f7f8;
}
.workspace .curriculum-book { border-radius: 10px; background: #ed80ae; color: #121117; box-shadow: none; }
.workspace .curriculum-banner strong { font-size: 19px; letter-spacing: -.4px; }
.workspace .curriculum-banner p { font-size: 14px; color: #625f68; }
.workspace .curriculum-banner small { color: #625f68; font-size: 12px; line-height: 1.7; }
.workspace .breadcrumbs { margin-top: 0; color: #625f68; font-size: 13px; }
.workspace .class-progress-label { border: 1px solid #dedde1; background: #fff; border-radius: 8px; color: #625f68; font-weight: 600; }
.workspace .grade-tabs {
  padding: 0;
  gap: 10px;
  margin: 0 0 36px;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.workspace .grade-tab { min-height: 58px; border: 1px solid #dedde1; border-radius: 8px; background: #fff; color: #625f68; }
.workspace .grade-tab:hover { border-color: #121117; background: #f7f7f8; }
.workspace .grade-tab.selected { background: #121117; border-color: #121117; color: #fff; box-shadow: none; }
.workspace .grade-tab.selected > span { color: #fff; }
.workspace .grade-tab strong { font-size: 21px; letter-spacing: -.5px; }
.workspace .subject-section { margin-top: 44px; }
.workspace .subject-section .section-heading h2 { font-size: 30px; letter-spacing: -.9px; }
.workspace .subject-section .section-heading p { margin-top: 8px; color: #625f68; font-size: 14px; }
.workspace .subject-count { padding: 7px 10px; border: 1px solid #dedde1; border-radius: 6px; background: #fff; color: #625f68; }
.workspace .curriculum-chapter { margin-top: 14px; border: 1px solid #dedde1; border-radius: 12px; background: #fff; box-shadow: none; }
.workspace .curriculum-chapter > summary { min-height: 90px; padding: 22px 24px; gap: 20px; }
.workspace .curriculum-chapter > summary:hover { background: #f7f7f8; }
.workspace .curriculum-chapter[open] > summary { border-bottom: 1px solid #dedde1; }
.workspace .chapter-number { width: 44px; min-height: 44px; border: 1px solid #dedde1; border-radius: 8px; background: #fff; color: #121117; }
.workspace .chapter-copy strong { font-size: 17px; letter-spacing: -.3px; }
.workspace .chapter-copy small { color: #625f68; font-size: 12px; }
.workspace .chapter-lessons { padding: 20px; background: #f7f7f8; }
.workspace .topic-grid { gap: 16px; }
.workspace .topic-card-shell { border: 1px solid #dedde1; border-radius: 12px; background: #fff; box-shadow: none; transition: border-color .18s ease; }
.workspace .topic-card-shell:has(.topic-card:hover) { border-color: #121117; box-shadow: none; }
.workspace .topic-card-shell .topic-card { gap: 18px; padding: 23px 20px; background: #fff; }
.workspace .topic-card-shell .topic-card:hover,
.workspace .topic-card-shell .topic-card:active { background: #fdf5f9; box-shadow: none; }
.workspace .topic-card-shell .topic-illustration { width: 54px; flex-basis: 54px; height: 72px; border-radius: 8px; background: #f7f7f8; color: #121117; }
.workspace .topic-card-body > strong { color: #121117; font-size: 17px; font-weight: 750; line-height: 1.45; letter-spacing: -.4px; }
.workspace .topic-description { color: #625f68; font-size: 13px; line-height: 1.65; }
.workspace .topic-eyebrow,
.workspace .topic-meta { color: #625f68; font-size: 11px; line-height: 1.65; }
.workspace .topic-eyebrow .advanced-label { background: #f0edf8; color: #484153; border-radius: 4px; }
.workspace .topic-done .topic-meta { color: #276044; }
.workspace .topic-arrow { width: 28px; height: 28px; border: 0; border-radius: 0; background: transparent; color: #121117; box-shadow: none; }
.workspace .topic-card-links { padding: 12px 20px; border-top: 1px solid #dedde1; font-size: 12px; }
.workspace .topic-card-links a { color: #121117; font-weight: 700; }
.workspace .topic-card-links > span { color: #625f68; }
.workspace .class-search-row { margin-top: 36px; padding-top: 24px; border-color: #dedde1; }
.workspace .content-note { color: #625f68; font-size: 12px; line-height: 1.8; }

/* Search keeps its controls visible without heavy pill containers. */
.workspace .library-controls { gap: 16px; }
.workspace .library-controls .search-field { min-height: 60px; border: 1px solid #9b98a1; border-radius: 8px; background: #fff; }
.workspace .library-controls .search-field:focus-within { border-color: #121117; box-shadow: 0 0 0 1px #121117; }
.workspace .library-controls .search-field input { color: #121117; font-size: 16px; }
.workspace .library-controls .search-field input::placeholder { color: #625f68; }
.workspace .library-controls .search-field kbd { border: 1px solid #dedde1; border-radius: 4px; background: #f7f7f8; color: #625f68; }
.workspace .library-controls .grade-picker select { min-height: 60px; border: 1px solid #9b98a1; border-radius: 8px; background: #fff; color: #121117; font-size: 14px; }
.workspace .filter-row { margin-top: 24px; margin-bottom: 28px; }
.workspace .segmented { gap: 8px; }
.workspace .segmented button { min-height: 44px; border: 1px solid #dedde1; border-radius: 8px; background: #fff; color: #625f68; font-size: 13px; font-weight: 650; }
.workspace .segmented button:hover { border-color: #121117; background: #f7f7f8; }
.workspace .segmented button.selected { border-color: #121117; background: #121117; color: #fff; box-shadow: none; }
.workspace .library-note,
.workspace .results-caption { color: #625f68; font-size: 12px; }
.workspace .results-caption { padding-bottom: 20px; }
.workspace .empty-state { padding: 64px 24px; border: 1px solid #dedde1; border-radius: 16px; background: #f7f7f8; }
.workspace .empty-icon { border: 1px solid #dedde1; border-radius: 12px; color: #121117; background: #fff; box-shadow: none; }
.workspace .empty-inline { padding: 28px; border: 1px solid #dedde1; border-radius: 12px; background: #f7f7f8; color: #625f68; }

/* Reference theory reads like a clear article, separate from the lesson player. */
.theory-reader { max-width: 920px; }
.theory-reader .page-heading h1 { font-size: clamp(36px, 4.4vw, 56px); line-height: 1.13; letter-spacing: -1.8px; }
.theory-reader .theory-card { margin-top: 34px; padding: 28px; border: 1px solid #dedde1; border-radius: 16px; background: #fff; box-shadow: none; }
.theory-reader .theory-visual { border-radius: 10px; background: #fff0f6; color: #121117; }
.theory-reader .theory-content h2 { margin: 14px 0; color: #121117; font-size: 26px; line-height: 1.35; letter-spacing: -.6px; }
.theory-reader .theory-content p,
.theory-reader .theory-section p,
.theory-reader .example-card p { color: #46434d; font-size: 16px; line-height: 1.85; }
.theory-reader .pill-label { color: #625f68; font-size: 12px; }
.theory-reader .formula { padding: 18px 20px; border: 1px solid #dedde1; border-radius: 8px; background: #f7f7f8; color: #121117; font-size: 22px; }
.theory-reader .geometry-diagram { border: 1px solid #dedde1; border-radius: 16px; background: #faf9fc; color: #121117; }
.theory-reader .geometry-diagram figcaption { color: #625f68; }
.theory-reader .example-card { padding: 26px 28px; border: 1px solid #dedde1; border-radius: 12px; background: #f7f7f8; box-shadow: none; }
.theory-reader .example-card strong { font-size: 16px; color: #121117; }
.theory-reader .theory-sections { margin-top: 36px; }
.theory-reader .theory-section { padding: 30px 0; border: 0; border-bottom: 1px solid #dedde1; border-radius: 0; background: transparent; }
.theory-reader .theory-section + .theory-section { margin-top: 0; }
.theory-reader .theory-section h3 { color: #121117; font-size: 25px; letter-spacing: -.7px; }
.theory-reader .theory-worked-example { padding: 20px 24px; border-left: 3px solid #ed80ae; border-radius: 0 8px 8px 0; background: #fff5f9; }
.theory-reader .proof-details { border-color: #dedde1; }
.theory-reader .proof-details summary { color: #121117; font-size: 14px; }
.theory-reader .theory-mistakes { padding: 26px 28px; border: 1px solid #dedde1; border-radius: 12px; background: #faf9fc; }
.theory-reader .theory-mistakes h3 { font-size: 18px; color: #121117; }
.theory-reader .theory-mistakes ul { color: #46434d; font-size: 15px; }
.theory-reader .lesson-source { border-color: #dedde1; color: #625f68; }
.theory-reader .theory-reader-actions { padding: 28px 0; border-color: #dedde1; }

/* Review and progress show real learning information in restrained cards. */
.workspace .review-banner { gap: 24px; padding: 32px; border: 1px solid #dedde1; border-radius: 16px; background: #fff0f6; }
.workspace .review-banner-icon { border: 1px solid #121117; border-radius: 12px; background: #ed80ae; color: #121117; box-shadow: none; }
.workspace .review-banner h2 { font-size: 28px; letter-spacing: -.7px; }
.workspace .review-banner p { color: #625f68; font-size: 15px; line-height: 1.8; }
.workspace .review-item { padding: 24px; border: 1px solid #dedde1; border-radius: 12px; background: #fff; box-shadow: none; }
.workspace .review-art { border-radius: 8px; background: #f7f7f8; color: #121117; }
.workspace .review-item-copy h3 { color: #121117; font-size: 18px; letter-spacing: -.4px; }
.workspace .review-status { color: #625f68; font-size: 12px; }
.workspace .review-status.is-due { color: #121117; font-weight: 700; }
.workspace .review-item .button { min-height: 46px; font-size: 13px; }
.workspace .memory-explainer { gap: 32px; padding: 64px 8px; }
.workspace .memory-explainer > span { font-size: 44px; color: #121117; }
.workspace .memory-explainer small { color: #625f68; font-size: 14px; }
.workspace .gentle-note { padding: 24px; border: 1px solid #dedde1; border-radius: 12px; background: #f7f7f8; color: #625f68; }
.workspace .gentle-note p { font-size: 14px; }
.workspace .learner-card { padding: 30px; border: 1px solid #dedde1; border-radius: 16px; background: #fff; box-shadow: none; }
.workspace .learner-card .section-heading h2 { font-size: 26px; letter-spacing: -.7px; }
.workspace .learner-details dt { color: #625f68; font-size: 12px; }
.workspace .learner-details dd { margin-top: 7px; color: #121117; font-size: 14px; }
.workspace .learner-actions { padding-top: 24px; margin-top: 28px; gap: 12px; border-color: #dedde1; }
.workspace .learner-actions .button { min-height: 48px; font-size: 13px; }
.workspace .profile-stats { gap: 20px; }
.workspace .profile-stats > div { padding: 28px; border: 1px solid #dedde1; border-radius: 12px; background: #f7f7f8; box-shadow: none; }
.workspace .profile-stats strong { font-size: 48px; line-height: 1.15; letter-spacing: -1.8px; color: #121117; }
.workspace .profile-stats .icon { color: #625f68; }
.workspace .profile-stats > div > span { font-size: 13px; color: #625f68; }
.workspace .badge-grid { gap: 20px; }
.workspace .achievement { padding: 28px 22px; border: 1px solid #dedde1; border-radius: 12px; background: #fff; color: #625f68; box-shadow: none; }
.workspace .achievement-icon { border: 1px solid #dedde1; border-radius: 12px; background: #f7f7f8; color: #625f68; box-shadow: none; }
.workspace .achievement h3 { color: #121117; font-size: 17px; letter-spacing: -.4px; }
.workspace .achievement p { font-size: 13px; line-height: 1.7; }
.workspace .achievement-label { border-radius: 5px; background: #f7f7f8; color: #625f68; font-size: 11px; }
.workspace .achievement.earned { border-color: #121117; background: #fff5f9; box-shadow: none; }
.workspace .achievement.earned .achievement-icon { border: 1px solid #121117; background: #ed80ae; color: #121117; box-shadow: none; }
.workspace .achievement.earned .achievement-label { background: #ed80ae; border-radius: 5px; color: #121117; }
.workspace .storage-note { border-color: #dedde1; color: #625f68; }

/* An ordered reading list keeps the plan clear without a game-style path. */
.workspace .personal-plan { padding: 32px; border: 1px solid #dedde1; border-radius: 16px; background: #fff; box-shadow: none; }
.workspace .personal-plan h2 { color: #121117; font-size: 32px; letter-spacing: -.9px; }
.workspace .personal-plan-heading > a { font-size: 13px; }
.workspace .personal-plan-intro,
.workspace .personal-plan-empty > p { max-width: 760px; color: #625f68; font-size: 14px; line-height: 1.8; }
.workspace .personal-plan-list { margin-top: 28px; }
.workspace .personal-plan-step { gap: 24px; padding: 26px 0; border-top: 1px solid #dedde1; }
.workspace .personal-plan-step:not(:last-child)::before { display: none; }
.workspace .personal-plan-step:last-child { padding-bottom: 6px; }
.workspace .personal-plan-number { width: 36px; height: 36px; flex-basis: 36px; border: 1px solid #dedde1; border-radius: 8px; background: #f7f7f8; color: #121117; box-shadow: none; }
.workspace .personal-plan-step.is-next .personal-plan-number { border-color: #121117; background: #ed80ae; color: #121117; box-shadow: none; }
.workspace .personal-plan-meta { gap: 6px 12px; color: #625f68; font-size: 12px; }
.workspace .personal-plan-step h3 { margin-top: 8px; color: #121117; font-size: 22px; letter-spacing: -.5px; }
.workspace .personal-plan-step p { max-width: 720px; margin-top: 8px; color: #625f68; font-size: 14px; }
.workspace .personal-plan-step-actions { gap: 8px 20px; margin-top: 16px; }
.workspace .personal-plan-step-actions > a { color: #121117; font-size: 13px; }
.workspace .personal-plan-step-actions > span { color: #625f68; font-size: 12px; }
.workspace .personal-plan-step.is-next .personal-plan-start { padding: 10px 16px; min-height: 46px; border: 2px solid #121117; border-radius: 8px; background: #ed80ae; color: #121117; box-shadow: none; }
.workspace .personal-plan-step.is-next .personal-plan-start:hover { background: #e96fa3; text-decoration: none; }
.workspace .personal-plan-step.is-next .personal-plan-start:active { transform: none; box-shadow: none; }
.workspace .personal-plan .adaptive-details { border-color: #dedde1; }
.workspace .personal-plan .adaptive-details > summary { min-height: 56px; color: #121117; font-size: 14px; }
.workspace .personal-plan > .adaptive-small-note { padding-top: 22px; color: #625f68; font-size: 12px; line-height: 1.8; border-color: #dedde1; }

@media (max-width: 900px) {
  .workspace .classes-grid { gap: 18px; }
  .workspace .class-card { padding: 24px 24px 0; }
  .workspace .review-banner { flex-wrap: wrap; }
  .workspace .review-banner > .button { margin-left: 91px; }
  .workspace .badge-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .workspace .learner-details dl, .workspace dl.learner-details { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 650px) {
  .workspace .classes-grid { grid-template-columns: 1fr; gap: 16px; }
  .workspace .class-card { padding: 24px 24px 0; }
  .workspace .class-number, .workspace .class-card.is-current .class-number { font-size: 48px; }
  .workspace .curriculum-banner { gap: 16px; padding: 22px; }
  .workspace .curriculum-banner strong { font-size: 17px; }
  .workspace .grade-tabs { gap: 6px; }
  .workspace .grade-tab { min-height: 60px; padding: 8px 4px; flex-direction: column; gap: 2px; }
  .workspace .grade-tab strong { font-size: 20px; }
  .workspace .grade-tab > span { font-size: 11px; }
  .workspace .subject-section { margin-top: 34px; }
  .workspace .subject-section .section-heading h2 { font-size: 27px; }
  .workspace .curriculum-chapter > summary { min-height: 84px; padding: 18px 16px; gap: 13px; }
  .workspace .chapter-number { width: 36px; min-height: 36px; }
  .workspace .chapter-copy strong { font-size: 15px; }
  .workspace .chapter-lessons { padding: 12px; }
  .workspace .topic-grid { grid-template-columns: 1fr; gap: 12px; }
  .workspace .topic-card-shell .topic-card { padding: 20px 16px; gap: 14px; }
  .workspace .topic-card-body > strong { font-size: 16px; }
  .workspace .topic-card-shell .topic-illustration { width: 44px; flex-basis: 44px; height: 60px; }
  .workspace .topic-card-links { padding: 10px 16px; font-size: 11px; }
  .workspace .topic-card-links > span { max-width: 35%; white-space: normal; text-align: right; }
  .workspace .library-controls { gap: 12px; }
  .workspace .library-controls .search-field { min-height: 56px; }
  .workspace .library-controls .search-field input { font-size: 14px; }
  .workspace .library-controls .grade-picker select { min-height: 50px; }
  .workspace .filter-row { gap: 16px; }
  .workspace .segmented { width: 100%; gap: 6px; }
  .workspace .segmented button { flex: 1; padding: 10px 8px; font-size: 12px; }
  .theory-reader .page-heading h1 { font-size: 36px; letter-spacing: -1.2px; }
  .theory-reader .theory-card { padding: 22px; }
  .theory-reader .theory-content h2 { font-size: 23px; }
  .theory-reader .theory-content p, .theory-reader .theory-section p, .theory-reader .example-card p { font-size: 15px; }
  .theory-reader .formula { padding: 16px; font-size: 20px; }
  .theory-reader .theory-section { padding: 26px 0; }
  .theory-reader .theory-section h3 { font-size: 23px; }
  .theory-reader .example-card, .theory-reader .theory-mistakes { padding: 22px; }
  .workspace .review-banner { padding: 24px; gap: 18px; align-items: flex-start; }
  .workspace .review-banner-icon { width: 48px; height: 48px; flex-basis: 48px; }
  .workspace .review-banner h2 { font-size: 24px; }
  .workspace .review-banner p { font-size: 14px; }
  .workspace .review-banner > .button { width: 100%; margin-left: 0; }
  .workspace .review-item { gap: 14px; padding: 20px; flex-wrap: wrap; }
  .workspace .review-item-copy h3 { font-size: 16px; }
  .workspace .review-item .button { width: 100%; margin: 4px 0 0; justify-content: center; }
  .workspace .memory-explainer { gap: 15px; padding: 48px 0; }
  .workspace .memory-explainer > span { font-size: 34px; }
  .workspace .memory-explainer small { font-size: 12px; max-width: 90px; line-height: 1.6; }
  .workspace .memory-explainer > i { font-size: 17px; }
  .workspace .learner-card { padding: 24px; }
  .workspace .learner-card .section-heading h2 { font-size: 23px; }
  .workspace .learner-details dd { font-size: 13px; }
  .workspace .learner-actions .button { width: 100%; justify-content: center; }
  .workspace .profile-stats { gap: 10px; }
  .workspace .profile-stats > div { padding: 19px 13px; }
  .workspace .profile-stats strong { font-size: 34px; }
  .workspace .profile-stats .icon { width: 18px; height: 18px; }
  .workspace .profile-stats > div > span { font-size: 11px; }
  .workspace .badge-grid { grid-template-columns: 1fr; gap: 12px; }
  .workspace .achievement { padding: 24px 16px; }
  .workspace .achievement h3 { font-size: 16px; }
  .workspace .achievement p { font-size: 12px; }
  .workspace .personal-plan { padding: 24px 20px; }
  .workspace .personal-plan h2 { font-size: 28px; }
  .workspace .personal-plan-heading { gap: 14px; }
  .workspace .personal-plan-heading > a { max-width: 110px; font-size: 12px; }
  .workspace .personal-plan-step { gap: 14px; padding: 22px 0; }
  .workspace .personal-plan-number { width: 30px; height: 30px; flex-basis: 30px; font-size: 12px; }
  .workspace .personal-plan-meta { font-size: 11px; }
  .workspace .personal-plan-step h3 { font-size: 20px; }
  .workspace .personal-plan-step p { font-size: 13px; }
  .workspace .personal-plan-step-actions > span { width: 100%; font-size: 11px; }
}
@media (max-width: 380px) {
  .workspace .profile-stats { grid-template-columns: 1fr; }
  .workspace .profile-stats > div { padding: 22px; }
  .workspace .profile-stats > div > span { font-size: 13px; }
  .workspace .badge-grid { grid-template-columns: 1fr; }
  .workspace .learner-details dl, .workspace dl.learner-details { grid-template-columns: 1fr; }
  .workspace .review-art { width: 44px; flex-basis: 44px; }
}
