{"product_id":"topdon-topscan-obd2-diagnostic-scanner","title":"TOPDON TopScan - Professional OBD2 Scanner \u0026 Vehicle Diagnostic Tool for iPhone and Android","description":"\u003c!-- =====================================================================\n     TOPDON TopScan - Consolidated Shopify Product Description\n     Self-contained: HTML + CSS + JS in one block. No external libraries.\n     All assets referenced directly from TOPDON \/ Shopify CDN (not re-hosted).\n     Scoped under #ts-app to avoid Shopify theme conflicts.\n     ===================================================================== --\u003e\n\u003cdiv id=\"ts-app\"\u003e\n\n\u003c!-- ============================ STYLES ============================ --\u003e\n\u003cstyle\u003e\n\/* ---- Scoped reset \u0026 tokens ---- *\/\n#ts-app{\n  --ts-bg:#000;\n  --ts-panel:#101012;\n  --ts-panel-2:#1a1a1d;\n  --ts-line:rgba(255,255,255,.12);\n  --ts-text:#fff;\n  --ts-muted:rgba(255,255,255,.62);\n  --ts-orange:#ff6a00;\n  --ts-orange-2:#ff8a3d;\n  --ts-blue:#2f80ff;\n  --ts-blue-2:#5aa0ff;\n  --ts-radius:16px;\n  --ts-maxw:1200px;\n  --ts-nav-h:60px;\n  --ts-font:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Helvetica,Arial,\"Noto Sans Hebrew\",sans-serif;\n  all:initial;\n  display:block;\n  font-family:var(--ts-font);\n  color:var(--ts-text);\n  background:var(--ts-bg);\n  line-height:1.5;\n  -webkit-font-smoothing:antialiased;\n  box-sizing:border-box;\n  \/* Normal page flow: the description scrolls together with the Shopify page.\n     No internal scroll context. The sticky nav lives in normal flow and the\n     section offsets are handled dynamically in JS via scroll-margin-top. *\/\n  position:relative;\n}\n#ts-app *,#ts-app *::before,#ts-app *::after{box-sizing:border-box;margin:0;padding:0;}\n#ts-app img{max-width:100%;display:block;height:auto;}\n#ts-app a{color:inherit;text-decoration:none;}\n#ts-app button{font-family:inherit;cursor:pointer;border:0;background:none;color:inherit;}\n#ts-app ul{list-style:none;}\n\n\/* ---- Fluid type helpers (explicit colors override any theme bleed) ---- *\/\n#ts-app .ts-wrap{width:100%;max-width:var(--ts-maxw);margin:0 auto;padding:0 clamp(18px,5vw,40px);}\n#ts-app .ts-h1{font-size:clamp(34px,6vw,68px);font-weight:800;line-height:1.05;letter-spacing:-.02em;color:var(--ts-text);}\n#ts-app .ts-h2{font-size:clamp(28px,4.6vw,52px);font-weight:800;line-height:1.08;letter-spacing:-.015em;color:var(--ts-text);}\n#ts-app .ts-h3{font-size:clamp(20px,2.6vw,30px);font-weight:700;line-height:1.2;color:var(--ts-text);}\n#ts-app .ts-lead{font-size:clamp(15px,1.7vw,20px);color:var(--ts-muted);font-weight:400;}\n#ts-app .ts-eyebrow{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--ts-orange);font-weight:700;}\n\/* Belt-and-braces: force light text on any heading element a theme might style *\/\n#ts-app h1,#ts-app h2,#ts-app h3,#ts-app h4,#ts-app p,#ts-app span,#ts-app td,#ts-app th,#ts-app strong,#ts-app small,#ts-app div{color:inherit;}\n#ts-app .ts-h1,#ts-app .ts-h2,#ts-app .ts-h3,#ts-app .ts-card .ts-h3,\n#ts-app .ts-proto .item strong,#ts-app table.ts-cmp thead th,#ts-app .ts-faq .q,\n#ts-app .ts-nav-brand,#ts-app .ts-dl .t,#ts-app .ts-acc .lab,#ts-app .ts-vid .cap,\n#ts-app .ts-specs .row .v{color:var(--ts-text);}\n\n\/* ---- Sticky nav ----\n   --ts-store-header is measured at runtime (height of the Shopify store header,\n   if it is fixed\/sticky). The nav parks just below it; sections offset for both. *\/\n#ts-app .ts-nav{\n  position:sticky;top:var(--ts-store-header,0px);z-index:40;\n  background:rgba(8,8,9,.82);\n  backdrop-filter:saturate(160%) blur(14px);\n  -webkit-backdrop-filter:saturate(160%) blur(14px);\n  border-bottom:1px solid var(--ts-line);\n  height:var(--ts-nav-h);\n}\n#ts-app .ts-nav-inner{\n  height:100%;display:flex;align-items:center;gap:18px;\n  max-width:var(--ts-maxw);margin:0 auto;padding:0 clamp(14px,4vw,28px);\n}\n#ts-app .ts-nav-brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:17px;flex-shrink:0;}\n#ts-app .ts-nav-brand .dot{width:9px;height:9px;border-radius:50%;background:var(--ts-orange);box-shadow:0 0 12px var(--ts-orange);}\n#ts-app .ts-nav-links{\n  display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;\n  flex:1;justify-content:flex-end;\n}\n#ts-app .ts-nav-links::-webkit-scrollbar{display:none;}\n#ts-app .ts-nav-links a{\n  white-space:nowrap;padding:8px 14px;border-radius:999px;font-size:14px;font-weight:600;\n  color:var(--ts-muted);transition:color .2s,background .2s;\n}\n#ts-app .ts-nav-links a:hover{color:#fff;}\n#ts-app .ts-nav-links a.is-active{color:#fff;background:rgba(255,106,0,.16);box-shadow:inset 0 0 0 1px rgba(255,106,0,.4);}\n\n\/* ---- Sections ----\n   scroll-margin-top keeps headings clear of BOTH the store header and the\n   sticky TopScan nav when navigated to (native CSS, works with normal page scroll). *\/\n#ts-app .ts-sec{padding:clamp(40px,6vw,72px) 0;position:relative;\n  scroll-margin-top:calc(var(--ts-store-header,0px) + var(--ts-nav-h) + 14px);}\n#ts-app .ts-sec--tight{padding:clamp(28px,4vw,48px) 0;}\n#ts-app [id^=\"ts-\"]{scroll-margin-top:calc(var(--ts-store-header,0px) + var(--ts-nav-h) + 14px);}\n#ts-app .ts-center{text-align:center;}\n\n\/* ---- Reveal animation ---- *\/\n#ts-app .ts-reveal{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);}\n#ts-app .ts-reveal.is-in{opacity:1;transform:none;}\n@media (prefers-reduced-motion:reduce){#ts-app .ts-reveal{opacity:1;transform:none;transition:none;}}\n\n\/* ---- Hero ---- *\/\n#ts-app .ts-hero{\n  position:relative;min-height:clamp(420px,72vh,720px);\n  display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;\n  background:radial-gradient(120% 120% at 50% 0%,#1b1b20 0%,#000 60%);\n}\n#ts-app .ts-hero .ts-hero-bg{\n  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55;z-index:0;\n}\n#ts-app .ts-hero .ts-wrap{position:relative;z-index:2;padding-top:60px;padding-bottom:60px;}\n#ts-app .ts-hero .badges{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:26px;}\n#ts-app .ts-hero .badge{\n  font-size:13px;font-weight:600;padding:8px 16px;border-radius:999px;\n  background:rgba(255,255,255,.06);border:1px solid var(--ts-line);color:var(--ts-muted);\n}\n#ts-app .ts-hero .badge b{color:#fff;font-weight:700;}\n\n\/* ---- Trust \/ media strip ---- *\/\n#ts-app .ts-trust{border-top:1px solid var(--ts-line);border-bottom:1px solid var(--ts-line);background:#060607;}\n#ts-app .ts-trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;text-align:center;}\n#ts-app .ts-trust-grid .n{font-size:clamp(28px,4vw,44px);font-weight:800;color:var(--ts-orange);}\n#ts-app .ts-trust-grid .l{font-size:14px;color:var(--ts-muted);margin-top:6px;}\n@media(max-width:640px){#ts-app .ts-trust-grid{grid-template-columns:1fr;gap:18px;}}\n\n\/* ---- Feature blocks (alternating) ---- *\/\n#ts-app .ts-feat{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,64px);align-items:center;}\n#ts-app .ts-feat + .ts-feat{margin-top:clamp(48px,7vw,96px);}\n#ts-app .ts-feat .copy .ts-eyebrow{margin-bottom:14px;}\n#ts-app .ts-feat .copy .ts-h3{margin-bottom:14px;}\n#ts-app .ts-feat .media{\n  border-radius:var(--ts-radius);overflow:hidden;background:var(--ts-panel);\n  border:1px solid var(--ts-line);aspect-ratio:4\/3;\n}\n#ts-app .ts-feat .media img,#ts-app .ts-feat .media video{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1);}\n#ts-app .ts-feat .media:hover img{transform:scale(1.05);}\n#ts-app .ts-feat--rev .copy{order:2;}\n#ts-app .ts-feat--rev .media{order:1;}\n@media(max-width:820px){\n  #ts-app .ts-feat{grid-template-columns:1fr;}\n  #ts-app .ts-feat--rev .copy{order:1;}\n  #ts-app .ts-feat--rev .media{order:2;}\n}\n\n\/* ---- Card grid ---- *\/\n#ts-app .ts-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:36px;}\n#ts-app .ts-card{\n  background:var(--ts-panel);border:1px solid var(--ts-line);border-radius:var(--ts-radius);\n  padding:clamp(22px,3vw,34px);transition:border-color .25s,transform .25s;\n}\n#ts-app .ts-card:hover{border-color:rgba(255,106,0,.5);transform:translateY(-3px);}\n#ts-app .ts-card .ts-h3{margin-bottom:10px;font-size:clamp(18px,2.2vw,24px);}\n#ts-app .ts-card p{color:var(--ts-muted);font-size:15px;}\n#ts-app .ts-card .pill{display:inline-block;margin-bottom:14px;font-size:12px;font-weight:700;letter-spacing:.05em;\n  padding:5px 11px;border-radius:999px;background:rgba(47,128,255,.15);color:var(--ts-blue-2);}\n@media(max-width:680px){#ts-app .ts-cards{grid-template-columns:1fr;}}\n\n\/* ---- Protocol callout ---- *\/\n#ts-app .ts-proto{\n  background:linear-gradient(135deg,#0c0c10,#15151b);\n  border:1px solid var(--ts-line);border-radius:var(--ts-radius);\n  padding:clamp(28px,4vw,52px);display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center;\n}\n#ts-app .ts-proto .tag{display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:clamp(20px,3vw,34px);}\n#ts-app .ts-proto .tag.o{color:var(--ts-orange);}\n#ts-app .ts-proto .tag.b{color:var(--ts-blue-2);}\n#ts-app .ts-proto .item{padding:16px 0;border-bottom:1px solid var(--ts-line);}\n#ts-app .ts-proto .item:last-child{border-bottom:0;}\n#ts-app .ts-proto .item small{display:block;color:var(--ts-muted);font-size:14px;margin-top:4px;}\n@media(max-width:680px){#ts-app .ts-proto{grid-template-columns:1fr;}}\n\n\/* ---- Comparison table ---- *\/\n#ts-app .ts-cmp-wrap{border:1px solid var(--ts-line);border-radius:var(--ts-radius);overflow:hidden;-webkit-overflow-scrolling:touch;}\n#ts-app table.ts-cmp{border-collapse:collapse;width:100%;table-layout:fixed;font-size:14px;}\n#ts-app table.ts-cmp col.c-feat{width:46%;}\n#ts-app table.ts-cmp col.c-tier{width:18%;}\n#ts-app table.ts-cmp th,#ts-app table.ts-cmp td{padding:13px 10px;text-align:center;border-bottom:1px solid var(--ts-line);word-break:break-word;}\n#ts-app table.ts-cmp thead th{background:#060607;font-size:15px;font-weight:800;}\n#ts-app table.ts-cmp th:first-child,#ts-app table.ts-cmp td:first-child{text-align:left;padding-left:16px;}\n#ts-app table.ts-cmp tbody td:first-child{color:var(--ts-muted);font-weight:500;}\n#ts-app table.ts-cmp .grp td{background:rgba(255,106,0,.08);color:var(--ts-orange);font-weight:700;text-align:left;letter-spacing:.03em;}\n#ts-app table.ts-cmp .yes{color:#36d07f;font-weight:800;}\n#ts-app table.ts-cmp .no{color:rgba(255,255,255,.25);}\n#ts-app table.ts-cmp .tier{color:#fff;font-weight:700;}\n#ts-app .ts-cmp-col-pro{background:rgba(47,128,255,.06);}\n\/* Only allow horizontal scroll on genuinely small phones *\/\n@media(max-width:560px){\n  #ts-app .ts-cmp-wrap{overflow-x:auto;}\n  #ts-app table.ts-cmp{min-width:520px;table-layout:auto;}\n}\n\n\/* ---- Specs ---- *\/\n#ts-app .ts-specs{display:grid;grid-template-columns:repeat(2,1fr);gap:0 48px;margin-top:34px;\n  border-top:1px solid var(--ts-line);}\n#ts-app .ts-specs .row{display:flex;justify-content:space-between;gap:18px;padding:16px 0;border-bottom:1px solid var(--ts-line);}\n#ts-app .ts-specs .row .k{color:var(--ts-muted);font-size:15px;}\n#ts-app .ts-specs .row .v{font-weight:600;font-size:15px;text-align:right;}\n@media(max-width:680px){#ts-app .ts-specs{grid-template-columns:1fr;gap:0;}}\n\n\/* ---- Downloads \/ accessories ---- *\/\n#ts-app .ts-dl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px;}\n#ts-app .ts-dl-subhead{font-size:14px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;\n  color:var(--ts-muted);margin-top:30px;}\n#ts-app .ts-dl{\n  display:flex;align-items:center;gap:14px;background:var(--ts-panel);border:1px solid var(--ts-line);\n  border-radius:14px;padding:18px 20px;transition:border-color .25s,background .25s;\n}\n#ts-app .ts-dl:hover{border-color:rgba(255,106,0,.55);background:#141418;}\n#ts-app .ts-dl .ic{width:40px;height:40px;border-radius:10px;background:rgba(255,106,0,.14);\n  display:flex;align-items:center;justify-content:center;flex-shrink:0;}\n#ts-app .ts-dl .ic svg{width:20px;height:20px;stroke:var(--ts-orange);}\n#ts-app .ts-dl .t{font-weight:700;font-size:15px;}\n#ts-app .ts-dl .s{color:var(--ts-muted);font-size:13px;}\n@media(max-width:820px){#ts-app .ts-dl-grid{grid-template-columns:1fr;}}\n\n#ts-app .ts-acc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px;}\n#ts-app .ts-acc{background:var(--ts-panel);border:1px solid var(--ts-line);border-radius:var(--ts-radius);\n  overflow:hidden;text-align:center;transition:transform .25s,border-color .25s;}\n#ts-app .ts-acc:hover{transform:translateY(-3px);border-color:rgba(255,106,0,.5);}\n#ts-app .ts-acc .img{aspect-ratio:1;background:#fff;display:flex;align-items:center;justify-content:center;padding:18px;}\n#ts-app .ts-acc .img img{max-height:100%;object-fit:contain;}\n#ts-app .ts-acc .lab{padding:16px;font-weight:700;font-size:15px;}\n#ts-app .ts-acc .lab small{display:block;color:var(--ts-muted);font-weight:400;font-size:13px;margin-top:4px;}\n#ts-app .ts-acc--link{cursor:pointer;display:block;}\n#ts-app .ts-acc--link:hover{border-color:var(--ts-orange);}\n#ts-app .ts-acc-cta{display:inline-block;margin-left:8px;font-size:13px;font-weight:700;color:var(--ts-orange);\n  background:rgba(255,106,0,.14);padding:2px 10px;border-radius:999px;vertical-align:middle;}\n#ts-app .ts-acc--link:hover .ts-acc-cta{background:rgba(255,106,0,.28);}\n@media(max-width:820px){#ts-app .ts-acc-grid{grid-template-columns:1fr 1fr;}}\n@media(max-width:480px){#ts-app .ts-acc-grid{grid-template-columns:1fr;}}\n\n\/* ---- Video grid ---- *\/\n#ts-app .ts-vid-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:30px;}\n#ts-app .ts-vid{position:relative;border-radius:var(--ts-radius);overflow:hidden;border:1px solid var(--ts-line);\n  background:#000;aspect-ratio:16\/9;}\n#ts-app .ts-vid video{width:100%;height:100%;object-fit:cover;}\n#ts-app .ts-vid .cap{position:absolute;left:0;right:0;bottom:0;padding:14px 18px;font-weight:700;font-size:15px;\n  background:linear-gradient(transparent,rgba(0,0,0,.75));pointer-events:none;}\n@media(max-width:680px){#ts-app .ts-vid-grid{grid-template-columns:1fr;}}\n\n\/* ---- Tabbed video demo ---- *\/\n#ts-app .ts-vtabs{margin-top:30px;}\n#ts-app .ts-vtabs-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px;}\n#ts-app .ts-vtab{\n  padding:10px 20px;border-radius:999px;font-size:14px;font-weight:700;\n  background:var(--ts-panel);border:1px solid var(--ts-line);color:var(--ts-muted);\n  transition:color .2s,background .2s,border-color .2s;\n}\n#ts-app .ts-vtab:hover{color:#fff;border-color:rgba(255,106,0,.5);}\n#ts-app .ts-vtab.is-on{color:#000;background:linear-gradient(135deg,var(--ts-orange),var(--ts-orange-2));border-color:transparent;}\n#ts-app .ts-vtabs-stage{\n  border-radius:var(--ts-radius);overflow:hidden;border:1px solid var(--ts-line);\n  background:#000;aspect-ratio:16\/9;\n}\n#ts-app .ts-vtabs-stage video{width:100%;height:100%;object-fit:cover;display:block;}\n#ts-app .ts-vtabs-note{color:var(--ts-muted);font-size:14px;margin-top:14px;}\n\n\/* ---- FAQ accordion ---- *\/\n#ts-app .ts-faq{margin-top:30px;border-top:1px solid var(--ts-line);}\n#ts-app .ts-faq .q{\n  width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;text-align:left;\n  padding:22px 4px;border-bottom:1px solid var(--ts-line);font-size:clamp(16px,2vw,19px);font-weight:600;\n}\n#ts-app .ts-faq .q .ico{flex-shrink:0;width:24px;height:24px;position:relative;transition:transform .3s;}\n#ts-app .ts-faq .q .ico::before,#ts-app .ts-faq .q .ico::after{\n  content:\"\";position:absolute;background:var(--ts-orange);border-radius:2px;}\n#ts-app .ts-faq .q .ico::before{left:0;right:0;top:11px;height:2px;}\n#ts-app .ts-faq .q .ico::after{top:0;bottom:0;left:11px;width:2px;transition:transform .3s;}\n#ts-app .ts-faq .q[aria-expanded=\"true\"] .ico::after{transform:rotate(90deg);}\n#ts-app .ts-faq .a{max-height:0;overflow:hidden;transition:max-height .35s ease;border-bottom:1px solid var(--ts-line);}\n#ts-app .ts-faq .a .inner{padding:4px 4px 24px;color:var(--ts-muted);font-size:15px;}\n\n\/* ---- CTA \/ support ---- *\/\n#ts-app .ts-cta{\n  text-align:center;background:linear-gradient(135deg,#140d07,#0a0a0c);\n  border:1px solid rgba(255,106,0,.3);border-radius:24px;padding:clamp(36px,6vw,72px);\n}\n#ts-app .ts-cta .ts-btn{\n  display:inline-block;margin-top:24px;padding:15px 34px;border-radius:999px;font-weight:700;font-size:16px;\n  background:linear-gradient(135deg,var(--ts-orange),var(--ts-orange-2));color:#000;\n  box-shadow:0 10px 30px rgba(255,106,0,.35);transition:transform .2s,box-shadow .2s;\n}\n#ts-app .ts-cta .ts-btn:hover{transform:translateY(-2px);box-shadow:0 14px 40px rgba(255,106,0,.5);}\n\u003c\/style\u003e\n\n\u003c!-- ============================ STICKY NAV ============================ --\u003e\n\u003cnav class=\"ts-nav\" aria-label=\"TopScan section navigation\"\u003e\n  \u003cdiv class=\"ts-nav-inner\"\u003e\n    \u003cspan class=\"ts-nav-brand\"\u003e\u003cspan class=\"dot\"\u003e\u003c\/span\u003eTopScan\u003c\/span\u003e\n    \u003cul class=\"ts-nav-links\" role=\"list\"\u003e\n      \u003cli\u003e\u003ca href=\"#ts-overview\" data-ts-link\u003eOverview\u003c\/a\u003e\u003c\/li\u003e\n      \u003cli\u003e\u003ca href=\"#ts-features\" data-ts-link\u003eFeatures\u003c\/a\u003e\u003c\/li\u003e\n      \u003cli\u003e\u003ca href=\"#ts-compare\" data-ts-link\u003eVersions\u003c\/a\u003e\u003c\/li\u003e\n      \u003cli\u003e\u003ca href=\"#ts-specs\" data-ts-link\u003eSpecifications\u003c\/a\u003e\u003c\/li\u003e\n      \u003cli\u003e\u003ca href=\"#ts-downloads\" data-ts-link\u003eDownloads\u003c\/a\u003e\u003c\/li\u003e\n      \u003cli\u003e\u003ca href=\"#ts-accessories\" data-ts-link\u003eAccessories\u003c\/a\u003e\u003c\/li\u003e\n      \u003cli\u003e\u003ca href=\"#ts-videos\" data-ts-link\u003eVideos\u003c\/a\u003e\u003c\/li\u003e\n      \u003cli\u003e\u003ca href=\"#ts-faq\" data-ts-link\u003eFAQ\u003c\/a\u003e\u003c\/li\u003e\n    \u003c\/ul\u003e\n  \u003c\/div\u003e\n\u003c\/nav\u003e\n\n\u003c!-- ============================ HERO \/ OVERVIEW ============================ --\u003e\n\u003cheader class=\"ts-hero\" id=\"ts-overview\"\u003e\n  \u003cimg class=\"ts-hero-bg\" loading=\"lazy\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0590\/5789\/7634\/files\/TopScan_PC.jpg?v=1678415822\" alt=\"TOPDON TopScan wireless OBD2 diagnostic scanner\"\u003e\n  \u003cdiv class=\"ts-wrap\"\u003e\n    \u003cp class=\"ts-eyebrow ts-reveal\"\u003eTOPDON · Wireless Bidirectional Scanner\u003c\/p\u003e\n    \u003ch1 class=\"ts-h1 ts-reveal\" style=\"margin:14px 0 18px;\"\u003eTopScan\u003c\/h1\u003e\n    \u003cp class=\"ts-lead ts-reveal\" style=\"max-width:620px;margin:0 auto;\"\u003e\n      A powerful scanner in your pocket. Plug it into the OBD2 port and turn your\n      phone into a full-function scan tool for 120+ global vehicle makes.\n    \u003c\/p\u003e\n    \u003cdiv class=\"badges ts-reveal\"\u003e\n      \u003cspan class=\"badge\"\u003ePowerful Scanner \u003cb\u003ein Your Pocket\u003c\/b\u003e\u003c\/span\u003e\n      \u003cspan class=\"badge\"\u003e\u003cb\u003eASE Certified\u003c\/b\u003e Tech Support\u003c\/span\u003e\n      \u003cspan class=\"badge\"\u003eRecognized by \u003cb\u003eTop Media\u003c\/b\u003e\u003c\/span\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/header\u003e\n\n\u003c!-- ---- Trust strip ---- --\u003e\n\u003csection class=\"ts-trust ts-sec--tight\"\u003e\n  \u003cdiv class=\"ts-wrap\"\u003e\n    \u003cdiv class=\"ts-trust-grid\"\u003e\n      \u003cdiv class=\"ts-reveal\"\u003e\n\u003cdiv class=\"n\"\u003e120+\u003c\/div\u003e\n\u003cdiv class=\"l\"\u003eGlobal vehicle makes supported\u003c\/div\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"ts-reveal\"\u003e\n\u003cdiv class=\"n\"\u003e10\u003c\/div\u003e\n\u003cdiv class=\"l\"\u003eOBD2 testing modes - free for life\u003c\/div\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"ts-reveal\"\u003e\n\u003cdiv class=\"n\"\u003e30\u003c\/div\u003e\n\u003cdiv class=\"l\"\u003eMaintenance services (Master)\u003c\/div\u003e\n\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003c!-- ============================ FEATURES - DIAGNOSTICS ============================ --\u003e\n\u003csection class=\"ts-sec\" id=\"ts-features\"\u003e\n  \u003cdiv class=\"ts-wrap\"\u003e\n    \u003cheader class=\"ts-center ts-reveal\" style=\"max-width:740px;margin:0 auto clamp(40px,6vw,72px);\"\u003e\n      \u003cp class=\"ts-eyebrow\"\u003eComprehensive Diagnostics\u003c\/p\u003e\n      \u003ch2 class=\"ts-h2\" style=\"margin-top:14px;\"\u003eComplete Vehicle Insight.\u003c\/h2\u003e\n    \u003c\/header\u003e\n\n    \u003c!-- AutoVIN --\u003e\n    \u003cdiv class=\"ts-feat ts-reveal\"\u003e\n      \u003cdiv class=\"copy\"\u003e\n        \u003cp class=\"ts-eyebrow\"\u003eAutoVIN\u003c\/p\u003e\n        \u003ch3 class=\"ts-h3\"\u003eStart Diagnosing Instantly\u003c\/h3\u003e\n        \u003cp class=\"ts-lead\"\u003eAutomatically identify your vehicle's make, model, and other specifics\n          instantly. Eliminating manual VIN input helps ensure fast, accurate setup every time.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"media\"\u003e\n        \u003cimg loading=\"lazy\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0590\/5789\/7634\/files\/p-nts-section-6-bg.jpg?v=1761033132\" alt=\"AutoVIN automatic vehicle identification\"\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003c!-- Full-System --\u003e\n    \u003cdiv class=\"ts-feat ts-feat--rev ts-reveal\"\u003e\n      \u003cdiv class=\"copy\"\u003e\n        \u003cp class=\"ts-eyebrow\"\u003eFull-System Diagnostics\u003c\/p\u003e\n        \u003ch3 class=\"ts-h3\"\u003eFind Every Hidden Fault\u003c\/h3\u003e\n        \u003cp class=\"ts-lead\"\u003eQuickly scan every vehicle system - from the engine to interior\n          electronics - to help technicians and DIYers catch every issue with confidence.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"media\"\u003e\n        \u003cimg loading=\"lazy\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0590\/5789\/7634\/files\/p-nts-section-9-bg.jpg?v=1761038736\" alt=\"Full-system diagnostic scan\"\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003c!-- Live Data + Engine Inspection cards --\u003e\n    \u003cdiv class=\"ts-cards\"\u003e\n      \u003cdiv class=\"ts-card ts-reveal\"\u003e\n        \u003cspan class=\"pill\"\u003eLIVE DATA STREAM\u003c\/span\u003e\n        \u003ch3 class=\"ts-h3\"\u003eReal-Time Performance at a Glance\u003c\/h3\u003e\n        \u003cp\u003eMonitor live sensor data and operational metrics with intuitive graphs. Instantly\n          visualize your car's performance, pinpoint issues faster, and track trends over time.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"ts-card ts-reveal\"\u003e\n        \u003cspan class=\"pill\"\u003eENGINE INSPECTION\u003c\/span\u003e\n        \u003ch3 class=\"ts-h3\"\u003eTune for Power, Efficiency \u0026amp; Compliance\u003c\/h3\u003e\n        \u003cp\u003eRun a smog check to pass your annual inspection, use the VE calculator to identify\n          airflow restrictions, and measure 0–60 mph acceleration to verify true performance.\u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003c!-- ============================ NEXT-GEN PROTOCOLS ============================ --\u003e\n\u003csection class=\"ts-sec ts-sec--tight\"\u003e\n  \u003cdiv class=\"ts-wrap\"\u003e\n    \u003cheader class=\"ts-center ts-reveal\" style=\"max-width:680px;margin:0 auto 28px;\"\u003e\n      \u003cp class=\"ts-eyebrow\"\u003eDiagnose Even the Newest Vehicles\u003c\/p\u003e\n      \u003ch2 class=\"ts-h2\" style=\"margin-top:14px;\"\u003eCAN-FD \u0026amp; DoIP - Master the Next-Gen ECUs\u003c\/h2\u003e\n    \u003c\/header\u003e\n    \u003cdiv class=\"ts-proto ts-reveal\"\u003e\n      \u003cdiv\u003e\n        \u003cp class=\"ts-lead\" style=\"margin-bottom:18px;\"\u003eEquipped with the latest protocols for faster\n          data transfer across modern vehicles.\u003c\/p\u003e\n        \u003cdiv class=\"item\"\u003e\n\u003cspan class=\"tag o\"\u003eCAN-FD\u003c\/span\u003e\u003csmall\u003eFor 2020+ GM and Chrysler\u003c\/small\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"item\"\u003e\n\u003cspan class=\"tag b\"\u003eDoIP\u003c\/span\u003e\u003csmall\u003eFor 2018+ BMW, Benz, Land Rover, and Volvo\u003c\/small\u003e\n\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv\u003e\n        \u003cdiv class=\"item\"\u003e\n\u003cstrong\u003eTopScan Lite \u0026amp; Pro\u003c\/strong\u003e\u003csmall\u003eCAN-FD\u003c\/small\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"item\"\u003e\n\u003cstrong\u003eTopScan Master\u003c\/strong\u003e\u003csmall\u003eCAN-FD + DoIP\u003c\/small\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"item\"\u003e\n\u003cstrong\u003eSecure Gateway Access\u003c\/strong\u003e\n          \u003csmall\u003eAuthorized access for full diagnostics \u0026amp; bidirectional control on secure\n          vehicles from FCA, Renault, Nissan, and more. *Requires manufacturer subscription.\u003c\/small\u003e\n\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003c!-- ============================ FAULT DETECTION ============================ --\u003e\n\u003csection class=\"ts-sec\"\u003e\n  \u003cdiv class=\"ts-wrap\"\u003e\n    \u003cheader class=\"ts-center ts-reveal\" style=\"max-width:720px;margin:0 auto clamp(28px,4vw,44px);\"\u003e\n      \u003cp class=\"ts-eyebrow\"\u003eFast, Simple \u0026amp; Accurate\u003c\/p\u003e\n      \u003ch2 class=\"ts-h2\" style=\"margin-top:14px;\"\u003eFault Detection\u003c\/h2\u003e\n    \u003c\/header\u003e\n    \u003cdiv class=\"ts-cards\"\u003e\n      \u003cdiv class=\"ts-card ts-reveal\"\u003e\n        \u003cspan class=\"pill\"\u003eREPAIR LIBRARY\u003c\/span\u003e\n        \u003ch3 class=\"ts-h3\"\u003eDiagnose with Confidence\u003c\/h3\u003e\n        \u003cp\u003eAccess a complete library of DTC meanings, service bulletins, and repair guidance to\n          support every step of diagnosis.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"ts-card ts-reveal\"\u003e\n        \u003cspan class=\"pill\"\u003eTOPFIX AI\u003c\/span\u003e\n        \u003ch3 class=\"ts-h3\"\u003eYour Smart Repair Assistant\u003c\/h3\u003e\n        \u003cp\u003eGet easy-to-follow repair suggestions plus professional resources like wiring diagrams,\n          component locations, and more.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"ts-card ts-reveal\"\u003e\n        \u003cspan class=\"pill\"\u003eBIDIRECTIONAL CONTROL\u003c\/span\u003e\n        \u003ch3 class=\"ts-h3\"\u003eInstant Issue Pinpointing\u003c\/h3\u003e\n        \u003cp\u003eDirectly activate or operate vehicle components to isolate faulty parts without\n          time-consuming disassembly.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"ts-card ts-reveal\"\u003e\n        \u003cspan class=\"pill\"\u003eONE-CLICK CODE CLEARING\u003c\/span\u003e\n        \u003ch3 class=\"ts-h3\"\u003eTime-Saving Simplicity\u003c\/h3\u003e\n        \u003cp\u003eErase all fault codes with just one tap and instantly confirm repairs to get back on\n          the road sooner.\u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"ts-card ts-reveal\" style=\"margin-top:18px;\"\u003e\n      \u003cspan class=\"pill\"\u003eMAINTENANCE\u003c\/span\u003e\n      \u003ch3 class=\"ts-h3\"\u003eComprehensive Maintenance Functions\u003c\/h3\u003e\n      \u003cp\u003eKeep vehicles in peak condition with resets, calibrations, and adaptation tools tailored\n        to your needs - Oil Reset, Throttle Adaptation, EPB, Steering Angle, DPF Regeneration,\n        ABS Bleeding, BMS Reset, Airbag Reset and many more, scaling up to 30 services on Master.\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003c!-- ============================ COMPARISON ============================ --\u003e\n\u003csection class=\"ts-sec ts-sec--tight\" id=\"ts-compare\"\u003e\n  \u003cdiv class=\"ts-wrap\"\u003e\n    \u003cheader class=\"ts-center ts-reveal\" style=\"margin-bottom:36px;\"\u003e\n      \u003cp class=\"ts-eyebrow\"\u003eChoose Your Version\u003c\/p\u003e\n      \u003ch2 class=\"ts-h2\" style=\"margin-top:14px;\"\u003eLite · Pro · Master\u003c\/h2\u003e\n      \u003cp class=\"ts-lead\" style=\"max-width:640px;margin:14px auto 0;\"\u003e\n        All versions share the always-free OBDII core. Advanced features unlock by tier.\u003c\/p\u003e\n    \u003c\/header\u003e\n    \u003cdiv class=\"ts-cmp-wrap ts-reveal\"\u003e\n      \u003ctable class=\"ts-cmp\"\u003e\n        \u003ccolgroup\u003e\n          \u003ccol class=\"c-feat\"\u003e\n\u003ccol class=\"c-tier\"\u003e\n\u003ccol class=\"c-tier\"\u003e\n\u003ccol class=\"c-tier\"\u003e\n        \u003c\/colgroup\u003e\n        \u003cthead\u003e\n          \u003ctr\u003e\n\u003cth\u003eFeature\u003c\/th\u003e\n\u003cth\u003eLite\u003c\/th\u003e\n\u003cth class=\"ts-cmp-col-pro\"\u003ePro\u003c\/th\u003e\n\u003cth\u003eMaster\u003c\/th\u003e\n\u003c\/tr\u003e\n        \u003c\/thead\u003e\n        \u003ctbody\u003e\n          \u003ctr class=\"grp\"\u003e\u003ctd colspan=\"4\"\u003eAlways Free\u003c\/td\u003e\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003ctd\u003eEngine Inspection (Full OBDII)\u003c\/td\u003e\n\u003ctd class=\"yes\"\u003e✓\u003c\/td\u003e\n\u003ctd class=\"ts-cmp-col-pro yes\"\u003e✓\u003c\/td\u003e\n\u003ctd class=\"yes\"\u003e✓\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003ctd\u003eFull-System Code Reading\u003c\/td\u003e\n\u003ctd class=\"yes\"\u003e✓\u003c\/td\u003e\n\u003ctd class=\"ts-cmp-col-pro yes\"\u003e✓\u003c\/td\u003e\n\u003ctd class=\"yes\"\u003e✓\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003ctd\u003eFull-System Code Clearing\u003c\/td\u003e\n\u003ctd class=\"no\"\u003e-\u003c\/td\u003e\n\u003ctd class=\"ts-cmp-col-pro no\"\u003e-\u003c\/td\u003e\n\u003ctd class=\"yes\"\u003e✓\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003ctd\u003eFull-System Live Data Streaming\u003c\/td\u003e\n\u003ctd class=\"no\"\u003e-\u003c\/td\u003e\n\u003ctd class=\"ts-cmp-col-pro no\"\u003e-\u003c\/td\u003e\n\u003ctd class=\"yes\"\u003e✓\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003ctd\u003eI\/M Readiness\u003c\/td\u003e\n\u003ctd class=\"yes\"\u003e✓\u003c\/td\u003e\n\u003ctd class=\"ts-cmp-col-pro yes\"\u003e✓\u003c\/td\u003e\n\u003ctd class=\"yes\"\u003e✓\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003ctd\u003eVehicle Performance Test\u003c\/td\u003e\n\u003ctd class=\"yes\"\u003e✓\u003c\/td\u003e\n\u003ctd class=\"ts-cmp-col-pro yes\"\u003e✓\u003c\/td\u003e\n\u003ctd class=\"yes\"\u003e✓\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003ctd\u003eVE Calculator\u003c\/td\u003e\n\u003ctd class=\"yes\"\u003e✓\u003c\/td\u003e\n\u003ctd class=\"ts-cmp-col-pro yes\"\u003e✓\u003c\/td\u003e\n\u003ctd class=\"yes\"\u003e✓\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003ctd\u003eRepair Information\u003c\/td\u003e\n\u003ctd class=\"yes\"\u003e✓\u003c\/td\u003e\n\u003ctd class=\"ts-cmp-col-pro yes\"\u003e✓\u003c\/td\u003e\n\u003ctd class=\"yes\"\u003e✓\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr class=\"grp\"\u003e\u003ctd colspan=\"4\"\u003eAdvanced (Subscription Required)\u003c\/td\u003e\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003ctd\u003eMaintenance Services\u003c\/td\u003e\n\u003ctd class=\"tier\"\u003e8\u003c\/td\u003e\n\u003ctd class=\"ts-cmp-col-pro tier\"\u003e13\u003c\/td\u003e\n\u003ctd class=\"tier\"\u003e30\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003ctd\u003eBi-Directional Control\u003c\/td\u003e\n\u003ctd class=\"yes\"\u003e✓\u003c\/td\u003e\n\u003ctd class=\"ts-cmp-col-pro yes\"\u003e✓\u003c\/td\u003e\n\u003ctd class=\"yes\"\u003e✓\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003ctd\u003eFull-System Code Clearing\u003c\/td\u003e\n\u003ctd class=\"yes\"\u003e✓\u003c\/td\u003e\n\u003ctd class=\"ts-cmp-col-pro yes\"\u003e✓\u003c\/td\u003e\n\u003ctd class=\"yes\"\u003e✓\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003ctd\u003eFull-System Live Data Streaming\u003c\/td\u003e\n\u003ctd class=\"yes\"\u003e✓\u003c\/td\u003e\n\u003ctd class=\"ts-cmp-col-pro yes\"\u003e✓\u003c\/td\u003e\n\u003ctd class=\"yes\"\u003e✓\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003ctd\u003eIMMO\u003c\/td\u003e\n\u003ctd class=\"no\"\u003e-\u003c\/td\u003e\n\u003ctd class=\"ts-cmp-col-pro yes\"\u003e✓\u003c\/td\u003e\n\u003ctd class=\"yes\"\u003e✓\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003ctd\u003eSecure Gateway Access\u003c\/td\u003e\n\u003ctd class=\"yes\"\u003e✓\u003c\/td\u003e\n\u003ctd class=\"ts-cmp-col-pro yes\"\u003e✓\u003c\/td\u003e\n\u003ctd class=\"yes\"\u003e✓\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003ctd\u003eTopFix AI\u003c\/td\u003e\n\u003ctd class=\"yes\"\u003e✓\u003c\/td\u003e\n\u003ctd class=\"ts-cmp-col-pro yes\"\u003e✓\u003c\/td\u003e\n\u003ctd class=\"yes\"\u003e✓\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003ctd\u003eCAN-FD\u003c\/td\u003e\n\u003ctd class=\"yes\"\u003e✓\u003c\/td\u003e\n\u003ctd class=\"ts-cmp-col-pro yes\"\u003e✓\u003c\/td\u003e\n\u003ctd class=\"yes\"\u003e✓\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003ctd\u003eDoIP\u003c\/td\u003e\n\u003ctd class=\"no\"\u003e-\u003c\/td\u003e\n\u003ctd class=\"ts-cmp-col-pro no\"\u003e-\u003c\/td\u003e\n\u003ctd class=\"yes\"\u003e✓\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003c\/tbody\u003e\n      \u003c\/table\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003c!-- ============================ SPECIFICATIONS ============================ --\u003e\n\u003csection class=\"ts-sec ts-sec--tight\" id=\"ts-specs\"\u003e\n  \u003cdiv class=\"ts-wrap\"\u003e\n    \u003cheader class=\"ts-reveal\" style=\"margin-bottom:6px;\"\u003e\n      \u003cp class=\"ts-eyebrow\"\u003eTechnical\u003c\/p\u003e\n      \u003ch2 class=\"ts-h2\" style=\"margin-top:14px;\"\u003eSpecifications\u003c\/h2\u003e\n    \u003c\/header\u003e\n    \u003cdiv class=\"ts-specs ts-reveal\"\u003e\n      \u003cdiv class=\"row\"\u003e\n\u003cspan class=\"k\"\u003eConnection\u003c\/span\u003e\u003cspan class=\"v\"\u003eBluetooth 4.2\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"row\"\u003e\n\u003cspan class=\"k\"\u003eRange\u003c\/span\u003e\u003cspan class=\"v\"\u003e33 ft (10 m)\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"row\"\u003e\n\u003cspan class=\"k\"\u003eiOS\u003c\/span\u003e\u003cspan class=\"v\"\u003e10.0 or later\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"row\"\u003e\n\u003cspan class=\"k\"\u003eAndroid\u003c\/span\u003e\u003cspan class=\"v\"\u003e7.0 or later\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"row\"\u003e\n\u003cspan class=\"k\"\u003eWorking Temperature\u003c\/span\u003e\u003cspan class=\"v\"\u003e-4 °F to 158 °F (-20 °C to 70 °C)\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"row\"\u003e\n\u003cspan class=\"k\"\u003eStorage Temperature\u003c\/span\u003e\u003cspan class=\"v\"\u003e14 °F to 122 °F (-10 °C to 50 °C)\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"row\"\u003e\n\u003cspan class=\"k\"\u003eConnector\u003c\/span\u003e\u003cspan class=\"v\"\u003eOBD-II 16-pin + USB-C (updates)\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"row\"\u003e\n\u003cspan class=\"k\"\u003eDimensions\u003c\/span\u003e\u003cspan class=\"v\"\u003eapprox. 84.1 mm body (3.2 × 2.0 × 1.1 in)\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"row\"\u003e\n\u003cspan class=\"k\"\u003eVehicle Coverage\u003c\/span\u003e\u003cspan class=\"v\"\u003e120+ global makes\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"row\"\u003e\n\u003cspan class=\"k\"\u003eOBD2 Test Modes\u003c\/span\u003e\u003cspan class=\"v\"\u003eAll 10 modes (free for life)\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cp style=\"color:var(--ts-muted);font-size:13px;margin-top:16px;\"\u003e\n      Specifications per the official TOPDON TopScan user manual. Indicator LEDs: solid blue\n      (Bluetooth connected), solid red (power on), flashing green (communicating with vehicle).\u003c\/p\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003c!-- ============================ DOWNLOADS ============================ --\u003e\n\u003csection class=\"ts-sec ts-sec--tight\" id=\"ts-downloads\"\u003e\n  \u003cdiv class=\"ts-wrap\"\u003e\n    \u003cheader class=\"ts-reveal\"\u003e\n      \u003cp class=\"ts-eyebrow\"\u003eResources\u003c\/p\u003e\n      \u003ch2 class=\"ts-h2\" style=\"margin-top:14px;\"\u003eDownloads\u003c\/h2\u003e\n    \u003c\/header\u003e\n\n    \u003ch3 class=\"ts-dl-subhead ts-reveal\"\u003eDocuments\u003c\/h3\u003e\n    \u003cdiv class=\"ts-dl-grid ts-reveal\"\u003e\n      \u003ca class=\"ts-dl\" href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0739\/7336\/7096\/files\/TopScan-Sell-Sheet.pdf?v=1780683777\" target=\"_blank\" rel=\"noopener\" aria-label=\"Download Sell Sheet PDF (opens in a new tab)\"\u003e\n        \u003cspan class=\"ic\" aria-hidden=\"true\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\"\u003e\u003c\/path\u003e\u003cpolyline points=\"14 2 14 8 20 8\"\u003e\u003c\/polyline\u003e\u003cline x1=\"8\" y1=\"13\" x2=\"16\" y2=\"13\"\u003e\u003c\/line\u003e\u003cline x1=\"8\" y1=\"17\" x2=\"16\" y2=\"17\"\u003e\u003c\/line\u003e\u003c\/svg\u003e\u003c\/span\u003e\n        \u003cspan\u003e\u003cspan class=\"t\"\u003eSell Sheet (PDF)\u003c\/span\u003e\u003cspan class=\"s\"\u003eOne-page product overview\u003c\/span\u003e\u003c\/span\u003e\n      \u003c\/a\u003e\n      \u003ca class=\"ts-dl\" href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0739\/7336\/7096\/files\/TopScan-Pro-Product-Profile.pdf?v=1780683777\" target=\"_blank\" rel=\"noopener\" aria-label=\"Download TopScan Pro Product Profile PDF (opens in a new tab)\"\u003e\n        \u003cspan class=\"ic\" aria-hidden=\"true\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\"\u003e\u003c\/path\u003e\u003cpolyline points=\"14 2 14 8 20 8\"\u003e\u003c\/polyline\u003e\u003cline x1=\"8\" y1=\"13\" x2=\"16\" y2=\"13\"\u003e\u003c\/line\u003e\u003cline x1=\"8\" y1=\"17\" x2=\"16\" y2=\"17\"\u003e\u003c\/line\u003e\u003c\/svg\u003e\u003c\/span\u003e\n        \u003cspan\u003e\u003cspan class=\"t\"\u003eTopScan Pro Product Profile (PDF)\u003c\/span\u003e\u003cspan class=\"s\"\u003eDetailed Pro feature profile\u003c\/span\u003e\u003c\/span\u003e\n      \u003c\/a\u003e\n      \u003ca class=\"ts-dl\" href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0739\/7336\/7096\/files\/TopScan-Product-Profile.pdf?v=1780683777\" target=\"_blank\" rel=\"noopener\" aria-label=\"Download TopScan Product Profile PDF (opens in a new tab)\"\u003e\n        \u003cspan class=\"ic\" aria-hidden=\"true\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\"\u003e\u003c\/path\u003e\u003cpolyline points=\"14 2 14 8 20 8\"\u003e\u003c\/polyline\u003e\u003cline x1=\"8\" y1=\"13\" x2=\"16\" y2=\"13\"\u003e\u003c\/line\u003e\u003cline x1=\"8\" y1=\"17\" x2=\"16\" y2=\"17\"\u003e\u003c\/line\u003e\u003c\/svg\u003e\u003c\/span\u003e\n        \u003cspan\u003e\u003cspan class=\"t\"\u003eTopScan Product Profile (PDF)\u003c\/span\u003e\u003cspan class=\"s\"\u003eDetailed product profile\u003c\/span\u003e\u003c\/span\u003e\n      \u003c\/a\u003e\n      \u003ca class=\"ts-dl\" href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0739\/7336\/7096\/files\/TopScan-User-Manual.pdf?v=1780683775\" target=\"_blank\" rel=\"noopener\" aria-label=\"Download User Manual PDF (opens in a new tab)\"\u003e\n        \u003cspan class=\"ic\" aria-hidden=\"true\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\"\u003e\u003c\/path\u003e\u003cpolyline points=\"14 2 14 8 20 8\"\u003e\u003c\/polyline\u003e\u003cline x1=\"8\" y1=\"13\" x2=\"16\" y2=\"13\"\u003e\u003c\/line\u003e\u003cline x1=\"8\" y1=\"17\" x2=\"16\" y2=\"17\"\u003e\u003c\/line\u003e\u003c\/svg\u003e\u003c\/span\u003e\n        \u003cspan\u003e\u003cspan class=\"t\"\u003eUser Manual (PDF)\u003c\/span\u003e\u003cspan class=\"s\"\u003eFull TopScan operating guide\u003c\/span\u003e\u003c\/span\u003e\n      \u003c\/a\u003e\n    \u003c\/div\u003e\n\n    \u003ch3 class=\"ts-dl-subhead ts-reveal\"\u003eApps\u003c\/h3\u003e\n    \u003cdiv class=\"ts-dl-grid ts-reveal\"\u003e\n      \u003ca class=\"ts-dl\" href=\"https:\/\/apps.apple.com\/app\/topscan-vag\/id6615073467\" target=\"_blank\" rel=\"noopener\" aria-label=\"TopScan VAG app on the App Store (opens in a new tab)\"\u003e\n        \u003cspan class=\"ic\" aria-hidden=\"true\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003crect x=\"6\" y=\"2\" width=\"12\" height=\"20\" rx=\"2.5\"\u003e\u003c\/rect\u003e\u003cline x1=\"11\" y1=\"18\" x2=\"13\" y2=\"18\"\u003e\u003c\/line\u003e\u003c\/svg\u003e\u003c\/span\u003e\n        \u003cspan\u003e\u003cspan class=\"t\"\u003eTopScan VAG App\u003c\/span\u003e\u003cspan class=\"s\"\u003ev6.00 · iOS 11.0+ · for Volkswagen Group\u003c\/span\u003e\u003c\/span\u003e\n      \u003c\/a\u003e\n      \u003ca class=\"ts-dl\" href=\"https:\/\/apps.apple.com\/app\/topscan-hd\/id6476964730\" target=\"_blank\" rel=\"noopener\" aria-label=\"TopScan Pad app for iPad on the App Store (opens in a new tab)\"\u003e\n        \u003cspan class=\"ic\" aria-hidden=\"true\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003crect x=\"3\" y=\"4\" width=\"18\" height=\"14\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cline x1=\"8\" y1=\"21\" x2=\"16\" y2=\"21\"\u003e\u003c\/line\u003e\u003c\/svg\u003e\u003c\/span\u003e\n        \u003cspan\u003e\u003cspan class=\"t\"\u003eTopScan Pad App (iPad)\u003c\/span\u003e\u003cspan class=\"s\"\u003ev6.20 · iOS 11.0+\u003c\/span\u003e\u003c\/span\u003e\n      \u003c\/a\u003e\n      \u003ca class=\"ts-dl\" href=\"https:\/\/apps.apple.com\/app\/topguru\/id6451488210\" target=\"_blank\" rel=\"noopener\" aria-label=\"TopGuru app for iPhone on the App Store (opens in a new tab)\"\u003e\n        \u003cspan class=\"ic\" aria-hidden=\"true\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003crect x=\"6\" y=\"2\" width=\"12\" height=\"20\" rx=\"2.5\"\u003e\u003c\/rect\u003e\u003cline x1=\"11\" y1=\"18\" x2=\"13\" y2=\"18\"\u003e\u003c\/line\u003e\u003c\/svg\u003e\u003c\/span\u003e\n        \u003cspan\u003e\u003cspan class=\"t\"\u003eTopGuru App (iPhone)\u003c\/span\u003e\u003cspan class=\"s\"\u003ev6.30 · iOS 11.0+\u003c\/span\u003e\u003c\/span\u003e\n      \u003c\/a\u003e\n      \u003ca class=\"ts-dl\" href=\"https:\/\/apps.apple.com\/app\/topscan-bmw\/id6744716209\" target=\"_blank\" rel=\"noopener\" aria-label=\"TopScan BMW app on the App Store (opens in a new tab)\"\u003e\n        \u003cspan class=\"ic\" aria-hidden=\"true\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003crect x=\"6\" y=\"2\" width=\"12\" height=\"20\" rx=\"2.5\"\u003e\u003c\/rect\u003e\u003cline x1=\"11\" y1=\"18\" x2=\"13\" y2=\"18\"\u003e\u003c\/line\u003e\u003c\/svg\u003e\u003c\/span\u003e\n        \u003cspan\u003e\u003cspan class=\"t\"\u003eTopScan BMW App\u003c\/span\u003e\u003cspan class=\"s\"\u003ev6.30 · iOS 11.0+ · for BMW Group\u003c\/span\u003e\u003c\/span\u003e\n      \u003c\/a\u003e\n      \u003ca class=\"ts-dl\" href=\"https:\/\/play.google.com\/store\/search?q=topscan\u0026amp;c=apps\" target=\"_blank\" rel=\"noopener\" aria-label=\"TopScan app on Google Play (opens in a new tab)\"\u003e\n        \u003cspan class=\"ic\" aria-hidden=\"true\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpolygon points=\"5 3 19 12 5 21 5 3\"\u003e\u003c\/polygon\u003e\u003c\/svg\u003e\u003c\/span\u003e\n        \u003cspan\u003e\u003cspan class=\"t\"\u003eTopScan App - Android\u003c\/span\u003e\u003cspan class=\"s\"\u003eGoogle Play · Android 7.0+\u003c\/span\u003e\u003c\/span\u003e\n      \u003c\/a\u003e\n    \u003c\/div\u003e\n    \u003cp style=\"color:var(--ts-muted);font-size:13px;margin-top:14px;\"\u003e\n      Choose the iOS app that matches the customer's vehicle group (VAG \/ BMW) or the universal\n      TopGuru \/ Pad app. PDFs open in a new tab.\u003c\/p\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003c!-- ============================ ACCESSORIES ============================ --\u003e\n\u003csection class=\"ts-sec ts-sec--tight\" id=\"ts-accessories\"\u003e\n  \u003cdiv class=\"ts-wrap\"\u003e\n    \u003cheader class=\"ts-reveal\"\u003e\n      \u003cp class=\"ts-eyebrow\"\u003eIn the Box \u0026amp; Accessories\u003c\/p\u003e\n      \u003ch2 class=\"ts-h2\" style=\"margin-top:14px;\"\u003eAccessories\u003c\/h2\u003e\n    \u003c\/header\u003e\n    \u003cdiv class=\"ts-acc-grid ts-reveal\"\u003e\n      \u003cdiv class=\"ts-acc\"\u003e\n        \u003cdiv class=\"img\"\u003e\u003cimg loading=\"lazy\" src=\"https:\/\/www.topdon.com\/cdn\/shop\/files\/TopScan-300-300-new.png?v=1733816732\" alt=\"TopScan diagnostic dongle\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"lab\"\u003eTopScan Dongle\u003csmall\u003eOBD-II 16-pin connector\u003c\/small\u003e\n\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003ca class=\"ts-acc ts-acc--link\" href=\"#ts-downloads\" data-ts-link aria-label=\"Go to TopScan app downloads\"\u003e\n        \u003cdiv class=\"img\"\u003e\u003cimg loading=\"lazy\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0590\/5789\/7634\/files\/TopScan_Mobile.png?v=1678415822\" alt=\"TopScan app on smartphone\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"lab\"\u003eTopScan App \u003cspan class=\"ts-acc-cta\"\u003eDownload ↓\u003c\/span\u003e\u003csmall\u003eiOS \u0026amp; Android companion - tap to view all apps\u003c\/small\u003e\n\u003c\/div\u003e\n      \u003c\/a\u003e\n      \u003cdiv class=\"ts-acc\"\u003e\n        \u003cdiv class=\"img\" style=\"background:#101012;color:#fff;flex-direction:column;gap:10px;\"\u003e\n          \u003csvg viewbox=\"0 0 24 24\" width=\"56\" height=\"56\" fill=\"none\" stroke=\"#ff6a00\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003crect x=\"2\" y=\"9\" width=\"14\" height=\"6\" rx=\"3\"\u003e\u003c\/rect\u003e\u003cpath d=\"M16 11h3a3 3 0 0 1 0 2h-3\"\u003e\u003c\/path\u003e\u003cpath d=\"M6 11v2M10 11v2\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n          \u003cspan style=\"font-size:13px;color:rgba(255,255,255,.6);\"\u003eUSB-C\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"lab\"\u003eUSB-C Cable\u003csmall\u003eFor firmware updates\u003c\/small\u003e\n\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cp style=\"color:var(--ts-muted);font-size:13px;margin-top:14px;\"\u003e\n      Box contents: TopScan unit · Quick User Guide. (Adjust to your exact SKU bundle.)\u003c\/p\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003c!-- ============================ VIDEOS ============================ --\u003e\n\u003csection class=\"ts-sec\" id=\"ts-videos\"\u003e\n  \u003cdiv class=\"ts-wrap\"\u003e\n    \u003cheader class=\"ts-reveal\"\u003e\n      \u003cp class=\"ts-eyebrow\"\u003eSee It in Action\u003c\/p\u003e\n      \u003ch2 class=\"ts-h2\" style=\"margin-top:14px;\"\u003eVideos\u003c\/h2\u003e\n    \u003c\/header\u003e\n\n    \u003c!-- Tabbed bidirectional demo (mirrors the official interactive component) --\u003e\n    \u003cdiv class=\"ts-vtabs ts-reveal\" id=\"ts-vtabs\"\u003e\n      \u003cdiv class=\"ts-vtabs-bar\" role=\"tablist\" aria-label=\"Bidirectional control demos\"\u003e\n        \u003cbutton class=\"ts-vtab is-on\" role=\"tab\" aria-selected=\"true\" data-vsrc=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/c9f20608bd11449ea28291c041cb1120.mp4\"\u003eHeadlight Test\u003c\/button\u003e\n        \u003cbutton class=\"ts-vtab\" role=\"tab\" aria-selected=\"false\" data-vsrc=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/4eb8c43eb6ce4d8084386a2c685ed973.mp4\"\u003eWindow Test\u003c\/button\u003e\n        \u003cbutton class=\"ts-vtab\" role=\"tab\" aria-selected=\"false\" data-vsrc=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/cd28cb05a4e34192ace391fbe070223b.mp4\"\u003eWiper Test\u003c\/button\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"ts-vtabs-stage\"\u003e\n        \u003cvideo id=\"ts-vtabs-video\" preload=\"metadata\" muted playsinline controls src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/c9f20608bd11449ea28291c041cb1120.mp4\"\u003e\u003c\/video\u003e\n      \u003c\/div\u003e\n      \u003cp class=\"ts-vtabs-note\"\u003eBidirectional control in action: activate components directly to verify operation and isolate faults.\u003c\/p\u003e\n    \u003c\/div\u003e\n\n    \u003c!-- Feature clips --\u003e\n    \u003cdiv class=\"ts-vid-grid ts-reveal\"\u003e\n      \u003cdiv class=\"ts-vid\"\u003e\n        \u003cvideo preload=\"none\" muted playsinline controls poster=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0590\/5789\/7634\/files\/p-nts-section-9-bg.jpg?v=1761038736\" src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/228fecc9f6144b6e8246fd9e5c1a58ae.mp4\"\u003e\u003c\/video\u003e\n        \u003cspan class=\"cap\"\u003eFull-System Diagnostics\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"ts-vid\"\u003e\n        \u003cvideo preload=\"none\" muted playsinline controls poster=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0590\/5789\/7634\/files\/p-nts-section-6-bg.jpg?v=1761033132\" src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/d3318503cb914656b230fd94301ccae9.mp4\"\u003e\u003c\/video\u003e\n        \u003cspan class=\"cap\"\u003eLive Data Stream\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"ts-vid\"\u003e\n        \u003cvideo preload=\"none\" muted playsinline controls src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/c0305ec930b340b6b4a461511a6fec88.mp4\"\u003e\u003c\/video\u003e\n        \u003cspan class=\"cap\"\u003eOne-Click Code Clearing\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"ts-vid\"\u003e\n        \u003cvideo preload=\"none\" muted playsinline controls src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/083fdef9be2c47e881a6bd1b007de873.mp4\"\u003e\u003c\/video\u003e\n        \u003cspan class=\"cap\"\u003eAutoVIN \u0026amp; Instant Setup\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\n\u003c!-- ============================ FAQ ============================ --\u003e\n\u003csection class=\"ts-sec\" id=\"ts-faq\"\u003e\n  \u003cdiv class=\"ts-wrap\"\u003e\n    \u003cheader class=\"ts-reveal\"\u003e\n      \u003cp class=\"ts-eyebrow\"\u003eNeed to Know\u003c\/p\u003e\n      \u003ch2 class=\"ts-h2\" style=\"margin-top:14px;\"\u003eFAQ\u003c\/h2\u003e\n    \u003c\/header\u003e\n    \u003cdiv class=\"ts-faq ts-reveal\" id=\"ts-faq-list\"\u003e\n      \u003c!-- items injected to keep markup DRY but accessible; static fallback below --\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003c!-- ============================ SUPPORT \/ CTA ============================ --\u003e\n\u003csection class=\"ts-sec ts-sec--tight\"\u003e\n  \u003cdiv class=\"ts-wrap\"\u003e\n    \u003cdiv class=\"ts-cta ts-reveal\"\u003e\n      \u003cp class=\"ts-eyebrow\"\u003eAlways Supported. Always Connected.\u003c\/p\u003e\n      \u003ch2 class=\"ts-h2\" style=\"margin:14px 0 14px;\"\u003eExpert Help, Always Within Reach\u003c\/h2\u003e\n      \u003cp class=\"ts-lead\" style=\"max-width:600px;margin:0 auto;\"\u003e\n        Local technical support from regional teams for quick troubleshooting and setup, plus a\n        global community of TOPDON users and automotive pros to learn, share, and grow together.\u003c\/p\u003e\n      \u003ca class=\"ts-btn\" href=\"#ts-overview\" data-ts-link\u003eBack to Top ↑\u003c\/a\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\n\n\u003c!-- ============================ SCRIPT ============================ --\u003e\n\u003cscript\u003e\n(function(){\n  var app=document.getElementById('ts-app');\n  if(!app||app.dataset.tsInit)return; app.dataset.tsInit=\"1\";\n\n  \/* ---------- FAQ data + render (accessible accordion) ---------- *\/\n  var faqs=[\n    {q:\"The TopScan won't connect or communicate with my vehicle. What should I do?\",\n     a:\"Check that the ignition is ON, confirm the TopScan is securely plugged into the vehicle's OBD-II port, then turn the ignition off and back on after 10 seconds and continue the operation.\"},\n    {q:\"Does TopScan have its own screen?\",\n     a:\"No. TopScan is a wireless dongle that plugs into the OBD2 port and pairs over Bluetooth with the free TopScan app on your iOS or Android phone, which acts as the display.\"},\n    {q:\"How many vehicles does it support?\",\n     a:\"TopScan supports 120+ global vehicle makes across American, Asian, and European brands, with coverage expanding through software updates.\"},\n    {q:\"Is anything free for life?\",\n     a:\"Yes. All 10 OBD2 testing modes plus full-system code reading, I\/M readiness, vehicle performance test, VE calculator, and repair information are free. Advanced functions (extra maintenance services, full-system clearing\/live data, IMMO, secure gateway, TopFix AI) require a subscription depending on tier.\"},\n    {q:\"What's the difference between Lite, Pro, and Master?\",\n     a:\"Lite includes 8 maintenance services. Pro adds IMMO and 13 services (Injector Coding, Tire Pressure Reset, Sunroof Initialization, Seat \u0026 Window Calibration). Master unlocks 30 services plus DoIP protocol support for the widest modern-vehicle coverage.\"},\n    {q:\"Can it read the actual mileage on a vehicle?\",\n     a:\"Yes - TopScan can read vehicle information including odometer data where the vehicle exposes it through supported systems.\"},\n    {q:\"How do I update the firmware?\",\n     a:\"Connect the TopScan to a computer via the USB-C port, or update through the app under Me \u003e Firmware Update when a new version is available.\"}\n  ];\n  var list=document.getElementById('ts-faq-list');\n  if(list){\n    faqs.forEach(function(f,i){\n      var btn=document.createElement('button');\n      btn.className='q';btn.type='button';\n      btn.setAttribute('aria-expanded','false');\n      btn.setAttribute('aria-controls','ts-a-'+i);\n      btn.id='ts-q-'+i;\n      btn.innerHTML='\u003cspan\u003e'+f.q+'\u003c\/span\u003e\u003cspan class=\"ico\" aria-hidden=\"true\"\u003e\u003c\/span\u003e';\n      var panel=document.createElement('div');\n      panel.className='a';panel.id='ts-a-'+i;\n      panel.setAttribute('role','region');\n      panel.setAttribute('aria-labelledby','ts-q-'+i);\n      var inner=document.createElement('div');inner.className='inner';inner.textContent=f.a;\n      panel.appendChild(inner);\n      btn.addEventListener('click',function(){\n        var open=btn.getAttribute('aria-expanded')==='true';\n        btn.setAttribute('aria-expanded',String(!open));\n        panel.style.maxHeight=open?null:(panel.scrollHeight+'px');\n      });\n      list.appendChild(btn);list.appendChild(panel);\n    });\n  }\n\n  \/* ---------- Measure the store header dynamically (no hardcoded px) ----------\n     Finds a FIXED or STICKY element pinned to the top of the viewport (the\n     Shopify store header) and exposes its height as --ts-store-header so both\n     the sticky nav offset and the section scroll-margins adapt per breakpoint. *\/\n  function findStoreHeaderHeight(){\n    var best=0;\n    var cands=document.querySelectorAll('header,[role=\"banner\"],.header,.site-header,.shopify-section-header,#shopify-section-header,[data-header],.announcement-bar,.header-wrapper');\n    cands.forEach(function(el){\n      if(app.contains(el))return;            \/* ignore our own nav *\/\n      var cs=getComputedStyle(el);\n      if(cs.position!=='fixed'\u0026\u0026cs.position!=='sticky')return;\n      var r=el.getBoundingClientRect();\n      if(r.top\u003c=2\u0026\u0026r.height\u003e0\u0026\u0026r.height\u003c240\u0026\u0026r.width\u003e=window.innerWidth*0.6){\n        best=Math.max(best,r.bottom);     \/* bottom edge = how far down content must start *\/\n      }\n    });\n    return Math.round(best);\n  }\n  function updateHeaderVar(){\n    var h=findStoreHeaderHeight();\n    app.style.setProperty('--ts-store-header',h+'px');\n    return h;\n  }\n  updateHeaderVar();\n  window.addEventListener('resize',updateHeaderVar,{passive:true});\n  \/* recheck a few times in case the theme header mounts\/animates after load *\/\n  [120,400,1000].forEach(function(d){setTimeout(updateHeaderVar,d);});\n\n  function navOffset(){\n    var store=parseInt(getComputedStyle(app).getPropertyValue('--ts-store-header'),10)||0;\n    var nav=parseInt(getComputedStyle(app).getPropertyValue('--ts-nav-h'),10)||60;\n    return store+nav+14;\n  }\n\n  \/* ---------- Smooth scroll for in-page links (normal PAGE scroll) ---------- *\/\n  app.querySelectorAll('[data-ts-link]').forEach(function(a){\n    a.addEventListener('click',function(e){\n      var id=a.getAttribute('href');\n      if(id\u0026\u0026id.charAt(0)==='#'){\n        var t=app.querySelector(id);\n        if(t){\n          e.preventDefault();\n          updateHeaderVar();\n          var y=t.getBoundingClientRect().top+window.pageYOffset-navOffset();\n          window.scrollTo({top:Math.max(0,y),behavior:'smooth'});\n          t.setAttribute('tabindex','-1');\n          try{t.focus({preventScroll:true});}catch(_){}\n        }\n      }\n    });\n  });\n\n  \/* ---------- Scroll-reveal via IntersectionObserver (viewport root) ---------- *\/\n  if('IntersectionObserver' in window){\n    var ro=new IntersectionObserver(function(entries){\n      entries.forEach(function(en){\n        if(en.isIntersecting){en.target.classList.add('is-in');ro.unobserve(en.target);}\n      });\n    },{threshold:0.12,rootMargin:'0px 0px -8% 0px'});\n    app.querySelectorAll('.ts-reveal').forEach(function(el){ro.observe(el);});\n  }else{\n    app.querySelectorAll('.ts-reveal').forEach(function(el){el.classList.add('is-in');});\n  }\n\n  \/* ---------- Active section highlight in nav (page scroll) ---------- *\/\n  var links=Array.prototype.slice.call(app.querySelectorAll('.ts-nav-links a'));\n  var secs=links.map(function(l){return app.querySelector(l.getAttribute('href'));}).filter(Boolean);\n  function onScroll(){\n    var pos=window.pageYOffset+navOffset()+20;var cur=secs[0];\n    secs.forEach(function(s){\n      var top=s.getBoundingClientRect().top+window.pageYOffset;\n      if(top\u003c=pos)cur=s;\n    });\n    links.forEach(function(l){\n      l.classList.toggle('is-active',cur\u0026\u0026l.getAttribute('href')==='#'+cur.id);\n    });\n  }\n  var tick=false;\n  window.addEventListener('scroll',function(){\n    if(!tick){window.requestAnimationFrame(function(){onScroll();tick=false;});tick=true;}\n  },{passive:true});\n  onScroll();\n\n  \/* ---------- Tabbed video demo (Headlight \/ Window \/ Wiper) ---------- *\/\n  var vtabs=app.querySelectorAll('.ts-vtab');\n  var vvideo=document.getElementById('ts-vtabs-video');\n  if(vtabs.length\u0026\u0026vvideo){\n    vtabs.forEach(function(tab){\n      tab.addEventListener('click',function(){\n        vtabs.forEach(function(t){t.classList.remove('is-on');t.setAttribute('aria-selected','false');});\n        tab.classList.add('is-on');tab.setAttribute('aria-selected','true');\n        var src=tab.getAttribute('data-vsrc');\n        if(src\u0026\u0026vvideo.getAttribute('src')!==src){\n          vvideo.pause();vvideo.setAttribute('src',src);vvideo.load();\n          var p=vvideo.play();if(p\u0026\u0026p.catch)p.catch(function(){});\n        }\n      });\n    });\n  }\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"TOPDON","offers":[{"title":"Lite","offer_id":51062298869980,"sku":"TOP24","price":59.9,"currency_code":"USD","in_stock":true},{"title":"Pro","offer_id":51062298902748,"sku":"TOP23","price":99.0,"currency_code":"USD","in_stock":true},{"title":"Master DOIP","offer_id":51062298935516,"sku":"TOP22","price":199.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0667\/1391\/1516\/files\/56.jpg?v=1780683435","url":"https:\/\/keyshop-online.com\/products\/topdon-topscan-obd2-diagnostic-scanner","provider":"Keyshop-Online","version":"1.0","type":"link"}