.pwgen{flex-direction:column;gap:22px;max-width:600px;margin:0 auto;display:flex}.pwgen>*{position:relative}.tool-root[data-tool=password-generator]>.pwgen{padding-top:clamp(.45rem,2vw,1rem)}.tool-root[data-tool=password-generator] .pwgen .t-intro{margin:0 0 -.125rem}@media (orientation:portrait){.tool-root[data-tool=password-generator] .pwgen .t-intro{margin-bottom:calc(clamp(.45rem,2vw,1rem) - 1.375rem)}}.pwgen-note{text-align:center;color:var(--t-muted);margin:0;font-size:.85rem}.pwgen-display{border:1px solid var(--t-edge);background:#00000073;border-radius:14px;align-items:center;gap:12px;padding:16px 16px 16px 18px;display:flex;box-shadow:inset 0 0 0 1px #34d39914,inset 0 0 40px #22d3ee14}.pwgen-password{white-space:nowrap;min-width:0;font:600 1.25rem/1.4 var(--t-mono);letter-spacing:.06em;color:#eafff6;text-shadow:0 0 12px #34d39973;flex:1;overflow-x:auto}.pwgen-password.empty{letter-spacing:normal;color:var(--t-muted);text-shadow:none;font-family:inherit;font-size:.95rem;font-weight:400}.pwgen-display-btns{flex-shrink:0;gap:8px;display:flex}.pwgen-icon-btn{width:44px;height:44px;color:var(--t-text);border:1px solid var(--t-edge);background:#ffffff0d;border-radius:10px;font-size:1.15rem;transition:background .2s,color .2s,transform .15s}@media (hover:hover){.pwgen-icon-btn:hover:not(:disabled){background:#ffffff1a;transform:translateY(-1px)}}.pwgen-icon-btn.copied{color:#0b0d18;background:linear-gradient(135deg, var(--t-from), var(--t-to));border-color:#0000}.pwgen-icon-btn:disabled{opacity:.3}@media only screen and (width<=600px){.pwgen-password{white-space:normal;word-break:break-all;font-size:1.05rem}}.pwgen-strength-row,.pwgen-length-row{justify-content:space-between;align-items:center;display:flex}.pwgen-strength-row{font-family:var(--t-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--t-muted);font-size:.8rem}.pwgen-strength-label{color:var(--t-text)}.pwgen-strength-label.score-1{color:#fb7185}.pwgen-strength-label.score-2{color:#fbbf24}.pwgen-strength-label.score-3,.pwgen-strength-label.score-4{color:#34d399}.pwgen-strength-bars{gap:6px;margin-top:8px;display:flex}.pwgen-strength-bar{background:#ffffff14;border-radius:99px;flex:1;height:6px;transition:background .4s,box-shadow .4s}.pwgen-strength-bar.score-1{background:#fb7185}.pwgen-strength-bar.score-2{background:#fbbf24}.pwgen-strength-bar.score-3,.pwgen-strength-bar.score-4{background:linear-gradient(90deg, var(--t-from), var(--t-to));box-shadow:0 0 10px var(--t-glow)}.pwgen-options{flex-direction:column;gap:22px;display:flex}.pwgen-length label{font-weight:600}.pwgen-length input[type=range]{width:100%;height:32px;accent-color:var(--t-to);touch-action:pan-y}.pwgen-length input.pwgen-length-number{width:4.5em;font:800 1.2rem/1 var(--t-mono);text-align:center;color:var(--t-text);border:1px solid var(--t-edge);box-sizing:border-box;background:#00000059;border-radius:10px;margin:0;padding:8px}.pwgen-length input.pwgen-length-number:focus{border-color:var(--t-from);box-shadow:0 0 0 4px var(--t-glow);outline:none}.pwgen-length-limits{font-family:var(--t-mono);color:var(--t-muted);font-size:.8rem}.pwgen-types{border:none;min-width:0;margin:0;padding:0}.pwgen-types legend{margin-bottom:10px;font-weight:600}.pwgen-types-grid{grid-template-columns:repeat(auto-fill,minmax(min(200px,100%),1fr));gap:10px;display:grid}.pwgen-type{border:1px solid var(--t-edge);cursor:pointer;background:#ffffff08;border-radius:12px;align-items:center;gap:10px;padding:12px 14px;transition:border-color .2s,background .2s;display:flex}.pwgen-type:has(input:checked){background:#34d39912;border-color:#34d39973}.pwgen-type input{accent-color:var(--t-to);width:18px;height:18px}.pwgen-type-desc{font-family:var(--t-mono);color:var(--t-muted);margin-left:auto;font-size:.8rem}.pwgen-generate{width:100%;padding:16px;font-size:1.1rem}@media (orientation:landscape){.pwgen-password{font-size:2.5rem;line-height:1.3}.pwgen-password.empty{font-size:1.9rem}}.pwgen-attract .pwgen-display{animation:9s linear infinite pwgen-beat-box}.pwgen-attract .pwgen-regen{animation:9s linear 1.5s infinite pwgen-beat-btn}@media (prefers-reduced-motion:reduce){.pwgen-attract .pwgen-display,.pwgen-attract .pwgen-regen{animation:none}}@keyframes pwgen-beat-box{0%,33.333%,66.667%,to{border-color:#ffffff17;box-shadow:0 0 #fff0}16.667%{border-color:#22d3eeb3;box-shadow:0 0 1.25rem #22d3ee4d}50%{border-color:#4ade80b3;box-shadow:0 0 1.25rem #4ade804d}83.333%{border-color:#60a5fab3;box-shadow:0 0 1.25rem #60a5fa4d}}@keyframes pwgen-beat-btn{0%,33.333%,66.667%,to{color:#eef1ff;border-color:#ffffff17;box-shadow:0 0 #fff0}16.667%{color:#a78bfad9;border-color:#a78bfab3;box-shadow:0 0 1.1rem #a78bfa59}50%{color:#f472b6d9;border-color:#f472b6b3;box-shadow:0 0 1.1rem #f472b659}83.333%{color:#fb923cd9;border-color:#fb923cb3;box-shadow:0 0 1.1rem #fb923c59}}.pwgen-copy-ready{animation:2.4s ease-in-out infinite pwgen-copy-green}.pwgen-icon-btn.pwgen-copy-going{color:#fb923c;background:#fb923c1f;border-color:#fb923cb3;animation:1s ease-in-out infinite pwgen-copy-orange}.pwgen-icon-btn.pwgen-copy-gone,.pwgen-icon-btn.pwgen-copy-gone:disabled{opacity:1;color:#f87171;background:#f8717124;border-color:#f87171cc}@media (prefers-reduced-motion:reduce){.pwgen-copy-ready,.pwgen-icon-btn.pwgen-copy-going{animation:none}}@keyframes pwgen-copy-green{0%,to{color:#4ade80bf;border-color:#4ade8059;box-shadow:0 0 #4ade8000}50%{color:#4ade80;border-color:#4ade80e6;box-shadow:0 0 1.1rem #4ade8073}}@keyframes pwgen-copy-orange{0%,to{box-shadow:0 0 #fb923c00}50%{box-shadow:0 0 1.1rem #fb923c73}}
