:root{--paper: #f3f4f7;--panel: #ffffff;--sunk: #f8f8fb;--ink: #1b1c24;--muted: #5f6271;--rule: #dcdee6;--track: #e7e8ef;--wasm: #5b3fd6;--ts: #2a69ad;--ok: #17734a;--bad: #b3261e;--bad-bg: #fbeeed;--focus: #5b3fd6;--code-comment: #737786;--code-string: #22733f;--code-number: #9a5200;--code-keyword: #6a37c4;--code-type: #0c6b7a;--viz-ours: #6250d6;--viz-theirs: #8a8c99;--sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;color-scheme:light}@media(prefers-color-scheme:dark){:root{--paper: #131419;--panel: #1a1c23;--sunk: #16171d;--ink: #e5e6ec;--muted: #9a9dab;--rule: #2d303a;--track: #2a2c36;--wasm: #a08cff;--ts: #6ea8ea;--ok: #4cc38a;--bad: #ff8a80;--bad-bg: #2c1c1e;--focus: #a08cff;--code-comment: #7f8494;--code-string: #95d38a;--code-number: #f0b46a;--code-keyword: #b9a6ff;--code-type: #6fcfd9;--viz-ours: #9085e9;--viz-theirs: #696c79;color-scheme:dark}}*{box-sizing:border-box}html{background:var(--paper)}body{margin:0;min-height:100dvh;background:var(--paper);color:var(--ink);font:14px/1.45 var(--sans);-webkit-text-size-adjust:100%}a{color:inherit;text-decoration-color:color-mix(in srgb,currentColor 40%,transparent);text-underline-offset:2px}a:hover{text-decoration-color:currentColor}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}input,select,button,textarea{font:inherit;color:inherit}input[type=checkbox],input[type=radio]{accent-color:var(--wasm)}h1,h2,p{margin:0}.masthead{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;padding:14px 16px 10px}.brand{display:inline-flex;align-items:center;gap:8px;align-self:center;text-decoration:none}.mark{width:22px;height:22px}.mark-wasm{fill:var(--wasm)}.mark-ts{fill:var(--ts)}.wordmark{font-size:20px;font-weight:700;letter-spacing:-.025em}.tagline{color:var(--muted)}.source{margin-left:auto;color:var(--muted)}.credits{padding:12px 16px 16px;font-size:12px;color:var(--muted)}.credits p{max-width:80ch}.credits p+p{margin-top:4px}.credits code{font:11.5px var(--mono);white-space:nowrap}[hidden]{display:none!important}@media(max-width:520px){.masthead{padding-top:12px}.source{margin-left:0;width:100%}}body{display:grid;grid-template-rows:auto minmax(0,1fr) auto;--inspector: 280px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.masthead{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"brand speed source" "tagline speed source";align-items:center;column-gap:24px;padding:7px 16px}.masthead .brand{grid-area:brand}.masthead .mark{width:20px;height:20px}.masthead .wordmark{font-size:17px;line-height:1.15}.masthead .tagline{grid-area:tagline;padding-left:28px;font-size:11.5px;line-height:1.25}.speed{grid-area:speed;font-size:13px;line-height:1.4;text-wrap:pretty}.speed a{color:var(--wasm);font-weight:600;white-space:nowrap}.speed .sep{color:var(--muted)}.masthead .source{grid-area:source;display:inline-flex;align-items:center;gap:7px;margin-left:0;font-size:13px;white-space:nowrap}.github{width:20px;height:20px;fill:currentColor}.masthead .source:hover{color:var(--ink)}select,input[type=text]{height:30px;padding:0 8px;border:1px solid var(--rule);border-radius:6px;background:var(--panel);min-width:0}button{height:30px;padding:0 12px;border:1px solid var(--rule);border-radius:6px;background:var(--panel);cursor:pointer;white-space:nowrap}button:hover:not(:disabled,[aria-disabled=true]){border-color:var(--muted)}button:disabled,button[aria-disabled=true]{opacity:.5;cursor:default}button.quiet{height:auto;padding:2px 4px;border:0;background:none;color:var(--wasm)}button.quiet:hover:not(:disabled){text-decoration:underline}.segmented{display:inline-flex;padding:2px;border-radius:7px;background:var(--track)}.segmented label{position:relative;cursor:pointer}.segmented input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}.segmented span{display:block;padding:4px 10px;border-radius:5px;color:var(--muted);white-space:nowrap}.segmented input:checked+span{background:var(--panel);color:var(--ink);box-shadow:0 0 0 1px var(--rule)}.segmented input:focus-visible+span{outline:2px solid var(--focus);outline-offset:1px}.count{font-size:12px;font-weight:400;font-variant-numeric:tabular-nums;padding:0 6px;border-radius:9px;background:var(--track);color:var(--muted)}.count.on{color:var(--panel);background:var(--wasm)}.tip-wrap{display:inline-flex;vertical-align:middle}.tip-button{display:inline-grid;place-items:center;width:22px;height:22px;padding:0;border-radius:50%;color:var(--muted);font:italic 700 12px/1 Georgia,Times New Roman,serif}.tip-button:before{content:"i"}.tip-button[aria-expanded=true]{border-color:var(--wasm);background:var(--wasm);color:var(--panel)}.tip{position:fixed;z-index:30;width:max-content;max-width:min(340px,calc(100vw - 32px));padding:10px 12px;border:1px solid var(--rule);border-radius:8px;background:var(--panel);color:var(--ink);box-shadow:0 10px 28px #10121e29;font:12.5px/1.5 var(--sans);text-align:left;white-space:normal}.tip b{font-weight:600}.tip code{font:12px var(--mono)}.tip code.command{display:block;margin:6px 0;padding:4px 8px;border-radius:6px;border:1px solid var(--rule);background:var(--sunk);white-space:nowrap;overflow-x:auto;user-select:all}.tip a{color:var(--wasm);font-weight:600}.panes{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);grid-template-rows:minmax(0,1fr);min-height:0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);background:var(--panel)}:root[data-panel=inline] .panes{grid-template-columns:minmax(0,5fr) minmax(0,8fr) var(--inspector)}@media(min-width:900px){body[data-input=large] .panes{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}:root[data-panel=inline] body[data-input=large] .panes{grid-template-columns:minmax(0,1fr) minmax(0,2fr) var(--inspector)}}.view-switch{display:none}.pane{display:flex;flex-direction:column;min-width:0;min-height:0;position:relative}#input-pane{border-right:1px solid var(--rule)}#input-pane>.pane-head,#input-pane>.pane-sub{container:input / inline-size}#meter{container:output / inline-size}@media(min-width:900px){.panes{grid-template-rows:auto auto auto auto minmax(0,1fr) auto}.pane{display:grid;grid-row:1 / -1;grid-template-rows:subgrid;grid-template-columns:minmax(0,1fr)}#input-pane .editor{grid-row:3 / -1}#meter{grid-row:3}#notes{grid-row:4}#code-wrap{grid-row:5}#output-pane .pane-foot{grid-row:6}:root[data-panel=inline] .inspector{grid-row:1 / -1}}.pane-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;min-height:46px;padding:7px 10px;border-bottom:1px solid var(--rule)}.pane-sub{display:flex;align-items:center;gap:4px 12px;min-height:36px;padding:3px 10px;border-bottom:1px solid var(--rule);font-size:12.5px}.pane-sub h2{flex:none;font-size:13px;font-weight:600}.head-actions{display:flex;gap:6px;margin-left:auto}.pane-head .segmented{font-size:13px}.pane-sub .head-actions button{height:28px;padding:0 10px}#sample{max-width:160px}#input-info{display:inline-flex;gap:10px;min-width:0;color:var(--ink);white-space:nowrap}#input-info span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#input-info span+span{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.drop-hint{margin-left:auto;color:var(--muted);white-space:nowrap}.pane-sub .tip-wrap{flex:none}@container input (width < 560px){#input-pane .pane-head .segmented{flex:1 1 100%}#input-pane .pane-head .segmented label{flex:1;text-align:center}#input-pane .head-actions{flex:1 1 100%}#sample{flex:1;max-width:none}}@container input (width < 540px){.drop-hint{display:none}.pane-sub .tip-wrap{margin-left:auto}}.toolbar .field{display:inline-flex;min-width:0}#lang{width:136px}.prefixed{align-items:center;height:30px;padding-left:9px;border:1px solid var(--rule);border-radius:6px;background:var(--panel);cursor:text}.prefixed .field-label{font-size:12px;color:var(--muted);white-space:nowrap}.prefixed input[type=text]{width:100px;height:28px;padding:0 8px 0 7px;border:0;background:transparent}.prefixed:focus-within{outline:2px solid var(--focus);outline-offset:1px}.prefixed input:focus-visible{outline:none}.engine-field{display:inline-flex;align-items:center;gap:4px}.engines span:before{content:"";display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;vertical-align:1px;background:var(--ts)}.engines input[value=wasm]+span:before{background:var(--wasm)}.engines input:checked+span{font-weight:600}.options-toggle{display:inline-flex;align-items:center;gap:7px;margin-left:auto}.options-toggle:before{content:"";width:12px;height:10px;background:linear-gradient(currentColor 0 0) 0 0 / 100% 1.5px,linear-gradient(currentColor 0 0) 0 50% / 70% 1.5px,linear-gradient(currentColor 0 0) 0 100% / 40% 1.5px;background-repeat:no-repeat;opacity:.75}.options-toggle[aria-expanded=true],:root[data-panel=inline] .options-toggle{background:var(--track);border-color:var(--track)}.editor{position:relative;flex:1;min-height:0;display:flex}textarea{flex:1;width:100%;min-height:0;margin:0;padding:12px;border:0;resize:none;background:var(--panel);font:12.5px/1.5 var(--mono);tab-size:4;white-space:pre;overflow:auto}textarea:focus-visible{outline-offset:-2px}.large{flex:1;display:grid;place-items:center;padding:24px 16px}.large-card{display:grid;justify-items:start;gap:10px;max-width:40ch;padding:20px 22px;border:1px dashed var(--rule);border-radius:10px;background:var(--sunk);color:var(--muted)}.large-card strong{color:var(--ink);font-size:15px}.large-status{color:var(--ink);font-variant-numeric:tabular-nums}.large-status:empty{display:none}.drop{display:none;position:absolute;inset:8px;border:2px dashed var(--wasm);border-radius:8px;background:color-mix(in srgb,var(--panel) 85%,transparent);align-items:center;justify-content:center;font-weight:600;color:var(--wasm);pointer-events:none}.dragging .drop{display:flex}.tabs{display:flex;flex:1;gap:2px;min-width:0;overflow-x:auto;scrollbar-width:thin}.tabs [role=tab]{height:26px;padding:0 9px;border:0;border-radius:5px;background:none;color:var(--muted);font:12.5px var(--mono)}.tabs [role=tab]:hover{color:var(--ink);background:var(--sunk)}.tabs [role=tab][aria-selected=true]{color:var(--ink);background:var(--track)}.filename{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:12.5px var(--mono);color:var(--muted)}.meter{border-bottom:1px solid var(--rule);background:var(--sunk);font-size:12.5px}.meter:empty{display:none}.meter-line{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;min-height:38px;padding:4px 10px}.glance-wrap{display:flex;flex:0 1 auto;min-width:0;margin-right:auto}button.glance{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0;height:auto;min-height:30px;margin-left:-6px;padding:3px 8px 3px 6px;border-color:transparent;background:none;font-size:12.5px;text-align:left;white-space:normal}button.glance:hover,button.glance[aria-expanded=true]{border-color:var(--rule);background:var(--panel)}.chips{display:inline-grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:12px}.chip{position:relative;display:inline-flex;align-items:baseline;gap:6px;padding-bottom:5px;white-space:nowrap;font-variant-numeric:tabular-nums}.chip .engine{font-weight:600}.chip.wasm .engine{color:var(--wasm)}.chip.ts .engine{color:var(--ts)}.chip-bar{position:absolute;left:0;right:0;bottom:0;height:3px;border-radius:2px;background:var(--track);overflow:hidden}.chip-bar>span{display:block;height:100%;border-radius:2px;background:var(--wasm);transition:width .35s cubic-bezier(.2,.7,.2,1)}.chip.ts .chip-bar>span{background:var(--ts)}.chip-bar>.pending{width:30%;opacity:.45;animation:pending 1.2s ease-in-out infinite alternate}.glance .pace,.glance .qualifier{color:var(--muted);white-space:nowrap}.glance .pace b{font-weight:600}@container output (width < 840px){.glance .cold{display:none}}@container output (width < 980px){.glance .pace{display:none}}.glance-more{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:12px}.glance-more:after{content:"";width:5px;height:5px;margin-top:-3px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .15s}button.glance[aria-expanded=true] .glance-more:after{margin-top:3px;transform:rotate(-135deg)}@container output (width < 800px){.glance-more{font-size:0}}button.measure{height:26px;padding:0 10px;color:var(--wasm);font-size:12px;font-weight:600}.meter-details{max-height:min(340px,45vh);overflow:auto;padding:10px 12px 12px;border-top:1px solid var(--rule)}.race{display:grid;gap:6px}.lane{display:grid;grid-template-columns:96px minmax(40px,1fr) minmax(64px,auto);align-items:center;column-gap:10px}.engine{font-weight:600}.lane.wasm .engine{color:var(--wasm)}.lane.ts .engine{color:var(--ts)}.race:not(.solo) .lane:not(.shown) .engine{font-weight:400}.bar{height:10px;border-radius:5px;background:var(--track);overflow:hidden}.fill{display:block;height:100%;border-radius:5px;transition:width .35s cubic-bezier(.2,.7,.2,1)}.wasm .fill{background:var(--wasm)}.ts .fill{background:var(--ts)}.input-part{display:block;height:100%;background:color-mix(in srgb,var(--panel) 55%,transparent)}.fill.pending{width:30%;opacity:.35;animation:pending 1.2s ease-in-out infinite alternate}@keyframes pending{0%{transform:translate(-20%)}to{transform:translate(250%)}}.time{font-weight:600;font-variant-numeric:tabular-nums;text-align:right}.muted,.time.muted{color:var(--muted);font-weight:400}.chip .time{text-align:left}.lane-note{grid-column:2 / -1;font-size:12px;color:var(--muted)}.lane-note.warn{color:var(--bad)}.race.solo .lane{grid-template-columns:auto auto 1fr}.race.solo .bar{display:none}.race.solo .time{text-align:left}.race.solo .lane-note{grid-column:auto;color:var(--muted)}.lane-line{display:flex;align-items:center;gap:8px;min-height:20px}.engine-dot{width:8px;height:8px;border-radius:50%;background:var(--wasm)}.engine-dot.ts{background:var(--ts)}.summary{margin-top:9px}.summary>span:not(.sep,.pace){white-space:nowrap}.engine-name.wasm{color:var(--wasm)}.engine-name.ts{color:var(--ts)}.summary .sep{color:var(--muted)}.who.wasm b{color:var(--wasm)}.who.ts b{color:var(--ts)}.verdict{font-weight:600;white-space:nowrap}.verdict.same{color:var(--ok)}.verdict.differ{color:var(--bad)}.verdict-mark{display:inline-grid;place-items:center;width:17px;height:17px;border-radius:50%;border:1.5px solid currentColor;font-size:10.5px;line-height:1}.bench-failure{padding:0 10px 7px;font-size:12px;color:var(--bad)}.fixed-note{padding:0 10px 7px;font-size:12px;color:var(--muted)}.fixed-note a{color:var(--wasm);font-weight:600}.cli-note{margin-top:4px;color:var(--muted);font-size:12px}.cli-note a{color:var(--wasm);font-weight:600}.fine{display:grid;gap:6px;margin-top:8px;font-size:12px;color:var(--muted)}.fine p{max-width:90ch}#measure-how{font-size:11.5px}.notes{padding:8px 12px;border-bottom:1px solid var(--rule);font-size:12px;color:var(--muted)}.notes .line{color:var(--ink);font-weight:600;margin-right:6px}.code{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}.code.stale pre#output{opacity:.45;transition:opacity .2s}pre#output{flex:1;min-height:0;margin:0;padding:12px;overflow:auto;font:12.5px/1.5 var(--mono);tab-size:4}pre#output:focus-visible{outline-offset:-2px}#code .c{color:var(--code-comment)}#code .s{color:var(--code-string)}#code .n{color:var(--code-number)}#code .k{color:var(--code-keyword)}#code .t{color:var(--code-type)}.error{flex:1;padding:16px 12px;display:flex;flex-direction:column;align-items:flex-start;gap:10px}.error-title{font-weight:600;color:var(--bad)}.error-message{margin:0;max-width:100%;padding:10px 12px;border-left:3px solid var(--bad);border-radius:0 6px 6px 0;background:var(--bad-bg);font:12.5px/1.5 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere}.error-kind{font:12px var(--mono);color:var(--muted)}.error-help a{color:var(--wasm);font-weight:600}.empty{flex:1;padding:24px 16px;color:var(--muted)}.empty .alone{display:none}.empty button.quiet{padding:0;font:inherit;font-weight:600}.pane-foot{display:flex;align-items:baseline;gap:4px 12px;padding:7px 10px;border-top:1px solid var(--rule);font-size:12px;color:var(--muted)}.cli-label{flex:none}#cli{flex:1;min-width:0;font:12px/1.5 var(--mono);color:var(--ink)}#cli .arg{display:inline-block;max-width:100%;overflow-wrap:anywhere}.inspector{position:static;inset:auto;width:auto;height:auto;max-width:none;max-height:none;margin:0;padding:0;border:0;border-left:1px solid var(--rule);background:var(--panel);color:inherit;min-height:0}.inspector[open],:root[data-panel=inline] .inspector{display:flex;flex-direction:column}.inspector:modal{position:fixed;inset:0 0 0 auto;width:min(360px,calc(100vw - 28px));height:100dvh;box-shadow:-14px 0 36px #10121e33;animation:drawer .18s cubic-bezier(.2,.7,.2,1)}.inspector::backdrop{background:#10121e66}@keyframes drawer{0%{transform:translate(24px);opacity:0}}.inspector-head{display:flex;align-items:center;gap:8px;min-height:46px;padding:7px 8px 7px 14px;border-bottom:1px solid var(--rule)}.inspector-head h2{font-size:13px;font-weight:600}.inspector-lang{margin-left:4px;color:var(--muted);font-weight:400}button.close{display:grid;place-items:center;width:30px;margin-left:auto;padding:0;border-color:transparent;background:none;color:var(--muted);font-size:19px;line-height:1}button.close:before{content:"\d7"}.inspector-body{flex:1;min-height:0;overflow:auto;padding:8px 14px 18px;font-size:13px;overscroll-behavior:contain}.options:empty{display:none}.option-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1px}.check{display:flex;align-items:flex-start;gap:9px;padding:5px 0;cursor:pointer}.check input{width:16px;height:16px;margin:1px 0 0;flex:none}.option-grid .field{display:grid;gap:4px;padding:5px 0 7px}.field-label{font-size:12px;color:var(--muted)}.option-grid select,.option-grid input[type=text]{width:100%;height:30px}.hint{display:block;margin-top:1px;font-size:12px;color:var(--muted)}.preset{font-size:11px;padding:0 5px;border:1px solid var(--rule);border-radius:9px;color:var(--muted);cursor:help;white-space:nowrap}.no-options{padding:6px 0;color:var(--muted)}.more{margin-top:6px;padding-top:6px;border-top:1px solid var(--rule)}.more summary{display:flex;align-items:center;gap:6px;min-height:32px;color:var(--muted);cursor:pointer;list-style:none}.more summary::-webkit-details-marker{display:none}.more summary:before{content:"";width:6px;height:6px;margin:0 3px 0 1px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);transition:transform .15s}.more[open] summary:before{transform:rotate(45deg)}.more summary:hover{color:var(--ink)}.general .general-note{margin-bottom:4px;color:var(--muted);font-size:12px}.credits{display:flex;flex-wrap:wrap;align-items:center;gap:2px 18px;padding:6px 16px}.credits p{max-width:none}.credits p+p{margin-top:0}.credits .repo{margin-left:auto}.credits .tip-button{width:18px;height:18px;font-size:11px}@media(min-width:900px){body{height:100dvh;grid-template-rows:auto minmax(360px,1fr) auto}.source-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}@media(max-width:899px){.masthead{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand source" "tagline tagline" "speed speed";padding-top:10px}.speed{margin-top:6px;font-size:12.5px}.panes{grid-template-columns:minmax(0,1fr);grid-template-rows:none}#input-pane{border-right:0}.view-switch{display:flex;margin:8px 10px 0}.view-switch label{flex:1;text-align:center}body[data-view=output] #input-pane,body[data-view=input] #output-pane,.empty .beside{display:none}.empty .alone{display:block}.pane-head{border-top:0}.editor{height:62vh;min-height:260px;flex:none}.code{height:64vh;min-height:280px;flex:none}.credits{padding:10px 16px 16px}.credits .repo{margin-left:0}}@media(max-width:520px){.toolbar .field{flex:1 1 140px}#lang,.prefixed input[type=text]{width:100%}.prefixed input[type=text]{min-width:0}.options-toggle{margin-left:auto;padding:0 10px}.options-toggle:before{display:none}.engines span{padding:4px 8px}.lane{grid-template-columns:88px minmax(30px,1fr) auto}}@media(prefers-reduced-motion:reduce){.fill,.chip-bar>span{transition:none}.fill.pending,.chip-bar>.pending,.inspector:modal{animation:none}.more summary:before,.glance-more:after{transition:none}.code.stale pre#output{transition:none}}
