@font-face{font-family:"Instrument Serif";font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/35f3de0ebb1cfc70-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:"Instrument Serif";font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e6099e249fd938cc-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:"Instrument Serif Fallback";src:local("Times New Roman");ascent-override:117.94%;descent-override:36.93%;line-gap-override:0.00%;size-adjust:83.94%}.__className_eb6a5a{font-family:"Instrument Serif","Instrument Serif Fallback";font-weight:400;font-style:normal}.__variable_eb6a5a{--display:"Instrument Serif","Instrument Serif Fallback"}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans Fallback;src:local("Arial");ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.00%;size-adjust:101.17%}.__className_987bfa{font-family:IBM Plex Sans,IBM Plex Sans Fallback;font-style:normal}.__variable_987bfa{--sans:"IBM Plex Sans","IBM Plex Sans Fallback"}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/58f386aa6b1a2a92-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/011e180705008d6f-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7ba5fb2a8c88521c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/92eeb95d069020cc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d3ebbfd689654d3a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ef4d5661765d0e49-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/d29838c109ef09b4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e40af3453d7c920a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/99dcf268bda04fe5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/98e207f02528a563-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono Fallback;src:local("Arial");ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.00%;size-adjust:134.59%}.__className_9f0762{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.__variable_9f0762{--mono:"IBM Plex Mono","IBM Plex Mono Fallback"}:root{--ink:#111111;--ink-2:#5c5c5c;--line:#e2e2e2;--line-2:#111111;--red:#d8261c;--red-soft:#fbe9e7;--bg:#ffffff}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 var(--sans)}a{color:inherit;text-decoration:none}.mono,code,pre{font-family:var(--mono)}.wrap{max-width:1120px;margin:0 auto;padding:0 28px}.bar{border-bottom:1px solid var(--line-2)}.bar-in{display:flex;align-items:flex-end;justify-content:space-between;padding-top:22px;padding-bottom:14px}.wordmark{margin:0;font:500 7.4px/1.15 var(--mono);white-space:pre;color:var(--ink)}.nav{display:flex;gap:28px;font-size:15px;font-weight:500}.nav a:hover{color:var(--red)}.with-mark{display:inline-flex;align-items:center;gap:7px}.hero{padding:72px 0 24px;display:grid;grid-template-columns:1.1fr .9fr;grid-gap:56px;gap:56px;align-items:end}.hero h1{font:400 clamp(44px,5.6vw,76px)/1 var(--display);letter-spacing:-.01em;margin:0}.hero h1 em{font-style:italic;color:var(--red)}.hero p{font-size:18px;line-height:1.55;max-width:44ch;margin:0;color:var(--ink)}.install{display:inline-flex;align-items:center;gap:14px;margin-top:26px;padding:12px 16px;border:1px solid var(--line-2);font:500 14px/1 var(--mono)}.install span{color:var(--ink-2)}.cta{display:inline-flex;align-items:center;gap:8px;margin:26px 16px 0 0;padding:12px 18px;background:var(--ink);color:#fff;font-weight:500;font-size:15px}.cta:hover{background:var(--red)}.timeline{width:100%;height:auto;display:block;margin:36px 0 0}.tl-base,.tl-tick{stroke:var(--ink);stroke-width:1.5}.tl-label{font:500 12px var(--mono);fill:var(--ink-2);text-anchor:middle}.tl-label.end{fill:var(--red);text-anchor:end}.tl-note{font:500 12px var(--mono);fill:var(--ink);text-anchor:middle}.tl-wake{fill:var(--bg);stroke:var(--ink);stroke-width:2}.tl-stem{stroke:var(--line);stroke-width:1}.tl-hand line{stroke:var(--red);stroke-width:3;stroke-linecap:round}.tl-hand circle{fill:var(--red)}.caption{font-size:13px;color:var(--ink-2);margin:8px 0 0}.caption .mono{color:var(--ink)}.record{border-top:1px solid var(--line-2);margin-top:48px}.record-row{display:grid;grid-template-columns:17ch 7ch 1fr 6ch;grid-gap:0 20px;gap:0 20px;padding:12px 0;border-bottom:1px solid var(--line);align-items:baseline}.record-row .t{white-space:nowrap}.record-row .t,.record-row .who{font:500 13px var(--mono);color:var(--ink-2)}.record-row .what{font-size:15px}.stamp{justify-self:end;font:600 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:5px 7px;border:1.5px solid}.stamp.ok{color:var(--ink-2)}.stamp.pass{color:var(--ink)}.stamp.fail{color:var(--red);background:var(--red-soft)}.stamp.review{color:var(--ink-2)}.section{padding:64px 0 0}.section h2{font:400 34px/1.1 var(--display);margin:0 0 22px}.three{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:40px;gap:40px}.three h3{font:500 13px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid var(--line-2)}.rows{list-style:none;padding:0;margin:0}.rows li{display:flex;gap:12px;align-items:baseline;padding:9px 0;border-bottom:1px solid var(--line);font-size:15px}.rows .stamp{justify-self:start;flex:none}.chips{display:flex;flex-wrap:wrap;gap:8px 10px}.chips span{font:500 13px var(--mono);padding:6px 10px;border:1px solid var(--line-2)}.code{margin:0;padding:18px 20px;background:var(--ink);color:#fff;font:13.5px/1.7 var(--mono);overflow-x:auto}.code .c{color:#9a9a9a}.qlist{list-style:none;padding:0;margin:0;border-top:1px solid var(--line-2)}.qlist li{border-bottom:1px solid var(--line)}.qlist a{display:flex;justify-content:space-between;gap:20px;padding:14px 0;font-size:17px}.qlist a:hover{color:var(--red)}.qlist a:after{content:"→";color:var(--ink-2)}.makers{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:40px;gap:40px}.makers a.big{font:400 26px/1.15 var(--display);display:block;margin-bottom:8px}.makers a.big:hover{color:var(--red)}.makers p{font-size:15px;color:var(--ink-2);margin:0}.foot{border-top:1px solid var(--line-2);margin-top:88px}.foot-in{display:flex;flex-wrap:wrap;gap:16px 40px;justify-content:space-between;padding-top:22px;padding-bottom:56px;font-size:14px;color:var(--ink-2)}.foot a{color:var(--ink)}.foot-k{font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;margin-right:12px}.qa-head{padding:64px 0 0}.qa-head h1{font:400 clamp(38px,4.6vw,56px)/1.05 var(--display);margin:0 0 12px}.qa-head .updated{color:var(--ink-2);font-size:14px;margin:0 0 32px}.qa{padding:48px 0 8px;border-top:1px solid var(--line-2);scroll-margin-top:24px;max-width:76ch}.qa h2{font:400 30px/1.15 var(--display);margin:0 0 14px}.answer{font-size:18px;line-height:1.55;margin:0 0 18px;padding-left:18px;border-left:3px solid var(--red)}.qa p{font-size:15.5px}.qa code{font-size:.9em;background:#f3f3f3;padding:.1em .35em}.qa pre code{font-size:inherit;background:none;padding:0;color:inherit}.qa ol,.qa ul{padding-left:22px}.qa li{margin:5px 0;font-size:15.5px}.permalink{color:var(--ink-2);margin-left:8px;font-size:18px}.qa.page{border-top:0;padding-top:64px}.qa.page h1{font:400 clamp(34px,4.2vw,50px)/1.08 var(--display);margin:0 0 18px}.qa.page .updated{color:var(--ink-2);font-size:14px;margin-top:40px}@media (max-width:860px){.hero{padding-top:44px}.hero,.makers,.three{grid-template-columns:1fr;gap:28px}.record-row{grid-template-columns:1fr 6ch}.record-row .who{display:none}.record-row .t{grid-column:1/-1}.wordmark{font-size:4.2px}.nav{gap:18px;font-size:14px}.tl-note{display:none}}