.card {
  background: var(--surface);
  border-radius: var(--radius);
  padding: calc(var(--padding) + 4px) calc(var(--padding) + 6px);
  box-shadow: 0 0 0 1px var(--input-border) inset;
  transition: background 0.2s, box-shadow 0.2s;
}

.card:hover {
  background: var(--surface-hover);
}

.card + .card {
  margin-top: 8px;
}

.card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}

.card-name {
  font-size: 16px;
  font-weight: 500;
}

.badge {
  font-size: 11px;
  font-weight: 500;
  padding: 3px 10px;
  border-radius: var(--radius);
  background: var(--surface-press);
  color: var(--subtext);
  box-shadow: 0 0 0 1px var(--input-border) inset;
}

.card-desc {
  font-size: 12.5px;
  color: var(--subtext);
  line-height: 1.7;
  margin-bottom: var(--padding);
}

.pipeline {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: var(--padding);
  flex-wrap: wrap;
}

.pipeline-step {
  font-size: 11px;
  font-weight: 500;
  padding: 4px 10px;
  border-radius: var(--radius);
  background: var(--bg);
  color: var(--text);
  box-shadow: 0 0 0 1px var(--input-border) inset;
}

.pipeline-arrow {
  color: var(--subtext);
  font-size: 12px;
}

.endpoints {
  display: flex;
  flex-direction: column;
  gap: 3px;
  margin-bottom: var(--padding);
}

.endpoint {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 10px;
  border-radius: var(--radius);
  background: var(--bg);
  font-size: 12.5px;
  font-weight: 500;
  box-shadow: 0 0 0 1px var(--input-border) inset;
}

.method {
  font-size: 10px;
  font-weight: 500;
  padding: 2px 6px;
  border-radius: 6px;
  text-align: center;
}

.method-get {
  background: rgba(47, 138, 249, 0.15);
  color: var(--blue);
}

.method-post {
  background: rgba(48, 189, 27, 0.15);
  color: var(--green);
}

.endpoint-path {
  color: var(--text);
}

.endpoint-desc {
  color: var(--subtext);
  margin-left: auto;
  font-size: 11px;
  font-weight: 400;
}

.tags {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.tag {
  font-size: 11px;
  font-weight: 500;
  padding: 3px 10px;
  border-radius: var(--radius);
  background: var(--bg);
  color: var(--subtext);
  box-shadow: 0 0 0 1px var(--input-border) inset;
}

.links {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.links a {
  color: var(--text);
  text-decoration: none;
  font-size: 12.5px;
  font-weight: 500;
  padding: 6px 13px;
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: 0 0 0 1px var(--input-border) inset;
  transition: background 0.2s;
}

.links a:hover {
  background: var(--surface-hover);
}

.links a:active {
  background: var(--surface-press);
}
