@import"https://fonts.googleapis.com/css2?family=Space+Mono:wght@400;700&family=DM+Sans:ital,wght@0,300;0,400;0,500;0,600;1,400&display=swap";:root{--bg: #080b12;--bg2: #0f1320;--bg3: #161c2d;--surface: #1e2540;--border: rgba(255,255,255,.07);--border2: rgba(255,255,255,.12);--text: #e4e8f4;--text2: #8892aa;--text3: #4a5570;--accent: #3b82f6;--accent-glow: rgba(59,130,246,.15);--shopee: #ff5722;--yt: #ff4444;--tt: #e91e8c;--google: #4285f4;--gold: #fbbf24;--silver: #94a3b8;--bronze: #cd7c2f;--mono: "Space Mono", monospace;--sans: "DM Sans", sans-serif;--r: 8px;--r-lg: 14px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--sans);font-size:15px;line-height:1.6;min-height:100vh}a{color:inherit;text-decoration:none}.app{display:flex;flex-direction:column;min-height:100vh}.main{flex:1;max-width:960px;margin:0 auto;width:100%;padding:1.5rem 1.5rem 3rem}.header{border-bottom:1px solid var(--border);padding:0 1.5rem;position:sticky;top:0;background:#080b12e6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:100}.header-inner{max-width:960px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:14px 0}.logo{display:flex;align-items:center;gap:12px}.flag{font-size:26px}.logo-name{font-family:var(--mono);font-size:17px;font-weight:700;color:var(--accent)}.logo-sub{font-size:12px;color:var(--text3)}.header-right{display:flex;align-items:center;gap:10px}.update-time{font-size:12px;color:var(--text3);font-family:var(--mono)}.btn-sm{background:var(--bg3);border:1px solid var(--border2);color:var(--text2);padding:6px 14px;border-radius:var(--r);font-size:13px;cursor:pointer;transition:all .15s}.btn-sm:hover{color:var(--text);border-color:var(--accent)}.btn-sm:disabled{opacity:.4;cursor:not-allowed}.search-section{margin-bottom:1.5rem}.search-form{display:flex;gap:10px;margin-bottom:12px}.search-input{flex:1;background:var(--bg3);border:1px solid var(--border2);color:var(--text);font-family:var(--sans);font-size:15px;padding:13px 18px;border-radius:var(--r-lg);outline:none;transition:border-color .15s}.search-input::placeholder{color:var(--text3)}.search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.search-btn{background:var(--accent);color:#fff;border:none;padding:13px 24px;border-radius:var(--r-lg);font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;transition:opacity .15s;font-family:var(--sans)}.search-btn:hover{opacity:.88}.search-btn:disabled{opacity:.5;cursor:not-allowed}.category-row{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:12px}.chip{background:var(--bg3);border:1px solid var(--border);color:var(--text2);padding:5px 14px;border-radius:100px;font-size:13px;cursor:pointer;transition:all .15s;font-family:var(--sans)}.chip:hover{color:var(--text);border-color:var(--border2)}.chip.active{background:#3b82f61f;border-color:#3b82f666;color:var(--accent)}.suggestions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.suggestions-label{font-size:13px;color:var(--text3)}.suggestion-btn{background:var(--bg3);border:1px solid var(--border);color:var(--text2);padding:5px 13px;border-radius:100px;font-size:13px;cursor:pointer;transition:all .15s;font-family:var(--sans)}.suggestion-btn:hover{color:var(--accent);border-color:#3b82f64d}.source-status-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:1.25rem}.source-pill{display:flex;align-items:center;gap:7px;background:var(--bg3);border:1px solid var(--border);border-radius:100px;padding:5px 13px;font-size:13px;color:var(--text2)}.source-pill.ok{border-color:#4ade8033}.source-pill.err{border-color:#f8717133;color:var(--text3)}.dot{width:7px;height:7px;border-radius:50%;background:#4ade80}.source-pill.err .dot{background:#f87171;box-shadow:none}.source-pill.ok .dot{box-shadow:0 0 6px #4ade80}.err-note{font-size:11px;opacity:.7}.results-header{margin-bottom:1rem}.results-title{font-size:16px;font-weight:500;color:var(--text2);margin-bottom:1rem}.results-title em{color:var(--text);font-style:normal;font-weight:600}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);overflow-x:auto}.tab{background:none;border:none;border-bottom:2px solid transparent;color:var(--text2);padding:9px 16px;font-size:14px;cursor:pointer;margin-bottom:-1px;transition:all .15s;white-space:nowrap;font-family:var(--sans)}.tab:hover{color:var(--text)}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.products-list{display:flex;flex-direction:column;gap:10px;margin-top:1.25rem}.product-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r-lg);padding:14px 16px;transition:border-color .15s,transform .1s;animation:fadeUp .3s ease both}.product-card:hover{border-color:var(--border2);transform:translateY(-1px)}.product-card.top3{border-color:#fbbf242e;background:linear-gradient(135deg,var(--bg2),rgba(251,191,36,.03))}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.product-rank{font-family:var(--mono);font-size:14px;font-weight:700;color:var(--text3);margin-bottom:8px}.product-card.top3 .product-rank{color:var(--gold)}.product-main{display:flex;gap:12px;align-items:flex-start;margin-bottom:10px}.product-img{width:56px;height:56px;object-fit:cover;border-radius:var(--r);background:var(--bg3);flex-shrink:0}.product-info{flex:1;min-width:0}.product-name{font-size:15px;font-weight:500;color:var(--text);margin-bottom:5px;line-height:1.3}.product-signals{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:7px}.signal{font-size:12px;color:var(--text2);background:var(--bg3);border:1px solid var(--border);border-radius:4px;padding:2px 8px;font-family:var(--mono)}.product-sources{display:flex;flex-wrap:wrap;gap:5px}.source-tag{font-size:11px;padding:2px 8px;border-radius:100px;font-weight:500}.product-metrics{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:10px}.metric{display:flex;flex-direction:column}.metric-val{font-family:var(--mono);font-size:14px;font-weight:700;color:var(--text)}.metric-label{font-size:11px;color:var(--text3)}.shopee-val{color:var(--shopee)}.yt-val{color:var(--yt)}.tt-val{color:var(--tt)}.g-val{color:var(--google)}.score-bar-wrap{display:flex;align-items:center;gap:10px;margin-bottom:8px}.score-bar-bg{flex:1;height:4px;background:var(--border);border-radius:2px;overflow:hidden}.score-bar-fill{height:100%;border-radius:2px;transition:width .5s ease}.score-num{font-family:var(--mono);font-size:12px;color:var(--text3);min-width:24px;text-align:right}.shopee-link{display:inline-block;font-size:13px;color:var(--shopee);opacity:.8;transition:opacity .15s}.shopee-link:hover{opacity:1}.detail-tab{margin-top:1.25rem}.detail-label{font-family:var(--mono);font-size:12px;color:var(--text3);margin-bottom:1rem;text-transform:uppercase;letter-spacing:.05em}.shopee-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.shopee-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;transition:border-color .15s}.shopee-card:hover{border-color:#ff57224d}.shopee-img{width:100%;height:130px;object-fit:cover;background:var(--bg3)}.shopee-name{font-size:12px;color:var(--text);padding:8px 10px 4px;line-height:1.4;flex:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.shopee-stats{display:flex;flex-wrap:wrap;gap:6px;padding:4px 10px 10px}.shopee-sold{font-family:var(--mono);font-size:11px;color:var(--shopee);font-weight:700}.shopee-price{font-family:var(--mono);font-size:11px;color:var(--text2)}.shopee-rating{font-size:11px;color:var(--gold)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.col-label{font-size:12px;color:var(--text3);font-family:var(--mono);text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px}.query-row{display:flex;justify-content:space-between;align-items:center;padding:7px 0;border-bottom:1px solid var(--border);font-size:14px;color:var(--text)}.query-val{font-family:var(--mono);font-size:12px;color:var(--text3)}.query-val.rising{color:#4ade80}.tt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.tt-tag{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);padding:12px}.tt-name{font-size:14px;font-weight:500;color:var(--tt);margin-bottom:4px;word-break:break-all}.tt-views{font-family:var(--mono);font-size:12px;color:var(--text3)}.tt-trend{font-size:11px;color:#4ade80;margin-top:3px}.yt-list{display:flex;flex-direction:column;gap:10px}.yt-row{display:flex;gap:12px;align-items:center;background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);padding:10px 14px;transition:border-color .15s}.yt-row:hover{border-color:#ff44444d}.yt-thumb{width:100px;height:56px;object-fit:cover;border-radius:4px;background:var(--bg3);flex-shrink:0}.yt-title{font-size:13px;color:var(--text);line-height:1.4;margin-bottom:4px}.yt-meta{font-size:12px;color:var(--text3);font-family:var(--mono)}.loading-state{text-align:center;padding:4rem 1rem}.spinner{width:36px;height:36px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .75s linear infinite;margin:0 auto 1rem}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{color:var(--text2);font-size:14px}.loading-text strong{color:var(--text)}.error-box{background:#f8717114;border:1px solid rgba(248,113,113,.25);color:#f87171;padding:12px 16px;border-radius:var(--r);font-size:14px;margin-bottom:1rem}.source-error-box{background:#f871710f;border:1px solid rgba(248,113,113,.15);border-radius:var(--r);padding:1rem 1.25rem;font-size:14px;color:#f87171;margin-top:1rem}.source-error-hint{font-size:13px;color:var(--text2);margin-top:8px}.source-error-hint code{background:var(--bg3);padding:2px 7px;border-radius:4px;font-family:var(--mono);font-size:12px;color:var(--text)}.source-error-hint a{color:var(--accent);text-decoration:underline}.source-note{font-size:13px;color:var(--text3);margin-bottom:1rem;font-style:italic}.empty-note{font-size:14px;color:var(--text3);padding:1rem 0}.empty{text-align:center;color:var(--text2);padding:3rem;font-size:14px}.footer{border-top:1px solid var(--border);padding:1.25rem 1.5rem;text-align:center;font-size:12px;color:var(--text3);font-family:var(--mono);line-height:2}.footer-note{font-size:11px}@media (max-width: 640px){.search-form{flex-direction:column}.two-col{grid-template-columns:1fr}.shopee-grid{grid-template-columns:repeat(2,1fr)}.header-inner{flex-wrap:wrap;gap:10px}.product-metrics{gap:10px}}
