.sensor-possibilities { margin: 44px 0; padding-block: 26px; border-block: 1px solid #cbd6df; }
.sensor-possibilities h2 { margin-top: 6px; }
.sensor-possibilities [hidden] { display: none !important; }
.possibility-controls { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-block: 22px 12px; }
.possibility-controls label, .possibility-training-label { display: flex; align-items: baseline; flex-wrap: wrap; gap: 5px; font-size: .86rem; font-weight: 650; }
.sensor-possibilities output { margin-left: auto; font-variant-numeric: tabular-nums; }
.possibility-controls input { flex-basis: 100%; width: 100%; margin-top: 7px; }
.sensor-possibilities input[type="range"] { accent-color: #76529a; min-height: 24px; }
.possibility-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-block: 10px; }
.possibility-actions span { color: #596678; font-size: .82rem; }
.possibility-actions button { min-height: 38px; padding: 6px 10px; border: 1px solid #aab7c4; border-radius: 4px; color: #18212f; background: #fff; font: inherit; font-size: .8rem; cursor: pointer; }
.possibility-actions button:hover { background: #eef4f8; }
.possibility-actions button[aria-pressed="true"] { border-color: #76529a; background: #f0eaf5; }
.possibility-actions button:disabled { opacity: .45; cursor: default; }
.sensor-possibilities button:focus-visible, .sensor-possibilities input:focus-visible { outline: 2px solid #76529a; outline-offset: 3px; }
.sensor-story .possibility-result { font-weight: 650; border-left: 3px solid #76529a; padding: 8px 12px; margin: 18px 0; }
.possibility-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 24px; }
.possibility-layout > * { min-width: 0; }
.possibility-main { margin: 0; }
.possibility-main > svg { display: block; width: 100%; height: auto; overflow: visible; font: 12px system-ui, sans-serif; fill: #596678; cursor: crosshair; touch-action: none; user-select: none; }
.possibility-key { display: flex; flex-wrap: wrap; gap: 8px 14px; margin: 10px 0; font-size: .75rem; }
.possibility-key i { display: inline-block; width: 9px; height: 9px; margin-right: 4px; border-radius: 50%; }
.possibility-key .region { background: #76529a; opacity: .5; border-radius: 0; }
.possibility-key .selected { background: #18212f; }
.possibility-key .zero { background: #687587; }
.possibility-key .first { background: #18212f; border-radius: 0; }
.possibility-main figcaption { font-size: .82rem; line-height: 1.5; color: #596678; }
#possibility-training { display: block; width: 100%; margin: 10px 0; }
.sensor-story .possibility-detail h3 { font-size: .95rem; margin: 20px 0 12px; }
.possibility-geometry { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.possibility-geometry figure { margin: 0; min-width: 0; }
.sensor-story .possibility-geometry h4 { font-size: .74rem; margin: 0 0 6px; }
.possibility-geometry svg { display: block; width: 100%; font: 12px system-ui, sans-serif; fill: #596678; }
.possibility-geometry figcaption { font-size: .68rem; line-height: 1.5; color: #596678; }
.possibility-ledger { width: 100%; border-collapse: collapse; margin-top: 18px; font-size: .73rem; font-variant-numeric: tabular-nums; }
.possibility-ledger th { text-align: left; font-weight: 500; }
.possibility-ledger td { text-align: right; white-space: nowrap; }
.possibility-ledger td, .possibility-ledger th { padding: 7px 3px; border-bottom: 1px solid #d8dde6; }
.possibility-ledger tr:nth-child(4) { color: #76529a; font-weight: 700; }
.possibility-ledger tr:nth-child(5) { color: #235f9e; font-weight: 700; }
.possibility-math { margin-top: 14px; }
.possibility-math p { margin: 14px 12px; }
.possibility-math .sensor-equation { font-size: .88rem; }
@media (max-width: 800px) {
  .possibility-layout { grid-template-columns: minmax(0, 1fr); }
  .possibility-controls { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .possibility-geometry { max-width: 440px; }
}
