/* Motor selector.
 *
 * Only what system.css does not already carry: the grouped requirement form,
 * the per-candidate readout, and the version stamp under a result. Every class
 * is prefixed .selector-, every colour is a system token, and nothing here is
 * decorative. No shadow, no glow, no lift, no entrance animation: the result
 * region is present and readable from the first byte of HTML.
 */

/* --- The requirement form ------------------------------------------------ */

/* The house geometry is a corner cut, not a rounded corner. */
.selector-group {
  border: 1px solid var(--edge);
  clip-path: polygon(
    0 0,
    calc(100% - var(--chamfer)) 0,
    100% var(--chamfer),
    100% 100%,
    var(--chamfer) 100%,
    0 calc(100% - var(--chamfer))
  );
  padding: calc(var(--gutter) * 0.9) var(--gutter) var(--gutter);
  margin: 0 0 calc(var(--gutter) * 0.9);
  min-inline-size: 0;
}

.selector-group + .selector-group {
  margin-block-start: 0;
}

.selector-group > legend {
  font-family: var(--display);
  font-size: 1.05rem;
  line-height: 1.1;
  padding-inline: 0.5em;
  margin-inline-start: -0.5em;
  color: var(--paper);
}

.selector-group-lead {
  margin: 0.15rem 0 1.1rem;
  max-inline-size: var(--measure-width);
  color: var(--metal-2);
  font-size: 0.9rem;
  line-height: 1.5;
}

.selector-fields {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
  gap: calc(var(--gutter) * 0.75) var(--gutter);
  align-items: start;
}

/* --- The result region --------------------------------------------------- */

.selector-result {
  display: block;
}

.selector-result[aria-busy="true"] {
  opacity: 0.72;
}

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

.selector-candidates {
  margin-block-start: calc(var(--gutter) * 1.6);
}

.selector-candidate {
  padding-block: calc(var(--gutter) * 1.2);
  border-block-start: 1px solid var(--edge);
}

.selector-candidate:first-child {
  border-block-start: 0;
  padding-block-start: 0;
}

/* The outcome sits under the identity, never as a small label above it. */
.selector-outcome {
  margin: 0.4rem 0 0;
  max-inline-size: var(--measure-width);
  font-family: var(--display);
  font-size: 1rem;
  line-height: 1.35;
  color: var(--copper);
}

.selector-why {
  margin-block-start: calc(var(--gutter) * 0.7);
  max-inline-size: var(--measure-width);
}

.selector-why p {
  margin: 0 0 0.7em;
}

.selector-detail {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(19rem, 1fr));
  gap: var(--gutter);
  margin-block-start: calc(var(--gutter) * 0.9);
}

.selector-detail h4 {
  margin: 0 0 0.6rem;
  font-family: var(--display);
  font-size: 0.95rem;
  line-height: 1.2;
  color: var(--paper);
}

.selector-list {
  margin: 0;
  padding-inline-start: 1.1em;
  max-inline-size: var(--measure-width);
  color: var(--metal-2);
  font-size: 0.92rem;
  line-height: 1.6;
}

.selector-list li + li {
  margin-block-start: 0.45em;
}

.selector-list b {
  color: var(--paper-2);
  font-weight: 600;
}

/* --- Version and share stamp --------------------------------------------- */

.selector-stamp {
  margin-block-start: calc(var(--gutter) * 1.4);
  padding-block-start: calc(var(--gutter) * 0.8);
  border-block-start: 1px solid var(--edge);
}

.selector-share {
  margin: 0.9rem 0 0;
  max-inline-size: var(--measure-width);
  color: var(--metal-2);
  font-size: 0.88rem;
  line-height: 1.6;
}

.selector-share a {
  font-family: var(--mono);
  font-size: 0.92em;
  overflow-wrap: anywhere;
}
