@font-face{font-family:ubuntu;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ubuntu-400-latin-ext.7db064fa5c5d305d684608744d621aa724ec4f1c6b00bb647697f4d8d3e78df1.woff2)format('woff2');unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:ubuntu;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ubuntu-400-latin.dabae363ac0ae6c3b2a137a32f7132b42520a8af252f87aa6c2198f2a79cf91c.woff2)format('woff2');unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:ubuntu;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/ubuntu-700-latin-ext.30073583012b73a5c05c290e601325850ddbc7c7a1241561ec9264b8744c2a86.woff2)format('woff2');unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:ubuntu;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/ubuntu-700-latin.3658a0717e347c1db8d80dd565584b9dc56769fbf87909c50a4a7740206ec5f7.woff2)format('woff2');unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:twemoji mozilla;src:url(/fonts/TwemojiMozilla.de10ef1cca0407b83048536b9e27294099df00bf8deb6e429f30aae6011629c4.woff2)format("woff2");font-display:swap;unicode-range:U+203C,U+2049,U+2139,U+2194-2199,U+21A9-21AA,U+231A-231B,U+2328,U+23CF,U+23E9-23F3,U+23F8-23FA,U+24C2,U+25AA-25AB,U+25B6,U+25C0,U+25FB-25FE,U+2600-27BF,U+2934-2935,U+2B??,U+3030,U+303D,U+3297,U+3299,U+FE0F,U+1F000-1FAFF}:root{--main-background-colour:#1d1f27;--main-text-colour:#c9d1d9;--header-text-colour:#eee;--accent-colour:#8cc2dd;--blockquote-text-colour:#ccc;--code-text-colour:#f8f8f2;--code-background-colour:#282a36;--rule-colour:#3a3d4a}html{padding:0;margin:0}body{font-family:Ubuntu,twemoji mozilla,sans-serif;margin:auto;padding:20px;max-width:1024px;text-align:left;background-color:var(--main-background-colour);color:var(--main-text-colour);line-height:1.5;height:100%}header{width:100%}header *{padding-left:1em;padding-right:1em}h1,h2,h3,h4,h5,h6,strong,b{color:var(--header-text-colour)}a{color:var(--accent-colour)}.title{text-decoration:none}.centered{margin-left:auto;margin-right:auto;text-align:center}nav{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:20px 0}nav a h1{font-size:26px;margin:inherit;padding:inherit;border:inherit}nav a{text-decoration:none;text-align:center;font-size:24px;margin:auto}#features-showcase,.split-showcase{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}#features-showcase *,.split-showcase h3,.split-showcase p{text-align:center}.split-showcase div,.split-showcase div pre,#features-showcase div{display:block}#features-showcase{margin-top:4rem;margin-bottom:4rem}.split-showcase .sp-description{margin:auto}.split-showcase div pre{overflow:hidden}.split-showcase{margin-top:1rem;margin-bottom:1rem}@media(max-width:500px){.split-showcase{grid-auto-flow:dense}.split-showcase-reverse div:nth-child(odd){order:2}.split-showcase-reverse div:nth-child(even){order:1}}#pkggen-logo{display:block;margin:auto;width:27vw;min-width:160px;min-height:160px;height:auto}#main-showcase{display:block;margin:auto;width:75%;height:fit-content;text-align:center}#main-showcase p{text-align:center}.docs-layout{display:grid;grid-template-columns:minmax(200px,250px)1fr;gap:2.5rem;align-items:start}#docs-sidebar{position:sticky;top:20px;font-size:15px;line-height:1.6;border-right:1px solid var(--rule-colour);padding-right:1.5rem}#docs-sidebar h2{font-size:18px;margin-top:0;text-transform:uppercase;letter-spacing:.06em}#docs-sidebar ul{list-style:none;padding-left:0;margin:0}#docs-sidebar ul ul{padding-left:1em;border-left:1px solid var(--rule-colour);margin-left:.25em}#docs-sidebar li{margin:.15em 0}#docs-sidebar li{color:#8b909e}#docs-sidebar a{text-decoration:none}#docs-sidebar a:hover{text-decoration:underline}#docs-sidebar a[aria-current=page]{color:var(--header-text-colour);font-weight:700}.docs-content{min-width:0}.docs-content h1:first-child{margin-top:0}@media(max-width:720px){.docs-layout{grid-template-columns:1fr;gap:1rem}#docs-sidebar{position:static;border-right:none;border-bottom:1px solid var(--rule-colour);padding-right:0;padding-bottom:1rem}}table{width:100%;display:block;overflow-x:auto}table,th,td{border:1px solid;border-collapse:collapse;border-color:var(--main-text-colour);padding:5px}img{max-width:100%;height:auto}code{font-family:twemoji mozilla,monospace;padding:2px 5px;color:var(--code-text-colour);background-color:var(--code-background-colour)}pre{width:100%;height:100%}pre code{display:block;padding:20px;font-size:14px;overflow-x:auto;text-wrap:nowrap;width:100%;height:100%;box-sizing:border-box}.highlight{margin:1em 0}.highlight pre{margin:0}.highlight .chroma{background-color:var(--code-background-colour)}blockquote{border-left:1px solid #999;color:var(--blockquote-text-colour);padding-left:20px;font-style:italic}.alert{--alert-colour:var(--accent-colour);border-left:4px solid var(--alert-colour);background-color:rgba(255,255,255,3%);padding:.25rem 20px;font-style:normal;color:var(--main-text-colour)}.alert-heading{color:var(--alert-colour);font-weight:700;margin-bottom:.25em}.alert-tip{--alert-colour:#7ee787}.alert-important{--alert-colour:#d2a8ff}.alert-warning{--alert-colour:#e3b341}.alert-caution{--alert-colour:#ff7b72}footer{padding:25px;text-align:center}figure{margin-inline-start:0;margin-inline-end:0}figcaption>p{margin-block-start:0;text-align:center;font-style:italic;color:var(--blockquote-text-colour)}.skip-link{position:absolute;top:5px;transform:translateY(-600%);transition:transform .5s;background-color:var(--main-background-colour);padding:6px;z-index:10}.skip-link:focus{transform:translateY(0%)}#err-404-emoji{margin:0 auto}#err-404-emoji svg{display:block;width:100%;height:auto}#err-404-emoji text{fill:var(--header-text-colour);font-family:Ubuntu,sans-serif;font-size:80px}#err-404-text{text-align:center!important;margin:auto}.bg{color:#f8f8f2;background-color:#282a36}.chroma{color:#f8f8f2;background-color:#282a36;-webkit-text-size-adjust:none}.chroma .x{color:#f8f8f2}.chroma .err{color:#f8f8f2}.chroma .lnlinks{outline:none;text-decoration:none;color:inherit}.chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}.chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}.chroma .hl{background-color:#3d3f4a}.chroma .lnt{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#7f7f7f}.chroma .ln{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#7f7f7f}.chroma .line{display:flex}.chroma .k{color:#ff79c6}.chroma .kc{color:#ff79c6}.chroma .kd{color:#8be9fd;font-style:italic}.chroma .kn{color:#ff79c6}.chroma .kp{color:#ff79c6}.chroma .kr{color:#ff79c6}.chroma .kt{color:#8be9fd}.chroma .na{color:#50fa7b}.chroma .nc{color:#50fa7b}.chroma .no{color:#f8f8f2}.chroma .nd{color:#f8f8f2}.chroma .ni{color:#f8f8f2}.chroma .ne{color:#f8f8f2}.chroma .nl{color:#8be9fd;font-style:italic}.chroma .nn{color:#f8f8f2}.chroma .nx{color:#f8f8f2}.chroma .nt{color:#ff79c6}.chroma .nb{color:#8be9fd;font-style:italic}.chroma .bp{font-style:italic}.chroma .nv{color:#8be9fd;font-style:italic}.chroma .vc{color:#8be9fd;font-style:italic}.chroma .vg{color:#8be9fd;font-style:italic}.chroma .vi{color:#8be9fd;font-style:italic}.chroma .vm{color:#8be9fd;font-style:italic}.chroma .nf{color:#50fa7b}.chroma .fm{color:#50fa7b}.chroma .ld{color:#f8f8f2}.chroma .s{color:#f1fa8c}.chroma .sa{color:#f1fa8c}.chroma .sb{color:#f1fa8c}.chroma .sc{color:#f1fa8c}.chroma .dl{color:#f1fa8c}.chroma .sd{color:#f1fa8c}.chroma .s2{color:#f1fa8c}.chroma .se{color:#f1fa8c}.chroma .sh{color:#f1fa8c}.chroma .si{color:#f1fa8c}.chroma .sx{color:#f1fa8c}.chroma .sr{color:#f1fa8c}.chroma .s1{color:#f1fa8c}.chroma .ss{color:#f1fa8c}.chroma .m{color:#bd93f9}.chroma .mb{color:#bd93f9}.chroma .mf{color:#bd93f9}.chroma .mh{color:#bd93f9}.chroma .mi{color:#bd93f9}.chroma .il{color:#bd93f9}.chroma .mo{color:#bd93f9}.chroma .o{color:#ff79c6}.chroma .ow{color:#ff79c6}.chroma .or{color:#ff79c6}.chroma .p{color:#f8f8f2}.chroma .c{color:#6272a4}.chroma .ch{color:#6272a4}.chroma .cm{color:#6272a4}.chroma .c1{color:#6272a4}.chroma .cs{color:#6272a4}.chroma .cp{color:#ff79c6}.chroma .cpf{color:#ff79c6}.chroma .gd{color:#f55}.chroma .ge{text-decoration:underline}.chroma .gr{color:#f8f8f2}.chroma .gh{font-weight:700}.chroma .gi{color:#50fa7b;font-weight:700}.chroma .go{color:#44475a}.chroma .gp{color:#f8f8f2}.chroma .gs{color:#f8f8f2}.chroma .gu{font-weight:700}.chroma .gt{color:#f8f8f2}.chroma .gl{text-decoration:underline}.chroma .w{color:#f8f8f2}