.password-generator-section{width:100%;padding:clamp(1.25rem, 3vw, 2.5rem) var(--page-padding);background:var(--surface-utilities)}.password-generator-shell{border:1px solid var(--grey-300);background:var(--white);border-radius:1.25rem;width:100%;margin-inline:auto;overflow:hidden;box-shadow:0 1.25rem 3.5rem #03214814}.password-generator-heading{border-bottom:1px solid var(--grey-200);justify-content:space-between;align-items:center;gap:2rem;padding:clamp(1.25rem,2.8vw,2rem);display:flex}.password-generator-heading h1{margin-bottom:.5rem;font-size:clamp(1.75rem,3vw,2.5rem)}.password-generator-heading>div>p:last-child{max-width:42rem;color:var(--grey-700);margin:0}.password-generator-workspace{grid-template-columns:minmax(20rem,.9fr) minmax(24rem,1.1fr);gap:clamp(1.5rem,3vw,3rem);padding:clamp(1.25rem,2.8vw,2rem);display:grid}.password-generator-controls,.password-generator-results{min-width:0}.password-generator-picker,.password-generator-check-group,.password-generator-choice-grid,.password-generator-minimums{border:0;min-width:0;margin:0;padding:0}.password-generator-picker>legend,.password-generator-check-group>legend,.password-generator-choice-grid>legend,.password-generator-minimums>legend{color:var(--navy-950);margin-bottom:.6rem;padding:0;font-size:.91rem;font-weight:800}.password-generator-segmented{gap:.45rem;display:grid}.password-generator-segmented--three{grid-template-columns:repeat(3,minmax(0,1fr))}.password-generator-segmented--presets{grid-template-columns:repeat(5,minmax(0,1fr))}.password-generator-segmented label{cursor:pointer;position:relative}.password-generator-segmented input{opacity:0;width:1px;height:1px;position:absolute}.password-generator-segmented span{border:1px solid var(--grey-300);background:var(--white);min-height:2.75rem;color:var(--grey-700);text-align:center;border-radius:.65rem;place-items:center;padding:.35rem;font-size:.82rem;font-weight:750;display:grid}.password-generator-segmented input:checked+span{background:var(--blue-100);color:var(--blue-700);border-color:#8bb7df}.password-generator-segmented input:focus-visible+span,.password-generator-controls input:focus-visible,.password-generator-advanced summary:focus-visible{outline:2px solid var(--blue-700);outline-offset:3px;box-shadow:var(--focus-ring)}.password-generator-control-section{border-top:1px solid var(--grey-200);margin-top:1.45rem;padding-top:1.35rem}.password-generator-control-section h2,.password-generator-results h2{margin-bottom:.8rem;font-size:1.05rem}.password-generator-number,.password-generator-advanced-body>label,.password-generator-control-section>label{color:var(--navy-950);gap:.38rem;font-size:.88rem;font-weight:750;display:grid}.password-generator-number input,.password-generator-advanced-body>label input,.password-generator-control-section>label input{border:1px solid var(--grey-300);background:var(--white);width:100%;min-height:2.85rem;color:var(--navy-950);font:inherit;border-radius:.65rem;padding:.65rem .75rem}.password-generator-controls input[aria-invalid=true]{border-color:#a1261e}.password-generator-check-group{margin-top:1rem}.password-generator-check-group,.password-generator-check-stack{grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem .8rem;display:grid}.password-generator-check-stack{margin-top:.8rem}.password-generator-check-group label,.password-generator-check-stack label,.password-generator-choice-grid label{min-height:2.75rem;color:var(--navy-950);cursor:pointer;align-items:center;gap:.55rem;font-size:.86rem;font-weight:700;display:flex}.password-generator-check-group input,.password-generator-check-stack input,.password-generator-choice-grid input{width:1.1rem;height:1.1rem;accent-color:var(--blue-700);flex:none}.password-generator-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.25rem .6rem;margin-top:1rem;display:grid}.password-generator-choice-grid legend{grid-column:1/-1}.password-generator-help{color:var(--grey-600);margin:.25rem 0 0;font-size:.82rem}.password-generator-errors p,.password-generator-result-error{color:#a1261e;margin:.45rem 0 0;font-size:.84rem;font-weight:700}.password-generator-advanced{border-top:1px solid var(--grey-200);border-bottom:1px solid var(--grey-200);margin-top:1rem}.password-generator-advanced summary{min-height:3rem;color:var(--blue-700);cursor:pointer;border-radius:.4rem;padding:.8rem .2rem;font-weight:800}.password-generator-advanced-body{gap:.85rem;padding:.35rem 0 1.2rem;display:grid}.password-generator-minimums{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;display:grid}.password-generator-minimums legend{grid-column:1/-1}.password-generator-submit{width:100%;margin-top:1.4rem}.password-generator-results{border:1px solid var(--grey-200);background:#f8fafb;border-radius:1rem;align-self:start;padding:clamp(1rem,2vw,1.5rem)}.password-generator-results-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.password-generator-live{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.password-generator-empty{min-height:22rem;color:var(--grey-500);text-align:center;place-content:center;padding:2rem;display:grid}.password-generator-empty p{margin-bottom:.4rem}.password-generator-empty strong{color:var(--grey-700)}.password-generator-result-list{gap:.75rem;margin:.6rem 0 0;padding:0;list-style:none;display:grid}.password-generator-result-list>li{border:1px solid var(--grey-200);background:var(--white);border-radius:.75rem;min-width:0;padding:.9rem}.password-generator-value{background:var(--blue-50);min-width:0;color:var(--navy-950);border-radius:.5rem;padding:.8rem}.password-generator-value code,.password-generator-hidden-value{overflow-wrap:anywhere;word-break:break-word;max-width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:clamp(.9rem,1.5vw,1.05rem);font-weight:700;line-height:1.55;display:block}.password-generator-entropy{color:var(--grey-600);flex-wrap:wrap;justify-content:space-between;gap:.35rem .8rem;margin-top:.6rem;font-size:.78rem;display:flex}.password-generator-entropy strong{color:var(--navy-950)}.password-generator-result-actions{flex-wrap:wrap;gap:.45rem;margin-top:.65rem;display:flex}.password-generator-entropy-help{background:var(--white);color:var(--grey-600);border-inline-start:.25rem solid #8ba9c3;margin-top:1rem;padding:.85rem 1rem;font-size:.8rem}.password-generator-entropy-help p{margin-bottom:.35rem}.password-generator-entropy-help p:last-child{margin-bottom:0}.password-generator-footer-actions{justify-content:space-between;align-items:center;gap:.75rem;margin-top:1rem;display:flex}.password-generator-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=58rem){.password-generator-heading{flex-direction:column;align-items:flex-start}.password-generator-heading .privacy-note{max-width:100%}.password-generator-workspace{grid-template-columns:1fr}}@media (width<=35rem){.password-generator-section{padding-inline:.75rem}.password-generator-workspace{padding-inline:.85rem}.password-generator-segmented--presets{grid-template-columns:repeat(2,minmax(0,1fr))}.password-generator-check-group,.password-generator-check-stack,.password-generator-minimums,.password-generator-choice-grid{grid-template-columns:1fr}.password-generator-choice-grid legend,.password-generator-minimums legend{grid-column:auto}.password-generator-results-heading,.password-generator-footer-actions{flex-direction:column;align-items:stretch}.password-generator-footer-actions .action--primary{width:100%}}@media (prefers-reduced-motion:reduce){.password-generator-shell *{scroll-behavior:auto}}
