.tt-root{--tt-main: hsl(var(--accent));--tt-sub: hsl(var(--muted-foreground) / .62);--tt-text: hsl(var(--foreground));--tt-error: #ef5f6f;--tt-error-extra: #9f3542;--tt-alt: hsl(var(--secondary) / .55);position:relative}.tt-config{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.25rem .5rem;width:-moz-fit-content;width:fit-content;max-width:100%;margin:0 auto;padding:.35rem .75rem;border-radius:.75rem;background:var(--tt-alt);transition:opacity .25s}.tt-config.is-hidden{opacity:0;pointer-events:none}.tt-config-group{display:flex;align-items:center;gap:.15rem}.tt-config-item{display:inline-flex;align-items:center;gap:.35rem;min-height:2.25rem;padding:0 .55rem;border-radius:.5rem;font-size:.82rem;font-weight:500;color:var(--tt-sub);transition:color .15s}.tt-config-item:hover{color:var(--tt-text)}.tt-config-item.is-active{color:var(--tt-main)}.tt-config-divider{width:3px;height:1.2rem;border-radius:9999px;background:hsl(var(--background) / .9)}@media (max-width: 639px){.tt-config{flex-direction:column;gap:.1rem;padding:.35rem .5rem}.tt-config-divider{display:none}}.tt-live{display:flex;align-items:baseline;gap:1rem;min-height:2.6rem;margin-top:1.25rem;font-family:ui-monospace,Cascadia Mono,Segoe UI Mono,Menlo,Consolas,Liberation Mono,monospace;color:var(--tt-main)}.tt-timer{font-size:1.9rem;line-height:1;transition:opacity .2s}.tt-live-stats{font-size:1rem;color:var(--tt-sub)}.tt-live-stats small{margin-right:.6rem;font-size:.7em}.tt-box{position:relative;cursor:text}.tt-words{position:relative;height:6em;overflow:hidden;font-family:ui-monospace,Cascadia Mono,Segoe UI Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:1.32rem;-moz-user-select:none;user-select:none;-webkit-user-select:none;transition:filter .25s,opacity .25s}@media (min-width: 640px){.tt-words{font-size:1.6rem}}.tt-words.is-blurred{filter:blur(4px);opacity:.55}.tt-words-inner{position:relative;display:flex;flex-wrap:wrap;align-content:flex-start;transition:transform .14s ease-out}.tt-word{display:inline-block;margin:.25em .6em .25em 0;line-height:1.5em;height:1.5em;border-bottom:2px solid transparent}.tt-word-error{border-bottom-color:var(--tt-error)}.tt-l{color:var(--tt-sub)}.tt-ok{color:var(--tt-text)}.tt-bad{color:var(--tt-error)}.tt-extra{color:var(--tt-error-extra)}.tt-miss{color:var(--tt-sub)}.tt-caret{position:absolute;left:0;top:0;width:.1em;min-width:2px;border-radius:9999px;background:var(--tt-main);transition:transform .09s linear;will-change:transform}@media (prefers-reduced-motion: no-preference){.tt-caret.is-blinking{animation:tt-blink 1s ease-in-out infinite}}@keyframes tt-blink{0%,to{opacity:1}50%{opacity:0}}.tt-input{position:absolute;inset:0;width:100%;height:100%;opacity:0;font-size:16px;color:transparent;caret-color:transparent;background:transparent;border:0;outline:none;cursor:text}.tt-focus-hint{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;font-size:.95rem;font-weight:500;color:var(--tt-text)}.tt-focus-hint span{display:inline-flex;align-items:center;gap:.35rem}.tt-focus-hint-touch{display:none!important}@media (pointer: coarse){.tt-focus-hint-desktop{display:none!important}.tt-focus-hint-touch{display:inline-flex!important}}.tt-caps{position:absolute;top:-2.2rem;left:50%;z-index:2;display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .7rem;border-radius:.5rem;background:var(--tt-main);font-size:.8rem;font-weight:600;color:hsl(var(--background));transform:translate(-50%)}.tt-under{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-top:1.25rem}.tt-restart{display:flex;height:2.75rem;width:2.75rem;align-items:center;justify-content:center;border-radius:.75rem;color:var(--tt-sub);transition:color .15s,background-color .15s}.tt-restart:hover,.tt-restart:focus-visible{background:var(--tt-alt);color:var(--tt-text)}.tt-keyhint{font-size:.75rem;color:var(--tt-sub)}.tt-keyhint kbd,.tt-kbd{padding:.05rem .4rem;border-radius:.3rem;background:var(--tt-alt);font-family:ui-monospace,Consolas,monospace;font-size:.72rem;color:var(--tt-text)}@media (pointer: coarse){.tt-keyhint{display:none}}.tt-result-top{display:grid;gap:1rem;align-items:center}@media (min-width: 768px){.tt-result-top{grid-template-columns:auto minmax(0,1fr);gap:2rem}}.tt-big{display:flex;gap:2rem}@media (min-width: 768px){.tt-big{flex-direction:column;gap:.75rem}}.tt-big dt,.tt-stats dt{font-family:ui-monospace,Consolas,monospace;font-size:.85rem;color:var(--tt-sub)}.tt-big dd{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:3.4rem;line-height:1;color:var(--tt-main)}@media (min-width: 640px){.tt-big dd{font-size:4rem}}.tt-chart{display:block;width:100%;height:auto;overflow:visible}.tt-chart-grid{stroke:hsl(var(--border));stroke-width:1}.tt-chart-label{fill:var(--tt-sub);font-family:ui-monospace,Consolas,monospace;font-size:11px}.tt-chart-wpm,.tt-chart-raw{fill:none;stroke-linejoin:round;stroke-linecap:round}.tt-chart-wpm{stroke:var(--tt-main);stroke-width:3}.tt-chart-raw{stroke:var(--tt-sub);stroke-width:2}.tt-chart-error line{stroke:var(--tt-error);stroke-width:2;stroke-linecap:round}.tt-chart-key{display:flex;justify-content:flex-end;gap:1rem;margin-top:.25rem;font-family:ui-monospace,Consolas,monospace;font-size:.72rem}.tt-key-wpm{color:var(--tt-main)}.tt-key-raw{color:var(--tt-sub)}.tt-key-err{color:var(--tt-error)}.tt-stats{display:flex;flex-wrap:wrap;gap:1rem 2rem;margin-top:1.5rem}.tt-stats dd{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:1.5rem;color:var(--tt-main)}.tt-level{margin-top:1.25rem;font-size:.92rem;color:var(--tt-sub)}.tt-level strong{color:var(--tt-text)}.tt-best{display:inline-flex;align-items:center;gap:.3rem;margin-left:.6rem;padding:.1rem .55rem;border-radius:9999px;background:hsl(var(--accent) / .18);font-size:.78rem;font-weight:600;color:var(--tt-main)}.tt-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:1.5rem}.tt-action{display:inline-flex;align-items:center;gap:.35rem;min-height:2.75rem;padding:0 1rem;border-radius:.75rem;font-size:.9rem;color:var(--tt-sub);transition:color .15s,background-color .15s}.tt-action:hover,.tt-action:focus-visible{background:var(--tt-alt);color:var(--tt-text)}.tt-history{display:flex;flex-wrap:wrap;gap:.35rem .7rem;margin-top:1rem;padding:1rem;border-radius:.75rem;background:var(--tt-alt);font-family:ui-monospace,Consolas,monospace;font-size:1rem;color:var(--tt-text)}.tt-history-word{display:inline-flex;flex-direction:column;align-items:center}.tt-history-word.is-wrong{color:var(--tt-error);text-decoration:underline}.tt-history-word small{font-size:.7em;color:var(--tt-sub);text-decoration:none}html[data-typing-focus] :is(header,footer,.mobile-tab-bar,.chat-launcher,[data-focus-hide]){opacity:0!important;pointer-events:none!important;transition:opacity .3s}
