@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/fonts/jetbrains-mono-latin-var.woff2) format("woff2")}:root{--bg: #f5f5f3;--fill: #eaeae7;--ink: #111111;--ink-2: #474746;--ink-3: #686866;--line: #d9d9d5;--line-2: #b9b9b5;--accent: #0a69b6;--on-accent: #ffffff;--art-0: #a8a8a5;--art-1: #5e5e5c;--art-2: #111111;--art-3: #0a69b6;--mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--gut: clamp(16px, 4vw, 48px);--ease: cubic-bezier(.2, .8, .2, 1);color-scheme:light}:root[data-theme=dark]{--bg: #0b0b0b;--fill: #181818;--ink: #ededeb;--ink-2: #b4b4b1;--ink-3: #8f8f8c;--line: #2a2a29;--line-2: #4a4a48;--accent: #5cb6f6;--on-accent: #0b0b0b;--art-0: #585856;--art-1: #a2a29f;--art-2: #f0f0ee;--art-3: #5cb6f6;color-scheme:dark}@media(prefers-color-scheme:dark){:root:not([data-theme]){--bg: #0b0b0b;--fill: #181818;--ink: #ededeb;--ink-2: #b4b4b1;--ink-3: #8f8f8c;--line: #2a2a29;--line-2: #4a4a48;--accent: #5cb6f6;--on-accent: #0b0b0b;--art-0: #585856;--art-1: #a2a29f;--art-2: #f0f0ee;--art-3: #5cb6f6;color-scheme:dark}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;background:var(--bg)}body{margin:0;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--bg);color:var(--ink);font-family:var(--mono);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit}button{font:inherit;color:inherit}p{text-wrap:pretty}::selection{background:var(--accent);color:var(--on-accent)}:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.skip{position:fixed;z-index:10;left:12px;top:-60px;padding:10px 14px;background:var(--ink);color:var(--bg);font-weight:600;text-decoration:none}.skip:focus{top:12px}.top{display:flex;align-items:center;justify-content:space-between;gap:12px;height:60px;padding:0 var(--gut)}.mark{display:block;width:28px;height:28px}.mark .v{fill:var(--ink);stroke:var(--ink);stroke-width:.5;stroke-linejoin:round}.mark .side{fill:var(--ink-3);stroke:var(--ink-3);stroke-width:.5;stroke-linejoin:round}.mark .ring{fill:none;stroke:var(--accent)}.mark .ring.back{stroke-opacity:.5}.mark .cut{fill:none;stroke:var(--bg)}.icon-btn{width:40px;height:40px;display:grid;place-items:center;border:0;background:none;color:var(--ink-2);cursor:pointer}.icon-btn:hover{color:var(--ink);background:var(--fill)}.icon-btn svg{width:18px;height:18px}html:not(.js) .icon-btn{display:none}.art{position:relative;container-type:inline-size;overflow:hidden;user-select:none}.art pre{position:absolute;inset:0;margin:0;font:500 calc(100cqi / var(--em)) / 1 var(--mono);letter-spacing:0;white-space:pre;font-kerning:none;font-variant-ligatures:none;font-feature-settings:"calt" 0,"liga" 0}.art .t0{color:var(--art-0)}.art .t1{color:var(--art-1)}.art .t2{color:var(--art-2)}.art .t3{color:var(--art-3)}.art canvas{position:absolute;inset:0;width:100%;height:100%}@media(prefers-reduced-motion:no-preference){html:not(.js) .art pre{animation:print 1.3s steps(24) .15s both}html.js .art pre{visibility:hidden;animation:failsafe 0s 2.5s forwards}html.js .art.live pre{animation:none}}@keyframes print{0%{clip-path:inset(0 0 100% 0)}}@keyframes failsafe{to{visibility:visible}}.hub{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;padding:0 var(--gut) 24px}.hero{width:min(420px,88vw)}.id{margin-top:18px;text-align:center}h1{margin:0;font-size:28px;font-weight:650;letter-spacing:-.03em;line-height:1.15}.lede{margin:8px 0 0;font-family:var(--sans);font-size:16px;line-height:1.45;color:var(--ink-2)}.dir{width:min(640px,100%);margin-top:30px}.dir ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}.dir li{border-bottom:1px solid var(--line)}.dir .row{display:grid;grid-template-columns:3ch minmax(0,1fr) auto 2ch;align-items:center;column-gap:16px;padding:14px 8px;text-decoration:none;transition:background-color .15s,color .15s}.dir .n{align-self:start;padding-top:3px;font-size:12.5px;color:var(--accent);font-variant-numeric:tabular-nums}.dir .t{display:block;font-size:16px;font-weight:650;letter-spacing:-.02em}.dir .d{display:block;margin-top:2px;font-family:var(--sans);font-size:14.5px;line-height:1.4;color:var(--ink-2)}.dir .u{font-size:12.5px;color:var(--ink-3);white-space:nowrap}.dir .go{justify-self:end;color:var(--ink-3);transition:transform .2s var(--ease)}.dir .row:is(:hover,:focus-visible){background:var(--ink);color:var(--bg);outline-offset:0}.dir .row:is(:hover,:focus-visible) :is(.n,.d,.u){color:var(--bg)}.dir .row:is(:hover,:focus-visible) .go{color:var(--art-3)}.dir .row:is(:hover,:focus-visible) .go{transform:translate(4px)}.else{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 22px;margin:22px 0 0;padding:0;list-style:none;font-size:13.5px}.else a{display:inline-block;padding:6px 2px;color:var(--ink-2);text-decoration:none}.else a span{color:var(--ink-3)}.else a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px;text-decoration-color:var(--accent)}.foot{display:flex;justify-content:center;padding:14px var(--gut) 18px;font-size:12.5px;color:var(--ink-3)}@media(max-width:560px){h1{font-size:24px}.lede{font-size:15px}.hero{width:min(340px,86vw)}.dir{margin-top:24px}.dir .row{grid-template-columns:3ch minmax(0,1fr) 2ch;column-gap:12px;padding:13px 4px}.dir .u{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
