@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/instrument-sans-latin-400-normal.DRC__1Mx.woff2)format("woff2"),url(/_astro/instrument-sans-latin-400-normal.D1W7dsQl.woff)format("woff")}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/instrument-sans-latin-500-normal.Dk9ku72i.woff2)format("woff2"),url(/_astro/instrument-sans-latin-500-normal.Z6ESRlEs.woff)format("woff")}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/instrument-sans-latin-600-normal.B7fBEWYG.woff2)format("woff2"),url(/_astro/instrument-sans-latin-600-normal.B9e8oLYv.woff)format("woff")}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/instrument-sans-latin-700-normal.CYfAanHo.woff2)format("woff2"),url(/_astro/instrument-sans-latin-700-normal.DfAjL1vF.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-500-normal.CB9ihrfo.woff)format("woff")}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/instrument-sans-latin-ext-400-normal.Q_nF8v4l.woff2)format("woff2"),url(/_astro/instrument-sans-latin-ext-400-normal.r32jotim.woff)format("woff")}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/instrument-sans-latin-ext-600-normal.BsaQcF38.woff2)format("woff2"),url(/_astro/instrument-sans-latin-ext-600-normal.DMks36a2.woff)format("woff")}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/instrument-sans-latin-ext-700-normal.ClYbKGw-.woff2)format("woff2"),url(/_astro/instrument-sans-latin-ext-700-normal.BQc-7cTM.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-ext-400-normal.BmRBH3aV.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-400-normal.D3D2R8hC.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-400-normal.BSMlKf0J.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-400-normal.CEL4l2ZJ.woff)format("woff")}:root{--paper:#f4f6f5;--paper-2:#eaeeed;--ink:#101314;--ink-2:#3e4648;--ink-3:#5b6366;--rule:#d7dddc;--accent:#4e9a00;--lime:#af0;--deep:#063b44;--sans:"Instrument Sans", "PingFang SC", "PingFang TC", "Microsoft YaHei", "Microsoft JhengHei", "Noto Sans SC", "Noto Sans TC", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--radius:6px;--wrap:1180px;color-scheme:light}:lang(zh-Hant){--sans:"Instrument Sans", "PingFang TC", "Microsoft JhengHei", "Noto Sans TC", system-ui, sans-serif}:lang(zh-Hans){--sans:"Instrument Sans", "PingFang SC", "Microsoft YaHei", "Noto Sans SC", system-ui, sans-serif}:lang(ja){--sans:"Instrument Sans", "Hiragino Sans", "Yu Gothic", "Meiryo", "Noto Sans JP", system-ui, sans-serif}:lang(ko){--sans:"Instrument Sans", "Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans KR", system-ui, sans-serif}:lang(ru),:lang(uk),:lang(el){--sans:"Instrument Sans", "Segoe UI", "Helvetica Neue", "Noto Sans", Arial, system-ui, sans-serif}:lang(ar){--sans:"Geeza Pro", "Segoe UI", "Noto Sans Arabic", Tahoma, system-ui, sans-serif}:lang(th){--sans:"Instrument Sans", "Thonburi", "Leelawadee UI", "Noto Sans Thai", Tahoma, system-ui, sans-serif}:is(:lang(zh-Hans),:lang(zh-Hant),:lang(ja),:lang(ko)) :is(h1,h2,h3){letter-spacing:0;word-break:keep-all;overflow-wrap:anywhere}:is(:lang(ar),:lang(th)) :is(h1,h2,h3,.logo){letter-spacing:0}:lang(ar) :is(.crumbs,.meta,.block-label,.posts time,.langs,.downloads .size,.bar .who span){font-family:var(--sans);letter-spacing:0}*{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--paper);color:var(--ink);font:17px/1.6 var(--sans);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit}img{max-width:100%;height:auto;display:block}code{font:.9em var(--mono);direction:ltr;unicode-bidi:isolate}.wrap{max-width:var(--wrap);padding-left:max(24px, env(safe-area-inset-left));padding-right:max(24px, env(safe-area-inset-right));margin:0 auto}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.nav{border-bottom:1px solid var(--rule);background:var(--paper);z-index:10;position:sticky;top:0}.nav .wrap{justify-content:space-between;align-items:center;gap:20px;height:64px;display:flex}.logo{letter-spacing:-.02em;align-items:center;gap:10px;font-size:20px;font-weight:700;text-decoration:none;display:inline-flex}.logo img{border-radius:6px;width:26px;height:26px}.logo span{direction:ltr;unicode-bidi:isolate}.logo i{color:var(--accent);font-style:normal}.nav nav{color:var(--ink-2);align-items:center;gap:28px;font-size:15px;display:flex}.nav nav a{text-decoration:none}.nav nav a:hover{color:var(--ink)}@media (width<=720px){.nav nav .hide-sm{display:none}}.langs{font:13px/1 var(--mono);position:relative}.langs summary{cursor:pointer;color:var(--ink);border:1px solid var(--rule);border-radius:var(--radius);padding:8px 10px;list-style:none}.langs summary::-webkit-details-marker{display:none}.langs summary:after{content:" ▾";color:var(--ink-3)}.langs ul{inset-inline-end:0;background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius);z-index:20;min-width:190px;max-height:70vh;font:14px/1.2 var(--sans);margin:0;padding:6px 0;list-style:none;position:absolute;top:calc(100% + 6px);overflow-y:auto}.langs li a{color:var(--ink-2);padding:8px 14px;text-decoration:none;display:block}.langs li a:hover{background:var(--paper-2);color:var(--ink)}.langs li a[aria-current=true]{color:var(--ink);font-weight:600}.lang-suggest{padding:8px max(24px, env(safe-area-inset-left));background:var(--paper-2);border-bottom:1px solid var(--rule);color:var(--ink);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 20px;font-size:15px;display:flex}.lang-suggest-actions{flex-wrap:wrap;gap:8px;display:flex}.lang-suggest .btn{cursor:pointer;padding:8px 14px;font-size:14px}.lang-suggest button.btn{font:600 14px/1 var(--sans);background:0 0}.btn{font:600 15px/1 var(--sans);border-radius:var(--radius);padding:15px 20px;text-decoration:none;display:inline-block}.btn.primary{background:var(--ink);color:var(--paper)}.btn.primary:hover{background:#262b2d}.btn.secondary{border:1px solid var(--ink);color:var(--ink);padding:14px 19px}.btn.secondary:hover{background:var(--paper-2)}.hero .wrap{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:56px;padding-block:72px 56px;display:grid}.hero h1{letter-spacing:-.035em;text-wrap:balance;margin:0;font-size:clamp(2.6rem,5.4vw,4.4rem);font-weight:600;line-height:1.02}.hero .lead{color:var(--ink-2);max-width:31rem;margin:22px 0 0;font-size:1.18rem}.hero .btns{flex-wrap:wrap;gap:12px;margin-top:32px;display:flex}.hero .meta{font:13px/1.4 var(--mono);color:var(--ink-3);margin-top:14px}.hero .art{aspect-ratio:1;background:var(--deep);border-radius:8px;overflow:hidden}.hero .art img{object-fit:cover;width:100%;height:100%}.specs{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.specs .wrap{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.specs .wrap>div{padding-block:22px;padding-inline:0 24px}.specs .wrap>div+div{border-inline-start:1px solid var(--rule);padding-inline-start:24px}.specs b{font:500 28px/1.1 var(--mono);letter-spacing:-.02em;display:block}.specs span{color:var(--ink-3);font-size:13px}@media (width<=880px){.hero .wrap{grid-template-columns:1fr;padding-block:48px 40px}.specs .wrap{grid-template-columns:repeat(2,minmax(0,1fr))}.specs .wrap>div:nth-child(3){border-inline-start:0;padding-inline-start:0}.specs .wrap>div:nth-child(n+3){border-top:1px solid var(--rule)}}section{padding-block:88px}section.band{background:var(--paper-2)}.sec-head{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);align-items:end;gap:40px;margin-bottom:40px;display:grid}h2{letter-spacing:-.03em;text-wrap:balance;margin:0;font-size:clamp(1.9rem,3.6vw,2.7rem);font-weight:600;line-height:1.08}.sec-head p{color:var(--ink-2);max-width:40rem;margin:0}@media (width<=880px){.sec-head{grid-template-columns:1fr;gap:14px}section{padding-block:64px}}.downloads{border-collapse:collapse;width:100%}.downloads td{border-top:1px solid var(--rule);vertical-align:middle;padding:18px 0}.downloads tr:last-child td{border-bottom:1px solid var(--rule)}.downloads .os{font-size:1.05rem;font-weight:600}.downloads .size{font:14px var(--mono);color:var(--ink-3);text-align:end;white-space:nowrap;padding-inline-end:20px}.downloads .get{text-align:end;white-space:nowrap;width:1%}.downloads .get a{border:1px solid var(--ink);border-radius:var(--radius);padding:9px 14px;font-size:15px;font-weight:600;text-decoration:none;display:inline-block}.downloads .get a:hover{background:var(--ink);color:var(--paper)}.downloads tr.match .os:after{content:attr(data-match);font:500 12px/1 var(--mono);color:var(--accent);vertical-align:2px;white-space:nowrap;margin-inline-start:10px}.downloads tr.match .get a{background:var(--ink);color:var(--paper)}.dl-foot{color:var(--ink-3);flex-wrap:wrap;gap:8px 28px;margin-top:18px;font-size:15px;display:flex}.dl-foot a{color:var(--ink-2)}@media (width<=640px){.downloads .size{padding-inline-end:12px}.downloads tr.match .os:after{margin:6px 0 0;display:block}}.start{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:56px;display:grid}.steps{counter-reset:s;gap:0;margin:28px 0 0;padding:0;list-style:none;display:grid}.steps li{counter-increment:s;border-top:1px solid var(--rule);grid-template-columns:44px 1fr;padding:20px 0;display:grid}.steps li:last-child{border-bottom:1px solid var(--rule)}.steps li:before{content:"0" counter(s);font:500 14px/1.7 var(--mono);color:var(--ink-3)}.steps b{font-weight:600;display:block}.steps li>div>span{color:var(--ink-2);font-size:16px}.steps .cmd{background:var(--ink);color:#e9eeed;border-radius:var(--radius);font:14px var(--mono);align-items:center;gap:12px;margin-top:10px;padding:9px 9px 9px 14px;display:inline-flex}.cmd code{color:#f2f6f5}.cmd button{font:500 12px var(--mono);color:#e9eeed;cursor:pointer;background:#2a3032;border:0;border-radius:4px;padding:6px 9px}.shot{border:1px solid var(--rule);border-radius:8px;overflow:hidden}@media (width<=880px){.start{grid-template-columns:1fr}}.bars{gap:0;display:grid}.bar{border-top:1px solid var(--rule);grid-template-columns:minmax(0,15rem) minmax(0,1fr) 4.5rem;align-items:center;gap:20px;padding:16px 0;display:grid}.bar:last-child{border-bottom:1px solid var(--rule)}.bar .who b{font-weight:600;display:block}.bar .who span{font:13px var(--mono);color:var(--ink-3)}.bar .track{background:var(--paper-2);border-radius:2px;height:10px;overflow:hidden}section.band .bar .track{background:#dce2e1}.bar .track i{background:var(--ink);height:100%;display:block}.bar:first-child .track i{background:var(--accent)}.bar .v{font:500 20px var(--mono);text-align:end;letter-spacing:-.02em}.bar .v small{color:var(--ink-3);margin-inline-start:3px;font-size:12px}.perf-foot{color:var(--ink-3);margin-top:18px;font-size:15px}.perf-foot a{color:var(--ink-2)}@media (width<=640px){.bar{grid-template-columns:1fr 4rem}.bar .track{grid-area:2/1/auto/-1}}.feats{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 40px;display:grid}.feat{border-top:1px solid var(--rule);padding:22px 0}.feat h3{margin:0 0 6px;font-size:1.08rem;font-weight:600}.feat p{color:var(--ink-2);margin:0;font-size:16px}@media (width<=880px){.feats{grid-template-columns:1fr}}.closing .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;display:flex}.closing h2{max-width:18ch}footer{border-top:1px solid var(--rule);color:var(--ink-3);padding-block:36px 48px;font-size:15px}footer .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 40px;display:flex}footer nav{flex-wrap:wrap;gap:8px 24px;display:flex}footer a{color:var(--ink-2);text-decoration:none}footer a:hover{color:var(--ink)}footer .logo{font-size:17px}footer .logo img{width:22px;height:22px}
