.pwgen-tool{display:flex;flex-direction:column;gap:var(--panel-gap, 16px)}.pwgen-output-row{display:flex;align-items:center;gap:12px}.pwgen-output,.pwgen-output-field{flex:1;min-width:0}.pwgen-regenerate svg{width:19px;height:19px}.pwgen-output{font-size:16px;letter-spacing:.5px}.pwgen-icon-btn{flex:0 0 28px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:0 0;border:1px solid transparent;border-radius:4px;color:var(--text-2);cursor:pointer;padding:0;transition:color .15s,border-color .15s}.pwgen-icon-btn:hover{color:var(--accent);border-color:var(--border)}.pwgen-icon-btn.is-active{color:var(--accent)}.pwgen-icon-btn.is-copied{color:var(--dot-client)}.pwgen-icon-btn svg{width:14px;height:14px}.pwgen-strength{height:6px;background:var(--border);border-radius:3px;overflow:hidden;margin-top:12px}.pwgen-strength-bar{height:100%;border-radius:3px;width:0%;transition:width .3s ease,background .3s ease}.pwgen-strength-bar.s-weak{background:#e55}.pwgen-strength-bar.s-fair{background:var(--accent)}.pwgen-strength-bar.s-good{background:var(--dot-client)}.pwgen-strength-bar.s-strong{background:var(--dot-server)}.pwgen-stats{display:flex;gap:16px;margin-top:10px;font-size:12px;color:var(--text-2)}.pwgen-stats span::before{font-weight:600;color:var(--text-3)}.pwgen-range-row{display:flex;align-items:center;gap:10px}.pwgen-range-max,.pwgen-range-min{font-size:12px;color:var(--text-3);flex-shrink:0;min-width:24px;text-align:center}.pwgen-range{flex:1;-webkit-appearance:none;appearance:none;height:6px;background:var(--border);border-radius:3px;outline:0}.pwgen-range::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--accent);border:0;cursor:pointer}.pwgen-range::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--accent);border:0;cursor:pointer}.pwgen-checks{display:grid;grid-template-columns:repeat(2,1fr);gap:6px 16px}.pwgen-analysis{margin-top:12px;padding:10px 12px;background:var(--panel);border-radius:4px;border-left:3px solid var(--border);font-size:13px;color:var(--text-2);line-height:1.6}.pwgen-analysis .a-ok{color:var(--dot-client)}.pwgen-analysis .a-warn{color:var(--accent)}.pwgen-analysis .a-bad{color:#e55}.pwgen-history-actions{display:flex;align-items:center;gap:10px}.pwgen-history-toggle{font-size:12px}.pwgen-history{display:flex;flex-direction:column;gap:6px;max-height:240px;overflow-y:auto}.pwgen-history-item{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid var(--border);font-size:13px}.pwgen-history-item:last-child{border-bottom:none}.pwgen-history-type{flex:0 0 32px;font-size:11px;font-weight:600;color:var(--text-3);text-transform:uppercase}.pwgen-history-value{flex:1;font-family:var(--font-mono);font-size:13px;color:var(--text);word-break:break-all;user-select:all}.pwgen-history-meta{flex-shrink:0;font-size:11px;color:var(--text-3)}.pwgen-settings-row{display:flex;gap:var(--panel-gap, 16px)}.pwgen-settings-panel{flex:1;min-width:0}.pwgen-scenario-panel,.pwgen-scenario-panel .panel-body{flex:0 0 400px;display:flex;flex-direction:column}.pwgen-scenario-panel .panel-body{flex:1}.pwgen-scenario-ref{font-size:11px;color:var(--text-3);margin:0 0 12px}.pwgen-scenario-footer{margin-top:auto;padding-top:12px}.pwgen-scenario-table{width:calc(100% + 2.5rem);margin:0-1.25rem;border-collapse:separate;border-spacing:0;font-size:13px}.pwgen-scenario-table td,.pwgen-scenario-table th{background-image:linear-gradient(var(--border),var(--border));background-repeat:no-repeat;background-position:0 100%;background-size:100% 1px}.pwgen-scenario-table th{text-align:left;font-size:11px;font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.03em;padding:0 8px 8px 0}.pwgen-scenario-table td{padding:8px 8px 8px 0;color:var(--text-2);transition:background-color var(--transition)}.pwgen-scenario-table :is(th,td):first-child{padding-left:1.25rem;background-position:1.25rem 100%;background-size:calc(100% - 1.25rem) 1px}.pwgen-scenario-table :is(th,td):last-child{padding-right:1.25rem;background-size:calc(100% - 1.25rem) 1px}.pwgen-scenario-table :is(th,td):nth-child(-n+2){white-space:nowrap}.pwgen-scenario-table tbody tr{cursor:pointer}.pwgen-scenario-table tbody tr:last-child td{background-image:none}.pwgen-scenario-table tbody tr:hover td{background-color:rgba(255,255,255,.04)}.pwgen-scenario-table tbody tr.is-active td{background-color:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--text);font-weight:500}.pwgen-scenario-table tbody tr:has(+tr:is(:hover,.is-active)) td,.pwgen-scenario-table tbody tr:is(:hover,.is-active) td{background-image:none}.pwgen-scenario-table tbody tr:is(:hover,.is-active) td:first-child{border-radius:50px 0 0 50px}.pwgen-scenario-table tbody tr:is(:hover,.is-active) td:last-child{border-radius:0 50px 50px 0}.pwgen-scenario-time{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.pwgen-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.pwgen-section-label{margin-top:16px;margin-bottom:8px}.pwgen-custom-exclude{margin-top:12px}.pwgen-scenario-label{margin-bottom:4px}.pwgen-history-clear-btn{font-size:12px;padding:2px 8px}.pwgen-hiw-note{margin-top:10px}.pwgen-strength-bar.s-pin{background:var(--text-4)}.pwgen-pin-note{margin:8px 0 0;font-size:12px;line-height:1.5;color:var(--text-3)}.pwgen-analysis.is-bad{border-left-color:var(--danger)}.pwgen-verdict{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--danger) 55%,transparent);border-radius:6px;background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--text-body);font-size:14px;line-height:1.5}.pwgen-verdict svg{flex:0 0 18px;width:18px;height:18px;margin-top:2px}.pwgen-verdict strong,.pwgen-verdict svg{color:var(--danger)}.pwgen-type{margin:0 0 16px}.pwgen-level-note{margin:12px 0 0;font-size:12.5px;line-height:1.5;color:var(--text-3)}@media (max-width:640px){.pwgen-settings-row{flex-direction:column}.pwgen-scenario-panel{flex:none}.pwgen-checks{grid-template-columns:1fr}.pwgen-stats{flex-direction:column;gap:4px}}