@font-face{font-family:Roboto Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/mobile-monkeytype/assets/roboto-mono-cyrillic-ext-400-normal-BHxv52bw.woff2)format("woff2"),url(/mobile-monkeytype/assets/roboto-mono-cyrillic-ext-400-normal-W26xs1TL.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Roboto Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/mobile-monkeytype/assets/roboto-mono-cyrillic-400-normal-C-_K-ZCn.woff2)format("woff2"),url(/mobile-monkeytype/assets/roboto-mono-cyrillic-400-normal-B3hIXASd.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Roboto Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/mobile-monkeytype/assets/roboto-mono-greek-400-normal-CH_u3Aru.woff2)format("woff2"),url(/mobile-monkeytype/assets/roboto-mono-greek-400-normal-P8xe1gs1.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Roboto Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/mobile-monkeytype/assets/roboto-mono-vietnamese-400-normal-yYTFiTTs.woff2)format("woff2"),url(/mobile-monkeytype/assets/roboto-mono-vietnamese-400-normal-CzWHQABp.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Roboto Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/mobile-monkeytype/assets/roboto-mono-latin-ext-400-normal-DLAV9S_w.woff2)format("woff2"),url(/mobile-monkeytype/assets/roboto-mono-latin-ext-400-normal-BwLXVYNz.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Roboto Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/mobile-monkeytype/assets/roboto-mono-latin-400-normal-GekRknry.woff2)format("woff2"),url(/mobile-monkeytype/assets/roboto-mono-latin-400-normal-DBZPkcnn.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/mobile-monkeytype/assets/roboto-mono-cyrillic-ext-500-normal-DC57U9n8.woff2)format("woff2"),url(/mobile-monkeytype/assets/roboto-mono-cyrillic-ext-500-normal-6xdwlG7p.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Roboto Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/mobile-monkeytype/assets/roboto-mono-cyrillic-500-normal-DGZ7-lUP.woff2)format("woff2"),url(/mobile-monkeytype/assets/roboto-mono-cyrillic-500-normal-NpUJFYX7.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Roboto Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/mobile-monkeytype/assets/roboto-mono-greek-500-normal-DpRFkptA.woff2)format("woff2"),url(/mobile-monkeytype/assets/roboto-mono-greek-500-normal-C2M8jX6G.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Roboto Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/mobile-monkeytype/assets/roboto-mono-vietnamese-500-normal-Cq-quQMu.woff2)format("woff2"),url(/mobile-monkeytype/assets/roboto-mono-vietnamese-500-normal-IxzxMIj7.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Roboto Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/mobile-monkeytype/assets/roboto-mono-latin-ext-500-normal-Db3ge6Oe.woff2)format("woff2"),url(/mobile-monkeytype/assets/roboto-mono-latin-ext-500-normal-B1IjfbhL.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Roboto Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/mobile-monkeytype/assets/roboto-mono-latin-500-normal-pxIOXZmA.woff2)format("woff2"),url(/mobile-monkeytype/assets/roboto-mono-latin-500-normal-D6j6AMzd.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/mobile-monkeytype/assets/roboto-mono-cyrillic-ext-600-normal-DMzyepj7.woff2)format("woff2"),url(/mobile-monkeytype/assets/roboto-mono-cyrillic-ext-600-normal-wKvR8HsK.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Roboto Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/mobile-monkeytype/assets/roboto-mono-cyrillic-600-normal-DKbxWEXH.woff2)format("woff2"),url(/mobile-monkeytype/assets/roboto-mono-cyrillic-600-normal-Cq_l17Le.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Roboto Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/mobile-monkeytype/assets/roboto-mono-greek-600-normal-BQdAzcJr.woff2)format("woff2"),url(/mobile-monkeytype/assets/roboto-mono-greek-600-normal-BUSOjkJf.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Roboto Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/mobile-monkeytype/assets/roboto-mono-vietnamese-600-normal-KbXeV0wc.woff2)format("woff2"),url(/mobile-monkeytype/assets/roboto-mono-vietnamese-600-normal-B-c-NWLb.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Roboto Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/mobile-monkeytype/assets/roboto-mono-latin-ext-600-normal-eyj2IT6f.woff2)format("woff2"),url(/mobile-monkeytype/assets/roboto-mono-latin-ext-600-normal-BEUngSaK.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Roboto Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/mobile-monkeytype/assets/roboto-mono-latin-600-normal-B8NnDpAt.woff2)format("woff2"),url(/mobile-monkeytype/assets/roboto-mono-latin-600-normal-CKms5zu1.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lexend Deca;font-style:normal;font-display:swap;font-weight:600;src:url(/mobile-monkeytype/assets/lexend-deca-vietnamese-600-normal-Bo42gXLo.woff2)format("woff2"),url(/mobile-monkeytype/assets/lexend-deca-vietnamese-600-normal-CWoKeKH5.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Lexend Deca;font-style:normal;font-display:swap;font-weight:600;src:url(/mobile-monkeytype/assets/lexend-deca-latin-ext-600-normal-DuZ4tfLm.woff2)format("woff2"),url(/mobile-monkeytype/assets/lexend-deca-latin-ext-600-normal-DNNhR6ou.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lexend Deca;font-style:normal;font-display:swap;font-weight:600;src:url(/mobile-monkeytype/assets/lexend-deca-latin-600-normal-Cnc3Ftn4.woff2)format("woff2"),url(/mobile-monkeytype/assets/lexend-deca-latin-600-normal-rYZKbV2f.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;--bg:#323437;--main:#e2b714;--sub:#646669;--sub-alt:#2c2e31;--text:#d1d0c5;--error:#ca4754;--error-extra:#7e2a33;--visual-height:100dvh;--visual-offset-top:0px;font-family:Roboto Mono,monospace}*{box-sizing:border-box}html{background:var(--bg);min-width:300px;min-height:100%}body{min-width:300px;min-height:100%;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;overscroll-behavior:none;margin:0}button,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}button:focus-visible,a:focus-visible,textarea:focus-visible{outline:2px solid var(--main);outline-offset:3px}.app{min-height:var(--visual-height);background:var(--bg)}.promo-bar{min-height:36px;color:var(--bg);background:var(--main);text-align:center;justify-content:center;align-items:center;gap:14px;padding:7px 52px;font-size:13px;line-height:1.25;display:flex;position:relative}.promo-bar span{opacity:.8}.promo-bar strong{text-underline-offset:3px;font-weight:600;text-decoration:underline}.promo-bar button{right:max(18px, env(safe-area-inset-right));width:32px;height:32px;color:var(--bg);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;padding:0;display:grid;position:absolute}.promo-bar svg{width:17px}.app-grid{width:min(100%,1064px);min-height:var(--visual-height);padding:32px max(32px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(32px, env(safe-area-inset-left));grid-template-rows:auto 1fr auto;gap:32px;margin:0 auto;display:grid}.has-promo .app-grid{min-height:calc(var(--visual-height) - 36px)}.site-header{grid-template-columns:auto 1fr auto;align-items:center;gap:12px;min-height:40px;display:grid}.brand-button{color:inherit;cursor:pointer;background:0 0;border:0;padding:0}.brand{align-items:center;gap:8px;display:flex}.brand-mark{width:42px;height:27px;color:var(--main);place-items:center;display:grid;position:relative}.brand-mark>svg{width:42px;height:28px}.brand-eyes{color:var(--main);letter-spacing:3px;font-size:8px;line-height:1;position:absolute;top:7px;left:16px}.brand-copy{text-align:left;font-family:Lexend Deca,sans-serif;line-height:1;display:block;position:relative}.brand-copy small{color:var(--sub);white-space:nowrap;font-size:7px;position:absolute;top:-8px;left:2px}.brand-copy strong{letter-spacing:-.06em;font-size:28px;font-weight:600}.main-nav,.account-nav{align-items:center;gap:3px;display:flex}.main-nav{justify-self:start}.account-nav{justify-self:end}.header-button{width:36px;height:36px;color:var(--sub);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;padding:0;transition:color .125s,background-color .125s;display:grid}.header-button:hover{color:var(--text);background:var(--sub-alt)}.header-button svg{stroke-width:2.2px;width:18px}.native-badge{color:var(--sub);align-items:center;gap:6px;font-size:11px;display:inline-flex}.native-badge svg{width:15px;color:var(--main)}.auth-button{min-height:32px;color:var(--bg);background:var(--main);cursor:pointer;border:0;border-radius:7px;align-items:center;gap:6px;padding:0 9px;font-size:10px;display:inline-flex}.auth-button:hover{filter:brightness(1.08)}.auth-button:disabled{opacity:.5;cursor:wait}.auth-button.signed-in{color:var(--text);background:var(--sub-alt)}.auth-button svg{width:14px}.auth-button.signed-in svg:last-child{width:12px;color:var(--sub)}.main-content{align-content:center;align-self:center;width:100%;display:grid}.config-wrap{justify-items:center;gap:52px;margin-bottom:12px;display:grid}.test-config{min-height:38px;color:var(--sub);background:var(--sub-alt);border-radius:8px;justify-content:center;align-items:center;gap:3px;padding:4px 7px;display:flex}.config-group{align-items:center;gap:2px;display:flex}.config-divider{background:var(--bg);border-radius:4px;width:3px;height:18px;margin:0 4px}.config-button{min-height:30px;color:var(--sub);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:5px 8px;font-size:12px;transition:color .125s,background-color .125s;display:inline-flex}.config-button:hover{color:var(--text)}.config-button.active{color:var(--main)}.config-button svg{stroke-width:2.5px;width:13px;height:13px}.compact-values .config-button{padding-inline:7px}.config-more{padding-inline:6px}.mobile-test-settings{display:none}.language-row,.test-language{color:var(--sub);align-items:center;gap:7px;font-size:13px;display:inline-flex}.language-row svg,.test-language svg{width:15px}.language-row span,.test-language em{color:var(--main);font-size:10px;font-style:normal}.typing-test{grid-template-rows:28px auto 52px 22px;align-content:start;width:100%;min-height:320px;display:grid;position:relative}.test-meta{min-height:28px;color:var(--main);justify-content:space-between;align-items:center;padding-inline:8px;display:flex}.test-progress{z-index:5;background:var(--sub-alt);border-radius:999px;width:calc(100% - 16px);height:2px;margin:0;position:absolute;top:28px;left:8px;overflow:hidden}.test-progress>span{background:var(--main);border-radius:inherit;transform-origin:0;width:100%;height:100%;transition:transform .25s linear;display:block}.test-language{justify-content:center;width:100%}.test-time{font-variant-numeric:tabular-nums;font-size:24px;line-height:1}.live-fixes{color:var(--sub);align-items:center;gap:6px;font-size:11px;display:inline-flex}.live-fixes svg{width:14px;color:var(--main)}.typing-surface{cursor:text;width:100%;min-height:168px;padding-block:10px;position:relative}.prompt-window{height:144px;position:relative;overflow:hidden}.prompt-mirror{color:var(--sub);letter-spacing:-.025em;-webkit-user-select:none;user-select:none;font:400 32px/48px Roboto Mono,monospace;transition:transform .25s}.zen-placeholder{color:var(--sub);letter-spacing:-.025em;pointer-events:none;font:400 32px/48px Roboto Mono,monospace;transition:opacity .125s,filter .125s;position:absolute;inset:10px 0 auto}.prompt-word{white-space:nowrap;margin-right:.6em;display:inline-block}.prompt-char{transition:color .125s;position:relative}.prompt-char.space{display:none}.prompt-char.pending{color:var(--sub)}.prompt-char.match{color:var(--text)}.prompt-char.substitute{color:var(--error)}.prompt-char.insert{color:var(--error-extra)}.prompt-char.delete{color:var(--error);opacity:.65;border-bottom:2px solid var(--error)}.prompt-caret{vertical-align:-.18em;background:var(--main);opacity:0;border-radius:2px;width:.1em;height:1.18em;margin-left:-.05em;display:inline-block}.typing-test.is-focused .prompt-caret{opacity:1;animation:1s ease-in-out infinite caret-blink}.typing-test.just-fixed .prompt-char.match{animation:.28s ease-out correction-flash}.native-typing-input{z-index:3;color:#0000;caret-color:#0000;-webkit-text-fill-color:transparent;resize:none;opacity:.015;letter-spacing:-.025em;background:0 0;border:0;border-radius:0;outline:0;width:100%;height:100%;margin:0;padding:10px 0;font:400 32px/48px Roboto Mono,monospace;position:absolute;inset:0;overflow:hidden}.focus-message{z-index:4;color:var(--text);pointer-events:none;justify-content:center;align-items:center;gap:10px;font-size:15px;display:flex;position:absolute;inset:0}.focus-message svg{width:17px}.typing-test:not(.is-focused) .prompt-mirror,.typing-test:not(.is-focused) .zen-placeholder{opacity:.25;filter:blur(4px)}.typing-test.is-focused .focus-message{display:none}.restart-test{width:52px;height:52px;color:var(--sub);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-self:center;place-items:center;padding:0;transition:color .125s,background-color .125s;display:grid}.restart-test:hover{color:var(--text);background:var(--sub-alt)}.restart-test svg{width:18px}.mobile-autocorrect-hint{color:var(--sub);justify-content:center;align-items:center;gap:6px;margin:0;font-size:10px;display:none}.mobile-autocorrect-hint svg{width:12px;color:var(--main)}.site-footer{min-height:32px;color:var(--sub);justify-content:space-between;align-items:center;gap:20px;font-size:11px;display:flex}.footer-links,.footer-meta{align-items:center;gap:14px;display:flex}.site-footer button,.site-footer a,.site-footer span{color:inherit;font-size:inherit;background:0 0;border:0;align-items:center;gap:5px;text-decoration:none;display:inline-flex}.site-footer button,.site-footer a{cursor:pointer;padding:4px 0;transition:color .125s}.site-footer button:hover,.site-footer a:hover{color:var(--text)}.site-footer svg{width:13px;height:13px}.chrome-fade{transition:opacity .125s}.test-running .chrome-fade{opacity:0;pointer-events:none}.interrupted-state{text-align:center;max-width:650px;margin:auto}.interrupted-state>span{color:var(--main);font-size:12px}.interrupted-state h1{letter-spacing:-.04em;margin:12px 0;font:600 clamp(38px,7vw,64px)/1.05 Lexend Deca,sans-serif}.interrupted-state p{color:var(--sub);line-height:1.6}.interrupted-state button{min-height:48px;color:var(--bg);background:var(--main);cursor:pointer;border:0;border-radius:8px;align-items:center;gap:9px;margin-top:18px;padding:0 20px;font-weight:600;display:inline-flex}.interrupted-state svg{width:17px}.results-page{width:100%;padding-top:12px}.result-primary{grid-template-columns:minmax(190px,.7fr) minmax(440px,2fr);align-items:stretch;gap:48px;display:grid}.hero-stats{align-content:center;gap:24px;display:grid}.hero-stat{display:grid}.hero-stat span{color:var(--sub);font-size:28px;line-height:1}.hero-stat strong{color:var(--main);letter-spacing:-.06em;font-size:64px;font-weight:400;line-height:.95}.hero-stats>p{color:var(--sub);margin:-8px 0 0;font-size:10px}.result-chart-wrap{align-content:center;min-width:0;display:grid}.result-chart{width:100%;height:250px;overflow:visible}.chart-grid{fill:none;stroke:#6466693d;stroke-width:1px}.chart-wpm,.chart-raw{fill:none;vector-effect:non-scaling-stroke}.chart-wpm{stroke:var(--main);stroke-width:3px}.chart-raw{stroke:var(--sub);stroke-width:2px;stroke-dasharray:7 7}.chart-error{fill:var(--error)}.chart-legend{color:var(--sub);justify-content:flex-end;gap:14px;font-size:9px;display:flex}.chart-legend span:before{content:"";vertical-align:middle;background:currentColor;width:14px;height:2px;margin-right:5px;display:inline-block}.chart-legend .wpm{color:var(--main)}.chart-legend .errors{color:var(--error)}.result-secondary{grid-template-columns:1.25fr repeat(6,1fr);gap:24px;margin-top:42px;display:grid}.result-secondary>div{flex-direction:column;align-items:flex-start;min-width:0;display:flex}.result-secondary span{color:var(--sub);font-size:13px}.result-secondary strong{color:var(--main);overflow-wrap:anywhere;font-size:26px;font-weight:400;line-height:1.25}.result-secondary small{color:var(--sub);font-size:8px;line-height:1.35}.result-secondary>div:first-child strong{color:var(--text);font-size:14px}.character-count i{color:var(--text);font-style:normal}.fix-result strong{align-items:center;gap:6px;display:inline-flex}.fix-result svg{width:19px}.result-actions{grid-template-columns:repeat(4,1fr);gap:8px;width:min(100%,480px);margin:48px auto 0;display:grid}.result-actions button{min-height:48px;color:var(--sub);background:var(--sub-alt);cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;transition:color .125s,background-color .125s;display:flex}.result-actions button:hover{color:var(--text)}.result-actions .next-test{color:var(--bg);background:var(--main);grid-column:1/-1;font-weight:600}.result-actions svg{width:18px}.result-note{color:var(--sub);text-align:center;margin:20px auto 0;font-size:10px}.progress-page{width:100%;padding:16px 0 28px}.progress-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:42px;display:flex}.progress-heading>div>span{color:var(--main);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:7px;font-size:10px;display:flex}.progress-heading>div>span svg{width:14px}.progress-heading h1{letter-spacing:-.05em;margin:7px 0 8px;font:600 clamp(34px,5vw,54px)/1.08 Lexend Deca,sans-serif}.progress-heading p{color:var(--sub);margin:0;font-size:11px}.cloud-status{color:var(--sub);flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;font-size:9px;display:flex}.cloud-status-copy{align-items:center;gap:6px;display:inline-flex}.cloud-dot{background:var(--main);border-radius:50%;width:7px;height:7px;display:inline-block}.cloud-dot.syncing{animation:1s ease-in-out infinite cloud-pulse}.cloud-dot.error{background:var(--error)}.cloud-dot.local{background:var(--sub)}.cloud-status button{color:var(--main);font-size:inherit;cursor:pointer;background:0 0;border:0;padding:3px 0}.progress-heading>button,.progress-empty button{min-height:42px;color:var(--bg);background:var(--main);cursor:pointer;border:0;border-radius:8px;align-items:center;gap:8px;padding:0 16px;font-weight:600;display:flex}.progress-heading>button svg{width:16px}.storage-warning{color:var(--error);background:var(--sub-alt);border-radius:8px;margin-bottom:20px;padding:12px;font-size:10px;line-height:1.5}.progress-empty{text-align:center;place-content:center;justify-items:center;min-height:420px;display:grid}.progress-empty>svg{width:34px;height:34px;color:var(--main)}.progress-empty h2{letter-spacing:-.04em;margin:18px 0 8px;font:600 28px/1.1 Lexend Deca,sans-serif}.progress-empty p{max-width:520px;color:var(--sub);margin:0 0 24px;font-size:11px;line-height:1.7}.progress-filter-row{justify-content:space-between;align-items:end;gap:16px;margin-bottom:28px;display:flex}.progress-filter-selects{align-items:end;gap:10px;display:flex}.progress-filter-row label{color:var(--sub);gap:6px;font-size:9px;display:grid}.progress-filter-row select{min-width:190px;min-height:38px;color:var(--text);background:var(--sub-alt);border:0;border-radius:8px;padding:0 34px 0 12px;font-size:11px}.progress-filter-selects label:first-child select{min-width:250px}.metric-toggle{background:var(--sub-alt);border-radius:8px;padding:3px;display:flex}.metric-toggle button{min-height:32px;color:var(--sub);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0 12px;font-size:10px}.metric-toggle button.active{color:var(--bg);background:var(--main)}.progress-hero{grid-template-columns:minmax(230px,.8fr) minmax(450px,2fr);align-items:stretch;gap:48px;display:grid}.progress-hero-values{grid-template-columns:repeat(2,1fr);align-content:center;gap:24px;display:grid}.progress-hero-values>div{display:grid}.progress-hero-values span{color:var(--sub);font-size:10px}.progress-hero-values strong{color:var(--main);letter-spacing:-.06em;font-size:46px;font-weight:400;line-height:1}.progress-hero-values small{color:var(--sub);font-size:8px}.progress-chart-wrap{align-content:center;min-width:0;display:grid}.progress-chart{width:100%;height:230px;overflow:visible}.progress-series,.progress-average{fill:none;vector-effect:non-scaling-stroke}.progress-series{stroke:var(--main);stroke-width:3px}.progress-average{stroke:var(--sub);stroke-width:2px;stroke-dasharray:7 7}.progress-dot{fill:var(--main);vector-effect:non-scaling-stroke}.chart-legend .average{color:var(--sub)}.progress-chart-empty{min-height:230px;color:var(--sub);text-align:center;background:linear-gradient(#0000 33%,#64666924 33% calc(33% + 1px),#0000 calc(33% + 1px) 66%,#64666924 66% calc(66% + 1px),#0000 calc(66% + 1px));place-content:center;justify-items:center;display:grid}.progress-chart-empty span{color:var(--main);font-size:32px}.progress-chart-empty p{margin:4px 0;font-size:9px}.progress-stats{border-block:1px solid var(--sub-alt);grid-template-columns:repeat(4,1fr);gap:24px;margin-top:42px;padding:24px 0;display:grid}.progress-stats>div{grid-template-rows:auto auto auto;grid-template-columns:22px 1fr;column-gap:8px;display:grid}.progress-stats svg{width:17px;color:var(--sub);grid-row:1/4}.progress-stats span{color:var(--sub);font-size:9px}.progress-stats strong{color:var(--text);font-size:22px;font-weight:400}.progress-stats small{color:var(--sub);font-size:8px}.device-comparison{border-bottom:1px solid var(--sub-alt);padding:28px 0}.device-comparison-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.device-card{background:var(--sub-alt);border-radius:8px;grid-template-columns:1.4fr 1fr 1fr;align-items:end;gap:14px;padding:16px;display:grid}.device-card-title{color:var(--main);grid-column:1/-1;align-items:center;gap:7px;font-size:11px;display:flex}.device-card-title svg{width:15px}.device-card>div:not(.device-card-title){gap:3px;display:grid}.device-card>div:not(.device-card-title) strong{color:var(--text);font-size:22px;font-weight:400}.device-card>div:not(.device-card-title) span,.device-card>small{color:var(--sub);font-size:8px}.device-card>small{grid-column:1/-1}.activity-section{border-bottom:1px solid var(--sub-alt);padding:28px 0}.section-title{justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;display:flex}.section-title>div{color:var(--text);align-items:center;gap:7px;font-size:12px;display:flex}.section-title svg{width:15px;color:var(--main)}.section-title small{color:var(--sub);font-size:8px}.activity-strip{grid-template-columns:repeat(14,1fr);gap:7px;display:grid}.activity-strip>div{justify-items:center;gap:5px;display:grid}.activity-strip span{aspect-ratio:1.4;background:var(--main);border-radius:4px;width:100%}.activity-strip small{color:var(--sub);font-size:7px}.progress-columns{grid-template-columns:1fr 1.15fr;gap:44px;padding-top:32px;display:grid}.pb-row,.recent-row{border-top:1px solid var(--sub-alt);align-items:center;gap:12px;min-height:60px;padding:11px 0;display:grid}.pb-row{grid-template-columns:1fr 60px 60px}.recent-row{grid-template-columns:54px 54px 1fr}.pb-row>div,.recent-row>div{min-width:0;display:grid}.pb-row strong,.recent-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:400;overflow:hidden}.pb-row>div:not(:first-child) strong,.recent-row>div:not(.recent-description) strong{color:var(--main);font-size:18px}.pb-row span,.pb-row small,.recent-row span{color:var(--sub);text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.section-empty{color:var(--sub);border-top:1px solid var(--sub-alt);padding:20px 0;font-size:10px;line-height:1.6}.show-more{width:100%;min-height:38px;color:var(--sub);background:var(--sub-alt);cursor:pointer;border:0;border-radius:8px;margin-top:8px;font-size:9px}.progress-danger{border-top:1px solid var(--sub-alt);gap:18px;margin-top:38px;padding-top:18px;display:flex}.progress-danger button{color:var(--sub);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:4px 0;font-size:8px;display:flex}.progress-danger button:hover{color:var(--error)}.progress-danger svg{width:12px}.progress-danger .danger-cancel{color:var(--main)}.progress-transfer{border-top:1px solid var(--sub-alt);margin-top:38px;padding:24px 0 28px}.progress-transfer .section-title{margin-bottom:8px}.progress-transfer p{color:var(--sub);margin:0 0 14px;font-size:10px;line-height:1.6}.transfer-actions{gap:8px;display:flex}.transfer-actions button,.import-button{min-height:38px;color:var(--text);background:var(--sub-alt);cursor:pointer;border:0;border-radius:8px;align-items:center;gap:7px;padding:0 12px;font-size:10px;display:inline-flex}.transfer-actions button:hover,.import-button:hover{color:var(--main)}.transfer-actions svg{width:14px}.import-button{position:relative;overflow:hidden}.import-button input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.modal-backdrop{z-index:50;background:#00000080;place-items:center;padding:32px;animation:.125s ease-out backdrop-in;display:grid;position:fixed;inset:0}.modal{width:min(100%,448px);max-height:calc(100dvh - 64px);color:var(--text);background:var(--bg);border:4px solid var(--sub-alt);border-radius:16px;padding:20px;animation:.125s ease-out modal-in;overflow:auto;box-shadow:0 20px 70px #00000059}.modal-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px;display:flex}.modal-header span{color:var(--main);text-transform:uppercase;margin-bottom:5px;font-size:9px;display:block}.modal-header h2{letter-spacing:-.04em;margin:0;font:600 24px/1.1 Lexend Deca,sans-serif}.modal-close{width:44px;height:44px;color:var(--sub);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;margin:-10px -10px 0 0;padding:0;display:grid}.modal-close:hover{color:var(--text);background:var(--sub-alt)}.modal-close svg{width:20px}.settings-section{gap:8px;margin-bottom:17px;display:grid}.settings-section h3{color:var(--sub);margin:0;font-size:10px;font-weight:400}.settings-grid{gap:7px;display:grid}.settings-grid.two{grid-template-columns:repeat(2,1fr)}.settings-grid.three{grid-template-columns:repeat(3,1fr)}.settings-grid.mode-grid{grid-template-columns:repeat(5,1fr)}.settings-grid.values{grid-template-columns:repeat(4,1fr)}.settings-grid .config-button{background:var(--sub-alt);min-height:42px}.settings-grid .config-button.active{color:var(--bg);background:var(--main)}.autocorrect-callout{color:var(--sub);background:var(--sub-alt);border-radius:8px;margin-top:22px;padding:14px;font-size:11px;line-height:1.5}.autocorrect-callout strong{color:var(--main)}.autocorrect-callout p{margin:4px 0 0}.custom-amount,.custom-text-field{color:var(--sub);gap:8px;font-size:10px;display:grid}.custom-amount{grid-template-columns:1fr 104px;align-items:center;margin-top:8px}.custom-amount input,.custom-text-field textarea{width:100%;color:var(--text);background:var(--sub-alt);border:0;border-radius:8px;outline:0}.custom-amount input{text-align:right;min-height:42px;padding:0 12px}.custom-text-field textarea{resize:vertical;min-height:136px;padding:12px;line-height:1.55}.custom-amount input:focus,.custom-text-field textarea:focus{box-shadow:inset 0 0 0 2px var(--main)}.custom-text-field small{color:var(--sub);justify-self:end;font-size:8px}.mode-explainer{color:var(--sub);background:var(--sub-alt);border-radius:8px;padding:14px;font-size:11px;line-height:1.5}.mode-explainer strong{color:var(--main)}.mode-explainer p{margin:4px 0 0}.settings-actions{background:var(--bg);grid-template-columns:1fr 2fr;gap:8px;margin-top:12px;padding-top:8px;display:grid;position:sticky;bottom:0}.modal-done,.modal-cancel{cursor:pointer;border:0;border-radius:8px;min-height:44px;font-weight:600}.modal-done{color:var(--bg);background:var(--main)}.modal-cancel{color:var(--sub);background:var(--sub-alt)}.modal-done:disabled{opacity:.35;cursor:not-allowed}.history-list{max-height:50dvh;overflow:auto}.history-run{border-top:1px solid var(--sub-alt);grid-template-columns:repeat(4,1fr);gap:12px;padding:14px 0;display:grid}.history-run>div{gap:4px;min-width:0;display:grid}.history-run strong{text-overflow:ellipsis;font-size:16px;font-weight:400;overflow:hidden}.history-run span{color:var(--sub);font-size:9px}.history-empty{min-height:170px;color:var(--sub);text-align:center;place-content:center;justify-items:center;display:grid}.history-empty>span{color:var(--main);font-size:30px}.history-empty p{max-width:260px;line-height:1.6}.clear-history{min-height:40px;color:var(--sub);cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;margin-top:12px;padding:0;font-size:10px;display:flex}.clear-history svg{width:14px}.about-modal>p{color:var(--sub);font-size:12px;line-height:1.7}.about-feature{border-top:1px solid var(--sub-alt);grid-template-columns:24px 1fr;gap:10px;padding:14px 0;display:grid}.about-feature>svg{width:19px;color:var(--main)}.about-feature strong{font-size:12px}.about-feature p{color:var(--sub);margin:4px 0 0;font-size:10px;line-height:1.6}.about-credit{border-top:1px solid var(--sub-alt);padding-top:12px;font-size:9px!important}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}@keyframes caret-blink{0%,44%{opacity:1}55%,94%{opacity:.05}}@keyframes correction-flash{0%{color:var(--main);text-underline-offset:6px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-decoration-thickness:2px}}@keyframes backdrop-in{0%{opacity:0}}@keyframes modal-in{0%{opacity:0;transform:translateY(16px)}}@keyframes cloud-pulse{50%{opacity:.35}}@media (width<=848px){.result-primary{grid-template-columns:1fr;gap:20px}.hero-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.hero-stats>p{grid-column:1/-1}.result-chart{height:220px}.result-secondary{grid-template-columns:repeat(3,1fr);row-gap:26px}.progress-hero{grid-template-columns:1fr;gap:20px}.progress-hero-values{grid-template-columns:repeat(4,1fr)}.progress-columns{grid-template-columns:1fr}}@media (width<=720px){.app-grid{min-height:var(--visual-height);padding:32px max(16px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));gap:28px}.has-promo .app-grid{min-height:calc(var(--visual-height) - 36px)}.site-header{grid-template-columns:auto 1fr auto}.native-badge span,.test-config{display:none}.mobile-test-settings{min-height:40px;color:var(--sub);background:var(--sub-alt);cursor:pointer;border:0;border-radius:8px;align-items:center;gap:8px;padding:8px 16px;font-size:14px;display:inline-flex}.mobile-test-settings svg{width:16px}.config-wrap{gap:18px;margin-bottom:10px}.language-row{font-size:13px}.typing-test{min-height:292px}.typing-surface{min-height:168px}.prompt-window{height:144px}.prompt-mirror{font-size:32px;line-height:48px}.mobile-autocorrect-hint{display:flex}.footer-links{grid-template-columns:repeat(2,auto);gap:10px 16px;display:grid}.footer-meta{flex-direction:column;align-self:flex-start;align-items:flex-end;gap:10px}.result-secondary{grid-template-columns:repeat(2,1fr)}.progress-heading{align-items:flex-start;margin-bottom:28px}.progress-heading h1{font-size:38px}.progress-heading>button{padding-inline:12px;font-size:10px}.progress-stats,.device-card{grid-template-columns:repeat(2,1fr)}.progress-chart{height:190px}}@media (width<=640px){.brand-copy{display:none}.site-header{gap:5px}.main-nav{gap:0}.header-button{width:34px}.result-primary{gap:6px}.hero-stat span{font-size:24px}.hero-stat strong{font-size:58px}}@media (width<=425px){.promo-bar{text-align:left;flex-direction:column;align-items:flex-start;gap:2px;min-height:54px;padding:8px 45px 8px 14px}.app-grid{min-height:var(--visual-height);padding-top:32px}.has-promo .app-grid{min-height:calc(var(--visual-height) - 54px)}.account-nav{display:flex}.auth-button{justify-content:center;width:34px;padding-inline:0}.auth-button span{display:none}.typing-test{grid-template-rows:28px auto 48px 20px}.test-meta{padding-inline:2px}.focus-message{font-size:13px}.result-secondary{grid-template-columns:1fr;gap:20px}.result-secondary>div{border-bottom:1px solid var(--sub-alt);padding-bottom:12px}.result-secondary strong{font-size:30px}.hero-stats{grid-template-columns:1fr}.hero-stats>p{grid-column:auto}.result-actions{grid-template-columns:repeat(2,1fr)}.result-actions .next-test{grid-column:1/-1}.settings-grid.two,.settings-grid.three{grid-template-columns:1fr}.settings-grid.mode-grid{grid-template-columns:repeat(2,1fr)}.settings-grid .config-button{min-height:44px}.result-primary{gap:16px}.result-chart{height:200px}.modal-backdrop{padding:32px}.modal{max-height:calc(100dvh - 64px);padding:16px}.settings-grid.values{grid-template-columns:repeat(2,1fr)}.custom-amount{grid-template-columns:1fr 92px}.history-run{grid-template-columns:repeat(2,1fr)}.progress-page{padding-top:0}.progress-heading{grid-template-columns:1fr auto;align-items:end;display:grid}.progress-heading p{grid-column:1/-1;max-width:250px;line-height:1.5}.progress-heading>button span{display:none}.progress-filter-row,.progress-filter-selects{flex-direction:column;align-items:stretch}.progress-filter-row select{width:100%;min-width:0}.progress-filter-selects label:first-child select{min-width:0}.metric-toggle{width:100%}.metric-toggle button{flex:1}.progress-hero-values{grid-template-columns:repeat(2,1fr)}.progress-hero-values strong{font-size:36px}.progress-chart{height:160px}.progress-chart-empty{min-height:160px}.progress-stats{gap:20px 12px}.progress-stats strong{font-size:18px}.activity-strip{gap:4px}.activity-strip span{aspect-ratio:1;border-radius:3px}.progress-columns{gap:32px}.progress-transfer{margin-top:28px}.transfer-actions{flex-direction:column}.transfer-actions button,.import-button{justify-content:center}.progress-danger{flex-direction:column;gap:8px}}@media (width<=330px){.app-grid{padding-inline:12px}.header-button{width:31px}.prompt-mirror,.native-typing-input{font-size:28px;line-height:44px}.prompt-window{height:132px}.typing-surface{min-height:150px}.site-footer{font-size:9px}.live-fixes{display:none}}.keyboard-open .promo-bar,.keyboard-open .site-header,.keyboard-open .config-wrap,.keyboard-open .site-footer{display:none}.keyboard-open .app-grid{z-index:10;top:var(--visual-offset-top);width:min(100%,1064px);height:var(--visual-height);min-height:0;padding-top:max(10px, env(safe-area-inset-top));grid-template-rows:1fr;gap:0;padding-bottom:6px;position:fixed;left:50%;transform:translate(-50%)}.keyboard-open .main-content{padding-bottom:max(10px, env(safe-area-inset-bottom));align-self:end}.keyboard-open .typing-test{grid-template-rows:28px auto;min-height:0}.keyboard-open .restart-test,.keyboard-open .mobile-autocorrect-hint{display:none}.keyboard-open .modal-backdrop{top:var(--visual-offset-top);height:var(--visual-height);padding-block:12px;bottom:auto}.keyboard-open .settings-modal{max-height:calc(var(--visual-height) - 24px)}@media (height<=620px){.app-grid{gap:12px;padding-top:12px;padding-bottom:8px}.config-wrap{gap:10px;margin:0}.typing-test{min-height:230px}.prompt-window{height:96px}.typing-surface{min-height:116px}.restart-test{height:40px}.site-footer{display:none}}@media (height<=620px) and (width<=330px){.prompt-window{height:88px}.typing-surface{min-height:108px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
