PageSourceSearch

https://www.iokig.com/vector

html iokig.com collected 2026-10-02 01:32:31 UTC 52,130 bytes, 1 lines download raw bytes

1<!DOCTYPE html><html lang="en" class="hanken_grotesk_5e5afb60-module__TjgaRa__variable jetbrains_mono_e4eeecaf-module__m9_tyG__variable h-full antialiased"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/051742360c26797e-s.p.0f97p8c3305p~.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/c47649aa31f9e140-s.p.11uo_35nso9mn.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/chunks/0-~pdj0tn-qr6.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/13aus3kqanczm.js"/>
1<script src="/_next/static/chunks/0dgq26a5_oy.a.js" async=""></script>
1<script src="/_next/static/chunks/0vn2e3cj4vv3r.js" async=""></script>
1<script src="/_next/static/chunks/0m_p1bxtorv5i.js" async=""></script>
1<script src="/_next/static/chunks/turbopack-09yvftjssc9nw.js" async=""></script>
1<script src="/_next/static/chunks/01xlw8hd842-c.js" async=""></script>
1<script src="/_next/static/chunks/0d3shmwh5_nmn.js" async=""></script>
1<script src="/_next/static/chunks/0~w7rn3xbpmuo.js" async=""></script>
1<script src="/_next/static/chunks/0dw2a_5hcm.f4.js" async=""></script>
1<link rel="preload" href="https://www.googletagmanager.com/gtag/js?id=G-9BGNGHW55J" as="script"/><meta name="next-size-adjust" content=""/><title>Vector — IOKIG</title><meta name="description" content="A fast, neon take on the classic &#x27;place a ring before it crosses the line&#x27; arcade puzzle. Out now on iOS and Android."/><meta property="og:title" content="Vector — IOKIG"/><meta property="og:description" content="A fast, neon take on the classic &#x27;place a ring before it crosses the line&#x27; arcade puzzle. Out now on iOS and Android."/><meta property="og:url" content="https://www.iokig.com/vector"/><meta property="og:image" content="https://www.iokig.com/vector/opengraph-image?672fcbfd633515e3"/><meta property="og:image:type" content="image/png"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:image:alt" content="Vector — a neon arcade puzzle from IOKIG."/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="Vector — IOKIG"/><meta name="twitter:description" content="A fast, neon take on the classic &#x27;place a ring before it crosses the line&#x27; arcade puzzle. Out now on iOS and Android."/><meta name="twitter:image" content="https://www.iokig.com/vector/opengraph-image?672fcbfd633515e3"/><meta name="twitter:image:alt" content="Vector — a neon arcade puzzle from IOKIG."/><meta name="twitter:image:type" content="image/png"/><meta name="twitter:image:width" content="1200"/><meta name="twitter:image:height" content="630"/><link rel="icon" href="/icon?eb5f1ffaaf07bf36" type="image/png" sizes="32x32"/><link rel="apple-touch-icon" href="/apple-icon?90e2e986c533fd1e" type="image/png" sizes="180x180"/>
1<script src="/_next/static/chunks/03~yq9q893hmn.js" noModule=""></script>
1</head><body class="min-h-full"><div hidden=""><!--$--><!--/$--></div><div class="min-h-screen bg-[var(--v-bg)] text-[var(--v-ink)]" style="--v-bg:#0e0f12;--v-panel:#15171c;--v-ink:#e9ecf1;--v-faint:#6f7785;--v-line:#23262e;--v-neon:#34e7e4;background-image:radial-gradient(900px 500px at 80% -10%, rgba(52,231,228,.08), transparent 70%)"><div class="mx-auto flex min-h-screen w-full max-w-[1280px] flex-col px-6 pt-10 pb-12 md:px-14"><header class="flex items-center justify-between border-b border-[var(--v-line)] pb-5"><a class="font-mono text-[13px] tracking-[0.1em] text-[var(--v-faint)] no-underline transition-colors hover:text-[var(--v-ink)]" href="/">← IOKIG</a><div class="flex items-center gap-2.5 font-mono text-[11px] uppercase tracking-[0.12em] text-[var(--v-faint)]"><span class="h-[7px] w-[7px] rounded-full" style="background:#34e7e4;box-shadow:0 0 10px 1px #34e7e4"></span>out now on ios &amp; android</div></header><section class="pt-16 pb-10 md:pt-[78px]"><h1 class="text-[64px] font-bold leading-[0.9] tracking-[-0.03em] sm:text-[88px] md:text-[120px]" style="text-shadow:0 0 40px rgba(52,231,228,.35)">Vector</h1><p class="mt-6 max-w-[560px] font-mono text-[14px] leading-[1.6] tracking-[0.02em] text-[var(--v-faint)]">A fast, neon take on the classic<!-- --> <span class="text-[var(--v-ink)]">place a ring before it crosses the line</span> <!-- -->arcade puzzle. Aim, fire, and watch each shot grow into a glowing ring that snaps into place against the cluster — but if it crosses the death line, it&#x27;s over.</p><p class="mt-4 max-w-[560px] font-mono text-[14px] leading-[1.6] tracking-[0.02em] text-[var(--v-faint)]">Every ring you place adds pressure. Every ring you destroy buys you breathing room. The field gets tighter, the bounces get sharper, and the cluster creeps lower with every shot.</p></section><section aria-label="Trailer" class="pb-12"><h2 class="font-mono text-[11px] uppercase tracking-[0.2em] text-[var(--v-faint)]">watch the trailer</h2><div class="mt-5 overflow-hidden rounded-[18px] border border-[var(--v-line)] bg-black shadow-[0_30px_60px_-24px_rgba(52,231,228,0.35)]" style="aspect-ratio:16 / 9"><iframe class="h-full w-full" src="https://www.youtube-nocookie.com/embed/GX54CNgO2dI?rel=0&amp;modestbranding=1&amp;color=white" title="Vector — Neon Arcade | Official Trailer" loading="lazy" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerPolicy="strict-origin-when-cross-origin" allowFullScreen=""></iframe></div><p class="mt-3 font-mono text-[10px] uppercase tracking-[0.16em] text-[var(--v-faint)]">30 seconds · real gameplay ·<!-- --> <a href="https://www.youtube.com/watch?v=GX54CNgO2dI" target="_blank" rel="noopener noreferrer" class="no-underline transition-colors hover:text-[var(--v-ink)]" style="color:#34e7e4">open on youtube ↗</a></p></section><section aria-label="Screenshots"><div class="grid grid-cols-2 gap-4 sm:grid-cols-3 sm:gap-6"><figure class="flex flex-col items-center gap-3"><img alt="Vector main menu — VECTOR title, mode select for Pure, Gravity, Challenge, Custom." loading="lazy" width="1206" height="2622" decoding="async" data-nimg="1" class="h-auto w-full max-w-[300px] rounded-[18px] shadow-[0_30px_60px_-24px_rgba(52,231,228,0.35)]" style="color:transparent" sizes="(min-width: 1024px) 300px, (min-width: 640px) 30vw, 45vw" srcSet="/_next/image?url=%2Fvector%2F01-menu.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Fvector%2F01-menu.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Fvector%2F01-menu.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Fvector%2F01-menu.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Fvector%2F01-menu.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Fvector%2F01-menu.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Fvector%2F01-menu.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Fvector%2F01-menu.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Fvector%2F01-menu.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Fvector%2F01-menu.png&amp;w=3840&amp;q=75 3840w" src="/_next/image?url=%2Fvector%2F01-menu.png&amp;w=3840&amp;q=75"/><figcaption class="font-mono text-[10px] uppercase tracking-[0.16em] text-[var(--v-faint)]">
1main menu</figcaption></figure><figure class="flex flex-col items-center gap-3"><img alt="Vector Pure mode — pink rings on a dark neon field, including an ice-blue Frozen +5 ring, with the death line below." loading="lazy" width="1206" height="2622" decoding="async" data-nimg="1" class="h-auto w-full max-w-[300px] rounded-[18px] shadow-[0_30px_60px_-24px_rgba(52,231,228,0.35)]" style="color:transparent" sizes="(min-width: 1024px) 300px, (min-width: 640px) 30vw, 45vw" srcSet="/_next/image?url=%2Fvector%2F02-gameplay.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Fvector%2F02-gameplay.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Fvector%2F02-gameplay.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Fvector%2F02-gameplay.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Fvector%2F02-gameplay.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Fvector%2F02-gameplay.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Fvector%2F02-gameplay.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Fvector%2F02-gameplay.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Fvector%2F02-gameplay.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Fvector%2F02-gameplay.png&amp;w=3840&amp;q=75 3840w" src="/_next/image?url=%2Fvector%2F02-gameplay.png&amp;w=3840&amp;q=75"/><figcaption class="font-mono text-[10px] uppercase tracking-[0.16em] text-[var(--v-faint)]">special rings</figcaption></figure><figure class="flex flex-col items-center gap-3"><img alt="Vector Gravity mode — rings ringed by faint gravity-field auras that bend each shot&#x27;s path." loading="lazy" width="1206" height="2622" decoding="async" data-nimg="1" class="h-auto w-full max-w-[300px] rounded-[18px] shadow-[0_30px_60px_-24px_rgba(52,231,228,0.35)]" style="color:transparent" sizes="(min-width: 1024px) 300px, (min-width: 640px) 30vw, 45vw" srcSet="/_next/image?url=%2Fvector%2Fgravity.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Fvector%2Fgravity.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Fvector%2Fgravity.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Fvector%2Fgravity.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Fvector%2Fgravity.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Fvector%2Fgravity.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Fvector%2Fgravity.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Fvector%2Fgravity.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Fvector%2Fgravity.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Fvector%2Fgravity.png&amp;w=3840&amp;q=75 3840w" src="/_next/image?url=%2Fvector%2Fgravity.png&amp;w=3840&amp;q=75"/><figcaption class="font-mono text-[10px] uppercase tracking-[0.16em] text-[var(--v-faint)]">gravity</figcaption></figure><figure class="flex flex-col items-center gap-3"><img alt="Vector store — Trails, Rings, Colors, and Cannon tabs with a Credits balance and selectable cosmetics." loading="lazy" width="1206" height="2622" decoding="async" data-nimg="1" class="h-auto w-full max-w-[300px] rounded-[18px] shadow-[0_30px_60px_-24px_rgba(52,231,228,0.35)]" style="color:transparent" sizes="(min-width: 1024px) 300px, (min-width: 640px) 30vw, 45vw" srcSet="/_next/image?url=%2Fvector%2Fstore.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Fvector%2Fstore.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Fvector%2Fstore.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Fvector%2Fstore.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Fvector%2Fstore.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Fvector%2Fstore.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Fvector%2Fstore.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Fvector%2Fstore.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Fvector%2Fstore.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Fvector%2Fstore.png&amp;w=3840&amp;q=75 3840w" src="/_next/image?url=%2Fvector%2Fstore.png&amp;w=3840&amp;q=75"/><figcaption class="font-mono text-[10px] uppercase tracking-[0.16em] text-[var(--v-faint)]">store</figcaption></figure><figure class="flex flex-col items-center gap-3"><img alt="Vector store cannon tab — Standard, Rail, Turret, and Nova cannon skins with a live preview of the equipped barrel." loading="lazy" width="1206" height="2622" decoding="async" data-nimg="1" class="h-auto w-full max-w-[300px] rounded-[18px] shadow-[0_30px_60px_-24px_rgba(52,231,228,0.35)]" style="color:transparent" sizes="(min-width: 1024px) 300px, (min-width: 640px) 30vw, 45vw" srcSet="/_next/image?url=%2Fvector%2Fcannon.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Fvector%2Fcannon.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Fvector%2Fcannon.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Fvector%2Fcannon.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Fvector%2Fcannon.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Fvector%2Fcannon.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Fvector%2Fcannon.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Fvector%2Fcannon.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Fvector%2Fcannon.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Fvector%2Fcannon.png&amp;w=3840&amp;q=75 3840w" src="/_next/image?url=%2Fvector%2Fcannon.png&amp;w=3840&amp;q=75"/><figcaption class="font-mono text-[10px] uppercase tracking-[0.16em] text-[var(--v-faint)]">cannon skins</figcaption></figure><figure class="flex flex-col items-center gap-3"><img alt="Vector game-over screen — score, new best, revive button." loading="lazy" width="1320" height="2868" decoding="async" data-nimg="1" class="h-auto w-full max-w-[300px] rounded-[18px] shadow-[0_30px_60px_-24px_rgba(52,231,228,0.35)]" style="color:transparent" sizes="(min-width: 1024px) 300px, (min-width: 640px) 30vw, 45vw" srcSet="/_next/image?url=%2Fvector%2F03-game-over.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Fvector%2F03-game-over.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Fvector%2F03-game-over.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Fvector%2F03-game-over.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Fvector%2F03-game-over.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Fvector%2F03-game-over.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Fvector%2F03-game-over.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Fvector%2F03-game-over.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Fvector%2F03-game-over.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Fvector%2F03-game-over.png&amp;w=3840&amp;q=75 3840w" src="/_next/image?url=%2Fvector%2F03-game-over.png&amp;w=3840&amp;q=75"/><figcaption class="font-mono text-[10px] uppercase tracking-[0.16em] text-[var(--v-faint)]">game over</figcaption></figure></div></section><section class="pt-16"><h2 class="font-mono text-[11px] uppercase tracking-[0.2em] text-[var(--v-faint)]">four ways to play</h2><div class="mt-5 grid grid-cols-1 gap-[14px] sm:grid-cols-2 lg:grid-cols-4"><div class="rounded-[12px] border border-[var(--v-line)] bg-[var(--v-panel)] p-5"><div class="font-mono text-[13px] font-bold tracking-[0.14em]" style="color:#34e7e4">PURE</div><p class="mt-2.5 text-[14px] leading-[1.5] text-[var(--v-faint)]">
1The classic clean arcade challenge.</p></div><div class="rounded-[12px] border border-[var(--v-line)] bg-[var(--v-panel)] p-5"><div class="font-mono text-[13px] font-bold tracking-[0.14em]" style="color:#34e7e4">GRAVITY</div><p class="mt-2.5 text-[14px] leading-[1.5] text-[var(--v-faint)]">Placed rings pull your shots into curving paths.</p></div><div class="rounded-[12px] border border-[var(--v-line)] bg-[var(--v-panel)] p-5"><div class="font-mono text-[13px] font-bold tracking-[0.14em]" style="color:#34e7e4">CHALLENGE</div><p class="mt-2.5 text-[14px] leading-[1.5] text-[var(--v-faint)]">A fresh seeded layout every day, the same for every player — with a ghost of your best pace to chase.</p></div><div class="rounded-[12px] border border-[var(--v-line)] bg-[var(--v-panel)] p-5"><div class="font-mono text-[13px] font-bold tracking-[0.14em]" style="color:#34e7e4">CUSTOM</div><p class="mt-2.5 text-[14px] leading-[1.5] text-[var(--v-faint)]">Tune the rules: pickups, swing or drag aim, gravity, meteors, special rings, and ring count.</p></div></div></section><section class="pt-12"><h2 class="font-mono text-[11px] uppercase tracking-[0.2em] text-[var(--v-faint)]">rings with a twist</h2><div class="mt-5 grid grid-cols-1 gap-[14px] sm:grid-cols-3"><div class="rounded-[12px] border border-[var(--v-line)] bg-[var(--v-panel)] p-5"><div class="font-mono text-[13px] font-bold tracking-[0.14em]" style="color:#34e7e4">SPLITTER</div><p class="mt-2.5 text-[14px] leading-[1.5] text-[var(--v-faint)]">Pop it and it bursts into two smaller rings — clear the room or get crowded out.</p></div><div class="rounded-[12px] border border-[var(--v-line)] bg-[var(--v-panel)] p-5"><div class="font-mono text-[13px] font-bold tracking-[0.14em]" style="color:#34e7e4">ARMORED</div><p class="mt-2.5 text-[14px] leading-[1.5] text-[var(--v-faint)]">Reinforced. Soaks up extra hits before it finally breaks.</p></div><div class="rounded-[12px] border border-[var(--v-line)] bg-[var(--v-panel)] p-5"><div class="font-mono text-[13px] font-bold tracking-[0.14em]" style="color:#34e7e4">FROZEN</div><p class="mt-2.5 text-[14px] leading-[1.5] text-[var(--v-faint)]">One hit, big bonus. A gift hiding in the cluster.</p></div></div></section><section class="pt-12"><h2 class="font-mono text-[11px] uppercase tracking-[0.2em] text-[var(--v-faint)]">power-ups when the heat is on</h2><div class="mt-5 grid grid-cols-1 gap-[14px] sm:grid-cols-2 lg:grid-cols-4"><div class="rounded-[12px] border border-[var(--v-line)] bg-[var(--v-panel)] p-5"><div class="font-mono text-[13px] font-bold tracking-[0.14em] text-[var(--v-ink)]">SHIELD</div><p class="mt-2.5 text-[14px] leading-[1.5] text-[var(--v-faint)]">Absorbs one fatal shot.</p></div><div class="rounded-[12px] border border-[var(--v-line)] bg-[var(--v-panel)] p-5"><div class="font-mono text-[13px] font-bold tracking-[0.14em] text-[var(--v-ink)]">OVERDRIVE</div><p class="mt-2.5 text-[14px] leading-[1.5] text-[var(--v-faint)]">Doubles your score for a window.</p></div><div class="rounded-[12px] border border-[var(--v-line)] bg-[var(--v-panel)] p-5"><div class="font-mono text-[13px] font-bold tracking-[0.14em] text-[var(--v-ink)]">NUKE</div><p class="mt-2.5 text-[14px] leading-[1.5] text-[var(--v-faint)]">Clears every ring near your next placement.</p></div><div class="rounded-[12px] border border-[var(--v-line)] bg-[var(--v-panel)] p-5"><div class="font-mono text-[13px] font-bold tracking-[0.14em] text-[var(--v-ink)]">STEADY</div><p class="mt-2.5 text-[14px] leading-[1.5] text-[var(--v-faint)]">Slows the sway so you can line up the perfect shot.</p></div></div></section><section class="pt-12"><h2 class="font-mono text-[11px] uppercase tracking-[0.2em] text-[var(--v-faint)]">make it yours</h2><p class="mt-4 max-w-[560px] text-[14px] leading-[1.6] text-[var(--v-faint)]">Earn Credits as you play and spend them in the store — every run can look a little more like you.</p><div class="mt-5 grid grid-cols-1 gap-[14px] sm:grid-cols-2 lg:grid-cols-4"><div class="rounded-[12px] border border-[var(--v-line)] bg-[var(--v-panel)] p-5"><div class="font-mono text-[13px] font-bold tracking-[0.14em] text-[var(--v-ink)]">TRAILS</div><p class="mt-2.5 text-[14px] leading-[1.5] text-[var(--v-faint)]">Comet, Spark, Neon — reshape the streak behind every shot.</p></div><div class="rounded-[12px] border border-[var(--v-line)] bg-[var(--v-panel)] p-5"><div class="font-mono text-[13px] font-bold tracking-[0.14em] text-[var(--v-ink)]">PALETTES</div><p class="mt-2.5 text-[14px] leading-[1.5] text-[var(--v-faint)]">Synthwave, Carbon, Acid — recolor the whole arena.</p></div><div class="rounded-[12px] border border-[var(--v-line)] bg-[var(--v-panel)] p-5"><div class="font-mono text-[13px] font-bold tracking-[0.14em] text-[var(--v-ink)]">RING SKINS</div><p class="mt-2.5 text-[14px] leading-[1.5] text-[var(--v-faint)]">Prism, Orbit, Pulse — give your rings their own signature.</p></div><div class="rounded-[12px] border border-[var(--v-line)] bg-[var(--v-panel)] p-5"><div class="font-mono text-[13px] font-bold tracking-[0.14em] text-[var(--v-ink)]">CANNONS</div><p class="mt-2.5 text-[14px] leading-[1.5] text-[var(--v-faint)]">Rail, Turret, Nova — swap the barrel you fire from.</p></div></div></section><section class="mt-16 grid grid-cols-1 gap-4 md:grid-cols-2 md:gap-6"><div class="rounded-[14px] border border-[var(--v-line)] bg-[var(--v-panel)] p-8 md:p-10"><h2 class="text-[28px] font-bold tracking-[-0.01em] md:text-[34px]" style="color:#34e7e4">Survive the danger zone</h2><p class="mt-4 text-[16px] leading-[1.6] text-[var(--v-faint)]">Time slows and the camera zooms in as your shot coasts toward the death line. Land it clean for a save — or watch the cluster close in.</p></div><div class="rounded-[14px] border border-[var(--v-line)] bg-[var(--v-panel)] p-8 md:p-10"><h2 class="text-[28px] font-bold tracking-[-0.01em] md:text-[34px]" style="color:#34e7e4">Climb the leaderboards</h2><p class="mt-4 text-[16px] leading-[1.6] text-[var(--v-faint)]">Per-mode bests and a daily challenge board, synced through Google Play Games and Game Center. Beat your pace ghost, then beat everyone else&#x27;s.</p></div></section><section class="pt-16"><h2 class="font-mono text-[11px] uppercase tracking-[0.2em] text-[var(--v-faint)]">get the game</h2><div class="mt-5 flex flex-wrap gap-4"><a href="https://play.google.com/store/apps/details?id=com.iokig.vector" target="_blank" rel="noopener noreferrer" class="flex items-center gap-3 rounded-[12px] border border-[var(--v-line)] bg-[var(--v-panel)] px-6 py-4 no-underline transition-colors hover:border-[var(--v-neon)]"><span class="text-[16px] font-semibold text-[var(--v-ink)]">Google Play</span><span class="font-mono text-[10px] uppercase tracking-[0.12em]" style="color:#34e7e4">out now ↗</span></a><a href="https://apps.apple.com/app/vector-neon-arcade/id6775103409" target="_blank" rel="noopener noreferrer" class="flex items-center gap-3 rounded-[12px] border border-[var(--v-line)] bg-[var(--v-panel)] px-6 py-4 no-underline transition-colors hover:border-[var(--v-neon)]"><span class="text-[16px] font-semibold text-[var(--v-ink)]">App Store</span><span class="font-mono text-[10px] uppercase tracking-[0.12em]" style="color:#34e7e4">out now ↗</span></a></div></section><footer class="mt-auto flex flex-wrap items-center justify-between gap-4 border-t border-[var(--v-line)] pt-8 font-mono text-[11px] tracking-[0.08em] text-[var(--v-faint)]"><span>Vector · IOKIG © 2026</span><nav class="flex gap-6"><a class="no-underline transition-colors hover:text-[var(--v-ink)]" href="/privacy">Privacy</a><a class="no-underline transition-colors hover:text-[var(--v-ink)]" href="/terms">Terms</a><a class="no-underline transition-colors hover:text-[var(--v-ink)]" href="/support">Support</a></nav></footer></div></div><!--$--><!--/$-->
1<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://www.iokig.com/#organization","name":"IOKIG","alternateName":"it's ok i guess","url":"https://www.iokig.com","description":"A modest collection of the software I've shipped. Apps, games, the occasional tool.","founder":{"@type":"Person","name":"Samuel Lastrina","url":"https://lastrina.dev"},"sameAs":["https://lastrina.dev","https://github.com/slastrina"]},{"@type":"WebSite","@id":"https://www.iokig.com/#website","url":"https://www.iokig.com","name":"IOKIG","alternateName":"it's ok i guess","description":"A modest collection of the software I've shipped. Apps, games, the occasional tool.","publisher":{"@id":"https://www.iokig.com/#organization"}}]}</script>
1<script src="/_next/static/chunks/13aus3kqanczm.js" id="_R_" async=""></script>
1<script>(self.__next_f=self.__next_f||[]).push([0])</script>
1<script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[39756,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"default\"]\n3:I[37457,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"default\"]\n4:I[54576,[\"/_next/static/chunks/0~w7rn3xbpmuo.js\"],\"GoogleAnalytics\"]\n5:I[22016,[\"/_next/static/chunks/0~w7rn3xbpmuo.js\",\"/_next/static/chunks/0dw2a_5hcm.f4.js\"],\"\"]\n14:I[68027,[\"/_next/static/chunks/0~w7rn3xbpmuo.js\"],\"default\",1]\n:HL[\"/_next/static/chunks/0-~pdj0tn-qr6.css\",\"style\"]\n:HL[\"/_next/static/media/051742360c26797e-s.p.0f97p8c3305p~.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/c47649aa31f9e140-s.p.11uo_35nso9mn.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n"])</script>
1<script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"vector\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"vector\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0-~pdj0tn-qr6.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/0~w7rn3xbpmuo.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"hanken_grotesk_5e5afb60-module__TjgaRa__variable jetbrains_mono_e4eeecaf-module__m9_tyG__variable h-full antialiased\",\"children\":[[\"$\",\"body\",null,{\"className\":\"min-h-full\",\"children\":[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}],[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@graph\\\":[{\\\"@type\\\":\\\"Organization\\\",\\\"@id\\\":\\\"https://www.iokig.com/#organization\\\",\\\"name\\\":\\\"IOKIG\\\",\\\"alternateName\\\":\\\"it's ok i guess\\\",\\\"url\\\":\\\"https://www.iokig.com\\\",\\\"description\\\":\\\"A modest collection of the software I've shipped. Apps, games, the occasional tool.\\\",\\\"founder\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Samuel Lastrina\\\",\\\"url\\\":\\\"https://lastrina.dev\\\"},\\\"sameAs\\\":[\\\"https://lastrina.dev\\\",\\\"https://github.com/slastrina\\\"]},{\\\"@type\\\":\\\"WebSite\\\",\\\"@id\\\":\\\"https://www.iokig.com/#website\\\",\\\"url\\\":\\\"https://www.iokig.com\\\",\\\"name\\\":\\\"IOKIG\\\",\\\"alternateName\\\":\\\"it's ok i guess\\\",\\\"description\\\":\\\"A modest collection of the software I've shipped. Apps, games, the occasional tool.\\\",\\\"publisher\\\":{\\\"@id\\\":\\\"https://www.iokig.com/#organization\\\"}}]}\"}}],[\"$\",\"$L4\",null,{\"gaId\":\"G-9BGNGHW55J\"}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"div\",null,{\"className\":\"min-h-screen bg-[var(--v-bg)] text-[var(--v-ink)]\",\"style\":{\"--v-bg\":\"#0e0f12\",\"--v-panel\":\"#15171c\",\"--v-ink\":\"#e9ecf1\",\"--v-faint\":\"#6f7785\",\"--v-line\":\"#23262e\",\"--v-neon\":\"#34e7e4\",\"backgroundImage\":\"radial-gradient(900px 500px at 80% -10%, rgba(52,231,228,.08), transparent 70%)\"},\"children\":[\"$\",\"div\",null,{\"className\":\"mx-auto flex min-h-screen w-full max-w-[1280px] flex-col px-6 pt-10 pb-12 md:px-14\",\"children\":[[\"$\",\"header\",null,{\"className\":\"flex items-center justify-between border-b border-[var(--v-line)] pb-5\",\"children\":[[\"$\",\"$L5\",null,{\"href\":\"/\",\"className\":\"font-mono text-[13px] tracking-[0.1em] text-[var(--v-faint)] no-underline transition-colors hover:text-[var(--v-ink)]\",\"children\":\"← IOKIG\"}],[\"$\",\"div\",null,{\"className\":\"flex items-center gap-2.5 font-mono text-[11px] uppercase tracking-[0.12em] text-[var(--v-faint)]\",\"children\":[[\"$\",\"span\",null,{\"className\":\"h-[7px] w-[7px] rounded-full\",\"style\":{\"background\":\"#34e7e4\",\"boxShadow\":\"0 0 10px 1px #34e7e4\"}}],\"out now on ios \u0026 android\"]}]]}],\"$L6\",\"$L7\",\"$L8\",\"$L9\",\"$La\",\"$Lb\",\"$Lc\",\"$Ld\",\"$Le\",\"$Lf\"]}]}],[\"$L10\"],\"$L11\"]}],{}
1,null,false,null]},null,false,\"$@12\"]},null,false,null],\"$L13\",false]],\"m\":\"$undefined\",\"G\":[\"$14\",[\"$L15\"]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"UKSINS4Ys-f-ll-2vbv9Z\"}\n"])</script>
1<script>self.__next_f.push([1,"16:I[5500,[\"/_next/static/chunks/0~w7rn3xbpmuo.js\",\"/_next/static/chunks/0dw2a_5hcm.f4.js\"],\"Image\"]\n17:I[97367,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"OutletBoundary\"]\n18:\"$Sreact.suspense\"\n1b:I[97367,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"ViewportBoundary\"]\n1d:I[97367,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"MetadataBoundary\"]\n6:[\"$\",\"section\",null,{\"className\":\"pt-16 pb-10 md:pt-[78px]\",\"children\":[[\"$\",\"h1\",null,{\"className\":\"text-[64px] font-bold leading-[0.9] tracking-[-0.03em] sm:text-[88px] md:text-[120px]\",\"style\":{\"textShadow\":\"0 0 40px rgba(52,231,228,.35)\"},\"children\":\"Vector\"}],[\"$\",\"p\",null,{\"className\":\"mt-6 max-w-[560px] font-mono text-[14px] leading-[1.6] tracking-[0.02em] text-[var(--v-faint)]\",\"children\":[\"A fast, neon take on the classic\",\" \",[\"$\",\"span\",null,{\"className\":\"text-[var(--v-ink)]\",\"children\":\"place a ring before it crosses the line\"}],\" \",\"arcade puzzle. Aim, fire, and watch each shot grow into a glowing ring that snaps into place against the cluster — but if it crosses the death line, it's over.\"]}],[\"$\",\"p\",null,{\"className\":\"mt-4 max-w-[560px] font-mono text-[14px] leading-[1.6] tracking-[0.02em] text-[var(--v-faint)]\",\"children\":\"Every ring you place adds pressure. Every ring you destroy buys you breathing room. The field gets tighter, the bounces get sharper, and the cluster creeps lower with every shot.\"}]]}]\n7:[\"$\",\"section\",null,{\"aria-label\":\"Trailer\",\"className\":\"pb-12\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"font-mono text-[11px] uppercase tracking-[0.2em] text-[var(--v-faint)]\",\"children\":\"watch the trailer\"}],[\"$\",\"div\",null,{\"className\":\"mt-5 overflow-hidden rounded-[18px] border border-[var(--v-line)] bg-black shadow-[0_30px_60px_-24px_rgba(52,231,228,0.35)]\",\"style\":{\"aspectRatio\":\"16 / 9\"},\"children\":[\"$\",\"iframe\",null,{\"className\":\"h-full w-full\",\"src\":\"https://www.youtube-nocookie.com/embed/GX54CNgO2dI?rel=0\u0026modestbranding=1\u0026color=white\",\"title\":\"Vector — Neon Arcade | Official Trailer\",\"loading\":\"lazy\",\"allow\":\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\",\"referrerPolicy\":\"strict-origin-when-cross-origin\",\"allowFullScreen\":true}]}],[\"$\",\"p\",null,{\"className\":\"mt-3 font-mono text-[10px] uppercase tracking-[0.16em] text-[var(--v-faint)]\",\"children\":[\"30 seconds · real gameplay ·\",\" \",[\"$\",\"a\",null,{\"href\":\"https://www.youtube.com/watch?v=GX54CNgO2dI\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"className\":\"no-underline transition-colors hover:text-[var(--v-ink)]\",\"style\":{\"color\":\"#34e7e4\"},\"children\":\"open on youtube ↗\"}]]}]]}]\n"])</script>
1<script>self.__next_f.push([1,"8:[\"$\",\"section\",null,{\"aria-label\":\"Screenshots\",\"children\":[\"$\",\"div\",null,{\"className\":\"grid grid-cols-2 gap-4 sm:grid-cols-3 sm:gap-6\",\"children\":[[\"$\",\"figure\",\"/vector/01-menu.png\",{\"className\":\"flex flex-col items-center gap-3\",\"children\":[[\"$\",\"$L16\",null,{\"src\":\"/vector/01-menu.png\",\"alt\":\"Vector main menu — VECTOR title, mode select for Pure, Gravity, Challenge, Custom.\",\"width\":1206,\"height\":2622,\"sizes\":\"(min-width: 1024px) 300px, (min-width: 640px) 30vw, 45vw\",\"className\":\"h-auto w-full max-w-[300px] rounded-[18px] shadow-[0_30px_60px_-24px_rgba(52,231,228,0.35)]\"}],[\"$\",\"figcaption\",null,{\"className\":\"font-mono text-[10px] uppercase tracking-[0.16em] text-[var(--v-faint)]\",\"children\":\"main menu\"}]]}],[\"$\",\"figure\",\"/vector/02-gameplay.png\",{\"className\":\"flex flex-col items-center gap-3\",\"children\":[[\"$\",\"$L16\",null,{\"src\":\"/vector/02-gameplay.png\",\"alt\":\"Vector Pure mode — pink rings on a dark neon field, including an ice-blue Frozen +5 ring, with the death line below.\",\"width\":1206,\"height\":2622,\"sizes\":\"(min-width: 1024px) 300px, (min-width: 640px) 30vw, 45vw\",\"className\":\"h-auto w-full max-w-[300px] rounded-[18px] shadow-[0_30px_60px_-24px_rgba(52,231,228,0.35)]\"}],[\"$\",\"figcaption\",null,{\"className\":\"font-mono text-[10px] uppercase tracking-[0.16em] text-[var(--v-faint)]\",\"children\":\"special rings\"}]]}],[\"$\",\"figure\",\"/vector/gravity.png\",{\"className\":\"flex flex-col items-center gap-3\",\"children\":[[\"$\",\"$L16\",null,{\"src\":\"/vector/gravity.png\",\"alt\":\"Vector Gravity mode — rings ringed by faint gravity-field auras that bend each shot's path.\",\"width\":1206,\"height\":2622,\"sizes\":\"(min-width: 1024px) 300px, (min-width: 640px) 30vw, 45vw\",\"className\":\"h-auto w-full max-w-[300px] rounded-[18px] shadow-[0_30px_60px_-24px_rgba(52,231,228,0.35)]\"}],[\"$\",\"figcaption\",null,{\"className\":\"font-mono text-[10px] uppercase tracking-[0.16em] text-[var(--v-faint)]\",\"children\":\"gravity\"}]]}],[\"$\",\"figure\",\"/vector/store.png\",{\"className\":\"flex flex-col items-center gap-3\",\"children\":[[\"$\",\"$L16\",null,{\"src\":\"/vector/store.png\",\"alt\":\"Vector store — Trails, Rings, Colors, and Cannon tabs with a Credits balance and selectable cosmetics.\",\"width\":1206,\"height\":2622,\"sizes\":\"(min-width: 1024px) 300px, (min-width: 640px) 30vw, 45vw\",\"className\":\"h-auto w-full max-w-[300px] rounded-[18px] shadow-[0_30px_60px_-24px_rgba(52,231,228,0.35)]\"}],[\"$\",\"figcaption\",null,{\"className\":\"font-mono text-[10px] uppercase tracking-[0.16em] text-[var(--v-faint)]\",\"children\":\"store\"}]]}],[\"$\",\"figure\",\"/vector/cannon.png\",{\"className\":\"flex flex-col items-center gap-3\",\"children\":[[\"$\",\"$L16\",null,{\"src\":\"/vector/cannon.png\",\"alt\":\"Vector store cannon tab — Standard, Rail, Turret, and Nova cannon skins with a live preview of the equipped barrel.\",\"width\":1206,\"height\":2622,\"sizes\":\"(min-width: 1024px) 300px, (min-width: 640px) 30vw, 45vw\",\"className\":\"h-auto w-full max-w-[300px] rounded-[18px] shadow-[0_30px_60px_-24px_rgba(52,231,228,0.35)]\"}],[\"$\",\"figcaption\",null,{\"className\":\"font-mono text-[10px] uppercase tracking-[0.16em] text-[var(--v-faint)]\",\"children\":\"cannon skins\"}]]}],[\"$\",\"figure\",\"/vector/03-game-over.png\",{\"className\":\"flex flex-col items-center gap-3\",\"children\":[[\"$\",\"$L16\",null,{\"src\":\"/vector/03-game-over.png\",\"alt\":\"Vector game-over screen — score, new best, revive button.\",\"width\":1320,\"height\":2868,\"sizes\":\"(min-width: 1024px) 300px, (min-width: 640px) 30vw, 45vw\",\"className\":\"h-auto w-full max-w-[300px] rounded-[18px] shadow-[0_30px_60px_-24px_rgba(52,231,228,0.35)]\"}],[\"$\",\"figcaption\",null,{\"className\":\"font-mono text-[10px] uppercase tracking-[0.16em] text-[var(--v-faint)]\",\"children\":\"game over\"}]]}]]}]}]\n"])</script>
1<script>self.__next_f.push([1,"9:[\"$\",\"section\",null,{\"className\":\"pt-16\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"font-mono text-[11px] uppercase tracking-[0.2em] text-[var(--v-faint)]\",\"children\":\"four ways to play\"}],[\"$\",\"div\",null,{\"className\":\"mt-5 grid grid-cols-1 gap-[14px] sm:grid-cols-2 lg:grid-cols-4\",\"children\":[[\"$\",\"div\",\"PURE\",{\"className\":\"rounded-[12px] border border-[var(--v-line)] bg-[var(--v-panel)] p-5\",\"children\":[[\"$\",\"div\",null,{\"className\":\"font-mono text-[13px] font-bold tracking-[0.14em]\",\"style\":{\"color\":\"#34e7e4\"},\"children\":\"PURE\"}],[\"$\",\"p\",null,{\"className\":\"mt-2.5 text-[14px] leading-[1.5] text-[var(--v-faint)]\",\"children\":\"The classic clean arcade challenge.\"}]]}],[\"$\",\"div\",\"GRAVITY\",{\"className\":\"rounded-[12px] border border-[var(--v-line)] bg-[var(--v-panel)] p-5\",\"children\":[[\"$\",\"div\",null,{\"className\":\"font-mono text-[13px] font-bold tracking-[0.14em]\",\"style\":{\"color\":\"#34e7e4\"},\"children\":\"GRAVITY\"}],[\"$\",\"p\",null,{\"className\":\"mt-2.5 text-[14px] leading-[1.5] text-[var(--v-faint)]\",\"children\":\"Placed rings pull your shots into curving paths.\"}]]}],[\"$\",\"div\",\"CHALLENGE\",{\"className\":\"rounded-[12px] border border-[var(--v-line)] bg-[var(--v-panel)] p-5\",\"children\":[[\"$\",\"div\",null,{\"className\":\"font-mono text-[13px] font-bold tracking-[0.14em]\",\"style\":{\"color\":\"#34e7e4\"},\"children\":\"CHALLENGE\"}],[\"$\",\"p\",null,{\"className\":\"mt-2.5 text-[14px] leading-[1.5] text-[var(--v-faint)]\",\"children\":\"A fresh seeded layout every day, the same for every player — with a ghost of your best pace to chase.\"}]]}],[\"$\",\"div\",\"CUSTOM\",{\"className\":\"rounded-[12px] border border-[var(--v-line)] bg-[var(--v-panel)] p-5\",\"children\":[[\"$\",\"div\",null,{\"className\":\"font-mono text-[13px] font-bold tracking-[0.14em]\",\"style\":{\"color\":\"#34e7e4\"},\"children\":\"CUSTOM\"}],[\"$\",\"p\",null,{\"className\":\"mt-2.5 text-[14px] leading-[1.5] text-[var(--v-faint)]\",\"children\":\"Tune the rules: pickups, swing or drag aim, gravity, meteors, special rings, and ring count.\"}]]}]]}]]}]\n"])</script>
1<script>self.__next_f.push([1,"a:[\"$\",\"section\",null,{\"className\":\"pt-12\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"font-mono text-[11px] uppercase tracking-[0.2em] text-[var(--v-faint)]\",\"children\":\"rings with a twist\"}],[\"$\",\"div\",null,{\"className\":\"mt-5 grid grid-cols-1 gap-[14px] sm:grid-cols-3\",\"children\":[[\"$\",\"div\",\"SPLITTER\",{\"className\":\"rounded-[12px] border border-[var(--v-line)] bg-[var(--v-panel)] p-5\",\"children\":[[\"$\",\"div\",null,{\"className\":\"font-mono text-[13px] font-bold tracking-[0.14em]\",\"style\":{\"color\":\"#34e7e4\"},\"children\":\"SPLITTER\"}],[\"$\",\"p\",null,{\"className\":\"mt-2.5 text-[14px] leading-[1.5] text-[var(--v-faint)]\",\"children\":\"Pop it and it bursts into two smaller rings — clear the room or get crowded out.\"}]]}],[\"$\",\"div\",\"ARMORED\",{\"className\":\"rounded-[12px] border border-[var(--v-line)] bg-[var(--v-panel)] p-5\",\"children\":[[\"$\",\"div\",null,{\"className\":\"font-mono text-[13px] font-bold tracking-[0.14em]\",\"style\":{\"color\":\"#34e7e4\"},\"children\":\"ARMORED\"}],[\"$\",\"p\",null,{\"className\":\"mt-2.5 text-[14px] leading-[1.5] text-[var(--v-faint)]\",\"children\":\"Reinforced. Soaks up extra hits before it finally breaks.\"}]]}],[\"$\",\"div\",\"FROZEN\",{\"className\":\"rounded-[12px] border border-[var(--v-line)] bg-[var(--v-panel)] p-5\",\"children\":[[\"$\",\"div\",null,{\"className\":\"font-mono text-[13px] font-bold tracking-[0.14em]\",\"style\":{\"color\":\"#34e7e4\"},\"children\":\"FROZEN\"}],[\"$\",\"p\",null,{\"className\":\"mt-2.5 text-[14px] leading-[1.5] text-[var(--v-faint)]\",\"children\":\"One hit, big bonus. A gift hiding in the cluster.\"}]]}]]}]]}]\n"])</script>
1<script>self.__next_f.push([1,"b:[\"$\",\"section\",null,{\"className\":\"pt-12\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"font-mono text-[11px] uppercase tracking-[0.2em] text-[var(--v-faint)]\",\"children\":\"power-ups when the heat is on\"}],[\"$\",\"div\",null,{\"className\":\"mt-5 grid grid-cols-1 gap-[14px] sm:grid-cols-2 lg:grid-cols-4\",\"children\":[[\"$\",\"div\",\"SHIELD\",{\"className\":\"rounded-[12px] border border-[var(--v-line)] bg-[var(--v-panel)] p-5\",\"children\":[[\"$\",\"div\",null,{\"className\":\"font-mono text-[13px] font-bold tracking-[0.14em] text-[var(--v-ink)]\",\"children\":\"SHIELD\"}],[\"$\",\"p\",null,{\"className\":\"mt-2.5 text-[14px] leading-[1.5] text-[var(--v-faint)]\",\"children\":\"Absorbs one fatal shot.\"}]]}],[\"$\",\"div\",\"OVERDRIVE\",{\"className\":\"rounded-[12px] border border-[var(--v-line)] bg-[var(--v-panel)] p-5\",\"children\":[[\"$\",\"div\",null,{\"className\":\"font-mono text-[13px] font-bold tracking-[0.14em] text-[var(--v-ink)]\",\"children\":\"OVERDRIVE\"}],[\"$\",\"p\",null,{\"className\":\"mt-2.5 text-[14px] leading-[1.5] text-[var(--v-faint)]\",\"children\":\"Doubles your score for a window.\"}]]}],[\"$\",\"div\",\"NUKE\",{\"className\":\"rounded-[12px] border border-[var(--v-line)] bg-[var(--v-panel)] p-5\",\"children\":[[\"$\",\"div\",null,{\"className\":\"font-mono text-[13px] font-bold tracking-[0.14em] text-[var(--v-ink)]\",\"children\":\"NUKE\"}],[\"$\",\"p\",null,{\"className\":\"mt-2.5 text-[14px] leading-[1.5] text-[var(--v-faint)]\",\"children\":\"Clears every ring near your next placement.\"}]]}],[\"$\",\"div\",\"STEADY\",{\"className\":\"rounded-[12px] border border-[var(--v-line)] bg-[var(--v-panel)] p-5\",\"children\":[[\"$\",\"div\",null,{\"className\":\"font-mono text-[13px] font-bold tracking-[0.14em] text-[var(--v-ink)]\",\"children\":\"STEADY\"}],[\"$\",\"p\",null,{\"className\":\"mt-2.5 text-[14px] leading-[1.5] text-[var(--v-faint)]\",\"children\":\"Slows the sway so you can line up the perfect shot.\"}]]}]]}]]}]\n"])</script>
1<script>self.__next_f.push([1,"c:[\"$\",\"section\",null,{\"className\":\"pt-12\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"font-mono text-[11px] uppercase tracking-[0.2em] text-[var(--v-faint)]\",\"children\":\"make it yours\"}],[\"$\",\"p\",null,{\"className\":\"mt-4 max-w-[560px] text-[14px] leading-[1.6] text-[var(--v-faint)]\",\"children\":\"Earn Credits as you play and spend them in the store — every run can look a little more like you.\"}],[\"$\",\"div\",null,{\"className\":\"mt-5 grid grid-cols-1 gap-[14px] sm:grid-cols-2 lg:grid-cols-4\",\"children\":[[\"$\",\"div\",\"TRAILS\",{\"className\":\"rounded-[12px] border border-[var(--v-line)] bg-[var(--v-panel)] p-5\",\"children\":[[\"$\",\"div\",null,{\"className\":\"font-mono text-[13px] font-bold tracking-[0.14em] text-[var(--v-ink)]\",\"children\":\"TRAILS\"}],[\"$\",\"p\",null,{\"className\":\"mt-2.5 text-[14px] leading-[1.5] text-[var(--v-faint)]\",\"children\":\"Comet, Spark, Neon — reshape the streak behind every shot.\"}]]}],[\"$\",\"div\",\"PALETTES\",{\"className\":\"rounded-[12px] border border-[var(--v-line)] bg-[var(--v-panel)] p-5\",\"children\":[[\"$\",\"div\",null,{\"className\":\"font-mono text-[13px] font-bold tracking-[0.14em] text-[var(--v-ink)]\",\"children\":\"PALETTES\"}],[\"$\",\"p\",null,{\"className\":\"mt-2.5 text-[14px] leading-[1.5] text-[var(--v-faint)]\",\"children\":\"Synthwave, Carbon, Acid — recolor the whole arena.\"}]]}],[\"$\",\"div\",\"RING SKINS\",{\"className\":\"rounded-[12px] border border-[var(--v-line)] bg-[var(--v-panel)] p-5\",\"children\":[[\"$\",\"div\",null,{\"className\":\"font-mono text-[13px] font-bold tracking-[0.14em] text-[var(--v-ink)]\",\"children\":\"RING SKINS\"}],[\"$\",\"p\",null,{\"className\":\"mt-2.5 text-[14px] leading-[1.5] text-[var(--v-faint)]\",\"children\":\"Prism, Orbit, Pulse — give your rings their own signature.\"}]]}],[\"$\",\"div\",\"CANNONS\",{\"className\":\"rounded-[12px] border border-[var(--v-line)] bg-[var(--v-panel)] p-5\",\"children\":[[\"$\",\"div\",null,{\"className\":\"font-mono text-[13px] font-bold tracking-[0.14em] text-[var(--v-ink)]\",\"children\":\"CANNONS\"}],[\"$\",\"p\",null,{\"className\":\"mt-2.5 text-[14px] leading-[1.5] text-[var(--v-faint)]\",\"children\":\"Rail, Turret, Nova — swap the barrel you fire from.\"}]]}]]}]]}]\n"])</script>
1<script>self.__next_f.push([1,"d:[\"$\",\"section\",null,{\"className\":\"mt-16 grid grid-cols-1 gap-4 md:grid-cols-2 md:gap-6\",\"children\":[[\"$\",\"div\",null,{\"className\":\"rounded-[14px] border border-[var(--v-line)] bg-[var(--v-panel)] p-8 md:p-10\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"text-[28px] font-bold tracking-[-0.01em] md:text-[34px]\",\"style\":{\"color\":\"#34e7e4\"},\"children\":\"Survive the danger zone\"}],[\"$\",\"p\",null,{\"className\":\"mt-4 text-[16px] leading-[1.6] text-[var(--v-faint)]\",\"children\":\"Time slows and the camera zooms in as your shot coasts toward the death line. Land it clean for a save — or watch the cluster close in.\"}]]}],[\"$\",\"div\",null,{\"className\":\"rounded-[14px] border border-[var(--v-line)] bg-[var(--v-panel)] p-8 md:p-10\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"text-[28px] font-bold tracking-[-0.01em] md:text-[34px]\",\"style\":{\"color\":\"#34e7e4\"},\"children\":\"Climb the leaderboards\"}],[\"$\",\"p\",null,{\"className\":\"mt-4 text-[16px] leading-[1.6] text-[var(--v-faint)]\",\"children\":\"Per-mode bests and a daily challenge board, synced through Google Play Games and Game Center. Beat your pace ghost, then beat everyone else's.\"}]]}]]}]\n"])</script>
1<script>self.__next_f.push([1,"e:[\"$\",\"section\",null,{\"className\":\"pt-16\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"font-mono text-[11px] uppercase tracking-[0.2em] text-[var(--v-faint)]\",\"children\":\"get the game\"}],[\"$\",\"div\",null,{\"className\":\"mt-5 flex flex-wrap gap-4\",\"children\":[[\"$\",\"a\",null,{\"href\":\"https://play.google.com/store/apps/details?id=com.iokig.vector\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"className\":\"flex items-center gap-3 rounded-[12px] border border-[var(--v-line)] bg-[var(--v-panel)] px-6 py-4 no-underline transition-colors hover:border-[var(--v-neon)]\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-[16px] font-semibold text-[var(--v-ink)]\",\"children\":\"Google Play\"}],[\"$\",\"span\",null,{\"className\":\"font-mono text-[10px] uppercase tracking-[0.12em]\",\"style\":{\"color\":\"#34e7e4\"},\"children\":\"out now ↗\"}]]}],[\"$\",\"a\",null,{\"href\":\"https://apps.apple.com/app/vector-neon-arcade/id6775103409\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"className\":\"flex items-center gap-3 rounded-[12px] border border-[var(--v-line)] bg-[var(--v-panel)] px-6 py-4 no-underline transition-colors hover:border-[var(--v-neon)]\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-[16px] font-semibold text-[var(--v-ink)]\",\"children\":\"App Store\"}],[\"$\",\"span\",null,{\"className\":\"font-mono text-[10px] uppercase tracking-[0.12em]\",\"style\":{\"color\":\"#34e7e4\"},\"children\":\"out now ↗\"}]]}]]}]]}]\n"])</script>
1<script>self.__next_f.push([1,"f:[\"$\",\"footer\",null,{\"className\":\"mt-auto flex flex-wrap items-center justify-between gap-4 border-t border-[var(--v-line)] pt-8 font-mono text-[11px] tracking-[0.08em] text-[var(--v-faint)]\",\"children\":[[\"$\",\"span\",null,{\"children\":\"Vector · IOKIG © 2026\"}],[\"$\",\"nav\",null,{\"className\":\"flex gap-6\",\"children\":[[\"$\",\"$L5\",null,{\"href\":\"/privacy\",\"className\":\"no-underline transition-colors hover:text-[var(--v-ink)]\",\"children\":\"Privacy\"}],[\"$\",\"$L5\",null,{\"href\":\"/terms\",\"className\":\"no-underline transition-colors hover:text-[var(--v-ink)]\",\"children\":\"Terms\"}],[\"$\",\"$L5\",null,{\"href\":\"/support\",\"className\":\"no-underline transition-colors hover:text-[var(--v-ink)]\",\"children\":\"Support\"}]]}]]}]\n10:[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/0dw2a_5hcm.f4.js\",\"async\":true,\"nonce\":\"$undefined\"}]\n11:[\"$\",\"$L17\",null,{\"children\":[\"$\",\"$18\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@19\"}]}]\n1a:[]\n12:\"$W1a\"\n13:[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L1b\",null,{\"children\":\"$L1c\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L1d\",null,{\"children\":[\"$\",\"$18\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L1e\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}]\n15:[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0-~pdj0tn-qr6.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\n"])</script>
1<script>self.__next_f.push([1,"1c:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script>
1<script>self.__next_f.push([1,"1f:I[27201,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"IconMark\"]\n19:null\n"])</script>
1<script>self.__next_f.push([1,"1e:[[\"$\",\"title\",\"0\",{\"children\":\"Vector — IOKIG\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"A fast, neon take on the classic 'place a ring before it crosses the line' arcade puzzle. Out now on iOS and Android.\"}],[\"$\",\"meta\",\"2\",{\"property\":\"og:title\",\"content\":\"Vector — IOKIG\"}],[\"$\",\"meta\",\"3\",{\"property\":\"og:description\",\"content\":\"A fast, neon take on the classic 'place a ring before it crosses the line' arcade puzzle. Out now on iOS and Android.\"}],[\"$\",\"meta\",\"4\",{\"property\":\"og:url\",\"content\":\"https://www.iokig.com/vector\"}],[\"$\",\"meta\",\"5\",{\"property\":\"og:image\",\"content\":\"https://www.iokig.com/vector/opengraph-image?672fcbfd633515e3\"}],[\"$\",\"meta\",\"6\",{\"property\":\"og:image:type\",\"content\":\"image/png\"}],[\"$\",\"meta\",\"7\",{\"property\":\"og:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"8\",{\"property\":\"og:image:height\",\"content\":\"630\"}],[\"$\",\"meta\",\"9\",{\"property\":\"og:image:alt\",\"content\":\"Vector — a neon arcade puzzle from IOKIG.\"}],[\"$\",\"meta\",\"10\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"11\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"12\",{\"name\":\"twitter:title\",\"content\":\"Vector — IOKIG\"}],[\"$\",\"meta\",\"13\",{\"name\":\"twitter:description\",\"content\":\"A fast, neon take on the classic 'place a ring before it crosses the line' arcade puzzle. Out now on iOS and Android.\"}],[\"$\",\"meta\",\"14\",{\"name\":\"twitter:image\",\"content\":\"https://www.iokig.com/vector/opengraph-image?672fcbfd633515e3\"}],[\"$\",\"meta\",\"15\",{\"name\":\"twitter:image:alt\",\"content\":\"Vector — a neon arcade puzzle from IOKIG.\"}],[\"$\",\"meta\",\"16\",{\"name\":\"twitter:image:type\",\"content\":\"image/png\"}],[\"$\",\"meta\",\"17\",{\"name\":\"twitter:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"18\",{\"name\":\"twitter:image:height\",\"content\":\"630\"}],[\"$\",\"link\",\"19\",{\"rel\":\"icon\",\"href\":\"/icon?eb5f1ffaaf07bf36\",\"alt\":\"$undefined\",\"type\":\"image/png\",\"sizes\":\"32x32\"}],[\"$\",\"link\",\"20\",{\"rel\":\"apple-touch-icon\",\"href\":\"/apple-icon?90e2e986c533fd1e\",\"alt\":\"$undefined\",\"type\":\"image/png\",\"sizes\":\"180x180\"}],[\"$\",\"$L1f\",\"21\",{}]]\n"])</script>
1</body></html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.