.password-hero{padding-bottom:var(--space-6)}.password-hero__grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,0.92fr);gap:var(--space-6);align-items:start}.password-hero__content,.password-hero__aside,.password-form-card,.password-strength-card,.password-results-card{height:100%}.password-hero__content{position:relative}.password-trust-inline{display:flex;flex-wrap:wrap;gap:0.75rem;margin-bottom:var(--space-5)}.password-trust-pill{display:inline-flex;align-items:center;padding:0.5rem 0.9rem;border:1px solid rgba(0,87,168,0.14);border-radius:var(--radius-pill);background:rgba(255,255,255,0.82);color:var(--color-primary-dark);font-size:0.9rem;font-weight:700;box-shadow:0 10px 24px rgba(15,53,87,0.05)}.password-tool-section{padding-top:0}.password-tool-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,0.95fr);gap:var(--space-5);align-items:start}.password-form{gap:var(--space-4)}.password-form-card,.password-strength-card,.password-results-card,.password-recommendations-card{border-color:rgba(0,87,168,0.12);background:linear-gradient(180deg,rgba(255,255,255,0.99) 0%,rgba(245,250,253,0.98) 100%)}.password-fieldset{margin:0;padding:var(--space-5);border:1px solid rgba(0,87,168,0.12);border-radius:1.2rem;background:linear-gradient(180deg,rgba(248,251,253,0.92) 0%,rgba(255,255,255,0.94) 100%)}.password-fieldset legend{padding:0 var(--space-2);color:var(--color-primary-dark);font-weight:800;letter-spacing:-0.01em}.password-fieldset__intro{margin-bottom:var(--space-4);color:var(--color-text-soft);font-size:0.95rem}.password-length-controls{display:grid;grid-template-columns:minmax(0,1fr) 140px;gap:var(--space-4);align-items:end}.password-length-meta{display:flex;justify-content:space-between;gap:var(--space-3);align-items:center;margin-top:var(--space-3)}.password-length-current{margin:0;color:var(--color-primary-dark);font-size:0.92rem;font-weight:700;white-space:nowrap}.password-length-slider input[type="range"]{min-height:auto;padding:0;border:0;background:transparent;box-shadow:none;accent-color:var(--color-primary)}.password-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.checkbox-card,.toggle-row{display:flex;gap:0.85rem;align-items:start;padding:1rem 1.05rem;border:1px solid var(--color-border);border-radius:1rem;background:rgba(255,255,255,0.96);transition:border-color 180ms ease,box-shadow 180ms ease,background-color 180ms ease,transform 180ms ease}.checkbox-card:hover,.toggle-row:hover{transform:translateY(-1px);border-color:rgba(0,87,168,0.28);box-shadow:0 14px 30px rgba(15,53,87,0.08)}.checkbox-card:has(input:checked),.toggle-row:has(input:checked){border-color:rgba(0,87,168,0.28);background:linear-gradient(180deg,rgba(234,244,251,0.9) 0%,rgba(255,255,255,0.98) 100%);box-shadow:0 12px 28px rgba(15,53,87,0.08)}.checkbox-card:focus-within,.toggle-row:focus-within{border-color:rgba(0,87,168,0.42);box-shadow:0 0 0 4px rgba(120,191,232,0.16)}.checkbox-card input,.toggle-row input{width:1.1rem;height:1.1rem;margin-top:0.2rem;accent-color:var(--color-primary);flex:0 0 auto}.checkbox-card__body{display:grid;gap:0.15rem}.checkbox-card__body strong,.toggle-row span{color:var(--color-text);font-weight:700}.checkbox-card__body small{color:var(--color-text-faint);font-size:0.88rem}.password-toggle-list{display:grid;gap:var(--space-3)}.password-form__grid{grid-template-columns:220px}.password-form-card .button--primary:active,.password-results-card .button--secondary:active{transform:translateY(0)}.password-assurance{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.password-assurance__item{padding:1rem 1.1rem;border:1px solid rgba(0,87,168,0.12);border-radius:1rem;background:rgba(234,244,251,0.62)}.password-assurance__item strong{display:block;margin-bottom:0.35rem;color:var(--color-primary-dark)}.password-assurance__item p{margin:0;color:var(--color-text-soft);font-size:0.94rem}.password-assurance__item code{color:var(--color-primary-dark);font-weight:700}.strength-meter{display:grid;gap:var(--space-4)}.strength-meter__bar{position:relative;height:1rem;overflow:hidden;border-radius:var(--radius-pill);background:linear-gradient(90deg,rgba(197,90,65,0.2) 0%,rgba(184,132,29,0.18) 34%,rgba(31,122,99,0.18) 67%,rgba(0,87,168,0.2) 100%)}.strength-meter__fill{display:block;width:var(--strength-width,50%);height:100%;border-radius:inherit;transition:width 220ms ease,background-color 220ms ease,box-shadow 220ms ease}.strength-meter__fill.is-weak,.password-strength-badge.is-weak{background:#c55a41}.strength-meter__fill.is-medium,.password-strength-badge.is-medium{background:#b8841d}.strength-meter__fill.is-strong,.password-strength-badge.is-strong{background:#1f7a63}.strength-meter__fill.is-very-strong,.password-strength-badge.is-very-strong{background:var(--color-primary)}.strength-meter__fill.is-weak,.strength-meter__fill.is-medium,.strength-meter__fill.is-strong,.strength-meter__fill.is-very-strong{box-shadow:inset 0 0 0 1px rgba(255,255,255,0.12)}.strength-meter__summary{display:grid;gap:var(--space-2)}.strength-meter__summary strong{color:var(--color-primary-dark);font-size:1.28rem}.strength-meter__summary span{color:var(--color-text-soft)}.strength-meter__scale{display:grid;grid-template-columns:repeat(4,1fr);gap:0.5rem;color:var(--color-text-faint);font-size:0.8rem;font-weight:700}.password-summary-tags{margin-top:var(--space-4)}.password-score-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);margin-top:var(--space-4)}.password-score-card{padding:1rem;border:1px solid rgba(0,87,168,0.12);border-radius:1rem;background:rgba(255,255,255,0.84)}.password-score-card__label{display:block;margin-bottom:0.3rem;color:var(--color-text-faint);font-size:0.82rem;font-weight:700;text-transform:uppercase;letter-spacing:0.08em}.password-score-card__value{color:var(--color-primary-dark);font-size:1.12rem}.password-results-shell{display:grid;gap:var(--space-4)}.password-results-empty{margin:0}.password-results-list{display:grid;gap:var(--space-3);list-style:none}.password-result-item{display:flex;justify-content:space-between;gap:var(--space-4);align-items:center;padding:var(--space-4);border:1px solid rgba(0,87,168,0.12);border-radius:1rem;background:linear-gradient(180deg,rgba(255,255,255,0.98) 0%,rgba(246,250,253,0.96) 100%);transition:border-color 180ms ease,box-shadow 180ms ease,transform 180ms ease}.password-result-item:hover{transform:translateY(-1px);border-color:rgba(0,87,168,0.26);box-shadow:0 14px 30px rgba(15,53,87,0.08)}.password-result-content{display:grid;gap:var(--space-3);min-width:0}.password-result-meta{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.password-result-index{color:var(--color-text-faint);font-size:0.85rem;font-weight:700;letter-spacing:0.04em;text-transform:uppercase}.password-result-value{display:inline-block;max-width:100%;padding:0.95rem 1rem;overflow-wrap:anywhere;border-radius:0.95rem;background:rgba(234,244,251,0.78);color:var(--color-primary-dark);font-family:Consolas,"Courier New",monospace;font-size:1rem;font-weight:700}.password-strength-badge{padding:0.35rem 0.7rem;border-radius:var(--radius-pill);color:#fff;font-size:0.8rem;font-weight:700}.password-copy-button{min-width:7rem}.password-results-footnote{margin:var(--space-4) 0 0;color:var(--color-text-faint);font-size:0.92rem}.password-copy-feedback,.form-feedback{min-height:1.5rem;margin:0;font-weight:600}.form-feedback[data-state="error"]{color:#a33b2c}.form-feedback[data-state="success"]{color:#166947}.field input.is-invalid,.field select.is-invalid{border-color:rgba(163,59,44,0.45);box-shadow:0 0 0 4px rgba(163,59,44,0.08)}body[data-page="password-generator"] .page-heading h1{max-width:13ch}@media (max-width:900px){.password-hero__grid,.password-tool-layout,.password-option-grid,.password-assurance,.password-score-grid{grid-template-columns:1fr}}@media (max-width:720px){.password-length-controls,.password-form__grid{grid-template-columns:1fr}.password-length-meta{flex-direction:column;align-items:flex-start}.password-result-item{flex-direction:column;align-items:stretch}.password-copy-button{width:100%}.strength-meter__scale{grid-template-columns:repeat(2,1fr)}}
