body,html,main{height:100%}main{position:relative}header{align-items:center;border-bottom:1px solid #ccc;display:flex;gap:10px;justify-content:center;margin:0 auto}header p{font-size:2rem;font-weight:600}header.small p{font-size:1.2rem}header.small img{height:40px;width:40px}h1{background-color:#1c50b1;color:#fff;font-size:1.5rem;margin:0 0 20px;padding:12px 0;text-align:center;width:100%}h1,h2{font-family:sans-serif}h2{font-size:1.2rem;font-weight:600;margin-bottom:0}input{border:1px solid #ccc;border-radius:5px;padding:10px;width:100%}.link{color:#1c50b1;font-weight:600;text-decoration:none}#container{min-height:600px;width:400px}#container,#options-container{display:flex;flex-direction:column;position:relative}#options-container{margin:auto;max-width:800px;padding-bottom:40px;padding-top:20px;width:100%}#intro{background-color:#fff;display:flex;flex-direction:column;font-size:medium;gap:10px;inset:0;padding:20px;position:absolute}#intro.hidden{display:none}#qr-code-modal{align-items:center;background-color:hsla(0,0%,100%,.9);display:flex;flex-direction:column;gap:20px;inset:0;justify-content:center;position:absolute}#qr-code-modal.hidden{display:none}#option-items{display:flex;flex-direction:column;gap:20px}#account-group{padding:20px 0}#accounts{display:none;flex-direction:column;gap:16px}#accounts.show{display:flex}#accounts-hint{color:#242424;font-size:.8rem;text-align:center;text-style:italic}.account-item{align-items:center;border:1px solid #ccc;border-radius:5px;cursor:pointer;display:flex;font-family:sans-serif;gap:10px;justify-content:space-between;padding:8px 10px;position:relative}.account-item span{font-size:medium;font-weight:550}.account-item-is-copied{align-items:center;background-color:rgba(15,159,7,.808);border-radius:5px;color:#fff;display:flex;font-size:xx-large;font-weight:600;inset:0;justify-content:center;position:absolute}.account-item-is-copied.hidden{display:none}.account-item-details{display:flex;flex-direction:column;gap:5px}.account-item-details-issuer,.account-item-details-name{font-size:large}.account-item-details-totp{font-size:x-large;font-weight:500}#accounts-list{display:flex;flex-direction:column;gap:10px;padding:10px}#accounts-list-none{color:#727272;font-size:1rem;font-weight:600;margin:0}.locked-account{align-items:center;background-color:#cb5a5a;border-radius:5px;color:#fff;display:flex;flex-direction:row;gap:10px;justify-content:center;padding:20px}.locked-account p{font-size:large;text-align:center}.locked-account.hidden{display:none}.failed-account-error{align-items:center;background-color:#cb5a5a;border-radius:5px;color:#fff;display:flex;flex-direction:column;font-size:large;gap:10px;justify-content:center;padding:20px}.failed-account-error p{font-size:large;text-align:center}.failed-account-error.hidden{display:none}.pie-svg{margin-left:5px}.pie-sector{fill:blue}.btn,button{background-color:transparent;border:none;cursor:pointer}.btn{align-items:center;border-radius:5px;color:#fff;display:flex;font-size:large;gap:10px;justify-content:center;padding:7px 12px;text-align:center;text-decoration:none;transition:background-color .3s}.btn-primary{background-color:#1c50b1}.btn-primary:hover{background-color:#143376}.btn-secondary{background-color:#272727}.btn-secondary:hover{background-color:#3b3b3b}.btn-danger{background-color:red}.btn-danger:hover{background-color:#c00}.btn-full{width:100%}.btn-fit{width:fit-content}.btn-large{font-size:x-large;padding:10px 20px}#help-btn{border:1px solid #878787;border-radius:50%;font-size:large;font-weight:600;justify-self:end;margin-left:auto;padding:10px;transition:all .3s ease-in-out}#help-btn:hover{background-color:#d2d2d2}.button-row{border-bottom:1px solid #ccc;gap:12px;justify-content:flex-start;padding:0 10px 16px}.button-row,.center-btn{align-items:center;display:flex}.center-btn{justify-content:center;margin:0 auto;width:100%}.center-btn a,.center-btn button{flex:1}.two-buttons{align-items:center;display:flex;gap:20px;width:100%}.two-buttons button{flex:1}#qr-reader{align-items:center;background-color:#000;display:flex;height:100%;justify-content:center}#add-camera svg{fill:#320fb1}#add-camera.active svg{fill:#980a0a;animation:fade 1s infinite}#no-accounts{font-size:x-large;padding-top:20px;text-align:center}#no-accounts.hidden{display:none}#account-added-modal{align-items:center;background-color:rgba(6,133,36,.9);display:none;gap:10px;inset:0;justify-content:center;position:absolute;z-index:1}#account-added-modal.show{display:flex}#account-added-modal p{color:#fff;font-size:large;font-weight:600;text-align:center}#error-modal{align-items:center;background-color:hsla(0,0%,100%,.9);display:none;flex-direction:column;gap:10px;inset:0;justify-content:center;position:absolute;z-index:1}#error-modal pre{white-space:pre-wrap;word-wrap:break-word;overflow:auto;overflow-wrap:break-word}#error-modal.show{display:flex}#error-message{color:red;font-size:large;margin-bottom:10px;max-width:90%}#req-camera{align-items:center;display:flex;flex-direction:column;gap:10px;justify-content:center}#req-camera p{font-size:large;text-align:center}#req-camera p.error{color:red}#req-camera.hidden{display:none}#cam-access-granted{align-items:center;display:flex;flex-direction:column;gap:10px;justify-content:center;width:100%}#cam-access-granted p{font-size:large;text-align:center}#cam-access-granted svg{height:100px;width:100px;fill:green}#cam-access-granted.hidden{display:none}.option-item{background-color:#f5f5f5;border-radius:5px;padding:20px}#password-form,.option-item{align-items:center;display:flex;flex-direction:column;gap:10px;justify-content:center}#password-form{max-width:500px;width:100%}#password-form label{font-size:large}#password-form-container.hidden,#password-form.hidden{display:none}#password-is-set{align-items:center;background-color:#f5f5f5;border-radius:5px;display:flex;flex-direction:column;gap:20px;justify-content:center;padding:20px}#password-is-set p{font-size:large;text-align:center}#password-is-set input{width:100%}#password-is-set.hidden{display:none}.bg-opacity-60{background-color:hsla(0,0%,100%,.6)}.bg-opacity-30{background-color:hsla(0,0%,100%,.3)}.expiring{animation:fade 1s infinite;color:red}#donate-container{align-items:center;background-color:#f5f5f5;border-radius:5px;display:flex;flex-direction:column;gap:10px;justify-content:center;margin-bottom:20px;padding:20px}#donate-container p{font-size:large;text-align:center}@keyframes fade{0%{opacity:.3}50%{opacity:1}to{opacity:.3}}.password-feedback{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:20px 0;min-height:120px;width:100%}.password-feedback .strength-label{display:block;font-size:14px;margin-bottom:8px;width:100%}.password-feedback .strength-label strong{font-weight:600}.password-feedback .strength-bar-container{align-items:center;display:flex;gap:8px;margin-bottom:8px;width:100%}.password-feedback .strength-bar-container .strength-bar{background-color:#e5e7eb;border-radius:4px;flex:1 1 auto;height:16px;min-width:200px;overflow:hidden;position:relative}.password-feedback .strength-bar-container .strength-bar-fill{height:100%;transition:width .3s ease;width:0}.password-feedback .strength-bar-container .strength-icon{flex:0 0 24px;height:24px;width:24px}.password-feedback .crack-time{color:#6b7280;font-size:12px;margin-top:4px;min-height:1.5em;width:100%}.password-feedback .crack-time strong{font-weight:600}.password-feedback .crack-time .loading-text{align-items:center;display:none;width:100%}.password-feedback .crack-time .crack-time-text{display:block;width:100%}.password-feedback .crack-time .loading-spinner{animation:spin 1s linear infinite;border:2px solid #6b7280;border-radius:50%;border-top-color:transparent;display:inline-block;flex-shrink:0;height:12px;margin-right:8px;width:12px}.password-feedback.loading .crack-time .loading-text{display:flex}.password-feedback.loading .crack-time .crack-time-text{display:none}.password-feedback .suggestions{color:#1f2937;display:none;font-size:12px;margin-top:16px;min-height:0;width:100%}.password-feedback .suggestions strong{font-weight:600}.password-feedback .suggestions ul{list-style-type:disc;margin-top:8px;padding-left:20px}.password-feedback .suggestions ul li{margin-bottom:4px}.password-feedback .suggestions.has-suggestions{display:block}.password-feedback.score-0 .strength-bar-fill{background:red}.password-feedback.score-1 .strength-bar-fill{background:linear-gradient(90deg,red,#f40)}.password-feedback.score-2 .strength-bar-fill{background:linear-gradient(90deg,red,#f40,#ffa200)}.password-feedback.score-3 .strength-bar-fill{background:linear-gradient(90deg,red,#f40,#ffa200,#ff0)}.password-feedback.score-4 .strength-bar-fill{background:linear-gradient(90deg,red,#f40,#ffa200,#ff0,#37ff00)}@keyframes spin{to{transform:rotate(1turn)}}