:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400}#root{width:100%;min-height:100vh}html{scroll-behavior:smooth}button,input{font-family:inherit}.image-upload{max-width:800px;margin:0 auto;padding:2rem}.image-upload h2{text-align:center;margin-bottom:1rem;color:#333}.image-upload p{text-align:center;margin-bottom:2rem;color:#666}.upload-options{display:grid;gap:2rem}.upload-section{background:#f8f9fa;padding:1.5rem;border-radius:12px;border:2px dashed #dee2e6}.upload-section h3{margin-bottom:1rem;color:#495057}.drop-zone{border:2px dashed #adb5bd;border-radius:8px;padding:2rem;text-align:center;cursor:pointer;transition:all .3s ease;background:#fff}.drop-zone:hover{border-color:#4dabf7;background:#f8f9fa}.drop-zone.has-image{border-style:solid;border-color:#51cf66;padding:1rem}.drop-zone-content p{margin:0 0 .5rem;color:#495057}.drop-zone-content small{color:#868e96}.preview-image{max-width:100%;max-height:200px;border-radius:8px;margin:0 auto;display:block}.url-input-group{display:flex;gap:.5rem;margin-bottom:1rem}.url-input{flex:1;padding:.75rem;border:1px solid #ddd;border-radius:6px;font-size:1rem}.url-input:focus{outline:none;border-color:#4dabf7;box-shadow:0 0 0 3px #4dabf71a}.search-btn{padding:.75rem 1.5rem;background:#4dabf7;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:1rem;transition:background .2s ease}.search-btn:hover:not(:disabled){background:#339af0}.search-btn:disabled{background:#adb5bd;cursor:not-allowed}.clear-btn{padding:.5rem 1rem;background:#868e96;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;margin-left:.5rem}.clear-btn:hover{background:#495057}.file-actions,.preview-section{display:flex;align-items:center;justify-content:center;margin-top:1rem;gap:.5rem}@media (max-width: 768px){.image-upload{padding:1rem}.url-input-group,.file-actions{flex-direction:column}.clear-btn{margin-left:0;margin-top:.5rem}}.product-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease;position:relative}.product-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #00000026}.product-image{position:relative;width:100%;height:200px;overflow:hidden}.product-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.product-card:hover .product-image img{transform:scale(1.05)}.similarity-badge{position:absolute;top:.5rem;right:.5rem;background:#51cf66;color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600;box-shadow:0 2px 4px #0003}.product-info{padding:1.25rem}.product-name{font-size:1.1rem;font-weight:600;margin:0 0 .5rem;color:#333;line-height:1.3}.product-category{font-size:.9rem;color:#4dabf7;margin:0 0 .5rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.product-description{font-size:.9rem;color:#666;margin:0 0 1rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-price{font-size:1.25rem;font-weight:700;color:#e67700;margin:0}.product-grid{max-width:1200px;margin:0 auto;padding:2rem}.product-grid-empty{text-align:center;padding:4rem 2rem;color:#666;font-size:1.1rem}.product-grid-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:2rem}.query-image-section{text-align:center}.query-image-section h3{margin-bottom:1rem;color:#333}.query-image{max-width:200px;max-height:200px;border-radius:12px;box-shadow:0 4px 12px #0000001a}.results-info{flex:1}.results-info h3{margin-bottom:1rem;color:#333}.filter-control{display:flex;align-items:center;gap:.5rem}.filter-control label{font-weight:500;color:#495057}.filter-control select{padding:.5rem;border:1px solid #ddd;border-radius:4px;background:#fff}.products-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}@media (max-width: 768px){.product-grid{padding:1rem}.product-grid-header{flex-direction:column;text-align:center}.products-container{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.filter-control{justify-content:center}}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.loading-spinner{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid #4dabf7;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-container p{color:#666;font-size:1.1rem;margin:0}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8f9fa;color:#333}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{background:linear-gradient(135deg,#4dabf7,#339af0);color:#fff;padding:2rem 1rem;text-align:center;box-shadow:0 2px 10px #0000001a}.app-header h1{font-size:2.5rem;margin-bottom:.5rem;font-weight:700}.app-header p{font-size:1.1rem;opacity:.9}.app-main{flex:1;padding:0}.error-message{background:#ff6b6b;color:#fff;padding:1rem 2rem;margin:1rem auto;max-width:800px;border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:1rem}.clear-results-btn{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:.5rem 1rem;border-radius:4px;cursor:pointer;transition:background .2s ease}.clear-results-btn:hover{background:#ffffff4d}.results-actions{text-align:center;padding:2rem}.app-footer{background:#343a40;color:#fff;text-align:center;padding:1.5rem;margin-top:auto}@media (max-width: 768px){.app-header h1{font-size:2rem}.app-header p{font-size:1rem}.error-message{flex-direction:column;text-align:center;margin:1rem}}
