:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--neon-cyan: #00f5ff;--neon-magenta: #ff00aa;--neon-green: #39ff14;--grid-color: rgba(0, 245, 255, .06);--panel-bg: rgba(10, 14, 22, .85);--border-glow: rgba(0, 245, 255, .4);--font-display: "Press Start 2P", cursive;--font-headings: "Orbitron", sans-serif;--font-readable: "DM Sans", system-ui, sans-serif}#root{max-width:960px;margin:0 auto;padding:1.5rem;position:relative;z-index:1}.app{text-align:left;position:relative;min-height:100vh}.app:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(var(--grid-color) 1px,transparent 1px),linear-gradient(90deg,var(--grid-color) 1px,transparent 1px);background-size:24px 24px;pointer-events:none;z-index:0}.app:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.03) 2px,rgba(0,0,0,.03) 4px);pointer-events:none;z-index:2}.app.pin-gate{display:flex;align-items:center;justify-content:center;min-height:100vh;text-align:center}.pin-gate-box{background:var(--panel-bg);border:1px solid var(--border-glow);border-radius:4px;padding:2rem;max-width:320px;width:100%}.pin-gate-box h1{margin:0 0 .25rem;font-size:1.25rem;font-family:var(--font-display);color:var(--neon-cyan)}.pin-gate-box .tagline{margin-bottom:1.5rem}.pin-form{display:flex;flex-direction:column;gap:.75rem;align-items:stretch}.pin-form label{font-size:.875rem;color:var(--neon-cyan);font-family:var(--font-readable)}.pin-input{padding:.65rem 1rem;font-size:1.25rem;letter-spacing:.35em;text-align:center;border:2px solid var(--border-glow);border-radius:2px;background:#0000004d;color:var(--neon-green);font-family:var(--font-readable)}.pin-input:focus{outline:none;box-shadow:0 0 12px var(--neon-cyan)}.pin-submit{padding:.6rem 1rem;background:transparent;color:var(--neon-magenta);border:2px solid var(--neon-magenta);border-radius:2px;font-family:var(--font-readable);font-size:.9375rem;font-weight:600;cursor:pointer}.pin-submit:hover{background:#ff00aa26;box-shadow:0 0 15px var(--neon-magenta)}.pin-error{margin:0;font-size:.875rem;color:var(--neon-magenta);font-family:var(--font-readable)}header{margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid var(--border-glow);position:relative;font-family:var(--font-display)}header h1{margin:0 0 .25rem;font-size:1.25rem;color:var(--neon-cyan);text-shadow:0 0 10px var(--neon-cyan),0 0 20px var(--neon-cyan);animation:glitch-title 4s ease-in-out infinite}@keyframes glitch-title{0%,90%,to{transform:translate(0);filter:none}92%{transform:translate(-2px,1px);text-shadow:2px 0 var(--neon-magenta),-2px 0 var(--neon-cyan)}94%{transform:translate(2px,-1px);text-shadow:-2px 0 var(--neon-cyan),2px 0 var(--neon-magenta)}96%{transform:translate(-1px,2px)}98%{transform:translate(1px,-2px)}}.tagline{margin:0;color:var(--neon-green);font-size:.875rem;font-family:var(--font-readable);letter-spacing:.02em;opacity:.95}.tagline:after{content:"_";animation:cursor-blink 1s step-end infinite;color:var(--neon-cyan)}@keyframes cursor-blink{0%,50%{opacity:1}51%,to{opacity:0}}.section{margin-bottom:2rem;padding:1.25rem;background:var(--panel-bg);border:1px solid var(--border-glow);border-radius:4px;box-shadow:0 0 20px #00f5ff14;font-family:var(--font-readable);position:relative}.section:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--neon-cyan),transparent);opacity:.6;border-radius:4px 4px 0 0}.section h2{font-size:.7rem;margin-bottom:.75rem;font-family:var(--font-headings);color:var(--neon-cyan);display:flex;align-items:center;gap:.5rem}.section h2 .icon{font-size:1rem;animation:invader-blink 1.5s step-end infinite}@keyframes invader-blink{0%,50%{opacity:1}51%,to{opacity:.6}}.url-form label{display:block;margin-bottom:.35rem;font-weight:500;font-size:.875rem;color:var(--neon-cyan);font-family:var(--font-readable)}.url-form-row{display:flex;gap:.5rem;flex-wrap:wrap}.url-form input[type=url]{flex:1;min-width:200px;padding:.5rem .65rem;border:1px solid var(--border-glow);border-radius:2px;font-size:.9375rem;font-family:var(--font-readable);background:#0000004d;color:var(--neon-green)}.url-form input[type=url]:focus{outline:none;box-shadow:0 0 12px var(--neon-cyan)}.url-form button{padding:.5rem 1rem;background:transparent;color:var(--neon-cyan);border:2px solid var(--neon-cyan);border-radius:2px;font-family:var(--font-readable);font-size:.875rem;font-weight:600;cursor:pointer;animation:pulse-border 2s ease-in-out infinite}.url-form button:hover:not(:disabled){background:#00f5ff26;box-shadow:0 0 15px var(--neon-cyan)}.url-form button:disabled{border-color:#555;color:#666;cursor:not-allowed;animation:none}@keyframes pulse-border{0%,to{box-shadow:0 0 5px var(--neon-cyan)}50%{box-shadow:0 0 15px var(--neon-cyan),0 0 25px #00f5ff4d}}.saved-projects{margin-top:1rem;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-size:.875rem;font-family:var(--font-readable);color:var(--neon-green)}.saved-projects select{padding:.35rem .5rem;border-radius:2px;min-width:200px;border:1px solid var(--border-glow);background:#0000004d;color:var(--neon-green);font-family:var(--font-readable);font-size:.875rem}.error{color:var(--neon-magenta);margin-top:.5rem;font-size:.875rem;font-family:var(--font-readable);text-shadow:0 0 8px var(--neon-magenta)}.hint{color:var(--neon-green);font-size:.9375rem;font-family:var(--font-readable);opacity:.95}.export-actions{margin-bottom:1rem}.export-checkbox{display:inline-flex;align-items:center;gap:.4rem;margin-bottom:.5rem;font-size:.875rem;cursor:pointer;color:var(--neon-green);font-family:var(--font-readable)}.export-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.export-buttons button{padding:.5rem 1rem;border-radius:2px;font-family:var(--font-readable);font-size:.875rem;font-weight:600;cursor:pointer;border:2px solid var(--neon-cyan);background:transparent;color:var(--neon-cyan);transition:all .2s}.export-buttons button:hover:not(:disabled){background:#00f5ff26;box-shadow:0 0 15px var(--neon-cyan)}.export-buttons button.secondary{border-color:var(--neon-magenta);color:var(--neon-magenta)}.export-buttons button.secondary:hover:not(:disabled){background:#ff00aa1a;box-shadow:0 0 15px var(--neon-magenta)}.export-buttons button:disabled{opacity:.5;cursor:not-allowed}.export-error{color:var(--neon-magenta);font-size:.875rem;margin-top:.5rem;font-family:var(--font-readable)}.generate-web-form{max-width:420px;display:flex;flex-direction:column;gap:.75rem}.generate-web-form .form-title{margin:0 0 .25rem;font-size:.7rem;font-family:var(--font-headings);color:var(--neon-cyan)}.generate-web-form label{display:flex;flex-direction:column;gap:.25rem;font-size:.875rem;font-weight:500;color:var(--neon-cyan);font-family:var(--font-readable)}.generate-web-form input{padding:.5rem .65rem;border:1px solid var(--border-glow);border-radius:2px;font-size:.9375rem;font-family:var(--font-readable);background:#0000004d;color:var(--neon-green)}.generate-web-form input:focus{outline:none;box-shadow:0 0 10px var(--neon-cyan)}.generate-web-form button{padding:.6rem 1rem;background:transparent;color:var(--neon-magenta);border:2px solid var(--neon-magenta);border-radius:2px;font-family:var(--font-readable);font-size:.9375rem;font-weight:600;cursor:pointer;margin-top:.25rem;animation:pulse-magenta 2.5s ease-in-out infinite}.generate-web-form button:hover:not(:disabled){background:#ff00aa26;box-shadow:0 0 20px var(--neon-magenta)}.generate-web-form button:disabled{opacity:.5;cursor:not-allowed;animation:none}.generate-web-form .form-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-top:.25rem}.generate-web-form .button-download-zip{display:inline-block;padding:.6rem 1rem;background:transparent;color:var(--neon-cyan);border:2px solid var(--neon-cyan);border-radius:2px;font-family:var(--font-readable);font-size:.9375rem;font-weight:600;text-decoration:none;transition:all .2s}.generate-web-form .button-download-zip:hover:not(:disabled){background:#00f5ff26;box-shadow:0 0 15px var(--neon-cyan)}.generate-web-form .button-download-zip:disabled{opacity:.5;cursor:not-allowed}.generate-web-form .form-checkbox-inline{display:inline-flex;align-items:center;gap:.4rem;font-size:.875rem;color:var(--neon-green);font-family:var(--font-readable);cursor:pointer;margin:0}@keyframes pulse-magenta{0%,to{box-shadow:0 0 5px var(--neon-magenta)}50%{box-shadow:0 0 18px var(--neon-magenta)}}.form-error{color:var(--neon-magenta);font-size:.875rem;margin:0;font-family:var(--font-readable)}.form-success{color:var(--neon-green);font-size:.875rem;margin:0;font-family:var(--font-readable);text-shadow:0 0 8px var(--neon-green)}.section-desc{color:#39ff14e6;font-size:.875rem;margin-bottom:1rem;font-family:var(--font-readable);line-height:1.6}.section-desc code{background:#00f5ff26;padding:.15rem .4rem;border-radius:2px;font-size:.8125rem;font-family:var(--font-readable);font-weight:500;color:var(--neon-cyan);border:1px solid var(--border-glow)}.dataset-view{margin-top:.5rem}.dataset-view.empty{color:var(--neon-green);font-style:italic;font-family:var(--font-readable);font-size:.9375rem;opacity:.9}.dataset-meta{display:flex;gap:1rem;flex-wrap:wrap;font-size:.8125rem;color:var(--neon-green);margin-bottom:.5rem;font-family:var(--font-readable);opacity:.95}.dataset-count{font-weight:600;margin-bottom:.75rem;font-family:var(--font-headings);font-size:.7rem;color:var(--neon-cyan)}.product-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.product-card{border:1px solid var(--border-glow);border-radius:4px;overflow:hidden;background:#00000040;transition:box-shadow .2s}.product-card:hover{box-shadow:0 0 20px #00f5ff33}.product-card-excluded{opacity:.7;border-color:var(--neon-magenta);border-style:dashed}.product-card-body .product-card-original-link{margin-top:.35rem;font-size:.75rem}.product-card-body .original-link{color:var(--neon-cyan);text-decoration:underline;font-family:var(--font-readable)}.product-card-body .original-link:hover{color:var(--neon-green)}.product-card-body .product-card-remove{margin-top:.5rem;padding:.35rem .65rem;font-size:.75rem;font-family:var(--font-readable);font-weight:600;cursor:pointer;border:1px solid var(--neon-magenta);background:transparent;color:var(--neon-magenta);border-radius:2px;transition:all .2s}.product-card-body .product-card-remove:hover{background:#ff00aa26;box-shadow:0 0 10px var(--neon-magenta)}.product-card-excluded .product-card-remove{border-color:var(--neon-green);color:var(--neon-green)}.product-card-excluded .product-card-remove:hover{background:#39ff1426;box-shadow:0 0 10px var(--neon-green)}.product-card-images{aspect-ratio:1;background:#0006;display:flex;align-items:center;justify-content:center}.product-card-images img{width:100%;height:100%;object-fit:cover}.product-card-no-image{color:#888;font-size:.8125rem;font-family:var(--font-readable)}.product-card-body{padding:.75rem}.product-card-body h3{margin:0 0 .25rem;font-size:.9375rem;line-height:1.35;font-family:var(--font-readable);font-weight:600;color:var(--neon-green)}.product-card-body .vendor{display:block;font-size:.8125rem;color:var(--neon-cyan);font-family:var(--font-readable);opacity:.95}.product-card-body .price{display:block;font-size:1.25rem;font-weight:700;color:var(--neon-green);font-family:var(--font-headings);margin-top:.25rem;text-shadow:0 0 10px rgba(57,255,20,.4)}.product-card-body .description{margin:.5rem 0 0;font-size:.8125rem;color:#39ff14e6;line-height:1.5;font-family:var(--font-readable)}.product-card-body .description :global(p){margin:0}body{background:linear-gradient(180deg,#0a0e16,#0d1220,#080b12);color:#e0e0e0}
