1import{j as s,b as a,T as e,c as r}from"./index-fw5FFMer.js";import{P as i,E as n,S as c}from"./progress-bar-CNs9QuBq.js";import"./stat-card-C88gErIk.js";function l(){return s.jsx(a,{children:s.jsxs("div",{className:"max-w-4xl mx-auto bg-white dark:bg-zinc-900 rounded-lg shadow-lg p-6",children:[s.jsxs("header",{className:"text-center mb-8",children:[s.jsx("h1",{className:"text-3xl font-bold text-gray-800 dark:text-gray-100 mb-2",children:"Typing Speed Trainer"}),s.jsx("p",{className:"text-gray-600 dark:text-gray-400",children:"Test your typing speed and accuracy"})]}),s.jsx("div",{className:"mb-6",children:s.jsx(i,{})}),s.jsx("div",{className:"mb-6",children:s.jsx(n,{})}),s.jsxs("main",{className:"grid grid-cols-1 lg:grid-cols-3 gap-6",children:[s.jsxs("div",{className:"lg:col-span-2 space-y-4",children:[s.jsx(e,{}),s.jsx(r,{})]}),s.jsx("aside",{className:"lg:col-span-1",children:s.jsx(c,{})})]})]})})}function o(){return s.jsx(l,{})}export{o as component};
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.