/* Password generator */
.pw-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.pw-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 12px 12px 12px 16px; border: 1px solid var(--line); border-radius: var(--r); background: var(--paper); }
.pw-value { font: 600 clamp(16px, 2.2vw, 20px)/1.45 var(--font-mono); color: var(--ink); word-break: break-all; overflow-wrap: anywhere; user-select: all; }
.pw-d { color: var(--violet); }
.pw-s { color: #B54708; }
.pw-meter { display: grid; gap: 6px; }
.pw-meter-bar { height: 8px; border-radius: 8px; background: var(--paper); border: 1px solid var(--line); overflow: hidden; }
.pw-meter-bar span { display: block; height: 100%; width: 0; border-radius: 8px; background: var(--muted); transition: width .2s, background .2s; }
.pw-meter.is-weak .pw-meter-bar span { background: var(--err); }
.pw-meter.is-fair .pw-meter-bar span { background: var(--warn); }
.pw-meter.is-good .pw-meter-bar span, .pw-meter.is-strong .pw-meter-bar span { background: var(--ok); }
.pw-meter.is-weak strong { color: var(--err); }
.pw-meter.is-fair strong { color: var(--warn); }
.pw-meter.is-good strong, .pw-meter.is-strong strong { color: var(--ok); }
.pw-meter-text { font-size: 15px; }
.pw-sets { border: 0; margin: 0; padding: 0; display: grid; gap: 8px; }
.pw-sets legend { margin-bottom: 6px; padding: 0; }
.pw-num { max-width: 110px; }
