.passgen{max-width:var(--max-w);margin:0 auto;padding:0 2.5rem}.passgen__back{font-family:var(--font-mono);font-size:.8125rem;color:var(--c-text-3);text-decoration:none;letter-spacing:.02em;transition:color .2s ease;display:inline-block;margin-bottom:2rem}.passgen__back:hover{color:var(--c-accent)}.passgen__title{font-family:var(--font-display);font-size:clamp(2rem,4vw,3rem);font-weight:700;line-height:1.15;letter-spacing:-.02em;color:var(--c-text);font-variation-settings:'opsz' 72;margin-bottom:.75rem}.passgen__desc{font-size:1.0625rem;color:var(--c-text-2);line-height:1.6;max-width:640px;margin-bottom:3rem}.passgen__options{display:flex;flex-wrap:wrap;gap:2rem;margin-bottom:2rem;padding:1.5rem;background:var(--c-bg-elevated);border:1px solid var(--c-border);border-radius:6px}.passgen__option-group{display:flex;flex-direction:column;gap:.5rem}.passgen__option-label{font-family:var(--font-mono);font-size:.6875rem;font-weight:500;color:var(--c-text-3);text-transform:uppercase;letter-spacing:.08em}.passgen__option-buttons{display:flex;gap:.375rem}.passgen__option-btn{font-family:var(--font-mono);font-size:.8125rem;font-weight:400;color:var(--c-text-2);background:var(--c-tag-bg);border:1px solid var(--c-tag-border);border-radius:100px;padding:.375rem .875rem;cursor:pointer;letter-spacing:.02em;transition:all .2s ease;line-height:1.4}.passgen__option-btn:hover{color:var(--c-text);border-color:var(--c-accent)}.passgen__option-btn--active{background:var(--c-accent);color:#fff;border-color:var(--c-accent)}.passgen__option-btn--active:hover{background:var(--c-accent-hover);border-color:var(--c-accent-hover);color:#fff}.passgen__output{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.passgen__row{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--c-bg-elevated);border:1px solid var(--c-border);border-radius:4px;padding:1rem 1.25rem;transition:border-color .2s ease}.passgen__row:hover{border-color:var(--c-accent)}.passgen__password{font-family:var(--font-mono);font-size:.9375rem;font-weight:400;color:var(--c-text);letter-spacing:.01em;word-break:break-all;flex:1;user-select:all;line-height:1.5}.passgen__copy{font-family:var(--font-mono);font-size:.75rem;font-weight:500;color:var(--c-text-3);background:0 0;border:1px solid var(--c-border);border-radius:100px;padding:.3125rem .875rem;cursor:pointer;letter-spacing:.04em;text-transform:uppercase;transition:all .2s ease;white-space:nowrap;flex-shrink:0}.passgen__copy:hover{color:var(--c-text);border-color:var(--c-text-3)}.passgen__copy--copied{color:var(--c-accent);border-color:var(--c-accent)}.passgen__actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:3rem}.passgen__generate{font-family:var(--font-mono);font-size:.8125rem;font-weight:500;color:#fff;background:var(--c-accent);border:none;border-radius:100px;padding:.625rem 1.75rem;cursor:pointer;letter-spacing:.04em;text-transform:uppercase;transition:background .2s ease}.passgen__generate:hover{background:var(--c-accent-hover)}.passgen__entropy{font-family:var(--font-mono);font-size:.8125rem;color:var(--c-text-3);letter-spacing:.02em}.passgen__info{padding-top:2rem;border-top:1px solid var(--c-border);margin-bottom:4rem}.passgen__info p{font-size:.9375rem;color:var(--c-text-3);line-height:1.7;max-width:640px}.passgen__info a{color:var(--c-accent);text-decoration:none;transition:color .2s ease}.passgen__info a:hover{color:var(--c-accent-hover)}@media(max-width:768px){.passgen{padding:0 1.5rem}.passgen__options{flex-direction:column;gap:1.25rem;padding:1.25rem}.passgen__password{font-size:.8125rem}.passgen__row{padding:.875rem 1rem}.passgen__actions{flex-direction:column;align-items:stretch;text-align:center}}@media(max-width:480px){.passgen__password{font-size:.75rem}.passgen__option-buttons{flex-wrap:wrap}}