:root{--bg: var(--tg-theme-bg-color, #ffffff);--text: var(--tg-theme-text-color, #1a1a1a);--hint: var(--tg-theme-hint-color, #8e8e93);--link: var(--tg-theme-link-color, #2481cc);--button: var(--tg-theme-button-color, #2481cc);--button-text: var(--tg-theme-button-text-color, #ffffff);--secondary-bg: var(--tg-theme-secondary-bg-color, #f0f2f5);--section-bg: var(--tg-theme-section-bg-color, #ffffff);--destructive: #e53935;--success: #2e7d32;--border: color-mix(in srgb, var(--hint) 25%, transparent);font-family:Manrope,system-ui,-apple-system,sans-serif;line-height:1.4;font-weight:400;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:radial-gradient(1200px 400px at 10% -10%,color-mix(in srgb,var(--link) 12%,transparent),transparent),radial-gradient(900px 320px at 100% 0%,color-mix(in srgb,var(--button) 10%,transparent),transparent),var(--bg)}button{font:inherit;cursor:pointer}a{color:var(--link)}.app{max-width:560px;margin:0 auto;padding:16px 16px 40px}.header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.header h1{margin:0;font-size:1.35rem;font-weight:700;letter-spacing:-.02em}.scope-toggle{display:inline-flex;background:var(--secondary-bg);border-radius:10px;padding:3px;gap:2px}.scope-toggle button{border:0;background:transparent;color:var(--hint);padding:6px 10px;border-radius:8px;font-size:.8rem;font-weight:600}.scope-toggle button.active{background:var(--section-bg);color:var(--text);box-shadow:0 1px 2px #0000000f}.filters{margin:-4px 0 14px}.marketplace-filter{width:100%}.marketplace-filter button{flex:1}.denied{min-height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;padding:24px}.denied h2{margin:0;font-size:1.4rem;font-weight:700}.denied p{margin:0;color:var(--hint);max-width:280px}.duck{width:140px;height:140px;margin-bottom:8px;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.loading,.empty{text-align:center;color:var(--hint);padding:48px 16px}.list{display:flex;flex-direction:column;gap:10px}.card{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;background:color-mix(in srgb,var(--section-bg) 92%,var(--secondary-bg));border:1px solid var(--border);border-radius:14px;cursor:pointer;transition:transform .15s ease,border-color .15s ease;text-align:left;width:100%;color:inherit}.card:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--link) 40%,var(--border))}.card img,.detail-hero img{width:64px;height:64px;object-fit:cover;border-radius:10px;background:var(--secondary-bg)}.card>img{width:56px;height:56px}.card-meta{min-width:0}.card-title{margin:0 0 4px;font-size:.95rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-sub{display:flex;flex-wrap:wrap;gap:6px;align-items:center;color:var(--hint);font-size:.75rem}.badge{display:inline-flex;align-items:center;padding:2px 6px;border-radius:6px;background:var(--secondary-bg);font-weight:600}.owner-badge{color:var(--link)}.card-metrics{display:flex;flex-wrap:nowrap;align-items:baseline;gap:0;margin-top:4px;min-width:0;max-width:100%;overflow:hidden;color:var(--text);font-size:.68rem;font-weight:700;line-height:1.2;white-space:nowrap}.card-metrics>span:not(.card-metrics-sep){min-width:0;overflow:hidden;text-overflow:ellipsis}.card-metrics-sep{flex:0 0 auto;margin:0 5px;color:var(--hint);font-weight:600}.card-metrics em{font-style:normal;font-weight:600;color:var(--hint);margin-right:3px}.card-metrics .reviews-today.hot{color:var(--success)}.card-metrics .reviews-today.hot em{color:color-mix(in srgb,var(--success) 70%,var(--hint))}.price-block{display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:72px}.scrape-fail-badge{font-size:.65rem;font-weight:700;color:var(--destructive);white-space:nowrap}.scrape-warn{background:color-mix(in srgb,var(--destructive) 12%,var(--secondary-bg));color:var(--destructive);border-radius:10px;padding:8px 10px;font-size:.8rem;font-weight:600}.price{font-weight:700;font-size:.95rem}.dir{display:inline-flex;align-items:center;gap:2px;font-size:.75rem;font-weight:700}.dir.up{color:var(--destructive)}.dir.down{color:var(--success)}.dir.same,.dir.unknown{color:var(--hint)}.spark{width:72px;height:28px}.detail{display:flex;flex-direction:column;gap:16px}.detail-hero{display:grid;grid-template-columns:88px 1fr;gap:14px;align-items:start}.detail-hero img{width:88px;height:88px}.detail-hero h2{margin:0 0 6px;font-size:1.15rem;font-weight:700;letter-spacing:-.02em}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stat{background:var(--secondary-bg);border-radius:12px;padding:10px;text-align:center}.stat .label{display:block;color:var(--hint);font-size:.7rem;margin-bottom:4px}.stat .value{font-weight:700;font-size:.95rem}.chart-wrap{background:color-mix(in srgb,var(--section-bg) 90%,var(--secondary-bg));border:1px solid var(--border);border-radius:14px;padding:12px 8px 4px}.chart-toggle{display:flex;width:100%;margin:0 4px 10px}.chart-toggle button{flex:1}.detail-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}.back{border:0;background:transparent;color:var(--link);font-weight:600;padding:4px 0}.detail-icon-actions{display:inline-flex;align-items:center;gap:6px}.icon-btn{width:40px;height:40px;border:1px solid var(--border);border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--section-bg) 88%,var(--secondary-bg));color:var(--button);padding:0}.icon-btn.danger{color:var(--destructive);background:color-mix(in srgb,var(--destructive) 10%,var(--secondary-bg))}.icon-btn:disabled{opacity:.55;cursor:wait}.related-wrap{background:color-mix(in srgb,var(--section-bg) 90%,var(--secondary-bg));border:1px solid var(--border);border-radius:14px;padding:12px}.related-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px}.related-head h3{margin:0;font-size:.95rem;font-weight:700}.related-count{color:var(--hint);font-size:.75rem;font-weight:600}.related-empty{color:var(--hint);font-size:.85rem;padding:12px 4px 6px}.related-table-scroll{overflow-x:auto;margin:0 -4px;padding:0 4px}.related-table{width:100%;border-collapse:collapse;font-size:.8rem}.related-table th{text-align:left;color:var(--hint);font-weight:600;font-size:.7rem;padding:0 8px 8px 0;white-space:nowrap}.related-table th:nth-child(3),.related-table th:nth-child(4),.related-table th:nth-child(5),.related-table td:nth-child(3),.related-table td:nth-child(4),.related-table td:nth-child(5){text-align:right;padding-right:0;padding-left:8px}.related-table td{padding:8px 8px 8px 0;border-top:1px solid var(--border);vertical-align:middle}.related-th-img,.related-td-img{width:44px;padding-right:10px!important}.related-thumb-btn{border:0;padding:0;background:transparent;border-radius:8px;display:block;overflow:hidden;width:40px;height:40px}.related-thumb{width:40px!important;height:40px!important;object-fit:cover;border-radius:8px;display:block;background:var(--secondary-bg)}.related-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-decoration:none;color:var(--text);font-weight:600;line-height:1.25;border:0;background:transparent;padding:0;text-align:left;max-width:100%}.related-title:hover{color:var(--link)}.related-price{font-weight:700;white-space:nowrap}.related-diff{font-weight:700;white-space:nowrap;color:var(--hint)}.related-diff.up{color:var(--destructive)}.related-diff.down{color:var(--success)}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#000000b8;display:flex;align-items:center;justify-content:center;padding:16px}.lightbox-panel{position:relative;width:min(100%,420px);max-height:min(92vh,760px);overflow:auto;background:var(--section-bg);border-radius:16px;border:1px solid var(--border);box-shadow:0 16px 48px #00000047;padding:14px 14px 16px}.lightbox-close{position:absolute;top:10px;right:10px;z-index:2;width:34px;height:34px;border:0;border-radius:10px;background:color-mix(in srgb,var(--secondary-bg) 85%,transparent);color:var(--text);font-size:1rem;line-height:1}.lightbox-stage{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;gap:6px;margin-top:8px}.lightbox-image-wrap{aspect-ratio:1;border-radius:12px;overflow:hidden;background:var(--secondary-bg)}.lightbox-image{width:100%!important;height:100%!important;object-fit:contain;display:block;background:var(--secondary-bg)}.lightbox-nav{width:40px;height:40px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--section-bg) 88%,var(--secondary-bg));color:var(--text);font-size:1.6rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;padding:0}.lightbox-nav:disabled{opacity:.35;cursor:default}.lightbox-meta{margin-top:14px;display:flex;flex-direction:column;gap:8px}.lightbox-counter{margin:0;color:var(--hint);font-size:.75rem;font-weight:600}.lightbox-title{margin:0;font-size:1.05rem;font-weight:700;letter-spacing:-.02em;line-height:1.3}.lightbox-link{font-size:.85rem;font-weight:600}.lightbox-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:4px}.lightbox-stats>div{background:var(--secondary-bg);border-radius:10px;padding:8px 10px}.lightbox-stats .label{display:block;color:var(--hint);font-size:.68rem;margin-bottom:2px}.lightbox-stats .value{font-weight:700;font-size:.9rem}.lightbox-stats .value .dir{font-size:.85rem}.error{color:var(--destructive);text-align:center;padding:24px}.header-admin{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.proxy-active{background:color-mix(in srgb,var(--section-bg) 90%,var(--secondary-bg));border:1px solid var(--border);border-radius:14px;padding:12px;margin-bottom:16px}.proxy-active-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.proxy-active-head h2{margin:0;font-size:.95rem;font-weight:700}.proxy-actions{display:inline-flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.proxy-btn{border:1px solid var(--border);background:color-mix(in srgb,var(--section-bg) 88%,var(--secondary-bg));color:var(--text);border-radius:10px;padding:6px 10px;font-size:.75rem;font-weight:600}.proxy-btn.primary{background:var(--button);border-color:var(--button);color:var(--button-text)}.proxy-btn:disabled{opacity:.55;cursor:wait}.proxy-mock-badge{display:inline-flex;margin-bottom:8px;padding:2px 8px;border-radius:6px;background:color-mix(in srgb,var(--link) 14%,var(--secondary-bg));color:var(--link);font-size:.7rem;font-weight:700}.proxy-active-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.proxy-active-grid .stat .value{font-size:.8rem;word-break:break-word}.socks-up{color:var(--success)}.socks-down{color:var(--destructive)}.socks-unknown{color:var(--hint)}.proxy-socks-url{margin-top:10px;color:var(--hint);font-size:.75rem;font-weight:600;word-break:break-all}.proxy-list-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px}.proxy-list-head h3{margin:0;font-size:.95rem;font-weight:700}.proxy-list .proxy-card{grid-template-columns:40px minmax(0,1fr) auto}.proxy-card.active{border-color:color-mix(in srgb,var(--success) 45%,var(--border));background:color-mix(in srgb,var(--success) 8%,var(--section-bg))}.proxy-flag{width:40px;height:40px;border-radius:10px;background:var(--secondary-bg);display:inline-flex;align-items:center;justify-content:center;font-size:1.25rem}.proxy-select-label{font-size:.75rem;font-weight:700;color:var(--link)}.proxy-card.active .proxy-select-label{color:var(--success)}.proxy-card:disabled{opacity:.7;cursor:wait}@keyframes skeleton-pulse{0%,to{opacity:.45}50%{opacity:.85}}.skeleton-block{pointer-events:none}.skeleton-tabs{gap:6px}.skeleton-pill{display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;border-radius:10px;background:color-mix(in srgb,var(--hint) 18%,var(--secondary-bg));color:transparent;font-size:.8rem;animation:skeleton-pulse 1.4s ease-in-out infinite}.skeleton-chart{height:220px;margin-top:10px;border-radius:12px;background:color-mix(in srgb,var(--hint) 12%,var(--secondary-bg));position:relative;overflow:hidden;animation:skeleton-pulse 1.4s ease-in-out infinite}.skeleton-chart-line{position:absolute;left:12%;right:12%;top:48%;height:3px;border-radius:2px;background:color-mix(in srgb,var(--link) 45%,transparent)}.related-skeleton-rows{display:flex;flex-direction:column;gap:10px}.related-skeleton-row{display:grid;grid-template-columns:40px 1fr 64px;gap:10px;align-items:center;padding:6px 0;border-top:1px solid var(--border)}.related-skeleton-row:first-child{border-top:0}.skeleton-thumb{width:40px;height:40px;border-radius:8px;background:color-mix(in srgb,var(--hint) 18%,var(--secondary-bg));animation:skeleton-pulse 1.4s ease-in-out infinite}.skeleton-lines{display:flex;flex-direction:column;gap:6px;min-width:0}.skeleton-line{height:10px;border-radius:6px;background:color-mix(in srgb,var(--hint) 18%,var(--secondary-bg));animation:skeleton-pulse 1.4s ease-in-out infinite}.skeleton-line.w80{width:80%}.skeleton-line.w55{width:55%}.skeleton-line.wprice{width:56px;justify-self:end}
