@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2)format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff)format("woff")}:root{--bg:#05070b;--bg-elev:#0a0e15;--line:#141b27;--line-strong:#1e2838;--text:#e7edf6;--text-dim:#7a889c;--text-faint:#3a4556;--blue:#2f7bff;--blue-bright:#6fa8ff;--blue-deep:#0b2a66;--blue-glow:#2f7bff59;--warn:#ff5a6e;--good:#3ddc97;--on-blue:#020814;--font-ui:"Inter", system-ui, sans-serif;--font-num:"JetBrains Mono", ui-monospace, monospace;--font-edit:"JetBrains Mono", ui-monospace, monospace;--text-2xs:11px;--text-xs:12px;--text-sm:13px;--text-md:14px;--text-edit:17px;--text-lg:18px;--text-xl:22px;--text-hero:72px;--text-hero-sm:56px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--r:10px;--r-lg:16px;--sl-h:36px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--dur-fast:.14s;--dur:.28s;--dur-slow:.7s}*,:before,:after{box-sizing:border-box}html,body{height:100%;margin:0}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{background:var(--bg);color:var(--text);font:400 var(--text-md)/1.5 var(--font-ui);font-feature-settings:"cv11", "ss01";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none;overflow:hidden}h1,h2,p,dl,dd{margin:0}h1,h2{font-size:inherit;font-weight:inherit}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}:focus-visible{outline:2px solid var(--blue);outline-offset:2px}::selection{background:color-mix(in srgb, var(--blue) 32%, transparent);color:var(--text)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.label{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.12em;color:var(--text-dim);font-weight:500;line-height:1}*{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}.app{height:100vh;grid-template-rows:minmax(0,1fr) auto auto;height:100dvh;display:grid;position:relative}.ambient{pointer-events:none;z-index:-1;opacity:.2;transform-origin:40% 60%;will-change:transform, opacity;width:90vmax;height:90vmax;position:fixed;bottom:-38vmax;left:-30vmax}.ambient-core{background:radial-gradient(closest-side, var(--blue-deep) 0%, color-mix(in srgb, var(--blue-deep) 55%, transparent) 40%, transparent 100%);border-radius:50%;width:100%;height:100%}.ambient.is-breathing .ambient-core{animation:6s ease-in-out infinite breathe}@keyframes breathe{0%,to{opacity:1}50%{opacity:.5}}.main{min-height:0;padding:0 var(--s-7);justify-content:center;display:flex}.editor-col{width:100%;height:100%;font:400 var(--text-edit)/1.8 var(--font-edit);animation:.5s .1s both fade-in;position:relative}.app[data-width=wide] .editor-col{max-width:96ch}.app[data-width=narrow] .editor-col{max-width:64ch}.editor{width:100%;height:100%;padding:var(--s-7) 0 var(--s-6);resize:none;color:var(--text);caret-color:#0000;font:inherit;letter-spacing:-.01em;white-space:pre-wrap;overflow-wrap:break-word;tab-size:4;background:0 0;border:0;outline:none;transition:opacity .2s,filter .2s;display:block}.editor::placeholder{color:var(--text-dim);opacity:1}.editor.is-clearing{opacity:0;filter:blur(6px)}.app:has(.caret.is-composing) .editor{caret-color:var(--blue-bright)}.caret-mirror{visibility:hidden;pointer-events:none;white-space:pre-wrap;overflow-wrap:break-word;border-style:solid;border-color:#0000;position:absolute;top:0;left:0}.caret{background:var(--blue);width:1ch;height:1.3em;color:var(--on-blue);box-shadow:0 0 12px var(--blue-glow);pointer-events:none;will-change:transform, opacity;border-radius:1px;place-items:center;transition:transform 90ms cubic-bezier(.2,.8,.2,1);animation:1.1s ease-in-out infinite caret-blink;display:grid;position:absolute;top:0;left:0}.caret-glyph{line-height:1}.caret.is-solid{animation:none}.caret.is-hidden,.caret.is-out,.caret.is-composing{visibility:hidden}.app:not(.is-focused) .caret{color:#0000;box-shadow:inset 0 0 0 1px var(--blue);background:0 0;animation:none}@keyframes caret-blink{0%,44%{opacity:1}56%,88%{opacity:.1}to{opacity:1}}.wpm-tag{align-items:baseline;gap:var(--s-1);border:1px solid var(--line-strong);background:color-mix(in srgb, var(--bg-elev) 88%, transparent);font:500 var(--text-2xs)/1.2 var(--font-num);color:var(--blue-bright);white-space:nowrap;pointer-events:none;will-change:transform;transition:transform 90ms cubic-bezier(.2, .8, .2, 1), opacity var(--dur) ease;border-radius:5px;padding:2px 6px;display:none;position:absolute;top:0;left:0}.app.show-tag .wpm-tag{display:inline-flex}.wpm-tag-v{font-variant-numeric:tabular-nums;transition:color var(--dur) ease}.wpm-tag-dir{align-self:center;font-size:8px;line-height:1;display:none}.app.pace-colors .wpm-tag[data-pace=up] .wpm-tag-dir,.app.pace-colors .wpm-tag[data-pace=down] .wpm-tag-dir{display:inline}.app.pace-colors .wpm-tag[data-pace=up]{color:var(--good)}.app.pace-colors .wpm-tag[data-pace=down]{color:var(--warn)}.wpm-tag{transition:transform 90ms cubic-bezier(.2, .8, .2, 1), opacity var(--dur) ease, color var(--dur) ease}.wpm-tag-k{color:var(--text-dim);font-weight:400}.wpm-tag.is-idle{opacity:.45}.wpm-tag.is-empty,.wpm-tag.is-away,.app:not(.is-focused) .wpm-tag{opacity:0}@media (prefers-reduced-motion:reduce){.caret{transition:none!important;animation-duration:1.1s!important;animation-iteration-count:infinite!important}.wpm-tag{transition:none!important}}.sl{z-index:3;height:var(--sl-h);background:var(--bg-elev);font-family:var(--font-num);font-size:var(--text-xs);color:var(--text-dim);align-items:stretch;display:flex;position:relative}.sl-rule,.focus-line{pointer-events:none;height:1px;position:absolute;top:0;left:0;right:0}.sl-rule{background:var(--line);transform-origin:0;animation:draw-x .6s var(--ease-out) 80ms both}@keyframes draw-x{0%{transform:scaleX(0)}}.focus-line{z-index:1;background:var(--blue);box-shadow:0 0 8px var(--blue-glow);transition:transform var(--dur-slow) var(--ease-out);transform:scaleX(0)}.app.is-focused .focus-line{transform:scaleX(1)}.sl-brand,.sl-seg,.sl-btn{align-items:center;gap:var(--s-2);padding:0 var(--s-4);border-right:1px solid var(--line);white-space:nowrap;display:flex;position:relative}.sl-brand{padding:0 var(--s-5);background:var(--blue);color:var(--on-blue);font-size:var(--text-md);letter-spacing:-.02em;border-right:0;gap:0;font-weight:500}.sl-brand i{background:var(--on-blue);width:.55em;height:.55em;margin:0 .12em;display:inline-block}.sl-v{color:var(--text);font-weight:500}.sl-wpm .sl-v{color:var(--blue-bright);font-size:var(--text-sm)}.sl-v.is-warn{color:var(--warn);transition:none}.sl-v{transition:color var(--dur-slow) var(--ease-out)}.sl-glow{background:color-mix(in srgb, var(--blue) 22%, transparent);pointer-events:none;position:absolute;inset:0}.spark-mini{width:96px;height:18px;display:block}.spark-mini .spark-halo{display:none}.sl-btn{color:var(--text-dim);transition:color var(--dur-fast) ease, background-color var(--dur-fast) ease}@media (hover:hover){.sl-btn:hover{color:var(--text);background:var(--line)}}.sl-btn:active{background:var(--line-strong)}.sl-btn:focus-visible{outline-offset:-2px}.sl-btn[aria-expanded=true]{color:var(--blue-bright)}.sl-btn.is-confirm{color:var(--blue-bright);background:color-mix(in srgb, var(--blue) 14%, transparent)}.chev{transition:transform var(--dur) var(--ease-out)}#stats-toggle[aria-expanded=true] .chev{transform:rotate(180deg)}.sl-push{border-left:1px solid var(--line);margin-left:auto}.sl-status{border-right:0}.status-dot{background:var(--text-faint);width:6px;height:6px;transition:background-color var(--dur) ease;border-radius:50%;position:relative}.sl-status.is-live .status-dot{background:var(--blue)}.sl-status.is-live .status-dot:after{content:"";background:var(--blue);animation:ping 1.6s var(--ease-out) infinite;border-radius:50%;position:absolute;inset:0}.sl-status.is-live .status-t{color:var(--blue-bright)}@keyframes ping{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(3)}}.sl>:not(.sl-rule):not(.focus-line){animation:rise .42s var(--ease-out) both;animation-delay:calc(.24s + var(--i,0) * 40ms)}.sl>:nth-child(4){--i:1}.sl>:nth-child(5){--i:2}.sl>:nth-child(6){--i:3}.sl>:nth-child(7){--i:4}.sl>:nth-child(8){--i:5}.sl>:nth-child(n+9){--i:6}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.sl-menu-wrap{display:flex;position:relative}.menu{right:0;bottom:calc(100% + var(--s-2));z-index:10;border:1px solid var(--line-strong);border-radius:var(--r);background:var(--bg-elev);min-width:200px;padding:6px;display:grid;position:absolute}.menu[hidden]{display:none}.menu button{justify-content:space-between;gap:var(--s-4);padding:var(--s-2) 10px;color:var(--text-dim);text-align:left;transition:color var(--dur-fast) ease, background-color var(--dur-fast) ease;border-radius:6px;display:flex}.menu button:hover{color:var(--text);background:var(--line)}.menu button[aria-pressed=true]{color:var(--blue-bright)}.menu button span{color:var(--text-dim)}.menu-k{padding:6px 10px var(--s-1);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.12em;color:var(--text-dim)}.menu-group{display:grid}.menu-sep{border:0;border-top:1px solid var(--line);margin:6px 0}.menu-switch{align-items:center}.switch{border:1px solid var(--line-strong);background:var(--line);width:28px;height:16px;transition:background-color var(--dur-fast) ease, border-color var(--dur-fast) ease;border-radius:999px;flex:none;position:relative}.switch:after{content:"";background:var(--text-dim);width:10px;height:10px;transition:transform var(--dur) var(--ease-out), background-color var(--dur-fast) ease;border-radius:50%;position:absolute;top:2px;left:2px}[aria-pressed=true]>.switch{background:var(--blue);border-color:var(--blue)}[aria-pressed=true]>.switch:after{background:var(--on-blue);transform:translate(12px)}.sheet-view{display:none}.drawer{z-index:2;border-top:1px solid var(--line-strong);background:var(--bg-elev);position:relative}.drawer[hidden]{display:none}.drawer-body{column-gap:var(--s-7);max-height:52vh;padding:20px var(--s-7) var(--s-5);grid-template-columns:minmax(0,1fr) repeat(3,minmax(180px,240px));display:grid;overflow-y:auto}.sheet-head{display:none}.col{min-width:0}.grp+.grp{margin-top:20px}.grp-title{margin-bottom:var(--s-3)}.rows{display:grid}.row{justify-content:space-between;align-items:baseline;gap:var(--s-3);padding:var(--s-1) 0;line-height:1.6;display:flex}.row-k{font-size:var(--text-sm);color:var(--text-dim)}.row-v{min-width:0;font-family:var(--font-num);font-size:var(--text-sm);color:var(--text);white-space:nowrap;transition:color var(--dur-slow) var(--ease-out);font-weight:500}.row-v.is-warn{color:var(--warn);transition:none}.swap{font-family:var(--font-num)}.hero{align-items:flex-end;gap:var(--s-3) var(--s-7);flex-wrap:wrap;display:flex}.hero-main{align-items:baseline;gap:var(--s-2);display:flex}.rows-inline{gap:var(--s-6);padding-bottom:var(--s-1);flex-wrap:wrap;display:flex}.rows-inline .row{flex-direction:column-reverse;align-items:flex-start;gap:2px;padding:0;line-height:1.3}.rows-inline .row-k{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.12em}.rows-inline .row-v{font-size:var(--text-lg)}.hero-num{font-family:var(--font-num);font-size:var(--text-hero-sm);letter-spacing:-.04em;color:var(--text);filter:drop-shadow(0 0 20px color-mix(in srgb, var(--blue) 28%, transparent));font-weight:500;line-height:1;position:relative}.hero-unit{font-family:var(--font-num);font-size:var(--text-sm);color:var(--text-dim)}.hero-ring{border:1px solid var(--blue);opacity:0;pointer-events:none;border-radius:50%;width:104px;height:104px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.9)}.hero-num .odo.is-empty .odo-inner{transform-origin:0 100%;transform:scale(.5)}.spark{display:block;overflow:visible}.grp-speed .spark{width:100%;height:72px;margin-top:var(--s-4)}.spark-base{stroke:var(--line);stroke-width:1px}.spark-line{fill:none;stroke:var(--blue-bright);stroke-width:1.5px;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.spark.is-empty .spark-line{stroke:var(--line-strong)}.spark-stop-a{stop-color:var(--blue);stop-opacity:.35}.spark-stop-b{stop-color:var(--blue);stop-opacity:0}.spark-core{fill:var(--blue-bright)}.spark-dot{transition:opacity var(--dur) ease}.spark-halo{fill:var(--blue);opacity:.35;transform-box:fill-box;transform-origin:50%;animation:2.4s ease-in-out infinite halo}.spark-dot.is-hidden .spark-halo,.app:not(.is-live) .spark-halo{animation:none}@keyframes halo{50%{opacity:.1;transform:scale(1.6)}}.odo{font-variant-numeric:tabular-nums;white-space:nowrap;display:inline-block}.odo-inner{align-items:flex-start;display:inline-flex}.odo-d{height:1.15em;display:inline-block;overflow:hidden;-webkit-mask-image:linear-gradient(#0000,#000 14% 86%,#0000);mask-image:linear-gradient(#0000,#000 14% 86%,#0000)}.odo-strip{white-space:normal;word-break:break-all;text-align:center;width:1ch;transition:transform var(--dur) var(--ease-out);will-change:transform;line-height:1.15em;display:block}.odo-strip.odo-static{transition:none}.odo-l{line-height:1.15em;display:inline-block}.odo.is-empty{color:var(--text-dim)}.scrim{display:none}@media (max-width:1023px){.main{padding:0 var(--s-5)}.sl-spark,.sl-time{display:none}.sl-seg,.sl-btn{padding:0 var(--s-3)}.drawer-body{column-gap:var(--s-6);row-gap:var(--s-5);padding:var(--s-4) var(--s-5) var(--s-5);grid-template-columns:repeat(3,minmax(0,1fr))}.col-speed{grid-column:1/-1}}@media (max-width:639px){:root{--text-edit:16px}.main{padding:0 var(--s-4)}.editor{padding:var(--s-5) 0 var(--s-6)}.sl{height:calc(44px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);transform:translateY(calc(-1 * var(--kb,0px)))}.sl-menu-wrap,.sl-reset,.sl-status,.sl-acc .sl-k{display:none}.sl-brand{padding:0 var(--s-3);font-size:var(--text-xs)}.sl-seg{padding:0 10px}.sl-push{border-right:0;justify-content:center;min-width:44px}.sl-push span{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.scrim{z-index:4;background:color-mix(in srgb, var(--bg) 70%, transparent);opacity:0;pointer-events:none;transition:opacity var(--dur) ease;display:block;position:fixed;inset:0}.scrim.is-open{opacity:1;pointer-events:auto}.drawer{z-index:5;overscroll-behavior:contain;border-radius:var(--r-lg) var(--r-lg) 0 0;max-height:82dvh;padding-bottom:env(safe-area-inset-bottom);transition:transform .42s var(--ease-out);position:fixed;bottom:0;left:0;right:0;overflow-y:auto;transform:translateY(100%)}.drawer.is-sheet-open{transform:none}.sheet-head{z-index:1;padding:var(--s-4) var(--s-4) var(--s-3);background:var(--bg-elev);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.sheet-title{font-size:var(--text-md);color:var(--text);font-weight:600}.sheet-time{margin-top:var(--s-1);font-family:var(--font-num);font-size:var(--text-xs);color:var(--text-dim)}.sheet-actions{align-items:center;gap:var(--s-2);display:flex}.sheet-reset{border:1px solid var(--line-strong);border-radius:var(--r);height:44px;font-family:var(--font-num);font-size:var(--text-xs)}.sheet-close{border-radius:var(--r);width:44px;height:44px;color:var(--text-dim);transition:color var(--dur-fast) ease, background-color var(--dur-fast) ease, transform var(--dur-fast) var(--ease-out);place-items:center;display:grid}.sheet-close:hover{color:var(--text);background:var(--line-strong)}.sheet-close:active{transform:scale(.94)}.drawer-body{max-height:none;padding:0;display:block;overflow:visible}.col{padding:var(--s-4) var(--s-4) 0;border:0!important}.col:last-child{padding-bottom:var(--s-5)}.rows{column-gap:var(--s-6);grid-template-columns:1fr 1fr}.row{border-bottom:1px solid var(--line);padding:var(--s-2) 0}.row-longest{grid-column:1/-1}.rows-inline{gap:var(--s-4) var(--s-5)}.rows-inline .row{border:0;padding:0}.grp-speed .spark{height:56px}.sheet-view{padding:0 var(--s-4) var(--s-5);display:block}.sheet-view .menu-switch{border-top:1px solid var(--line);width:100%;min-height:44px;color:var(--text-dim);font-size:var(--text-sm);justify-content:space-between;align-items:center;display:flex}}
