:root {
  --mks-tc-ink: #172033;
  --mks-tc-muted: #5f6878;
  --mks-tc-brand: #5b2ba7;
  --mks-tc-brand-2: #7554c9;
  --mks-tc-indigo: #3159c8;
  --mks-tc-amber: #d7902f;
  --mks-tc-good: #18765b;
  --mks-tc-warn: #9a5c15;
  --mks-tc-bad: #b43d4d;
  --mks-tc-canvas: #f6f4fa;
  --mks-tc-surface: #fffefe;
  --mks-tc-soft: #f1edf8;
  --mks-tc-border: #ded8e8;
  --mks-tc-shadow: 0 12px 30px rgba(52, 34, 91, .08);
  --mks-tc-radius: 18px;
}

/* TC-course-only shell refinement. The stylesheet is scoped by PHP to course 5737. */
@media (min-width: 901px) {
  .gre-course-page--tabbed .gre-course-tab-shell {
    grid-template-columns: 300px minmax(0, 1fr) !important;
  }
}

.gre-course-page--tabbed .gre-course-tab-group-title {
  min-height: 0 !important;
  padding: 12px 15px !important;
  font-size: 14px !important;
}

.gre-course-page--tabbed .gre-course-tab-topic-heading {
  min-height: 36px !important;
  padding: 8px 11px !important;
  font-size: 13px !important;
  line-height: 1.3 !important;
}

.gre-course-page--tabbed .gre-course-tab-subtopic-heading {
  min-height: 30px !important;
  padding: 6px 10px !important;
  font-size: 12px !important;
  line-height: 1.3 !important;
}

.gre-course-page--tabbed .gre-course-tab-button {
  min-height: 46px !important;
  padding: 7px 9px !important;
}

.gre-course-page--tabbed .gre-course-tab-button > span:not(.gre-course-tab-icon):not(.gre-course-tab-status) {
  overflow: hidden !important;
  font-size: 13.5px !important;
  font-weight: 720 !important;
  line-height: 1.28 !important;
  text-overflow: ellipsis !important;
}

.gre-course-page--tabbed .gre-course-tab-icon {
  font-size: 14px !important;
  line-height: 1 !important;
}

.mks-tc-unit,
.mks-tc-dashboard {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 1160px !important;
  margin: 0 auto !important;
  padding: 18px 16px 38px !important;
  color: var(--mks-tc-ink) !important;
  background: var(--mks-tc-canvas) !important;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 16px !important;
  line-height: 1.68 !important;
}

.mks-tc-unit *,
.mks-tc-dashboard * {
  box-sizing: border-box !important;
}

.mks-tc-unit h1,
.mks-tc-unit h2,
.mks-tc-unit h3,
.mks-tc-dashboard h1,
.mks-tc-dashboard h2,
.mks-tc-dashboard h3 {
  color: var(--mks-tc-ink) !important;
  font-family: inherit !important;
  letter-spacing: -.025em !important;
  text-wrap: balance;
}

.mks-tc-unit p,
.mks-tc-dashboard p {
  margin: 0 0 12px !important;
  color: var(--mks-tc-muted) !important;
}

.mks-tc-hero,
.mks-tc-dash-hero {
  position: relative !important;
  overflow: hidden !important;
  margin: 0 0 16px !important;
  padding: 28px 30px !important;
  border: 1px solid rgba(255, 255, 255, .24) !important;
  border-radius: 22px !important;
  background:
    radial-gradient(circle at 92% 12%, rgba(244, 179, 88, .28), transparent 32%),
    linear-gradient(128deg, #39206f 0%, #6032b5 48%, #6d62ba 100%) !important;
  box-shadow: 0 16px 34px rgba(66, 36, 116, .16) !important;
  color: #fff !important;
}

.mks-tc-hero::after,
.mks-tc-dash-hero::after {
  position: absolute !important;
  right: -42px !important;
  bottom: -72px !important;
  width: 210px !important;
  height: 210px !important;
  border: 42px solid rgba(255, 255, 255, .07) !important;
  border-radius: 50% !important;
  content: "" !important;
}

.mks-tc-eyebrow {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 30px !important;
  margin-bottom: 12px !important;
  padding: 4px 12px !important;
  border: 1px solid rgba(255, 255, 255, .30) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .12) !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: .025em !important;
}

.mks-tc-hero h1,
.mks-tc-dash-hero h1 {
  position: relative !important;
  z-index: 1 !important;
  margin: 0 0 8px !important;
  color: #fff !important;
  font-size: clamp(30px, 4vw, 42px) !important;
  line-height: 1.12 !important;
}

.mks-tc-hero > p,
.mks-tc-dash-hero > p {
  position: relative !important;
  z-index: 1 !important;
  max-width: 850px !important;
  margin: 0 !important;
  color: rgba(255, 255, 255, .88) !important;
  font-size: 17px !important;
  line-height: 1.55 !important;
}

.mks-tc-meta-row,
.mks-tc-stat-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin: 0 0 16px !important;
}

.mks-tc-meta,
.mks-tc-stat {
  min-width: 0 !important;
  padding: 12px 14px !important;
  border: 1px solid var(--mks-tc-border) !important;
  border-radius: 14px !important;
  background: var(--mks-tc-surface) !important;
  box-shadow: 0 5px 14px rgba(49, 34, 82, .045) !important;
}

.mks-tc-meta small,
.mks-tc-stat small {
  display: block !important;
  color: var(--mks-tc-muted) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .05em !important;
  line-height: 1.25 !important;
  text-transform: uppercase !important;
}

.mks-tc-meta strong,
.mks-tc-stat strong {
  display: block !important;
  margin-top: 3px !important;
  color: var(--mks-tc-brand) !important;
  font-size: 20px !important;
  line-height: 1.15 !important;
}

.mks-tc-card,
.mks-tc-start-card,
.mks-tc-result,
.mks-tc-dashboard-panel {
  margin: 0 0 14px !important;
  padding: 22px 24px !important;
  border: 1px solid var(--mks-tc-border) !important;
  border-radius: var(--mks-tc-radius) !important;
  background: var(--mks-tc-surface) !important;
  box-shadow: var(--mks-tc-shadow) !important;
}

.mks-tc-card h2,
.mks-tc-start-card h2,
.mks-tc-result h2,
.mks-tc-dashboard-panel h2 {
  margin: 0 0 10px !important;
  color: #351b64 !important;
  font-size: 25px !important;
  line-height: 1.24 !important;
}

.mks-tc-card h3,
.mks-tc-result h3,
.mks-tc-dashboard-panel h3 {
  margin: 0 0 5px !important;
  font-size: 18px !important;
  line-height: 1.32 !important;
}

.mks-tc-objectives,
.mks-tc-method-grid,
.mks-tc-path-grid,
.mks-tc-part-grid,
.mks-tc-breakdown {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 11px !important;
}

.mks-tc-objective,
.mks-tc-method-step,
.mks-tc-path,
.mks-tc-part-card,
.mks-tc-breakdown-card {
  min-width: 0 !important;
  padding: 14px !important;
  border: 1px solid #e5dfed !important;
  border-radius: 14px !important;
  background: #fbfaff !important;
}

.mks-tc-step-number {
  display: inline-grid !important;
  place-items: center !important;
  width: 27px !important;
  height: 27px !important;
  margin-bottom: 7px !important;
  border-radius: 50% !important;
  background: var(--mks-tc-soft) !important;
  color: var(--mks-tc-brand) !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}

.mks-tc-note,
.mks-tc-warning,
.mks-tc-success {
  margin-top: 12px !important;
  padding: 12px 14px !important;
  border-left: 4px solid var(--mks-tc-brand-2) !important;
  border-radius: 10px !important;
  background: var(--mks-tc-soft) !important;
  color: #40384e !important;
}

.mks-tc-warning {
  border-left-color: var(--mks-tc-warn) !important;
  background: #fff8ec !important;
}

.mks-tc-success {
  border-left-color: var(--mks-tc-good) !important;
  background: #eef8f4 !important;
}

.mks-tc-start-actions,
.mks-tc-toolbar,
.mks-tc-nav,
.mks-tc-result-actions,
.mks-tc-dashboard-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 9px !important;
}

.mks-tc-btn,
.mks-tc-unit button,
.mks-tc-dashboard button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 9px 16px !important;
  border: 1px solid transparent !important;
  border-radius: 11px !important;
  background: #f0edf5 !important;
  color: #312a3d !important;
  font: inherit !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease, background .15s ease !important;
}

.mks-tc-btn:hover,
.mks-tc-unit button:hover,
.mks-tc-dashboard button:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 7px 16px rgba(51, 31, 87, .11) !important;
}

.mks-tc-btn--primary,
.mks-tc-unit button[data-start],
.mks-tc-unit button[data-finish],
.mks-tc-dashboard button[data-resume] {
  background: linear-gradient(135deg, var(--mks-tc-brand), var(--mks-tc-indigo)) !important;
  color: #fff !important;
}

.mks-tc-btn--quiet {
  border-color: var(--mks-tc-border) !important;
  background: #fff !important;
  color: var(--mks-tc-brand) !important;
}

.mks-tc-btn--danger {
  border-color: #efd0d5 !important;
  background: #fff4f5 !important;
  color: var(--mks-tc-bad) !important;
}

.mks-tc-unit button:focus-visible,
.mks-tc-dashboard button:focus-visible,
.mks-tc-choice:focus-visible,
.mks-tc-palette button:focus-visible {
  outline: 3px solid rgba(70, 93, 209, .34) !important;
  outline-offset: 3px !important;
}

.mks-tc-mode-control {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  color: var(--mks-tc-muted) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}

.mks-tc-test[hidden],
.mks-tc-result[hidden],
.mks-tc-inline-message[hidden] {
  display: none !important;
}

.mks-tc-test {
  overflow: hidden !important;
  margin-top: 14px !important;
  border: 1px solid #d9dce8 !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: 0 14px 32px rgba(35, 39, 66, .10) !important;
}

.mks-tc-test-head {
  display: grid !important;
  grid-template-columns: auto 1fr auto !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 12px 16px !important;
  background: #1d2535 !important;
  color: #fff !important;
}

.mks-tc-test-brand {
  font-weight: 900 !important;
  letter-spacing: .02em !important;
}

.mks-tc-progress-copy {
  text-align: center !important;
  color: #e7ebf1 !important;
  font-size: 13px !important;
  font-weight: 750 !important;
}

.mks-tc-timers {
  display: flex !important;
  gap: 10px !important;
  color: #e5e9f0 !important;
  font-variant-numeric: tabular-nums !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

.mks-tc-test-subhead {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: space-between !important;
  gap: 9px !important;
  padding: 10px 14px !important;
  border-bottom: 1px solid #e2e5ec !important;
  background: #f8f9fb !important;
}

.mks-tc-test-subhead button {
  min-height: 36px !important;
  padding: 7px 12px !important;
  font-size: 12px !important;
}

.mks-tc-palette {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  padding: 10px 14px !important;
  border-bottom: 1px solid #eceef3 !important;
  background: #fff !important;
}

.mks-tc-palette button {
  width: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  border-color: #d9dce6 !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #596173 !important;
  font-size: 12px !important;
}

.mks-tc-palette button.is-current {
  border-color: var(--mks-tc-brand) !important;
  background: var(--mks-tc-brand) !important;
  color: #fff !important;
}

.mks-tc-palette button.is-answered:not(.is-current) {
  border-color: #9ed2c1 !important;
  background: #e8f6f1 !important;
  color: var(--mks-tc-good) !important;
}

.mks-tc-palette button.is-marked::after {
  color: var(--mks-tc-amber) !important;
  content: "•" !important;
  font-size: 18px !important;
  line-height: 0 !important;
}

.mks-tc-question {
  min-height: 360px !important;
  padding: 22px 28px 24px !important;
}

.mks-tc-question-meta {
  max-width: 980px !important;
  margin: 0 auto 16px !important;
  padding: 0 0 12px !important;
  border-bottom: 1px solid #cdd3dc !important;
}

.mks-tc-directions {
  margin: 0 !important;
  color: #1f2937 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
}

.mks-tc-sentence {
  max-width: 980px !important;
  margin: 0 auto 20px !important;
  color: #202733 !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  line-height: 1.62 !important;
}

.mks-tc-blank {
  display: inline-block !important;
  min-width: 78px !important;
  border-bottom: 1px solid #111827 !important;
  color: #111827 !important;
  font-weight: 750 !important;
  text-align: center !important;
}

.mks-tc-choice-grid {
  display: grid !important;
  grid-template-columns: repeat(var(--mks-tc-cols, 1), minmax(180px, 1fr)) !important;
  gap: 14px !important;
  width: 100% !important;
  max-width: 980px !important;
  margin: 0 auto !important;
  overflow-x: auto !important;
  overscroll-behavior-inline: contain !important;
  scrollbar-width: thin !important;
}

.mks-tc-choice-grid[data-blank-count="1"] {
  max-width: 500px !important;
}

.mks-tc-choice-grid[data-blank-count="2"] {
  max-width: 740px !important;
}

.mks-tc-choice-column {
  min-width: 0 !important;
}

.mks-tc-choice-column h3 {
  margin: 0 !important;
  padding: 8px 10px !important;
  border: 1px solid #7f8794 !important;
  border-radius: 4px 4px 0 0 !important;
  background: #e8ebf0 !important;
  color: #111827 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  text-align: center !important;
}

.mks-tc-unit .mks-tc-choice {
  display: grid !important;
  grid-template-columns: 24px minmax(0, 1fr) !important;
  align-items: center !important;
  justify-content: stretch !important;
  gap: 9px !important;
  width: 100% !important;
  min-height: 42px !important;
  margin: -1px 0 0 !important;
  padding: 8px 11px !important;
  border: 1px solid #7f8794 !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #111827 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-align: left !important;
  cursor: pointer !important;
  box-shadow: none !important;
}

.mks-tc-unit .mks-tc-choice:last-child {
  border-radius: 0 0 4px 4px !important;
}

.mks-tc-unit .mks-tc-choice-key {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 21px !important;
  height: 21px !important;
  border: 1px solid #667080 !important;
  border-radius: 50% !important;
  background: #fff !important;
  color: #253044 !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

.mks-tc-unit .mks-tc-choice-text {
  min-width: 0 !important;
  line-height: 1.32 !important;
}

.mks-tc-unit .mks-tc-choice:hover {
  position: relative !important;
  z-index: 1 !important;
  border-color: #315d8a !important;
  background: #f1f6fc !important;
  transform: none !important;
  box-shadow: none !important;
}

.mks-tc-unit .mks-tc-choice.is-selected {
  position: relative !important;
  z-index: 2 !important;
  border-color: #214f7f !important;
  background: #dce9f7 !important;
  color: #102d4a !important;
  box-shadow: inset 3px 0 0 #214f7f !important;
}

.mks-tc-unit .mks-tc-choice.is-selected .mks-tc-choice-key {
  border-color: #173f69 !important;
  background: #173f69 !important;
  color: #fff !important;
}

.mks-tc-unit .mks-tc-choice.is-correct {
  border-color: #73b79f !important;
  background: #e8f7f1 !important;
  color: #135f49 !important;
}

.mks-tc-unit .mks-tc-choice.is-correct .mks-tc-choice-key {
  border-color: #18725a !important;
  background: #18725a !important;
  color: #fff !important;
}

.mks-tc-unit .mks-tc-choice.is-wrong {
  border-color: #dc9ca5 !important;
  background: #fff0f2 !important;
  color: #91333f !important;
}

.mks-tc-unit .mks-tc-choice.is-wrong .mks-tc-choice-key {
  border-color: #a53f4c !important;
  background: #a53f4c !important;
  color: #fff !important;
}

.mks-tc-confidence {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 7px !important;
  margin-top: 16px !important;
  color: var(--mks-tc-muted) !important;
  font-size: 13px !important;
  font-weight: 750 !important;
}

.mks-tc-confidence button {
  min-height: 34px !important;
  padding: 6px 10px !important;
  font-size: 12px !important;
}

.mks-tc-confidence button.is-selected {
  border-color: #8e7abb !important;
  background: #eee8f8 !important;
  color: #4e2d81 !important;
}

.mks-tc-inline-message {
  margin: 14px 0 0 !important;
  padding: 11px 13px !important;
  border-radius: 10px !important;
  background: #f1edf8 !important;
  color: #443654 !important;
  font-size: 14px !important;
}

.mks-tc-question-footer {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: space-between !important;
  gap: 10px !important;
  padding: 13px 16px !important;
  border-top: 1px solid #e3e6ec !important;
  background: #f8f9fb !important;
}

.mks-tc-review-item {
  margin-top: 11px !important;
  padding: 14px !important;
  border: 1px solid #e1dce9 !important;
  border-radius: 12px !important;
  background: #fcfbfe !important;
}

.mks-tc-review-item.is-correct {
  border-left: 4px solid var(--mks-tc-good) !important;
}

.mks-tc-review-item.is-wrong {
  border-left: 4px solid var(--mks-tc-bad) !important;
}

.mks-tc-review-answer {
  margin: 7px 0 !important;
  color: #3e4552 !important;
  font-size: 14px !important;
}

.mks-tc-source {
  margin-top: 8px !important;
  color: #7b7288 !important;
  font-size: 12px !important;
}

.mks-tc-progress-bar {
  overflow: hidden !important;
  height: 10px !important;
  margin: 10px 0 5px !important;
  border-radius: 999px !important;
  background: #e8e3ef !important;
}

.mks-tc-progress-bar > span {
  display: block !important;
  width: var(--mks-tc-progress, 0%) !important;
  height: 100% !important;
  border-radius: inherit !important;
  background: linear-gradient(90deg, var(--mks-tc-brand), var(--mks-tc-indigo)) !important;
  transition: width .25s ease !important;
}

.mks-tc-part-card {
  display: flex !important;
  flex-direction: column !important;
  gap: 7px !important;
}

.mks-tc-part-card .mks-tc-eyebrow {
  align-self: flex-start !important;
  margin-bottom: 2px !important;
  border-color: #d8cdea !important;
  background: #eee8f8 !important;
  color: var(--mks-tc-brand) !important;
}

.mks-tc-part-card button {
  align-self: flex-start !important;
  margin-top: auto !important;
}

.mks-tc-sync-status {
  color: var(--mks-tc-muted) !important;
  font-size: 12px !important;
}

.mks-tc-unit button:disabled,
.mks-tc-dashboard button:disabled {
  opacity: .48 !important;
  transform: none !important;
  box-shadow: none !important;
  cursor: not-allowed !important;
}

@media (max-width: 900px) {
  .mks-tc-meta-row,
  .mks-tc-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .mks-tc-objectives,
  .mks-tc-method-grid,
  .mks-tc-path-grid,
  .mks-tc-part-grid,
  .mks-tc-breakdown {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 700px) {
  .mks-tc-unit,
  .mks-tc-dashboard {
    padding: 12px 10px 28px !important;
    font-size: 15px !important;
  }

  .mks-tc-hero,
  .mks-tc-dash-hero {
    padding: 22px 20px !important;
    border-radius: 19px !important;
  }

  .mks-tc-hero h1,
  .mks-tc-dash-hero h1 {
    font-size: 29px !important;
  }

  .mks-tc-hero > p,
  .mks-tc-dash-hero > p {
    font-size: 16px !important;
  }

  .mks-tc-card,
  .mks-tc-start-card,
  .mks-tc-result,
  .mks-tc-dashboard-panel {
    padding: 18px 17px !important;
    border-radius: 16px !important;
  }

  .mks-tc-card h2,
  .mks-tc-start-card h2,
  .mks-tc-result h2,
  .mks-tc-dashboard-panel h2 {
    font-size: 23px !important;
  }

  .mks-tc-objectives,
  .mks-tc-method-grid,
  .mks-tc-path-grid,
  .mks-tc-part-grid,
  .mks-tc-breakdown {
    grid-template-columns: 1fr !important;
  }

  .mks-tc-test-head {
    grid-template-columns: 1fr auto !important;
  }

  .mks-tc-progress-copy {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    text-align: left !important;
  }

  .mks-tc-timers {
    justify-content: flex-end !important;
  }

  .mks-tc-question {
    min-height: 0 !important;
    padding: 18px 15px !important;
  }

  .mks-tc-sentence {
    font-size: 16px !important;
    line-height: 1.68 !important;
  }

  .mks-tc-choice-grid {
    grid-template-columns: repeat(var(--mks-tc-cols, 1), minmax(180px, 1fr)) !important;
    gap: 10px !important;
  }

  .mks-tc-question-footer,
  .mks-tc-nav,
  .mks-tc-result-actions,
  .mks-tc-dashboard-actions {
    align-items: stretch !important;
  }

  .mks-tc-question-footer > *,
  .mks-tc-nav > *,
  .mks-tc-result-actions > *,
  .mks-tc-dashboard-actions > * {
    flex: 1 1 auto !important;
  }
}

@media (max-width: 430px) {
  .mks-tc-meta-row,
  .mks-tc-stat-grid {
    grid-template-columns: 1fr 1fr !important;
  }

  .mks-tc-meta,
  .mks-tc-stat {
    padding: 10px !important;
  }

  .mks-tc-meta strong,
  .mks-tc-stat strong {
    font-size: 18px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mks-tc-unit *,
  .mks-tc-dashboard * {
    scroll-behavior: auto !important;
    transition: none !important;
    animation: none !important;
  }
}
