diff --git a/docs/css/style.css b/docs/css/style.css index 472a7e3..7444976 100644 --- a/docs/css/style.css +++ b/docs/css/style.css @@ -126,6 +126,7 @@ --gray-400: #5D666F; --gray-300: #4D555C; --gray-200: #40474C; + --gray-100: #33383D; /* theme */ @@ -140,7 +141,7 @@ ::selection { background: var(--ds-amber-500); - color: #f0f6fc; + color: var(--gray-900); } /* emulate https://twitter.com/heyirfanaziz/status/1751515771954683934 */ @@ -184,8 +185,6 @@ img[src*='#gh-dark-mode-only'] { display: none; } - - main { display: block; position: relative; @@ -196,9 +195,12 @@ main { .sidebar { font-family: var(--sans-serif-font); - padding: 40px; + padding-top: 72px; + padding-bottom: 40px; + padding-left: 36px; + padding-right: 0; width: 300px; - transition: transform 0.25s ease-out; + transition: transform 0.3s ease-out; overflow: auto; height: 100vh; } @@ -227,7 +229,7 @@ main { } .sidebar ul li a { - color: var(--gray8); + color: var(--primary-color); display: block; font-size: 14px; text-decoration: none; @@ -253,16 +255,15 @@ main { } .sidebar:hover::-webkit-scrollbar-thumb { - background: hsla(0, 0%, 53%, 0.4); + background: var(--gray-100); } -.sidebar:hover::-webkit-scrollbar-track { - background: hsla(0, 0%, 53%, 0.1); +.sidebar { + position: fixed; } -body.sticky .sidebar, -body.sticky .sidebar-toggle { - position: fixed; +.sidebar-toggle { + display: none; } .content { @@ -272,7 +273,7 @@ body.sticky .sidebar-toggle { bottom: 0; left: 300px; position: absolute; - transition: left 0.25s ease; + transition: left 0.3s ease; } .markdown-section { @@ -311,26 +312,69 @@ body.sticky .sidebar-toggle { } @media print { - .github-corner, - .sidebar, - .sidebar-toggle { + .sidebar { display: none; } } @media screen and (max-width: 768px) { + #heading { + font-size: 72px; + } + + .github-corner svg { + height: 62px !important; + width: 62px !important; + } .github-corner, .sidebar { position: fixed; } - .sidebar, + .sidebar { + left: -300px; + } + .sidebar-toggle { + display: inherit; + border: 0; + outline: none; + padding: 0 10px; + left: 6px; + transition: opacity 0.3s; + z-index: 4; + position: fixed; + top: 0; + height: 62px; + width: 100%; + background: var(--background-color); + } + + .sidebar-toggle span { + background-color: var(--ds-gray-1000); + display: block; + margin-bottom: 5px; + width: 24px; + height: 3px; + } + + body.sidebar-toggle { display: none; } + body.close .sidebar, + body.close .content { + transform: translateX(280px); + } + + body.close .sidebar-toggle { + background: var(--background-color); + transition: background-color 0.3s; + width: 284px; + } + main { height: auto; overflow-x: hidden; @@ -341,7 +385,7 @@ body.sticky .sidebar-toggle { max-width: 100vw; position: static; padding-top: 20px; - transition: transform 0.25s ease; + transition: transform 0.3s ease; } .github-corner:hover .octo-arm { diff --git a/static/style.min.css b/static/style.min.css index e06610b..6658dcf 100644 --- a/static/style.min.css +++ b/static/style.min.css @@ -1 +1 @@ -@import url("https://rsms.me/inter/inter-ui.css");:root{--base:#000;--ds-gray-100-value:0,0%,10%;--ds-gray-200-value:0,0%,12%;--ds-gray-300-value:0,0%,16%;--ds-gray-400-value:0,0%,18%;--ds-gray-500-value:0,0%,27%;--ds-gray-600-value:0,0%,53%;--ds-gray-700-value:0,0%,56%;--ds-gray-800-value:0,0%,49%;--ds-gray-900-value:0,0%,63%;--ds-gray-1000-value:0,0%,93%;--ds-gray-alpha-100:rgba(0,0,0,.05);--ds-gray-alpha-200:rgba(0,0,0,.08);--ds-gray-alpha-300:rgba(0,0,0,.1);--ds-gray-alpha-400:rgba(0,0,0,.08);--ds-gray-alpha-500:rgba(0,0,0,.21);--ds-gray-alpha-600:rgba(0,0,0,.34);--ds-gray-alpha-700:rgba(0,0,0,.44);--ds-gray-alpha-800:rgba(0,0,0,.51);--ds-gray-alpha-900:rgba(0,0,0,.61);--ds-gray-alpha-1000:rgba(0,0,0,.91);--ds-background-100:#0a0a0a;--ds-background-200:#000;--ds-gray-100:hsla(var(--ds-gray-100-value),1);--ds-gray-200:hsla(var(--ds-gray-200-value),1);--ds-gray-300:hsla(var(--ds-gray-300-value),1);--ds-gray-400:hsla(var(--ds-gray-400-value),1);--ds-gray-500:hsla(var(--ds-gray-500-value),1);--ds-gray-600:hsla(var(--ds-gray-600-value),1);--ds-gray-700:hsla(var(--ds-gray-700-value),1);--ds-gray-800:hsla(var(--ds-gray-800-value),1);--ds-gray-900:hsla(var(--ds-gray-900-value),1);--ds-gray-1000:hsla(var(--ds-gray-1000-value),1);--ds-blue-100:oklch(22.17% 0.069 259.89);--ds-blue-200:oklch(25.45% 0.0811 255.8);--ds-blue-300:oklch(30.86% 0.1022 255.21);--ds-blue-400:oklch(34.1% 0.121 254.74);--ds-blue-500:oklch(38.5% 0.1403 254.4);--ds-blue-600:oklch(64.94% 0.1982 251.8131841760864);--ds-blue-700:oklch(57.61% 0.2321 258.23);--ds-blue-800:oklch(51.51% 0.2307 257.85);--ds-blue-900:oklch(71.7% 0.1648 250.79360374054167);--ds-blue-1000:oklch(96.75% 0.0179 242.4234217368056);--ds-red-100:oklch(22.1% 0.0657 15.11);--ds-red-200:oklch(25.93% 0.0834 19.02);--ds-red-300:oklch(31.47% 0.1105 20.96);--ds-red-400:oklch(35.27% 0.1273 21.23);--ds-red-500:oklch(40.68% 0.1479 23.16);--ds-red-600:oklch(62.56% 0.2277 23.03);--ds-red-700:oklch(62.56% 0.2234 23.03);--ds-red-800:oklch(58.01% 0.227 25.12);--ds-red-900:oklch(69.96% 0.2136 22.03);--ds-red-1000:oklch(95.6% 0.0293 6.61);--ds-amber-100:oklch(22.46% 0.0538 76.04);--ds-amber-200:oklch(24.95% 0.0642 64.78);--ds-amber-300:oklch(32.34% 0.0837 63.83);--ds-amber-400:oklch(35.53% 0.0903 66.29707162673735);--ds-amber-500:oklch(41.55% 0.1044 67.98);--ds-amber-600:oklch(75.04% 0.1737 74.49);--ds-amber-700:oklch(81.87% 0.1969 76.46);--ds-amber-800:oklch(77.21% 0.1991 64.28);--ds-amber-900:oklch(77.21% 0.1991 64.28);--ds-amber-1000:oklch(96.7% 0.0418 84.59);--ds-green-100:oklch(23.09% 0.0716 149.68);--ds-green-200:oklch(27.12% 0.0895 150.09);--ds-green-300:oklch(29.84% 0.096 149.25);--ds-green-400:oklch(34.39% 0.1039 147.78);--ds-green-500:oklch(44.19% 0.1484 147.2);--ds-green-600:oklch(58.11% 0.1815 146.55);--ds-green-700:oklch(64.58% 0.199 147.27);--ds-green-800:oklch(57.81% 0.1776 147.5);--ds-green-900:oklch(73.1% 0.2158 148.29);--ds-green-1000:oklch(96.76% 0.056 154.18);--ds-teal-100:oklch(22.1% 0.0544 178.74);--ds-teal-200:oklch(25.06% 0.062 178.76);--ds-teal-300:oklch(31.5% 0.0767 180.99);--ds-teal-400:oklch(32.43% 0.0763 180.13);--ds-teal-500:oklch(43.35% 0.1055 180.97);--ds-teal-600:oklch(60.71% 0.1485 180.24);--ds-teal-700:oklch(64.92% 0.1403 181.95);--ds-teal-800:oklch(57.53% 0.1392 181.66);--ds-teal-900:oklch(74.56% 0.1765 182.8);--ds-teal-1000:oklch(96.46% 0.056 180.29);--ds-purple-100:oklch(22.34% 0.0779 316.87);--ds-purple-200:oklch(25.91% 0.0921 314.41);--ds-purple-300:oklch(31.98% 0.1219 312.41);--ds-purple-400:oklch(35.93% 0.1504 309.78);--ds-purple-500:oklch(40.99% 0.1721 307.92);--ds-purple-600:oklch(55.5% 0.2191 306.12);--ds-purple-700:oklch(55.5% 0.2186 306.12);--ds-purple-800:oklch(48.58% 0.2102 305.73);--ds-purple-900:oklch(69.87% 0.2037 309.51);--ds-purple-1000:oklch(96.1% 0.0304 316.46);--ds-pink-100:oklch(22.67% 0.0628 354.73);--ds-pink-200:oklch(26.2% 0.0859 356.68);--ds-pink-300:oklch(31.15% 0.1067 355.93);--ds-pink-400:oklch(32.13% 0.1174 356.71);--ds-pink-500:oklch(37.01% 0.1453 358.39);--ds-pink-600:oklch(50.33% 0.2089 4.33);--ds-pink-700:oklch(63.52% 0.2346 1.01);--ds-pink-800:oklch(59.51% 0.2429 4.21);--ds-pink-900:oklch(69.36% 0.2223 3.91);--ds-pink-1000:oklch(95.74% 0.0326 350.08);--gray-1000:#fff;--gray-900:#eceeef;--gray-800:#c6cbd0;--gray-700:#a6adb5;--gray-600:#8b949e;--gray-500:#707b86;--gray-400:#5d666f;--gray-300:#4d555c;--gray-200:#40474c;--primary-color:var(--gray-600);--background-color:var(--ds-background-100);--accent-color:var(--ds-gray-1000);--serif-font:"Bricolage Grotesque",sans-serif;--sans-serif-font:"IBM Plex Sans",sans-serif;--code-font:"IBM Plex Mono",monospace;--border-color:var(--ds-gray-300)}::selection{background:var(--ds-amber-500);color:#f0f6fc}#heading{-webkit-text-fill-color:transparent;background:linear-gradient(180deg,#f0f6fc,#8b949e);background-clip:text;font-optical-sizing:auto;font-size:96px}*{-webkit-font-smoothing:antialiased;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;box-sizing:border-box}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--sans-serif-font);font-size:16px;letter-spacing:0;margin:0;overflow-x:hidden}img{max-width:100%}img[src*="#gh-dark-mode-only"]{display:none}main{display:block;height:100%;position:relative;width:100vw;z-index:0}.sidebar{font-family:var(--sans-serif-font);height:100vh;overflow:auto;padding:40px;transition:transform .25s ease-out;width:300px}.sidebar .sidebar-nav{line-height:2em;padding-bottom:40px}.sidebar li{margin:6px 0 6px 15px}.sidebar ul{margin:0;padding:0}.sidebar ul ul{margin-left:15px}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{color:var(--gray8);display:block;font-size:14px;text-decoration:none}.sidebar ul li a:hover{text-decoration:underline}.sidebar ul li a:focus-visible{text-decoration:underline}.sidebar ul li.active>a{border-right:2px solid var(--accent-color);color:var(--accent-color);font-weight:700}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-thumb{background:transparent;border-radius:4px}.sidebar:hover::-webkit-scrollbar-thumb{background:hsla(0,0%,53%,.4)}.sidebar:focus-visible::-webkit-scrollbar-thumb{background:hsla(0,0%,53%,.4)}.sidebar:hover::-webkit-scrollbar-track{background:hsla(0,0%,53%,.1)}.sidebar:focus-visible::-webkit-scrollbar-track{background:hsla(0,0%,53%,.1)}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{bottom:0;left:300px;padding-top:60px;position:absolute;right:0;top:0;transition:left .25s ease}.markdown-section{margin:0 auto;max-width:800px;padding:30px 15px 40px;position:relative}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section table{border-collapse:collapse;border-spacing:0;display:block;max-width:100%;overflow:auto;width:max-content}.markdown-section table thead tr{text-align:left}.markdown-section td,.markdown-section th{border:1px solid var(--border-color);padding:.5rem}@media print{.github-corner,.sidebar,.sidebar-toggle{display:none}}@media screen and (max-width:768px){.github-corner,.sidebar{position:fixed}.sidebar,.sidebar-toggle{display:none}main{height:auto;overflow-x:hidden}.content{left:0;max-width:100vw;padding-top:20px;position:static;transition:transform .25s ease}.github-corner:hover .octo-arm{animation:none}.github-corner:focus-visible .octo-arm{animation:none}}.sidebar,body{background-color:var(--background-color);color:var(--primary-color)}.markdown-section :is(h1,h2,h3,h4,h5){font-family:var(--serif-font);letter-spacing:.05em}.markdown-section :is(h1,h2,h3,h4,h5) a{color:var(--accent-color);text-decoration:none}.markdown-section :is(h1,h2,h3,h4,h5) a:hover:after{content:"#";display:inline-block;margin-left:6px;position:relative}.markdown-section :is(h1,h2,h3,h4,h5) a:focus-visible:after{content:"#";display:inline-block;margin-left:6px;position:relative}.markdown-section a{font-weight:700}.markdown-section :is(li,p,td) a{color:var(--secondary-color);color:var(--accent-color);text-underline-offset:4px}.markdown-section :is(li,p,td) a:not(.no-external-icon):hover{opacity:.8}.markdown-section :is(li,p,td) a:not(.no-external-icon):focus-visible{opacity:.8}.markdown-section h1{font-size:2rem;margin:4rem 0 1rem}.markdown-section h2{font-size:1.75rem;margin:3.5rem 0 1rem}.markdown-section h3{font-size:1.5rem;margin:3rem 0 1rem}.markdown-section h4{font-size:1.25rem;margin:2.5rem 0 1rem}.markdown-section h5{font-size:1rem}.markdown-section p{margin:1.2em 0}.markdown-section :is(p,ul){line-height:1.8rem;word-spacing:.05rem}.markdown-section ul li{margin-bottom:10px}.markdown-section ul{padding-left:2rem}.markdown-section blockquote{border-left:4px solid var(--primary-color);margin:2em 0;padding-left:20px}.markdown-section blockquote p{margin-left:0;padding:12px 0}.markdown-section :is(code,pre,img){border-radius:4px}.markdown-section code{border:1px solid var(--border-color);font-family:var(--code-font);font-size:.75rem;padding:3px 5px;white-space:nowrap}.markdown-section pre{border:1px solid var(--border-color);line-height:1.5rem;margin:1.2em 0;overflow:auto;padding:0 .7rem;position:relative;word-wrap:normal}.markdown-section pre:after{color:var(--gray6);content:attr(data-lang);font-size:.6rem;height:15px;line-height:15px;padding:5px 10px 0;position:absolute;right:0;text-align:right;top:0}.markdown-section :is(pre,pre>code){-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial}.markdown-section pre>code{border:0;color:var(--gray-900);display:block;font-family:var(--code-font);font-size:14px;line-height:inherit;margin:0 2px;max-width:inherit;overflow:inherit;padding:1.25em 5px;white-space:inherit}.markdown-section :is(code:after,code:before){letter-spacing:.8px;letter-spacing:.05rem}.token.parameter{color:var(--gray-900)}.token.keyword,.token.operator{color:var(--ds-pink-900)}.token.function{color:var(--ds-purple-900)}.token.function-variable{color:var(--ds-blue-900)}.token.comment,.token.punctuation{color:var(--gray-400)}.token:is(.class-name,.number){color:var(--ds-blue-900)}.token.string{color:var(--ds-green-900)}.token:is(.boolean,.constant){color:var(--ds-red-900)}.token.literal-property.property{color:var(--gray-900)}@keyframes a{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}.github-corner{z-index:1}.github-corner svg{border-bottom:0;position:fixed;right:0;text-decoration:none;top:0}.github-corner:hover svg .octo-arm{animation:a .56s ease-in-out;opacity:1}.github-corner:focus-visible svg .octo-arm{animation:a .56s ease-in-out;opacity:1}.github-corner svg{color:var(--background-color);fill:var(--accent-color);height:80px;width:80px}strong{color:var(--accent-color)}.type{color:var(--gray-900);font-size:14px;margin-left:4px;position:relative}.type:before{content:"("}.type:after{content:")"}a[target*=_blank]:not(.no-external-icon,.github-corner):after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M8.636 3.5a.5.5 0 0 0-.5-.5H1.5A1.5 1.5 0 0 0 0 4.5v10A1.5 1.5 0 0 0 1.5 16h10a1.5 1.5 0 0 0 1.5-1.5V7.864a.5.5 0 0 0-1 0V14.5a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h6.636a.5.5 0 0 0 .5-.5'/%3E%3Cpath fill-rule='evenodd' d='M16 .5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h3.793L6.146 9.146a.5.5 0 1 0 .708.708L15 1.707V5.5a.5.5 0 0 0 1 0z'/%3E%3C/svg%3E");height:13px;margin-left:4px;top:3px;width:13px}a[href*="stripe.com"]:before,a[target*=_blank]:not(.no-external-icon,.github-corner):after{background-position:50%;background-repeat:no-repeat;background-size:contain;content:"";display:inline-block;margin-bottom:2px;position:relative}a[href*="stripe.com"]:before{margin-right:4px}a[href*="api.microlink.io"]:before,a[href*="github.com"]:before,a[href*="microlink.io"]:before,a[href*="stripe.com"]:before,a[href*="twitter.com"]:before{background-position:50%;background-repeat:no-repeat;background-size:contain;border-radius:2px;content:"";display:inline-block;margin-right:4px;position:relative}a[href*="github.com"]:not(.github-corner):before{background-image:url(/static/images/github.png);height:16px;top:4px;width:16px}a[href*="twitter.com"]:before{background-image:url(/static/images/twitter.png);height:16px;top:4px;width:16px}a[href*="microlink.io"]:before{background-image:url(/static/images/microlink.png);height:16px;top:4px;width:16px}a[href*="stripe.com"]:before{background-image:url(/static/images/stripe.png);height:16px;top:5px;width:16px} \ No newline at end of file +@import url("https://rsms.me/inter/inter-ui.css");:root{--base:#000;--ds-gray-100-value:0,0%,10%;--ds-gray-200-value:0,0%,12%;--ds-gray-300-value:0,0%,16%;--ds-gray-400-value:0,0%,18%;--ds-gray-500-value:0,0%,27%;--ds-gray-600-value:0,0%,53%;--ds-gray-700-value:0,0%,56%;--ds-gray-800-value:0,0%,49%;--ds-gray-900-value:0,0%,63%;--ds-gray-1000-value:0,0%,93%;--ds-gray-alpha-100:rgba(0,0,0,.05);--ds-gray-alpha-200:rgba(0,0,0,.08);--ds-gray-alpha-300:rgba(0,0,0,.1);--ds-gray-alpha-400:rgba(0,0,0,.08);--ds-gray-alpha-500:rgba(0,0,0,.21);--ds-gray-alpha-600:rgba(0,0,0,.34);--ds-gray-alpha-700:rgba(0,0,0,.44);--ds-gray-alpha-800:rgba(0,0,0,.51);--ds-gray-alpha-900:rgba(0,0,0,.61);--ds-gray-alpha-1000:rgba(0,0,0,.91);--ds-background-100:#0a0a0a;--ds-background-200:#000;--ds-gray-100:hsla(var(--ds-gray-100-value),1);--ds-gray-200:hsla(var(--ds-gray-200-value),1);--ds-gray-300:hsla(var(--ds-gray-300-value),1);--ds-gray-400:hsla(var(--ds-gray-400-value),1);--ds-gray-500:hsla(var(--ds-gray-500-value),1);--ds-gray-600:hsla(var(--ds-gray-600-value),1);--ds-gray-700:hsla(var(--ds-gray-700-value),1);--ds-gray-800:hsla(var(--ds-gray-800-value),1);--ds-gray-900:hsla(var(--ds-gray-900-value),1);--ds-gray-1000:hsla(var(--ds-gray-1000-value),1);--ds-blue-100:oklch(22.17% 0.069 259.89);--ds-blue-200:oklch(25.45% 0.0811 255.8);--ds-blue-300:oklch(30.86% 0.1022 255.21);--ds-blue-400:oklch(34.1% 0.121 254.74);--ds-blue-500:oklch(38.5% 0.1403 254.4);--ds-blue-600:oklch(64.94% 0.1982 251.8131841760864);--ds-blue-700:oklch(57.61% 0.2321 258.23);--ds-blue-800:oklch(51.51% 0.2307 257.85);--ds-blue-900:oklch(71.7% 0.1648 250.79360374054167);--ds-blue-1000:oklch(96.75% 0.0179 242.4234217368056);--ds-red-100:oklch(22.1% 0.0657 15.11);--ds-red-200:oklch(25.93% 0.0834 19.02);--ds-red-300:oklch(31.47% 0.1105 20.96);--ds-red-400:oklch(35.27% 0.1273 21.23);--ds-red-500:oklch(40.68% 0.1479 23.16);--ds-red-600:oklch(62.56% 0.2277 23.03);--ds-red-700:oklch(62.56% 0.2234 23.03);--ds-red-800:oklch(58.01% 0.227 25.12);--ds-red-900:oklch(69.96% 0.2136 22.03);--ds-red-1000:oklch(95.6% 0.0293 6.61);--ds-amber-100:oklch(22.46% 0.0538 76.04);--ds-amber-200:oklch(24.95% 0.0642 64.78);--ds-amber-300:oklch(32.34% 0.0837 63.83);--ds-amber-400:oklch(35.53% 0.0903 66.29707162673735);--ds-amber-500:oklch(41.55% 0.1044 67.98);--ds-amber-600:oklch(75.04% 0.1737 74.49);--ds-amber-700:oklch(81.87% 0.1969 76.46);--ds-amber-800:oklch(77.21% 0.1991 64.28);--ds-amber-900:oklch(77.21% 0.1991 64.28);--ds-amber-1000:oklch(96.7% 0.0418 84.59);--ds-green-100:oklch(23.09% 0.0716 149.68);--ds-green-200:oklch(27.12% 0.0895 150.09);--ds-green-300:oklch(29.84% 0.096 149.25);--ds-green-400:oklch(34.39% 0.1039 147.78);--ds-green-500:oklch(44.19% 0.1484 147.2);--ds-green-600:oklch(58.11% 0.1815 146.55);--ds-green-700:oklch(64.58% 0.199 147.27);--ds-green-800:oklch(57.81% 0.1776 147.5);--ds-green-900:oklch(73.1% 0.2158 148.29);--ds-green-1000:oklch(96.76% 0.056 154.18);--ds-teal-100:oklch(22.1% 0.0544 178.74);--ds-teal-200:oklch(25.06% 0.062 178.76);--ds-teal-300:oklch(31.5% 0.0767 180.99);--ds-teal-400:oklch(32.43% 0.0763 180.13);--ds-teal-500:oklch(43.35% 0.1055 180.97);--ds-teal-600:oklch(60.71% 0.1485 180.24);--ds-teal-700:oklch(64.92% 0.1403 181.95);--ds-teal-800:oklch(57.53% 0.1392 181.66);--ds-teal-900:oklch(74.56% 0.1765 182.8);--ds-teal-1000:oklch(96.46% 0.056 180.29);--ds-purple-100:oklch(22.34% 0.0779 316.87);--ds-purple-200:oklch(25.91% 0.0921 314.41);--ds-purple-300:oklch(31.98% 0.1219 312.41);--ds-purple-400:oklch(35.93% 0.1504 309.78);--ds-purple-500:oklch(40.99% 0.1721 307.92);--ds-purple-600:oklch(55.5% 0.2191 306.12);--ds-purple-700:oklch(55.5% 0.2186 306.12);--ds-purple-800:oklch(48.58% 0.2102 305.73);--ds-purple-900:oklch(69.87% 0.2037 309.51);--ds-purple-1000:oklch(96.1% 0.0304 316.46);--ds-pink-100:oklch(22.67% 0.0628 354.73);--ds-pink-200:oklch(26.2% 0.0859 356.68);--ds-pink-300:oklch(31.15% 0.1067 355.93);--ds-pink-400:oklch(32.13% 0.1174 356.71);--ds-pink-500:oklch(37.01% 0.1453 358.39);--ds-pink-600:oklch(50.33% 0.2089 4.33);--ds-pink-700:oklch(63.52% 0.2346 1.01);--ds-pink-800:oklch(59.51% 0.2429 4.21);--ds-pink-900:oklch(69.36% 0.2223 3.91);--ds-pink-1000:oklch(95.74% 0.0326 350.08);--gray-1000:#fff;--gray-900:#eceeef;--gray-800:#c6cbd0;--gray-700:#a6adb5;--gray-600:#8b949e;--gray-500:#707b86;--gray-400:#5d666f;--gray-300:#4d555c;--gray-200:#40474c;--gray-100:#33383d;--primary-color:var(--gray-600);--background-color:var(--ds-background-100);--accent-color:var(--ds-gray-1000);--serif-font:"Bricolage Grotesque",sans-serif;--sans-serif-font:"IBM Plex Sans",sans-serif;--code-font:"IBM Plex Mono",monospace;--border-color:var(--ds-gray-300)}::selection{background:var(--ds-amber-500);color:var(--gray-900)}#heading{-webkit-text-fill-color:transparent;background:linear-gradient(180deg,#f0f6fc,#8b949e);background-clip:text;font-optical-sizing:auto;font-size:96px}*{-webkit-font-smoothing:antialiased;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;box-sizing:border-box}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--sans-serif-font);font-size:16px;letter-spacing:0;margin:0;overflow-x:hidden}img{max-width:100%}img[src*="#gh-dark-mode-only"]{display:none}main{display:block;height:100%;position:relative;width:100vw;z-index:0}.sidebar{font-family:var(--sans-serif-font);height:100vh;overflow:auto;padding:72px 0 40px 36px;transition:transform .3s ease-out;width:300px}.sidebar .sidebar-nav{line-height:2em;padding-bottom:40px}.sidebar li{margin:6px 0 6px 15px}.sidebar ul{margin:0;padding:0}.sidebar ul ul{margin-left:15px}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{color:var(--primary-color);display:block;font-size:14px;text-decoration:none}.sidebar ul li a:hover{text-decoration:underline}.sidebar ul li a:focus-visible{text-decoration:underline}.sidebar ul li.active>a{border-right:2px solid var(--accent-color);color:var(--accent-color);font-weight:700}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-thumb{background:transparent;border-radius:4px}.sidebar:hover::-webkit-scrollbar-thumb{background:var(--gray-100)}.sidebar:focus-visible::-webkit-scrollbar-thumb{background:var(--gray-100)}.sidebar{position:fixed}.sidebar-toggle{display:none}.content{bottom:0;left:300px;padding-top:60px;position:absolute;right:0;top:0;transition:left .3s ease}.markdown-section{margin:0 auto;max-width:800px;padding:30px 15px 40px;position:relative}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section table{border-collapse:collapse;border-spacing:0;display:block;max-width:100%;overflow:auto;width:max-content}.markdown-section table thead tr{text-align:left}.markdown-section td,.markdown-section th{border:1px solid var(--border-color);padding:.5rem}@media print{.github-corner,.sidebar{display:none}}@media screen and (max-width:768px){#heading{font-size:72px}.github-corner svg{height:62px!important;width:62px!important}.github-corner,.sidebar{position:fixed}.sidebar{left:-300px}.sidebar-toggle{background:var(--background-color);border:0;display:inherit;height:62px;left:6px;outline:none;padding:0 10px;position:fixed;top:0;transition:opacity .3s;width:100%;z-index:2}.sidebar-toggle span{background-color:var(--ds-gray-1000);display:block;height:3px;margin-bottom:5px;width:24px}body.sidebar-toggle{display:none}body.close .content,body.close .sidebar{transform:translateX(280px)}body.close .sidebar-toggle{background:var(--background-color);transition:background-color .3s;width:284px}main{height:auto;overflow-x:hidden}.content{left:0;max-width:100vw;padding-top:20px;position:static;transition:transform .3s ease}.github-corner:hover .octo-arm{animation:none}.github-corner:focus-visible .octo-arm{animation:none}}.sidebar,body{background-color:var(--background-color);color:var(--primary-color)}.markdown-section :is(h1,h2,h3,h4,h5){font-family:var(--serif-font);letter-spacing:.05em}.markdown-section :is(h1,h2,h3,h4,h5) a{color:var(--accent-color);text-decoration:none}.markdown-section :is(h1,h2,h3,h4,h5) a:hover:after{content:"#";display:inline-block;margin-left:6px;position:relative}.markdown-section :is(h1,h2,h3,h4,h5) a:focus-visible:after{content:"#";display:inline-block;margin-left:6px;position:relative}.markdown-section a{font-weight:700}.markdown-section :is(li,p,td) a{color:var(--secondary-color);color:var(--accent-color);text-underline-offset:4px}.markdown-section :is(li,p,td) a:not(.no-external-icon):hover{opacity:.8}.markdown-section :is(li,p,td) a:not(.no-external-icon):focus-visible{opacity:.8}.markdown-section h1{font-size:2rem;margin:4rem 0 1rem}.markdown-section h2{font-size:1.75rem;margin:3.5rem 0 1rem}.markdown-section h3{font-size:1.5rem;margin:3rem 0 1rem}.markdown-section h4{font-size:1.25rem;margin:2.5rem 0 1rem}.markdown-section h5{font-size:1rem}.markdown-section p{margin:1.2em 0}.markdown-section :is(p,ul){line-height:1.8rem;word-spacing:.05rem}.markdown-section ul li{margin-bottom:10px}.markdown-section ul{padding-left:2rem}.markdown-section blockquote{border-left:4px solid var(--primary-color);margin:2em 0;padding-left:20px}.markdown-section blockquote p{margin-left:0;padding:12px 0}.markdown-section :is(code,pre,img){border-radius:4px}.markdown-section code{border:1px solid var(--border-color);font-family:var(--code-font);font-size:.75rem;padding:3px 5px;white-space:nowrap}.markdown-section pre{border:1px solid var(--border-color);line-height:1.5rem;margin:1.2em 0;overflow:auto;padding:0 .7rem;position:relative;word-wrap:normal}.markdown-section pre:after{color:var(--gray6);content:attr(data-lang);font-size:.6rem;height:15px;line-height:15px;padding:5px 10px 0;position:absolute;right:0;text-align:right;top:0}.markdown-section :is(pre,pre>code){-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial}.markdown-section pre>code{border:0;color:var(--gray-900);display:block;font-family:var(--code-font);font-size:14px;line-height:inherit;margin:0 2px;max-width:inherit;overflow:inherit;padding:1.25em 5px;white-space:inherit}.markdown-section :is(code:after,code:before){letter-spacing:.8px;letter-spacing:.05rem}.token.parameter{color:var(--gray-900)}.token.keyword,.token.operator{color:var(--ds-pink-900)}.token.function{color:var(--ds-purple-900)}.token.function-variable{color:var(--ds-blue-900)}.token.comment,.token.punctuation{color:var(--gray-400)}.token:is(.class-name,.number){color:var(--ds-blue-900)}.token.string{color:var(--ds-green-900)}.token:is(.boolean,.constant){color:var(--ds-red-900)}.token.literal-property.property{color:var(--gray-900)}@keyframes a{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}.github-corner{z-index:1}.github-corner svg{border-bottom:0;position:fixed;right:0;text-decoration:none;top:0}.github-corner:hover svg .octo-arm{animation:a .56s ease-in-out;opacity:1}.github-corner:focus-visible svg .octo-arm{animation:a .56s ease-in-out;opacity:1}.github-corner svg{color:var(--background-color);fill:var(--accent-color);height:80px;width:80px}strong{color:var(--accent-color)}.type{color:var(--gray-900);font-size:14px;margin-left:4px;position:relative}.type:before{content:"("}.type:after{content:")"}a[target*=_blank]:not(.no-external-icon,.github-corner):after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M8.636 3.5a.5.5 0 0 0-.5-.5H1.5A1.5 1.5 0 0 0 0 4.5v10A1.5 1.5 0 0 0 1.5 16h10a1.5 1.5 0 0 0 1.5-1.5V7.864a.5.5 0 0 0-1 0V14.5a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h6.636a.5.5 0 0 0 .5-.5'/%3E%3Cpath fill-rule='evenodd' d='M16 .5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h3.793L6.146 9.146a.5.5 0 1 0 .708.708L15 1.707V5.5a.5.5 0 0 0 1 0z'/%3E%3C/svg%3E");height:13px;margin-left:4px;top:3px;width:13px}a[href*="stripe.com"]:before,a[target*=_blank]:not(.no-external-icon,.github-corner):after{background-position:50%;background-repeat:no-repeat;background-size:contain;content:"";display:inline-block;margin-bottom:2px;position:relative}a[href*="stripe.com"]:before{margin-right:4px}a[href*="api.microlink.io"]:before,a[href*="github.com"]:before,a[href*="microlink.io"]:before,a[href*="stripe.com"]:before,a[href*="twitter.com"]:before{background-position:50%;background-repeat:no-repeat;background-size:contain;border-radius:2px;content:"";display:inline-block;margin-right:4px;position:relative}a[href*="github.com"]:not(.github-corner):before{background-image:url(/static/images/github.png);height:16px;top:4px;width:16px}a[href*="twitter.com"]:before{background-image:url(/static/images/twitter.png);height:16px;top:4px;width:16px}a[href*="microlink.io"]:before{background-image:url(/static/images/microlink.png);height:16px;top:4px;width:16px}a[href*="stripe.com"]:before{background-image:url(/static/images/stripe.png);height:16px;top:5px;width:16px} \ No newline at end of file