:root{--color-paper:#ece7dc;--color-ink:#15181d;--color-ink-soft:color-mix(in oklch, var(--color-ink) 68%, var(--color-paper));--color-rule:color-mix(in oklch, var(--color-ink) 18%, var(--color-paper));--color-mistake:oklch(66% .19 29);--color-fix:oklch(72% .15 152);--color-rewrite:oklch(70% .15 290);--color-focus:var(--color-ink);--color-mistake-ink:oklch(50% .19 29);--color-fix-ink:oklch(46% .13 152);--color-fix-wash:oklch(72% .15 152/.18);--color-fix-wash-strong:oklch(72% .15 152/.32);--color-rewrite-ink:oklch(48% .19 290);--color-rewrite-wash:oklch(62% .17 290/.12);--color-rewrite-wash-strong:oklch(62% .17 290/.24);--color-card:oklch(98.5% .006 85);--color-tile:color-mix(in oklch, var(--color-card) 45%, var(--color-paper));--color-on-accent:oklch(99% .006 85);--shadow-pop:0 10px 28px -8px oklch(20% .02 265/.28), 0 2px 6px -2px oklch(20% .02 265/.12);--font-mono:"IBM Plex Mono", ui-monospace, monospace;--font-sans:"IBM Plex Sans", system-ui, sans-serif;--text-sm:.875rem;--text-base:1.0625rem;--text-lg:1.25rem;--text-xl:clamp(1.5rem, 1.2rem + 1.2vw, 2rem);--text-display:clamp(2.5rem, 1.4rem + 5vw, 5.5rem);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4.5rem;--space-9:7rem;--radius-sm:4px;--radius-md:10px;--radius-lg:14px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-fast:.12s;--dur-base:.2s;--measure:62ch;--page-width:78rem;--page-gutter:clamp(var(--space-5), 4vw, var(--space-7))}:root:not([data-theme=light]){--color-paper:#15181d;--color-ink:#ece7dc;--color-mistake-ink:oklch(78% .14 29);--color-fix-ink:oklch(82% .14 152);--color-fix-wash:oklch(72% .15 152/.2);--color-fix-wash-strong:oklch(72% .15 152/.34);--color-rewrite-ink:oklch(82% .11 290);--color-rewrite-wash:oklch(66% .15 290/.2);--color-rewrite-wash-strong:oklch(66% .15 290/.34);--color-card:oklch(25% .012 265);--shadow-pop:0 12px 32px -8px oklch(8% .01 265/.6), 0 2px 6px -2px oklch(8% .01 265/.4);--color-on-accent:var(--color-paper)}@font-face{font-family:IBM Plex Sans;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-sans-latin-400-normal.woff2)format("woff2")}@font-face{font-family:IBM Plex Sans;font-weight:600;font-display:swap;src:url(/fonts/ibm-plex-sans-latin-600-normal.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-400-normal.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-weight:700;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-700-normal.woff2)format("woff2")}*,:before,:after{box-sizing:border-box}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}html[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html,body{overflow-x:clip}body{background:var(--color-paper);color:var(--color-ink);font:400 var(--text-base) / 1.55 var(--font-sans);font-variant-numeric:tabular-nums;caret-color:var(--color-ink);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,p,ul,dl,dd,figure{margin:0}h1,h2,h3{text-wrap:balance;font-style:normal}p{text-wrap:pretty}img,svg{max-width:100%;display:block}a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}::selection{background:color-mix(in oklch, var(--color-rewrite) 30%, transparent);color:var(--color-ink)}html{scrollbar-color:var(--color-rule) var(--color-paper)}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.demo{min-width:0;position:relative}.demo-field{padding:var(--space-5) var(--space-5) var(--space-7);border:1px solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-tile);font:400 var(--text-base) / 1.6 var(--font-sans);display:grid;position:relative}.demo-text,.demo-ghost{overflow-wrap:anywhere;grid-area:1/1}.demo-ghost{visibility:hidden}.demo-anchor{position:relative}.demo-mistake{background-image:linear-gradient(var(--color-mistake), var(--color-mistake));background-position:0 100%;background-repeat:no-repeat;background-size:100% 2px;padding-bottom:1px}.demo-selection{background:var(--color-rewrite-wash-strong);-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:3px}.demo-caret{vertical-align:text-bottom;background:var(--color-ink);width:1.5px;height:1.15em;margin-left:1px;animation:1.1s step-end infinite demo-blink;display:inline-block}@keyframes demo-blink{50%{opacity:0}}.demo-pop{z-index:1;gap:var(--space-2);width:max-content;max-width:min(20rem, calc(100vw - 4 * var(--space-5)));padding:var(--space-2);border-radius:var(--radius-md);background:var(--color-card);color:var(--color-ink);box-shadow:var(--shadow-pop), 0 0 0 1px var(--color-rule);font:400 var(--text-sm) / 1.45 var(--font-sans);white-space:normal;translate:var(--shift,0) 0;animation:demo-pop-in var(--dur-fast) var(--ease-out);flex-direction:column;display:flex;position:absolute}@keyframes demo-pop-in{0%{opacity:0;transform:translateY(-3px)}}.demo-card{top:calc(100% + var(--space-2));left:0}.demo-rewrites{max-width:min(22rem, calc(100vw - 4 * var(--space-5)))}.demo-was{padding:0 var(--space-1);color:var(--color-ink-soft);text-decoration:line-through}.demo-apply,.demo-variant,.demo-accept{position:relative}.demo-apply,.demo-variant,.demo-accept,.demo-rewrite-button{transition:background-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);border-radius:6px}.demo-apply{padding:var(--space-2) var(--space-3);background:var(--color-fix-wash);color:var(--color-fix-ink);font-size:var(--text-base);font-weight:600}.demo-heading{padding:0 var(--space-1);color:var(--color-ink-soft);font-size:.75rem;font-weight:600}.demo-variant{padding:var(--space-2) var(--space-3);background:var(--color-rewrite-wash);overflow-wrap:anywhere}.demo-variant[data-picked=true]{background:var(--color-rewrite-wash-strong)}[data-press=true]:is(.demo-apply,.demo-variant,.demo-accept,.demo-rewrite-button){transform:scale(.98)}.demo-apply[data-press=true]{background:var(--color-fix-wash-strong)}.demo-badge{right:var(--space-4);bottom:var(--space-4);min-width:24px;height:24px;padding:0 var(--space-2);background:var(--color-mistake-ink);color:var(--color-on-accent);border-radius:999px;place-items:center;display:grid;position:absolute}.demo-count{font:600 12px/1 var(--font-sans)}.demo-panel{right:0;bottom:calc(100% + var(--space-2));gap:0;min-width:14rem;padding:0}.demo-panel-head{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-3);border-bottom:1px solid var(--color-rule);display:flex}.demo-panel-head .demo-heading{color:var(--color-ink);font-size:var(--text-sm);padding:0}.demo-accept{padding:var(--space-1) var(--space-3);background:var(--color-fix-wash);color:var(--color-fix-ink);font-weight:600}.demo-accept[data-press=true]{background:var(--color-fix-wash-strong)}.demo-row{gap:var(--space-1);padding:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.demo-del{color:var(--color-mistake-ink);text-decoration:line-through;text-decoration-thickness:1.5px}.demo-ins{padding:0 var(--space-1);background:var(--color-fix-wash);color:var(--color-fix-ink);border-radius:3px}.demo-rewrite-button{top:calc(100% + var(--space-1));align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);background:var(--color-rewrite-ink);color:var(--color-on-accent);border-radius:999px;flex-direction:row;font-weight:600;left:0}.demo-rewrite-button svg{fill:currentColor}.demo-pointer{z-index:2;fill:var(--color-ink);stroke:var(--color-paper);stroke-width:1.2px;transition:transform var(--dur-fast) var(--ease-out);position:absolute;bottom:-12px;right:14%}.demo-pointer[data-press=true]{transform:scale(.88)}@media (prefers-reduced-motion:reduce){.demo-caret,.demo-pop{animation:none}.demo-pointer,.demo-apply,.demo-variant,.demo-accept,.demo-rewrite-button{transition:none}}@media (width>=40rem){.demo-rewrites{max-width:34rem}}@media (width>=64rem){.demo-rewrites{max-width:46rem}}@media (width<=40rem){.demo-field{padding:var(--space-4) var(--space-4) var(--space-7);font-size:.9375rem}.demo-pop{font-size:.8125rem}.demo-variant{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}}.vignette{justify-content:center;gap:var(--space-3);min-height:9rem;padding:var(--space-5);border:1px solid var(--color-rule);border-radius:var(--radius-lg);background:var(--color-tile);color:var(--color-ink);font:400 var(--text-base) / 1.6 var(--font-sans);flex-direction:column;display:flex;position:relative}.block .vignette p{color:var(--color-ink)}.vf-word{display:inline-grid;position:relative}.vf-from,.vf-to{grid-area:1/1}.vf-from{animation:vf-from 6s var(--ease-out) infinite}.vf-to{background:var(--color-fix-wash);color:var(--color-fix-ink);opacity:0;animation:vf-to 6s var(--ease-out) infinite;border-radius:3px}.vignette .vf-card{top:calc(100% + var(--space-2));left:calc(-1 * var(--space-2));opacity:0;animation:vf-card 6s var(--ease-out) infinite;flex-direction:row;align-items:center}.vf-apply{animation:vf-press 6s var(--ease-out) infinite}@keyframes vf-from{0%,58%{opacity:1}62%,94%{opacity:0}}@keyframes vf-to{0%,58%{opacity:0}62%,94%{opacity:1}}@keyframes vf-card{0%,6%{opacity:0;transform:translateY(-4px)}12%,56%{opacity:1;transform:none}60%,to{opacity:0;transform:none}}@keyframes vf-press{0%,46%{background:var(--color-fix-wash);transform:none}52%{background:var(--color-fix-wash-strong);transform:scale(.95)}56%,to{transform:none}}@keyframes vf-undo{0%,62%{opacity:0;transform:translateY(-4px)}68%,92%{opacity:1;transform:none}96%,to{opacity:0}}.vf-undo{top:calc(100% + var(--space-3));gap:var(--space-1);opacity:0;animation:vf-undo 6s var(--ease-out) infinite;display:flex;position:absolute;left:0}.vf-undo kbd{padding:0 var(--space-2);border-radius:var(--radius-sm);box-shadow:inset 0 0 0 1px var(--color-rule), 0 1px 0 var(--color-rule);color:var(--color-ink-soft);font:400 .75rem / 1.7 var(--font-mono)}.vignette>p:only-child{padding-block-end:var(--space-8)}.vr-sel{-webkit-box-decoration-break:clone;box-decoration-break:clone;animation:vr-sel 7s var(--ease-out) infinite;border-radius:3px}.vr-variants{gap:var(--space-1);font-size:var(--text-sm);flex-direction:column;padding:0;line-height:1.45;list-style:none;display:flex}.vr-variants li{padding:var(--space-1) var(--space-3);background:var(--color-rewrite-wash);opacity:0;animation:vr-variant 7s var(--ease-out) infinite;animation-delay:calc(var(--i) * .18s);border-radius:6px}.vr-variants li:nth-child(2){animation-name:vr-picked}@keyframes vr-sel{0%,6%{background:0 0}12%,90%{background:var(--color-rewrite-wash-strong)}96%,to{background:0 0}}@keyframes vr-variant{0%,18%{opacity:0;transform:translateY(-4px)}24%,88%{opacity:1;transform:none}94%,to{opacity:0}}@keyframes vr-picked{0%,18%{opacity:0;transform:translateY(-4px)}24%,56%{opacity:1;transform:none}62%,88%{opacity:1;background:var(--color-rewrite-wash-strong);box-shadow:inset 0 0 0 1px var(--color-rewrite)}94%,to{opacity:0}}.vm-label{color:var(--color-ink-soft);font-size:.75rem;font-weight:600}.block .vignette .vm-label{color:var(--color-ink-soft)}.vm-chips{gap:var(--space-2);flex-wrap:wrap;padding:0;list-style:none;display:flex}.vm-chips li{padding:0 var(--space-3);box-shadow:inset 0 0 0 1px var(--color-rule);font:400 var(--text-sm) / 1.9 var(--font-mono);border-radius:999px}.vm-chips .vm-new{background:var(--color-fix-wash);box-shadow:inset 0 0 0 1px var(--color-fix);color:var(--color-fix-ink);animation:vm-new 6s var(--ease-out) infinite}.vm-ignored{align-items:center;gap:var(--space-2);width:fit-content;padding:var(--space-1) var(--space-3);box-shadow:inset 0 0 0 1px var(--color-rule);font-size:var(--text-sm);background:linear-gradient(var(--color-ink-soft), var(--color-ink-soft)) 0 50% / 100% 1.5px no-repeat;animation:vm-ignore 6s var(--ease-out) infinite;border-radius:6px;flex-wrap:wrap;justify-self:start;display:flex}@keyframes vm-new{0%,12%{opacity:0;transform:scale(.7)}20%,90%{opacity:1;transform:none}96%,to{opacity:0}}@keyframes vm-ignore{0%,44%{opacity:1;background-size:0 1.5px}54%,90%{opacity:.55;background-size:100% 1.5px}96%,to{opacity:1;background-size:0 1.5px}}@media (prefers-reduced-motion:reduce){.vignette *{animation:none!important}.vignette .vf-card{opacity:1}.vignette .vr-sel{background:var(--color-rewrite-wash-strong)}.vignette .vr-variants li{opacity:1}.vignette .vr-variants li:nth-child(2){background:var(--color-rewrite-wash-strong);box-shadow:inset 0 0 0 1px var(--color-rewrite)}.vignette .vm-ignored{opacity:.55;background-size:100% 1.5px}}.site-header,main,.site-footer{width:min(100%, var(--page-width));padding-inline:var(--page-gutter);margin-inline:auto}.site-header a,.ctas a,.other-downloads a,.footer-links a{white-space:nowrap}a:active{color:var(--color-ink-soft)}.icon{fill:currentColor;flex:none}.languages a,.github,.footer-links a{padding-block:var(--space-1);display:inline-block}.site-header{align-items:center;gap:var(--space-3) var(--space-6);padding-block:var(--space-5);flex-wrap:wrap;display:flex}.wordmark{align-items:center;gap:var(--space-2);font:700 var(--text-lg) / 1 var(--font-mono);letter-spacing:-.02em;text-decoration:none;display:inline-flex}.header-actions{align-items:center;gap:var(--space-4);margin-inline-start:auto;display:flex}.github{align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:600;text-decoration:none;display:inline-flex}.github:hover{text-decoration:underline}.theme-toggle{border:1px solid var(--color-rule);width:36px;height:36px;color:var(--color-ink);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);background:0 0;border-radius:999px;place-items:center;padding:0;display:grid}.theme-toggle:hover{background:var(--color-tile)}.theme-toggle:active{transform:scale(.94)}.site-header nav{flex-basis:100%;order:1}@media (width>=48rem){.site-header nav{flex-basis:auto;order:0;margin-inline-start:auto}.header-actions{margin-inline-start:0}}.languages{gap:var(--space-1) var(--space-4);font-size:var(--text-sm);flex-wrap:wrap;padding:0;list-style:none;display:flex}.languages a{color:var(--color-ink-soft);text-decoration-color:#0000}.languages a:hover{color:var(--color-ink);text-decoration-color:currentColor}.lang-code{display:none}@media (width<=24rem){.lang-name{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.lang-code{display:inline}.github .github-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.languages a[aria-current=page]{color:var(--color-ink);font-weight:600;text-decoration-color:currentColor;text-decoration-thickness:2px}.hero{align-items:center;gap:var(--space-5);padding-block:var(--space-8) var(--space-7);text-align:center;flex-direction:column;display:flex}.hero h1{min-width:0;font:700 var(--text-display) / .98 var(--font-mono);letter-spacing:-.04em;overflow-wrap:anywhere}.tagline{max-width:30ch;color:var(--color-ink-soft);font:400 var(--text-xl) / 1.3 var(--font-mono);letter-spacing:-.01em;text-wrap:balance}.ctas{justify-content:center;gap:var(--space-3);flex-wrap:wrap;margin-block-start:var(--space-2);display:flex}.button{align-items:center;gap:var(--space-2);min-height:48px;padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);font:600 var(--text-base) / 1 var(--font-sans);transition:background-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);text-decoration:none;display:inline-flex}.button:active{transform:translateY(1px)}.button-primary{background:var(--color-ink);color:var(--color-paper)}.button-primary:hover{background:color-mix(in oklch, var(--color-ink) 86%, var(--color-paper))}.button-primary:active{color:var(--color-paper)}.button-ghost{box-shadow:inset 0 0 0 1px var(--color-rule)}.button-ghost:hover{background:var(--color-tile);box-shadow:inset 0 0 0 1px var(--color-ink-soft)}.cta-detail,.other-downloads{color:var(--color-ink-soft);font-size:var(--text-sm)}.cta-detail{font-family:var(--font-mono);margin-block-start:calc(-1 * var(--space-3))}.pieces{justify-content:center;align-items:center;gap:var(--space-1) var(--space-2);flex-wrap:wrap;display:flex}.pieces>*{white-space:nowrap}.other-downloads{column-gap:var(--space-4)}.cta-detail>*+:before{content:"·" / "";color:var(--color-ink-soft);margin-inline-end:var(--space-2);display:inline-block}.other-downloads a{align-items:center;gap:var(--space-1);padding-block:var(--space-1);color:var(--color-ink);display:inline-flex}.hero-demo{z-index:1;max-width:52rem;margin-inline:auto;padding-block-end:9.5rem;position:relative}@media (width<=40rem){.hero-demo{padding-block-end:8.5rem}}.runs{align-items:center;gap:var(--space-4);padding-block:var(--space-6) var(--space-8);flex-direction:column;display:flex}.runs-title{color:var(--color-ink-soft);font:400 var(--text-sm) / 1 var(--font-mono)}.marks{gap:var(--space-3);color:var(--color-ink);flex-wrap:wrap;padding:0;list-style:none;display:flex}.marks-labelled{gap:var(--space-2)}.marks-labelled li{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);box-shadow:inset 0 0 0 1px var(--color-rule);font:400 var(--text-sm) / 1.4 var(--font-mono);white-space:nowrap;border-radius:999px;display:inline-flex}.marks-labelled .icon{width:16px;height:16px}.runs .marks-labelled{justify-content:center;gap:var(--space-3) var(--space-6)}.runs .marks-labelled li{box-shadow:none;color:var(--color-ink-soft);font:400 var(--text-base) / 1 var(--font-sans);padding:0}.runs .marks-labelled .icon{width:22px;height:22px;color:var(--color-ink)}.block{gap:var(--space-5);flex-direction:column;padding-block-end:var(--space-8);display:flex}.block h2,.closing h2{font:700 var(--text-xl) / 1.15 var(--font-mono);letter-spacing:-.02em}.block h3,.host-title{font:600 var(--text-base) / 1.35 var(--font-sans)}.block p{color:var(--color-ink-soft);line-height:1.6}.block-intro{max-width:var(--measure)}.features{gap:var(--space-6);display:grid}.feature{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.feature .vignette{margin-block-end:var(--space-3)}@media (width>=52rem){.features{gap:0 var(--space-5);grid-template-columns:repeat(3,minmax(0,1fr))}.feature{grid-row:span 3;grid-template-rows:subgrid;align-content:start;gap:var(--space-2);display:grid}}.machine{align-items:start;gap:var(--space-5);display:grid}.panel{gap:var(--space-4);min-width:0;padding:var(--space-5);border:1px solid var(--color-rule);border-radius:var(--radius-lg);background:var(--color-tile);flex-direction:column;display:flex}@media (width>=52rem){.machine{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}}.hosts{flex-direction:column;padding:0;list-style:none;display:flex}.hosts>li{align-items:center;gap:var(--space-3) var(--space-5);padding-block:var(--space-4);border-block-start:1px solid var(--color-rule);display:grid}@media (width>=40rem){.hosts>li{grid-template-columns:minmax(0,1fr) auto}}.hosts .host-title{color:var(--color-ink)}.hosts .marks .icon{width:24px;height:24px}.host-unsupported p{font-size:var(--text-sm)}.host-unsupported .marks{color:var(--color-ink-soft)}.results{gap:var(--space-5);padding-block:var(--space-5);border-block:1px solid var(--color-rule);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.results div{gap:var(--space-1);flex-direction:column-reverse;min-width:0;display:flex}.results dd{font:700 var(--text-xl) / 1.1 var(--font-mono);letter-spacing:-.02em;white-space:nowrap;margin:0}.results dt{color:var(--color-ink-soft);font-size:var(--text-sm)}@media (width>=52rem){.results{grid-template-columns:repeat(4,minmax(0,1fr))}}.closing{align-items:center;gap:var(--space-5);padding-block:var(--space-6) var(--space-9);text-align:center;flex-direction:column;display:flex}.closing h2{letter-spacing:-.03em;font-size:clamp(1.75rem,1rem + 3vw,3rem);line-height:1.05}.site-footer{gap:var(--space-3);padding-block:var(--space-6) var(--space-7);background:linear-gradient(var(--color-rule), var(--color-rule)) top center / calc(100% - 2 * var(--page-gutter)) 1px no-repeat;color:var(--color-ink-soft);font:400 var(--text-sm) / 1.6 var(--font-mono);flex-direction:column;display:flex}.site-footer a{color:var(--color-ink)}.footer-links{gap:var(--space-1) var(--space-5);flex-wrap:wrap;padding:0;list-style:none;display:flex}
