/* Password Generator — tool-specific styles */
.password-display {
  display: flex;
  align-items: center;
  gap: 12px;
  background: var(--bg);
  border: 1.5px solid var(--border);
  border-radius: var(--radius);
  padding: 14px 16px;
  flex-wrap: wrap;
}
#password-output {
  flex: 1;
  min-width: 200px;
  font-family: 'Courier New', monospace;
  font-size: 1.15rem;
  font-weight: 700;
  word-break: break-all;
  color: var(--text);
}
.pw-actions { display: flex; gap: 8px; }
.pw-actions .btn { padding: 10px 16px; }

.strength-meter {
  height: 8px;
  background: var(--border);
  border-radius: 20px;
  overflow: hidden;
  margin-top: 14px;
}
.strength-fill {
  height: 100%;
  width: 0%;
  border-radius: 20px;
  transition: width .25s, background .25s;
}
.strength-fill.s-weak { background: #f87171; }
.strength-fill.s-fair { background: #fbbf24; }
.strength-fill.s-good { background: #a3e635; }
.strength-fill.s-strong { background: #4ade80; }
.strength-text { font-size: .88rem; font-weight: 600; margin-top: 6px; color: var(--text-muted); }

.options-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 20px;
  margin-top: 16px;
}
.check-label {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: .95rem;
  cursor: pointer;
  user-select: none;
}
.check-label input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: var(--primary);
  cursor: pointer;
}
@media (max-width: 480px) {
  .options-grid { grid-template-columns: 1fr; }
  .password-display { flex-direction: column; align-items: stretch; }
  .pw-actions .btn { flex: 1; }
}
