.mob-lab-jump { display: inline-flex; align-items: center; min-height: 44px; color: #d3bae4; text-decoration: none; font-size: 0.75rem; white-space: nowrap; }
.mob-lab {
  margin: 3rem 0 6rem;
  padding: clamp(1.2rem, 4vw, 2.75rem);
  border: 1px solid rgba(171, 128, 208, 0.35);
  background: linear-gradient(135deg, #211729, #141117 70%);
  scroll-margin-top: 1rem;
}
.mob-lab h2 {
  margin: 0 0 1rem;
  font: 400 clamp(2rem, 6vw, 3.5rem)/1.05 Georgia, serif;
}
.mob-lab-intro { max-width: 48rem; color: #bcb1c4; line-height: 1.7; }
.mob-lab label { display: block; margin: 1.6rem 0 0.65rem; font-size: 0.9rem; color: #e6dbe9; }
.mob-lab textarea, .mob-lab select {
  width: 100%; padding: 0.9rem 1rem; border: 1px solid #67516e;
  border-radius: 3px; color: #f3edf5; background: #100d14;
  font: inherit; font-size: 16px; line-height: 1.6;
}
.mob-lab textarea { min-height: 160px; resize: vertical; }
.mob-lab textarea::placeholder { color: #8d8294; }
.mob-lab textarea:focus-visible, .mob-lab select:focus-visible, .mob-lab button:focus-visible {
  outline: 2px solid #c9a7e7; outline-offset: 3px;
}
.mob-field-meta { display: flex; justify-content: space-between; gap: 1rem; color: #94869e; font-size: 0.72rem; margin-top: 0.55rem; }
#mob-count { white-space: nowrap; }
.mob-optional { margin-left: 0.35rem; color: #9889a3; font-size: 0.75rem; }
.mob-examples { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 1rem; }
.mob-lab button { min-height: 44px; padding: 0.7rem 1rem; cursor: pointer; border: 1px solid #695073; border-radius: 3px; color: #dfcde9; background: #261b30; font: inherit; font-size: 0.82rem; }
.mob-lab button:hover { border-color: #bd94d7; }
.mob-submit-row { display: flex; gap: 0.65rem; flex-wrap: wrap; margin-top: 1.5rem; }
#mob-submit { background: #d3bae4; border-color: #d3bae4; color: #211428; font-weight: 700; }
#mob-submit:disabled { cursor: wait; opacity: 0.65; }
#mob-status { color: #c3b1d1; font-size: 0.88rem; line-height: 1.6; }
#mob-status:not(:empty) { margin: 1.5rem 0; }
#mob-status.is-error { color: #f0a1a1; }
#mob-result { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid #55405e; }
#mob-result h3 { margin: 0 0 1.2rem; font-weight: 500; color: #d8b8eb; }
.mob-result-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.mob-result-grid > div { padding: 1rem; background: #0e0c12; border: 1px solid #3d2e45; }
.mob-result-label { display: block; color: #a393af; font-size: 0.75rem; line-height: 1.5; }
.mob-result-grid strong { display: block; margin-top: 0.6rem; color: #efdfef; font-size: clamp(1.5rem, 6vw, 2.7rem); line-height: 1.1; overflow-wrap: anywhere; }
.mob-gauge { height: 8px; margin: 1rem 0 1.5rem; background: #08060b; }
.mob-gauge > span { display: block; height: 100%; background: linear-gradient(90deg, #8e65b7, #bd5263); }
#mob-result[data-state="autonomous"] #mob-tension { color: #f2939a; }
#mob-result p, #mob-factors { color: #bfb1c6; line-height: 1.7; }
#mob-result h4 { margin-bottom: 0.5rem; font-size: 0.88rem; font-weight: 550; }
#mob-factors { padding-left: 1.2rem; font-size: 0.9rem; }
.mob-result-footnote, .mob-disclaimer { color: #96889f !important; font-size: 0.75rem; line-height: 1.7; }
.mob-disclaimer { margin: 1.8rem 0 0; }
.mob-lab [hidden] { display: none !important; }
@media (max-width: 520px) {
  .mob-result-grid { grid-template-columns: 1fr; }
  .mob-submit-row > button { width: 100%; }
}
