/* Motion and Projectile Simulator */
.mv-tabs { display: flex; flex-wrap: wrap; gap: .45rem; margin-bottom: .8rem; }
.mv-tabs button { display: flex; align-items: center; gap: .4rem; border: 2px solid var(--pmcq-line, #d7e2e8); background: #fff; color: var(--bs-primary); border-radius: 12px; padding: .45rem .85rem; font-weight: 700; cursor: pointer; }
.mv-tabs button.on { background: var(--bs-primary); border-color: var(--bs-primary); color: #fff; }
[hidden] { display: none !important; }

.mv-main { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 1rem; align-items: start; }
.mv-stage { min-width: 0; border: 1px solid var(--pmcq-line, #d7e2e8); border-radius: 14px; overflow: hidden; background: #fff; }
.mv-canvas { display: block; width: 100%; }
.mv-bar { display: flex; align-items: center; gap: .6rem; padding: .5rem .7rem; border-top: 1px solid var(--pmcq-line, #d7e2e8); background: #f8fbfc; flex-wrap: wrap; }
.mv-scrub { flex: 1 1 140px; min-width: 100px; margin: 0; }
.mv-side { display: flex; flex-direction: column; gap: .8rem; min-width: 0; }
.mv-card { padding: .8rem; }
.mv-h { font-size: 1rem; color: var(--bs-primary); margin: 0 0 .4rem; }
.mv-row { display: block; margin-bottom: .45rem; }
.mv-row > span { display: block; font-size: .84rem; font-weight: 700; color: #475569; }
.mv-row .form-range { margin: 0; }
.mv-checks { display: grid; gap: .1rem; font-size: .88rem; }
.mv-table th { width: 52%; font-weight: 600; color: #475569; font-size: .84rem; }
.mv-table td { font-weight: 700; color: #0b3d5c; font-size: .88rem; }

.mv-gtop { margin-bottom: .8rem; }
.mv-presets { display: flex; flex-wrap: wrap; gap: .35rem; margin-bottom: .7rem; }
.mv-presets button { border: 1px solid var(--pmcq-line, #d7e2e8); background: #fff; color: var(--bs-primary); border-radius: 999px; padding: .2rem .8rem; font-size: .85rem; font-weight: 600; cursor: pointer; }
.mv-presets button.on { background: var(--bs-primary); border-color: var(--bs-primary); color: #fff; }
.mv-gsliders { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .3rem 1.2rem; }
.mv-track { display: block; width: 100%; height: 110px; border: 1px solid var(--pmcq-line, #d7e2e8); border-radius: 12px; margin-bottom: .8rem; background: #f1f5f9; }
.mv-graphs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; }
.mv-g { display: block; width: 100%; height: 220px; border: 1px solid var(--pmcq-line, #d7e2e8); border-radius: 12px; background: #fff; }
.mv-stat { background: #f1f6f8; border-radius: 10px; padding: .45rem .7rem; height: 100%; }
.mv-stat span { display: block; font-size: .78rem; color: #475569; }
.mv-stat b { color: #0b3d5c; }
.mv-quiz { max-width: 760px; }
.mv-ans { display: flex; align-items: center; gap: .6rem; max-width: 30rem; }

@media (max-width: 991px) {
  .mv-main { grid-template-columns: minmax(0, 1fr); }
  .mv-stage { position: sticky; top: 0; z-index: 6; box-shadow: 0 4px 12px rgba(15, 23, 42, .16); }
  .mv-graphs { grid-template-columns: minmax(0, 1fr); }
  .mv-gsliders { grid-template-columns: minmax(0, 1fr); }
}
