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

/* Mode tabs (radio-driven) */
.enc-tabs {
  display: inline-flex;
  gap: .35rem;
  padding: .3rem;
  border: 1px solid var(--border, #2a3344);
  border-radius: 10px;
}
.enc-tabs input[type="radio"] {
  position: absolute;
  width: 1px; height: 1px;
  margin: -1px; padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}
.enc-tabs label {
  padding: .45rem 1.15rem;
  border-radius: 8px;
  font-weight: 700;
  cursor: pointer;
  user-select: none;
  transition: background-color .15s ease, color .15s ease;
}
.enc-tabs input[type="radio"]:checked + label {
  background: var(--accent, #6ea8fe);
  color: #fff;
}
.enc-tabs input[type="radio"]:focus-visible + label {
  outline: 2px solid var(--accent, #6ea8fe);
  outline-offset: 2px;
}

/* Text areas */
.enc-text,
.enc-output {
  width: 100%;
  resize: vertical;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: .92rem;
  line-height: 1.45;
}
.enc-output {
  word-break: break-all;
  background: color-mix(in srgb, var(--border, #2a3344) 18%, transparent);
}

/* Password row with show/hide */
.enc-pass-row {
  display: flex;
  gap: .6rem;
  align-items: center;
}
.enc-pass-row .input { flex: 1 1 auto; }
.enc-pass-row .btn { flex: 0 0 auto; margin-top: 0; }

/* Status / error line */
.enc-status {
  min-height: 1.4em;
  margin: 1rem 0 0;
  font-weight: 600;
}
.enc-status.is-error { color: #e5484d; }
.enc-status.is-ok { color: #2ecc71; }
