* { box-sizing: border-box; margin: 0; padding: 0; } body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; line-height: 1.6; color: #333; background-color: #f5f5f5; } .app { max-width: 800px; margin: 0 auto; padding: 20px; } .app-header { text-align: center; margin-bottom: 30px; } .app-header h1 { margin-bottom: 10px; color: #2c3e50; } .upload-container { margin-bottom: 20px; } .upload-label { display: block; cursor: pointer; } .upload-placeholder { border: 2px dashed #ccc; border-radius: 8px; padding: 60px; text-align: center; color: #777; transition: all 0.3s ease; } .upload-placeholder:hover { border-color: #4CAF50; color: #4CAF50; } .image-preview { max-width: 100%; max-height: 300px; border-radius: 8px; display: block; margin: 0 auto; } .file-input { display: none; } .submit-button { display: block; width: 100%; padding: 12px; background-color: #4CAF50; color: white; border: none; border-radius: 4px; font-size: 16px; cursor: pointer; margin-bottom: 20px; transition: background-color 0.3s; } .submit-button:hover { background-color: #45a049; } .submit-button:disabled { background-color: #cccccc; cursor: not-allowed; } .error-message { color: #e74c3c; margin-bottom: 20px; padding: 10px; background-color: #fadbd8; border-radius: 4px; } .result-container { background-color: #f9f9f9; border-radius: 8px; padding: 20px; margin-top: 20px; box-shadow: 0 2px 4px rgba(0,0,0,0.1); } .result-container h2 { margin-bottom: 15px; color: #2c3e50; } .result-message { margin-bottom: 15px; } .membership-status { font-size: 18px; margin-bottom: 15px; } .probability-bar { height: 24px; background-color: #e0e0e0; border-radius: 12px; position: relative; overflow: hidden; margin-top: 15px; } .probability-fill { height: 100%; background-color: #4CAF50; transition: width 0.3s ease; width: 0%; } .probability-text { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); color: black; font-weight: bold; } .loading { text-align: center; margin: 20px 0; } .spinner { border: 4px solid #f3f3f3; border-top: 4px solid #4CAF50; border-radius: 50%; width: 40px; height: 40px; animation: spin 1s linear infinite; margin: 0 auto 10px; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .hidden { display: none; }