.signup-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.9);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:0;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.signup-modal-content{background:#0a0a0a;border:1px solid #333;border-radius:0;width:85%;max-width:850px;max-height:95vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.5);animation:slideUp .3s ease;position:relative;margin:0;display:flex;flex-direction:column}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.signup-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid #333;background:#111;flex-shrink:0}.signup-modal-title h1{margin:0;font-size:1.25rem;font-weight:700;color:#fff;font-family:Hanken Grotesk,sans-serif;line-height:1.2}.signup-modal-title p{margin:.25rem 0 0;font-size:.75rem;color:#888;line-height:1.4}.signup-modal-close{background:#222;border:1px solid #444;font-size:1.5rem;color:#fff;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s ease;line-height:1;flex-shrink:0}.signup-modal-close:hover{background:#fff;color:#000;border-color:#fff}.signup-modal-content::-webkit-scrollbar{width:6px}.signup-modal-content::-webkit-scrollbar-track{background:#1a1a1a}.signup-modal-content::-webkit-scrollbar-thumb{background:#444;border-radius:3px}.signup-modal-content::-webkit-scrollbar-thumb:hover{background:#666}:root{--primary:#3b82f6;--primary-dark:#2563eb;--primary-light:#1e3a5f;--secondary:#1a1a1a;--accent:#8b5cf6;--success:#10b981;--error:#ef4444;--warning:#f59e0b;--gray-50:#1a1a1a;--gray-100:#222;--gray-200:#333;--gray-300:#444;--gray-400:#666;--gray-500:#888;--gray-600:#999;--gray-700:#aaa;--gray-800:#ccc;--gray-900:#fff;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.5);--shadow-md:0 4px 6px -1px rgba(0,0,0,.5),0 2px 4px -2px rgba(0,0,0,.5);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.5),0 4px 6px -4px rgba(0,0,0,.5);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.5),0 8px 10px -6px rgba(0,0,0,.5);--radius-sm:0.5rem;--radius-md:0.75rem;--radius-lg:1rem;--radius-xl:1.5rem;--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-base:200ms cubic-bezier(0.4,0,0.2,1);--transition-slow:300ms cubic-bezier(0.4,0,0.2,1)}.signup-card{background:#0a0a0a;border-radius:var(--radius-xl);padding:0;box-shadow:var(--shadow-xl);border:1px solid var(--gray-200);overflow:hidden;max-width:680px;margin:0 auto;width:100%}.signup-form{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:.875rem;gap:.875rem;padding:1rem 1.5rem 1.25rem}.signup-form .divider,.signup-form .image-upload-group,.signup-form .signin-link,.signup-form .social-button,.signup-form .status-message,.signup-form .submit-button{grid-column:1/-1}.form-group{display:flex;flex-direction:column;gap:.375rem}.form-group.error .form-input{border-color:var(--error);background-color:#fef2f2}.form-group.error .form-input:focus{border-color:var(--error);box-shadow:0 0 0 4px rgba(239,68,68,.1)}.form-group label{font-size:.75rem;font-weight:600;color:var(--gray-800);letter-spacing:.025em;text-transform:uppercase}.form-input{padding:.625rem .875rem;border:1.5px solid var(--gray-200);border-radius:var(--radius-md);font-size:.875rem;transition:all var(--transition-base);outline:none;font-family:inherit;background-color:#1a1a1a;color:var(--gray-900);width:100%;position:relative}.form-input:focus{border-color:var(--primary);background:linear-gradient(135deg,#1a1a1a,#222);box-shadow:0 0 0 4px rgba(59,130,246,.2),0 0 20px rgba(59,130,246,.1);transform:translateY(-1px);animation:inputGlow .3s ease}@keyframes inputGlow{0%{box-shadow:0 0 0 4px rgba(59,130,246,.2)}50%{box-shadow:0 0 0 4px rgba(59,130,246,.4),0 0 30px rgba(59,130,246,.2)}to{box-shadow:0 0 0 4px rgba(59,130,246,.2),0 0 20px rgba(59,130,246,.1)}}.form-input::placeholder{color:var(--gray-500)}.image-upload-group{display:flex;flex-direction:column;gap:.5rem;align-items:center;justify-content:center;background:#1a1a1a;padding:.875rem;border-radius:var(--radius-lg);border:1px dashed var(--gray-300);transition:all var(--transition-base)}.image-upload-group:hover{border-color:var(--primary);background:#222}.image-upload-group>label:not(.image-upload-label){font-size:.75rem;font-weight:600;color:var(--gray-600);letter-spacing:.025em;text-transform:uppercase;text-align:center}.image-upload-label{cursor:pointer;display:flex;justify-content:center;align-items:center}.image-input{display:none}.image-preview{position:relative;width:80px;height:80px;border-radius:50%;overflow:hidden;border:3px solid var(--primary);flex-shrink:0;box-shadow:var(--shadow-md)}.image-preview img{width:100%;height:100%;object-fit:cover}.remove-image-btn{position:absolute;top:0;right:0;width:30px;height:30px;background:var(--error);color:#fff;border:none;border-radius:50%;cursor:pointer;font-size:1.125rem;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);z-index:10}.remove-image-btn:hover{background:#dc2626;transform:scale(1.05)}.image-upload-placeholder{width:80px;height:80px;border-radius:50%;border:2px dashed var(--gray-400);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;color:var(--gray-500);transition:all var(--transition-base);flex-shrink:0;background:#222}.image-upload-placeholder:hover{border-color:var(--primary);color:var(--primary);background:#333;transform:scale(1.02);box-shadow:var(--shadow-md)}.image-upload-placeholder svg{color:inherit;width:32px;height:32px}.image-upload-placeholder span{font-size:.6875rem;font-weight:600;text-align:center;line-height:1.2}.error-message{font-size:.75rem;color:var(--error);font-weight:500;display:flex;align-items:center;gap:.25rem}.error-message:before{content:"⚠";font-size:.6875rem}.status-message{padding:.625rem .875rem;border-radius:var(--radius-md);font-size:.8125rem;font-weight:500;text-align:center;animation:slideIn .3s ease-out;background:#222;color:var(--gray-900)}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.status-message.success{background:#064e3b;color:#6ee7b7;border-left:4px solid var(--success)}.status-message.error{background:#7f1d1d;color:#fca5a5;border-left:4px solid var(--error)}.submit-button{padding:.75rem 1.25rem;background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);background-size:200% 200%;color:#fff;border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:600;cursor:pointer;transition:all var(--transition-base);font-family:inherit;letter-spacing:.01em;box-shadow:var(--shadow-sm);width:100%;position:relative;overflow:hidden;animation:gradientShift 3s ease infinite}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.submit-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent);transition:left .5s ease}.submit-button:hover:not(:disabled):before{left:100%}.submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 0 30px rgba(59,130,246,.4),var(--shadow-lg);background:linear-gradient(135deg,var(--primary-dark) 0,var(--primary) 100%);animation:buttonGlow .5s ease}@keyframes buttonGlow{0%{box-shadow:0 0 30px rgba(59,130,246,.4),var(--shadow-lg)}50%{box-shadow:0 0 50px rgba(59,130,246,.6),var(--shadow-xl)}to{box-shadow:0 0 30px rgba(59,130,246,.4),var(--shadow-lg)}}.submit-button:active:not(:disabled){transform:translateY(0)}.submit-button:disabled{opacity:.65;cursor:not-allowed;transform:none}.divider{display:flex;align-items:center;gap:1rem;margin:.25rem 0}.divider:after,.divider:before{content:"";flex:1 1;height:1px;background:linear-gradient(90deg,transparent,var(--gray-300),transparent)}.divider span{color:var(--gray-500)}.divider span,.social-button{font-size:.8125rem;font-weight:500}.social-button{display:flex;align-items:center;justify-content:center;gap:.625rem;padding:.625rem 1rem;background:#1a1a1a;color:var(--gray-700);border:1.5px solid var(--gray-200);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);width:100%;font-family:inherit;position:relative;overflow:hidden}.social-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.1),transparent);transition:left .5s ease}.social-button:hover:not(:disabled):before{left:100%}.social-button:hover:not(:disabled){background:#222;border-color:var(--primary);transform:translateY(-1px);box-shadow:0 0 20px rgba(59,130,246,.2),var(--shadow-sm);animation:socialGlow .4s ease}@keyframes socialGlow{0%{box-shadow:0 0 20px rgba(59,130,246,.2),var(--shadow-sm)}50%{box-shadow:0 0 30px rgba(59,130,246,.3),var(--shadow-md)}to{box-shadow:0 0 20px rgba(59,130,246,.2),var(--shadow-sm)}}.social-button:disabled{opacity:.65;cursor:not-allowed}.google-button:hover:not(:disabled) svg{transform:scale(1.05)}.apple-button:hover:not(:disabled){background:var(--secondary);border-color:var(--secondary);color:#fff}.apple-button:hover:not(:disabled) svg{fill:#fff}.signin-link{text-align:center;font-size:.75rem;color:var(--gray-500);margin-top:.25rem;padding-top:.375rem;border-top:1px solid var(--gray-200)}.signin-link a{color:var(--primary);font-weight:600;text-decoration:none;transition:color var(--transition-fast)}.signin-link a:hover{color:var(--primary-dark);text-decoration:underline}@media (max-width:1024px){.signup-form{gap:1rem;padding:1.5rem}}@media (max-width:768px){.signup-card{border-radius:var(--radius-lg);margin:.5rem}.signup-form{grid-template-columns:1fr;padding:1.25rem;gap:1rem}.signup-header{padding:1.25rem 1rem .75rem}.signup-header h1{font-size:1.5rem}.signup-header p{font-size:.8125rem}.image-upload-group{padding:1rem}.image-preview,.image-upload-placeholder{width:85px;height:85px}}@media (max-width:480px){.signup-form{padding:1rem;gap:.875rem}.signup-header{padding:1rem .875rem .5rem}.signup-header h1{font-size:1.375rem}.signup-header p{font-size:.75rem}.form-input{padding:.625rem .875rem;font-size:.875rem}.submit-button{padding:.75rem 1.25rem;font-size:.875rem}.social-button{padding:.625rem 1rem;font-size:.8125rem}.image-preview,.image-upload-placeholder{width:75px;height:75px}}@media print{.signup-card{box-shadow:none;border:1px solid #ddd}.remove-image-btn,.social-button,.submit-button{display:none}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.loading-skeleton{background:linear-gradient(90deg,var(--gray-100) 25%,var(--gray-200) 50%,var(--gray-100) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}