/* v74.9 — attack-surface finish
   - fixes brand chip min-width collision that pushed copy outside the card
   - prevents laptop-width overflow in the evidence spine section
   - keeps deep-dive cards visible when a details panel opens
*/

.attack-surface-v72_3 .tag.brand{
  min-width: 0;
  width: auto;
}

.attack-surface-v72_3 .attack-topology{
  overflow: hidden;
  isolation: isolate;
}

.attack-surface-v72_3 .attack-topology-inner{
  grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr);
  align-items: start;
  gap: clamp(1.15rem, 2.4vw, 1.8rem);
}

.attack-surface-v72_3 .attack-topology-inner > *{
  min-width: 0;
}

.attack-surface-v72_3 .attack-topology .section-deck{
  max-width: 36rem;
}

.attack-surface-v72_3 .attack-topology-legend{
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .8rem;
  align-items: stretch;
}

.attack-surface-v72_3 .attack-legend-item{
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  align-items: start;
  gap: .78rem;
  min-width: 0;
  padding: .9rem 1rem;
}

.attack-surface-v72_3 .attack-legend-item .tag{
  justify-self: start;
  align-self: start;
}

.attack-surface-v72_3 .attack-legend-text{
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  line-height: 1.55;
}

.attack-surface-v72_3 .attack-topology-visual{
  min-width: 0;
  width: 100%;
  max-width: 36rem;
  justify-self: end;
}

.attack-surface-v72_3 .attack-topology-svg{
  width: min(100%, 35rem);
}

.attack-surface-v72_3 .attack-detail{
  gap: 1rem;
}

.attack-surface-v72_3 .attack-detail-item{
  overflow: hidden;
}

.attack-surface-v72_3 .attack-detail-item > summary{
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem;
}

.attack-surface-v72_3 .attack-summary-head{
  min-width: 0;
}

.attack-surface-v72_3 .attack-summary-title{
  white-space: normal;
}

.attack-surface-v72_3 .attack-detail-body{
  display: block;
  padding: 1.05rem 1.05rem 1.15rem;
}

.attack-surface-v72_3 .attack-detail-item .why-requirement-card,
.attack-surface-v72_3 .attack-detail-item[open] .why-requirement-card{
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}

.attack-surface-v72_3 .why-requirements-grid{
  align-items: stretch;
}

.attack-surface-v72_3 .attack-cli{
  margin-top: .2rem;
}

.attack-surface-v72_3 .attack-cli summary{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
}

.attack-surface-v72_3 .attack-cli summary::after{
  content: "+";
  color: var(--bm-mist, rgba(235,241,255,.72));
  font-size: 1.15rem;
  line-height: 1;
}

.attack-surface-v72_3 .attack-cli[open] summary::after{
  content: "−";
}

.attack-surface-v72_3 .attack-cli pre{
  opacity: 1;
}

@media (max-width: 1320px){
  .attack-surface-v72_3 .attack-topology-inner{
    grid-template-columns: 1fr;
  }

  .attack-surface-v72_3 .attack-topology-visual{
    justify-self: start;
    max-width: min(100%, 38rem);
  }
}

@media (max-width: 980px){
  .attack-surface-v72_3 .attack-topology-legend,
  .attack-surface-v72_3 .why-requirements-grid{
    grid-template-columns: 1fr;
  }
}
