.password-tool__form{display:grid;gap:var(--space-4, 1rem)}.password-tool__intro{margin:0;color:var(--color-text-muted, #6b7280);font-size:.92rem;line-height:1.8}.password-tool__types{margin:0;padding:0;border:0;min-width:0}.password-tool__types legend{margin-block-end:var(--space-2, .5rem);font-size:.92rem;font-weight:700}.password-tool__type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2, .5rem)}.password-tool__type{display:grid;gap:.15rem;min-width:0;padding:var(--space-3, .75rem);border:1px solid var(--color-border, #e5e7eb);border-radius:var(--radius-md, .5rem);background:var(--color-bg, #fff);cursor:pointer;transition:border-color .15s ease,background .15s ease}.password-tool__type input{position:absolute;opacity:0;pointer-events:none}.password-tool__type strong{font-size:.95rem}.password-tool__type small{color:var(--color-text-muted, #6b7280);font-size:.75rem;line-height:1.5}.password-tool__type.is-active{border-color:var(--color-primary, #2563eb);background:color-mix(in srgb,var(--color-primary, #2563eb) 8%,var(--color-bg, #fff))}.password-tool__length{display:grid;gap:var(--space-2, .5rem)}.password-tool__length-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3, .75rem)}.password-tool__length-head label{font-size:.92rem;font-weight:700}.password-tool__length-head output{min-width:2rem;color:var(--color-primary, #2563eb);font-size:1.1rem;font-weight:800;font-variant-numeric:tabular-nums;text-align:end}.password-tool__length input[type=range]{width:100%;accent-color:var(--color-primary, #2563eb)}.password-tool__length-presets{display:flex;flex-wrap:wrap;gap:var(--space-2, .5rem)}.password-tool__length-presets button{min-width:2.75rem;padding:.4rem .7rem;border:1px solid var(--color-border, #e5e7eb);border-radius:999px;background:var(--color-bg, #fff);color:var(--color-text, #111827);font:inherit;font-size:.85rem;cursor:pointer}.password-tool__length-presets button.is-active{border-color:var(--color-primary, #2563eb);color:var(--color-primary, #2563eb);background:color-mix(in srgb,var(--color-primary, #2563eb) 8%,var(--color-bg, #fff));font-weight:700}.password-tool__result{display:grid;gap:var(--space-2, .5rem);padding:var(--space-4, 1rem);border:1px solid var(--color-border, #e5e7eb);border-radius:var(--radius-lg, .75rem);background:var(--color-bg-muted, #f3f4f6)}.password-tool__password{width:100%;min-height:3.25rem;padding:.85rem 1rem;border:1px solid var(--color-border, #d1d5db);border-radius:var(--radius-md, .5rem);background:var(--color-bg, #fff);color:var(--color-text, #111827);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:clamp(1rem,3.5vw,1.25rem);font-weight:700;letter-spacing:.04em;text-align:center;overflow-wrap:anywhere}.password-tool__strength{margin:0;color:var(--color-text-muted, #6b7280);font-size:.82rem;line-height:1.7;text-align:center}.password-tool__actions{display:flex;flex-wrap:wrap;gap:var(--space-2, .5rem)}.password-tool__actions .btn--primary,.password-tool__actions .btn--ghost{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:2.75rem;flex:1 1 10rem}@media (min-width: 640px){.password-tool__type-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
