*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #FFFFFF;--bg-secondary: #FFFFFF;--bg-card: #FFF;--bg-hover: #252525;--text-primary: #000000;--text-secondary: #a0a0a0;--text-muted: #666666;--border-color: rgba(0,0,0,.12);--accent-color: #ffffff;--success-color: #22c55e;--error-color: #ef4444;--warning-color: #f59e0b}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh;display:flex;flex-direction:column}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}img{max-width:100%;height:auto}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.fade-in{animation:fadeIn .3s ease-out}.slide-up{animation:slideUp .4s ease-out}.header{position:fixed;top:0;left:0;right:0;z-index:100;background:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-color)}.header-content{max-width:1200px;margin:0 auto;padding:1rem 2rem;display:flex;align-items:center;justify-content:space-between}.logo{display:flex;align-items:center}.logo-image{height:28px;width:auto;object-fit:contain}.social-icons{display:flex;align-items:center;gap:1rem}.social-icon{display:flex;align-items:center;justify-content:center;color:#000;transition:opacity .2s ease}.social-icon:hover{opacity:.6}@media(max-width:480px){.header-content{padding:.75rem 1rem}.logo-image{height:24px}.social-icons{gap:.75rem}.social-icon svg{width:18px;height:18px}}@keyframes marching-ants{0%{background-position:0 0,0 100%,0 0,100% 0}to{background-position:20px 0,-20px 100%,0 -20px,100% 20px}}:root{--rc-drag-handle-size: 12px;--rc-drag-handle-mobile-size: 24px;--rc-drag-handle-bg-colour: rgba(0, 0, 0, .2);--rc-drag-bar-size: 6px;--rc-border-color: rgba(255, 255, 255, .7);--rc-focus-color: #0088ff}.ReactCrop{position:relative;display:inline-block;cursor:crosshair;max-width:100%}.ReactCrop *,.ReactCrop *:before,.ReactCrop *:after{box-sizing:border-box}.ReactCrop--disabled,.ReactCrop--locked{cursor:inherit}.ReactCrop__child-wrapper{overflow:hidden;max-height:inherit}.ReactCrop__child-wrapper>img,.ReactCrop__child-wrapper>video{display:block;max-width:100%;max-height:inherit}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>img,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>video{touch-action:none}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__crop-selection{touch-action:none}.ReactCrop__crop-mask{position:absolute;inset:0;pointer-events:none;width:calc(100% + .5px);height:calc(100% + .5px)}.ReactCrop__crop-selection{position:absolute;top:0;left:0;transform:translateZ(0);cursor:move}.ReactCrop--disabled .ReactCrop__crop-selection{cursor:inherit}.ReactCrop--circular-crop .ReactCrop__crop-selection{border-radius:50%}.ReactCrop--circular-crop .ReactCrop__crop-selection:after{pointer-events:none;content:"";position:absolute;inset:-1px;border:1px solid var(--rc-border-color);opacity:.3}.ReactCrop--no-animate .ReactCrop__crop-selection{outline:1px dashed white}.ReactCrop__crop-selection:not(.ReactCrop--no-animate .ReactCrop__crop-selection){animation:marching-ants 1s;background-image:linear-gradient(to right,#fff 50%,#444 50%),linear-gradient(to right,#fff 50%,#444 50%),linear-gradient(to bottom,#fff 50%,#444 50%),linear-gradient(to bottom,#fff 50%,#444 50%);background-size:10px 1px,10px 1px,1px 10px,1px 10px;background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;color:#fff;animation-play-state:running;animation-timing-function:linear;animation-iteration-count:infinite}.ReactCrop__crop-selection:focus{outline:2px solid var(--rc-focus-color);outline-offset:-1px}.ReactCrop--invisible-crop .ReactCrop__crop-mask,.ReactCrop--invisible-crop .ReactCrop__crop-selection{display:none}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after,.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{content:"";display:block;position:absolute;background-color:#fff6}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after{width:1px;height:100%}.ReactCrop__rule-of-thirds-vt:before{left:33.3333333333%}.ReactCrop__rule-of-thirds-vt:after{left:66.6666666667%}.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{width:100%;height:1px}.ReactCrop__rule-of-thirds-hz:before{top:33.3333333333%}.ReactCrop__rule-of-thirds-hz:after{top:66.6666666667%}.ReactCrop__drag-handle{position:absolute;width:var(--rc-drag-handle-size);height:var(--rc-drag-handle-size);background-color:var(--rc-drag-handle-bg-colour);border:1px solid var(--rc-border-color)}.ReactCrop__drag-handle:focus{background:var(--rc-focus-color)}.ReactCrop .ord-nw{top:0;left:0;transform:translate(-50%,-50%);cursor:nw-resize}.ReactCrop .ord-n{top:0;left:50%;transform:translate(-50%,-50%);cursor:n-resize}.ReactCrop .ord-ne{top:0;right:0;transform:translate(50%,-50%);cursor:ne-resize}.ReactCrop .ord-e{top:50%;right:0;transform:translate(50%,-50%);cursor:e-resize}.ReactCrop .ord-se{bottom:0;right:0;transform:translate(50%,50%);cursor:se-resize}.ReactCrop .ord-s{bottom:0;left:50%;transform:translate(-50%,50%);cursor:s-resize}.ReactCrop .ord-sw{bottom:0;left:0;transform:translate(-50%,50%);cursor:sw-resize}.ReactCrop .ord-w{top:50%;left:0;transform:translate(-50%,-50%);cursor:w-resize}.ReactCrop__disabled .ReactCrop__drag-handle{cursor:inherit}.ReactCrop__drag-bar{position:absolute}.ReactCrop__drag-bar.ord-n{top:0;left:0;width:100%;height:var(--rc-drag-bar-size);transform:translateY(-50%)}.ReactCrop__drag-bar.ord-e{right:0;top:0;width:var(--rc-drag-bar-size);height:100%;transform:translate(50%)}.ReactCrop__drag-bar.ord-s{bottom:0;left:0;width:100%;height:var(--rc-drag-bar-size);transform:translateY(50%)}.ReactCrop__drag-bar.ord-w{top:0;left:0;width:var(--rc-drag-bar-size);height:100%;transform:translate(-50%)}.ReactCrop--new-crop .ReactCrop__drag-bar,.ReactCrop--new-crop .ReactCrop__drag-handle,.ReactCrop--fixed-aspect .ReactCrop__drag-bar,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-n,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-e,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-s,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-w{display:none}@media(pointer:coarse){.ReactCrop .ord-n,.ReactCrop .ord-e,.ReactCrop .ord-s,.ReactCrop .ord-w{display:none}.ReactCrop__drag-handle{width:var(--rc-drag-handle-mobile-size);height:var(--rc-drag-handle-mobile-size)}}.uploader-container{display:flex;flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:500px;margin:0 auto}.upload-zone{width:100%;aspect-ratio:4/3;border:2px dashed var(--border-color);border-radius:16px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;background:var(--bg-secondary);overflow:hidden;position:relative}.upload-zone:hover:not(.disabled):not(.cropping){border-color:var(--text-muted);background:var(--bg-card)}.upload-zone.dragging{border-color:var(--accent-color);background:var(--bg-card);transform:scale(1.02)}.upload-zone.disabled{cursor:not-allowed;opacity:.7}.upload-zone.has-preview{border-style:solid;border-color:var(--border-color)}.upload-zone.cropping{cursor:crosshair;border-color:#3b82f6;border-width:2px;aspect-ratio:auto;min-height:300px;max-height:70vh}.upload-content{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:2rem;text-align:center}.upload-icon{width:64px;height:64px;border-radius:50%;background:var(--bg-card);display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.upload-text{font-size:1.125rem;font-weight:500;color:var(--text-primary)}.upload-subtext{font-size:.875rem;color:var(--text-muted)}.preview-container{width:100%;height:100%;position:relative;display:flex;align-items:center;justify-content:center}.preview-image{width:100%;height:100%;object-fit:contain;background:var(--bg-primary)}.crop-wrapper{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:10px;box-sizing:border-box}.crop-container{max-width:100%;max-height:100%}.crop-image{max-width:100%;max-height:60vh;width:auto;height:auto;object-fit:contain;display:block}.ReactCrop{max-width:100%;max-height:100%}.ReactCrop__crop-selection{border:2px solid #3b82f6;box-shadow:0 0 0 9999px #00000080}.preview-actions{position:absolute;top:12px;right:12px;display:flex;gap:8px}.action-btn{width:36px;height:36px;border-radius:50%;background:#000000b3;border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.action-btn:hover{background:#000000e6;transform:scale(1.1)}.action-btn.crop-btn:hover{background:#3b82f6e6}.crop-actions{position:absolute;bottom:16px;left:50%;transform:translate(-50%);display:flex;gap:12px;z-index:10}.crop-action-btn{display:flex;align-items:center;gap:6px;padding:10px 20px;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.crop-action-btn.cancel{background:#000000b3;color:#fff}.crop-action-btn.cancel:hover{background:#000000e6}.crop-action-btn.apply{background:#3b82f6;color:#fff}.crop-action-btn.apply:hover{background:#2563eb}.upload-buttons{display:flex;gap:12px;width:100%;justify-content:center}.upload-btn{display:flex;align-items:center;gap:.5rem;padding:.875rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:500;transition:all .2s ease;cursor:pointer}.upload-btn.primary{background:var(--text-primary);color:var(--bg-primary)}.upload-btn.secondary{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-color)}.upload-btn:hover:not(:disabled){transform:translateY(-2px)}.upload-btn.primary:hover:not(:disabled){box-shadow:0 4px 12px #fff3}.upload-btn.secondary:hover:not(:disabled){background:var(--bg-secondary)}.upload-btn:disabled{opacity:.5;cursor:not-allowed}.crop-hint{font-size:.875rem;color:#3b82f6;text-align:center;font-weight:500;padding:0 1rem}.upload-error{color:var(--error-color);font-size:.875rem;text-align:center}.upload-disclaimer{font-size:.75rem;color:var(--text-muted);text-align:center;max-width:400px}@media(max-width:480px){.main .upload-section{padding:20px}.upload-buttons{flex-direction:column}.upload-btn{width:100%;justify-content:center}.crop-actions{flex-direction:column;gap:8px}.crop-action-btn{padding:8px 16px;font-size:.8rem}.crop-image{max-height:50vh}}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;min-height:400px}.loading-content{display:flex;flex-direction:column;align-items:center;max-width:400px;text-align:center}.loading-icon{margin-bottom:1.5rem}.spinner{animation:spin 1s linear infinite;color:#fff}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-title{font-size:1.5rem;font-weight:600;color:#fff;margin:0 0 .5rem}.loading-stage{font-size:1rem;color:#888;margin:0 0 1.5rem;min-height:1.5rem}.progress-container{width:100%;display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.progress-bar{flex:1;height:8px;background:#2a2a2a;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#8b5cf6);border-radius:4px;transition:width .5s ease-out}.progress-text{font-size:.875rem;font-weight:600;color:#fff;min-width:40px;text-align:right}.loading-hint{font-size:.875rem;color:#666;margin:0}@media(max-width:480px){.loading-state{padding:2rem 1rem;min-height:300px}.loading-title{font-size:1.25rem}.loading-stage{font-size:.875rem}.progress-container{gap:.75rem}}.results-container{width:100%;max-width:1200px;margin:0 auto;padding:0 1rem}.results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid #2a2a2a}.results-title h2{font-size:1.5rem;font-weight:600;color:#fff;margin:0 0 .25rem}.results-count{font-size:.875rem;color:#888}.reset-btn-small{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:transparent;border:1px solid #333;border-radius:8px;color:#000;font-size:.875rem;cursor:pointer;transition:all .2s ease}.reset-btn-small:hover{background:#f3f3f3;border-color:#000}.categories-list{display:flex;flex-direction:column;gap:2.5rem}.category-section{background:#fff;padding:1.5rem 0}.category-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid #2a2a2a}.category-title{display:flex;align-items:center;gap:.75rem}.category-icon{color:#888}.category-title h3{font-size:1.125rem;font-weight:600;color:#000;margin:0}.products-count{font-size:.875rem;color:#888}.products-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}.product-card{display:flex;flex-direction:column;background:#fff;border-radius:8px;overflow:hidden;text-decoration:none;transition:all .2s ease;border:1px solid rgba(0,0,0,.12)}.product-card:hover{box-shadow:0 4px 12px #0000004d}.product-image-container{position:relative;aspect-ratio:1;overflow:hidden}.product-image{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.product-overlay{position:absolute;inset:0;background:#0000001a;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease;color:#fff}.product-card:hover .product-overlay{opacity:1}.product-info{padding:.75rem;display:flex;flex-direction:column;gap:.25rem}.product-source-row{display:flex;align-items:center;gap:.5rem}.product-source{font-size:.75rem;font-weight:600;color:#3b82f6;text-transform:uppercase;letter-spacing:.025em}.affiliate-badge{font-size:.625rem;background:#333;color:#888;padding:.125rem .375rem;border-radius:4px;text-transform:uppercase}.product-title{font-size:.8125rem;color:#000;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4}.product-price{font-size:.875rem;font-weight:600;color:#10b981}.no-products{color:#666;text-align:center;padding:2rem;margin:0}.results-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;color:#888}.results-empty svg{margin-bottom:1.5rem;opacity:.5}.results-empty h3{font-size:1.25rem;color:#fff;margin:0 0 .5rem}.results-empty p{margin:0 0 1.5rem;max-width:300px}.reset-btn{padding:.75rem 1.5rem;background:#fff;color:#000;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.reset-btn:hover{background:#e5e5e5}@media(max-width:1024px){.products-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:768px){.results-header{flex-direction:column;align-items:flex-start;gap:1rem}.products-grid{grid-template-columns:repeat(3,1fr)}.category-section{padding:1rem 0}}@media(max-width:480px){.products-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.category-title h3{font-size:1rem}.results-title h2{font-size:1.25rem}}.how-it-works{padding:2rem;max-width:1000px;margin:0 auto;border-top:1px solid var(--border-color)}.how-it-works h2{font-size:1.5rem;font-weight:600;margin-bottom:2rem;text-align:center}.steps-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}.step{display:flex;flex-direction:column;align-items:center;text-align:center;padding:1.5rem}.step-number{width:40px;height:40px;border-radius:50%;background:var(--bg-card);border:1px solid var(--border-color);display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:1.5rem}.step-content{display:flex;flex-direction:column;align-items:center;gap:.75rem}.step-icon{width:48px;height:48px;border-radius:12px;background:var(--bg-secondary);display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.step h3{font-size:1.125rem;font-weight:600;color:var(--text-primary)}.step p{font-size:.875rem;color:var(--text-muted);line-height:1.6;max-width:280px}@media(max-width:480px){.main .hero{padding:20px}.main .hero h1{font-size:5.4vw;text-align:left;margin-bottom:.5rem}.main .hero-subtitle{text-align:left;font-size:3.8vw}}.footer{margin-top:auto;border-top:1px solid var(--border-color);background:var(--bg-secondary)}.footer-content{max-width:800px;margin:0 auto;padding:3rem 2rem}.footer-section h3{font-size:1.125rem;font-weight:600;margin-bottom:1rem;color:var(--text-primary)}.footer-section p{font-size:.875rem;color:var(--text-muted);line-height:1.7;margin-bottom:.75rem}.footer-note{font-style:italic;margin-top:1rem}.footer-bottom{background:#000;padding:1.5rem 2rem;text-align:center}.footer-bottom p{font-size:.75rem;color:var(--text-muted);margin:0}.footer-social-icons{display:flex;align-items:center;justify-content:center;gap:1.5rem;margin-bottom:1rem}.footer-social-icon{display:flex;align-items:center;justify-content:center;color:#fff;transition:opacity .2s ease}.footer-social-icon:hover{opacity:.7}@media(max-width:480px){.footer-content{padding:2rem 1rem}.footer-social-icons{gap:1.25rem}}.app{min-height:100vh;display:flex;flex-direction:column}.main{flex:1;padding-top:80px}.hero{text-align:center;padding:4rem 2rem 2rem;max-width:700px;margin:0 auto}.hero h1{font-size:2.5rem;font-weight:700;line-height:1.2;margin-bottom:1rem;letter-spacing:-.02em}@media(min-width:768px){.hero h1{font-size:3rem}}.hero-subtitle{font-size:1.125rem;color:var(--text-secondary);line-height:1.6;max-width:560px;margin:0 auto}.upload-section{padding:2rem;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.status-indicator{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-muted)}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--success-color)}.error-message{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1.5rem;background:#ef44441a;border:1px solid var(--error-color);border-radius:12px;max-width:400px;text-align:center}.error-message p{color:var(--error-color);font-size:.875rem}.error-message button{padding:.5rem 1rem;background:transparent;color:var(--error-color);border:1px solid var(--error-color);border-radius:6px;font-size:.875rem;transition:all .2s ease}.error-message button:hover{background:var(--error-color);color:#fff}@media(max-width:768px){.main{padding-top:50px!important}}
