/* MathCourse UI scale — reference-inspired, readable on desktop, mobile and WeChat WebView. */
:root {
  --mc-ui-text: 16px;
  --mc-ui-title: 32px;
  --mc-ui-radius: 18px;
}

body.mathcourse-site {
  font-size: var(--mc-ui-text);
  -webkit-text-size-adjust: 100%;
  text-rendering: optimizeLegibility;
}

body.mathcourse-site .mc-container {
  width: min(1200px, calc(100% - 40px));
}

body.mathcourse-site .mc-site-header__inner { min-height: 72px; gap: 44px; }
body.mathcourse-site .mc-brand__mark { width: 40px; height: 40px; font-size: 18px; }
body.mathcourse-site .mc-brand__text { font-size: 19px; }
body.mathcourse-site .mc-site-nav { gap: 32px; }
body.mathcourse-site .mc-site-nav a { font-size: 15px; font-weight: 700; }
body.mathcourse-site .mc-header-login { font-size: 14px; padding: 10px 16px; }
body.mathcourse-site .mc-user-pill { font-size: 14px; padding: 10px 14px; }

body.mathcourse-site .mc-btn { min-height: 48px; padding: 0 20px; font-size: 15px; border-radius: 12px; }
body.mathcourse-site .mc-section-heading__eyebrow { display: none; }
body.mathcourse-site .mc-section-heading h2 { font-size: 32px; }
body.mathcourse-site .mc-section-heading p { font-size: 15px; }
body.mathcourse-site .mc-section-heading--courses > a { font-size: 15px; }

body.mathcourse-site .mc-home-hero__inner { min-height: 560px; gap: 72px; }
body.mathcourse-site .mc-kicker { font-size: 14px; padding: 8px 13px; }
body.mathcourse-site .mc-home-hero h1 { font-size: clamp(42px, 5vw, 66px); }
body.mathcourse-site .mc-home-hero__copy > p { font-size: 17px; line-height: 1.85; }
body.mathcourse-site .mc-home-types,
body.mathcourse-site .mc-home-courses { padding: 84px 0; }
body.mathcourse-site .mc-type-card { min-height: 275px; padding: 30px 32px; border-radius: 20px; }
body.mathcourse-site .mc-type-card__tag { font-size: 16px; }
body.mathcourse-site .mc-type-card h3 { font-size: 26px; }
body.mathcourse-site .mc-type-card p { font-size: 15px; line-height: 1.8; }
body.mathcourse-site .mc-type-card__icon { width: 44px; height: 44px; font-size: 13px; }
body.mathcourse-site .mc-course-filter { padding: 5px; border-radius: 13px; }
body.mathcourse-site .mc-course-filter a { padding: 10px 17px; font-size: 15px; }
body.mathcourse-site .mc-course-grade-filter { gap: 7px; }
body.mathcourse-site .mc-course-grade-filter > span { font-size: 14px; }
body.mathcourse-site .mc-course-grade-filter a { padding: 7px 11px; font-size: 14px; }
body.mathcourse-site .mathcourse-center__grid { gap: 22px; }
body.mathcourse-site .mathcourse-center__body { padding: 20px 21px 21px; }
body.mathcourse-site .mathcourse-center__meta span { font-size: 12px; padding: 5px 9px; }
body.mathcourse-site .mathcourse-center__title { min-height: 52px; font-size: 19px; line-height: 1.5; }
body.mathcourse-site .mathcourse-center__button { padding: 12px 14px; font-size: 14px; }

/* Course/player page — layout owns the full available content width. */
body.mathcourse-site .mc-course-player {
  width: 100%;
  max-width: none;
  margin: 30px 0 50px;
  padding: 0 32px;
}
body.mathcourse-site .mc-course-player__layout {
  width: 100%;
  max-width: 1480px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 410px;
  gap: 28px;
  align-items: start;
}
body.mathcourse-site .mc-course-player__main { min-width: 0; }
body.mathcourse-site .mc-course-player__top { gap: 48px; margin-bottom: 28px; }
body.mathcourse-site .mc-course-player__top h1 { font-size: 40px; line-height: 1.3; }
body.mathcourse-site .mc-course-player__progress { width: 390px; flex-basis: 390px; }
body.mathcourse-site .mc-course-player__progress span { font-size: 16px; }
body.mathcourse-site .mc-course-player__progress strong { font-size: 20px; }
body.mathcourse-site .mc-course-player__lesson-head { padding: 24px 4px 8px; }
body.mathcourse-site .mc-course-player__lesson-head span { font-size: 16px; }
body.mathcourse-site .mc-course-player__lesson-head h2 { font-size: 28px; }
body.mathcourse-site .mc-course-player__lesson-head em { font-size: 15px; }
body.mathcourse-site .mc-course-player__sidebar-head { padding: 22px 24px; }
body.mathcourse-site .mc-course-player__sidebar-head strong { font-size: 20px; }
body.mathcourse-site .mc-course-player__sidebar-head span { font-size: 16px; }
body.mathcourse-site .mc-course-player__topic h3 { padding: 17px 22px; font-size: 18px; }
body.mathcourse-site .mc-course-player__item { gap: 12px; padding: 16px 20px; min-height: 54px; }
body.mathcourse-site .mc-course-player__item>span:nth-child(2) { font-size: 16px; line-height: 1.5; }
body.mathcourse-site .mc-course-player__item small { font-size: 13px; }
body.mathcourse-site .mc-course-player__nav-button { min-height: 76px; padding: 13px 18px; }
body.mathcourse-site .mc-course-player__nav-button small { font-size: 13px; }
body.mathcourse-site .mc-course-player__nav-button strong { font-size: 16px; }

/* ArtPlayer controls are kept under ArtPlayer's official UI. */
body.mathcourse-site .mathcourse-artplayer { width: 100%; }

body.mathcourse-site .mathcourse-course-detail,
body.mathcourse-site .mc-learning { font-size: 16px; }
body.mathcourse-site .mathcourse-course-detail h1,
body.mathcourse-site .mc-learning h1 { font-size: clamp(30px, 4vw, 42px); }
body.mathcourse-site .mathcourse-course-detail h2,
body.mathcourse-site .mc-learning h2 { font-size: 28px; }
body.mathcourse-site .mathcourse-course-detail p,
body.mathcourse-site .mc-learning p { font-size: 16px; line-height: 1.85; }

body.mathcourse-site button,
body.mathcourse-site a { -webkit-tap-highlight-color: transparent; }
body.mathcourse-site .mc-site-nav a,
body.mathcourse-site .mc-course-filter a,
body.mathcourse-site .mc-course-grade-filter a,
body.mathcourse-site .mc-course-player__item { touch-action: manipulation; }

@media (max-width: 1100px) {
  body.mathcourse-site .mc-course-player { padding: 0 24px; }
  body.mathcourse-site .mc-course-player__layout { grid-template-columns: minmax(0, 1fr) 350px; gap: 20px; }
}

@media (max-width: 1000px) {
  body.mathcourse-site .mc-site-header__inner { gap: 20px; }
  body.mathcourse-site .mc-site-nav { gap: 18px; }
  body.mathcourse-site .mc-course-player__layout { grid-template-columns: 1fr; }
  body.mathcourse-site .mc-course-player__sidebar { order: 2; }
}

@media (max-width: 700px) {
  body.mathcourse-site .mc-container { width: min(100% - 24px, 640px); }
  body.mathcourse-site .mc-site-header { position: relative; }
  body.mathcourse-site .mc-site-header__inner { min-height: 62px; gap: 10px; }
  body.mathcourse-site .mc-brand__mark { width: 36px; height: 36px; }
  body.mathcourse-site .mc-brand__text { font-size: 16px; }
  body.mathcourse-site .mc-site-nav { gap: 12px; overflow-x: auto; scrollbar-width: none; }
  body.mathcourse-site .mc-site-nav::-webkit-scrollbar { display: none; }
  body.mathcourse-site .mc-site-nav a { padding: 20px 0 18px; font-size: 14px; white-space: nowrap; }
  body.mathcourse-site .mc-header-login { padding: 8px 10px; font-size: 13px; white-space: nowrap; }

  body.mathcourse-site .mc-home-hero__inner { min-height: auto; grid-template-columns: 1fr; gap: 24px; padding-top: 42px; padding-bottom: 38px; }
  body.mathcourse-site .mc-home-hero__visual { min-height: 250px; order: -1; }
  body.mathcourse-site .mc-math-card--main { width: min(330px, 86%); min-height: 205px; padding: 25px; }
  body.mathcourse-site .mc-math-orbit--one { width: 300px; height: 300px; }
  body.mathcourse-site .mc-math-orbit--two { width: 235px; height: 235px; }
  body.mathcourse-site .mc-home-hero h1 { font-size: 38px; letter-spacing: -.035em; }
  body.mathcourse-site .mc-home-hero__copy > p { font-size: 16px; }
  body.mathcourse-site .mc-home-hero__actions { display: grid; grid-template-columns: 1fr; }
  body.mathcourse-site .mc-btn { width: 100%; min-height: 50px; font-size: 16px; }
  body.mathcourse-site .mc-home-types,
  body.mathcourse-site .mc-home-courses { padding: 54px 0; }
  body.mathcourse-site .mc-section-heading { align-items: flex-start; flex-direction: column; gap: 10px; margin-bottom: 20px; }
  body.mathcourse-site .mc-section-heading h2 { font-size: 28px; }
  body.mathcourse-site .mc-section-heading p { font-size: 15px; }
  body.mathcourse-site .mc-type-grid,
  body.mathcourse-site .mathcourse-center__grid { grid-template-columns: 1fr; gap: 14px; }
  body.mathcourse-site .mc-type-card { min-height: 230px; padding: 24px; }
  body.mathcourse-site .mc-type-card__tag { font-size: 16px; }
  body.mathcourse-site .mc-type-card h3 { font-size: 23px; }
  body.mathcourse-site .mc-type-card p { font-size: 15px; }
  body.mathcourse-site .mc-course-grade-filter a { font-size: 15px; padding: 8px 12px; }
  body.mathcourse-site .mathcourse-center__title { font-size: 19px; }

  body.mathcourse-site .mc-course-player { margin-top: 12px; margin-bottom: 25px; padding: 0 12px; }
  body.mathcourse-site .mc-course-player__top { gap: 16px; margin-bottom: 18px; }
  body.mathcourse-site .mc-course-player__top h1 { font-size: 30px; }
  body.mathcourse-site .mc-course-player__progress { width: 100%; flex-basis: auto; }
  body.mathcourse-site .mc-course-player__progress strong { font-size: 18px; }
  body.mathcourse-site .mc-course-player__lesson-head h2 { font-size: 24px; }
  body.mathcourse-site .mc-course-player__item>span:nth-child(2) { font-size: 16px; }
  body.mathcourse-site .mc-course-player__sidebar-head strong { font-size: 19px; }
}

@media (max-width: 430px) {
  body.mathcourse-site .mc-site-nav a:nth-child(n+4) { display: none; }
  body.mathcourse-site .mc-brand__text { font-size: 15px; }
  body.mathcourse-site .mc-home-hero h1 { font-size: 34px; }
  body.mathcourse-site .mc-section-heading h2 { font-size: 26px; }
  body.mathcourse-site .mc-course-filter { width: 100%; overflow-x: auto; }
  body.mathcourse-site .mc-course-filter a { white-space: nowrap; }
}

@media (prefers-reduced-motion: reduce) {
  body.mathcourse-site *, body.mathcourse-site *::before, body.mathcourse-site *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
