.box{padding:1em;background-color:var(--light-color);color:var(--dark-color);border-radius:var(--border-radius);box-shadow:0 0 .375em var(--shadow-color)}.password{position:relative}.password__inner{display:flex;align-items:center}.password__copy{width:2em;height:2em;padding:.25em;font-size:1em;border:none;position:relative;background-color:transparent;flex-shrink:0}.password__copy svg{width:100%;height:100%;object-fit:contain;color:var(--dark-color)}.password__copy .tooltip{position:absolute;left:100%;top:50%;transform:translateY(-50%);margin-left:.5em;padding:.5em;color:var(--dark-color);background-color:var(--light-color);box-shadow:0 0 .5em var(--shadow-color);border-radius:var(--border-radius);user-select:none;pointer-events:none;visibility:hidden;opacity:0;transition:opacity var(--transition-duration)}.password__copy.success svg{color:var(--very-strong-password-color)}@media screen and (hover: hover){.password__copy:hover .tooltip{visibility:visible;opacity:1}}.tooltip.stayVisible{visibility:visible;opacity:1;color:var(--very-strong-password-color)}.password__text{margin:0 auto 0 0;font-weight:700;font-size:1.25em;line-height:1.25em;min-height:1.25em;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;cursor:pointer}.password__level{position:absolute;left:0;bottom:0;display:block;height:.325em;border-bottom-left-radius:var(--border-radius);border-bottom-right-radius:var(--border-radius);width:100%;overflow:hidden}.password__level span{display:block;position:absolute;left:0;bottom:0;height:100%;transition:all .3s linear}.switcher{display:flex;align-items:center;position:relative;padding:.5em 0}.switcher input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.switcher input:checked~.slider:before{background-color:var(--accent-color)}.switcher input:checked~.slider:after{margin-left:1.5em}.switcher .slider{width:3em;height:2em;display:flex;justify-content:center;align-items:center;font-size:.75em;position:absolute;color:var(--light-color)}.switcher .slider:before{content:"";position:absolute;top:50%;transform:translateY(-50%);left:0;width:100%;height:.5em;background-color:var(--mid-alt-color);border-radius:var(--border-radius);transition:background-color var(--transition-duration) ease-in}.switcher .slider:after{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:1.5em;height:1.5em;border-radius:50%;background-color:var(--light-color);border:solid .1em var(--mid-alt-color);box-shadow:0 0 .25em var(--shadow-color);transition:var(--hover-glow-transition),margin-left var(--transition-duration) ease-in}.switcher:hover .slider:after{box-shadow:var(--hover-glow-shadow)}.switcher label{position:relative;font-size:1em;line-height:1.5;padding-left:3em;user-select:none}.length{margin-bottom:1em;display:block}.length input[type=number]{width:2.5em;font-size:1em;padding:.125em;background-color:transparent;color:var(--dark-color);border-radius:calc(var(--border-radius) / 2.5);border:solid 1px var(--dark-color);margin-right:1em}.length input[type=range]::-webkit-slider-thumb:hover{box-shadow:var(--hover-glow-shadow)}.length div{display:flex;align-items:center;margin-top:.25em}input[type=range]{-webkit-appearance:none;margin:18px 0;width:10em;accent-color:var(--accent-color);font-size:.75em}input[type=range]::-webkit-slider-runnable-track{width:100%;height:.5em;cursor:pointer;background-color:var(--mid-alt-color);border-radius:var(--border-radius)}input[type=range]::-webkit-slider-thumb{box-shadow:0 0 .5em var(--shadow-color);border-radius:50%;border:none;font-size:1em;width:2em;height:2em;background-color:var(--accent-color);cursor:pointer;margin-top:-.75em;-webkit-appearance:none;transition:var(--hover-glow-transition)}input[type=range]::-webkit-slider-thumb:active{background-color:var(--accent-color-pressed)}input[type=range]::-moz-range-track{width:100%;height:.25em;cursor:pointer;border-radius:var(--border-radius)}input[type=range]::-moz-range-thumb{box-shadow:0 0 .5em var(--shadow-color);border-radius:50%;border:none;font-size:1.25em;width:1.25em;height:1.25em;background:var(--accent-color);cursor:pointer;transition:var(--hover-glow-transition)}input[type=range]::-moz-range-thumb:focus{background-color:var(--accent-color-pressed)}.settings{margin-top:1em}.settings h3{font-size:1.25em;margin-top:0}.generate{font-size:1em;padding:.5em 1em;border:none;border-radius:var(--border-radius);background-color:var(--accent-color);color:var(--light-color);cursor:pointer;transition:var(--hover-glow-transition)}.generate:hover{box-shadow:var(--hover-glow-shadow)}.generate:active{background-color:var(--accent-color-pressed)}.generate-wrapper{margin-top:1em;display:flex;gap:1rem;align-items:center}.setting-buttons{display:flex;gap:.5rem}.toggle-button{display:flex;font-weight:700;justify-content:center;text-align:center;width:25%}.toggle-button input{width:0;height:0;position:absolute;opacity:0}.toggle-button label{background-color:var(--mid-alt-color);color:var(--light-color);border-radius:var(--border-radius);padding:1rem .5rem;cursor:pointer;flex-grow:1;transition-duration:var(--transition-duration);transition-property:background-color,color,border-color;border-style:solid;border-width:1.5px;border-color:var(--mid-alt-color);user-select:none;box-sizing:border-box;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.toggle-button label:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;border-radius:inherit;pointer-events:none;box-shadow:0 0 .5rem var(--mid-alt-color);transition-property:opacity;transition-duration:var(--transition-duration);opacity:0}.toggle-button label:hover:before{opacity:.5}.toggle-button.checked label{background-color:var(--accent-color);color:var(--light-color);border-color:var(--accent-color)}.toggle-button.checked label:hover:before{box-shadow:0 0 .5rem var(--accent-color)}.toggle-button__label{font-size:1.25rem;font-weight:700;line-height:1}.toggle-button__description{font-size:.8rem;margin-top:.5rem;opacity:.8;font-weight:700;word-break:break-all}.Header{display:flex;align-items:center;justify-content:center;margin-bottom:1.5em}.Header h1{text-align:center;margin-top:0;margin-bottom:0;font-size:2em;font-weight:700}.Header img{width:2em;height:2em;object-fit:contain;position:relative;top:.125em;margin-right:.5em}footer{font-size:.675em;text-align:center;color:var(--light-color);margin-top:1.5rem}footer div:not(:last-child){margin-bottom:.125em}footer a{color:var(--light-color)}.App{height:100%;overflow-y:auto;overflow-x:hidden}.App__inner{height:100%;padding:1em 0;display:flex;flex-direction:column;justify-content:center}button{cursor:pointer}.container{margin:0 auto;width:100%;max-width:480px;height:100%;padding:0 .5em}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--dark-color);background:linear-gradient(to bottom,var(--dark-color),var(--darker-color));background:radial-gradient(var(--dark-color),var(--darker-color));color:var(--light-color);--dark-color: #1d3758;--darker-color: #131e2e;--mid-color: #457b9d;--mid-alt-color: #949494;--mid-alt-color-pressed: #858585;--light-color: #eee;--accent-color: #dc3643;--accent-color-pressed: #d42534;--poor-password-color: hsl(355, 70%, 42%);--average-password-color: hsl(395, 70%, 42%);--strong-password-color: hsl(455, 70%, 42%);--very-strong-password-color: hsl(515, 70%, 42%);--godlike-password-color: hsl(555, 70%, 35%);--shadow-color: #33333366;--border-radius: .5em;--hover-glow-shadow: 0 0 .5em #dc3643aa;--transition-duration: .2s;--hover-glow-transition: box-shadow var(--transition-duration) linear}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}input[type=range]{-webkit-appearance:none;width:100%;background:transparent}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none}input[type=range]:focus{outline:none}input[type=range]::-ms-track{width:100%;cursor:pointer;background:transparent;border-color:transparent;color:transparent}*{box-sizing:border-box}html,body,#app,#root{height:100%;min-width:360px}
