<divclass="button-row"id="load-actions"hidden><buttonclass="button primary"id="load-retry">try again</button><buttonclass="button"id="load-common">use common words</button></div>
<divid="tempo-track"class="tempo-track"hidden><divclass="tempo-rail"><divid="tempo-progress"></div></div><divclass="tempo-caption"><spanid="tempo-caption">find the beat</span><spanid="tempo-lives"aria-label="Three beats remaining"><i></i><i></i><i></i></span></div></div>
<divclass="input-row"id="input-row">
<inputid="typing-input"class="typing-input"type="text"inputmode="text"enterkeyhint="next"autocomplete="off"autocapitalize="off"autocorrect="off"spellcheck="false"maxlength="64"aria-label="Type the word shown above"placeholder="tap here to type">
<pclass="run-hint"id="run-hint"><spanclass="hint-start">type the word to begin</span><spanclass="hint-separator">·</span><spanid="advance-hint"><kbd>space</kbd> next word</span></p>
<buttonid="finish-run"class="text-button"hidden>finish run ↵</button>
<divclass="result-heading"><pclass="eyebrow"id="result-kicker">30 seconds, well spent</p><spanclass="new-best"id="new-best"hidden>personal best ↗</span></div>
<h1id="result-title">there’s your rhythm.</h1>
<divclass="result-grid">
<divclass="result-main"><spanid="result-wpm">0</span><span>words per minute</span></div>
<divclass="rhythm-chart"><divclass="chart-label"><span>your rhythm</span><span>each word, in wpm</span></div><svgid="speed-chart"viewBox="0 0 900 95"role="img"aria-label="Speed for each completed word"></svg></div>
<divclass="slow-words"><span>room to grow</span><divid="slow-words"></div></div>
<divclass="result-actions">
<buttonclass="button primary"id="again-button">go again <spanaria-hidden="true">↵</span></button>
<footerclass="footer"><span>one word. then the next.</span><div><buttonclass="text-button"id="footer-board"hidden>today’s board ↗</button><spanid="restart-tip"><kbd>esc</kbd> restart</span><ahref="https://teahub.xyz/teahubxyz/time/issues/254"target="_blank"rel="noopener"aria-label="About typy on Teahub">a small experiment ↗</a></div></footer>
<pclass="eyebrow">make yourself comfortable</p><h2>your rhythm, your rules.</h2>
<labelclass="setting-row"><span><b>Next word</b><small>Choose what moves you forward.</small></span><selectid="advance-setting"><optionvalue="space">press space</option><optionvalue="letter">last letter</option></select></label>
<labelclass="setting-row"><span><b>A little look ahead</b><small>Show the upcoming word.</small></span><inputclass="switch"id="preview-setting"type="checkbox"checked></label>
<pclass="dialog-note">Changes start a fresh run. Your best scores stay on this device.</p>
<labelfor="paste-input">A paragraph, a poem, something you want to remember.</label><textareaid="paste-input"rows="6"maxlength="18000"placeholder="Your words go here…"required></textarea>
<divclass="paste-footer"><spanid="paste-count">up to 300 words</span><buttonclass="button primary"type="submit">use these words ↗</button></div>
<pclass="dialog-note">Pasted text stays on this device until you choose to share a result.</p>
</form>
<divid="source-common"class="source-pane"role="tabpanel"aria-labelledby="tab-common"hidden><p>Familiar words, picked by frequency. Nothing to think about except the next one.</p><buttonclass="button primary full"id="common-start">find your flow ↗</button></div>
<pclass="eyebrow"id="share-kicker">a good rhythm is worth sharing</p><h2id="share-title">leave a little ghost.</h2>
<divid="share-create"><labelfor="share-name">Your name <spanclass="optional">(optional)</span></label><inputid="share-name"type="text"maxlength="24"placeholder="anonymous"autocomplete="nickname"><pclass="dialog-note">The link makes this passage, score, and replay public. Your mistyped characters are never saved.</p><buttonclass="button primary full"id="save-result">create share link ↗</button></div>
<divid="share-ready"hidden><labelfor="share-url"id="share-url-label">Your result link</label><divclass="field-with-button"><inputid="share-url"type="url"readonly><buttonclass="button primary"id="copy-link">copy</button></div><pclass="dialog-note"id="share-ready-note">Anyone with this link can watch your replay or race your ghost.</p></div>
<pclass="eyebrow"id="board-date">same words. a different rhythm.</p><h2>the daily board.</h2><pclass="dialog-note">One passage. Sixty seconds. A fresh start at midnight UTC.</p><divid="board-content"aria-live="polite"></div><buttonclass="text-button"id="board-refresh">refresh ↻</button>
<pclass="eyebrow">less looking. more doing.</p><h2>one word at a time.</h2>
<divclass="help-steps"><p><span>01</span>Type the word in the middle. Your first letter starts the clock.</p><p><span>02</span>Use Backspace to fix a mistake, then Space for the next word. Switch to “last letter” in settings for automatic advances.</p><p><span>03</span>Try tempo: finish each word before the beat. Keep up and it gets faster. Three missed beats end the run.</p></div>
<pclass="dialog-note">WPM counts five correct output characters as one word. Accuracy measures correct key attempts. Your best scores and settings stay on this device.</p><buttonclass="button primary full"id="help-done">let’s type ↗</button>