body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-overflow-scrolling:touch;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;touch-action:manipulation}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box}body,html{height:100%;overflow-x:hidden}input[type=file]{font-size:16px}.App{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;align-items:center;background-color:#f0f2f5;box-sizing:border-box;color:#1c1e21;display:flex;flex-direction:column;font-family:Arial,sans-serif;justify-content:flex-start;min-height:100vh;overflow-x:hidden;padding:20px;text-align:center}.main-page,.recognition-page{background-color:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;box-sizing:border-box;margin:20px auto;max-width:600px;padding:40px;width:100%}h1{color:#333;font-size:2.5rem;margin-bottom:15px}p{color:#555;font-size:1.1rem;line-height:1.6;margin-bottom:25px}.button-group,.recognition-button-group{align-items:center;display:flex;flex-direction:column;width:100%}.recognition-button-group{margin-top:15px}.analyze-button{-webkit-tap-highlight-color:transparent;align-items:center;background-color:#9b7de2;border:none;border-radius:8px;box-shadow:0 4px 10px #0000001a;color:#fff;cursor:pointer;display:flex;font-size:1.2rem;font-weight:700;gap:10px;justify-content:center;margin-bottom:15px;margin-left:auto;margin-right:auto;max-width:300px;padding:15px 30px;touch-action:manipulation;transition:background-color .2s,transform .1s;-webkit-user-select:none;user-select:none}.analyze-button:last-child{margin-bottom:0}.analyze-button:hover{background-color:#8c6ed0;transform:translateY(-2px)}.analyze-button:active{transform:translateY(0)}.analyze-button:disabled{background-color:#c9b8e9;box-shadow:none;cursor:not-allowed;transform:none}.result-container{background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:10px;box-sizing:border-box;margin-top:30px;padding:25px;width:100%}.result-container h2{color:#e25098;font-size:1.8rem;margin-bottom:20px}.result-item{border-bottom:1px solid #eee;display:flex;font-size:1.1rem;justify-content:space-between;padding:10px 0}.result-item:last-child{border-bottom:none}.result-item .class-name{font-weight:700}.result-item .probability{color:#9b7de2;font-weight:700}.image-upload-container{-webkit-tap-highlight-color:rgba(155,125,226,.1);align-items:center;background-color:#fcfcfc;border:2px dashed #ccc;border-radius:10px;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;justify-content:center;margin:30px auto;max-width:400px;min-height:250px;position:relative;touch-action:manipulation;transition:border-color .3s ease;-webkit-user-select:none;user-select:none;width:90%}.image-upload-container:hover{border-color:#9b7de2}.image-upload-container .upload-icon{color:#ccc;font-size:4rem;margin-bottom:10px}.image-upload-container .upload-text{color:#888;font-size:1.1rem;margin-bottom:5px}.image-upload-container .upload-subtext{color:#aaa;font-size:.9rem}.custom-file-upload{cursor:pointer;height:100%;left:0;opacity:0;position:absolute;top:0;width:100%;z-index:10}.uploaded-image{border-radius:8px;max-height:90%;max-width:90%;object-fit:contain;position:absolute;z-index:5}.file-input{display:none}.error-message{color:#ff3860;font-weight:700;margin-top:15px}.loading-message{animation:pulse 1.5s ease-in-out infinite alternate;color:#9b7de2;font-size:1.1rem;font-weight:700;margin-top:15px}@keyframes pulse{0%{opacity:.6}to{opacity:1}}.disclaimer-text{color:#888;font-size:.85rem;line-height:1.5;margin-top:30px}@media (max-width:768px){.App{justify-content:flex-start;min-height:100vh;padding:20px 10px 10px}.main-page,.recognition-page{border-radius:16px;box-shadow:0 2px 10px #0000001a;margin:0 auto 20px;max-width:100%;padding:20px}h1{font-size:1.8rem;line-height:1.2;margin-bottom:12px;word-break:keep-all}p{font-size:.95rem;line-height:1.5;margin-bottom:20px}.analyze-button{font-size:1rem;margin:0 auto 15px;max-width:280px;min-height:48px;padding:16px 24px;touch-action:manipulation;width:100%}.analyze-button:last-child{margin-bottom:0}.result-container{margin-top:20px;padding:16px}.result-container h2{font-size:1.4rem;line-height:1.3;margin-bottom:15px;word-break:keep-all}.result-item{align-items:center;flex-direction:row;font-size:.95rem;justify-content:space-between;padding:14px 0}.result-item .class-name{flex:1 1;font-size:1rem;text-align:left}.result-item .probability{font-size:1rem;font-weight:700}.image-upload-container{margin:20px auto;min-height:200px;touch-action:manipulation;width:95%}.image-upload-container .upload-icon{font-size:2.8rem}.image-upload-container .upload-text{font-size:.95rem;padding:0 10px;text-align:center}.loading-message{font-size:1rem;margin-top:12px}.disclaimer-text{font-size:.8rem;line-height:1.4;margin-top:20px}}@media (max-width:480px){.App{padding:15px 8px 8px}.main-page,.recognition-page{border-radius:12px;margin:0 auto 15px;padding:16px}h1{font-size:1.6rem;line-height:1.3;margin-bottom:10px;word-break:keep-all}p{font-size:.9rem;line-height:1.4;margin-bottom:15px}.analyze-button{font-size:.95rem;margin:0 auto 12px;max-width:100%;min-height:48px;padding:14px 20px;width:100%}.analyze-button:last-child{margin-bottom:0}.result-container{padding:14px}.result-container h2{font-size:1.25rem;margin-bottom:12px;word-break:keep-all}.result-item{flex-direction:row;font-size:.9rem;justify-content:space-between;padding:12px 0}.result-item .class-name{flex:1 1;font-size:.95rem;text-align:left}.result-item .probability{font-size:.95rem;font-weight:700}.image-upload-container{margin:15px auto;min-height:170px;width:100%}.image-upload-container .upload-icon{font-size:2.2rem}.image-upload-container .upload-text{font-size:.85rem;padding:0 8px}.loading-message{font-size:.9rem}.disclaimer-text{font-size:.75rem;line-height:1.3}}@media (max-width:320px){.App{padding:5px}.main-page,.recognition-page{padding:12px}h1{font-size:1.4rem}.analyze-button{font-size:.9rem;padding:12px 16px}.image-upload-container{min-height:150px}.image-upload-container .upload-icon{font-size:2rem}}
/*# sourceMappingURL=main.90227f82.css.map*/