/* Password generator page (/password-generator). Builds on assets/styles.css
   (help-page, prose-card, button) and assets/learn.css (learn-faq, learn-cta). */
.generator{margin:0 0 26px;padding:28px 30px;border:1px solid #b7d8cd;border-radius:18px;background:#eef8f4;box-shadow:0 15px 36px rgba(29,74,57,.09)}
.generator__title{margin:0 0 14px;font-size:14px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--green)}
.generator__output{display:flex;align-items:stretch;gap:12px}
.generator__result{flex:1 1 auto;min-width:0;display:block;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:#fff;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:19px;line-height:1.45;letter-spacing:.02em;word-break:break-all;overflow-wrap:anywhere;color:var(--ink);user-select:all}
.generator__actions{display:flex;flex-direction:column;gap:8px;flex:0 0 auto}
.generator__actions .button{min-height:44px;white-space:nowrap}
.generator__copied{min-height:18px;margin:8px 0 0;color:var(--green);font-size:13px;font-weight:700}
.generator__strength{margin:12px 0 22px}
.generator__meter{height:8px;overflow:hidden;border-radius:999px;background:#d4e6df}
.generator__meter span{display:block;height:100%;width:0;border-radius:999px;background:#c0392b;transition:width .25s,background .25s}
.generator__meter span[data-level="ok"]{background:#d5a548}
.generator__meter span[data-level="strong"]{background:#3eac7e}
.generator__meter span[data-level="very"]{background:var(--green)}
.generator__strength p{margin:8px 0 0;color:var(--muted);font-size:14px}
.generator__strength strong{color:var(--ink)}
.generator__form{display:grid;gap:18px}
.generator__mode{display:flex;flex-wrap:wrap;gap:10px 22px;margin:0;padding:0;border:0}
.generator__mode legend{padding:0;margin-bottom:8px;font-size:13px;font-weight:800;color:#26473c}
.generator__mode label,.generator__checks label{display:flex;align-items:center;gap:9px;color:#3d4c47;font-size:15px;cursor:pointer}
.generator__mode input,.generator__checks input{width:18px;height:18px;accent-color:var(--green)}
.generator__panel{display:grid;gap:16px}
.generator__row{display:grid;gap:8px}
.generator__row label{display:flex;justify-content:space-between;font-size:14px;font-weight:750;color:#26473c}
.generator__row output{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:700;color:var(--green)}
.generator__row input[type="range"]{width:100%;accent-color:var(--green)}
.generator__row select{min-height:42px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:#fff;font:inherit;font-size:15px;color:var(--ink)}
.generator__checks{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px}
.generator__note{margin:20px 0 0;color:var(--muted);font-size:13px;line-height:1.6}
.generator-page .legal-prose ol,.generator-page .legal-prose ul{color:var(--muted)}
@media(max-width:600px){
  .generator{padding:20px 18px}
  .generator__output{flex-direction:column}
  .generator__actions{flex-direction:row}
  .generator__actions .button{flex:1 1 0}
  .generator__result{font-size:16px}
  .generator__checks{grid-template-columns:1fr}
}
