.unlock-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:1rem}.unlock-box{width:100%;max-width:28rem;padding:2rem;position:relative;overflow:hidden}.unlock-header{display:flex;flex-direction:column;align-items:center;margin-bottom:2.5rem;position:relative}.lang-toggle-btn{position:absolute;top:-1rem;right:0;background:hsla(0,0%,100%,.05);border:1px solid rgba(240,240,245,.1);color:rgba(240,240,245,.6);padding:.4rem .8rem;border-radius:.5rem;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s}.lang-toggle-btn:hover{background:hsla(0,0%,100%,.1);color:var(--foreground)}.unlock-logo-box{width:4rem;height:4rem;border-radius:1rem;background-color:hsl(var(--primary)/.2);display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.unlock-logo-icon{color:var(--primary);width:2rem;height:2rem}.unlock-title{font-size:1.875rem;line-height:2.25rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.unlock-subtitle{color:rgba(240,240,245,.6);text-align:center;margin-top:.5rem;font-size:.875rem}.unlock-form{display:flex;flex-direction:column;gap:1rem}.input-container{position:relative}.input-field{width:100%;padding-right:3rem}.input-icon{pointer-events:none}.input-icon,.input-icon-btn{position:absolute;right:1rem;top:50%;transform:translateY(-50%);color:rgba(240,240,245,.4)}.input-icon-btn{background:none;border:none;cursor:pointer;padding:0;transition:color .2s}.input-icon-btn:hover{color:rgba(240,240,245,.8)}.auth-submit-btn{width:100%;padding-bottom:1rem;border-radius:.75rem;margin-top:1rem}.loading-spinner{position:relative;left:50%;transform:translateX(-50%);animation:spinner 1s linear infinite}.signup-prompt{text-align:center;font-size:.875rem;color:rgba(240,240,245,.6);margin-top:1.5rem}.signup-prompt,.unlock-footer{display:flex;flex-direction:column}.unlock-footer{margin-top:1rem;align-items:center;gap:1rem}.create-account-link{font-size:.875rem;font-weight:500;color:var(--foreground);text-decoration:underline;text-underline-offset:4px;background:none;border:none;cursor:pointer;transition:color .2s}.create-account-link:hover{color:var(--primary)}.unlock-disclaimer{font-size:.75rem;color:rgba(240,240,245,.3);text-align:center;text-wrap:balance;margin-top:1rem}.signup-modal-overlay{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:1rem;background-color:rgba(10,10,12,.8);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease-out}.signup-modal-card{width:100%;max-width:28rem;padding:2rem;position:relative;animation:slideUp .3s ease-out}.modal-top-actions{position:absolute;top:1rem;right:1rem;display:flex;align-items:center;gap:.75rem;z-index:10}.modal-top-actions .lang-toggle-btn,.modal-top-actions .modal-close-btn{position:static;top:auto;right:auto}.modal-close-btn{padding:.5rem;color:rgba(240,240,245,.5);background:none;border:none;cursor:pointer;transition:color .2s;display:flex;align-items:center;justify-content:center}.modal-close-btn:hover{color:var(--foreground)}.modal-header{margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem;position:relative;width:100%}.modal-header-icon{color:var(--primary);width:1.5rem;height:1.5rem}.modal-title{font-size:1.5rem;font-weight:700}.error-message{margin-bottom:1rem;padding:.75rem;background-color:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.2);color:#f87171;font-size:.875rem;border-radius:.5rem;text-align:center}.error-message.flex-start{display:flex;align-items:flex-start;gap:.5rem;text-align:left}.error-icon{margin-top:.125rem;flex-shrink:0}.error-text{flex:1 1}.password-requirements{background-color:rgba(240,240,245,.05);padding:.75rem;border-radius:.5rem;border:1px solid rgba(240,240,245,.1);margin-bottom:.5rem}.password-req-title{font-size:11px;color:rgba(240,240,245,.6);line-height:1.625;font-weight:500}.password-req-item{display:block}.password-req-item.marginTop{margin-top:.25rem}.password-req-item.valid{color:#4ade80}.signup-checkboxes{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}.checkbox-container{display:flex;align-items:flex-start;gap:.5rem;cursor:pointer}.checkbox-container input[type=checkbox]{width:.875rem;height:.875rem;margin-top:.125rem;cursor:pointer;accent-color:var(--primary);flex-shrink:0}.checkbox-label{font-size:.75rem;color:rgba(240,240,245,.7);line-height:1.3;-webkit-user-select:none;-moz-user-select:none;user-select:none}.checkbox-link{color:var(--primary);text-decoration:underline;text-underline-offset:2px;transition:color .2s}.checkbox-link:hover{color:var(--foreground)}.signup-submit-btn{font-weight:700;letter-spacing:.025em}.auth-separator{margin-top:1.5rem;margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem}.auth-line{height:1px;background-color:rgba(240,240,245,.1);flex:1 1}.auth-or-text{font-size:.75rem;color:rgba(240,240,245,.3);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.google-auth-btn{width:100%;display:flex;align-items:center;justify-content:center;padding:.75rem 1rem;background-color:hsla(0,0%,100%,.05);color:var(--foreground);font-weight:500;border-radius:.75rem;transition:all .2s;border:1px solid rgba(240,240,245,.1);outline:none}.google-auth-btn:hover{background-color:hsla(0,0%,100%,.1)}.google-auth-btn:active{background-color:hsla(0,0%,100%,.05)}.google-auth-btn:focus{box-shadow:0 0 0 2px rgba(190,158,255,.5)}.google-icon{width:1.25rem;height:1.25rem;margin-right:.75rem}.apple-auth-btn{width:100%;display:flex;align-items:center;justify-content:center;padding:.75rem 1rem;background-color:#fff;color:#000;font-weight:600;border-radius:.75rem;transition:all .2s;border:1px solid hsla(0,0%,100%,.2);outline:none;cursor:pointer;margin-bottom:.75rem}.apple-auth-btn:hover{background-color:#f3f4f6;transform:translateY(-1px);box-shadow:0 4px 12px hsla(0,0%,100%,.15)}.apple-auth-btn:active{background-color:#e5e7eb;transform:translateY(0)}.apple-icon{width:1.25rem;height:1.25rem;margin-right:.75rem}@keyframes spinner{to{transform:translateX(-50%) rotate(1turn)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:translateY(0)}}