.fileget-password-generator-page{--fpg-ink:#14233a;--fpg-muted:#6d7d93;--fpg-line:rgba(28,54,86,.12);--fpg-soft:#f7f9fc;--fpg-brand:#2f6df6;--fpg-brand-dark:#2158cf;color:var(--fpg-ink);font-family:inherit;padding:32px 0 64px}
.fileget-password-generator-page *{box-sizing:border-box}
.fileget-password-generator-page [hidden]{display:none!important}
.fileget-password-generator-page button,.fileget-password-generator-page input,.fileget-password-generator-page select{font:inherit}
.fileget-password-generator-page .fpg-shell{width:min(1180px,calc(100% - 32px));margin:0 auto}
.fileget-password-generator-page .fpg-hero{display:flex;justify-content:space-between;gap:32px;align-items:end;margin:0 auto 24px}
.fileget-password-generator-page .fpg-kicker,.fileget-password-generator-page .fpg-eyebrow{font-size:.74rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--fpg-brand)}
.fileget-password-generator-page .fpg-kicker{display:flex;gap:9px;align-items:center}
.fileget-password-generator-page .fpg-kicker-dot{width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 0 5px rgba(47,109,246,.11)}
.fileget-password-generator-page h1{font-size:clamp(2rem,4vw,3.2rem);line-height:1.05;margin:10px 0 10px;font-weight:900;letter-spacing:-.035em}
.fileget-password-generator-page .fpg-hero p{margin:0;color:var(--fpg-muted);font-size:1rem;max-width:720px;line-height:1.8}
.fileget-password-generator-page .fpg-proof{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
.fileget-password-generator-page .fpg-proof span,.fileget-password-generator-page .fpg-live-pill{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border:1px solid var(--fpg-line);border-radius:999px;background:#fff;color:#56677f;font-size:.82rem;font-weight:700;white-space:nowrap}
.fileget-password-generator-page .fpg-card{background:#fff;border:1px solid var(--fpg-line);border-radius:22px;box-shadow:0 18px 50px rgba(26,48,80,.07)}
.fileget-password-generator-page .fpg-workspace{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);overflow:hidden}
.fileget-password-generator-page .fpg-panel{padding:28px}
.fileget-password-generator-page .fpg-settings-panel{border-inline-start:1px solid var(--fpg-line);background:linear-gradient(180deg,#fff 0%,#fbfcfe 100%)}
.fileget-password-generator-page .fpg-panel-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:20px}
.fileget-password-generator-page .fpg-panel-head h2,.fileget-password-generator-page .fpg-results-head h2{margin:6px 0 0;font-size:1.2rem;font-weight:850}
.fileget-password-generator-page .fpg-password-box{min-height:164px;padding:26px 24px;display:flex;align-items:center;gap:18px;border:1px solid rgba(47,109,246,.18);border-radius:20px;background:linear-gradient(145deg,#f8fbff,#eef4ff)}
.fileget-password-generator-page .fpg-password-box code{flex:1;min-width:0;font:700 clamp(1.3rem,3vw,2rem)/1.55 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;overflow-wrap:anywhere;word-break:break-word;color:#18304d}
.fileget-password-generator-page .fpg-icon-btn{width:44px;height:44px;flex:0 0 44px;border:1px solid var(--fpg-line);border-radius:12px;background:#fff;color:#425671;cursor:pointer;font-size:1.05rem}
.fileget-password-generator-page .fpg-icon-btn:hover,.fileget-password-generator-page .fpg-secondary:hover,.fileget-password-generator-page .fpg-result-copy:hover{background:#f1f5fb}
.fileget-password-generator-page .fpg-strength{margin:22px 0 0;padding:18px 18px 16px;border:1px solid var(--fpg-line);border-radius:16px;background:#fff}
.fileget-password-generator-page .fpg-strength-head,.fileget-password-generator-page .fpg-strength-meta{display:flex;justify-content:space-between;gap:16px;align-items:center}
.fileget-password-generator-page .fpg-strength-head{font-size:.88rem;font-weight:750}
.fileget-password-generator-page .fpg-strength-bar{height:9px;margin:10px 0;border-radius:999px;background:#edf1f6;overflow:hidden}
.fileget-password-generator-page .fpg-strength-bar span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ef8f34,#2f6df6);transition:width .2s ease}
.fileget-password-generator-page .fpg-strength-meta{font-size:.76rem;color:var(--fpg-muted)}
.fileget-password-generator-page .fpg-strength-meta b{color:var(--fpg-ink)}
.fileget-password-generator-page .fpg-preview-actions{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:16px}
.fileget-password-generator-page .fpg-primary,.fileget-password-generator-page .fpg-secondary{min-height:48px;border-radius:12px;border:1px solid transparent;cursor:pointer;font-weight:800}
.fileget-password-generator-page .fpg-primary{display:flex;align-items:center;justify-content:center;gap:10px;padding:0 18px;background:var(--fpg-brand);color:#fff;box-shadow:0 10px 22px rgba(47,109,246,.18)}
.fileget-password-generator-page .fpg-primary:hover{background:var(--fpg-brand-dark)}
.fileget-password-generator-page .fpg-secondary{padding:0 16px;border-color:var(--fpg-line);background:#fff;color:#30445f}
.fileget-password-generator-page .fpg-secondary:disabled{opacity:.45;cursor:not-allowed}
.fileget-password-generator-page .fpg-note{display:flex;gap:8px;align-items:flex-start;margin-top:14px;font-size:.77rem;line-height:1.7;color:var(--fpg-muted)}
.fileget-password-generator-page .fpg-note span{color:var(--fpg-brand)}
.fileget-password-generator-page .fpg-range-field{display:block;padding:16px;border:1px solid var(--fpg-line);border-radius:16px;background:#fff}
.fileget-password-generator-page .fpg-range-field>span{display:flex;justify-content:space-between;gap:12px;margin-bottom:13px;font-size:.88rem}
.fileget-password-generator-page .fpg-range-field output{font-weight:850;color:var(--fpg-brand)}
.fileget-password-generator-page .fpg-range-field input{display:block;width:100%;accent-color:var(--fpg-brand)}
.fileget-password-generator-page .fpg-option-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.fileget-password-generator-page .fpg-option{position:relative;display:flex;align-items:center;gap:11px;min-height:64px;padding:11px 13px;border:1px solid var(--fpg-line);border-radius:14px;background:#fff;cursor:pointer}
.fileget-password-generator-page .fpg-option input{position:absolute;inset:0;opacity:0;cursor:pointer}
.fileget-password-generator-page .fpg-checkbox{width:18px;height:18px;flex:0 0 18px;border:1.5px solid #b8c4d4;border-radius:5px;background:#fff}
.fileget-password-generator-page .fpg-option input:checked + .fpg-checkbox{border-color:var(--fpg-brand);background:var(--fpg-brand);box-shadow:inset 0 0 0 3px #fff}
.fileget-password-generator-page .fpg-option b,.fileget-password-generator-page .fpg-toggle b,.fileget-password-generator-page .fpg-custom-symbols b{display:block;font-size:.86rem}
.fileget-password-generator-page .fpg-option small,.fileget-password-generator-page .fpg-toggle small,.fileget-password-generator-page .fpg-custom-symbols small{display:block;margin-top:2px;color:var(--fpg-muted);font-size:.7rem}
.fileget-password-generator-page .fpg-divider{height:1px;background:var(--fpg-line);margin:18px 0}
.fileget-password-generator-page .fpg-toggle-list{display:grid;gap:10px}
.fileget-password-generator-page .fpg-toggle{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:11px;padding:6px 0;cursor:pointer}
.fileget-password-generator-page .fpg-toggle input{position:absolute;opacity:0}
.fileget-password-generator-page .fpg-toggle-track{grid-row:1 / span 2;width:42px;height:24px;position:relative;border-radius:999px;background:#d6dde7;transition:.18s ease;margin-top:2px}
.fileget-password-generator-page .fpg-toggle-track::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(0,0,0,.16);transition:.18s ease}
.fileget-password-generator-page .fpg-toggle input:checked + .fpg-toggle-track{background:var(--fpg-brand)}
.fileget-password-generator-page .fpg-toggle input:checked + .fpg-toggle-track::after{transform:translateX(18px)}
.fileget-password-generator-page .fpg-custom-symbols{display:block;margin-top:16px}
.fileget-password-generator-page .fpg-custom-symbols input{display:block;width:100%;margin-top:9px;min-height:46px;padding:0 12px;border:1px solid var(--fpg-line);border-radius:12px;background:#fff;outline:none;color:#334862}
.fileget-password-generator-page .fpg-custom-symbols input:focus{border-color:rgba(47,109,246,.5);box-shadow:0 0 0 3px rgba(47,109,246,.08)}
.fileget-password-generator-page .fpg-batch-row{display:grid;grid-template-columns:auto 82px 1fr;align-items:center;gap:10px;margin-top:16px}
.fileget-password-generator-page .fpg-batch-row label{font-size:.84rem}
.fileget-password-generator-page .fpg-batch-row select{height:46px;padding:0 11px;border:1px solid var(--fpg-line);border-radius:12px;background:#fff;color:#334862}
.fileget-password-generator-page .fpg-results{margin-top:18px;padding:26px}
.fileget-password-generator-page .fpg-results-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:16px}
.fileget-password-generator-page .fpg-result-list{display:grid;gap:8px}
.fileget-password-generator-page .fpg-result-item{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--fpg-line);border-radius:12px;background:#fbfcfe}
.fileget-password-generator-page .fpg-result-number{font-size:.72rem;font-weight:800;color:var(--fpg-brand)}
.fileget-password-generator-page .fpg-result-item code{min-width:0;font:600 .88rem/1.5 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;overflow-wrap:anywhere;color:#243b57}
.fileget-password-generator-page .fpg-result-copy{min-height:36px;padding:0 12px;border:1px solid var(--fpg-line);border-radius:9px;background:#fff;color:#465a73;cursor:pointer;font-size:.78rem;font-weight:750}
.fileget-password-generator-page .fpg-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}
.fileget-password-generator-page .fpg-fact{padding:20px;border:1px solid var(--fpg-line);border-radius:16px;background:#fff}
.fileget-password-generator-page .fpg-fact span{font-size:.72rem;font-weight:850;color:var(--fpg-brand)}
.fileget-password-generator-page .fpg-fact strong{display:block;margin-top:7px;font-size:.93rem}
.fileget-password-generator-page .fpg-fact p{margin:7px 0 0;color:var(--fpg-muted);font-size:.78rem;line-height:1.7}
@media (max-width:900px){.fileget-password-generator-page .fpg-hero{display:block}.fileget-password-generator-page .fpg-proof{justify-content:flex-start;margin-top:15px}.fileget-password-generator-page .fpg-workspace{grid-template-columns:1fr}.fileget-password-generator-page .fpg-settings-panel{border-inline-start:0;border-top:1px solid var(--fpg-line)}}
@media (max-width:640px){.fileget-password-generator-page{padding:22px 0 44px}.fileget-password-generator-page .fpg-shell{width:min(100% - 20px,1180px)}.fileget-password-generator-page .fpg-panel,.fileget-password-generator-page .fpg-results{padding:18px}.fileget-password-generator-page .fpg-option-grid{grid-template-columns:1fr}.fileget-password-generator-page .fpg-preview-actions{grid-template-columns:1fr}.fileget-password-generator-page .fpg-batch-row{grid-template-columns:1fr 82px}.fileget-password-generator-page .fpg-batch-row .fpg-secondary{grid-column:1 / -1}.fileget-password-generator-page .fpg-result-item{grid-template-columns:28px minmax(0,1fr)}.fileget-password-generator-page .fpg-result-copy{grid-column:2;justify-self:start}.fileget-password-generator-page .fpg-facts{grid-template-columns:1fr}.fileget-password-generator-page .fpg-password-box{min-height:145px;padding:18px}.fileget-password-generator-page .fpg-password-box code{font-size:1.1rem}}
