body,html{color:#f0f0f0;background:linear-gradient(135deg,#000,#0a0a0a,#111,#000);min-height:100vh;max-height:100vh;margin:0;padding:0;font-family:Inter,sans-serif;overflow:hidden auto}body::-webkit-scrollbar{display:none}body{-ms-overflow-style:none;scrollbar-width:none}.bg-gradient-layer1{z-index:-2;background:linear-gradient(135deg,#ffffff08,#9696960a,#c8c8c805,#0000);animation:20s linear infinite moveX;position:fixed;inset:0}.container{box-sizing:border-box;z-index:11;width:100%;max-width:500px;margin:auto;padding:2.5rem;position:relative}.header{text-align:center;z-index:11;margin-bottom:1.5rem}.header h1{margin-bottom:.5rem;font-size:2.5rem}.header p{color:#aaa;font-size:.9rem}.card{z-index:11;background:#141414e6;border:1px solid #ffffff14;border-radius:24px;padding:24px;box-shadow:0 8px 24px #0009,0 0 40px #ffffff05}.upload-text{text-align:center;color:#94a3b8;margin-bottom:1rem}.upload-label{cursor:pointer;text-align:center;border:2px dashed #fff3;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;padding:2rem;transition:all .3s;display:flex}.upload-label:hover{border-color:#ffffff80;transform:scale(1.05);box-shadow:0 0 20px #ffffff0d}.upload-label span{margin-bottom:.5rem}.small-text{color:#64748b;font-size:.8rem}.description-text{text-align:center;color:#64748b;margin-top:1rem;font-size:.85rem}.hidden-input{display:none}.button-wrapper{text-align:center;margin-top:2rem}.main-button{color:#000;cursor:pointer;background:linear-gradient(90deg,#e0e0e0,#fff);border:none;border-radius:24px;width:100%;max-width:250px;margin:0 auto;padding:12px 20px;font-size:1.1rem;font-weight:600;transition:all .2s;display:block;box-shadow:0 4px 15px #ffffff1a}.main-button:hover{opacity:.9;transform:scale(1.03);box-shadow:0 6px 20px #ffffff26}.analyzing{text-align:center;padding:3rem 0}.progress-text{margin-bottom:.5rem;font-size:1rem}.progress-container{background:#1e1e1ecc;border:1px solid #ffffff1a;border-radius:6px;width:100%;max-width:400px;height:12px;margin:1rem auto;overflow:hidden}.progress-bar{background:linear-gradient(90deg,#999,#fff);width:0%;height:100%;transition:none}.progress-number{color:#64748b;font-size:.75rem}.result{position:relative}.result-image{object-fit:contain;border-radius:16px;max-width:100%;max-height:400px;margin:0 auto 1rem;display:block}.result-image-container{border-radius:16px;justify-content:center;width:100%;margin-bottom:1rem;display:flex;overflow:hidden}.result-image-container img{border-radius:16px;max-width:100%;max-height:400px;display:block}.face-overlay-container{width:fit-content;margin:0 auto 1.5rem;line-height:0;display:inline-block;position:relative}.face-overlay-container img{vertical-align:top;border-radius:16px;max-width:100%;max-height:400px;display:block}.face-overlay-container canvas{border-radius:16px}.overlay-controls{background:#14141480;border:1px solid #ffffff1a;border-radius:12px;padding:.5rem .75rem}.rating-display{text-align:center;background:#141414cc;border:1px solid #ffffff1a;border-radius:12px;grid-column:1/4;padding:.75rem}.rating-label{color:#fff;margin-bottom:.5rem;font-size:.9rem;font-weight:600}.rating-bar-container{background:#0f0f0fcc;border:1px solid #ffffff1a;border-radius:8px;width:100%;height:16px;overflow:hidden}.rating-bar{background:linear-gradient(90deg,#999,#fff);border-radius:8px;height:100%;transition:width .3s}.metrics-container{min-height:180px;margin-bottom:1rem;position:relative}.metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;display:grid}.metrics-blurred{filter:blur(6px);opacity:.35;pointer-events:none;-webkit-user-select:none;user-select:none;transition:filter .3s,opacity .3s}.metric-card{text-align:center;background:#141414cc;border:1px solid #ffffff0f;border-radius:12px;padding:8px}.metric-label{color:#64748b;font-size:.75rem}.metric-value{color:#f0f0f0;font-size:1rem}.unlock-section{z-index:10;box-sizing:border-box;pointer-events:auto;flex-direction:column;align-items:center;width:calc(100% - 2rem);max-width:300px;padding:0;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.unlock-button{margin:0 auto .5rem}.estimate-text{text-align:center;margin-top:.5rem}.login-prompt{color:silver;text-align:center;width:100%;margin-top:.5rem;font-size:.75rem}.login-prompt span{cursor:pointer;transition:all .2s}.login-prompt span:hover{color:#fff;text-decoration:underline}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:50;background:#000000bf;justify-content:center;align-items:center;padding:1rem;animation:.3s ease-out fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.auth-modal{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:11;background:#121212f7;border-radius:24px;width:100%;max-width:420px;padding:2rem;animation:.4s cubic-bezier(.16,1,.3,1) slideUp;position:relative;overflow:hidden;box-shadow:0 20px 60px #0009,0 0 0 1px #ffffff14,inset 0 1px #ffffff0d,0 0 60px #ffffff08}.auth-modal-close{color:#b4b4b4cc;cursor:pointer;z-index:10;background:#1e1e1ecc;border:1px solid #ffffff26;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.5rem;line-height:1;transition:all .2s;display:flex;position:absolute;top:1rem;right:1rem}.auth-modal-close:hover{color:#fff;background:#282828;border-color:#fff6;transform:rotate(90deg)}.auth-modal:before{content:"";background:linear-gradient(90deg,#0000,#ffffff26,#0000);height:1px;position:absolute;top:0;left:0;right:0}.auth-modal h2{background:linear-gradient(135deg,#d4d4d4,#fff);-webkit-text-fill-color:transparent;text-align:center;-webkit-background-clip:text;background-clip:text;margin-bottom:1.5rem;font-size:1.75rem;font-weight:700}.auth-modal-input-group{margin-bottom:1rem}.auth-modal input{color:#f0f9ff;box-sizing:border-box;background:#0f172acc;border:1px solid #22d3ee33;border-radius:12px;width:100%;padding:.875rem 1rem;font-size:.95rem;transition:all .2s}.auth-modal input::placeholder{color:#94a3b899}.auth-modal input:focus{background:#1e1e1e;border-color:#fff6;outline:none;box-shadow:0 0 0 3px #ffffff0d}.auth-modal input:hover{border-color:#ffffff4d}.auth-modal-button{color:#000;cursor:pointer;background:linear-gradient(135deg,#d4d4d4,#fff);border:none;border-radius:12px;width:100%;margin-bottom:1rem;padding:.875rem 1.5rem;font-size:1rem;font-weight:600;transition:all .2s;position:relative;overflow:hidden;box-shadow:0 4px 15px #ffffff1a}.auth-modal-button:before{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.auth-modal-button:hover:before{left:100%}.auth-modal-button:hover{transform:translateY(-1px);box-shadow:0 8px 20px #ffffff26}.auth-modal-button:active{transform:translateY(0)}.auth-modal-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth-modal-secondary-button{color:silver;cursor:pointer;background:0 0;border:1px solid #fff3;border-radius:12px;width:100%;margin-bottom:.5rem;padding:.75rem 1.5rem;font-size:.9rem;font-weight:500;transition:all .2s}.auth-modal-secondary-button:hover{color:#fff;background:#ffffff0d;border-color:#fff6}.auth-modal-toggle{text-align:center;color:#94a3b8cc;margin-top:.5rem;font-size:.875rem}.auth-modal-toggle span{color:silver;cursor:pointer;font-weight:500;text-decoration:none;transition:all .2s}.auth-modal-toggle span:hover{color:#fff;text-decoration:underline}.auth-modal-message{color:#94a3b8cc;text-align:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;margin-top:.75rem;padding:.5rem;font-size:.75rem}.auth-modal-resend-button{color:silver;cursor:pointer;background:0 0;border:1px solid #fff3;border-radius:12px;width:100%;margin-top:.75rem;padding:.75rem 1.5rem;font-size:.9rem;font-weight:500;transition:all .2s}.auth-modal-resend-button:hover:not(:disabled){color:#fff;background:#ffffff0d;border-color:#fff6}.auth-modal-resend-button:disabled{opacity:.6;cursor:not-allowed}.auth-modal-resend-message{text-align:center;border-radius:8px;margin-top:.5rem;padding:.5rem;font-size:.75rem}.auth-modal-resend-message.success{color:#22c55ee6;background:#22c55e1a;border:1px solid #22c55e33}.auth-modal-resend-message.error{color:#ef4444e6;background:#ef44441a;border:1px solid #ef444433}@media (max-width:640px){.container{padding:.75rem}.header h1{font-size:2rem}.header p{font-size:.85rem}.card{border-radius:20px;padding:1.25rem}.upload-label{padding:1.5rem}.metrics-container{min-height:160px}.metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}.metric-card{padding:6px}.metric-label{font-size:.7rem}.metric-value{font-size:.9rem}.main-button{max-width:100%;padding:14px 20px;font-size:1rem}.unlock-section{width:calc(100% - 1rem);max-width:280px}.auth-modal{max-width:calc(100% - 2rem);margin:1rem;padding:1.5rem}.auth-modal h2{font-size:1.5rem}.result-image{max-width:100%;max-height:350px}}@media (max-width:480px){.header h1{font-size:1.75rem}.metrics-container{min-height:140px}.metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.card{padding:1rem}.unlock-section{width:calc(100% - .5rem);max-width:100%}}.auth-page{box-sizing:border-box;justify-content:center;align-items:center;height:100vh;max-height:100vh;padding:.5rem 1rem;display:flex;position:relative;overflow:hidden}.auth-container{z-index:11;width:100%;max-width:450px;margin:0 auto;position:relative}.auth-header{text-align:center;cursor:pointer;box-sizing:border-box;background:#ffffff08;border:1px solid #ffffff14;border-radius:12px;width:100%;margin-top:0;margin-bottom:1.5rem;padding:.75rem 1rem;transition:all .3s;display:inline-block}.auth-header:hover{outline-offset:2px;background:#ffffff0f;border-color:#ffffff26;outline:1px solid #ffffff4d}.auth-header h1{background:linear-gradient(135deg,#d4d4d4,#fff);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.5rem;font-size:3rem;transition:all .3s}.auth-header p{color:#b4b4b4cc;font-size:.9rem;transition:all .3s}.auth-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#121212f7;border-radius:24px;padding:2.5rem;position:relative;overflow:hidden;box-shadow:0 20px 60px #0009,0 0 0 1px #ffffff14,inset 0 1px #ffffff0d,0 0 60px #ffffff05}.auth-card:before{content:"";background:linear-gradient(90deg,#0000,#ffffff26,#0000);height:1px;position:absolute;top:0;left:0;right:0}.auth-card h2{background:linear-gradient(135deg,#d4d4d4,#fff);-webkit-text-fill-color:transparent;text-align:center;-webkit-background-clip:text;background-clip:text;margin-bottom:1.5rem;font-size:1.75rem;font-weight:700}.auth-input-group{margin-bottom:1rem}.auth-card input{color:#f0f0f0;box-sizing:border-box;background:#191919cc;border:1px solid #ffffff1a;border-radius:12px;width:100%;padding:.875rem 1rem;font-size:.95rem;transition:all .2s}.auth-card input::placeholder{color:#b4b4b480}.auth-card input:focus{background:#1e1e1e;border-color:#fff6;outline:none;box-shadow:0 0 0 3px #ffffff0d}.auth-card input:hover{border-color:#ffffff4d}.auth-button{color:#000;cursor:pointer;background:linear-gradient(135deg,#d4d4d4,#fff);border:none;border-radius:12px;width:100%;margin-bottom:1rem;padding:.875rem 1.5rem;font-size:1rem;font-weight:600;transition:all .2s;position:relative;overflow:hidden;box-shadow:0 4px 15px #ffffff1a}.auth-button:before{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.auth-button:hover:before{left:100%}.auth-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 20px #ffffff26}.auth-button:active:not(:disabled){transform:translateY(0)}.auth-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth-toggle{text-align:center;color:#94a3b8cc;margin-top:.5rem;font-size:.875rem}.auth-toggle span{color:silver;cursor:pointer;font-weight:500;text-decoration:none;transition:all .2s}.auth-toggle span:hover{color:#fff;text-decoration:underline}.auth-forgot-link{text-align:right;color:#94a3b8cc;margin-top:-.5rem;margin-bottom:.75rem;font-size:.8rem}.auth-forgot-link span{cursor:pointer;transition:all .2s}.auth-forgot-link span:hover{color:#fff;text-decoration:underline}.auth-message{color:#94a3b8cc;text-align:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;margin-top:.75rem;margin-bottom:.5rem;padding:.5rem;font-size:.75rem}.auth-resend-button{color:silver;cursor:pointer;background:0 0;border:1px solid #fff3;border-radius:12px;width:100%;margin-top:.75rem;padding:.75rem 1.5rem;font-size:.9rem;font-weight:500;transition:all .2s}.auth-resend-button:hover:not(:disabled){color:#fff;background:#ffffff0d;border-color:#fff6}.auth-resend-button:disabled{opacity:.6;cursor:not-allowed}.auth-resend-message{text-align:center;border-radius:8px;margin-top:.5rem;padding:.5rem;font-size:.75rem}.auth-resend-message.success{color:#22c55ee6;background:#22c55e1a;border:1px solid #22c55e33}.auth-resend-message.error{color:#ef4444e6;background:#ef44441a;border:1px solid #ef444433}@media (max-width:640px){.auth-page{align-items:flex-start;padding:1rem 1rem .75rem;overflow:hidden}.auth-container{max-width:100%;margin-top:0}.auth-header{margin-bottom:1.25rem;padding:.75rem 1rem}.auth-header h1{margin-bottom:.35rem;font-size:2.25rem}.auth-header p{font-size:.75rem}.auth-card{border-radius:20px;padding:1.75rem 1.5rem}.auth-card h2{margin-bottom:1.25rem;font-size:1.35rem}.auth-input-group{margin-bottom:1rem}.auth-button{margin-bottom:1rem;padding:.875rem 1.25rem;font-size:.95rem}.auth-toggle{margin-top:.5rem;font-size:.85rem}.auth-resend-button{margin-top:.5rem;padding:.65rem 1.25rem;font-size:.85rem}.auth-message{margin-top:.5rem;margin-bottom:.25rem;padding:.4rem;font-size:.7rem}.auth-resend-message{margin-top:.25rem;padding:.4rem;font-size:.7rem}}@media (max-width:480px){.auth-page{padding:.75rem .75rem .5rem}.auth-header{margin-bottom:1rem;padding:.6rem .75rem}.auth-header h1{margin-bottom:.3rem;font-size:2rem}.auth-header p{font-size:.7rem}.auth-card{padding:1.5rem 1.25rem}.auth-card h2{margin-bottom:1rem;font-size:1.25rem}.auth-input-group{margin-bottom:.875rem}.auth-button{margin-bottom:.875rem;padding:.8rem 1rem;font-size:.9rem}}
