.nft-checker {
  padding: clamp(1.25rem, 4vw, 2rem);
  border: 1px solid var(--bs-border-color, #dee2e6);
  border-radius: 1.25rem;
  background: linear-gradient(135deg, rgba(var(--bs-primary-rgb, 13, 110, 253), .045), transparent 65%);
  box-shadow: 0 8px 28px rgba(0, 0, 0, .035);
}
.nft-checker .nft-checker-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: .75rem;
  font-weight: 600;
}
.nft-checker .nft-network {
  padding: .25rem .65rem;
  border-radius: 2rem;
  background: rgba(var(--bs-primary-rgb, 13, 110, 253), .08);
  color: var(--bs-primary);
  font-size: .75rem;
}
.nft-checker .nft-checker-input { display: flex; gap: .65rem; }
.nft-checker .form-control {
  min-width: 0;
  padding: .9rem 1rem;
  border-radius: .65rem;
  font-family: var(--bs-font-monospace);
  font-size: .9rem;
}
.nft-checker .btn { flex-shrink: 0; border-radius: .65rem; padding: .9rem 1.2rem; }
.nft-checker .btn span { margin-left: .65rem; }
.nft-checker .nft-privacy { margin: .75rem 0 0; font-size: .75rem; color: var(--bs-secondary-color, #6c757d); }
.nft-checker .nft-answer { text-align: center; }
.nft-checker .nft-verdict {
  margin: 1.75rem 0 .4rem;
  font-size: clamp(4rem, 12vw, 7rem);
  font-weight: 800;
  letter-spacing: -.055em;
  line-height: 1;
}
.nft-checker .nft-verdict.is-yes { color: var(--bs-success, #198754); }
.nft-checker .nft-verdict.is-no { color: var(--bs-danger, #dc3545); }
.nft-checker .nft-status { margin: 1rem 0 0; font-size: .85rem; color: var(--bs-secondary-color, #6c757d); }
.nft-checker .nft-status:empty { display: none; }
.nft-checker .nft-results { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 280px)); justify-content: center; gap: 1rem; }
.nft-checker .nft-results:not(:empty) { margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid var(--bs-border-color, #dee2e6); }
.nft-checker .nft-card {
  height: 100%;
  padding: .85rem;
  border: 1px solid var(--bs-border-color, #dee2e6);
  border-radius: 1rem;
  background: var(--bs-body-bg, #fff);
}
.nft-checker .nft-card.is-dan { border-color: #b99a53; box-shadow: 0 0 0 2px rgba(185, 154, 83, .12); }
.nft-checker .nft-card-title { margin: .9rem 0 .25rem; font-size: .9rem; font-weight: 650; }
.nft-checker .nft-artwork { display: block; width: 100%; margin: 0; border-radius: .6rem; aspect-ratio: 1; object-fit: contain; }
.nft-checker .nft-design { margin: 0 0 .7rem; font-size: .8rem; color: var(--bs-secondary-color, #6c757d); }
.nft-checker .nft-card a { font-size: .8rem; text-underline-offset: .2em; }
.nft-checker[aria-busy="true"] .nft-status::before { content: ""; display: inline-block; width: .65rem; height: .65rem; margin-right: .5rem; border: 2px solid var(--bs-border-color, #dee2e6); border-top-color: var(--bs-primary); border-radius: 50%; animation: nft-spin 1s linear infinite; }
@keyframes nft-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .nft-checker[aria-busy="true"] .nft-status::before { animation: none; } }
@media (max-width: 575px) { .nft-checker .nft-checker-input { flex-direction: column; } }
