/* Password Generator — tool-specific styles (loaded after /assets/base.css) */
.pg-output { display: flex; align-items: center; gap: 12px; background: var(--bg-soft); border: 1px solid var(--line);
  border-radius: var(--radius-sm); padding: 16px 18px; margin-bottom: 14px; }
.pg-pass { flex: 1; min-width: 0; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 1.35rem; font-weight: 600; word-break: break-all; color: var(--text); line-height: 1.4; }
.pg-actions { display: flex; gap: 8px; flex-shrink: 0; }
.pg-icon { background: var(--card-2); border: 1px solid var(--line); color: var(--muted); width: 42px; height: 42px;
  border-radius: 10px; cursor: pointer; display: grid; place-items: center; font-size: 1.1rem; transition: all .15s; }
.pg-icon:hover { color: var(--text); border-color: var(--accent); }
.pg-icon.copied { color: var(--good); border-color: var(--good); }

.pg-strength { height: 8px; border-radius: 999px; background: var(--card-2); overflow: hidden; }
.pg-strength > span { display: block; height: 100%; width: 0; transition: width .25s, background .25s; }
.pg-meta { display: flex; justify-content: space-between; font-size: .82rem; color: var(--muted-2); margin: 7px 0 20px; }
.pg-meta b { font-weight: 700; }

.pg-options { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 22px; margin-top: 18px; }
.pg-len { grid-column: 1 / -1; }
.pg-len label { display: flex; align-items: center; gap: 8px; font-size: .85rem; font-weight: 600; color: var(--muted); margin-bottom: 8px; }
.pg-check { display: flex; align-items: center; gap: 9px; color: var(--text); font-size: .92rem; cursor: pointer; }
.pg-check input { width: 18px; height: 18px; accent-color: var(--accent); }
.pg-field { display: flex; flex-direction: column; gap: 7px; }
.pg-field label { font-size: .85rem; font-weight: 600; color: var(--muted); }
.pg-field select, .pg-field input[type=number] { background: var(--bg-soft); border: 1px solid var(--line); color: var(--text);
  padding: 10px 11px; border-radius: var(--radius-sm); font-size: .92rem; font-family: inherit; }

.pg-bulk { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--line); }
.pg-bulk-row { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.pg-bulk-row label { color: var(--muted); font-size: .9rem; display: flex; align-items: center; gap: 8px; }
.pg-bulk-row select { background: var(--bg-soft); border: 1px solid var(--line); color: var(--text); padding: 8px 10px; border-radius: 9px; font-family: inherit; }
#pgBulkOut { width: 100%; min-height: 140px; margin-top: 12px; resize: vertical; background: var(--bg-soft);
  border: 1px solid var(--line); color: var(--text); border-radius: var(--radius-sm); padding: 12px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .9rem; }
#pgBulkOut:focus { outline: none; border-color: var(--accent); }

@media (max-width: 560px) { .pg-options { grid-template-columns: 1fr; } }
