/* cipher — tool-specific components (loaded after the global /styles.css) */

.cip-controls {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 1rem;
}

.cip-error { color: #e5484d; }

/* Brute-force list */
.cip-bf-title { margin: 0 0 .25rem; font-size: 1.05rem; }

.cip-bf-list {
  list-style: none;
  margin: .75rem 0 0;
  padding: 0;
  border: 1px solid var(--border, #2a3344);
  border-radius: 10px;
  max-height: 24rem;
  overflow-y: auto;
}

.cip-bf-row {
  display: flex;
  align-items: baseline;
  gap: .75rem;
  padding: .45rem .75rem;
  border-bottom: 1px solid var(--border, #2a3344);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: .9rem;
}
.cip-bf-row:last-child { border-bottom: 0; }
.cip-bf-row:nth-child(odd) {
  background: color-mix(in srgb, var(--accent, #6ea8fe) 4%, transparent);
}

.cip-bf-shift {
  flex: 0 0 4.6rem;
  font-weight: 700;
  color: var(--accent, #6ea8fe);
  white-space: nowrap;
}

.cip-bf-text {
  flex: 1 1 auto;
  min-width: 0;
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}

#copy { margin-top: .75rem; }

@media (max-width: 560px) {
  .cip-bf-row { flex-wrap: wrap; gap: .15rem .5rem; }
}
