/*
 * Chapter 05 local learning styles
 *
 * Shared layout and typography come from learning-page-system.css.
 * This file only defines the chapter directory, algebra flows, constraint
 * states, sign diagrams, and local responsive behavior.
 *
 * Semantic color roles:
 * blue   original relation and main path
 * amber  operation or point that needs attention
 * purple structure, sign change, or transformed relation
 * cyan   valid conclusion or positive interval
 * red    forbidden value, excluded endpoint, or rejected result
 */

.chapter05-page .hero{
  padding-bottom:3rem;
}

.chapter05-page .hero h1{
  max-width:900px;
}

.chapter05-page .lead{
  max-width:860px;
}

.chapter05-page .section-body > h2{
  max-width:820px;
}

.chapter05-page main:not(.chapter-directory) .section{
  padding:3rem 0;
}

.chapter05-page .source-note{
  margin-top:1.35rem;
  color:var(--muted);
  font-size:.76rem;
}

/* Chapter directory ------------------------------------------------------ */

.chapter-directory{
  padding-bottom:4.5rem;
}

.directory-overview,
.directory-lessons{
  padding:3.25rem 0;
  border-top:1px solid var(--line);
}

.directory-section-heading{
  max-width:850px;
}

.directory-section-heading h2{
  margin:.7rem 0 .75rem;
  font-size:clamp(1.6rem,2.8vw,2.25rem);
}

.directory-section-heading p{
  margin:0;
  color:var(--muted);
}

.directory-section-label{
  display:inline-flex;
  width:max-content;
  padding:.26rem .68rem;
  border:1px solid var(--blue-line);
  border-radius:var(--radius-pill);
  background:var(--blue-soft);
  color:var(--blue-deep);
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.05em;
}

.chapter-path-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
  margin-top:1.6rem;
}

.chapter-path-card{
  --track-accent:var(--blue);
  --track-soft:var(--blue-soft);
  --track-line:var(--blue-line);
  --track-deep:var(--blue-deep);
  min-width:0;
  padding:1.25rem 1.3rem;
  border:1px solid var(--line);
  border-top:3px solid var(--track-accent);
  border-radius:var(--radius-lg);
  background:var(--paper);
  box-shadow:var(--soft-shadow);
}

.chapter-path-card[data-track="inequality"]{
  --track-accent:var(--purple);
  --track-soft:var(--purple-soft);
  --track-line:var(--purple-line);
  --track-deep:var(--purple-deep);
}

.path-label{
  display:inline-flex;
  width:max-content;
  padding:.2rem .55rem;
  border:1px solid var(--track-line);
  border-radius:var(--radius-pill);
  background:var(--paper);
  color:var(--track-deep);
  font-size:.73rem;
  font-weight:900;
}

.chapter-path-card h3{
  margin:.7rem 0 .55rem;
  color:var(--ink);
  font-family:var(--font-serif);
  font-size:clamp(1.12rem,1.8vw,1.32rem);
  line-height:1.5;
}

.chapter-path-card p{
  margin:0;
  color:var(--body);
  font-size:.94rem;
}

.directory-lessons{
  padding-bottom:0;
}

.directory-lessons > .directory-section-heading{
  margin-bottom:1.4rem;
}

.lesson-group{
  --track-accent:var(--blue);
  --track-soft:var(--blue-soft);
  --track-line:var(--blue-line);
  --track-deep:var(--blue-deep);
  display:grid;
  grid-template-columns:minmax(190px,240px) minmax(0,1fr);
  gap:clamp(1.5rem,4vw,3.5rem);
  padding:3.25rem 0;
  border-top:1px solid var(--line);
}

.lesson-group[data-track="inequality"]{
  --track-accent:var(--purple);
  --track-soft:var(--purple-soft);
  --track-line:var(--purple-line);
  --track-deep:var(--purple-deep);
}

.lesson-group-heading{
  min-width:0;
}

.lesson-group-heading h3{
  margin:.7rem 0 .75rem;
  font-size:clamp(1.45rem,2.4vw,2rem);
}

.lesson-group-heading p{
  margin:0;
  color:var(--muted);
  font-size:.94rem;
}

.track-label{
  display:inline-flex;
  width:max-content;
  padding:.24rem .62rem;
  border:1px solid var(--track-line);
  border-radius:var(--radius-pill);
  background:var(--track-soft);
  color:var(--track-deep);
  font-size:.74rem;
  font-weight:900;
  letter-spacing:.05em;
}

.lesson-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.9rem;
  min-width:0;
}

.lesson-card{
  display:grid;
  min-width:0;
  min-height:230px;
  padding:1.15rem;
  align-content:start;
  gap:1rem;
  border:1px solid var(--line);
  border-top:3px solid var(--track-accent);
  border-radius:var(--radius-lg);
  background:var(--paper);
  box-shadow:var(--soft-shadow);
  text-decoration:none;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}

.lesson-card:hover,
.lesson-card:focus-visible{
  border-color:var(--track-line);
  box-shadow:0 2px 4px rgba(23,32,47,.05),0 16px 34px rgba(23,32,47,.08);
  transform:translateY(-2px);
}

.lesson-index{
  display:grid;
  width:44px;
  height:44px;
  place-items:center;
  border:1px solid var(--track-line);
  border-radius:50%;
  background:var(--track-soft);
  color:var(--track-deep);
  font-family:var(--font-serif);
  font-size:.9rem;
  font-weight:900;
}

.lesson-card-copy{
  display:flex;
  min-width:0;
  height:100%;
  flex-direction:column;
}

.lesson-kicker{
  margin-bottom:.35rem;
  color:var(--track-deep);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.06em;
}

.lesson-card strong{
  display:block;
  margin-bottom:.65rem;
  color:var(--ink);
  font-family:var(--font-serif);
  font-size:1.25rem;
  line-height:1.35;
}

.lesson-summary{
  display:block;
  color:var(--body);
  font-size:.94rem;
  line-height:1.7;
}

/* Continuous algebra and formula presentation --------------------------- */

.math-block{
  min-width:0;
  overflow-x:auto;
  overflow-y:hidden;
  font-family:var(--font-math);
  scrollbar-width:thin;
}

.math-block mjx-container[display="true"]{
  margin:.28em 0!important;
}

.formula-card{
  position:relative;
  margin:1.45rem 0;
  padding:1.05rem 1.2rem;
  overflow:hidden;
  border:1px solid var(--line);
  border-left:4px solid var(--blue);
  border-radius:var(--radius-md);
  background:var(--paper);
  box-shadow:none;
}

.formula-stack{
  display:grid;
  gap:0;
  margin:1.35rem 0;
  overflow:hidden;
  border:1px solid var(--line);
  border-left:4px solid var(--blue);
  border-radius:var(--radius-md);
  background:var(--paper);
}

.formula-stack > div{
  min-width:0;
  padding:.88rem 1rem;
  overflow-x:auto;
  color:var(--ink);
  background:transparent;
}

.formula-stack > div + div{
  border-top:1px solid var(--line);
}

.formula-stack > div[data-tone="transform"]{
  background:transparent;
  color:var(--ink);
}

.formula-stack > div[data-tone="condition"]{
  background:transparent;
  color:var(--red-deep);
  box-shadow:inset 3px 0 0 var(--red-line);
}

.equation-steps{
  display:grid;
  gap:0;
  margin:1.45rem 0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  background:var(--paper);
  box-shadow:var(--soft-shadow);
}

.equation-step{
  --step-line:var(--blue-line);
  display:grid;
  grid-template-columns:minmax(230px,.82fr) minmax(0,1.18fr);
  gap:1.15rem;
  min-width:0;
  padding:1rem 1.1rem;
  align-items:center;
  background:transparent;
}

.equation-step + .equation-step{
  border-top:1px solid var(--line);
}

.equation-step .math-block{
  color:var(--ink);
  font-size:1.02rem;
  font-weight:800;
  text-align:center;
}

.equation-step p{
  margin:0;
  padding-left:1rem;
  border-left:3px solid var(--step-line);
  color:var(--body);
}

.equation-step[data-tone="source"]{
  box-shadow:inset 4px 0 0 var(--blue);
}

.equation-step[data-tone="operation"]{
  --step-line:var(--amber-line);
  background:transparent;
  box-shadow:inset 4px 0 0 var(--amber);
}

.equation-step[data-tone="operation"] .math-block{
  color:var(--ink);
}

.equation-step[data-tone="operation"] p{
  border-left-color:var(--amber-line);
}

.equation-step[data-tone="transform"],
.equation-step[data-tone="candidate"]{
  --step-line:var(--purple-line);
  background:transparent;
  box-shadow:inset 4px 0 0 var(--purple);
}

.equation-step[data-tone="transform"] .math-block,
.equation-step[data-tone="candidate"] .math-block{
  color:var(--ink);
}

.equation-step[data-tone="transform"] p,
.equation-step[data-tone="candidate"] p{
  border-left-color:var(--purple-line);
}

.equation-step[data-tone="result"]{
  --step-line:var(--cyan-line);
  background:rgba(233,245,239,.42);
  box-shadow:inset 4px 0 0 var(--cyan);
}

.equation-step[data-tone="result"] .math-block{
  color:var(--cyan-deep);
}

.equation-step[data-tone="result"] p{
  border-left-color:var(--cyan-line);
}

/* Semantic condition and comparison states ------------------------------ */

.rule-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.8rem;
  margin:1.35rem 0;
}

.rule-card{
  min-width:0;
  padding:1rem;
  border:1px solid var(--line);
  border-top:3px solid var(--blue);
  border-radius:var(--radius-md);
  background:var(--paper);
  box-shadow:var(--soft-shadow);
}

.rule-card strong{
  display:block;
  margin-bottom:.4rem;
  color:var(--ink);
}

.rule-card p{
  margin:0;
}

.rule-card.is-positive{
  border-color:var(--line);
  border-top-color:var(--cyan);
  background:var(--paper);
}

.rule-card.is-positive strong,
.rule-card.is-valid strong{
  color:var(--cyan-deep);
}

.rule-card.is-negative{
  border-color:var(--line);
  border-top-color:var(--purple);
  background:var(--paper);
}

.rule-card.is-negative strong{
  color:var(--purple-deep);
}

.rule-card.is-blocked{
  border-color:var(--line);
  border-top-color:var(--red);
  background:var(--paper);
}

.rule-card.is-blocked strong{
  color:var(--red-deep);
}

.rule-card.is-valid{
  border-color:var(--line);
  border-top-color:var(--cyan);
  background:var(--paper);
}

.rule-card.is-condition{
  border-color:var(--line);
  border-top-color:var(--blue);
  background:var(--paper);
}

.rule-card.is-condition strong{
  color:var(--blue-deep);
}

.rule-card.is-zero{
  border-color:var(--line);
  border-top-color:var(--line-strong);
  background:var(--paper);
}

.rule-card.is-zero strong{
  color:var(--ink);
}

.condition-band{
  display:flex;
  margin:1.15rem 0;
  padding:.85rem 1rem;
  align-items:center;
  gap:.75rem;
  border:1px solid var(--red-line);
  border-left:4px solid var(--red);
  border-radius:var(--radius-md);
  background:rgba(251,239,236,.58);
  color:var(--red-deep);
}

.condition-band::before{
  display:grid;
  width:30px;
  height:30px;
  flex:0 0 30px;
  place-items:center;
  border:1px solid var(--red-line);
  border-radius:50%;
  background:var(--paper);
  content:"≠";
  font-family:var(--font-math);
  font-weight:900;
}

.condition-band .math-block{
  display:inline-block;
  min-width:0;
  max-width:100%;
  flex:1 1 auto;
}

.rule-band{
  display:flex;
  margin:1.15rem 0;
  padding:.85rem 1rem;
  align-items:center;
  gap:.75rem;
  border:1px solid var(--line);
  border-left:4px solid var(--blue);
  border-radius:var(--radius-md);
  background:var(--paper);
  color:var(--ink);
}

.rule-band::before{
  display:grid;
  width:30px;
  height:30px;
  flex:0 0 30px;
  place-items:center;
  border:1px solid var(--blue-line);
  border-radius:50%;
  background:var(--paper);
  color:var(--blue-deep);
  content:"!";
  font-family:var(--font-serif);
  font-weight:900;
}

.rule-band.is-blocked{
  border-color:var(--line);
  border-left-color:var(--red);
  color:var(--red-deep);
}

.rule-band.is-blocked::before{
  border-color:var(--red-line);
  color:var(--red-deep);
}

.contrast-strip{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  gap:.75rem;
  align-items:stretch;
  margin:1.35rem 0;
}

.contrast-card{
  min-width:0;
  padding:1rem;
  border:1px solid var(--line);
  border-top:3px solid var(--blue);
  border-radius:var(--radius-md);
  background:var(--paper);
  box-shadow:var(--soft-shadow);
}

.contrast-card strong{
  display:block;
  margin-bottom:.4rem;
}

.contrast-card p{
  margin:0;
}

.contrast-arrow{
  display:grid;
  place-items:center;
  color:var(--muted);
  font-size:1.1rem;
  font-weight:900;
}

.result-checks{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.8rem;
  margin:1.3rem 0;
}

.result-check{
  min-width:0;
  padding:1rem;
  border:1px solid var(--blue-line);
  border-top:3px solid var(--blue);
  border-radius:var(--radius-md);
  background:var(--paper);
  box-shadow:var(--soft-shadow);
}

.result-check.is-accepted{
  border-color:var(--line);
  border-top-color:var(--cyan);
  background:var(--paper);
}

.result-check.is-rejected{
  border-color:var(--line);
  border-top-color:var(--red);
  background:rgba(251,239,236,.58);
}

.result-check strong{
  display:block;
  margin-bottom:.4rem;
}

.result-check.is-accepted strong{
  color:var(--cyan-deep);
}

.result-check.is-rejected strong{
  color:var(--red-deep);
}

.result-check p{
  margin:0;
}

.chapter05-page .note{
  margin:1.25rem 0;
  padding:.8rem 1rem;
  border:1px solid var(--line);
  border-left:4px solid var(--amber);
  border-radius:0 var(--radius-sm) var(--radius-sm) 0;
  background:var(--paper);
  color:var(--body);
  box-shadow:none;
}

/* Compact conclusion path ----------------------------------------------- */

.chapter05-page .summary-panel{
  margin:1.4rem 0;
  padding:1.25rem 1.35rem;
  border:1px solid var(--cyan-line);
  background:var(--cyan-soft);
  box-shadow:none;
}

.chapter05-page .summary-panel h2{
  margin-bottom:.65rem;
  color:var(--cyan-deep);
  font-size:clamp(1.35rem,2vw,1.7rem);
}

.takeaway-list{
  display:grid;
  gap:0;
  margin:0;
}

.takeaway-item{
  display:grid;
  grid-template-columns:32px minmax(0,1fr);
  gap:.72rem;
  min-width:0;
  padding:.72rem 0;
  align-items:start;
}

.takeaway-item + .takeaway-item{
  border-top:1px solid var(--cyan-line);
}

.takeaway-item span{
  display:grid;
  width:30px;
  height:30px;
  place-items:center;
  border:1px solid var(--cyan-line);
  border-radius:50%;
  background:var(--paper);
  color:var(--cyan-deep);
  font-family:var(--font-serif);
  font-size:.84rem;
  font-weight:900;
}

.takeaway-item p{
  margin:.16rem 0 0;
}

/* Sign tables and number-line track ------------------------------------- */

.table-scroll{
  max-width:100%;
  margin:1.35rem 0;
  overflow-x:auto;
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  background:var(--paper);
  box-shadow:var(--soft-shadow);
}

.knowledge-table{
  width:100%;
  min-width:680px;
  border-collapse:collapse;
}

.knowledge-table th,
.knowledge-table td{
  padding:.78rem .88rem;
  border-bottom:1px solid var(--line);
  text-align:left;
  vertical-align:middle;
}

.knowledge-table th{
  background:var(--blue-soft);
  color:var(--blue-deep);
  font-size:.86rem;
}

.knowledge-table td:last-child{
  font-weight:900;
}

.knowledge-table tr:last-child td{
  border-bottom:0;
}

/* Product-inequality visual system -------------------------------------- */

.product-inequality-page .sign-line-figure,
.product-inequality-page .inequality-figure,
.product-inequality-page .multiplicity-figure{
  margin:1.55rem 0;
  scroll-margin-top:84px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  background:var(--paper);
  box-shadow:var(--soft-shadow);
}

.product-inequality-page .sign-line-figure svg{
  display:block;
  width:100%;
  height:auto;
  padding:.35rem .3rem .1rem;
  background:
    linear-gradient(var(--grid) 1px,transparent 1px),
    linear-gradient(90deg,var(--grid) 1px,transparent 1px),
    var(--soft);
  background-size:28px 28px;
  shape-rendering:geometricPrecision;
}

.product-inequality-page .region-positive{
  fill:var(--cyan);
  opacity:.09;
}

.product-inequality-page .region-negative{
  fill:var(--purple);
  opacity:.08;
}

.product-inequality-page .number-line-axis,
.product-inequality-page .plot-axis,
.product-inequality-page .mini-axis,
.product-inequality-page .solution-axis{
  vector-effect:non-scaling-stroke;
  stroke:var(--ink);
  stroke-width:2;
  stroke-linecap:round;
}

.product-inequality-page .solution-axis{
  stroke:var(--line-strong);
  stroke-width:1.5;
}

.product-inequality-page .number-line-arrow,
.product-inequality-page .axis-arrow,
.product-inequality-page .mini-axis-arrow{
  fill:var(--ink);
}

.product-inequality-page .sign-line-signs,
.product-inequality-page .number-line-roots,
.product-inequality-page .sign-line-intervals,
.product-inequality-page .axis-label,
.product-inequality-page .function-label,
.product-inequality-page .region-sign,
.product-inequality-page .graph-root,
.product-inequality-page .solution-title,
.product-inequality-page .solution-range,
.product-inequality-page .mini-label,
.product-inequality-page .mini-sign{
  font-family:var(--font-math);
  font-weight:900;
}

.product-inequality-page .sign-line-signs text,
.product-inequality-page .number-line-roots text,
.product-inequality-page .sign-line-intervals text,
.product-inequality-page .axis-label,
.product-inequality-page .function-label,
.product-inequality-page .region-sign,
.product-inequality-page .graph-root text,
.product-inequality-page .solution-title,
.product-inequality-page .solution-range text,
.product-inequality-page .mini-label,
.product-inequality-page .mini-sign{
  paint-order:stroke fill;
  stroke:rgba(255,253,248,.94);
  stroke-width:4px;
  stroke-linejoin:round;
}

.product-inequality-page .sign-line-signs text{
  font-size:31px;
  text-anchor:middle;
}

.product-inequality-page .sign-line-signs .is-positive,
.product-inequality-page .region-sign.is-positive,
.product-inequality-page .mini-sign.positive{
  fill:var(--cyan-deep);
}

.product-inequality-page .sign-line-signs .is-negative,
.product-inequality-page .region-sign.is-negative,
.product-inequality-page .mini-sign.negative{
  fill:var(--purple-deep);
}

.product-inequality-page .number-line-roots circle,
.product-inequality-page .graph-root circle,
.product-inequality-page .mini-zero{
  vector-effect:non-scaling-stroke;
  fill:var(--ink);
  stroke:var(--paper);
  stroke-width:3;
}

.product-inequality-page .number-line-roots text{
  font-size:19px;
  text-anchor:middle;
  fill:var(--ink);
}

.product-inequality-page .sign-line-intervals text{
  font-size:18px;
  text-anchor:middle;
  fill:var(--body);
}

.product-inequality-page .sign-line-figure figcaption,
.product-inequality-page .inequality-figure figcaption,
.product-inequality-page .multiplicity-figure > figcaption{
  margin:0;
  padding:.8rem 1.25rem 1rem;
  border-top:1px solid var(--line);
  color:var(--body);
  font-size:.88rem;
}

.product-inequality-page .inequality-figure-copy{
  padding:1.15rem 1.25rem .75rem;
}

.product-inequality-page .inequality-figure-copy h3{
  margin:.35rem 0 .45rem;
  font-family:var(--font-serif);
  font-size:clamp(1.08rem,2vw,1.32rem);
}

.product-inequality-page .inequality-figure-copy p{
  margin:0;
}

.product-inequality-page .visual-kicker{
  display:inline-flex;
  padding:0;
  align-items:center;
  gap:.45rem;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--blue-deep);
  font-size:.74rem;
  font-weight:900;
  letter-spacing:.05em;
}

.product-inequality-page .visual-kicker::before{
  width:22px;
  height:2px;
  background:var(--blue);
  content:"";
}

.product-inequality-page .inequality-plot-scroll{
  max-width:100%;
  padding:.75rem 1rem .55rem;
  overflow:hidden;
  border-top:1px solid var(--line);
  background:
    linear-gradient(var(--grid) 1px,transparent 1px),
    linear-gradient(90deg,var(--grid) 1px,transparent 1px),
    var(--soft);
  background-size:28px 28px;
}

.product-inequality-page .inequality-plot,
.product-inequality-page .inequality-figure.is-compact .inequality-plot{
  display:block;
  width:100%;
  min-width:0;
  height:auto;
  shape-rendering:geometricPrecision;
}

.product-inequality-page .root-guides line{
  vector-effect:non-scaling-stroke;
  stroke:var(--line-strong);
  stroke-width:1.6;
  stroke-dasharray:7 6;
}

.product-inequality-page .axis-label{
  font-size:18px;
  font-style:italic;
  fill:var(--ink);
}

.product-inequality-page .function-label{
  font-size:18px;
  fill:var(--blue-deep);
}

.product-inequality-page .function-curve,
.product-inequality-page .mini-curve{
  vector-effect:non-scaling-stroke;
  fill:none;
  stroke:var(--blue);
  stroke-width:3.25;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.product-inequality-page .region-sign{
  font-size:30px;
}

.product-inequality-page .graph-root text{
  font-size:17px;
  text-anchor:middle;
  fill:var(--ink);
}

.product-inequality-page .solution-title{
  font-size:16px;
  fill:var(--muted);
}

.product-inequality-page .solution-range line{
  vector-effect:non-scaling-stroke;
  stroke:var(--cyan);
  stroke-width:3;
  stroke-linecap:round;
}

.product-inequality-page .solution-range path{
  fill:var(--cyan);
}

.product-inequality-page .solution-range circle{
  vector-effect:non-scaling-stroke;
  fill:var(--paper);
  stroke:var(--red);
  stroke-width:2.5;
}

.product-inequality-page .solution-range text{
  font-size:17px;
  text-anchor:middle;
  fill:var(--cyan-deep);
}

.product-inequality-page .multiplicity-figure{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.product-inequality-page .multiplicity-visual-card{
  min-width:0;
  padding:1.1rem 1.15rem 1rem;
  background:var(--paper);
}

.product-inequality-page .multiplicity-visual-card:nth-child(2){
  border-left:1px solid var(--line);
}

.product-inequality-page .multiplicity-visual-card strong{
  display:block;
  color:var(--ink);
  font-family:var(--font-serif);
  font-size:1.05rem;
}

.product-inequality-page .mini-model{
  display:block;
  margin:.28rem 0 .52rem;
  color:var(--muted);
  font-size:.82rem;
  font-weight:800;
}

.product-inequality-page .mini-graph-stage{
  margin:0 0 .72rem;
  padding:.2rem .35rem;
  border-radius:var(--radius-sm);
  background:
    linear-gradient(var(--grid) 1px,transparent 1px),
    linear-gradient(90deg,var(--grid) 1px,transparent 1px),
    var(--soft);
  background-size:24px 24px;
}

.product-inequality-page .multiplicity-visual-card svg{
  display:block;
  width:100%;
  height:auto;
  shape-rendering:geometricPrecision;
}

.product-inequality-page .multiplicity-visual-card p{
  margin:0;
  font-size:.9rem;
}

.product-inequality-page .multiplicity-figure > figcaption{
  grid-column:1/-1;
}

.product-inequality-page .mini-label{
  font-size:17px;
  text-anchor:middle;
  fill:var(--ink);
}

.product-inequality-page .mini-sign{
  font-size:25px;
  text-anchor:middle;
}

/* Responsive ------------------------------------------------------------- */

@media(max-width:1023px){
  .lesson-group{
    grid-template-columns:minmax(0,1fr);
    gap:1.3rem;
  }

  .lesson-group-heading{
    max-width:720px;
  }

  .lesson-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .lesson-card{
    min-height:230px;
  }

  .equation-step{
    grid-template-columns:minmax(0,1fr);
    gap:.65rem;
  }

  .equation-step p{
    padding-top:.65rem;
    padding-left:0;
    border-top:1px dashed var(--blue-line);
    border-top-color:var(--step-line);
    border-left:0;
  }
}

@media(max-width:820px){
  .chapter-path-grid{
    grid-template-columns:minmax(0,1fr);
  }

  .rule-grid{
    grid-template-columns:minmax(0,1fr);
  }

  .contrast-strip{
    grid-template-columns:minmax(0,1fr);
  }

  .contrast-arrow{
    min-height:24px;
    transform:rotate(90deg);
  }

  .product-inequality-page .multiplicity-figure{
    grid-template-columns:minmax(0,1fr);
  }

  .product-inequality-page .multiplicity-visual-card:nth-child(2){
    border-top:1px solid var(--line);
    border-left:0;
  }
}

@media(max-width:640px){
  .chapter05-page .hero{
    padding-bottom:2.35rem;
  }

  .lesson-group{
    padding:2.35rem 0;
  }

  .directory-overview,
  .directory-lessons{
    padding:2.35rem 0;
  }

  .directory-lessons{
    padding-bottom:0;
  }

  .chapter-path-card{
    padding:1rem;
  }

  .chapter05-page main:not(.chapter-directory) .section{
    padding:2rem 0;
  }

  .lesson-grid{
    grid-template-columns:minmax(0,1fr);
  }

  .lesson-card{
    min-height:0;
    padding:1rem;
    grid-template-columns:42px minmax(0,1fr);
    gap:.8rem;
  }

  .lesson-index{
    width:38px;
    height:38px;
    font-size:.8rem;
  }

  .lesson-card-copy{
    min-height:0;
  }

  .result-checks{
    grid-template-columns:minmax(0,1fr);
  }

  .condition-band{
    align-items:flex-start;
  }

  .rule-band{
    align-items:flex-start;
  }

  .formula-card{
    padding:.9rem;
  }

  .chapter05-page .summary-panel{
    padding:1rem;
  }

  .equation-step{
    padding:.88rem;
  }

  .knowledge-table{
    min-width:620px;
  }

  .product-inequality-page .inequality-figure-copy{
    padding:1rem .9rem .5rem;
  }

  .product-inequality-page .sign-line-figure svg{
    padding:.2rem .08rem 0;
    background-size:22px 22px;
  }

  .product-inequality-page .sign-line-intervals text,
  .product-inequality-page .number-line-roots text{
    font-size:21px;
  }

  .product-inequality-page .inequality-plot-scroll{
    padding:.4rem .22rem .3rem;
    background-size:22px 22px;
  }

  .product-inequality-page .function-label,
  .product-inequality-page .axis-label{
    font-size:22px;
  }

  .product-inequality-page .graph-root text,
  .product-inequality-page .solution-title,
  .product-inequality-page .solution-range text{
    font-size:21px;
  }

  .product-inequality-page .mini-graph-stage{
    padding:.1rem .12rem;
    background-size:22px 22px;
  }

  .product-inequality-page .multiplicity-visual-card{
    padding:1rem .9rem .9rem;
  }

  .product-inequality-page .sign-line-figure figcaption,
  .product-inequality-page .inequality-figure figcaption,
  .product-inequality-page .multiplicity-figure > figcaption{
    padding:.75rem .9rem .9rem;
  }
}

@media(max-width:360px){
  .lesson-card{
    grid-template-columns:minmax(0,1fr);
  }

  .lesson-card-copy{
    min-height:0;
  }

}

@media(prefers-reduced-motion:reduce){
  .lesson-card{
    transition:none;
  }
}
