/* The Decision explorer is an analytical notebook. Every rule stays in its panel. */
.dex-panel {
  font-family: InterDisplay, Arial, sans-serif;
  --dx-surface: #fffdf6;
  --dx-surface-alt: #f4efdf;
  --dx-line: #25372c36;
  --dx-grid: #25372c0b;
  --dx-coral: #c84d2e;
  --dx-coral-fill: #ffe1d2;
  --dx-sage: #dce7d6;
  --dx-sage-ink: #2d5139;
  --dx-lilac: #e0ddf7;
  --dx-lilac-ink: #434998;
  --dx-butter: #f9e6a5;
  --dx-mono: 'Spline Sans Mono', 'SFMono-Regular', Consolas, monospace;
}
.dex-panel [data-decision-story] {
  padding: clamp(20px, 2.6vw, 34px);
  border: 1px solid var(--dex-ink);
  box-shadow: 4px 4px 0 var(--dx-line);
}
.dex-panel [data-theme='dark'] {
  --dx-surface: #23342a;
  --dx-surface-alt: #293e32;
  --dx-line: #f4f1e338;
  --dx-grid: #f4f1e30c;
  --dx-coral: #ffac8c;
  --dx-coral-fill: #583729;
  --dx-sage: #334d3a;
  --dx-sage-ink: #daf0ce;
  --dx-lilac: #403b57;
  --dx-lilac-ink: #dcdbff;
  --dx-butter: #584e2d;
}
.dex-panel .dex-heading { margin-bottom: 25px; align-items: center; }
.dex-panel .dex-eyebrow {
  font-family: var(--dx-mono);
  font-size: 10px;
  line-height: 1.6;
  letter-spacing: .09em;
}
.dex-panel .dex-heading h2 { font-size: clamp(27px, 3vw, 37px); letter-spacing: -.04em; }
.dex-panel .dex-heading h2 > span { font-family: inherit; font-weight: 600; }
.dex-panel .dex-heading > button {
  width: 44px;
  height: 44px;
  flex-shrink: 0;
  border: 1px solid var(--dx-line);
  border-radius: 3px;
  background: var(--dx-surface);
}
.dex-panel .dex-tabs {
  gap: 0;
  border: 1px solid var(--dx-line);
  background: var(--dx-surface);
}
.dex-panel .dex-tabs button {
  min-width: 0;
  min-height: 76px;
  padding: 13px 12px;
  font-size: 12px;
  line-height: 1.45;
  border-right: 1px solid var(--dx-line);
  border-bottom: 3px solid transparent;
}
.dex-panel .dex-tabs button:last-child { border-right: 0; }
.dex-panel .dex-tabs button > span {
  font-family: var(--dx-mono);
  font-size: 10px;
  opacity: 1;
  color: var(--dex-muted);
}
.dex-panel .dex-tabs button[aria-selected='true'] {
  background: var(--dx-lilac);
  color: var(--dex-ink);
  border-bottom-color: var(--dx-lilac-ink);
}
.dex-panel .dex-tabs button[aria-selected='true'] > span { color: var(--dx-lilac-ink); }
.dex-panel button:hover { border-color: var(--dex-ink); }
.dex-panel button:focus-visible,
.dex-panel a:focus-visible,
.dex-panel summary:focus-visible {
  outline: 3px solid var(--dx-coral);
  outline-offset: 4px;
}
.dex-panel .dex-scene {
  grid-template-columns: minmax(0, 1.48fr) minmax(0, .95fr);
  gap: clamp(24px, 3vw, 42px);
  padding: 30px 0;
  align-items: start;
}
.dex-panel .dex-art {
  display: block;
  min-width: 0;
  min-height: 0;
  padding: 0;
  border: 0;
  box-shadow: none;
  background: transparent;
  overflow: visible;
}
.dex-panel .dex-copy { min-width: 0; padding: 3px 0 0; }
.dex-panel .dex-copy > .dex-eyebrow {
  padding-bottom: 11px;
  border-bottom: 1px solid var(--dx-line);
}
.dex-panel .dex-copy > h2 {
  margin: 17px 0 18px;
  max-width: 21ch;
  font-size: clamp(26px, 2.5vw, 34px);
  line-height: 1.14;
  letter-spacing: -.045em;
}
.dex-panel .dex-copy > p { max-width: 60ch; font-size: 14px; line-height: 1.75; }
.dex-panel .dex-copy .dex-intro { font-size: 15px; line-height: 1.7; }
.dex-panel .dex-copy h3 { font-size: 19px; line-height: 1.35; margin: 25px 0 12px; }
.dex-panel .dex-choices { gap: 8px; margin: 23px 0 18px; }
.dex-panel .dex-choices button {
  min-height: 43px;
  padding: 10px 12px;
  border: 1px solid var(--dx-line);
  background: var(--dx-surface);
  font-size: 12px;
  line-height: 1.4;
  border-radius: 2px;
}
.dex-panel .dex-choices button[aria-pressed='true'] {
  background: var(--dx-coral-fill);
  border-color: var(--dx-coral);
  box-shadow: inset 0 -2px 0 var(--dx-coral);
}
.dex-panel .dex-action {
  min-height: 44px;
  padding: 11px 15px;
  border-radius: 2px;
  font-size: 13px;
  line-height: 1.5;
}
.dex-panel .dex-copy details { margin-top: 23px; padding: 15px 0; border-color: var(--dx-line); }
.dex-panel .dex-copy summary { line-height: 1.65; }
.dex-panel .dex-copy .dex-limit { font-size: 12px; line-height: 1.75; margin-top: 19px; }
.dex-panel .dex-tradeoff { background: var(--dx-butter); border-left-color: var(--dx-coral); }
.dex-panel .dex-link { display: inline-block; text-decoration: underline; text-underline-offset: 4px; line-height: 1.7; }
.dex-panel .dex-footer { padding-top: 19px; border-color: var(--dx-line); }
.dex-panel .dex-footer button { min-height: 42px; padding: 10px 13px; background: var(--dx-surface); }

/* Shared diagram board: measured inputs, working and an explicit result. */
.dex-panel .dex-board {
  min-width: 0;
  min-height: 480px;
  margin: 0;
  border: 1px solid var(--dex-ink);
  background: var(--dx-surface);
  color: var(--dex-ink);
  box-shadow: 3px 3px 0 var(--dx-line);
}
.dex-panel .dex-board-head {
  padding: 18px 21px 17px;
  border-bottom: 1px solid var(--dex-ink);
  background: var(--dx-lilac);
}
.dex-panel .dex-board-understand .dex-board-head,
.dex-panel .dex-board-explain .dex-board-head { background: var(--dx-sage); }
.dex-panel .dex-board-test .dex-board-head,
.dex-panel .dex-board-control .dex-board-head { background: var(--dx-butter); }
.dex-panel .dex-board-head > span {
  display: block;
  font-family: var(--dx-mono);
  font-size: 10px;
  line-height: 1.6;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--dex-muted);
}
.dex-panel .dex-board-head h3 {
  margin: 6px 0 0;
  font-size: clamp(20px, 2.05vw, 26px);
  line-height: 1.2;
  letter-spacing: -.035em;
}
.dex-panel .dex-board-body { min-width: 0; padding: 21px; }
.dex-panel .dex-board-body > :first-child { margin-top: 0; }
.dex-panel .dex-board-body > :last-child { margin-bottom: 0; }
.dex-panel .dex-board-foot {
  margin: 0;
  padding: 14px 21px;
  border-top: 1px dashed var(--dx-line);
  font-size: 11px;
  line-height: 1.7;
  color: var(--dex-muted);
}
.dex-panel .dex-board-meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin-bottom: 20px; }
.dex-panel .dex-board-meta > div { padding: 11px 12px; border: 1px solid var(--dx-line); background: var(--dx-surface-alt); min-width: 0; }
.dex-panel .dex-board-meta span { display: block; font-size: 10px; line-height: 1.5; color: var(--dex-muted); }
.dex-panel .dex-board-meta strong { display: block; font-size: 12px; line-height: 1.6; font-weight: 600; margin-top: 3px; overflow-wrap: anywhere; }
.dex-panel .dex-connector-stacked { display: none; }
.dex-panel .dex-board-understand .dex-board-body { background-image: radial-gradient(var(--dx-grid) 1px, transparent 1px); background-size: 14px 14px; }
.dex-panel .dex-connector { display: block; width: 100%; height: 42px; color: var(--dex-ink); overflow: visible; }
.dex-panel .dex-connector path,
.dex-panel .dex-connector line,
.dex-panel .dex-connector polyline { stroke: currentColor; }
.dex-panel .dex-equation {
  margin: 17px 0;
  padding: 14px 16px;
  border: 1px solid var(--dx-line);
  border-left: 3px solid var(--dx-coral);
  background: var(--dx-surface-alt);
}
.dex-panel .dex-equation p { margin: 0; font-family: var(--dx-mono); font-size: 13px; line-height: 1.85; overflow-wrap: anywhere; }
.dex-panel .dex-equation > strong { display: block; margin-top: 11px; font-size: 16px; font-weight: 600; line-height: 1.65; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.dex-panel .dex-equation small { display: block; margin-top: 7px; font-size: 11px; line-height: 1.7; color: var(--dex-muted); }
.dex-panel .dex-output { min-width: 0; margin-top: 17px; padding: 17px; border: 1px solid var(--dex-ink); background: var(--dx-sage); }
.dex-panel .dex-output > span { display: block; font-size: 11px; line-height: 1.6; color: var(--dex-muted); }
.dex-panel .dex-output > strong { display: block; margin-top: 5px; font-size: clamp(21px, 2.2vw, 29px); font-weight: 600; line-height: 1.25; letter-spacing: -.03em; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.dex-panel .dex-output > small { display: block; font-size: 11px; line-height: 1.7; margin-top: 7px; color: var(--dex-muted); }
.dex-panel .dex-board-control .dex-output > strong { font-size: 22px; }
.dex-panel .dex-board-explain .dex-output > strong { font-family: var(--dx-mono); font-size: 17px; font-weight: 400; line-height: 1.7; letter-spacing: 0; }

/* Accounting identities: selectable observations, not causal claims. */
.dex-panel .dex-graph-inputs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.dex-panel .dex-node {
  min-width: 0;
  padding: 14px 11px;
  border: 1px solid var(--dx-line);
  background: var(--dx-surface);
  color: var(--dex-ink);
  text-align: left;
  line-height: 1.5;
}
.dex-panel .dex-node > span { display: block; font-size: 11px; font-weight: 600; line-height: 1.55; }
.dex-panel .dex-node > strong { display: block; font-size: clamp(19px, 1.9vw, 26px); letter-spacing: -.04em; line-height: 1.25; margin-top: 11px; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.dex-panel .dex-node > small { display: block; font-size: 10px; color: var(--dex-muted); margin-top: 5px; line-height: 1.7; }
.dex-panel .dex-node > em { display: block; border-top: 1px dashed var(--dx-line); margin-top: 13px; padding-top: 9px; font-size: 10px; font-style: normal; color: var(--dex-muted); line-height: 1.6; }
.dex-panel .dex-node[aria-pressed='true'] { background: var(--dx-coral-fill); border-color: var(--dx-coral); box-shadow: inset 0 3px 0 var(--dx-coral); }

/* Discrete sensitivity cases use one shared, zero-based sales scale. */
.dex-panel .dex-cases { display: grid; gap: 9px; margin: 17px 0; }
.dex-panel .dex-board-futures .dex-cases { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dex-panel .dex-case-row {
  display: block;
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--dx-line);
  background: var(--dx-surface);
  text-align: left;
  color: var(--dex-ink);
  font-variant-numeric: tabular-nums;
}
.dex-panel .dex-case-row > div { display: flex; align-items: baseline; justify-content: space-between; gap: 13px; margin-bottom: 9px; }
.dex-panel .dex-case-row > div > span { font-size: 12px; line-height: 1.55; }
.dex-panel .dex-case-row > div > strong { font-size: 17px; line-height: 1.5; font-weight: 600; white-space: nowrap; }
.dex-panel .dex-board-futures .dex-case-row > div { display: block; }
.dex-panel .dex-board-futures .dex-case-row > div > span,
.dex-panel .dex-board-futures .dex-case-row > div > strong { display: block; }
.dex-panel .dex-board-futures .dex-case-row > div > strong { margin-top: 3px; }
.dex-panel .dex-case-track { display: block; width: 100%; height: 12px; background: var(--dx-surface-alt); border-left: 1px solid var(--dx-line); }
.dex-panel .dex-case-track > i { display: block; height: 100%; max-width: 100%; min-width: 1px; border: 1px solid var(--dex-ink); background: var(--dx-lilac); }
.dex-panel .dex-case-row > small { display: block; margin-top: 7px; color: var(--dex-muted); font-size: 11px; line-height: 1.65; }
.dex-panel .dex-case-row[aria-pressed='true'] { border-color: var(--dx-coral); background: var(--dx-coral-fill); box-shadow: inset 3px 0 0 var(--dx-coral); }
.dex-panel .dex-case-row[aria-pressed='true'] .dex-case-track > i { background: var(--dx-coral); }
.dex-panel .dex-calculation { margin-top: 18px; border-top: 1px solid var(--dx-line); }
.dex-panel .dex-calculation > div { display: grid; grid-template-columns: minmax(95px, .65fr) minmax(0, 1.35fr); gap: 15px; padding: 11px 0; border-bottom: 1px solid var(--dx-line); }
.dex-panel .dex-calculation span { font-size: 11px; line-height: 1.7; color: var(--dex-muted); }
.dex-panel .dex-calculation strong { font-family: var(--dx-mono); font-size: 12px; font-weight: 400; line-height: 1.75; overflow-wrap: anywhere; }

/* Alternatives retain their evidence requirements instead of invented scores. */
.dex-panel .dex-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-bottom: 19px; }
.dex-panel .dex-option { min-width: 0; min-height: 68px; padding: 12px 10px; border: 1px solid var(--dx-line); background: var(--dx-surface-alt); text-align: left; font-size: 12px; line-height: 1.6; }
.dex-panel .dex-option > span { display: block; font-family: var(--dx-mono); font-size: 10px; color: var(--dex-muted); line-height: 1.6; }
.dex-panel .dex-option > strong { display: block; margin-top: 6px; font-size: 12px; line-height: 1.6; font-weight: 600; }
.dex-panel .dex-option[aria-pressed='true'] { border-color: var(--dx-coral); background: var(--dx-coral-fill); box-shadow: inset 0 -3px 0 var(--dx-coral); }
.dex-panel .dex-matrix { padding: 0; margin: 0; border: 1px solid var(--dx-line); }
.dex-panel .dex-matrix > div { display: grid; grid-template-columns: minmax(110px, .75fr) minmax(0, 1.25fr); border-bottom: 1px solid var(--dx-line); }
.dex-panel .dex-matrix > div:last-child { border-bottom: 0; }
.dex-panel .dex-matrix dt { padding: 14px 13px; background: var(--dx-surface-alt); font-size: 12px; font-weight: 600; line-height: 1.65; }
.dex-panel .dex-matrix dd { margin: 0; padding: 14px; border-left: 1px solid var(--dx-line); font-size: 12px; line-height: 1.75; }
.dex-panel .dex-risk { margin-top: 18px; padding: 15px 16px; border: 1px solid var(--dx-line); border-left: 3px solid var(--dx-coral); background: var(--dx-butter); font-size: 12px; line-height: 1.75; }
.dex-panel .dex-risk > span { display: block; font-size: 10px; text-transform: uppercase; letter-spacing: .05em; margin-bottom: 5px; color: var(--dex-muted); }
.dex-panel .dex-risk > strong { display: block; font-size: 13px; line-height: 1.65; }
.dex-panel .dex-risk > p { margin: 8px 0 0; font-size: 12px; line-height: 1.75; }

/* Coverage and lineage make the denominator and missing evidence inspectable. */
.dex-panel .dex-coverage-grid { display: grid; gap: 15px; margin: 19px 0 17px; }
.dex-panel .dex-coverage-row { min-width: 0; }
.dex-panel .dex-coverage-row > strong { display: block; font-size: 12px; font-weight: 500; margin-bottom: 8px; line-height: 1.5; }
.dex-panel .dex-coverage-row > div { display: grid; grid-template-columns: repeat(28, minmax(0, 1fr)); gap: 3px; }
.dex-panel .dex-day { display: block; height: 25px; background: var(--dx-lilac); border: 1px solid var(--dx-line); }
.dex-panel .dex-day[data-period='recent'] { background: var(--dx-sage); }
.dex-panel .dex-day[data-highlight='true'] { background: var(--dx-coral); border-color: var(--dx-coral); }
.dex-panel .dex-window-key { display: flex; flex-wrap: wrap; align-items: center; gap: 13px 18px; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--dx-line); }
.dex-panel .dex-window-key > span { display: flex; align-items: center; gap: 7px; font-size: 11px; line-height: 1.7; color: var(--dex-muted); }
.dex-panel .dex-window-key > span::before { content: ''; width: 10px; height: 10px; flex-shrink: 0; background: var(--dx-lilac); border: 1px solid var(--dx-line); }
.dex-panel .dex-window-key > .dex-key-current::before { background: var(--dx-sage); }
.dex-panel .dex-window-key > .dex-key-selected::before { background: var(--dx-coral); }
.dex-panel .dex-equation-stack { display: grid; gap: 13px; }
.dex-panel .dex-equation-stack .dex-equation { margin: 0; }
.dex-panel .dex-evidence-columns { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; margin: 18px 0; }
.dex-panel .dex-evidence-column { min-width: 0; padding: 14px 12px; border: 1px solid var(--dx-line); background: var(--dx-sage); }
.dex-panel .dex-evidence-column:nth-child(2) { background: var(--dx-butter); }
.dex-panel .dex-evidence-column:nth-child(3) { background: var(--dx-lilac); }
.dex-panel .dex-evidence-column > span { display: block; font-size: 10px; line-height: 1.6; color: var(--dex-muted); margin-bottom: 10px; }
.dex-panel .dex-evidence-column > strong { display: block; font-size: 13px; font-weight: 600; line-height: 1.6; }
.dex-panel .dex-evidence-column > p { margin: 10px 0 0; font-size: 11px; line-height: 1.75; }

/* Boundaries describe the illustrative workflow without implying a connection. */
.dex-panel .dex-flow { display: grid; grid-template-columns: minmax(0, 1fr) 20px minmax(0, 1fr) 20px minmax(0, 1fr); gap: 6px; align-items: stretch; margin: 17px 0; }
.dex-panel .dex-flow .dex-node { padding: 13px 11px; background: var(--dx-lilac); }
.dex-panel .dex-flow .dex-node > strong { font-size: 15px; letter-spacing: -.025em; line-height: 1.5; }
.dex-panel .dex-flow-arrow { align-self: center; text-align: center; font-size: 20px; line-height: 1; color: var(--dex-muted); }
.dex-panel .dex-permission-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 17px 0; }
.dex-panel .dex-permission { padding: 16px; border: 1px solid var(--dx-line); background: var(--dx-sage); min-width: 0; }
.dex-panel .dex-permission[data-allowed='false'] { background: var(--dx-coral-fill); border-style: dashed; }
.dex-panel .dex-permission > span { display: block; font-size: 11px; line-height: 1.6; color: var(--dex-muted); }
.dex-panel .dex-permission > strong { display: block; font-size: 17px; line-height: 1.4; margin-top: 8px; }
.dex-panel .dex-permission > p { margin: 9px 0 0; font-size: 12px; line-height: 1.75; }
.dex-panel .dex-state-path,
.dex-panel .dex-review-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; margin: 20px 0; }
.dex-panel .dex-state { display: block; min-width: 0; padding: 15px 12px; border: 1px solid var(--dx-line); background: var(--dx-surface-alt); color: var(--dex-ink); text-align: left; }
.dex-panel .dex-state > span { display: block; font-family: var(--dx-mono); font-size: 10px; line-height: 1.6; color: var(--dex-muted); }
.dex-panel .dex-state > strong { display: block; margin-top: 11px; font-size: 13px; font-weight: 600; line-height: 1.55; }
.dex-panel .dex-state > small { display: block; margin-top: 8px; color: var(--dex-muted); font-size: 11px; line-height: 1.75; }
.dex-panel .dex-state[data-active='true'],
.dex-panel .dex-state[aria-pressed='true'] { border-color: var(--dx-coral); background: var(--dx-coral-fill); box-shadow: inset 0 3px 0 var(--dx-coral); }
.dex-panel .dex-state-banner { margin-top: 19px; padding: 13px 15px; background: var(--dx-sage); border: 1px solid var(--dx-line); font-size: 12px; line-height: 1.75; }
.dex-panel .dex-state-banner strong { font-weight: 600; }
.dex-panel .dex-threshold { display: block; margin: 17px 0; padding: 15px 16px; border: 1px solid var(--dx-line); background: var(--dx-butter); }
.dex-panel .dex-threshold > span { display: block; font-size: 10px; line-height: 1.6; color: var(--dex-muted); }
.dex-panel .dex-threshold > strong { display: block; margin-top: 7px; font-family: var(--dx-mono); font-size: 18px; font-weight: 400; line-height: 1.6; }
.dex-panel .dex-threshold > small { display: block; margin-top: 7px; color: var(--dex-muted); font-size: 11px; line-height: 1.7; }
.dex-panel .dex-owner { padding: 17px; border: 1px solid var(--dx-line); border-left: 3px solid var(--dx-lilac-ink); background: var(--dx-lilac); }
.dex-panel .dex-owner > span { display: block; font-size: 11px; line-height: 1.6; color: var(--dex-muted); }
.dex-panel .dex-owner > strong { display: block; font-size: 20px; line-height: 1.35; margin-top: 5px; }
.dex-panel .dex-owner > small { display: block; font-size: 11px; line-height: 1.75; color: var(--dex-muted); margin-top: 8px; }
.dex-panel .dex-boundary { margin-top: 20px; padding: 16px; border: 1px dashed var(--dex-ink); background: var(--dx-surface-alt); }
.dex-panel .dex-boundary > span { display: block; font-family: var(--dx-mono); font-size: 10px; line-height: 1.6; letter-spacing: .05em; color: var(--dex-muted); }
.dex-panel .dex-boundary > strong { display: block; margin-top: 7px; font-size: 16px; line-height: 1.5; }
.dex-panel .dex-boundary > p { margin: 9px 0 0; font-size: 12px; line-height: 1.75; }

@media (max-width: 1060px) {
  .dex-panel .dex-scene { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 24px; }
  .dex-panel .dex-tabs button { padding-inline: 9px; font-size: 11px; }
  .dex-panel .dex-board-body { padding: 17px; }
  .dex-panel .dex-board-head { padding: 16px 17px; }
  .dex-panel .dex-board-foot { padding: 13px 17px; }
  .dex-panel .dex-graph-inputs { gap: 7px; }
  .dex-panel .dex-node { padding: 12px 9px; }
  .dex-panel .dex-node > strong { font-size: 20px; }
  .dex-panel .dex-board-futures .dex-cases { grid-template-columns: 1fr; }
  .dex-panel .dex-evidence-columns { grid-template-columns: 1fr; gap: 10px; }
  .dex-panel .dex-evidence-column { padding: 13px 15px; }
  .dex-panel .dex-evidence-column > span { margin-bottom: 5px; }
  .dex-panel .dex-evidence-column > p { margin-top: 7px; }
  .dex-panel .dex-flow { grid-template-columns: 1fr; gap: 9px; }
  .dex-panel .dex-flow-arrow { transform: rotate(90deg); justify-self: center; }
  .dex-panel .dex-flow .dex-node { padding: 14px; }
  .dex-panel .dex-flow .dex-node > strong { margin-top: 6px; }
  .dex-panel .dex-options { grid-template-columns: 1fr; gap: 7px; }
  .dex-panel .dex-option { min-height: 43px; padding: 11px 13px; }
  .dex-panel .dex-state-path,
  .dex-panel .dex-review-options { grid-template-columns: 1fr; gap: 9px; }
  .dex-panel .dex-state { padding: 13px 15px; }
  .dex-panel .dex-state > strong { margin-top: 6px; }
  .dex-panel .dex-state > small { margin-top: 5px; }
}
@media (max-width: 800px) {
  .dex-panel .dex-scene { grid-template-columns: 1fr; gap: 30px; }
  .dex-panel .dex-art { grid-row: 1; }
  .dex-panel .dex-copy { grid-row: auto; padding-top: 0; }
  .dex-panel .dex-board { min-height: 0; }
  .dex-panel .dex-copy > h2 { max-width: 30ch; }
  .dex-panel .dex-evidence-columns { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .dex-panel .dex-options { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .dex-panel .dex-board-futures .dex-cases { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dex-panel .dex-flow { grid-template-columns: minmax(0, 1fr) 20px minmax(0, 1fr) 20px minmax(0, 1fr); gap: 6px; }
  .dex-panel .dex-flow-arrow { transform: none; }
  .dex-panel .dex-state-path,
  .dex-panel .dex-review-options { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .dex-panel [data-decision-story] { padding: 20px 15px; }
  .dex-panel .dex-heading { gap: 16px; margin-bottom: 20px; }
  .dex-panel .dex-heading h2 { font-size: 28px; line-height: 1.18; }
  .dex-panel .dex-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dex-panel .dex-tabs button { min-height: 66px; padding: 11px 12px; font-size: 12px; border-bottom: 1px solid var(--dx-line); }
  .dex-panel .dex-tabs button:nth-child(2n) { border-right: 0; }
  .dex-panel .dex-tabs button[aria-selected='true'] { box-shadow: inset 0 -3px 0 var(--dx-lilac-ink); }
  .dex-panel .dex-tabs button > span { margin-bottom: 3px; }
  .dex-panel .dex-scene { padding-top: 22px; padding-bottom: 25px; gap: 29px; }
  .dex-panel .dex-board-head { padding: 16px; }
  .dex-panel .dex-board-head h3 { font-size: 23px; line-height: 1.25; }
  .dex-panel .dex-board-head > span { font-size: 9px; }
  .dex-panel .dex-board-body { padding: 16px; }
  .dex-panel .dex-board-foot { padding: 13px 16px; font-size: 11px; }
  .dex-panel .dex-board-meta { grid-template-columns: 1fr; gap: 8px; margin-bottom: 17px; }
  .dex-panel .dex-board-meta > div { padding: 10px 12px; }
  .dex-panel .dex-graph-inputs { grid-template-columns: 1fr; gap: 10px; }
  .dex-panel .dex-node { padding: 14px; }
  .dex-panel .dex-node > strong { font-size: 25px; margin-top: 7px; }
  .dex-panel .dex-node > em { margin-top: 10px; padding-top: 8px; font-size: 11px; }
  .dex-panel .dex-node > span { font-size: 12px; }
  .dex-panel .dex-node > small { font-size: 11px; }
  .dex-panel .dex-connector { height: 30px; }
  .dex-panel .dex-connector-wide { display: none; }
  .dex-panel .dex-connector-stacked { display: block; }
  .dex-panel .dex-equation { padding: 13px 14px; }
  .dex-panel .dex-equation p { font-size: 12px; line-height: 1.85; }
  .dex-panel .dex-output { padding: 15px; }
  .dex-panel .dex-output > strong { font-size: 27px; }
  .dex-panel .dex-case-row { padding: 12px; }
  .dex-panel .dex-board-futures .dex-cases { grid-template-columns: 1fr; }
  .dex-panel .dex-case-row > div { display: block; margin-bottom: 9px; }
  .dex-panel .dex-case-row > div > span,
  .dex-panel .dex-case-row > div > strong { display: block; }
  .dex-panel .dex-case-row > div > strong { font-size: 19px; margin-top: 3px; white-space: normal; }
  .dex-panel .dex-calculation > div { grid-template-columns: 1fr; gap: 4px; padding: 11px 0; }
  .dex-panel .dex-options { grid-template-columns: 1fr; }
  .dex-panel .dex-option { min-height: 44px; padding: 12px; }
  .dex-panel .dex-matrix > div { grid-template-columns: 1fr; }
  .dex-panel .dex-matrix dt { padding: 11px 13px 5px; }
  .dex-panel .dex-matrix dd { padding: 10px 13px 14px; border-left: 0; }
  .dex-panel .dex-coverage-row > div { gap: 2px; }
  .dex-panel .dex-day { height: 22px; }
  .dex-panel .dex-evidence-columns { grid-template-columns: 1fr; }
  .dex-panel .dex-evidence-column { padding: 14px; }
  .dex-panel .dex-evidence-column > p { font-size: 12px; }
  .dex-panel .dex-flow { grid-template-columns: 1fr; gap: 8px; }
  .dex-panel .dex-flow-arrow { transform: rotate(90deg); }
  .dex-panel .dex-permission-grid { grid-template-columns: 1fr; gap: 10px; }
  .dex-panel .dex-state-path,
  .dex-panel .dex-review-options { grid-template-columns: 1fr; gap: 10px; }
  .dex-panel .dex-state > strong { font-size: 14px; }
  .dex-panel .dex-state > small { font-size: 12px; }
  .dex-panel .dex-copy > h2 { font-size: 28px; }
  .dex-panel .dex-copy > p { font-size: 14px; }
  .dex-panel .dex-choices button { flex-grow: 1; min-height: 44px; text-align: left; padding: 11px 12px; }
  .dex-panel .dex-footer { align-items: flex-start; gap: 12px; }
  .dex-panel .dex-footer > span { padding-top: 12px; font-size: 10px; line-height: 1.5; }
  .dex-panel .dex-footer > div { gap: 6px; }
  .dex-panel .dex-footer button { min-height: 43px; padding: 10px; font-size: 11px; }
}
@media (max-width: 380px) {
  .dex-panel [data-decision-story] { padding: 17px 11px; }
  .dex-panel .dex-heading h2 { font-size: 25px; }
  .dex-panel .dex-heading > button { width: 42px; height: 42px; }
  .dex-panel .dex-tabs button { padding-inline: 10px; font-size: 11px; }
  .dex-panel .dex-board-head,
  .dex-panel .dex-board-body,
  .dex-panel .dex-board-foot { padding-inline: 13px; }
  .dex-panel .dex-board-head h3 { font-size: 21px; }
  .dex-panel .dex-copy > h2 { font-size: 26px; }
  .dex-panel .dex-choices { gap: 7px; }
  .dex-panel .dex-footer { display: block; }
  .dex-panel .dex-footer > span { display: block; padding-top: 0; margin-bottom: 12px; }
  .dex-panel .dex-footer > div { justify-content: space-between; }
}
@media (prefers-reduced-motion: reduce) {
  .dex-panel *,
  .dex-panel *::before,
  .dex-panel *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
