@font-face{font-family:Atkinson Hyperlegible Next;font-style:normal;font-display:swap;font-weight:500;src:url(./atkinson-hyperlegible-next-latin-500-normal-gHP6TDRs.woff2)format("woff2"),url(./atkinson-hyperlegible-next-latin-500-normal-B0CYqHl3.woff)format("woff")}@font-face{font-family:Atkinson Hyperlegible Next;font-style:normal;font-display:swap;font-weight:800;src:url(./atkinson-hyperlegible-next-latin-800-normal-D32lleIF.woff2)format("woff2"),url(./atkinson-hyperlegible-next-latin-800-normal-DtRtCSx4.woff)format("woff")}@font-face{font-family:Lilita One;font-style:normal;font-display:swap;font-weight:400;src:url(./lilita-one-latin-400-normal-87r-Z-Re.woff2)format("woff2"),url(./lilita-one-latin-400-normal-DXkechA3.woff)format("woff")}:root,.tx-theme{--tx-font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--tx-text-font:var(--tx-font);--tx-display-font:var(--tx-font);--tx-size:28px;--tx-scale:1;--tx-line:1.55;--tx-bg:#0f1424;--tx-panel:#101628eb;--tx-panel-2:#ffffff0f;--tx-border:#ffffff1f;--tx-fg:#eef2fb;--tx-muted:#9aa4ba;--tx-pending:#8790a6;--tx-correct:#f4f7ff;--tx-corrected:#f4f7ff;--tx-error:#ff5d6c;--tx-error-bg:#ff5d6c33;--tx-word-bg:#ffffff0f;--tx-caret:#ffd23f;--tx-accent:#ffd23f;--tx-accent-ink:#231a00;--tx-good:#3ddc84;--tx-chart-1:#ffd23f;--tx-chart-2:#7aa7ff;--tx-grid:#ffffff17;--tx-radius:18px;--tx-shadow:0 18px 50px #00000073}[data-tx-palette=colorblind]{--tx-error:#ff9f1c;--tx-error-bg:#ff9f1c38;--tx-corrected:#9cc9ff;--tx-good:#4ea8ff}[data-tx-palette=contrast]{--tx-pending:#c8cfdd;--tx-correct:#fff;--tx-error:#ffe14d;--tx-error-bg:#ffe14d40;--tx-panel:#000000f5;--tx-border:#ffffff80}.tx-results[hidden],.tx-focus-overlay[hidden],.tx-overlay[hidden],.tx-text[hidden],.tx-kb[hidden]{display:none!important}.tx-hidden-input::selection{background:0 0}.tx-text{font-family:var(--tx-text-font);font-size:calc(var(--tx-size) * var(--tx-scale));line-height:var(--tx-line);height:calc(var(--tx-lines,3) * var(--tx-line) * 1em);color:var(--tx-pending);text-align:left;overflow-wrap:normal;word-break:normal;-webkit-user-select:none;user-select:none;cursor:text;font-variant-ligatures:none;font-kerning:none;position:relative;overflow:hidden}.tx-text-inner{will-change:transform;transition:transform .22s cubic-bezier(.2,.7,.2,1);position:relative}.tx-word{white-space:nowrap;border-radius:.18em;transition:background-color .15s}.tx-word.is-active{background:var(--tx-word-bg);box-shadow:0 0 0 .08em var(--tx-word-bg)}.tx-ch{transition:color 80ms;position:relative}.tx-ch.is-correct{color:var(--tx-correct)}.tx-ch.is-corrected{color:var(--tx-corrected)}.tx-ch.is-error{color:var(--tx-error);background:var(--tx-error-bg);text-underline-offset:.16em;border-radius:.12em;text-decoration:underline;text-decoration-thickness:.09em}.tx-ch.tx-space.is-error{box-shadow:inset 0 -.1em 0 var(--tx-error)}.tx-ch.is-error[data-typed]:after{content:attr(data-typed);color:var(--tx-error);pointer-events:none;font-size:.5em;font-weight:700;line-height:1;position:absolute;top:-.62em;left:50%;transform:translate(-50%)}.tx-caret{width:.09em;min-width:2px;height:1.2em;margin-top:calc((var(--tx-line) - 1.2) * .5em);background:var(--tx-caret);box-shadow:0 0 .35em color-mix(in srgb, var(--tx-caret) 70%, transparent);pointer-events:none;z-index:2;border-radius:.06em;transition:transform 90ms cubic-bezier(.25,.8,.3,1),width 90ms;animation:1.05s step-end infinite tx-blink;position:absolute;top:0;left:0}.tx-text.is-typing .tx-caret{animation:none}.tx-text.is-finished .tx-caret{opacity:0}[data-tx-caret=block] .tx-caret{opacity:.42;border-radius:.1em}[data-tx-caret=underline] .tx-caret{height:.12em;margin-top:calc((var(--tx-line) - 1.2) * .5em + 1.1em)}.tx-no-smooth-caret .tx-caret{transition:none}.tx-caret.is-bump{animation:.18s ease-out tx-bump}@keyframes tx-blink{50%{opacity:0}}@keyframes tx-bump{30%{translate:.12em}60%{translate:-.1em}}.tx-overlay{z-index:30;pointer-events:none;place-items:center;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.tx-count{font-family:var(--tx-display-font);color:var(--tx-fg);text-shadow:0 .06em #00000059,0 0 .4em #00000059;font-size:clamp(64px,18vmin,180px);font-weight:900;animation:.75s cubic-bezier(.2,1.4,.4,1) both tx-pop}.tx-count.is-go{color:var(--tx-accent)}@keyframes tx-pop{0%{opacity:0;transform:scale(2.2)}25%{opacity:1}45%{transform:scale(1)}85%{opacity:1}to{opacity:0;transform:scale(.85)}}.tx-focus-overlay{z-index:25;-webkit-backdrop-filter:blur(3px);cursor:pointer;color:var(--tx-fg);font:700 clamp(16px, 2.6vmin, 22px) / 1.3 var(--tx-font);text-align:center;background:#0508128c;border:0;place-items:center;padding:20px;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.tx-focus-overlay span{background:var(--tx-panel);border:1px solid var(--tx-border);box-shadow:var(--tx-shadow);border-radius:999px;padding:.75em 1.2em}.tx-toast{opacity:0;z-index:40;background:var(--tx-panel);border:1px solid var(--tx-border);color:var(--tx-fg);font:700 15px/1.2 var(--tx-font);pointer-events:none;white-space:nowrap;border-radius:999px;padding:.55em 1em;transition:opacity .2s,transform .2s;position:absolute;bottom:18px;left:50%;transform:translate(-50%,10px)}.tx-toast.is-on{opacity:1;transform:translate(-50%)}.tx-btn{-webkit-appearance:none;appearance:none;border:1px solid var(--tx-border);background:var(--tx-panel-2);color:var(--tx-fg);font:800 16px/1 var(--tx-font);cursor:pointer;border-radius:999px;align-items:center;gap:.5em;padding:.8em 1.2em;transition:transform .12s,background-color .12s,box-shadow .12s;display:inline-flex}.tx-btn:hover{background:#ffffff1f;transform:translateY(-1px)}.tx-btn:focus-visible{outline:3px solid var(--tx-accent);outline-offset:2px}.tx-btn.is-primary{background:var(--tx-accent);color:var(--tx-accent-ink);box-shadow:0 4px 0 color-mix(in srgb, var(--tx-accent) 55%, black);border-color:#0000}.tx-btn.is-primary:hover{background:color-mix(in srgb, var(--tx-accent) 88%, white)}.tx-kbd{font:700 .72em/1 var(--tx-font);opacity:.7;border:1px solid;border-radius:.35em;padding:.25em .45em;display:inline-block}.tx-results{z-index:35;background:#04071080;place-items:center;padding:clamp(8px,2.5vmin,24px);animation:.3s both tx-fade;display:grid;position:absolute;top:0;bottom:0;left:0;right:0;overflow:auto}.tx-results-card{border-radius:var(--tx-radius);background:var(--tx-panel);border:1px solid var(--tx-border);width:min(940px,100%);max-height:100%;box-shadow:var(--tx-shadow);color:var(--tx-fg);font-family:var(--tx-font);grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:clamp(10px,2.4vmin,22px);padding:clamp(12px,2.6vmin,24px);animation:.4s cubic-bezier(.2,.9,.3,1.1) both tx-rise;display:grid;position:relative;overflow:auto}.tx-results-head{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:12px;display:flex}.tx-results-title{font-family:var(--tx-display-font);margin:0;font-size:clamp(22px,4vmin,34px);line-height:1}.tx-results-sub{color:var(--tx-muted);font-size:14px;font-weight:700}.tx-best{background:var(--tx-accent);color:var(--tx-accent-ink);font:900 14px/1 var(--tx-font);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;margin-left:auto;padding:.4em .85em;animation:1.2s ease-in-out 3 tx-pulse}.tx-hero{align-items:baseline;gap:8px;display:flex}.tx-hero-num{font-family:var(--tx-display-font);font-variant-numeric:tabular-nums;font-size:clamp(54px,13vmin,96px);font-weight:900;line-height:.9}.tx-hero-unit{color:var(--tx-muted);font-size:clamp(16px,3vmin,22px);font-weight:900}.tx-hero-delta{color:var(--tx-good);font-size:14px;font-weight:800}.tx-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.tx-tile{background:var(--tx-panel-2);border-radius:12px;padding:8px 10px}.tx-tile b{font-variant-numeric:tabular-nums;font-size:clamp(18px,3.4vmin,24px);display:block}.tx-tile span{text-overflow:ellipsis;white-space:nowrap;color:var(--tx-muted);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:700;display:block;overflow:hidden}.tx-extra{margin-top:10px}.tx-side{flex-direction:column;gap:10px;min-width:0;display:flex}.tx-chart{position:relative}.tx-chart svg{width:100%;height:auto;display:block;overflow:visible}.tx-chart-legend{color:var(--tx-muted);gap:14px;margin-bottom:4px;font-size:12px;font-weight:700;display:flex}.tx-chart-legend i{vertical-align:middle;border-radius:2px;width:14px;height:2px;margin-right:5px;display:inline-block}.tx-chart-tip{pointer-events:none;background:var(--tx-bg);border:1px solid var(--tx-border);white-space:nowrap;opacity:0;z-index:2;border-radius:8px;padding:6px 8px;font-size:12px;line-height:1.35;transition:opacity .1s;position:absolute;top:0}.tx-chart-tip b{font-size:13px}.tx-chart-tip i{vertical-align:middle;width:10px;height:2px;margin-right:5px;display:inline-block}.tx-keys-row{color:var(--tx-muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;font-weight:700;display:flex}.tx-keychip{background:var(--tx-panel-2);color:var(--tx-fg);border-radius:8px;align-items:baseline;gap:4px;padding:3px 8px;font-weight:800;display:inline-flex}.tx-keychip small{color:var(--tx-muted);font-weight:700}.tx-actions{background:linear-gradient(to bottom, transparent, var(--tx-panel) 10px);z-index:1;flex-wrap:wrap;grid-column:1/-1;justify-content:flex-end;gap:10px;margin:0 calc(-1*clamp(12px,2.6vmin,24px)) calc(-1*clamp(12px,2.6vmin,24px));padding:8px clamp(12px,2.6vmin,24px) clamp(12px,2.6vmin,24px);display:flex;position:sticky;bottom:calc(-1*clamp(12px,2.6vmin,24px))}@media (max-aspect-ratio:1){.tx-results-card{grid-template-columns:minmax(0,1fr)}.tx-actions{justify-content:stretch}.tx-actions .tx-btn{flex:auto;justify-content:center}}@media (max-height:600px){.tx-results-card{gap:8px 14px;padding:10px 14px}.tx-actions{margin:0 -14px -10px;padding:6px 14px 10px;bottom:-10px}.tx-results-title{font-size:22px}.tx-hero-num{font-size:52px}.tx-tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:6px}.tx-tile{padding:5px 7px}.tx-tile b{font-size:16px}.tx-tile span{font-size:10px}.tx-extra{margin-top:6px}.tx-chart svg{max-height:130px}.tx-side{gap:6px}.tx-btn{padding:.62em 1em;font-size:14px}}@keyframes tx-fade{0%{opacity:0}}@keyframes tx-rise{0%{opacity:0;transform:translateY(24px)scale(.97)}}@keyframes tx-pulse{50%{transform:scale(1.08)}}.tx-kb{--k:clamp(18px, 4.4vmin, 38px);gap:calc(var(--k) * .12);padding:calc(var(--k) * .2);border-radius:calc(var(--k) * .3);font:700 calc(var(--k) * .42) / 1 var(--tx-font);color:var(--tx-fg);-webkit-user-select:none;user-select:none;background:#00000040;flex-direction:column;display:inline-flex}.tx-kb-row{gap:calc(var(--k) * .12);display:flex}.tx-key{width:var(--k);height:var(--k);border-radius:calc(var(--k) * .18);background:#ffffff14;place-items:center;transition:background-color .1s,transform .1s;display:grid;position:relative;box-shadow:inset 0 -2px #0000004d}.tx-key.is-bump:after{content:"";opacity:.6;background:currentColor;border-radius:2px;width:28%;height:2px;position:absolute;bottom:18%}.tx-key.is-next{background:var(--tx-accent);color:var(--tx-accent-ink);transform:translateY(-2px)}.tx-key.is-shift-next{background:color-mix(in srgb, var(--tx-accent) 55%, transparent);color:var(--tx-accent-ink)}.tx-key.is-space{width:calc(var(--k) * 6.2)}.tx-key.is-shift{width:calc(var(--k) * 1.9);font-size:.8em}.tx-kb[data-mode=fingers] .tx-key[data-f="0"],.tx-kb[data-mode=fingers] .tx-key[data-f="8"]{box-shadow:inset 0 -3px #c56cf0}.tx-kb[data-mode=fingers] .tx-key[data-f="1"],.tx-kb[data-mode=fingers] .tx-key[data-f="7"]{box-shadow:inset 0 -3px #4ea8ff}.tx-kb[data-mode=fingers] .tx-key[data-f="2"],.tx-kb[data-mode=fingers] .tx-key[data-f="6"]{box-shadow:inset 0 -3px #3ddc84}.tx-kb[data-mode=fingers] .tx-key[data-f="3"],.tx-kb[data-mode=fingers] .tx-key[data-f="5"]{box-shadow:inset 0 -3px #ffb020}.tx-settings{color:var(--tx-fg);font:600 15px/1.3 var(--tx-font);gap:14px;display:grid}.tx-settings h3{font:900 13px/1 var(--tx-font);letter-spacing:.08em;text-transform:uppercase;color:var(--tx-muted);margin:4px 0 0}.tx-set-row{justify-content:space-between;align-items:center;gap:12px;min-height:34px;display:flex}.tx-set-row label{flex:1}.tx-set-row select,.tx-set-row input[type=range]{font:inherit;max-width:55%}.tx-set-row select{background:var(--tx-panel-2);color:var(--tx-fg);border:1px solid var(--tx-border);border-radius:10px;padding:6px 8px}.tx-set-row select option{background:var(--tx-bg)}.tx-set-row input[type=range]{accent-color:var(--tx-accent);width:160px}.tx-switch{-webkit-appearance:none;appearance:none;cursor:pointer;background:#ffffff2e;border-radius:999px;flex:none;width:46px;height:26px;transition:background-color .15s;position:relative}.tx-switch:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .15s;position:absolute;top:3px;left:3px}.tx-switch:checked{background:var(--tx-accent)}.tx-switch:checked:after{transform:translate(20px)}.tx-switch:focus-visible{outline:3px solid var(--tx-accent);outline-offset:2px}.tx-set-row select:focus-visible{outline:3px solid var(--tx-accent);outline-offset:2px}.tx-set-row input[type=range]:focus-visible{outline:3px solid var(--tx-accent);outline-offset:2px}.tx-reduced-motion .tx-count,.tx-reduced-motion .tx-results,.tx-reduced-motion .tx-results-card,.tx-reduced-motion .tx-best,.tx-reduced-motion .tx-caret.is-bump{animation-duration:10ms!important;animation-iteration-count:1!important}.tx-reduced-motion .tx-text-inner{transition:none}@media (pointer:coarse){.tx-btn .tx-kbd{display:none}}.tt{--tt-bg:#1d1550;--tt-bg2:#120c30;--tt-fg:#fff7e8;--tt-muted:#a8a0d0;--tt-faint:#ffffff14;--tt-panel:#ffffff0f;--tt-line:#ffffff1c;--tt-sheet:#241a5c;--tt-accent:#ffc21a;--tt-accent-ink:#1d1442;--tt-accent-edge:#c98f00;--tt-accent-text:#ffc21a;--tt-glow:#ffc21a29;--tt-g1:#4cc3ff;--tt-g2:#ffc21a;--tt-g3:#ff5a3c;--tx-font:"Atkinson Hyperlegible Next", system-ui, -apple-system, "Segoe UI", sans-serif;--tx-text-font:var(--tx-font);--tx-display-font:"Lilita One", "Arial Black", system-ui, sans-serif;--tx-size:clamp(20px, 2.1vw + 10px, 34px);--tx-line:1.6;--tx-bg:var(--tt-bg2);--tx-panel:var(--tt-sheet);--tx-panel-2:#ffffff14;--tx-border:var(--tt-line);--tx-fg:var(--tt-fg);--tx-muted:var(--tt-muted);--tx-pending:#8c84ba;--tx-correct:#fff7e8;--tx-corrected:#ffe7a3;--tx-error:#ff6b57;--tx-error-bg:#ff5a3c33;--tx-word-bg:transparent;--tx-caret:#ffc21a;--tx-accent:#ffc21a;--tx-accent-ink:#1d1442;--tx-chart-1:#ffc21a;--tx-chart-2:#4cc3ff;--tx-slow:#4cc3ff;--tx-grid:#ffffff14;--tx-radius:16px;--tx-shadow:0 18px 50px #0006}.tt[data-theme=light]{--tt-bg:#fff7e8;--tt-bg2:#fcecd0;--tt-fg:#1d1442;--tt-muted:#645d8c;--tt-faint:#1d144212;--tt-panel:#1d14420d;--tt-line:#1d144221;--tt-sheet:#fffaf1;--tt-accent:#ffc21a;--tt-accent-edge:#d49a00;--tt-accent-text:#9a5b00;--tt-glow:#ffc21a40;--tt-g1:#1f8fe5;--tt-g2:#f0b000;--tt-g3:#ff5a3c;--tx-pending:#a49dc2;--tx-correct:#1d1442;--tx-corrected:#8a5a00;--tx-error:#e0402a;--tx-error-bg:#e0402a21;--tx-caret:#ff5a3c;--tx-chart-1:#e09d00;--tx-chart-2:#1f8fe5;--tx-slow:#1f8fe5;--tx-grid:#1d144217;--tx-shadow:0 18px 50px #1d14422e}.tt[data-tx-palette=colorblind]{--tx-error:#ff9f1c;--tx-error-bg:#ff9f1c38;--tx-corrected:#9cc9ff}.tt[data-theme=light][data-tx-palette=colorblind]{--tx-error:#c76a00;--tx-corrected:#1f6fc5}.tt[data-tx-palette=contrast]{--tx-pending:#cfc9ea;--tx-correct:#fff;--tx-error:#ffe14d;--tx-error-bg:#ffe14d40}.tt[data-theme=light][data-tx-palette=contrast]{--tx-pending:#5e5785;--tx-correct:#000;--tx-error:#b00020}html,body{-webkit-tap-highlight-color:transparent;background:#120c30;height:100%;margin:0;overflow:hidden}html[data-theme=light],html[data-theme=light] body{background:#fcecd0}*,:before,:after{box-sizing:border-box}.tt{color:var(--tt-fg);font:500 15px/1.4 var(--tx-font);background:radial-gradient(120% 70% at 50% -10%, var(--tt-glow), transparent 60%), linear-gradient(180deg, var(--tt-bg), var(--tt-bg2));flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.tt.tt-kb-open{top:var(--tt-vis-top,0);height:var(--tt-vis-h,100%);bottom:auto}.tt button{font-family:inherit}.tt [hidden]{display:none!important}.tt-ico{place-items:center;font-size:1.15em;line-height:0;display:inline-grid}.tt-bar{z-index:30;align-items:flex-start;gap:10px;padding:12px 14px 0;transition:opacity .35s;display:flex;position:relative}.tt-bar.is-dim{opacity:.16}.tt-bar.is-dim:hover,.tt-bar.is-dim:focus-within{opacity:1}.tt-bar-start,.tt-bar-end{flex:none;gap:4px;min-width:96px;display:flex}.tt-bar-end{justify-content:flex-end}.tt-opts{flex-direction:column;flex:1;align-items:center;gap:6px;min-width:0;display:flex}.tt-opts-row{background:var(--tt-panel);border-radius:12px;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;padding:3px;display:flex}.tt-group{flex-wrap:wrap;justify-content:center;gap:1px;display:flex}.tt-sep{background:var(--tt-line);width:1px;height:18px;margin:0 3px}.tt-chip{color:var(--tt-muted);font:800 13.5px/1 var(--tx-font);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:9px;align-items:center;gap:5px;padding:7px 10px;transition:color .15s,background-color .15s;display:inline-flex}.tt-chip:hover{color:var(--tt-fg);background:var(--tt-faint)}.tt-chip[aria-pressed=true]{color:var(--tt-accent-text)}.tt[data-theme=light] .tt-chip[aria-pressed=true]{color:var(--tt-fg);background:var(--tt-accent)}.tt-chip:disabled{opacity:.38;cursor:default;background:0 0}.tt-chip:focus-visible{outline:3px solid var(--tt-g1);outline-offset:2px}.tt-icon-btn:focus-visible{outline:3px solid var(--tt-g1);outline-offset:2px}.tt-btn:focus-visible{outline:3px solid var(--tt-g1);outline-offset:2px}.tt-tab:focus-visible{outline:3px solid var(--tt-g1);outline-offset:2px}.tt-seg button:focus-visible{outline:3px solid var(--tt-g1);outline-offset:2px}.tt-start:focus-visible{outline:3px solid var(--tt-g1);outline-offset:2px}.tt-glyph{letter-spacing:-.02em;font-weight:900}.tt-daily{background:var(--tt-panel)}.tt-daily[aria-pressed=true]{background:var(--tt-accent);color:var(--tt-accent-ink)}.tt-daily.is-done:after{content:"";background:#2ee6a8;border-radius:50%;width:7px;height:7px}.tt.is-daily .tt-opts-row{opacity:.55}.tt-daily-note{color:var(--tt-accent-text);text-align:center;margin:0;font-size:13px;font-weight:700}.tt-bar .tt-summary,.tt-bar .tt-opts-done{display:none}.tt-icon-btn{width:36px;height:36px;color:var(--tt-muted);cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;font-size:17px;transition:color .15s,background-color .15s;display:inline-grid}.tt-icon-btn:hover{color:var(--tt-fg);background:var(--tt-faint)}.tt-main{flex-direction:column;flex:1;justify-content:center;width:min(100% - 40px,980px);min-height:0;margin:0 auto;padding:6px 0 10px;display:flex;position:relative}.tt-hud{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:8px;display:flex}.tt-timer{min-width:90px}.tt-timer b{font:400 clamp(38px, 5.6vw, 66px) / .92 var(--tx-display-font);color:var(--tt-accent-text);font-variant-numeric:tabular-nums;display:block}.tt-timer span{font:800 11.5px/1 var(--tx-font);letter-spacing:.1em;text-transform:uppercase;color:var(--tt-muted);margin-top:4px;display:block}.tt-live{color:var(--tt-muted);flex-wrap:wrap;flex:1;justify-content:center;align-items:baseline;gap:4px 20px;padding-bottom:6px;transition:opacity .3s;display:flex}.tt-live b{font:400 22px/1 var(--tx-display-font);color:var(--tt-fg);font-variant-numeric:tabular-nums}.tt-live small{font:800 11.5px/1 var(--tx-font);letter-spacing:.06em;text-transform:uppercase}.tt.is-ready .tt-live{opacity:.45}.tt-streak{font:400 20px/1 var(--tx-display-font);color:#ff8a3c;align-items:center;gap:3px;display:inline-flex}.tt-streak.is-pop{animation:.5s cubic-bezier(.2,1.6,.4,1) tt-pop}.tt-gauge-box{width:clamp(112px,16vw,176px);margin-bottom:-6px}.tt-gauge{width:100%;height:auto;display:block;overflow:visible}.tt-gauge-track{stroke:var(--tt-faint)}.tt-gauge-ticks line{stroke:var(--tt-muted);stroke-width:1.4px;opacity:.45}.tt-gauge-ticks line.is-major{opacity:.9;stroke-width:2px}.tt-gauge-ticks text{font:800 10px var(--tx-font);fill:var(--tt-muted)}.tt-gauge-needle path{fill:var(--tt-fg)}.tt-gauge-needle circle{fill:var(--tt-accent);stroke:var(--tt-bg);stroke-width:3px}.tt-gauge-num{font:400 34px var(--tx-display-font);fill:var(--tt-fg)}.tt-gauge.is-hot .tt-gauge-num{fill:var(--tt-accent-text)}.tt-gauge-unit{font:800 10.5px var(--tx-font);letter-spacing:.12em;fill:var(--tt-muted)}.tt-gauge-best path{fill:var(--tt-accent)}.tt-progress{background:var(--tt-faint);border-radius:4px;height:4px;margin-bottom:16px;overflow:hidden}.tt-progress i{background:linear-gradient(90deg, var(--tt-g1), var(--tt-g2), var(--tt-g3));height:100%;transform:scaleX(var(--p,0));transform-origin:0;display:block}.tt-type-wrap{position:relative}.tt-type .tx-text{font-weight:500}.tt-fx{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0;overflow:visible}.tt-spark{background:var(--tt-accent);width:7px;height:7px;box-shadow:0 0 10px 2px var(--tt-accent);border-radius:50%;margin:-3px 0 0 -2px;animation:.6s ease-out forwards tt-spark;position:absolute}@keyframes tt-spark{0%{opacity:.95;transform:scale(.3)}to{opacity:0;transform:translateY(-20px)scale(1.25)}}.tt-source{color:var(--tt-muted);margin:10px 0 0;font-size:14px;font-style:italic}.tt-foot{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 14px;min-height:42px;margin-top:16px;display:flex}.tt-hint{color:var(--tt-muted);margin:0;font-size:14px;font-weight:700}.tt.is-ready .tt-hint{animation:2.6s ease-in-out infinite tt-breathe}@keyframes tt-breathe{50%{opacity:.55}}.tt-start{white-space:nowrap;background:var(--tt-accent);color:var(--tt-accent-ink);font:400 19px/1 var(--tx-display-font);letter-spacing:.02em;box-shadow:0 4px 0 var(--tt-accent-edge);cursor:pointer;border:0;border-radius:999px;padding:13px 22px;animation:2.4s ease-in-out infinite tt-nudge}@keyframes tt-nudge{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.tt-close{z-index:40;background:var(--tt-panel);color:var(--tt-fg);position:absolute;top:10px;left:10px}.tt.is-immersive .tt-bar{padding-left:56px}.tx-focus-overlay{border-radius:14px}.tt-res{overscroll-behavior:contain;flex-direction:column;flex:1;gap:9px;width:min(100%,1000px);min-height:0;margin:0 auto;padding:8px 22px 14px;animation:.4s cubic-bezier(.2,.8,.2,1) tt-rise;display:flex;overflow-y:auto}.tt-res-top{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 22px;display:grid}.tt-res-head{align-items:center;gap:14px;min-width:0;display:flex}.tt-res-badge{flex:none;place-items:center;width:104px;height:104px;display:grid;position:relative}.tt-res-badge:before{content:"";background:radial-gradient(circle, var(--tt-glow), transparent 70%);border-radius:50%;position:absolute;top:6px;bottom:6px;left:6px;right:6px}.tt-res-img{width:96px;height:96px;animation:.7s cubic-bezier(.2,1.5,.4,1) .15s both tt-bounce;position:relative}@keyframes tt-bounce{0%{opacity:0;transform:scale(.3)rotate(-12deg)}}.tt-res-main{min-width:0}.tt-res-wpm{align-items:baseline;gap:8px;display:flex}.tt-res-num{font:400 clamp(52px, 7vw, 78px) / .85 var(--tx-display-font);color:var(--tt-accent-text);font-variant-numeric:tabular-nums}.tt-res-wpm span{font:400 24px/1 var(--tx-display-font)}.tt-delta{font:400 18px/1 var(--tx-display-font);color:#2ee6a8;font-style:normal}.tt-res-rank{font:400 clamp(19px, 2.4vw, 25px) / 1.1 var(--tx-display-font);margin:4px 0 0}.tt-res-line{color:var(--tt-fg);opacity:.85;margin:3px 0 0;font-size:13.5px;font-weight:700;line-height:1.35}.tt-res-sub,.tt-res-daily{color:var(--tt-muted);align-items:center;gap:5px;margin:4px 0 0;font-size:14px;font-weight:700;display:flex}.tt-res-sub.is-best{color:var(--tt-accent-text)}.tt-res-daily{color:#ff8a3c}.tt-next{max-width:300px;color:var(--tt-muted);margin-top:6px;font-size:12px;font-weight:800}.tt-next i{background:linear-gradient(90deg, var(--tt-accent) var(--p), var(--tt-faint) var(--p));border-radius:5px;height:5px;margin-top:4px;display:block}.tt-tiles{grid-template-columns:repeat(3,auto);gap:8px 22px;margin:0;display:grid}.tt-tile dt{font:800 11px/1 var(--tx-font);letter-spacing:.08em;text-transform:uppercase;color:var(--tt-muted)}.tt-tile dd{font:400 23px/1 var(--tx-display-font);font-variant-numeric:tabular-nums;margin:4px 0 0}.tt-res-quote{color:var(--tt-muted);margin:0;font-size:13px}.tt-res-quote a{color:inherit}.tt-tabs{border-bottom:1px solid var(--tt-line);gap:4px;display:flex}.tt-tab{color:var(--tt-muted);font:800 14px/1 var(--tx-font);cursor:pointer;background:0 0;border:0;border-radius:8px 8px 0 0;padding:8px 12px}.tt-tab:hover{color:var(--tt-fg)}.tt-tab[aria-selected=true]{color:var(--tt-fg);box-shadow:inset 0 -3px 0 var(--tt-accent)}.tt-panel{min-height:150px}.tt-pane{animation:.25s tt-fade}.tt-empty{color:var(--tt-muted);margin:14px 0;font-weight:700}.tt-keys{grid-template-rows:auto 1fr;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px 18px;display:grid}.tt-keys-top{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:12px;margin-bottom:4px;display:flex}.tt-keys-legend{color:var(--tt-muted);margin:0;font-size:13px;font-weight:700}.tt-keys .tx-kb{--k:clamp(17px, 2.5vw, 33px);background:var(--tt-panel)}.tt-keyrows{gap:8px;display:grid}.tt-seg{background:var(--tt-panel);border-radius:10px;padding:3px;display:inline-flex}.tt-seg button{color:var(--tt-muted);font:800 12.5px/1 var(--tx-font);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:5px 10px}.tt-seg button[aria-pressed=true]{background:var(--tt-accent);color:var(--tt-accent-ink)}.tt-pane.tt-prog{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:18px;display:grid}.tt-hist{position:relative}.tt-hist svg{width:100%;height:auto;display:block;overflow:visible}.tt-bests{border-collapse:collapse;width:100%;font-size:13px}.tt-bests caption{text-align:left;font:800 11px/1 var(--tx-font);letter-spacing:.08em;text-transform:uppercase;color:var(--tt-muted);padding-bottom:6px}.tt-bests th,.tt-bests td{border-top:1px solid var(--tt-line);text-align:left;padding:5px 4px;font-weight:700}.tt-bests th{color:var(--tt-muted)}.tt-bests td b{font:400 16px/1 var(--tx-display-font);color:var(--tt-fg)}.tt-bests tr.is-current th{color:var(--tt-accent-text)}.tt-totals{color:var(--tt-muted);margin:10px 0 0;font-size:12.5px;font-weight:700}.tt-actions{flex-wrap:wrap;justify-content:center;gap:8px;padding-top:4px;display:flex}.tt-btn{border:1px solid var(--tt-line);background:var(--tt-panel);color:var(--tt-fg);font:800 14.5px/1 var(--tx-font);cursor:pointer;border-radius:12px;align-items:center;gap:7px;padding:10px 15px;transition:transform .1s,background-color .15s;display:inline-flex}.tt-btn:hover{background:var(--tt-faint);transform:translateY(-1px)}.tt-btn.is-primary{background:var(--tt-accent);color:var(--tt-accent-ink);box-shadow:0 3px 0 var(--tt-accent-edge);border-color:#0000}.tt-btn kbd{font:800 11px/1 var(--tx-font);background:#1d144224;border-radius:5px;padding:3px 5px}.tt-dialog{z-index:60;-webkit-backdrop-filter:blur(3px);background:#0a061e9e;place-items:center;padding:12px;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.tt-dialog-card{border:1px solid var(--tt-line);background:var(--tt-sheet);width:min(100%,520px);max-height:100%;color:var(--tt-fg);box-shadow:var(--tx-shadow);border-radius:18px;padding:14px 18px 18px;animation:.25s tt-rise;overflow-y:auto}.tt-dialog-head{justify-content:space-between;align-items:center;display:flex}.tt-dialog-head h2{font:400 24px/1.1 var(--tx-display-font);margin:0}.tt-dialog .tx-settings{gap:6px;font-weight:700;display:grid}.tt-cert{width:min(100%,620px)}.tt-cert-img{aspect-ratio:2000/1414;background:#fff7e8;border-radius:8px;width:100%;margin:8px 0 12px;display:block;box-shadow:0 6px 20px #00000040}.tt-cert-form label{color:var(--tt-muted);margin-bottom:5px;font-size:13px;font-weight:800;display:block}.tt-cert-row{gap:8px;display:flex}.tt-cert-row input{border:1px solid var(--tt-line);background:var(--tx-panel-2);min-width:0;color:var(--tt-fg);font:700 16px/1.2 var(--tx-font);border-radius:10px;flex:1;padding:10px 12px}.tt-fine{color:var(--tt-muted);margin:10px 0 0;font-size:12.5px}@keyframes tt-rise{0%{opacity:0;transform:translateY(14px)}}@keyframes tt-fade{0%{opacity:0}}@keyframes tt-pop{40%{transform:scale(1.35)}}@media (max-width:920px){.tt-extras .tt-chip span{display:none}.tt-bar-start,.tt-bar-end{min-width:0}}@media (max-width:640px){.tt{font-size:14px}.tt-main{justify-content:flex-start;width:calc(100% - 28px);padding-top:10px}.tt-hud{gap:8px}.tt-timer{min-width:0}.tt-live{gap:2px 12px;padding-bottom:4px}.tt-live b{font-size:18px}.tt-live small{font-size:10px}.tt-gauge-box{width:96px}.tt-progress{margin-bottom:10px}.tt-foot{margin-top:10px}.tt-hint{text-align:center;font-size:13px}.tt-res{padding:6px 14px 12px}.tt-res-top{grid-template-columns:1fr}.tt-res-badge{width:84px;height:84px}.tt-res-img{width:78px;height:78px}.tt-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 12px}.tt-tile dd{font-size:20px}.tt-keys{grid-template-columns:1fr}.tt-keys .tx-kb{--k:calc((100vw - 60px) / 13.5)}.tt-pane.tt-prog{grid-template-columns:1fr}.tt-actions{background:linear-gradient(transparent, var(--tt-bg2) 30%);margin:0 -14px -12px;padding:10px 14px 12px;position:sticky;bottom:-12px}.tt-btn{padding:11px 13px}}.tt-bar.is-compact{align-items:center;padding:8px 10px 0}.tt-bar.is-compact .tt-bar-start{flex:1;min-width:0}.tt-bar.is-compact .tt-summary{background:var(--tt-panel);min-width:0;color:var(--tt-fg);display:inline-flex;overflow:hidden}.tt-bar.is-compact .tt-summary span{text-overflow:ellipsis;overflow:hidden}.tt-bar.is-compact .tt-opts{border:1px solid var(--tt-line);background:var(--tt-sheet);max-width:680px;box-shadow:var(--tx-shadow);overscroll-behavior:contain;border-radius:16px;align-items:stretch;gap:10px;max-height:calc(100vh - 64px);margin:0 auto;padding:12px;display:none;position:absolute;top:calc(100% + 6px);left:8px;right:8px;overflow-y:auto}.tt-bar.is-compact.is-open .tt-opts{display:flex}.tt-bar.is-compact .tt-opts-row{background:0 0;gap:8px;padding:0}.tt-bar.is-compact .tt-sep{display:none}.tt-bar.is-compact .tt-chip{padding:9px 11px;font-size:14px}.tt-bar.is-compact .tt-extras .tt-chip span{display:inline}.tt-bar.is-compact .tt-opts-done{justify-content:center;align-self:center;margin-top:2px;display:inline-flex}@media (max-width:640px){.tt-bar.is-compact .tt-daily span:not(.tt-ico){display:none}}@media (min-width:760px){.tt-res{grid-template:"top tabs""top panel""quote panel"1fr"actions panel"/minmax(300px,380px) minmax(0,1fr);gap:8px 30px;width:min(100%,1180px);padding:12px 24px 16px;display:grid}.tt-res-top{grid-area:top;grid-template-columns:1fr;align-self:start;gap:14px}.tt-res-quote{grid-area:quote;align-self:start}.tt-tabs{grid-area:tabs}.tt-panel{overscroll-behavior:contain;grid-area:panel;min-height:0;padding-right:2px;overflow-y:auto}.tt-actions{grid-area:actions;justify-content:flex-start;align-self:end;padding-top:6px}.tt-pane.tt-prog{grid-template-columns:1fr;gap:12px}.tt-keys{grid-template-columns:1fr}}@media (max-height:420px){.tt-live small,.tt-source{display:none}}.tt.tt-kb-open .tt-bar,.tt.tt-kb-open .tt-foot,.tt.tt-kb-open .tt-source{display:none}.tt.tt-kb-open .tt-main{justify-content:flex-start;padding-top:8px}.tt.tt-kb-open.is-immersive .tt-main{padding-top:52px}.tt.tt-kb-open .tt-gauge-box{width:84px}.tt.tt-kb-open .tt-timer b{font-size:34px}.tt.tt-kb-open .tt-type{--tx-size:22px}.tt-last{color:var(--tt-accent-text);margin:0;font-size:13px;font-weight:800}.tx-reduced-motion .tt-res,.tx-reduced-motion .tt-res-img,.tx-reduced-motion .tt-pane,.tx-reduced-motion .tt-dialog-card,.tx-reduced-motion .tt-start,.tx-reduced-motion.is-ready .tt-hint{animation:none!important}.tt .tt-pane .tx-chart svg{max-height:none}.tt[data-theme=light] .tx-switch{background:#1d144238}.tt[data-theme=light] .tx-switch:checked{background:var(--tt-accent)}.tt[data-theme=light] .tt-streak,.tt[data-theme=light] .tt-res-daily{color:#d9480f}
