/* Analytical Strip v1 convergence: Season Lab instrumentation.
   Presentation only. Governed evidence remains owned by the existing adapters. */

.player-analytical-strip .analytical-strip-summary {
  grid-template-columns: minmax(350px, 1.12fr) minmax(205px, .7fr) minmax(370px, 1.28fr) 38px;
  gap: 12px;
  min-height: 148px;
  padding: 11px 13px;
}

.analytical-player-pair {
  min-width: 0;
}

.player-analytical-strip.is-comparative .analytical-player-pair {
  display: grid;
  grid-template-columns: minmax(226px, 1fr) 108px;
  gap: 8px;
  align-items: center;
}

.player-analytical-strip .analytical-identity {
  position: relative;
  display: block;
  height: 124px;
  min-width: 0;
  overflow: hidden;
  border: 2px solid color-mix(in srgb, var(--sl-environment) 76%, var(--sl-border));
  border-radius: 14px;
  background:
    radial-gradient(circle at 74% 22%, color-mix(in srgb, var(--sl-attention) 34%, transparent), transparent 42%),
    linear-gradient(145deg, color-mix(in srgb, var(--sl-environment) 90%, #fff), color-mix(in srgb, var(--sl-environment) 66%, #000));
  box-shadow: inset 0 -3px 0 color-mix(in srgb, var(--sl-attention) 76%, transparent);
}

.player-analytical-strip .analytical-portrait {
  position: absolute !important;
  inset: 0 0 0 auto;
  width: 68%;
  height: 100%;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}

.player-analytical-strip .analytical-portrait img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center bottom;
  transform: scale(.84);
  transform-origin: 60% bottom;
}

.player-analytical-strip .analytical-identity-copy {
  position: absolute;
  z-index: 2;
  inset: 0 auto 0 0;
  width: 69%;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 13px 10px 11px;
  color: #fff;
  background: linear-gradient(90deg, rgba(5, 10, 18, .91) 0 48%, rgba(5, 10, 18, .62) 72%, transparent 100%);
  pointer-events: none;
}

.player-analytical-strip .analytical-identity .analytical-kicker,
.player-analytical-strip .analytical-identity .analytical-meta {
  color: rgba(255, 255, 255, .84);
}

.player-analytical-strip .analytical-name {
  margin: 1px 0 0;
  color: #fff;
  font-size: clamp(1.04rem, .62vw + .72rem, 1.28rem);
  line-height: 1.02;
  overflow-wrap: anywhere;
}

.player-analytical-strip .analytical-name::after {
  content: "";
  display:block;
  width:min(150px, 78%);
  height:2px;
  margin-top:6px;
  background:linear-gradient(90deg,var(--sl-attention),color-mix(in srgb,var(--sl-attention) 42%,transparent) 54%,transparent 100%);
}

.player-analytical-strip .analytical-meta {
  margin-top: 4px;
  font-size: .74rem;
  line-height: 1.2;
}

.player-analytical-strip .analytical-badges {
  margin-top: 4px;
}

.player-analytical-strip .analytical-badge {
  min-height: 18px;
  padding: 1px 5px;
  color: #fff;
  background: rgba(8, 13, 22, .58);
  border-color: rgba(255, 255, 255, .34);
  font-size: .58rem;
}

.player-analytical-strip .context-lightbulb {
  position: absolute;
  left: 7px;
  right: auto;
  top: 7px;
  bottom: auto;
  z-index: 4;
  font-size: 1.18rem;
  line-height: 1;
  filter: drop-shadow(0 2px 3px rgba(0, 0, 0, .42));
}

.analytical-counterpart {
  position: relative;
  min-width: 0;
  height: 104px;
  overflow: visible;
  border: 1px solid color-mix(in srgb, var(--sl-counterpart) 66%, var(--sl-border));
  border-radius: 12px;
  background:
    linear-gradient(to bottom, transparent 40%, rgba(7, 11, 18, .88)),
    linear-gradient(145deg, color-mix(in srgb, var(--sl-counterpart) 88%, #fff), color-mix(in srgb, var(--sl-counterpart) 62%, #000));
  box-shadow: inset 0 -3px 0 color-mix(in srgb, var(--sl-counterpart-accent) 76%, transparent);
}

.analytical-counterpart::before {
  content: "vs";
  position: absolute;
  z-index: 4;
  left: -4px;
  top: 50%;
  transform: translate(-50%, -50%);
  display: grid;
  place-items: center;
  width: 25px;
  height: 25px;
  border: 1px solid var(--sl-border);
  border-radius: 50%;
  background: var(--sl-surface-raised);
  color: var(--sl-text-muted);
  font-size: .6rem;
  font-weight: 900;
  text-transform: uppercase;
}

.analytical-counterpart-portrait {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: #fff;
  font-weight: 850;
}

.analytical-counterpart-portrait img {
  width: 100%;
  height: 78%;
  object-fit: contain;
  object-position: center bottom;
  transform: scale(.86);
  transform-origin: center bottom;
}

.analytical-counterpart-copy {
  position: absolute;
  z-index: 2;
  inset: auto 6px 6px;
  color: #fff;
  text-align: center;
  line-height: 1.02;
}

.analytical-counterpart-copy span,
.analytical-counterpart-copy strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.analytical-counterpart-copy span {
  color: rgba(255,255,255,.76);
  font-size: .56rem;
}

.analytical-counterpart-copy strong {
  margin-top: 2px;
  font-size: .7rem;
}

.analytical-counterpart-shell {
  position: relative;
  min-width: 0;
  z-index: 20;
}

.analytical-counterpart-trigger {
  width: 100%;
  padding: 0;
  color: inherit;
  font: inherit;
  text-align: inherit;
  cursor: pointer;
  appearance: none;
}

.analytical-counterpart-trigger:focus-visible {
  outline: 3px solid var(--sl-focus);
  outline-offset: 3px;
}

.comparator-trigger-cue {
  position: absolute;
  z-index: 5;
  top: 6px;
  right: 6px;
  padding: 2px 5px;
  border: 1px solid rgba(255,255,255,.42);
  border-radius: 999px;
  background: rgba(8,13,22,.62);
  color: #fff;
  font-size: .5rem;
  font-weight: 850;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.analytical-strip.has-comparator-open {
  overflow: visible;
  z-index: 30;
}

.comparator-rail {
  position: absolute;
  z-index: 60;
  left: calc(100% + 10px);
  top: 50%;
  width: 230px;
  padding: 9px;
  transform: translateY(-50%);
  border: 1px solid var(--sl-border-strong);
  border-radius: 14px;
  background: color-mix(in srgb, var(--sl-surface-raised) 96%, var(--sl-environment) 4%);
  box-shadow: 0 18px 44px rgba(10,18,30,.28);
}

.comparator-rail-kicker,
.comparator-rail-help {
  color: var(--sl-text-muted);
  font-size: .6rem;
  font-weight: 800;
  letter-spacing: .055em;
  text-transform: uppercase;
}

.comparator-rail-kicker { padding: 1px 4px 7px; }
.comparator-rail-help { padding: 7px 4px 1px; text-align: center; }

.comparator-rail-list {
  max-height: min(336px, 56vh);
  overflow-y: auto;
  overscroll-behavior: contain;
  display: grid;
  gap: 6px;
  padding: 3px;
  scroll-behavior: smooth;
  scrollbar-width: thin;
}

.comparator-rail-option {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 62px;
  padding: 5px 7px;
  border: 1px solid var(--sl-border);
  border-radius: 10px;
  background: var(--sl-surface);
  color: var(--sl-text);
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.comparator-rail-option:hover,
.comparator-rail-option:focus-visible {
  border-color: var(--sl-focus);
  outline: none;
}

.comparator-rail-option.is-current {
  border-color: color-mix(in srgb, var(--sl-counterpart-accent) 78%, var(--sl-border));
  background: color-mix(in srgb, var(--sl-counterpart) 10%, var(--sl-surface));
  box-shadow: inset 3px 0 0 var(--sl-counterpart-accent);
}

.comparator-rail-portrait {
  width: 46px;
  height: 52px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid var(--sl-border);
  border-radius: 9px;
  background: linear-gradient(145deg, color-mix(in srgb, var(--sl-counterpart) 88%, #fff), color-mix(in srgb, var(--sl-counterpart) 62%, #000));
  color: #fff;
  font-size: .72rem;
  font-weight: 850;
}

.comparator-rail-portrait img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center bottom;
}

.comparator-rail-copy { min-width: 0; }
.comparator-rail-copy strong,
.comparator-rail-copy span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.comparator-rail-copy strong { font-size: .74rem; line-height: 1.08; }
.comparator-rail-copy span { margin-top: 4px; color: var(--sl-text-muted); font-size: .58rem; }

@media (max-width: 700px) {
  .comparator-rail {
    left: auto;
    right: 0;
    top: calc(100% + 8px);
    width: min(250px, calc(100vw - 36px));
    transform: none;
  }
  .comparator-rail-list { max-height: min(276px, 48vh); }
}

.analytical-comparison-context {
  min-width: 0;
  padding: 7px 12px;
  border-left: 1px solid var(--sl-border);
}

.analytical-comparison-context > strong {
  display: block;
  font-size: .9rem;
  line-height: 1.18;
}

.analytical-comparison-context .analytical-meta {
  margin-top: 5px;
  font-size: .73rem;
  line-height: 1.28;
}

.player-analytical-strip .analytical-signals,
.personnel-instrument-cluster {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.player-analytical-strip .signal-row,
.personnel-instrument-cluster .signal-row {
  grid-template-columns: minmax(96px, 112px) minmax(178px, 1fr) minmax(42px, auto);
  gap: 5px;
}

.player-analytical-strip .signal-label,
.personnel-instrument-cluster .signal-label {
  color: var(--sl-text);
  font-size: .73rem;
  font-weight: 760;
}

.player-analytical-strip .signal-value,
.personnel-instrument-cluster .signal-value {
  font-size: .72rem;
  font-weight: 750;
}

.player-analytical-strip .zero-bar,
.personnel-instrument-cluster .zero-bar,
.full-metric-row .metric-impact.zero-bar {
  height: 16px;
  overflow: visible;
  background: color-mix(in srgb, var(--sl-support) 54%, var(--sl-surface));
  border-color: color-mix(in srgb, var(--sl-border-strong) 72%, var(--sl-border));
}

.zero-bar-axis-icon {
  position: absolute;
  z-index: 5;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: grid;
  place-items: center;
  width: 19px;
  height: 19px;
  border: 1px solid color-mix(in srgb, var(--sl-border-strong) 78%, transparent);
  border-radius: 50%;
  background: var(--sl-surface-raised);
  font-size: .7rem;
  line-height: 1;
  box-shadow: 0 1px 2px rgba(23, 32, 51, .12);
}

.player-analytical-strip .zero-bar::after,
.personnel-instrument-cluster .zero-bar::after,
.full-metric-row .metric-impact.zero-bar::after {
  width: 1px;
  background: var(--sl-border-strong);
}

.player-analytical-strip .analytical-strip-action {
  align-self: start;
  min-width: 0;
  display: flex;
  justify-content: flex-end;
  padding: 3px 0 0;
  border: 0;
}

.player-analytical-strip .analytical-expand-label {
  width: 30px;
  height: 30px;
  min-height: 0;
  padding: 0;
  justify-content: center;
  border: 1px solid var(--sl-border);
  border-radius: 50%;
  background: var(--sl-surface);
  color: var(--sl-text);
  font-size: 0;
}

.player-analytical-strip .analytical-expand-label::after {
  font-size: .74rem;
}

.player-analytical-strip .analytical-detail {
  padding: 17px 19px 18px;
  background: var(--sl-surface);
}

.player-analytical-strip .analytical-context {
  max-width: 1100px;
  margin-bottom: 13px;
}

.player-analytical-strip .analytical-context p {
  font-size: .9rem;
  line-height: 1.45;
}

.player-analytical-strip .analytical-polarity-grid {
  gap: 12px;
  margin: 13px 0 16px;
}

.player-analytical-strip .analytical-polarity-card {
  min-height: 0;
  padding: 12px 14px;
}

.player-analytical-strip .analytical-polarity-card p {
  margin: 4px 0 0;
  font-size: .82rem;
  line-height: 1.38;
}

.player-analytical-strip .analytical-matrix {
  gap: 7px;
}

/* Draft 3 metric explainability lives inside each expanded strip. Native
   details disclosures deliberately grow the page rather than opening an overlay. */
.metric-detail-row {
  border: 1px solid var(--sl-border);
  border-radius: 11px;
  background: var(--sl-surface-raised);
}

.metric-detail-row > summary { list-style: none; }
.metric-detail-row > summary::-webkit-details-marker { display: none; }
.metric-detail-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-height: 38px;
  padding: 7px 10px;
  cursor: pointer;
}

.metric-detail-summary:focus-visible {
  outline: 3px solid var(--sl-focus);
  outline-offset: 2px;
}

.metric-detail-signal { min-width: 0; }
.metric-detail-summary .zero-bar { display: block; }
.metric-detail-cue {
  color: var(--sl-text-muted);
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .04em;
}
.metric-detail-cue::after { content: ' ▾'; }
.metric-detail-row[open] .metric-detail-cue::after { content: ' ▴'; }

.metric-detail-panel {
  display: grid;
  gap: 12px;
  padding: 13px 15px 15px;
  border-top: 1px solid var(--sl-border);
  background: color-mix(in srgb, var(--sl-surface) 96%, var(--sl-environment) 4%);
}

.metric-detail-section > strong,
.metric-under-the-hood > summary {
  font-size: .76rem;
  font-weight: 850;
  letter-spacing: .045em;
  text-transform: uppercase;
}
.metric-detail-section p {
  margin: 4px 0 0;
  color: var(--sl-text-muted);
  font-size: .82rem;
  line-height: 1.45;
}
.metric-unavailable-label { color: var(--sl-negative); font-weight: 850; }
.metric-detail-unavailable .metric-detail-summary { opacity: .86; }

.metric-under-the-hood {
  border-top: 1px solid var(--sl-border);
  padding-top: 10px;
}
.metric-under-the-hood > summary {
  cursor: pointer;
  color: var(--sl-text);
}
.metric-under-the-hood-body {
  display: grid;
  gap: 8px;
  margin-top: 10px;
}
.metric-under-the-hood-body > div {
  display: grid;
  grid-template-columns: minmax(110px, .3fr) minmax(0, 1fr);
  gap: 10px;
  font-size: .78rem;
  line-height: 1.42;
}
.metric-under-the-hood-body span { color: var(--sl-text-muted); }

@media (max-width: 700px) {
  .metric-detail-summary .signal-row {
    grid-template-columns: minmax(86px, 112px) minmax(130px, 1fr) minmax(38px, auto);
  }
  .metric-under-the-hood-body > div { grid-template-columns: 1fr; gap: 2px; }
}

.player-analytical-strip .analytical-matrix .signal-row {
  grid-template-columns: minmax(122px, 160px) minmax(260px, 1fr) minmax(46px, auto);
}

.player-analytical-strip .analytical-provenance {
  margin-top: 14px;
  padding-top: 12px;
}

/* Metallic borders belong to convergent favorable instrumentation, never
   merely to board rank or the legacy Priority flag. */
.player-analytical-strip[class*="medal-"],
.visual-decision-card[class*="medal-"] {
  border-color: transparent;
}

.player-analytical-strip[class*="medal-"]::after,
.visual-decision-card[class*="medal-"]::after {
  content: "";
  position: absolute;
  z-index: 12;
  inset: 0;
  border: 3px solid transparent;
  border-radius: inherit;
  background: var(--medal-gradient) border-box;
  -webkit-mask: linear-gradient(#000 0 0) padding-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
}

.medal-gold {
  --medal-gradient: linear-gradient(115deg, #7d5810, #f7dc72 28%, #b47b13 56%, #fff1a3 76%, #8c6417);
}

.medal-silver {
  --medal-gradient: linear-gradient(115deg, #6f7781, #edf2f6 28%, #9ca6b1 56%, #fff 76%, #707985);
}

.medal-bronze {
  --medal-gradient: linear-gradient(115deg, #704022, #e2a16e 28%, #9d5c36 56%, #f4c09a 76%, #74452b);
}

.visual-decision-card.standout-card:not(.medal-gold):not(.medal-silver):not(.medal-bronze) {
  border: 1px solid #d9dee7;
  box-shadow: 0 1px 3px rgba(18,38,75,.05);
}

/* Personnel uses the same sentence with its governed move/action material. */
.toolbar-menu-button.medal-sort-button {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 11px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: #fff;
  color: #1c5dce;
  font-size: 12px;
  font-weight: 800;
}

.toolbar-menu-button.medal-sort-button.active {
  border-color: #b58a28;
  background: linear-gradient(135deg, #fff9dc, #f4e0a0);
  color: #5d4308;
}

@media (min-width: 901px) {
  .visual-decision-card > summary.visual-decision-strip.compact-strip {
    grid-template-columns: minmax(220px, .95fr) minmax(126px, .52fr) minmax(185px, .72fr) minmax(350px, 1.42fr) minmax(122px, .48fr);
    grid-template-rows: 1fr;
    min-height: 128px;
  }

  .visual-decision-card > summary.visual-decision-strip.compact-strip > .candidate-zone { grid-column: 1; grid-row: 1; }
  .visual-decision-card > summary.visual-decision-strip.compact-strip > .target-zone { grid-column: 2; grid-row: 1; }
  .visual-decision-card > summary.visual-decision-strip.compact-strip > .personnel-comparison-context { grid-column: 3; grid-row: 1; }
  .visual-decision-card > summary.visual-decision-strip.compact-strip > .personnel-instrument-cluster { grid-column: 4; grid-row: 1; }
  .visual-decision-card > summary.visual-decision-strip.compact-strip > .result-zone { grid-column: 5; grid-row: 1; }
}

.visual-decision-card .candidate-zone {
  position: relative;
  display: block;
  padding: 8px 9px;
  background: var(--sl-surface-raised);
  isolation: isolate;
}

.visual-decision-card .candidate-portrait-frame {
  position: absolute;
  inset: 8px 9px;
  width: auto;
  min-height: 0;
  height: auto;
  padding: 0;
  border-radius: 14px;
  border: 2px solid color-mix(in srgb, var(--team-a) 72%, #fff);
  overflow: hidden;
}

.visual-decision-card .candidate-portrait-frame::after {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0;
  background: linear-gradient(90deg, rgba(6,11,19,.91) 0 42%, rgba(6,11,19,.58) 63%, transparent 82%);
  pointer-events: none;
}

.visual-decision-card .candidate-zone .player-portrait {
  left: auto !important;
  right: 0 !important;
  width: 70% !important;
  object-fit: contain !important;
  object-position: center bottom !important;
  transform: scale(.86);
  transform-origin: 66% bottom;
}

.visual-decision-card .candidate-copy {
  position: absolute;
  z-index: 4;
  left: 20px;
  right: 40%;
  bottom: 26px;
  justify-content: flex-end;
  color: #fff;
  pointer-events: none;
}

.visual-decision-card .candidate-copy strong {
  color: #fff;
  font-size: .9rem;
  line-height: 1.02;
}

.visual-decision-card .candidate-copy > span {
  color: rgba(255,255,255,.8);
}

.visual-decision-card .candidate-portrait-frame .portrait-action {
  z-index: 5;
  left: 9px;
  bottom: 7px;
  transform: none;
  border-width: 1px;
}

.visual-decision-card .candidate-status-overlay {
  z-index: 7;
  left: 16px;
  right: auto;
  max-width: 48%;
}

.visual-decision-card .target-zone {
  position: relative;
  display: block;
  padding: 8px 6px;
  overflow: visible;
  background: var(--sl-surface-raised);
}

.visual-decision-card .target-portrait-frame {
  position: absolute;
  inset: 12px 9px;
  width: auto;
  height: auto;
  padding: 0;
  border: 1px solid color-mix(in srgb, var(--team-a) 68%, #fff);
  border-radius: 12px;
  overflow: hidden;
}

.visual-decision-card .target-portrait-frame::after {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 36% 0 0;
  background: linear-gradient(to bottom, transparent, rgba(6,11,19,.9));
  pointer-events: none;
}

.visual-decision-card .target-zone .player-portrait {
  inset: 0 !important;
  width: 100% !important;
  height: 80% !important;
  object-fit: contain !important;
  object-position: center bottom !important;
  transform: scale(.88);
  transform-origin: center bottom;
}

.visual-decision-card .target-copy {
  position: absolute;
  z-index: 4;
  left: 13px;
  right: 13px;
  bottom: 18px;
  color: #fff;
  pointer-events: none;
}

.visual-decision-card .target-copy small,
.visual-decision-card .target-copy strong,
.visual-decision-card .target-copy span {
  color: #fff;
  text-shadow: 0 1px 2px rgba(0,0,0,.5);
}

.visual-decision-card .target-copy small {
  font-size: .46rem;
}

.visual-decision-card .target-copy strong {
  font-size: .68rem;
}

.visual-decision-card .target-copy span {
  font-size: .55rem;
}

.visual-decision-card .swap-arrow {
  position: absolute;
  z-index: 7;
  left: 0;
  top: 50%;
  transform: translate(-50%, -50%);
  display: grid;
  place-items: center;
  width: 23px;
  height: 23px;
  margin: 0;
  border: 1px solid var(--sl-border);
  border-radius: 50%;
  background: var(--sl-surface-raised);
  color: var(--sl-text-muted);
  font-size: .72rem;
}

.personnel-comparison-context {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 10px 12px;
  border-right: 1px solid var(--sl-border);
  background: var(--sl-surface);
}

.instrument-kicker {
  color: var(--sl-text-muted);
  font-size: .62rem;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.personnel-comparison-context strong {
  margin-top: 4px;
  font-size: .86rem;
  line-height: 1.15;
}

.personnel-comparison-context > span:last-child {
  margin-top: 5px;
  color: var(--sl-text-muted);
  font-size: .67rem;
  line-height: 1.25;
}

.personnel-instrument-cluster {
  align-content: center;
  padding: 9px 11px;
  background: var(--sl-surface-raised);
}

.visual-decision-card .result-zone {
  align-items: flex-start;
  justify-content: center;
  padding: 9px 20px 9px 10px;
  background: color-mix(in srgb, #fff4c8 72%, var(--sl-surface));
}

.medal-readout {
  display: inline-flex;
  margin-bottom: 3px;
  padding: 2px 6px;
  border: 1px solid rgba(100, 75, 18, .24);
  border-radius: 999px;
  background: rgba(255,255,255,.62);
  color: #654a0b;
  font-size: .55rem;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.visual-decision-card > .reference-drawer {
  background: var(--sl-page);
}

.visual-decision-card .drawer-headline,
.visual-decision-card .drawer-section {
  background: var(--sl-surface-raised);
}

.visual-decision-card .full-metric-row {
  grid-template-columns: minmax(135px, .72fr) minmax(128px, .58fr) minmax(220px, 1.05fr) minmax(220px, 1fr);
  gap: 8px;
}

.visual-decision-card .full-metric-name strong {
  font-size: .72rem;
}

.full-metric-row .metric-impact.zero-bar {
  position: relative;
  display: block;
  width: auto;
  border: 1px solid var(--sl-border);
  border-radius: 5px;
}

.full-metric-row .metric-impact.zero-bar .zero-bar-fill {
  position: absolute;
  z-index: 2;
  top: 2px;
  bottom: 2px;
  height: auto;
  border-radius: 3px;
}

.full-metric-row .metric-impact.zero-bar .zero-bar-fill.positive {
  left: 50%;
  width: calc(var(--magnitude, 0) * .5%);
  background: var(--sl-positive);
}

.full-metric-row .metric-impact.zero-bar .zero-bar-fill.negative {
  right: 50%;
  width: calc(var(--magnitude, 0) * .5%);
  background: var(--sl-negative);
}

.full-metric-row .metric-impact.zero-bar .zero-bar-axis-icon {
  position: absolute;
  display: grid;
  height: 19px;
  background: var(--sl-surface-raised);
}

@media (max-width: 1120px) {
  .player-analytical-strip .analytical-strip-summary {
    grid-template-columns: minmax(330px, 1fr) minmax(340px, 1.15fr) 36px;
  }

  .player-analytical-strip .analytical-comparison-context {
    grid-column: 1;
    grid-row: 2;
    border-left: 0;
    border-top: 1px solid var(--sl-border);
  }

  .player-analytical-strip .analytical-signals {
    grid-column: 2;
    grid-row: 1 / span 2;
  }

  .player-analytical-strip .analytical-strip-action {
    grid-column: 3;
    grid-row: 1;
  }

  .visual-decision-card > summary.visual-decision-strip.compact-strip {
    grid-template-columns: 1fr 1fr;
  }

  .visual-decision-card > summary.visual-decision-strip.compact-strip > .candidate-zone { grid-column: 1; }
  .visual-decision-card > summary.visual-decision-strip.compact-strip > .target-zone { grid-column: 2; }
  .visual-decision-card > summary.visual-decision-strip.compact-strip > .personnel-comparison-context,
  .visual-decision-card > summary.visual-decision-strip.compact-strip > .personnel-instrument-cluster,
  .visual-decision-card > summary.visual-decision-strip.compact-strip > .result-zone { grid-column: 1 / 3; }

  .visual-decision-card .full-metric-row {
    grid-template-columns: 1fr 1fr;
  }

  .visual-decision-card .full-metric-row p {
    grid-column: 1 / 3;
  }
}

@media (max-width: 700px) {
  .player-analytical-strip .analytical-strip-summary {
    grid-template-columns: 1fr 34px;
    gap: 9px;
    padding: 10px;
  }

  .player-analytical-strip.is-comparative .analytical-player-pair {
    grid-template-columns: minmax(210px, 1fr) 98px;
  }

  .player-analytical-strip .analytical-identity {
    height: 128px;
  }

  .analytical-counterpart {
    height: 104px;
  }

  .player-analytical-strip .analytical-comparison-context,
  .player-analytical-strip .analytical-signals {
    grid-column: 1 / -1;
    grid-row: auto;
  }

  .player-analytical-strip .analytical-strip-action {
    grid-column: 2;
    grid-row: 1;
  }

  .player-analytical-strip .signal-row,
  .personnel-instrument-cluster .signal-row {
    grid-template-columns: minmax(92px, 108px) minmax(130px, 1fr) minmax(40px, auto);
  }

  .player-analytical-strip .analytical-polarity-grid {
    grid-template-columns: 1fr;
  }

  .toolbar-menu-button.medal-sort-button.topbar-waiver-tool {
    display: none;
  }
}

/* Instrumentation v2.2 density correction.
   Six rows per page fund a calmer, more legible summary instrument. */
@media (min-width: 901px) {
  .player-analytical-strip .analytical-strip-summary {
    grid-template-columns: minmax(420px, 1.2fr) minmax(220px, .7fr) minmax(390px, 1.25fr) 42px;
    min-height: 174px;
    padding: 13px 15px;
  }

  .player-analytical-strip.is-comparative .analytical-player-pair {
    grid-template-columns: minmax(248px, 1fr) 148px;
    gap: 10px;
  }

  .player-analytical-strip .analytical-identity { height: 146px; }
  .analytical-counterpart { height: 128px; }

  .visual-decision-card > summary.visual-decision-strip.compact-strip {
    grid-template-columns: minmax(240px, .95fr) minmax(158px, .6fr) minmax(190px, .72fr) minmax(380px, 1.42fr) minmax(126px, .48fr);
    min-height: 164px;
  }
}

.player-analytical-strip .analytical-identity-copy {
  width: 59%;
  justify-content: center;
  padding-top: 9px;
  background: linear-gradient(90deg, rgba(5, 10, 18, .93) 0 46%, rgba(5, 10, 18, .6) 68%, transparent 100%);
}

.player-analytical-strip .analytical-name {
  font-size: clamp(1.14rem, .68vw + .75rem, 1.38rem);
}

.player-analytical-strip .context-lightbulb,
.visual-decision-card .context-lightbulb {
  font-size: 1.55rem;
}

.visual-decision-card .candidate-portrait-frame::after {
  background: linear-gradient(90deg, rgba(6,11,19,.92) 0 34%, rgba(6,11,19,.55) 52%, transparent 70%);
}

.visual-decision-card .candidate-copy {
  top: 46px;
  bottom: auto;
  right: 37%;
  justify-content: flex-start;
}

.visual-decision-card .candidate-copy strong { font-size: 1.02rem; }

.visual-decision-card .candidate-status-overlay {
  min-height: 24px;
  padding: 4px 8px;
  font-size: .68rem;
  font-weight: 900;
}

.visual-decision-card .target-portrait-frame {
  inset: 10px 8px;
  grid-column: auto;
  grid-row: auto;
  justify-self: stretch;
  align-self: stretch;
}

.visual-decision-card .target-zone .player-portrait {
  height: 84% !important;
  object-position:center bottom !important;
  transform: scale(.9);
  transform-origin:center bottom;
}

.visual-decision-card .target-copy { bottom: 16px; }
.visual-decision-card .target-copy small { font-size: .56rem; }
.visual-decision-card .target-copy strong { font-size: .78rem; }
.visual-decision-card .target-copy span { font-size: .62rem; }

.player-analytical-strip .signal-row,
.personnel-instrument-cluster .signal-row {
  grid-template-columns: minmax(112px, 128px) minmax(190px, 1fr) minmax(48px, auto);
  gap: 8px;
}

.player-analytical-strip .signal-label,
.personnel-instrument-cluster .signal-label { font-size: .8rem; }

.player-analytical-strip .signal-value,
.personnel-instrument-cluster .signal-value { font-size: .79rem; }

.player-analytical-strip .zero-bar,
.personnel-instrument-cluster .zero-bar { min-height: 23px; }

.zero-bar-axis-icon { font-size: .88rem; }

@media (prefers-reduced-motion: reduce) {
  .player-analytical-strip .analytical-expand-label::after {
    transition: none;
  }
}


/* NFL roster membership grammar: red + washed means this player does not
   contribute to Active Player Roster metrics. Injury status remains separate. */
.player-analytical-strip.is-roster-inactive .analytical-identity {
  border-color: #b42318;
  box-shadow: inset 0 -3px 0 rgba(180, 35, 24, .82);
}

.player-analytical-strip.is-roster-inactive .analytical-portrait img {
  filter: grayscale(.32) saturate(.52) contrast(.94);
  opacity: .8;
}

.player-analytical-strip .roster-status-badge {
  border-color: rgba(255, 255, 255, .55);
  background: #b42318;
  color: #fff;
}
