.ar-match-layout.ar-match-typing{width:100%;max-width:1200px}.ar-typing{width:min(100%, 1040px);min-width:0;margin-inline:auto}/* The global site font is forced on descendants; fixed-width characters make
   spaces, the caret and substitutions unambiguous in the typing surface. */.arena .ar-typing-passage,.arena .ar-typing-passage *,.arena #ar-typing-input{font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace !important}.ar-typing-options .ar-switch + .ar-switch{margin-top:14px}.arena .ar-typing-config-note{margin:17px 0 23px;color:var(--ar-muted);font-size:13px;line-height:1.6}.ar-typing-race{margin-bottom:32px}.ar-typing-race-stats{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:40px;padding:0 2px;margin-bottom:14px}.ar-typing-runner-info{--runner-color:var(--ar-blue);display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0;font-size:14px;line-height:1.4}.ar-typing-runner-info.is-opponent{--runner-color:var(--ar-opponent)}.ar-typing-runner-info > strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:650}.ar-typing-runner-info > strong::before{content:'';display:inline-block;width:7px;height:7px;margin-right:8px;border-radius:50%;background:var(--runner-color);vertical-align:1px}.ar-typing-runner-stats{display:flex;align-items:baseline;gap:18px;flex-shrink:0;font-variant-numeric:tabular-nums}.ar-typing-runner-stats b{color:var(--ar-text);font-weight:650}.ar-typing-runner-stats span span{color:var(--ar-muted);font-size:12px}.ar-typing-percent{min-width:40px;text-align:right;font-weight:650}.ar-typing-percent span{padding-left:2px}/* Two lanes on one road: a shared center marking, start and checkered finish. */.ar-typing-road{position:relative;isolation:isolate;padding-block:8px;border-radius:14px;background:var(--ar-raised);overflow:hidden}.ar-typing-road::before{content:'';position:absolute;inset:8px 16px;border-block:2px solid var(--ar-muted);opacity:.23;pointer-events:none}.ar-typing-road::after{content:'';position:absolute;left:16px;right:16px;top:calc(50% - 1px);height:2px;background:repeating-linear-gradient(90deg, var(--ar-muted) 0 20px, transparent 20px 36px);opacity:.32;pointer-events:none}.ar-typing-start-line{position:absolute;left:35px;top:10px;bottom:10px;width:2px;background:var(--ar-muted);opacity:.25}.ar-typing-finish-line{position:absolute;right:41px;top:10px;bottom:10px;width:14px;background:conic-gradient(var(--ar-muted) 25%, transparent 0 50%, var(--ar-muted) 0 75%, transparent 0) 0 0/14px 14px;opacity:.65}.ar-typing-lane{--runner-color:var(--ar-blue);position:relative;height:56px;z-index:1}.ar-typing-lane.is-opponent{--runner-color:var(--ar-opponent)}.ar-typing-track{position:relative;height:100%;margin-inline:36px 48px}.ar-typing-track .ar-typing-runner{position:absolute;left:var(--race-progress);top:50%;width:42px;height:42px;border-radius:12px;border:2px solid var(--runner-color);transform:translate(-50%, -50%);transition:left .25s linear;font-size:15px;box-shadow:0 3px 8px #0003;background:var(--ar-panel);overflow:visible}.ar-typing-runner > img{border-radius:9px}.ar-typing-runner::before{content:'';position:absolute;right:calc(100% + 7px);top:50%;width:20px;height:2px;background:var(--runner-color);opacity:.4;transform:translateY(-50%)}.ar-typing-lane.is-finished .ar-typing-runner::before{opacity:0}.ar-typing-passage{position:relative;border:0;background:transparent;border-radius:0;padding:4px 2px;margin-bottom:0;color:var(--ar-muted);font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;font-size:21px;line-height:1.85;font-weight:450;letter-spacing:.1px;overflow-wrap:anywhere}.ar-typing-passage > div{white-space:pre-wrap}.arena .ar-typing-text.is-encoded,.arena .ar-typing-text.is-encoded *{font-family:var(--ar-typing-font),monospace !important}.ar-typing-passage.is-font-loading .ar-typing-text{visibility:hidden}.ar-typing-font-status{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;font-size:15px;line-height:1.5;text-align:center}.arena .ar-typing-text.is-encoded .ar-typing-overflow,.arena .ar-typing-text.is-encoded .is-error.is-space::after{font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace !important}.ar-typing-word{display:inline-block;max-width:100%}.ar-typing-char{position:relative;border-radius:0}.ar-typing-char.is-correct{color:var(--ar-text)}.ar-typing-char.is-pending{color:var(--ar-text);opacity:.65}.ar-typing-char.is-correct:not(.is-space){text-decoration:underline;text-decoration-color:color-mix(in srgb, var(--ar-blue) 55%, transparent);text-underline-offset:6px;text-decoration-thickness:1px}.ar-typing-char.is-error,.ar-typing-overflow.is-error{color:var(--ar-opponent);background:color-mix(in srgb, var(--ar-opponent) 13%, transparent)}.ar-typing-char.is-error.is-space::after{content:'·';position:absolute;inset:0;text-align:center}.ar-typing-char.is-caret::before{content:'';position:absolute;left:-2px;top:-.08em;bottom:-.08em;width:2px;border-radius:2px;background:var(--ar-blue);animation:ar-typing-caret 1.1s step-end infinite}.ar-typing-overflow{overflow-wrap:anywhere}/* A real keyboard receiver preserves mobile keyboards and composition, while
   the passage itself paints every character and the caret in place. Only the
   unfinished suffix lives in this control; completed words cannot be selected. */.arena #ar-typing-input{position:absolute;inset:0;display:block;width:100%;height:100%;min-height:0;padding:0;margin:0;resize:none;border:0;border-radius:inherit;outline:none;opacity:0;background:transparent;color:transparent;caret-color:transparent;cursor:text;font-size:16px;overflow:hidden}.ar-typing-passage.is-active{cursor:text}.ar-typing.is-active .ar-typing-road{cursor:text}.ar-typing-focus{display:none;position:absolute;inset:0;z-index:1;width:100%;align-items:center;justify-content:center;padding:20px;border:0;background:transparent;color:var(--ar-text);font-size:15px;font-weight:550;line-height:1.6;text-align:center;cursor:text}.ar-typing-passage.is-active:not(:has(#ar-typing-input:focus)) .ar-typing-focus,.is-typing-window-blurred .ar-typing-passage.is-active .ar-typing-focus{display:flex}.ar-typing-passage.is-active:not(:has(#ar-typing-input:focus)) .ar-typing-text,.is-typing-window-blurred .ar-typing-passage.is-active .ar-typing-text{filter:blur(5px);opacity:.4}.ar-typing-passage:not(:focus-within) .is-caret::before{opacity:.4;animation:none}.ar-typing-round-result{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid var(--ar-border);margin-top:20px;padding-top:16px;font-size:14px}.ar-typing-round-result strong{font-weight:650}.ar-typing-round-result > span{color:var(--ar-muted);white-space:nowrap;font-variant-numeric:tabular-nums}.ar-typing-thumbnail{width:min(220px, calc(100% - 48px));transform:rotate(-4deg)}.ar-typing-mini-track{position:relative;margin:0 9px 15px;height:12px;border-bottom:3px solid var(--ar-soft)}.ar-typing-mini-track::before{content:'';position:absolute;left:0;bottom:-3px;width:69%;height:3px;background:var(--ar-blue)}.ar-typing-mini-track > i{position:absolute;left:65%;bottom:-7px;width:14px;height:14px;border-radius:5px;background:var(--ar-blue);border:2px solid var(--ar-panel)}.ar-typing-mini-track > span{position:absolute;right:-7px;bottom:-1px;width:17px;height:20px;color:var(--ar-muted)}.ar-typing-mini-track svg{width:100%;height:100%}.ar-typing-mini-track.is-opponent::before{width:43%;background:var(--ar-opponent)}.ar-typing-mini-track.is-opponent > i{left:39%;background:var(--ar-opponent)}.ar-typing-mini-keys{display:grid;grid-template-columns:repeat(4, 1fr);gap:7px;padding:4px 12px 0}.ar-typing-mini-keys kbd{height:32px;display:grid;place-items:center;border:1px solid var(--ar-border);border-bottom-width:3px;border-radius:7px;background:var(--ar-raised);color:var(--ar-text);font-family:inherit;font-size:14px;font-weight:650}.ar-typing-mini-keys kbd:nth-child(2){border-color:var(--ar-blue);color:var(--ar-blue);transform:translateY(2px)}.ar-typing-mini-keys kbd.is-space{grid-column:1/-1;height:15px;margin-inline:14px}@keyframes ar-typing-caret{0%,60%,100%{opacity:1}61%,99%{opacity:0}}@media (max-width: 600px){.ar-typing-race{margin-bottom:24px}.ar-typing-race-stats{gap:20px;margin-bottom:12px}.ar-typing-runner-info{display:block}.ar-typing-runner-info > strong{display:block;margin-bottom:7px}.ar-typing-runner-stats{justify-content:space-between;gap:8px}.ar-typing-road{border-radius:10px}.ar-typing-lane{height:48px}.ar-typing-track{margin-inline:28px 34px}.ar-typing-start-line{left:27px}.ar-typing-finish-line{right:27px}.ar-typing-track .ar-typing-runner{width:36px;height:36px;border-radius:10px}.ar-typing-runner > img{border-radius:7px}.ar-typing-runner::before{width:12px;right:calc(100% + 5px)}.ar-typing-passage{padding:2px;font-size:18px;line-height:1.8;margin-bottom:0}}@media (prefers-reduced-motion: reduce){.ar-typing-track .ar-typing-runner{transition:none}.ar-typing-char.is-caret::before{animation:none}}