code[class*=language-],pre[class*=language-]{color:#fff;background:0 0;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;font-size:14px;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#000}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.block-comment,.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#999}.token.punctuation{color:#ccc}.token.attr-name,.token.deleted,.token.namespace,.token.tag{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.number{color:#ffbf00}.token.function{color:#fff}.token.class-name,.token.constant,.token.property,.token.symbol{color:#f8c555}.token.atrule,.token.builtin,.token.important,.token.keyword,.token.selector{color:#ff0060}.token.attr-value,.token.char,.token.regex,.token.string,.token.variable{color:#68ff00}.token.entity,.token.operator,.token.url{color:#67cdcc}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}:focus{outline:2px solid currentColor;outline:2px solid var(--focus-color,currentColor);outline-offset:2px}:focus:not(:focus-visible){outline:0}:focus-visible{outline:2px solid var(--focus-color,currentColor)}body{color:#000;margin:0;padding:0;background-color:#fff;font-family:ibm_plex_sansregular;line-height:1.4;font-size:16px}.nobreak{white-space:nowrap}hr{border:0;border-top:1px solid #000;margin:2em 0}a{color:#000}a.btn{display:inline-block;text-decoration:none;padding:8px 14px 10px;line-height:1}a.btn.black{--focus-color:black;background:#000;border:1px solid #000;color:#fff}a.btn.white{background:#fff;border:1px solid #000;color:#000}h1 a,h2 a,h3 a,h4 a{text-decoration:none}h1 a:hover,h2 a:hover,h3 a:hover,h4 a:hover{text-decoration:underline}.bash,.code{background:#111;color:#fff;padding:1rem;margin:1em 0;font-family:ibm_plex_monoregular;white-space:pre;overflow:auto}.bash .comment,.code .comment{color:#bbb}.bash .keyword,.code .keyword{color:#ff0060}.bash .literal,.code .literal{color:#ffbf00}.bash .string,.code .string{color:#68ff00}.usage{background:#f5f5f5;padding:1rem 1.2rem}.info-aside,.info-cta{background:#f5f5f5;padding:2rem 2.5rem;margin:2em 0}.info-aside>:first-child{margin-top:0}.info-aside>:last-child{margin-bottom:0}.info-cta{display:flex;align-items:center;font-size:1.1em;text-decoration:none}.info-cta:hover{background:#eee}.info-cta span{text-decoration:underline;margin:0 .5ch}.info-cta img{margin-right:1rem}.video-container{position:relative;padding-bottom:56.25%;padding-top:30px;height:0;overflow:hidden}.video-container embed,.video-container iframe,.video-container object{position:absolute;top:0;left:0;width:100%;height:100%}.video-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem}.video-grid .label{background:#eee;padding:.5rem}@media only screen and (max-width:600px){.video-grid{grid-template-columns:1fr!important}}.linkboxes{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:1rem;margin:2em 0}.linkboxes.two{grid-template-columns:1fr 1fr}.linkboxes a{background:#f5f5f5;text-align:center;text-decoration:none;padding:2.5rem .5em}.linkboxes a img{display:block;width:50px;height:50px;-o-object-fit:contain;object-fit:contain;margin:0 auto .7rem}.linkboxes a:hover{background:#eee}.linkboxes.light a{background:#fff;border:1px solid #555;border-radius:4px}.linkboxes.light a:hover{background:#f5f5f5}@media only screen and (max-width:825px){.linkboxes{grid-template-columns:1fr 1fr!important}}@media only screen and (max-width:600px){.linkboxes{grid-template-columns:1fr!important}}.external::after{content:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAAAXNSR0IArs4c6QAAAMJlWElmTU0AKgAAAAgABwESAAMAAAABAAEAAAEaAAUAAAABAAAAYgEbAAUAAAABAAAAagEoAAMAAAABAAIAAAExAAIAAAARAAAAcgEyAAIAAAAUAAAAhIdpAAQAAAABAAAAmAAAAAAAAABIAAAAAQAAAEgAAAABUGl4ZWxtYXRvciAzLjkuMgAAMjAyMDoxMjoxNiAxMToxMjo0OAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAADKADAAQAAAABAAAADAAAAAAo6KMHAAAACXBIWXMAAAsTAAALEwEAmpwYAAADqGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNi4wLjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyI+CiAgICAgICAgIDx0aWZmOkNvbXByZXNzaW9uPjA8L3RpZmY6Q29tcHJlc3Npb24+CiAgICAgICAgIDx0aWZmOlJlc29sdXRpb25Vbml0PjI8L3RpZmY6UmVzb2x1dGlvblVuaXQ+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjcyPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj43MjwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjEyPC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT4xPC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4xMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgICAgIDx4bXA6Q3JlYXRvclRvb2w+UGl4ZWxtYXRvciAzLjkuMjwveG1wOkNyZWF0b3JUb29sPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAyMC0xMi0xNlQxMToxMjo0ODwveG1wOk1vZGlmeURhdGU+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgpXPwO+AAAA6klEQVQoFXXQvwtBURTA8ff8GhltVn8AMdiEUvgDLBL5J0x2JlZZlD9ACllMVotBSlImEylJfnzP5dbryqnPee/cc++7913b+h9+Wk0EcMMDcw/pX1xpHHBEBlHYNimHOHxwxpJigCQ6OGHtJjWQwA6uLx7WBDH0UcUTQTnSCyPU4YwsRQ8lzCAfPel/8FI4I0/RRRlbFNGCS45gRoEBmVyB7FxDBBec9Q68qwiT25AzD9XI58hypSrMBXtGU9h82r9ZH+n+bcndm5N1T02RHeSW5EbMH1cTSGmMdSELppBFIT1oPFfUCz32BgZ1LF5mAF/HAAAAAElFTkSuQmCC);position:relative;left:4px;top:-1px;opacity:.8;margin-right:5px}header{display:flex;justify-content:space-between;align-items:center;font-family:ibm_plex_monoregular;padding:1rem}header img.logo{display:block;height:30px}header.desktop{max-width:960px;margin:0 auto}header.desktop .nav-left,header.desktop .nav-right{display:flex;align-items:center}header.desktop a{text-decoration:none;margin-right:2rem;font-weight:700;border-bottom:2px solid transparent}header.desktop a:hover{text-decoration:underline}header.desktop a.current{border-bottom:2px solid}header.desktop img.icon{display:block;height:22px}body.wide header{max-width:1280px}header.mobile{display:none;position:fixed;top:0;width:100%;z-index:3;box-sizing:border-box;padding:1rem 1.5rem;background:#fff}#mobile-menu{display:none;position:fixed;top:3.5rem;width:100%;z-index:2;box-sizing:border-box;background:#eee;border-bottom:1px solid #ccc;box-shadow:0 2px 4px #0001}#mobile-menu.open{display:block}#mobile-menu a{display:block;border-top:1px solid #ccc;padding:1rem;text-decoration:none;font-size:18px}@media only screen and (max-width:720px){header.desktop{display:none}header.mobile{display:flex}}footer{background:#eee;margin-top:3rem;padding:0 0 2rem}footer .patreon-cta{background:#000;color:#fff;padding:1rem 0;margin-bottom:2rem;text-align:center}footer .patreon-cta a{color:inherit}footer .patreon-cta img{display:inline-block;width:12px}footer .patreon-cta .patreon-cta-inner{max-width:550px;margin:0 auto;padding:0 1em}footer .footer-inner{max-width:550px;margin:0 auto;color:#444}footer .footer-inner .footer-linklists{display:grid;grid-template-columns:1fr 1fr 1fr;line-height:2}footer .footer-inner .footer-linklists h5{margin:0;color:#222}footer .footer-inner .footer-linklists a{color:inherit;text-decoration:none}footer .footer-inner .footer-linklists a:hover{text-decoration:underline}footer .footer-inner .copyrights{margin-top:2.5rem;padding-top:2rem;border-top:1px solid #ccc}@media only screen and (max-width:800px){footer .footer-inner{padding:0 2rem}}@media only screen and (max-width:480px){footer .footer-inner .footer-linklists{display:grid;grid-template-columns:1fr;grid-template-rows:auto auto auto;grid-gap:1rem;text-align:left}footer .footer-inner .footer-linklists a{display:block;border:1px solid #ccc;margin-bottom:.2rem;padding:.5rem .9rem}}main{max-width:960px;margin:0 auto;min-height:70vh}body.wide main{max-width:1280px}.seeding-anim{position:relative;height:40px;width:400px;margin:0 auto;padding:0 1rem}.seeding-anim .node{position:absolute;top:0;width:30px;height:30px;border-radius:50%;background:#333;border:5px solid #fff;z-index:2}.seeding-anim .node.one{left:0}.seeding-anim .node.two{left:50%;transform:translateX(-50%)}.seeding-anim .node.three{right:0}.seeding-anim .node:after{content:attr(data-label);position:absolute;top:-15px;font-family:ibm_plex_monoregular;font-size:9px;font-weight:700;white-space:nowrap}.seeding-anim .stream{position:absolute;top:0;width:200px}.seeding-anim .stream.one{left:20px}.seeding-anim .stream.two{right:20px}.seeding-anim .stream .bit{position:absolute;width:4px;height:4px;background:#555;z-index:1;top:18px}.seeding-anim .stream.one .bit{-webkit-animation:bits-right 2s infinite linear;animation:bits-right 2s infinite linear}.seeding-anim .stream.two .bit{-webkit-animation:bits-left 2s infinite linear;animation:bits-left 2s infinite linear}@-webkit-keyframes bits-left{from{left:0}to{left:100%}}@keyframes bits-left{from{left:0}to{left:100%}}@-webkit-keyframes bits-right{from{right:0}to{right:100%}}@keyframes bits-right{from{right:0}to{right:100%}}@media only screen and (max-width:700px){section.intro{margin-bottom:1em}section.intro h2{text-align:center;font-size:23px;margin:1em 0}}@media only screen and (max-width:420px){.seeding-anim{width:300px}.seeding-anim .stream{width:150px}.seeding-anim .node.one:after{left:-1px;top:-20px}.seeding-anim .node.two:after{left:-10px;top:-20px}.seeding-anim .node.three:after{left:-1px;top:-20px}}.hero{text-align:center;margin:15vh 0;font-size:21px}.hero h1{font-family:ibm_plex_monoregular;margin-bottom:0}.hero img{height:150px}.hero p{margin:1rem 0 2rem;font-size:1.1em}.cta .btn,.hero .btn{width:120px;text-align:center;padding:8px 0 9px}hr{max-width:2rem;margin:3rem auto}section{margin:6rem auto 6rem;padding:0 1rem;text-align:center;font-size:18px}section h2{font-family:ibm_plex_monoregular;display:flex;align-items:center;justify-content:center;text-align:left}section h2 img{margin-right:1rem}section h2 img.smaller{width:30px}section p{line-height:1.6}section.code-example{margin-top:2rem;margin-bottom:2rem}section.code-example .columns{display:grid;grid-template-columns:2fr 3fr}section.code-example .columns .description{background:#eee;border-top-left-radius:4px;border-bottom-left-radius:4px;text-align:left;padding:.2rem 2rem}section.code-example .columns pre{margin:0;border-radius:4px}section.license{display:flex;align-items:center;text-align:left;max-width:530px}section.license img{margin-right:2rem}section.license h3,section.license p{margin:0}section .feature-grid{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:2rem}section .shell-video{display:inline-block;background:#000;padding:.75rem 1rem .25rem;border-radius:4px;margin:1em 0}section .shell-video video{max-width:85vw}@media only screen and (max-width:800px){section.code-example .columns{grid-template-columns:1fr}section.code-example .columns .description{border-radius:0;border-top-left-radius:4px;border-top-right-radius:4px}section .feature-grid{grid-template-columns:1fr}}@media only screen and (max-width:500px){.hero{padding:0 1rem;margin-top:6rem;font-size:18px}.hero img{height:130px}section h2{font-size:19px}section h2 img{width:30px}section h2 img.smaller{width:20px}}