pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
  Theme: GitHub Dark
  Description: Dark theme as seen on github.com
  Author: github.com
  Maintainer: @Hirse
  Updated: 2021-05-15

  Outdated base version: https://github.com/primer/github-syntax-dark
  Current colors taken from GitHub's CSS
*/.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#79c0ff}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-comment,.hljs-code,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}/*! tailwindcss v4.1.12 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}.relative{position:relative}.static{position:static}.z-10{z-index:10}.container{width:100%}.mx-auto{margin-inline:auto}.flex{display:flex}.grid{display:grid}.inline{display:inline}.table{display:table}.h-\[30px\]{height:30px}.h-\[32px\]{height:32px}.h-\[40px\]{height:40px}.h-full{height:100%}.w-\[30px\]{width:30px}.w-\[32px\]{width:32px}.w-\[40px\]{width:40px}.w-\[90\%\]{width:90%}.w-full{width:100%}.max-w-\[90\%\]{max-width:90%}.max-w-full{max-width:100%}.flex-1{flex:1}.flex-2{flex:2}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-none{--tw-border-style:none;border-style:none}.bg-transparent{background-color:#0000}.p-\[10px\]{padding:10px}.p-\[40px\]{padding:40px}.p-\[80px\]{padding:80px}.pt-\[88px\]{padding-top:88px}.pl-\[10px\]{padding-left:10px}.text-center{text-align:center}.text-left{text-align:left}.text-inherit{color:inherit}.italic{font-style:italic}.no-underline{text-decoration-line:none}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.\[url\:port\/database\]{url:port/database}:root{--color-bg:#fff;--color-primary:#647b96;--color-secondary:#1e293b;color:var(--color-secondary);background-color:var(--color-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400}[data-theme=dark]{--color-bg:#000;--color-primary:#647b96;--color-secondary:#e5e7eb;color:var(--color-secondary);background-color:var(--color-bg)}:root[data-theme=dark] .icons img{filter:invert()}body{min-width:320px;min-height:100vh;margin:0;display:block}h1{font-size:3.2em;line-height:1.1}#page{max-width:1280px;margin:0 auto;padding:2rem 1rem}html{scroll-behavior:smooth;scroll-padding-top:80px}section{padding:4rem 0}section:last-of-type{border-bottom:none}.card{background-color:var(--color-bg);border-radius:8px;padding:2em;box-shadow:0 2px 8px #00000014}.custom-shadow{box-shadow:0 4px 12px #00000026}.text-secondary{color:var(--color-secondary)}.code-block{white-space:pre;background-color:#0d1117;border-radius:.5rem;font-size:1rem;line-height:1.5;overflow-x:auto;box-shadow:0 4px 12px #0000007c}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}.button{display:block;width:150px;padding:15px;font-weight:700;border-radius:25px;border:0px;border:2px solid var(--color-primary);background-color:var(--color-primary);color:var(--color-bg);box-shadow:0 0 6px #00000026;transition:background-color .2s,color .2s,transform .2s;text-align:center;cursor:pointer;text-decoration:none}.drop-down-button{display:block;width:150px;padding:15px;font-weight:700;border-radius:25px;border:0px;border:2px solid var(--color-primary);background-color:var(--color-primary);color:var(--color-bg);box-shadow:0 0 6px #00000026;transition:background-color .2s,color .2s,transform .2s;text-align:left;cursor:pointer;text-decoration:none}.button:hover{background-color:var(--color-bg);border:2px solid var(--color-secondary);color:var(--color-secondary);transform:translateY(-2px)}.button:active{background-color:var(--color-bg);border:2px solid var(--color-secondary);color:var(--color-secondary);box-shadow:0 1px 3px #0003}.drop-down-button:hover{background-color:var(--color-bg);border:2px solid var(--color-secondary);color:var(--color-secondary);transform:translateY(-2px)}.drop-down-button:active{background-color:var(--color-bg);border:2px solid var(--color-secondary);color:var(--color-secondary);box-shadow:0 1px 3px #0003}.button-arrow{position:absolute;right:12px;top:50%;transform:translateY(-50%) rotate(0);transition:transform .2s ease;pointer-events:none}.dropdown-container.open .button-arrow,.button-arrow.open{transform:translateY(-50%) rotate(180deg)}.dropdown-container.open .drop-down-button{transform:translateY(-2px);border-radius:25px 25px 0 0}.dropdown-container.open .dropdown-menu{display:block;border-radius:0 0 25px 25px;box-shadow:0 4px 6px #0000001a}.dropdown-container{position:relative;display:inline-block}.dropdown-menu{position:absolute;top:100%;left:0;width:150px;list-style:none;padding:0;margin-top:-9px;overflow:hidden;z-index:50;background-color:var(--color-primary);color:var(--color-bg)}.dropdown li{width:100%}.dropdown-item,.dropdown-item .drop-down-button,.dropdown-item a{display:block;width:100%;padding:.5rem 1rem;border:none;background:none;color:var(--color-bg);text-align:left;cursor:pointer;font-weight:700;border-radius:0;border:2px solid var(--color-primary);font-size:1rem;text-decoration:none;box-sizing:border-box}.dropdown-item:hover{background-color:var(--color-bg);border:2px solid var(--color-secondary);color:var(--color-secondary);border-radius:0}.dropdown-menu li:last-child .dropdown-item:hover{border-radius:0 0 25px 25px}.button-label{display:block;pointer-events:none}.toggle-switch{position:relative;display:inline-flex;align-items:center;justify-content:space-between;border:0px;width:80px;height:40px;padding:4px;border-radius:9999px;background-color:var(--color-secondary);cursor:pointer;overflow:hidden}.toggle-switch .label{position:absolute;width:50%;text-align:center;font-size:18px;pointer-events:none;transition:transform .3s ease}.toggle-switch .label.left{left:0;transform:translateY(0)}.toggle-switch .label.right{right:0;transform:translateY(0)}.toggle-switch.enabled .label.left{transform:translateY(0)}.toggle-switch.enabled .label.right,.toggle-switch.disabled .label.left{transform:translateY(50px)}.toggle-switch.disabled .label.right{transform:translateY(0)}.toggle-ball{position:absolute;top:4px;left:4px;width:32px;height:32px;background:var(--color-bg);border-radius:50%;transition:transform .3s ease;z-index:2}.toggle-switch.enabled .toggle-ball{transform:translate(40px)}.navbar{position:fixed;top:0;left:0;width:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;padding:20px;background-color:color-mix(in srgb,var(--color-bg) 85%,var(--color-secondary));border-bottom:2px solid var(--color-secondary);z-index:50;box-shadow:var(--custom-shadow, 0 2px 6px rgba(0,0,0,.15));transition:transform .3s ease-in-out}.navbar.show{transform:translateY(0)}.navbar.hide{transform:translateY(-100%)}.navbar-logo{display:flex;justify-content:center;font-family:monospace;font-size:8px;line-height:1.2}.navbar-links{display:flex;justify-content:flex-end;gap:20px;padding:10px;border-right:2px solid var(--color-secondary)}.navbar-icons{display:flex;align-items:center;gap:1.5rem;padding-left:10px}.navbar-icons a{margin-right:20px}.navbar-icons img{display:block}.hero-page{border:2px solid var(--color-secondary);margin:20px;padding:20px;box-shadow:#00000040 0 54px 55px,#0000001f 0 -12px 30px,#0000001f 0 4px 6px,#0000002b 0 12px 13px,#00000017 0 -3px 5px}.ol-custom{counter-reset:item;list-style:none;padding-left:1rem}.ol-custom>li{counter-increment:item;margin-bottom:.5rem;position:relative}.ol-custom>li:before{content:counter(item) ". ";font-weight:700;position:absolute;left:-2rem}.ol-custom ol{counter-reset:subitem;list-style:none;padding-left:2rem;margin-top:.25rem}.ol-custom ol>li{counter-increment:subitem;position:relative;margin-bottom:.25rem}.ol-custom ol>li:before{content:counter(item) "." counter(subitem,lower-alpha) " ";font-weight:700;position:absolute;left:-2rem}.expander,.figure-with-caption{border:2px solid var(--color-secondary);margin:20px;padding:20px;box-shadow:#00000040 0 54px 55px,#0000001f 0 -12px 30px,#0000001f 0 4px 6px,#0000002b 0 12px 13px,#00000017 0 -3px 5px}.figure-with-caption img{width:100%;height:auto;display:block}.figure-with-caption figcaption{text-align:center}.link-item{display:grid;grid-template-columns:1fr 1fr;gap:1rem;width:100%;height:100%;flex:1;align-items:center}.link-label{text-align:right;font-weight:600;text-decoration:none;color:var(--color-secondary)}.link-label:hover{text-decoration:underline}.link-icon-wrapper{display:flex;align-items:center;justify-content:flex-start}.link-icon img,.link-img{max-height:30px}.ul{margin:0;padding:0}ul.link-list>li{margin-bottom:1rem}.roadmap-mermaid svg{transform:scale(1.6);transform-origin:top left}.roadmap-mermaid svg{width:100%!important;height:auto!important}.background{position:fixed;top:0;left:0;width:100%;height:100%;overflow:hidden;z-index:-1}.orbit-container{position:absolute;animation:orbit var(--duration) linear infinite;transform-origin:center center}.rotation-container{animation:none!important;animation:rotate var(--duration) linear infinite;transform-origin:center center}.shape{position:absolute;border-radius:50%;transform-origin:center center;animation:none!important;filter:blur(100px);transform:translate(var(--radius-x),var(--radius-y));transition:transform 2s ease}.shape1{background:#0068cf}.shape2{background:#f5f5f5}.shape3{background:#4b4b4b}.shape4{background:#0052a3}.shape5{background:#00c4aa}.shape6{background:#d13800}.shape7{background:#c20027}[data-theme=dark] .shape1{background:#0054a8}[data-theme=dark] .shape2{background:#f5f5f5}[data-theme=dark] .shape3{background:#a9a9a9}[data-theme=dark] .shape4{background:#036}[data-theme=dark] .shape5{background:#00c4aa}[data-theme=dark] .shape6{background:#b33000}[data-theme=dark] .shape7{background:#b40024}@keyframes orbit{0%{transform:rotate(0) translate(var(--radius))}to{transform:rotate(360deg) translate(var(--radius))}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
