.password-generator-tool:where(.astro-q767fpyh){margin-block:var(--space-xl);width:100%}.password-tool-card:where(.astro-q767fpyh){padding:var(--space-xl);border:1px solid var(--color-border);border-radius:var(--radius-2xl);background:var(--color-bg-primary);box-shadow:var(--shadow-md);gap:var(--space-xl);flex-direction:column;display:flex;position:relative}.password-tool-header:where(.astro-q767fpyh){gap:var(--space-xs);flex-direction:column;display:flex}.password-tool-badge:where(.astro-q767fpyh){border-radius:var(--radius-md);background:var(--color-bg-secondary);border:1px solid var(--color-border);width:fit-content;color:var(--color-brand-primary);align-items:center;gap:.4rem;padding:.25rem .75rem;font-size:.8125rem;font-weight:600;display:inline-flex}.password-tool-badge:where(.astro-q767fpyh) svg{width:1rem;height:1rem}.password-tool-title:where(.astro-q767fpyh){letter-spacing:-.02em;color:var(--color-text-primary);font-size:clamp(1.4rem,2.8vw,2rem);font-weight:800;font-family:var(--font-heading,inherit);margin:0}.password-tool-subtitle:where(.astro-q767fpyh){color:var(--color-text-secondary);max-width:48rem;font-size:.95rem;line-height:1.6;font-family:var(--font-sans,inherit);margin:0}.password-tool-notification:where(.astro-q767fpyh){border-radius:var(--radius-lg);border:1px solid var(--color-border);padding:.75rem 1.15rem;font-size:.875rem;font-weight:600;transition:opacity .2s,transform .2s}.password-tool-notification--success:where(.astro-q767fpyh){background:color-mix(in srgb, var(--success,#10b981) 15%, var(--color-bg-secondary));border-color:color-mix(in srgb, var(--success,#10b981) 40%, transparent);color:var(--success,#10b981)}.password-tool-notification--error:where(.astro-q767fpyh){background:color-mix(in srgb, var(--destructive,#ef4444) 15%, var(--color-bg-secondary));border-color:color-mix(in srgb, var(--destructive,#ef4444) 40%, transparent);color:var(--destructive,#ef4444)}.password-tool--hidden:where(.astro-q767fpyh){display:none!important}.password-tool-grid:where(.astro-q767fpyh){grid-template-columns:1.1fr .9fr;align-items:start;gap:1.5rem;display:grid}.password-tool-panel:where(.astro-q767fpyh){border-radius:var(--radius-xl);background:var(--color-bg-secondary);border:1px solid var(--color-border);flex-direction:column;gap:1.1rem;padding:1.25rem;display:flex}.password-tool-panel-header:where(.astro-q767fpyh){justify-content:space-between;align-items:center;display:flex}.password-tool-panel-title:where(.astro-q767fpyh){color:var(--color-text-primary);margin:0;font-size:1.1rem;font-weight:700}.password-tool-section-tag:where(.astro-q767fpyh){text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary);font-size:.725rem;font-weight:700}.password-tool-form-group:where(.astro-q767fpyh){flex-direction:column;gap:1.2rem;display:flex}.password-tool-field:where(.astro-q767fpyh){flex-direction:column;gap:.45rem;display:flex}.password-tool-label-row:where(.astro-q767fpyh){justify-content:space-between;align-items:center;display:flex}.password-tool-label:where(.astro-q767fpyh){text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-primary);font-size:.8rem;font-weight:700}.password-tool-hint:where(.astro-q767fpyh){color:var(--color-text-secondary);font-size:.75rem}.password-tool-range-row:where(.astro-q767fpyh){align-items:center;gap:.75rem;display:flex}.password-tool-range:where(.astro-q767fpyh){accent-color:var(--color-brand-primary);cursor:pointer;flex:1}.password-tool-number-input:where(.astro-q767fpyh),.password-tool-input:where(.astro-q767fpyh){background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);box-sizing:border-box;padding:.55rem .75rem;font-size:.9rem;font-weight:600;transition:border-color .15s,box-shadow .15s}.password-tool-number-input:where(.astro-q767fpyh){text-align:center;width:4.25rem}.password-tool-input:where(.astro-q767fpyh){width:100%}.password-tool-number-input:where(.astro-q767fpyh):focus,.password-tool-input:where(.astro-q767fpyh):focus{border-color:var(--color-brand-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-brand-primary) 20%, transparent);outline:none}.password-tool-checkbox-grid:where(.astro-q767fpyh){grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.5rem;display:grid}.password-tool-checkbox-tile:where(.astro-q767fpyh){border-radius:var(--radius-md);background:var(--color-bg-primary);border:1px solid var(--color-border);color:var(--color-text-primary);cursor:pointer;align-items:center;gap:.45rem;padding:.5rem .7rem;font-size:.825rem;font-weight:600;transition:border-color .15s,background .15s;display:inline-flex}.password-tool-checkbox-tile:where(.astro-q767fpyh):hover{border-color:var(--color-brand-primary)}.password-tool-checkbox-tile:where(.astro-q767fpyh) input:where(.astro-q767fpyh){accent-color:var(--color-brand-primary);cursor:pointer}.password-tool-switches-card:where(.astro-q767fpyh){border-radius:var(--radius-lg);background:var(--color-bg-primary);border:1px solid var(--color-border);flex-direction:column;gap:.55rem;padding:.75rem;display:flex}.password-tool-switch-row:where(.astro-q767fpyh){color:var(--color-text-secondary);cursor:pointer;justify-content:space-between;align-items:center;font-size:.825rem;font-weight:500;display:flex}.password-tool-switch-row:where(.astro-q767fpyh) input:where(.astro-q767fpyh){accent-color:var(--color-brand-primary);cursor:pointer}.password-tool-column:where(.astro-q767fpyh){flex-direction:column;gap:1.5rem;display:flex}.password-tool-badge-pill:where(.astro-q767fpyh){border-radius:var(--radius-full);background:var(--color-bg-primary);border:1px solid var(--color-border);color:var(--color-text-secondary);padding:.2rem .6rem;font-size:.75rem;font-weight:700}.password-tool-badge-pill--success:where(.astro-q767fpyh){background:color-mix(in srgb, var(--success,#10b981) 15%, transparent);border-color:color-mix(in srgb, var(--success,#10b981) 40%, transparent);color:var(--success,#10b981)}.password-tool-badge-pill--warning:where(.astro-q767fpyh){background:color-mix(in srgb, var(--warning,#f59e0b) 15%, transparent);border-color:color-mix(in srgb, var(--warning,#f59e0b) 40%, transparent);color:var(--warning,#f59e0b)}.password-tool-badge-pill--error:where(.astro-q767fpyh){background:color-mix(in srgb, var(--destructive,#ef4444) 15%, transparent);border-color:color-mix(in srgb, var(--destructive,#ef4444) 40%, transparent);color:var(--destructive,#ef4444)}.password-tool-preview-card:where(.astro-q767fpyh){border-radius:var(--radius-lg);background:var(--color-bg-primary);border:1px solid var(--color-border);flex-direction:column;gap:.75rem;padding:1rem;display:flex}.password-tool-preview-meta:where(.astro-q767fpyh){text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);font-size:.725rem;font-weight:700}.password-tool-preview-code:where(.astro-q767fpyh){font-family:var(--font-mono,monospace);color:var(--color-brand-primary);word-break:break-all;user-select:all;align-items:center;min-height:2.2rem;font-size:.95rem;font-weight:600;display:flex}.password-tool-strength-container:where(.astro-q767fpyh){flex-direction:column;gap:.35rem;margin-top:.2rem;display:flex}.password-tool-strength-track:where(.astro-q767fpyh){background:var(--color-bg-secondary);border-radius:var(--radius-full);border:1px solid var(--color-border);width:100%;height:6px;overflow:hidden}.password-tool-strength-bar:where(.astro-q767fpyh){border-radius:var(--radius-full);width:0%;height:100%;transition:width .25rem ease, background-color .25rem ease}.password-tool-strength-desc:where(.astro-q767fpyh){color:var(--color-text-secondary);margin:0;font-size:.775rem}.password-tool-action-group:where(.astro-q767fpyh){flex-wrap:wrap;gap:.6rem;display:flex}.password-tool-btn:where(.astro-q767fpyh){border-radius:var(--radius-md);cursor:pointer;box-sizing:border-box;border:1px solid #0000;justify-content:center;align-items:center;gap:.45rem;min-height:2.625rem;padding:.5rem 1rem;font-size:.875rem;font-weight:700;transition:transform .15s,opacity .15s,border-color .15s,background .15s;display:inline-flex}.password-tool-btn--primary:where(.astro-q767fpyh){background:var(--color-brand-primary);color:var(--primary-foreground,#fff);border-color:var(--color-brand-primary);flex:100%}.password-tool-btn--primary:where(.astro-q767fpyh):hover:not(:disabled){opacity:.92;box-shadow:var(--shadow-md);transform:translateY(-1px)}.password-tool-btn--secondary:where(.astro-q767fpyh){background:var(--color-bg-primary);color:var(--color-text-primary);border-color:var(--color-border);flex:calc(50% - .3rem);font-size:.8125rem}.password-tool-btn--secondary:where(.astro-q767fpyh):hover{border-color:var(--color-brand-primary);color:var(--color-brand-primary)}.password-tool-btn:where(.astro-q767fpyh) svg{width:1rem;height:1rem}.password-tool-results-box:where(.astro-q767fpyh){border-radius:var(--radius-lg);background:var(--color-bg-primary);border:1px solid var(--color-border);width:100%;min-height:160px;max-height:320px;color:var(--color-text-primary);font-family:var(--font-mono,monospace);white-space:pre-wrap;word-break:break-all;box-sizing:border-box;padding:1rem;font-size:.875rem;line-height:1.6;overflow-y:auto}.password-tool-placeholder-text:where(.astro-q767fpyh){color:var(--color-text-secondary);opacity:.75;font-size:.825rem}.password-tool-privacy-banner:where(.astro-q767fpyh){border-radius:var(--radius-lg);background:var(--color-bg-secondary);border:1px solid var(--color-border);color:var(--color-text-secondary);text-align:center;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.8125rem;display:flex}.password-tool-privacy-banner:where(.astro-q767fpyh) svg{width:1.1rem;height:1.1rem;color:var(--color-brand-primary);flex-shrink:0}@media (width<=54rem){.password-tool-grid:where(.astro-q767fpyh){grid-template-columns:1fr}.password-tool-card:where(.astro-q767fpyh){padding:var(--space-md);gap:var(--space-md)}.password-tool-btn--secondary:where(.astro-q767fpyh){flex:100%}}
