/* Diagnóstico: same visual family as Arsenal, limited to the .hx-diagnostic section. */
.hx-diagnostic__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.hx-diagnostic .hx-diagnostic-card {
  --diagnostic-accent: #73d9e5;
  display: flex;
  flex-direction: column;
  padding: 26px 24px 0;
  border-color: rgba(145, 181, 203, .16);
  background: linear-gradient(150deg, rgba(16, 28, 40, .9), rgba(9, 15, 23, .96));
  box-shadow: inset 0 1px 0 rgba(225, 237, 249, .025), 0 10px 25px rgba(0, 0, 0, .12);
  transition: opacity .55s ease, transform .35s ease, border-color .3s ease, box-shadow .3s ease;
}
.hx-diagnostic .hx-diagnostic-card--patterns,
.hx-diagnostic .hx-diagnostic-card--decision { --diagnostic-accent: #dfba71; }
.hx-diagnostic .hx-diagnostic-card::before {
  top: 0;
  right: 24px;
  left: 24px;
  height: 1px;
  opacity: .45;
  background: linear-gradient(90deg, transparent, var(--diagnostic-accent), transparent);
  transition: opacity .3s ease;
}
.hx-diagnostic-card__icon {
  display: grid;
  place-items: center;
  width: 62px;
  height: 66px;
  margin-bottom: 23px;
  color: var(--diagnostic-accent);
  transition: transform .35s ease, filter .35s ease;
}
.hx-diagnostic-card__icon svg { width: 60px; height: 60px; overflow: visible; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.hx-diagnostic .hx-diagnostic-icon__muted { opacity: .36; }
.hx-diagnostic .hx-diagnostic-icon__accent { stroke: #73d9e5; fill: rgba(115, 217, 229, .07); }
.hx-diagnostic .hx-diagnostic-icon__dot { fill: var(--diagnostic-accent); stroke: none; }
.hx-diagnostic .hx-diagnostic-icon__spark { stroke: #dfba71; fill: rgba(223, 186, 113, .1); transform-origin: 32px 13px; }
.hx-diagnostic .hx-diagnostic-card .hx-card__title { margin-bottom: 13px; font-family: var(--hx-font-body); font-size: 21px; line-height: 1.25; letter-spacing: -.02em; }
.hx-diagnostic .hx-diagnostic-card .hx-card__text { margin-bottom: 24px; color: #adbbcd; font-size: 14px; line-height: 1.75; text-wrap: pretty; }
.hx-diagnostic .hx-diagnostic-card .hx-card__text strong { color: #e7eef7; font-weight: 600; }
.hx-diagnostic-card__signal { display: flex; align-items: center; gap: 9px; min-height: 49px; margin-top: auto; border-top: 1px solid rgba(147, 179, 199, .12); color: #9fadc0; font-family: var(--hx-font-mono); font-size: 8px; font-weight: 500; letter-spacing: .08em; }
.hx-diagnostic-card__signal i { width: 5px; height: 5px; background: var(--diagnostic-accent); opacity: .7; transform: rotate(45deg); transition: box-shadow .3s ease; }
@media (hover: hover) and (pointer: fine) {
  .hx-diagnostic .hx-diagnostic-card:hover { transform: translateY(-5px); border-color: rgba(115, 217, 229, .35); box-shadow: 0 17px 32px rgba(0, 0, 0, .23), 0 0 22px rgba(115, 217, 229, .035); }
  .hx-diagnostic .hx-diagnostic-card--patterns:hover,
  .hx-diagnostic .hx-diagnostic-card--decision:hover { border-color: rgba(223, 186, 113, .35); }
  .hx-diagnostic .hx-diagnostic-card:hover::before { opacity: 1; }
  .hx-diagnostic .hx-diagnostic-card:hover .hx-diagnostic-card__icon { transform: translateY(-2px); filter: drop-shadow(0 0 8px rgba(115, 217, 229, .15)); }
  .hx-diagnostic .hx-diagnostic-card:hover .hx-diagnostic-card__signal i { box-shadow: 0 0 9px rgba(115, 217, 229, .32); }
  .hx-diagnostic .hx-diagnostic-card:hover .hx-diagnostic-icon__orbit,
  .hx-diagnostic .hx-diagnostic-card:hover .hx-diagnostic-icon__route { animation: hx-diagnostic-trace .85s ease both; }
  .hx-diagnostic .hx-diagnostic-card:hover .hx-diagnostic-icon__spark { animation: hx-diagnostic-spark 1s ease both; }
}
@keyframes hx-diagnostic-trace { from { stroke-dasharray: 180; stroke-dashoffset: 180; } to { stroke-dasharray: 180; stroke-dashoffset: 0; } }
@keyframes hx-diagnostic-spark { 0%, 100% { transform: scale(1); } 45% { transform: scale(1.17); fill: rgba(223, 186, 113, .28); } }
@media (max-width: 1100px) {
  .hx-diagnostic__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hx-diagnostic .hx-diagnostic-card .hx-card__title { font-size: 23px; }
  .hx-diagnostic-card__signal { font-size: 9px; }
}
@media (max-width: 600px) {
  .hx-diagnostic__grid { grid-template-columns: minmax(0, 1fr); gap: 15px; }
  .hx-diagnostic .hx-diagnostic-card { padding: 24px 24px 0; }
  .hx-diagnostic-card__icon { margin-bottom: 17px; }
  .hx-diagnostic .hx-diagnostic-card .hx-card__text { font-size: 15px; }
}
@media (prefers-reduced-motion: reduce) {
  .hx-diagnostic *, .hx-diagnostic *::before, .hx-diagnostic *::after { animation: none !important; transition: none !important; }
  .hx-diagnostic .hx-reveal { opacity: 1 !important; transform: none !important; }
  .hx-diagnostic .hx-diagnostic-card:hover,
  .hx-diagnostic .hx-diagnostic-card:hover .hx-diagnostic-card__icon { transform: none; }
}
