/* Decision-grade visualization surfaces: plots explain values, provenance and next action. */
.decision-viz-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  margin-top: 18px;
}
.decision-viz-shell-wide { grid-template-columns: minmax(0, 1fr); }
.crystal-card,
.ternary-card,
.tech-network-card {
  background: var(--panel) !important;
}
.crystal-card::before,
.ternary-card::before,
.tech-network-card::before { display: none !important; }
.decision-viz-report-head {
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr) auto;
  align-items: start;
  gap: 16px;
  padding-bottom: 15px;
  border-bottom: 1px solid var(--line2);
}
.decision-viz-report-head h4 { margin: 0; font-size: 17px; line-height: 1.4; }
.decision-viz-report-head h4 .ic-slot { display: none; }
.decision-viz-report-head h4 .sub { display: block; margin-top: 3px; color: var(--txt3); font-size: 13px; font-weight: 500; }
.decision-viz-figure {
  padding-top: 7px;
  border-top: 2px solid var(--acc);
  color: var(--txt2);
  font: 750 12px/1.2 var(--mono);
  letter-spacing: .06em;
}
.decision-viz-report-class { padding-top: 7px; color: var(--txt3); font-size: 12.5px; font-weight: 650; white-space: nowrap; }
.decision-viz-report-summary {
  display: grid;
  grid-template-columns: 1.25fr 1fr 1.2fr;
  padding: 16px 0;
  border-bottom: 1px solid var(--line);
}
.decision-viz-report-summary > div { min-width: 0; padding: 0 18px; border-inline-start: 1px solid var(--line); }
.decision-viz-report-summary > div:first-child { padding-inline-start: 0; border-inline-start: 0; }
.decision-viz-report-summary > div:last-child { padding-inline-end: 0; }
.decision-viz-report-summary small { display: block; margin-bottom: 5px; color: var(--txt3); font-size: 12px; font-weight: 700; }
.decision-viz-report-summary strong { display: block; color: var(--txt); font-size: 13.5px; font-weight: 650; line-height: 1.55; }
.crystal-card .viz-toolbar,
.tech-network-card .viz-toolbar { display: none !important; }
#crystal-particle,
#tech-network {
  display: block;
  min-height: 0;
  padding: 0;
  overflow: hidden;
  border-radius: 0;
  perspective: none;
}
#ternary-map { overflow-x: auto; }
.decision-viz-toolbar {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-top: 12px;
  color: var(--txt3);
  font-size: 12.5px;
}
.decision-viz-toolbar > span { margin-inline-end: 7px; font-weight: 700; }
.decision-viz-toolbar button {
  min-height: 32px;
  padding: 5px 11px;
  border: 0;
  border-bottom: 2px solid transparent;
  background: transparent;
  color: var(--txt2);
  font: 700 12.5px/1.2 var(--sans);
}
.decision-viz-toolbar button:hover { color: var(--txt); }
.decision-viz-toolbar button.active { border-color: var(--acc); color: var(--acc); }
.decision-viz-toolbar-separator { width: 1px; height: 20px; margin: 0 8px; background: var(--line2); }
.decision-viz-stagebar {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
  padding: 0 2px;
  color: var(--txt3);
}
.decision-viz-stagebar span { display: inline-flex; align-items: center; gap: 6px; min-width: 0; }
.decision-viz-stagebar b {
  display: grid;
  place-items: center;
  width: 23px;
  height: 23px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--acc) 14%, transparent);
  color: var(--acc);
  font: 750 10.5px/1 var(--sans);
}
.decision-viz-stagebar em { color: var(--txt2); font: 700 12.5px/1.25 var(--sans); font-style: normal; }
.decision-viz-stagebar i { flex: 0 0 auto; color: var(--line2); font-style: normal; }
.decision-viz-stagebar .review b { background: color-mix(in srgb, var(--warn) 14%, transparent); color: var(--warn); }
.decision-viz-canvas {
  min-width: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: hidden;
}
.decision-viz-canvas > :first-child { min-width: 0; overflow-x: auto; }
.decision-viz-canvas .legend {
  min-height: 42px;
  margin: 0;
  padding: 12px 4px 0;
  border-top: 1px solid var(--line);
  background: transparent;
  font-size: 12px;
}
.decision-viz-comparison { margin-top: 12px; border-top: 1px solid var(--line); }
.decision-viz-comparison-head,
.decision-viz-comparison button {
  display: grid;
  grid-template-columns: minmax(92px, 1fr) minmax(135px, 1.2fr) minmax(78px, .7fr) minmax(78px, .7fr) minmax(72px, .62fr);
  align-items: center;
  gap: 12px;
}
.decision-viz-comparison-head {
  min-height: 36px;
  padding: 8px 10px;
  color: var(--txt3);
  font-size: 11.5px;
  font-weight: 700;
}
.decision-viz-comparison button {
  width: 100%;
  min-height: 45px;
  padding: 8px 10px;
  border: 0;
  border-top: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
  color: var(--txt2);
  text-align: start;
  font: 650 12.5px/1.35 var(--sans);
}
.decision-viz-comparison button:hover,
.decision-viz-comparison button.active { background: color-mix(in srgb, var(--acc) 7%, transparent); color: var(--txt); }
.decision-viz-comparison button b { color: var(--txt); font-size: 13px; }
.decision-viz-comparison button span:nth-last-child(-n+3) { text-align: end; font-family: var(--mono); }
.decision-viz-comparison button.active { box-shadow: inset 3px 0 0 var(--acc); }
.decision-viz-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 42px;
  margin-bottom: 4px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--line);
  color: var(--txt3);
  font-size: 12px;
}
.decision-viz-nav > div { display: flex; gap: 5px; }
.decision-viz-nav button {
  min-width: 36px;
  min-height: 34px;
  padding: 5px 9px;
  border: 1px solid var(--line2);
  border-radius: 7px;
  background: transparent;
  color: var(--txt2);
  font: 700 12px/1 var(--sans);
}
.decision-viz-nav button:hover { border-color: var(--acc); color: var(--acc); }
.decision-viz-selection {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 56px;
  margin: 8px 0 4px;
  padding: 10px 0;
  border-bottom: 1px solid var(--line);
}
.decision-viz-selection > div { display: flex; align-items: baseline; flex-wrap: wrap; gap: 5px 12px; min-width: 0; }
.decision-viz-selection small { color: var(--acc); font-size: 11.5px; font-weight: 750; }
.decision-viz-selection b { color: var(--txt); font-size: 15px; }
.decision-viz-selection span { color: var(--txt3); font-size: 12.5px; }
.decision-viz-selection .btn { flex: 0 0 auto; min-height: 36px; }
.decision-viz-linked-target { animation: decision-viz-linked-pulse 1.4s ease-out; }
@keyframes decision-viz-linked-pulse {
  0%, 35% { outline: 3px solid color-mix(in srgb, var(--acc) 68%, transparent); outline-offset: 5px; }
  100% { outline: 0 solid transparent; outline-offset: 12px; }
}
.decision-viz-inspector {
  min-width: 0;
  padding: 18px 0 4px;
  border: 0;
  border-top: 1px solid var(--line2);
  border-radius: 0;
  background: transparent;
  color: var(--txt2);
}
.decision-viz-inspector-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 12px; }
.decision-viz-inspector-head small { color: var(--txt3); font-size: 12px; line-height: 1.45; text-align: end; }
.decision-viz-status {
  display: inline-flex;
  align-items: center;
  min-height: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  color: var(--acc);
  font: 750 12px/1.2 var(--sans);
  letter-spacing: .01em;
}
.decision-viz-status::before { content: ""; width: 7px; height: 7px; margin-inline-end: 7px; border-radius: 50%; background: currentColor; }
.decision-viz-status[data-state="warning"] { color: var(--warn); }
.decision-viz-status[data-state="unavailable"] { color: var(--txt3); }
.decision-viz-inspector h5 { margin: 0 0 15px; color: var(--txt); font-size: 19px; line-height: 1.3; }
.decision-viz-inspector > p { margin: 11px 0; font-size: 13.5px; line-height: 1.62; }
.decision-viz-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; margin: 0 0 14px; border-top: 1px solid var(--line); }
.decision-viz-metric { min-width: 0; padding: 11px 0; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; }
.decision-viz-metric small { display: block; margin-bottom: 4px; color: var(--txt3); font-size: 12px; line-height: 1.35; }
.decision-viz-metric strong { display: block; overflow-wrap: anywhere; color: var(--txt); font: 750 14px/1.4 var(--mono); }
.decision-viz-section { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--line); }
.decision-viz-section > b { display: block; margin-bottom: 8px; color: var(--txt); font-size: 13px; }
.decision-viz-evidence { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.decision-viz-evidence li { color: var(--txt2); font-size: 13px; line-height: 1.55; }
.decision-viz-evidence li::before { content: "↳"; margin-inline-end: 6px; color: var(--acc); }
.decision-viz-actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 12px; }
.decision-viz-actions .btn { min-height: 38px; }
.decision-viz-scope { color: var(--txt3) !important; font-size: 12.5px !important; }
.decision-viz-compare { display: grid; gap: 5px; }
.decision-viz-compare button {
  display: grid;
  grid-template-columns: minmax(58px, .7fr) minmax(105px, 1.25fr) minmax(64px, .75fr);
  align-items: center;
  gap: 7px;
  width: 100%;
  min-height: 42px;
  padding: 7px 8px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: var(--txt2);
  text-align: start;
  font-size: 12px;
}
.decision-viz-compare button:hover,
.decision-viz-compare button.active { border-color: var(--line2); background: var(--panel); color: var(--txt); }
.decision-viz-compare button b { color: var(--txt); font-size: 12.5px; }
.decision-viz-compare button span:last-child { text-align: end; font-family: var(--mono); }
.ternary-svg,
.tech-network-svg,
.crystal-particle-svg { min-width: 560px; }
.tech-network-svg,
.material-response-svg {
  width: 100%;
  min-width: 0;
  max-width: 100%;
}
.tech-network-svg { cursor: grab; touch-action: none; user-select: none; }
.tech-network-svg.is-panning { cursor: grabbing; }
.tech-network-svg .tech-node { cursor: pointer; }
.ternary-zone { fill: var(--acc); fill-opacity: .045; stroke: var(--acc); stroke-opacity: .24; stroke-dasharray: 5 6; }
.ternary-guide-label,
.viz-scale-label { fill: currentColor; opacity: .7; font-size: 11.5px; }
.viz-plot-kicker { fill: currentColor; opacity: .72; font: 750 12.5px/1 var(--sans); letter-spacing: .2px; }
.ternary-evidence-ridge { pointer-events: none; }
.ternary-evidence-halo { display: none; }
.ternary-point:hover > circle:not(.ternary-evidence-halo),
.ternary-point:focus > circle:not(.ternary-evidence-halo),
.ternary-point.active > circle:not(.ternary-evidence-halo) { stroke: var(--acc); stroke-opacity: .85; stroke-width: 2.5px; }
.ternary-rank { display: none; }
.ternary-count { fill: currentColor; opacity: .7; font: 650 12px/1 var(--mono); pointer-events: none; }
.ternary-point .ternary-label-line { stroke: currentColor; stroke-opacity: .35; }
.ternary-point text { pointer-events: none; }
.tech-network-svg .tech-lane line { stroke: currentColor; stroke-opacity: .14; stroke-width: 1; }
.tech-network-svg .tech-lane-label { fill: currentColor; opacity: .74; font-size: 12px; font-weight: 750; letter-spacing: .25px; }
.tech-network-svg .tech-node .tech-node-frame { fill: color-mix(in srgb, var(--panel2) 38%, var(--panel)); stroke: currentColor; stroke-opacity: .2; stroke-width: 1; transition: stroke-width .16s, filter .16s, opacity .16s, fill .16s; }
.tech-network-svg .tech-node .tech-node-accent { stroke-width: 4; }
.tech-network-svg .tech-kind-label { fill: currentColor; opacity: .7; font: 700 11.5px/1 var(--sans); letter-spacing: .1px; }
.tech-network-svg .tech-node-link { fill: var(--acc); opacity: .8; font: 800 14px/1 var(--sans); }
.tech-network-svg .tech-check text { fill: currentColor; opacity: .76; font: 650 12px/1 var(--sans); }
.tech-network-svg .tech-node:hover .tech-node-frame,
.tech-network-svg .tech-node:focus .tech-node-frame,
.tech-network-svg .tech-node.active .tech-node-frame { stroke: var(--acc); stroke-opacity: 1; stroke-width: 2.5; fill: color-mix(in srgb, var(--acc) 13%, var(--panel)); filter: brightness(1.12) drop-shadow(0 0 8px color-mix(in srgb, var(--acc) 30%, transparent)); }
.tech-network-svg .tech-node.path-active:not(.active) .tech-node-frame { stroke-opacity: .5; stroke-width: 1.6; }
.tech-network-svg:has(.tech-node.active) .tech-node:not(.active):not(.path-active) { opacity: .23; }
.tech-network-svg .tech-edge { transition: opacity .18s, stroke-width .18s; }
.tech-network-svg:has(.tech-node.active) .tech-edge { opacity: .1; }
.tech-network-svg .tech-edge.active { opacity: 1; stroke-opacity: 1; stroke-width: 3.2; filter: drop-shadow(0 0 3px rgba(92, 219, 197,.42)); }
.tech-edge-label { display: none; }
.tech-network-svg:has(.tech-node.active) .tech-edge-label { opacity: .12; }
.tech-network-svg .tech-edge-label.active { opacity: .82; }
.viz-axis-value { fill: currentColor; opacity: .68; font-size: 11.5px; }
.viz-summary-label { fill: currentColor; opacity: .72; font-size: 12.5px; }
.crystal-particle-svg .particle-sector-label {
  fill: #07111e;
  font: 800 11.5px/1 var(--sans);
  paint-order: stroke;
  stroke: rgba(255,255,255,.48);
  stroke-width: 2px;
}
.crystal-particle-svg .particle-shell { fill: var(--acc); fill-opacity: .16; stroke: currentColor; stroke-opacity: .45; stroke-width: 2; }
.crystal-particle-svg .particle-composition-segment { stroke: var(--panel); stroke-width: 1; }
.crystal-particle-svg .particle-callout { fill: none; stroke: #34e2c4; stroke-width: 1.5; stroke-dasharray: 4 4; }
.crystal-particle-svg .particle-callout-label { fill: #34e2c4; font: 700 12px/1 var(--sans); }
.crystal-particle-svg .particle-grains path,
.crystal-particle-svg .particle-single path { fill: none; stroke: currentColor; stroke-opacity: .3; stroke-width: 1.5; }
.crystal-particle-svg .particle-gradient circle { fill: none; stroke: currentColor; stroke-opacity: .3; stroke-width: 1.5; }
.crystal-particle-svg .particle-grains text,
.crystal-particle-svg .particle-single text,
.crystal-particle-svg .particle-gradient text { fill: currentColor; opacity: .68; font-size: 11.5px; }
.crystal-particle-svg .particle-core-label { fill: currentColor; font: 800 11px/1 var(--sans); letter-spacing: .2px; }
.crystal-particle-svg .particle-core-formula { display: none; }
.crystal-particle-svg .particle-bar-label { fill: currentColor; font: 750 12px/1 var(--sans); }
.crystal-particle-svg .particle-bar-track { fill: currentColor; fill-opacity: .09; }
.crystal-particle-svg .particle-bar-value { fill: currentColor; opacity: .8; font: 750 11.5px/1 var(--mono); }
.crystal-particle-svg .particle-watch text { fill: currentColor; opacity: .78; font: 650 12px/1 var(--sans); }
.crystal-card .visual-export,
.tech-network-card .visual-export { margin: 0 0 8px; }
.crystal-card .visual-export button,
.tech-network-card .visual-export button { min-width: 48px; min-height: 36px; padding: 6px 9px; font-size: 11.5px; }
.crystal-particle-svg .crystal-atom,
.crystal-particle-svg .crystal-surface { cursor: pointer; }
.crystal-particle-svg .crystal-atom:hover,
.crystal-particle-svg .crystal-atom:focus,
.crystal-particle-svg .crystal-atom.active,
.crystal-particle-svg .crystal-surface:hover,
.crystal-particle-svg .crystal-surface:focus,
.crystal-particle-svg .crystal-surface.active { filter: brightness(1.14) drop-shadow(0 0 5px rgba(52,226,196,.24)); outline: none; }

/* Functional material charts: calculated response + discrete evidence distribution. */
.material-response-svg,
.evidence-profile-svg {
  display: block;
  width: 100%;
  min-width: 660px;
  height: auto;
  max-height: 490px;
}
.response-grid,
.evidence-grid { stroke: currentColor; stroke-opacity: .11; stroke-width: 1; }
.response-axis,
.evidence-axis { stroke: currentColor; stroke-opacity: .48; stroke-width: 1.5; }
.response-axis-label,
.evidence-axis-label,
.evidence-composition-label { fill: currentColor; opacity: .72; font: 650 12px/1 var(--sans); }
.response-axis-title,
.evidence-axis-title { fill: currentColor; opacity: .86; font: 750 12.5px/1 var(--sans); }
.response-axis-title.capacity { fill: #34e2c4; }
.response-axis-title.stability { fill: #f5a524; }
.response-stability-zone { fill: #4ade80; fill-opacity: .045; }
.response-threshold-label { fill: #f5a524; font: 700 11.5px/1 var(--sans); }
.material-response-line { fill: none; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.material-response-line.capacity { stroke: #34e2c4; }
.material-response-line.stability { stroke: #f5a524; }
.response-hit,
.evidence-hit { fill: transparent; }
.material-response-point,
.evidence-profile-group { cursor: pointer; outline: none; }
.response-drag-surface { fill: transparent; cursor: ew-resize; touch-action: none; outline: none; }
.response-drag-surface:focus-visible { stroke: var(--acc); stroke-width: 2; stroke-dasharray: 5 5; }
.response-capacity-point { fill: #34e2c4; stroke: var(--panel); stroke-width: 2; }
.response-stability-point { fill: #f5a524; stroke: var(--panel); stroke-width: 2; }
.response-preview-line { stroke: #fff; stroke-opacity: .78; stroke-width: 1.8; stroke-dasharray: 3 4; pointer-events: none; }
.response-preview-point { stroke: #fff; stroke-width: 3; pointer-events: none; filter: drop-shadow(0 0 5px rgba(255,255,255,.28)); }
.response-preview-point.capacity { fill: #34e2c4; }
.response-preview-point.stability { fill: #f5a524; }
.response-preview-label { fill: currentColor; font: 800 12px/1 var(--mono); pointer-events: none; paint-order: stroke; stroke: var(--panel); stroke-width: 4px; }
.response-current-line { stroke: currentColor; stroke-opacity: .46; stroke-width: 1.5; stroke-dasharray: 4 5; pointer-events: none; }
.response-current-label { fill: currentColor; font: 750 11.5px/1 var(--sans); pointer-events: none; }
.material-response-point:hover .response-capacity-point,
.material-response-point:focus .response-capacity-point,
.material-response-point.active .response-capacity-point,
.material-response-point:hover .response-stability-point,
.material-response-point:focus .response-stability-point,
.material-response-point.active .response-stability-point { stroke: #fff; stroke-width: 3.5; filter: drop-shadow(0 0 4px rgba(52,226,196,.35)); }
.evidence-current-anchor { fill: var(--acc); fill-opacity: .06; stroke: var(--acc); stroke-opacity: .4; stroke-width: 1.5; stroke-dasharray: 4 4; pointer-events: none; }
.evidence-bar { stroke: var(--panel); stroke-width: 1; pointer-events: none; transition: filter .16s, opacity .16s; }
.evidence-bar.patent { fill: #5b8cff; }
.evidence-bar.paper { fill: #a78bfa; }
.evidence-value { fill: currentColor; font: 750 12.5px/1 var(--mono); pointer-events: none; }
.evidence-anchor-label { fill: currentColor; font: 750 13px/1 var(--sans); pointer-events: none; }
.evidence-profile-group:hover .evidence-bar,
.evidence-profile-group:focus .evidence-bar,
.evidence-profile-group.active .evidence-bar { filter: brightness(1.18) drop-shadow(0 0 4px rgba(91,140,255,.28)); }
.evidence-profile-svg:has(.evidence-profile-group.active) .evidence-profile-group:not(.active) { opacity: .56; }
.legend .legend-current { width: 10px; height: 10px; border: 2px solid currentColor; border-radius: 50%; background: transparent; }
.response-precision-control {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin: 2px 0 10px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: color-mix(in srgb, var(--panel2) 36%, transparent);
}
.response-precision-copy { min-width: 0; }
.response-precision-copy small,
.response-precision-copy strong { display: block; }
.response-precision-copy small { color: var(--txt3); font-size: 12px; line-height: 1.45; }
.response-precision-copy strong { margin-bottom: 2px; color: var(--txt); font-size: 14px; }
.response-precision-actions { display: flex; align-items: center; gap: 6px; flex: 0 0 auto; }
.response-precision-actions button {
  min-width: 42px;
  min-height: 36px;
  padding: 5px 8px;
  border: 1px solid var(--line2);
  border-radius: 7px;
  background: var(--panel);
  color: var(--txt2);
  font-weight: 800;
}
.response-precision-actions button:hover { border-color: var(--acc); color: var(--acc); }
.response-precision-value { min-width: 102px; color: var(--txt); font: 800 13px/1 var(--mono); text-align: center; }
.response-index-guide {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin-top: 4px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.response-index-guide article { min-width: 0; padding: 13px 15px; border-inline-start: 1px solid var(--line); }
.response-index-guide article:first-child { padding-inline-start: 4px; border-inline-start: 0; }
.response-index-guide b { display: block; margin-bottom: 5px; color: var(--txt); font-size: 13px; }
.response-index-guide p { margin: 0; color: var(--txt3); font-size: 12.5px; line-height: 1.55; }

@media (max-width: 1240px) {
  .decision-viz-shell,
  .decision-viz-shell-wide { grid-template-columns: 1fr; }
  .decision-viz-inspector { min-height: auto; padding: 18px 0 0; border-inline-start: 0; border-top: 1px solid var(--line2); }
}
@media (max-width: 980px) {
  .decision-viz-report-summary { grid-template-columns: 1fr 1fr; }
  .decision-viz-report-summary > div:last-child { grid-column: 1 / -1; margin-top: 12px; padding: 12px 0 0; border-inline-start: 0; border-top: 1px solid var(--line); }
}
@media (max-width: 760px) {
  .decision-viz-report-head { grid-template-columns: 58px minmax(0, 1fr); gap: 12px; }
  .decision-viz-report-class { grid-column: 2; padding-top: 0; white-space: normal; }
  .decision-viz-report-summary { grid-template-columns: 1fr; gap: 0; padding: 8px 0; }
  .decision-viz-report-summary > div,
  .decision-viz-report-summary > div:first-child,
  .decision-viz-report-summary > div:last-child { padding: 10px 0; border-inline-start: 0; border-top: 1px solid var(--line); }
  .decision-viz-report-summary > div:first-child { border-top: 0; }
  .decision-viz-shell { gap: 10px; margin-top: 10px; }
  .decision-viz-inspector { padding: 16px 0 0; border-inline-start: 0; border-top: 1px solid var(--line2); }
  .decision-viz-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .decision-viz-compare button { min-height: 44px; }
  .decision-viz-toolbar { overflow-x: auto; }
  .decision-viz-toolbar button { min-height: 44px; white-space: nowrap; }
  .decision-viz-stagebar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
  .decision-viz-stagebar i { display: none; }
  .decision-viz-stagebar span { min-height: 36px; }
  #view-materials .decision-viz-actions .btn { min-height: 44px; }
  .decision-viz-comparison { overflow-x: auto; }
  .decision-viz-comparison-head,
  .decision-viz-comparison button { min-width: 620px; }
  .decision-viz-nav { align-items: flex-start; }
  .decision-viz-nav > span { max-width: 190px; line-height: 1.4; }
  .decision-viz-selection { align-items: flex-start; }
  .decision-viz-selection > div { display: grid; gap: 3px; }
  .response-precision-control { align-items: flex-start; flex-direction: column; }
  .response-precision-actions { width: 100%; }
  .response-precision-actions button { min-height: 44px; }
  .response-precision-value { flex: 1; }
  .response-index-guide { grid-template-columns: 1fr; }
  .response-index-guide article,
  .response-index-guide article:first-child { padding: 12px 4px; border-inline-start: 0; border-top: 1px solid var(--line); }
  .response-index-guide article:first-child { border-top: 0; }
  .ternary-svg,
  .crystal-particle-svg,
  .evidence-profile-svg { min-width: 660px; }
  .tech-network-svg,
  .material-response-svg { min-width: 0; }
}

:root[data-theme="light"] .decision-viz-canvas,
:root[data-theme="light"] .decision-viz-inspector { box-shadow: 0 1px 2px rgba(23, 34, 60, .05); }
