/* Gia Sư SV • Math presentation patch 1.0 — confined to the existing learning plugin.
   No change to grading, source SVG geometry, solutions or student data. */
body.gssv-math-layout :is(.gssv-study, .gssv-hw-portal, .gssv-tp) {
  --gssv-ml-step-gap: 7px;
  --gssv-ml-diagram-width: 440px;
}
body.gssv-math-layout :is(.gssv-study, .gssv-hw-portal, .gssv-tp) :where(.gsv-question, .gsv-rich, .gssv-hw-qtext, .gssv-hw-option-text, .gssv-ml-solution) {
  min-width: 0;
  max-width: 100%;
}
/* Shorter worked solutions; preserve KaTeX / MathJax's internal box dimensions. */
body.gssv-math-layout :is(.gssv-study, .gssv-hw-portal, .gssv-tp) :is(.gsv-standard-solution, .gsv-answer-clean, .gssv-ml-solution) {
  box-sizing: border-box;
  line-height: 1.48 !important;
}
body.gssv-math-layout :is(.gssv-study, .gssv-hw-portal, .gssv-tp) :is(.gsv-standard-steps, .gsv-answer-clean, .gssv-ml-solution) {
  padding: 10px 12px !important;
}
body.gssv-math-layout :is(.gssv-study, .gssv-hw-portal, .gssv-tp) :is(.gsv-standard-steps, .gsv-answer-clean, .gssv-ml-solution) :where(p, li, .gsv-answer-step) {
  line-height: 1.48 !important;
  margin-block: 0 var(--gssv-ml-step-gap) !important;
}
body.gssv-math-layout :is(.gssv-study, .gssv-hw-portal, .gssv-tp) :is(.gsv-standard-steps, .gsv-answer-clean, .gssv-ml-solution) :where(ol, ul) {
  margin-block: 6px 8px !important;
  padding-inline-start: 1.5em;
}
body.gssv-math-layout :is(.gssv-study, .gssv-hw-portal, .gssv-tp) :is(.gsv-standard-steps, .gsv-answer-clean, .gssv-ml-solution) :where(p, li, .gsv-answer-step):last-child {
  margin-bottom: 0 !important;
}
body.gssv-math-layout :is(.gssv-study, .gssv-hw-portal, .gssv-tp) .gsv-feedback {
  margin-block: 9px !important;
  padding: 11px 13px !important;
  line-height: 1.48;
}
/* Keep formulas intact, scroll long display equations inside their own area. */
body.gssv-math-layout :is(.gssv-study, .gssv-hw-portal, .gssv-tp) :is(.gssv-ml-solution, .gsv-feedback, .gsv-answer-clean, .gsv-standard-steps) :is(.katex-display, mjx-container[display="true"], .MathJax_Display, .gsv-eq) {
  display: block;
  box-sizing: border-box;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  margin-block: 4px !important;
  -webkit-overflow-scrolling: touch;
}
/* Native graph / variation image only, never entire question screenshots or math glyph SVG. */
body.gssv-math-layout :is(.gssv-study, .gssv-hw-portal, .gssv-tp) :is(img, svg).gssv-ml-figure {
  display: block;
  box-sizing: border-box;
  width: auto !important;
  height: auto !important;
  max-width: min(100%, var(--gssv-ml-diagram-width)) !important;
  max-height: 420px !important;
  object-fit: contain !important;
  margin: 8px auto !important;
}
body.gssv-math-layout :is(.gssv-study, .gssv-hw-portal, .gssv-tp) .gssv-ml-table-scroll {
  min-width: 0;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
/* Compact the *existing* real radio inputs: no cloned controls or JS click interception. */
body.gssv-math-layout .gssv-study .gsv-tf-row {
  grid-template-columns: 24px minmax(0, 1fr) !important;
  gap: 5px 7px !important;
  padding-block: 8px !important;
  min-width: 0;
}
body.gssv-math-layout .gssv-study .gsv-tf-row > .gsv-rich {
  grid-column: 2;
  line-height: 1.5;
}
body.gssv-math-layout .gssv-study .gsv-tf-choices {
  display: flex;
  grid-column: 2 !important;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px !important;
  margin: 2px 0 0 !important;
}
body.gssv-math-layout .gssv-study .gsv-tf-choices label {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  gap: 6px !important;
  min-height: 44px !important;
  padding: 6px 11px !important;
  margin: 0 !important;
  border-radius: 9px;
  font-size: 14px !important;
  line-height: 1.25 !important;
}
body.gssv-math-layout .gssv-study .gsv-tf-choices input[type="radio"] {
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  flex-shrink: 0;
}
body.gssv-math-layout .gssv-study .gsv-tf-choices label:focus-within {
  outline: 2px solid #0b6fc2;
  outline-offset: 2px;
}
@media (max-width: 767px) {
  body.gssv-math-layout :is(.gssv-study, .gssv-hw-portal, .gssv-tp) { --gssv-ml-diagram-width: 340px; }
  body.gssv-math-layout :is(.gssv-study, .gssv-hw-portal, .gssv-tp) :is(.gsv-standard-steps, .gsv-answer-clean, .gssv-ml-solution) { padding: 9px 10px !important; }
  body.gssv-math-layout :is(.gssv-study, .gssv-hw-portal, .gssv-tp) :is(img, svg).gssv-ml-figure { max-height: 330px !important; }
  body.gssv-math-layout .gssv-study .gsv-tf-row { padding-block: 6px !important; }
  body.gssv-math-layout .gssv-study .gsv-tf-choices label { padding-inline: 10px !important; }
  body.gssv-math-layout .gssv-study .gsv-question > .gsv-rich { margin-block: 9px !important; }
  body.gssv-math-layout .gssv-study .gsv-question fieldset { margin-block: 9px !important; }
}
@media (prefers-reduced-motion: reduce) {
  body.gssv-math-layout .gssv-ml-figure { animation: none !important; transition: none !important; }
}
