/* Shared 100% allocation control (two boundaries on one rail) and its read-only receipt. */
.match-chances { --chance-thumb: var(--space-6); position: relative; border: 0; padding: 0; margin: 0; min-width: 0; }
.match-chances > legend { padding: 0; margin-bottom: var(--space-2); }
.match-chances__heading { display: inline-flex; align-items: center; gap: var(--space-2); }
.match-chances__fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: end; gap: var(--space-2); margin: var(--space-3) 0; }
.match-chances__status { color: var(--text-muted); }
.match-chances[data-state="invalid"] .match-chances__status { color: var(--text-down); }
.match-chances[data-state="valid"] .match-chances__status { color: var(--text-up); }
.match-chances__reading { display: flex; flex-direction: column; gap: var(--space-1); min-width: 0; }
.match-chances__value { margin: 0; font-family: var(--font-display); font-weight: var(--weight-display); font-size: var(--fs-num-m); line-height: 1; color: var(--text-strong); }
.match-chances__name { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; overflow-wrap: anywhere; }
.match-chances__readings { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: end; gap: var(--space-2); margin-top: var(--space-3); }
.match-chances__readings > :nth-child(2) { text-align: center; }
.match-chances__readings > :last-child { text-align: right; }
.match-chances.field.card .match-chances__readings { margin-top: 0; }
.match-chances__rail { position: relative; height: var(--control-h-lg); touch-action: pan-y; margin-top: var(--space-2); }
.match-chances__track { position: absolute; left: calc(var(--chance-thumb) / 2); right: calc(var(--chance-thumb) / 2); top: 50%; transform: translateY(-50%); height: var(--space-4); display: flex; gap: 4px; overflow: hidden; border-radius: var(--radius-pill); box-shadow: var(--shadow-well); }
.match-chances__track > :nth-child(1) { background: var(--accent); }
.match-chances__track > :nth-child(2) { background: var(--text-subtle); }
.match-chances__track > :nth-child(3) { background: var(--surface-inverse); }
.match-chances__distribution { display: flex; gap: var(--space-1); height: var(--progress-h); overflow: hidden; border-radius: var(--radius-pill); }
.match-chances__distribution > span { flex-basis: 0; min-width: 0; }
.match-chances__distribution > :nth-child(1) { background: var(--text-muted); }
.match-chances__distribution > :nth-child(2) { background: var(--text-subtle); }
.match-chances__distribution > :nth-child(3) { background: var(--surface-inverse); }
.match-chances--readonly > legend { display: flex; width: 100%; margin-bottom: var(--space-5); }
.match-chances--readonly .prediction-period { margin-left: auto; }
.match-chances--readonly .match-chances__fields { grid-template-rows: auto auto; align-items: start; column-gap: var(--space-4); row-gap: var(--space-2); margin: 0 0 var(--space-4); }
.match-chances--readonly .match-chances__reading { display: grid; grid-row: span 2; grid-template-rows: subgrid; }
.match-chances--readonly .match-chances__name { display: block; overflow: visible; font: var(--type-label); font-weight: var(--weight-regular); }
.match-chances--readonly .match-chances__name::before { content: ""; display: inline-block; width: var(--space-2); height: var(--space-2); margin-right: var(--space-1); border-radius: var(--radius-pill); background: var(--text-muted); }
.match-chances--readonly .match-chances__reading:nth-child(2) .match-chances__name::before { background: var(--text-subtle); }
.match-chances--readonly .match-chances__reading:nth-child(3) .match-chances__name::before { background: var(--surface-inverse); }
.match-chances--readonly .match-chances__value { font-size: var(--fs-num-l); }
.match-chances--readonly .match-chances__value .caption { font-size: var(--fs-num-s); }
.match-chances__boundary { appearance: none; position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; margin: 0; background: transparent; pointer-events: none; }
.match-chances__boundary::-webkit-slider-runnable-track { height: var(--space-4); background: transparent; }
.match-chances__boundary::-webkit-slider-thumb { appearance: none; box-sizing: border-box; width: var(--chance-thumb); height: var(--chance-thumb); margin-top: calc((var(--space-4) - var(--chance-thumb)) / 2); border: 0; border-radius: var(--radius-pill); background: var(--plate-face); box-shadow: var(--shadow-thumb); pointer-events: auto; cursor: grab; }
.match-chances__boundary::-moz-range-track { height: var(--space-4); background: transparent; }
.match-chances__boundary::-moz-range-thumb { box-sizing: border-box; width: var(--chance-thumb); height: var(--chance-thumb); border: 0; border-radius: var(--radius-pill); background: var(--plate-face); box-shadow: var(--shadow-thumb); pointer-events: auto; cursor: grab; }
.match-chances__boundary:active::-webkit-slider-thumb { cursor: grabbing; }
.match-chances__boundary:focus-visible { outline: none; }
.match-chances__boundary:focus-visible::-webkit-slider-thumb { box-shadow: var(--shadow-thumb), 0 0 0 6px var(--focus-ring); }
.match-chances__boundary:focus-visible::-moz-range-thumb { box-shadow: var(--shadow-thumb), 0 0 0 6px var(--focus-ring); }
.match-chances__slider:not([hidden]) ~ .match-chances__status { margin-top: var(--space-1); }
.match-chances[data-state="valid"] > .match-chances__status { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

