*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0f1117;--bg2: #1a1d27;--bg3: #22263a;--card: #1e2130;--card-hover: #252840;--border: #2e3250;--text: #e8eaf6;--text2: #9da3c0;--text3: #6b7194;--accent: #7c6af5;--accent-glow: rgba(124,106,245,.25);--ml: #ffe600;--ml-dark: #c4a000;--shopee: #ee4d2d;--shopee-light: #ff6b47;--ali: #ff4747;--ali-light: #ff6e6e;--green: #4caf7d;--green-bg: rgba(76,175,125,.12);--red: #f06262;--red-bg: rgba(240,98,98,.12);--yellow: #f5c842;--yellow-bg: rgba(245,200,66,.12);--radius: 12px;--radius-sm: 8px;--shadow: 0 4px 24px rgba(0,0,0,.4);--transition: .2s ease}html{scroll-behavior:smooth}body{font-family:Inter,system-ui,sans-serif;background:var(--bg);color:var(--text);min-height:100vh}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg2)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--accent)}.header{background:var(--bg2);border-bottom:1px solid var(--border);padding:0 1.5rem;position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.header-inner{max-width:1400px;margin:0 auto;display:flex;align-items:center;gap:1.5rem;height:64px}.logo{display:flex;align-items:center;gap:.6rem;text-decoration:none}.logo-icon{font-size:1.6rem}.logo-text{font-size:1.25rem;font-weight:800;background:linear-gradient(135deg,var(--accent),#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;white-space:nowrap}.header-search{flex:1;position:relative}.header-search input{width:100%;background:var(--bg3);border:1px solid var(--border);border-radius:24px;color:var(--text);font-size:.9rem;padding:.55rem 1rem .55rem 2.6rem;outline:none;transition:border var(--transition),box-shadow var(--transition)}.header-search input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.search-icon-btn{position:absolute;left:.5rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:.95rem;padding:.25rem;border-radius:4px;line-height:1;transition:opacity var(--transition)}.search-icon-btn:hover{opacity:.7}.search-icon-btn:disabled{cursor:not-allowed;opacity:.4}.search-clear-btn{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:var(--bg3);border:1px solid var(--border);color:var(--text3);width:20px;height:20px;border-radius:50%;cursor:pointer;font-size:.65rem;display:flex;align-items:center;justify-content:center;transition:all var(--transition)}.search-clear-btn:hover{border-color:var(--red);color:var(--red);background:var(--red-bg)}.header-actions{display:flex;align-items:center;gap:.75rem}.btn-refresh{display:flex;align-items:center;gap:.4rem;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);padding:.5rem 1rem;font-size:.85rem;font-weight:600;cursor:pointer;transition:opacity var(--transition),transform var(--transition);white-space:nowrap}.btn-refresh:hover{opacity:.88;transform:translateY(-1px)}.btn-refresh:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-refresh.spinning svg{animation:spin 1s linear infinite}.timer-badge{display:flex;align-items:center;gap:.35rem;background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.45rem .75rem;font-size:.8rem;color:var(--text2);white-space:nowrap}.timer-badge.urgent{color:var(--yellow);border-color:var(--yellow)}.layout{max-width:1400px;margin:0 auto;padding:1.5rem;display:flex;gap:1.5rem}.sidebar{width:260px;flex-shrink:0}.main{flex:1;min-width:0}.filter-panel{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;position:sticky;top:80px}.filter-title{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text3);margin-bottom:1rem}.filter-section{margin-bottom:1.25rem}.filter-label{font-size:.8rem;font-weight:600;color:var(--text2);margin-bottom:.6rem;display:block}.filter-chips{display:flex;flex-wrap:wrap;gap:.4rem}.chip{padding:.3rem .65rem;border-radius:20px;font-size:.78rem;font-weight:500;border:1px solid var(--border);background:var(--bg3);color:var(--text2);cursor:pointer;transition:all var(--transition);white-space:nowrap}.chip:hover{border-color:var(--accent);color:var(--accent)}.chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.chip.ml.active{background:var(--ml-dark);border-color:var(--ml);color:#000}.chip.shopee.active{background:var(--shopee);border-color:var(--shopee);color:#fff}.chip.ali.active{background:var(--ali);border-color:var(--ali);color:#fff}.range-row{display:flex;gap:.5rem;align-items:center}.range-input{flex:1;background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:.4rem .6rem;font-size:.82rem;outline:none;width:0;transition:border var(--transition)}.range-input:focus{border-color:var(--accent)}.range-sep{color:var(--text3);font-size:.8rem}.sort-select{width:100%;background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:.5rem .75rem;font-size:.85rem;outline:none;cursor:pointer;transition:border var(--transition)}.sort-select:focus{border-color:var(--accent)}.btn-clear{width:100%;margin-top:.5rem;padding:.55rem;border-radius:var(--radius-sm);background:transparent;border:1px solid var(--border);color:var(--text3);font-size:.82rem;cursor:pointer;transition:all var(--transition)}.btn-clear:hover{border-color:var(--red);color:var(--red)}.stats-bar{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem;padding:.85rem 1rem;background:var(--card);border:1px solid var(--border);border-radius:var(--radius)}.stat-item{display:flex;align-items:center;gap:.4rem;font-size:.82rem}.stat-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.stat-dot.ml{background:var(--ml)}.stat-dot.shopee{background:var(--shopee)}.stat-dot.ali{background:var(--ali)}.stat-dot.all{background:var(--accent)}.stat-num{font-weight:700;color:var(--text)}.stat-lbl{color:var(--text3)}.stats-sep{flex:1}.cached-badge{font-size:.75rem;color:var(--green);background:var(--green-bg);padding:.2rem .6rem;border-radius:20px}.promo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.promo-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;cursor:pointer;transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition);display:flex;flex-direction:column;position:relative}.promo-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--accent)}.card-platform-bar{height:3px}.card-platform-bar.mercadolivre{background:var(--ml)}.card-platform-bar.shopee{background:var(--shopee)}.card-platform-bar.aliexpress{background:var(--ali)}.card-img-wrap{position:relative;aspect-ratio:1;background:#fff;overflow:hidden}.card-img-wrap img{width:100%;height:100%;object-fit:contain;padding:.5rem;transition:transform .3s ease}.promo-card:hover .card-img-wrap img{transform:scale(1.05)}.card-discount-badge{position:absolute;top:.5rem;right:.5rem;background:var(--red);color:#fff;font-size:.75rem;font-weight:700;padding:.2rem .45rem;border-radius:var(--radius-sm)}.card-platform-badge{position:absolute;top:.5rem;left:.5rem;font-size:.65rem;font-weight:700;padding:.2rem .5rem;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.04em}.card-platform-badge.mercadolivre{background:var(--ml);color:#000}.card-platform-badge.shopee{background:var(--shopee);color:#fff}.card-platform-badge.aliexpress{background:var(--ali);color:#fff}.card-body{padding:.85rem;flex:1;display:flex;flex-direction:column;gap:.5rem}.card-title{font-size:.82rem;font-weight:500;color:var(--text);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-prices{display:flex;flex-direction:column;gap:.15rem}.card-price{font-size:1.1rem;font-weight:800;color:var(--green)}.card-original{font-size:.75rem;color:var(--text3);text-decoration:line-through}.card-saving{font-size:.72rem;color:var(--green);font-weight:600}.card-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.3rem;margin-top:auto}.card-meta{display:flex;align-items:center;gap:.3rem;flex-wrap:wrap}.badge-small{font-size:.68rem;padding:.18rem .45rem;border-radius:20px;font-weight:600}.badge-free{background:var(--green-bg);color:var(--green)}.badge-rating{background:var(--yellow-bg);color:var(--yellow)}.btn-buy{font-size:.85rem;padding:.28rem .4rem;border-radius:var(--radius-sm);border:1px solid var(--green);background:var(--green-bg);text-decoration:none;transition:all var(--transition);line-height:1}.btn-buy:hover{background:var(--green)}.btn-compare{font-size:.72rem;font-weight:600;padding:.3rem .6rem;border-radius:var(--radius-sm);border:1px solid var(--accent);color:var(--accent);background:transparent;cursor:pointer;transition:all var(--transition);white-space:nowrap}.btn-compare:hover{background:var(--accent);color:#fff}.state-box{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:4rem 2rem;color:var(--text3);text-align:center}.state-icon{font-size:3rem}.state-box h3{color:var(--text2);font-size:1.1rem}.state-box p{font-size:.85rem;max-width:320px}.skeleton-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.skeleton-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.skeleton-img{aspect-ratio:1;background:var(--bg3);animation:pulse 1.5s ease-in-out infinite}.skeleton-body{padding:.85rem;display:flex;flex-direction:column;gap:.6rem}.skeleton-line{height:10px;background:var(--bg3);border-radius:4px;animation:pulse 1.5s ease-in-out infinite}.skeleton-line.short{width:60%}.skeleton-line.medium{width:80%}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease}.modal{background:var(--bg2);border:1px solid var(--border);border-radius:16px;width:100%;max-width:780px;max-height:90vh;overflow-y:auto;animation:slideUp .25s ease;box-shadow:0 24px 64px #0009}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border);gap:1rem;position:sticky;top:0;background:var(--bg2);z-index:1}.modal-title{font-size:1rem;font-weight:700;line-height:1.4}.modal-subtitle{font-size:.78rem;color:var(--text3);margin-top:.2rem}.btn-close{background:var(--bg3);border:1px solid var(--border);color:var(--text2);width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--transition)}.btn-close:hover{background:var(--red-bg);border-color:var(--red);color:var(--red)}.modal-body{padding:1.25rem 1.5rem}.compare-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.compare-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:border-color var(--transition)}.compare-card.best-price{border-color:var(--green);box-shadow:0 0 0 1px var(--green)}.compare-card.loading,.compare-card.unavailable{opacity:.6}.compare-card-header{padding:.75rem .85rem .6rem}.compare-platform{display:flex;align-items:center;gap:.4rem}.platform-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.platform-dot.mercadolivre{background:var(--ml)}.platform-dot.shopee{background:var(--shopee)}.platform-dot.aliexpress{background:var(--ali)}.platform-name{font-size:.78rem;font-weight:700}.best-tag{margin-left:auto;font-size:.65rem;background:var(--green-bg);color:var(--green);padding:.15rem .4rem;border-radius:20px;font-weight:700}.compare-img{aspect-ratio:1;background:#fff;overflow:hidden}.compare-img img{width:100%;height:100%;object-fit:contain;padding:.5rem}.compare-img-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text3);font-size:.8rem;background:var(--bg3)}.compare-info{padding:.75rem .85rem;flex:1;display:flex;flex-direction:column;gap:.4rem}.compare-product-title{font-size:.75rem;color:var(--text2);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.compare-price{font-size:1.2rem;font-weight:800;color:var(--green)}.compare-price.unavailable{color:var(--text3);font-size:.85rem}.compare-original{font-size:.72rem;color:var(--text3);text-decoration:line-through}.compare-discount{font-size:.72rem;color:var(--red);font-weight:700}.compare-shipping{font-size:.7rem}.compare-shipping.free{color:var(--green)}.compare-shipping.paid{color:var(--text3)}.compare-rating{font-size:.7rem;color:var(--yellow)}.compare-footer{padding:.75rem .85rem;border-top:1px solid var(--border)}.btn-visit{display:block;width:100%;text-align:center;padding:.55rem;border-radius:var(--radius-sm);font-size:.8rem;font-weight:600;text-decoration:none;transition:opacity var(--transition),transform var(--transition)}.btn-visit:hover{opacity:.85;transform:translateY(-1px)}.btn-visit.mercadolivre{background:var(--ml);color:#000}.btn-visit.shopee{background:var(--shopee);color:#fff}.btn-visit.aliexpress{background:var(--ali);color:#fff}.btn-visit.unavailable{background:var(--bg3);color:var(--text3);pointer-events:none}.compare-loading-spinner{display:flex;align-items:center;justify-content:center;padding:2rem}.spinner{width:28px;height:28px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.compare-summary{margin-top:1rem;padding:.85rem 1rem;background:var(--bg3);border-radius:var(--radius-sm)}.compare-summary-title{font-size:.75rem;font-weight:700;color:var(--text3);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.06em}.compare-summary-text{font-size:.85rem;color:var(--text)}.compare-summary-text strong{color:var(--green)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 900px){.layout{flex-direction:column}.sidebar{width:100%}.filter-panel{position:static}.compare-cards{grid-template-columns:1fr}}@media (max-width: 600px){.header-inner{gap:.75rem}.logo-text,.timer-badge{display:none}.layout{padding:1rem}.promo-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}}
