:root{--font-sans:-apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Segoe UI Variable Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, "Cascadia Mono", Consolas, "Liberation Mono", monospace;--radius-s:8px;--radius-m:12px;--radius-l:20px;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-spring:cubic-bezier(.34, 1.4, .64, 1);--column:960px;--gutter:16px}:root,:root[data-theme=light]{--bg:#fbfbfd;--bg-elevated:#fff;--surface:#0000000a;--surface-strong:#00000012;--text:#1d1d1f;--text-secondary:#6e6e73;--text-tertiary:#a1a1a6;--hairline:#e5e5ea;--accent:#0071e3;--accent-contrast:#fff;--error:#e5352b;--extra:#a3231c;--success:#248a3d;--upcoming:#a1a1a6;--active:#6e6e73;--typed:#1d1d1f;--past:#c7c7cc;--shadow:0 1px 2px #0000000a, 0 12px 40px #00000014;--backdrop:#fafafcb8;--syn-comment:green;--syn-keyword:#00f;--syn-control:#af00db;--syn-string:#a31515;--syn-regex:#811f3f;--syn-number:#098658;--syn-constant:#0070c1;--syn-function:#795e26;--syn-type:#267f99;--syn-variable:#001080;--syn-tag:maroon}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0b0b0d;--bg-elevated:#1c1c1f;--surface:#ffffff0d;--surface-strong:#ffffff17;--text:#f5f5f7;--text-secondary:#a1a1aa;--text-tertiary:#6e6e76;--hairline:#2c2c30;--accent:#0a84ff;--accent-contrast:#fff;--error:#ff5a4f;--extra:#c4433b;--success:#30d158;--upcoming:#6e6e76;--active:#a1a1aa;--typed:#f5f5f7;--past:#4a4a50;--shadow:0 1px 2px #0006, 0 20px 60px #00000080;--backdrop:#0b0b0db8;--syn-comment:#6a9955;--syn-keyword:#569cd6;--syn-control:#c586c0;--syn-string:#ce9178;--syn-regex:#d16969;--syn-number:#b5cea8;--syn-constant:#4fc1ff;--syn-function:#dcdcaa;--syn-type:#4ec9b0;--syn-variable:#9cdcfe;--syn-tag:#569cd6}}:root[data-theme=dark]{--bg:#0b0b0d;--bg-elevated:#1c1c1f;--surface:#ffffff0d;--surface-strong:#ffffff17;--text:#f5f5f7;--text-secondary:#a1a1aa;--text-tertiary:#6e6e76;--hairline:#2c2c30;--accent:#0a84ff;--accent-contrast:#fff;--error:#ff5a4f;--extra:#c4433b;--success:#30d158;--upcoming:#6e6e76;--active:#a1a1aa;--typed:#f5f5f7;--past:#4a4a50;--shadow:0 1px 2px #0006, 0 20px 60px #00000080;--backdrop:#0b0b0db8;--syn-comment:#6a9955;--syn-keyword:#569cd6;--syn-control:#c586c0;--syn-string:#ce9178;--syn-regex:#d16969;--syn-number:#b5cea8;--syn-constant:#4fc1ff;--syn-function:#dcdcaa;--syn-type:#4ec9b0;--syn-variable:#9cdcfe;--syn-tag:#569cd6}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;font-size:16px;line-height:1.45;overflow-x:hidden}#root{min-height:100dvh}button,input,textarea,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--radius-s)}.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}.app{min-height:100dvh;padding:0 max(var(--gutter), env(safe-area-inset-left)) env(safe-area-inset-bottom) max(var(--gutter), env(safe-area-inset-right));flex-direction:column;display:flex}.app-header{width:100%;max-width:var(--column);justify-content:space-between;align-items:center;margin:0 auto;padding:20px 0 8px;display:flex}.wordmark{letter-spacing:-.02em;color:var(--text);align-items:baseline;gap:3px;font-size:19px;font-weight:600;text-decoration:none;display:inline-flex}.wordmark-button{border-radius:var(--radius-s);cursor:pointer;background:0 0;border:0;margin:-4px -6px;padding:4px 6px;font-family:inherit;transition:background-color .2s}.wordmark-button:hover{background:var(--surface)}.wordmark-dot{background:var(--accent);border-radius:50%;width:6px;height:6px;display:inline-block;transform:translateY(-1px)}.header-actions{gap:4px;display:flex}.stage{width:100%;max-width:var(--column);flex:1;align-content:center;margin:0 auto;padding:2vh 0 6vh;display:grid}.stage>*{grid-area:1/1;min-width:0}.app-footer{text-align:center;color:var(--text-tertiary);padding:0 0 18px;font-size:13px}.app-footer a{color:inherit;text-underline-offset:3px}.app-footer a:hover{color:var(--text-secondary)}.icon-button{width:40px;height:40px;color:var(--text-secondary);cursor:pointer;transition:background-color .2s, color .2s, transform .2s var(--ease-out);background:0 0;border:0;border-radius:50%;place-items:center;display:inline-grid}.icon-button:hover{background:var(--surface);color:var(--text)}.icon-button:active{transform:scale(.94)}.button{background:var(--surface);min-height:44px;color:var(--text);cursor:pointer;transition:background-color .2s, transform .2s var(--ease-out), opacity .2s;white-space:nowrap;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:15px;font-weight:500;display:inline-flex}.button svg{width:18px;height:18px}.button:hover{background:var(--surface-strong)}.button:active{transform:scale(.97)}.button:disabled{opacity:.45;cursor:default}.button-primary{background:var(--accent);color:var(--accent-contrast)}.button-primary:hover{background:var(--accent);filter:brightness(1.08)}.button-quiet{color:var(--text-secondary);background:0 0}.button-danger{background:var(--error);color:#fff}kbd{font-family:var(--font-mono);background:var(--surface);color:var(--text-secondary);border-radius:5px;padding:1px 6px;font-size:.85em}.quiet{color:var(--text-secondary);text-align:center;margin:8px 0 0;font-size:14px}.fine-print{color:var(--text-tertiary);text-align:center;max-width:52ch;margin:18px auto 0;font-size:12.5px}.chip{background:var(--surface);color:var(--text-secondary);border-radius:999px;align-items:center;padding:5px 12px;font-size:13px;font-weight:500;display:inline-flex}.chip-accent{background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent)}.sheet-backdrop{z-index:50;background:var(--backdrop);-webkit-backdrop-filter:blur(18px)saturate(1.4);animation:fade-in .2s var(--ease-out);place-items:center;padding:16px;display:grid;position:fixed;inset:0}.sheet{background:var(--bg-elevated);border-radius:var(--radius-l);width:min(460px,100%);max-height:min(86dvh,760px);box-shadow:var(--shadow);animation:sheet-in .32s var(--ease-out);padding:8px 24px 24px;overflow:auto}.sheet-wide{width:min(640px,100%)}.sheet-header{background:var(--bg-elevated);z-index:1;justify-content:space-between;align-items:center;padding:10px 0 6px;display:flex;position:sticky;top:0}.sheet-header h2{letter-spacing:-.01em;margin:0;font-size:19px;font-weight:600}.sheet-actions{justify-content:center;gap:8px;margin-top:16px;display:flex}.setting{border:0;border-top:1px solid var(--hairline);margin:0;padding:16px 0}.setting:first-child{border-top:0}.setting legend{float:left;width:100%;margin-bottom:10px;padding:0;font-weight:600}.segmented{clear:both;background:var(--surface);border-radius:10px;grid-template-columns:repeat(3,1fr);padding:3px;display:grid}.segmented label{text-align:center;cursor:pointer;color:var(--text-secondary);border-radius:8px;padding:7px 0;font-size:14px;font-weight:500;transition:background-color .2s,color .2s;position:relative}.segmented label.is-selected{background:var(--bg-elevated);color:var(--text);box-shadow:0 1px 3px #0000001f}.segmented input{opacity:0;cursor:pointer;position:absolute;inset:0}.segmented label:has(input:focus-visible){outline:2px solid var(--accent)}.setting-toggle{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;display:flex}.setting-toggle small{color:var(--text-secondary);margin-top:2px;font-size:13px;display:block}.setting-toggle input[type=checkbox]{appearance:none;background:var(--surface-strong);cursor:pointer;width:46px;height:28px;transition:background-color .25s var(--ease-out);border-radius:999px;flex:none;position:relative}.setting-toggle input[type=checkbox]:after{content:"";width:22px;height:22px;transition:transform .25s var(--ease-out);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 2px 4px #0003}.setting-toggle input[type=checkbox]:checked{background:var(--success)}.setting-toggle input[type=checkbox]:checked:after{transform:translate(18px)}.setting-toggle input[type=checkbox]:disabled{opacity:.4}.scoring summary{cursor:pointer;font-weight:600}.scoring ul{color:var(--text-secondary);margin:10px 0 0;padding-left:18px;font-size:14px}.scoring li+li{margin-top:6px}@keyframes fade-in{0%{opacity:0}}@keyframes sheet-in{0%{opacity:0;transform:translateY(12px)scale(.98)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root[data-motion=reduce] *,:root[data-motion=reduce] :before,:root[data-motion=reduce] :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.typing-view{transition:opacity .6s var(--ease-out), transform .8s var(--ease-out), filter .6s var(--ease-out);flex-direction:column;align-items:center;display:flex}[data-status=finished] .typing-view{opacity:0;filter:blur(6px);pointer-events:none;transition-delay:.25s;transform:scale(.96)translateY(-12px)}.options-bar{background:var(--surface);transition:opacity .3s var(--ease-out);border-radius:999px;flex-wrap:wrap;justify-content:center;align-items:center;gap:2px 4px;margin-bottom:28px;padding:4px 6px;display:flex}.options-bar.is-disabled{opacity:0;pointer-events:none}.option{min-height:32px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;gap:5px;padding:0 11px;font-size:14px;font-weight:500;transition:color .2s,background-color .2s;display:inline-flex}.option:hover{color:var(--text)}.option[aria-pressed=true]{color:var(--accent)}.options-group{align-items:center;display:inline-flex}.options-divider{background:var(--hairline);width:1px;height:16px;margin:0 4px}.option-select{min-height:32px;color:var(--accent);cursor:pointer;appearance:none;background-color:#0000;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 14px) 55%,calc(100% - 10px) 55%;background-repeat:no-repeat;background-size:4px 4px;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;border:0;border-radius:999px;padding:0 26px 0 11px;font-size:14px;font-weight:500}.option-select:disabled{cursor:default}.option-select option,.option-select optgroup{color:var(--text);background:var(--bg-elevated)}.option-select optgroup{color:var(--text-secondary)}.option-glyph{font-family:var(--font-mono);font-weight:600}.metrics{font-variant-numeric:tabular-nums;grid-template-columns:1fr auto 1fr;align-items:end;gap:28px;width:100%;max-width:560px;padding-bottom:14px;display:grid;position:relative}.metric{align-items:baseline;gap:5px;line-height:1;display:flex}.metric-time{justify-self:end}.metric-acc{justify-self:start}.metric-value{font-family:var(--font-sans);letter-spacing:-.03em;color:var(--text);font-weight:600;transition:color .3s}.metric-unit{color:var(--text-tertiary);letter-spacing:.02em;font-size:13px;font-weight:500}.metric-wpm .metric-value{letter-spacing:-.05em;text-align:center;min-width:2.2ch;font-size:clamp(56px,9vw,84px);font-weight:700}.metric-time .metric-value{text-align:right;min-width:2ch;font-size:clamp(26px,4vw,34px)}.metric-acc .metric-value{color:var(--text-secondary);min-width:4ch;font-size:clamp(18px,2.4vw,22px)}.metrics.is-idle .metric-value{color:var(--text-tertiary)}.metrics.is-running .metric-time .metric-value{color:var(--accent)}.progress{background:var(--hairline);border-radius:2px;height:2px;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.progress-fill{background:var(--accent);transform-origin:0;height:100%;transition:transform .1s linear}.typing-field{cursor:text;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;width:100%;height:clamp(210px,34vh,320px);margin-top:8px;position:relative}.typing-input{opacity:0;caret-color:#0000;color:#0000;cursor:text;z-index:3;background:0 0;border:0;width:100%;height:100%;padding:0;font-size:16px;position:absolute;inset:0}.typing-field.is-blurred .dom-words{filter:blur(5px);opacity:.5;transition:filter .3s var(--ease-out), opacity .3s var(--ease-out)}.focus-hint,.start-hint{pointer-events:none;z-index:2;color:var(--text-secondary);justify-content:center;font-size:14px;display:flex;position:absolute;left:0;right:0}.focus-hint{align-items:center;inset:0}.focus-hint span{background:var(--bg-elevated);box-shadow:var(--shadow);border-radius:999px;padding:8px 16px}.start-hint{color:var(--text-tertiary);font-size:13px;animation:2.8s ease-in-out infinite breathe;bottom:-6px}@keyframes breathe{50%{opacity:.35}}.dom-words{--line:1.62em;font-family:var(--font-mono);font-size:min(32px, calc((min(100vw - 32px, 960px)) / (var(--cpl) * .62)));width:calc(var(--cpl) * 1ch);line-height:var(--line);white-space:pre;letter-spacing:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.dom-line{height:var(--line)}.dom-lines.is-advancing{animation:line-advance .18s var(--ease-out)}@keyframes line-advance{0%{transform:translateY(var(--line))}}.dom-line:first-child .w-past{opacity:.6}.c{transition:color .12s}.s-upcoming{color:var(--upcoming)}.w-current .s-active{color:var(--active)}.s-typed{color:var(--typed)}.s-error,.s-pastError{color:var(--error);text-underline-offset:6px;text-decoration:underline;text-decoration-thickness:2px}.s-extra{color:var(--extra);text-underline-offset:6px;-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.s-past{color:var(--past)}.s-missed{color:var(--past);-webkit-text-decoration:underline dotted var(--error);text-decoration:underline dotted var(--error);text-underline-offset:6px}.dom-caret{background:var(--accent);width:2px;height:1.18em;transition:transform 90ms var(--ease-out);box-sizing:content-box;padding-bottom:calc(var(--line) - 1.18em);background-clip:content-box;border-radius:2px;margin-top:0;position:absolute;top:.22em;left:-1px}.dom-caret.is-idle{animation:1.4s ease-in-out infinite breathe}.typing-controls{flex-direction:column;align-items:center;gap:4px;margin-top:22px;display:flex}.typing-controls .hint{color:var(--text-tertiary);margin:0;font-size:13px}@media (max-width:600px){.stage{align-content:start;padding-top:3vh}.metrics{gap:16px}.typing-field{height:clamp(170px,30vh,240px)}.typing-controls .hint{display:none}}@media (pointer:coarse){.typing-controls .hint{display:none}}.code-mode{display:grid}.code-mode>*{grid-area:1/1;min-width:0}.code-stage{max-height:100000px;transition:opacity .5s var(--ease-out), transform .6s var(--ease-out), max-height 0s;flex-direction:column;align-items:center;display:flex}.code-mode[data-code-status=finished] .code-stage{opacity:0;pointer-events:none;max-height:0;transition:opacity .5s var(--ease-out), transform .6s var(--ease-out), max-height 0s linear .6s;overflow:hidden;transform:scale(.98)translateY(-8px)}.code-results{z-index:1}.code-tagline{text-align:center;transition:opacity .3s var(--ease-out);margin-bottom:18px}.code-tagline.is-hidden{opacity:0}.code-tagline-title{letter-spacing:-.01em;color:var(--text);margin:0;font-size:clamp(18px,2.2vw,22px);font-weight:600}.code-tagline-sub{color:var(--text-secondary);margin:4px 0 0;font-size:15px}.code-label{width:100%;max-width:var(--column);color:var(--text-tertiary);margin:14px 0 -2px;padding-left:2px;font-size:13px}.code-label-language{color:var(--text-secondary);font-weight:500}.code-field{width:100%;max-width:var(--column);cursor:text;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;margin-top:8px;position:relative}.code-view{border-radius:var(--radius-m);background:var(--surface);font-family:var(--font-mono);white-space:pre;counter-reset:code-line;transition:filter .3s var(--ease-out), opacity .3s var(--ease-out);margin:0;padding:18px 20px 18px 0;font-size:clamp(14px,2vw,20px);line-height:1.7;overflow-x:auto}.code-field.is-blurred .code-view{filter:blur(4px);opacity:.55}.code-line{padding-left:3.4em;display:block;position:relative}.code-line:before{counter-increment:code-line;content:counter(code-line);text-align:right;width:2.4em;color:var(--text-tertiary);opacity:.6;position:absolute;left:0}.k-pending{color:var(--upcoming)}.k-typed,.k-auto{color:var(--typed)}.k-typed.s-comment,.k-pending.s-comment{color:var(--syn-comment)}.k-typed.s-keyword,.k-pending.s-keyword{color:var(--syn-keyword)}.k-typed.s-control,.k-pending.s-control{color:var(--syn-control)}.k-typed.s-string,.k-pending.s-string{color:var(--syn-string)}.k-typed.s-regex,.k-pending.s-regex{color:var(--syn-regex)}.k-typed.s-number,.k-pending.s-number{color:var(--syn-number)}.k-typed.s-constant,.k-pending.s-constant{color:var(--syn-constant)}.k-typed.s-function,.k-pending.s-function{color:var(--syn-function)}.k-typed.s-type,.k-pending.s-type{color:var(--syn-type)}.k-typed.s-variable,.k-pending.s-variable{color:var(--syn-variable)}.k-typed.s-tag,.k-pending.s-tag{color:var(--syn-tag)}.k-pending[class*=\ s-]{opacity:.55}.k-miss{color:var(--error);background:color-mix(in srgb, var(--error) 18%, transparent);text-underline-offset:4px;animation:miss-shake .24s var(--ease-out);border-radius:3px;text-decoration:underline;text-decoration-thickness:2px;display:inline-block}@keyframes miss-shake{25%{transform:translate(-2px)}75%{transform:translate(2px)}}.k-newline{margin-left:1px}.code-caret{vertical-align:top;width:0;height:1.7em;display:inline-block;position:relative}.code-caret:before{content:"";background:var(--accent);border-radius:2px;width:2px;height:1.22em;position:absolute;top:.24em;left:-1px}[data-code-status=idle] .code-caret:before{animation:1.4s ease-in-out infinite breathe}.code-results-title{color:var(--text);margin:4px 0 0;font-size:17px;font-weight:600}.code-results-title span{color:var(--text-secondary);font-weight:500}@media (max-width:600px){.options-bar{border-radius:16px;padding:6px}.options-divider{display:none}.code-view{padding:14px 14px 14px 0}.code-line{padding-left:2.8em}.code-line:before{width:2em}}.results-view{z-index:1}.results{flex-direction:column;align-items:center;width:100%;max-width:720px;margin:0 auto;display:flex}.results.is-animated>*{animation:rise .7s var(--ease-out) both}.results.is-animated>:nth-child(2){animation-delay:50ms}.results.is-animated>:nth-child(3){animation-delay:.12s}.results.is-animated>:nth-child(4){animation-delay:.2s}.results.is-animated>:nth-child(5){animation-delay:.26s}.results.is-animated>:nth-child(6){animation-delay:.32s}.results.is-animated>.results-actions{animation-duration:.3s;animation-delay:0s}.results:focus,.results:focus-visible{outline:none}.results-hint{color:var(--text-tertiary);margin:10px 0 0;font-size:12px}@media (pointer:coarse){.results-hint{display:none}}@keyframes rise{0%{opacity:0;transform:translateY(16px)}}.results-flags{flex-wrap:wrap;justify-content:center;gap:8px;min-height:28px;display:flex}.results-hero{align-items:baseline;gap:10px;margin-top:6px;line-height:.9;display:flex}.hero-value{letter-spacing:-.06em;font-variant-numeric:tabular-nums;background:linear-gradient(180deg, var(--text) 30%, color-mix(in srgb, var(--text) 70%, var(--bg)));color:#0000;filter:drop-shadow(0 1px 0 color-mix(in srgb, var(--text) 18%, transparent)) drop-shadow(0 12px 24px color-mix(in srgb, var(--accent) 18%, transparent));-webkit-background-clip:text;background-clip:text;margin:0 -.08em;padding:0 .08em;font-size:clamp(96px,18vw,168px);font-weight:700}.hero-unit{color:var(--text-tertiary);font-size:clamp(22px,3vw,30px);font-weight:500}.hero-part{align-items:baseline;gap:10px;display:inline-flex}.results-hero:has(.hero-part+.hero-part){flex-wrap:wrap;justify-content:center;gap:4px 22px}.results-primary,.results-secondary,.history-summary{flex-wrap:wrap;justify-content:center;margin:18px 0 0;padding:0;display:flex}.results-primary>div,.results-secondary>div,.history-summary>div{flex-direction:column-reverse;align-items:center;padding:6px 22px;display:flex}.results-primary dd{letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:0;font-size:30px;font-weight:600}.results-primary dt,.results-secondary dt,.history-summary dt{color:var(--text-secondary);font-size:13px}.results-secondary{margin-top:4px}.results-secondary>div{padding:6px 16px}.results-secondary dd{font-variant-numeric:tabular-nums;color:var(--text);margin:0;font-size:17px;font-weight:500}.results-secondary dt{color:var(--text-tertiary);font-size:12px}.results-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:26px;display:flex}.graph{width:100%;margin:26px 0 0}.graph-head{justify-content:space-between;align-items:baseline;margin-bottom:4px;padding:0 4px 0 40px;display:flex}.graph-title{color:var(--text-secondary);font-size:13px;font-weight:600}.graph-legend{color:var(--text-secondary);gap:14px;font-size:12px;display:flex}.legend-item:before{content:"";vertical-align:middle;border-radius:2px;width:14px;height:2px;margin-right:6px;display:inline-block}.legend-primary:before{background:var(--accent)}.legend-secondary:before{background:var(--text-tertiary);opacity:.6}.graph-plot{position:relative}.graph svg{width:100%;height:auto;display:block;overflow:visible}.graph-grid{stroke:var(--hairline);stroke-width:1px}.graph-tick{fill:var(--text-tertiary);font-size:11px;font-family:var(--font-sans);font-variant-numeric:tabular-nums}.graph-raw{fill:none;stroke:var(--text-tertiary);stroke-opacity:.55;stroke-width:1.25px;stroke-linejoin:round}.graph-line{fill:none;stroke:var(--accent);stroke-width:2.25px;stroke-linejoin:round;stroke-linecap:round}.graph-end{fill:var(--accent);stroke:var(--bg);stroke-width:2px}.graph-hit{fill:#0000;cursor:crosshair;touch-action:pan-y}.graph-hover line{stroke:var(--text-tertiary);stroke-width:1px}.graph-hover circle{fill:var(--accent);stroke:var(--bg);stroke-width:2px}.graph-tip{background:var(--bg-elevated);box-shadow:var(--shadow);color:var(--text-secondary);white-space:nowrap;pointer-events:none;font-variant-numeric:tabular-nums;border-radius:10px;align-items:baseline;gap:10px;padding:6px 12px;font-size:12px;display:flex;position:absolute;top:-6px;transform:translate(-50%,-100%)}.graph-tip strong{color:var(--text);font-size:14px}.graph.is-animated .graph-line{stroke-dasharray:1;stroke-dashoffset:1px;animation:draw 1.2s .15s var(--ease-out) forwards}.graph.is-animated .graph-area,.graph.is-animated .graph-end,.graph.is-animated .graph-raw{animation:fade-in .8s .6s var(--ease-out) both}@keyframes draw{to{stroke-dashoffset:0}}.graph-empty{color:var(--text-tertiary);margin-top:24px;font-size:13px}.history-summary{margin:4px 0 12px}.stats-heading{color:var(--text);margin:18px 0 2px;font-size:14px;font-weight:600}.history-mode-label{text-align:center;color:var(--text-secondary);margin:4px 0 0;font-size:13px}.history-row-mode{color:var(--text-tertiary);font-size:11.5px;display:block}.history-summary dd{font-variant-numeric:tabular-nums;margin:0;font-size:26px;font-weight:600}.history-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:14px}.history-table th{text-align:right;color:var(--text-tertiary);padding:6px 4px;font-size:12px;font-weight:500}.history-table td{text-align:right;border-top:1px solid var(--hairline);padding:8px 4px}.history-table th:first-child,.history-table td:first-child{text-align:left;color:var(--text-secondary)}.history-table tr.is-best td:nth-child(2){color:var(--accent);font-weight:600}.empty-state{padding:24px 0}@media (max-width:600px){.results-primary>div{padding:6px 12px}.results-primary dd{font-size:24px}.graph-head{padding-left:8px}}
