.scryfall-card {
  cursor: pointer;
  border-bottom: 1px dotted #666;
}

.scryfall-card:hover {
  text-decoration: underline;
}

.scryfall-tooltip {
  z-index: 9999;
  background: #000;
  color: #fff;
  padding: 8px;
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
  border: 2px solid #000;
  max-width: calc(100vw - 16px);
  box-sizing: border-box;
  display: inline-block;
}

.scryfall-tooltip-card-img {
  width: 250px;
  height: 348px;
  object-fit: contain;
  display: block;
}

.scryfall-card-faces {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: flex-start;
}

.scryfall-card-faces img {
  width: 250px;
  height: 348px;
  object-fit: contain;
}

.scryfall-price {
  margin-top: 4px;
  font-size: 0.9em;
}

.scryfall-price-link {
  text-decoration: none;
  color: inherit;
  text-align: center;
}

.scryfall-tooltip-error {
  padding: 4px 0;
  font-size: 0.9em;
}

.scryfall-card-inline {
  display: inline-block;
  position: relative;
  text-decoration: none;
}

.scryfall-card-inline:hover,
.scryfall-card-inline.scryfall-card-inline--zoomed {
  z-index: 100;
}

.scryfall-card-inline-inner {
  display: block;
  position: relative;
  z-index: 1;
  text-align: center;
  transition: transform 0.2s ease;
  transform-origin: center bottom;
}

.scryfall-card-inline:hover .scryfall-card-inline-inner,
.scryfall-card-inline.scryfall-card-inline--zoomed .scryfall-card-inline-inner {
  transform: scale(1.5);
}

.scryfall-card-inline-img {
  width: 200px;
  height: 278px;
  max-width: 100%;
  object-fit: contain;
  transition: transform 0.2s ease;
  transform-origin: center top;
  position: relative;
  z-index: 10;
  display: block;
}

.scryfall-card-inline:hover .scryfall-card-inline-img,
.scryfall-card-inline.scryfall-card-inline--zoomed .scryfall-card-inline-img {
  z-index: 100;
}

/* On touch, only the --zoomed class should zoom; cancel :hover zoom when class is absent
   so that removing the class on second tap actually zooms out (avoids sticky hover). */
@media (hover: none), (pointer: coarse) {
  .scryfall-card-inline:hover:not(.scryfall-card-inline--zoomed) {
    z-index: auto;
  }
  .scryfall-card-inline:hover:not(.scryfall-card-inline--zoomed) .scryfall-card-inline-inner {
    transform: none;
  }
  .scryfall-card-inline:hover:not(.scryfall-card-inline--zoomed) .scryfall-card-inline-img {
    z-index: 10;
  }
}

.scryfall-card-inline-price {
  display: block;
  margin-top: 0;
  font-size: 0.9em;
  background: #fff;
  color: #000;
  padding: 6px 8px;
  border-radius: 4px;
  box-sizing: border-box;
  cursor: pointer;
}

.scryfall-tcgplayer-logo {
  display: inline-block;
  height: 1em;
  width: auto;
  vertical-align: middle;
  margin-right: 4px;
}

.scryfall-tooltip .scryfall-tcgplayer-logo {
  height: 1em;
  width: auto;
  vertical-align: middle;
  margin-right: 4px;
  filter: invert(1);
}

.scryfall-open-in-new-icon {
  display: inline-block;
  height: 0.9em;
  width: auto;
  vertical-align: middle;
  margin-left: 4px;
}

.scryfall-tooltip .scryfall-open-in-new-icon {
  filter: invert(1);
}

/* Keep multiple [sci] in one row and center. */
p:has(> .scryfall-card-inline) {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
}