.kofi-promo[data-v-7bb4b202]{position:fixed;right:20px;z-index:1200;background:rgba(22,26,36,.96);border:1px solid rgba(100,150,255,.25);border-radius:12px;padding:14px 14px 10px 14px;width:300px;-webkit-box-shadow:0 8px 28px rgba(0,0,0,.35);box-shadow:0 8px 28px rgba(0,0,0,.35);backdrop-filter:blur(8px);-webkit-animation:fadeIn-7bb4b202 .25s ease-out;animation:fadeIn-7bb4b202 .25s ease-out}.kofi-close[data-v-7bb4b202]{position:absolute;right:8px;top:6px;background:transparent;border:none;color:#9fb4d6;cursor:pointer;font-size:18px;line-height:1;padding:4px;border-radius:6px}.kofi-close[data-v-7bb4b202]:hover{background:rgba(100,150,255,.12);color:#e8edf5}.kofi-body[data-v-7bb4b202]{color:#d1d9e6}.kofi-body strong[data-v-7bb4b202]{display:block;font-size:15px;margin-bottom:6px;color:#e8edf5}.kofi-body p[data-v-7bb4b202]{margin:0 0 10px 0;font-size:13px;color:#aab6c8;line-height:1.5}.kofi-actions[data-v-7bb4b202]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:8px;margin-bottom:8px}.kofi-actions a.primary[data-v-7bb4b202]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;background:linear-gradient(135deg,#4d7fbf,#6fa3ff);color:#0d1118;border:none;padding:8px 12px;border-radius:8px;font-size:13px;font-weight:700;text-decoration:none;-webkit-box-shadow:0 4px 12px rgba(100,150,255,.25);box-shadow:0 4px 12px rgba(100,150,255,.25)}.kofi-actions a.primary[data-v-7bb4b202]:hover{-webkit-transform:translateY(-1px);transform:translateY(-1px);-webkit-box-shadow:0 6px 16px rgba(100,150,255,.35);box-shadow:0 6px 16px rgba(100,150,255,.35)}.kofi-actions button.secondary[data-v-7bb4b202]{background:rgba(100,150,255,.08);border:1px solid rgba(100,150,255,.2);color:#b0bac9;padding:8px 10px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer}.kofi-actions button.secondary[data-v-7bb4b202]:hover{background:rgba(100,150,255,.12);border-color:rgba(100,150,255,.35)}.kofi-never[data-v-7bb4b202]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;font-size:12px;color:#7a8a9e}.kofi-never input[data-v-7bb4b202]{width:14px;height:14px;accent-color:#6fa3ff}@-webkit-keyframes fadeIn-7bb4b202{0%{opacity:0}to{opacity:1}}@keyframes fadeIn-7bb4b202{0%{opacity:0}to{opacity:1}}main.home{overflow-y:auto;background:linear-gradient(135deg,#0a0d1a,#1a1f2e);min-height:100vh}main.home .hero{margin-bottom:0}main.home .hero .container{padding:3rem 0;width:100%;max-width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin:0}@media screen and (min-width:992px){main.home .hero .container{-ms-flex-wrap:nowrap;flex-wrap:nowrap;padding:4rem 0}}main.home .logo{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:0 2rem;width:100%;text-align:center}@media screen and (min-width:992px){main.home .logo{padding:0 3rem;width:55%;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;text-align:left;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}main.home .logo div{max-width:none}}main.home .logo h1{color:#e8edf5;text-shadow:0 0 20px rgba(100,150,255,.3);font-size:3rem;margin:0 0 .5rem 0}@media screen and (min-width:992px){main.home .logo h1{font-size:4rem}}main.home .logo p{color:#b0bac9;font-size:1.4rem;margin:0}@media screen and (min-width:992px){main.home .logo p{font-size:1.6rem}}main.home .logo img{height:14rem;width:auto;margin-bottom:2rem;-webkit-filter:drop-shadow(0 0 20px rgba(100,150,255,.3));filter:drop-shadow(0 0 20px rgba(100,150,255,.3))}@media screen and (min-width:992px){main.home .logo img{margin-bottom:0;margin-right:3rem;height:16rem}}main.home .download,main.home .logo.selfhosted{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:100%}main.home .download{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 2rem}@media screen and (min-width:992px){main.home .download{padding:0 3rem;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end;width:45%}}main.home .download a{background:linear-gradient(135deg,#4d7fbf,#6fa3ff);color:#0d1118;font-size:1.5rem;padding:1.2rem 2.5rem;text-align:center;line-height:1.2;text-decoration:none;border-radius:10px;-webkit-transition:all .2s;transition:all .2s;-webkit-box-shadow:0 4px 15px rgba(100,150,255,.3);box-shadow:0 4px 15px rgba(100,150,255,.3);font-weight:700}@media screen and (min-width:992px){main.home .download a{font-size:2rem;padding:1.5rem 3rem}}main.home .download a:hover{background:linear-gradient(135deg,#3d6fa5,#5a8ee6);-webkit-box-shadow:0 6px 20px rgba(100,150,255,.4);box-shadow:0 6px 20px rgba(100,150,255,.4);-webkit-transform:translateY(-2px);transform:translateY(-2px)}main.home .download a span{display:block;font-weight:700}main.home .download a span svg{margin-right:.5rem;opacity:.75}main.home .download a small{font-size:1rem;opacity:.85;display:block;margin-top:.4rem}main.home .download>small{max-width:20rem;text-align:center;color:#7a8a9e;margin-top:1rem;font-size:1rem}@media screen and (min-width:992px){main.home .download>small{text-align:right}}main.home>.container{padding:0;width:100%;max-width:100%;margin:0}main.home>.container.selfhosted{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:3rem 2rem}main.home>.container.selfhosted .resources{width:100%;max-width:800px}main.home>.container.selfhosted .resources>div{width:100%}main.home .resources{display:-webkit-box;display:-ms-flexbox;display:flex;gap:2rem;width:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding:3rem 2rem}@media screen and (min-width:992px){main.home .resources{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;padding:4rem 3rem}}main.home .resources>div{-webkit-box-flex:1;-ms-flex:1;flex:1}main.home .resources>div h2{font-size:2rem;margin-top:0}main.home .resources>div p{font-size:1.1rem}main.home .resources ul{color:#b0bac9;font-size:1.05rem}main.home .resources ul li{margin-bottom:.6rem}.tools{-ms-flex-wrap:wrap;flex-wrap:wrap;margin:2rem 0;gap:1.5rem}.tools,.tools a{display:-webkit-box;display:-ms-flexbox;display:flex}.tools a{background:rgba(22,26,36,.8);color:#6fa3ff;font:inherit;font-weight:700;-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;min-width:250px;padding:2.5rem 2rem;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-radius:10px;text-decoration:none;text-align:center;-webkit-transition:all .2s;transition:all .2s;border:1px solid rgba(100,150,255,.15);-webkit-box-shadow:0 4px 12px rgba(0,0,0,.3);box-shadow:0 4px 12px rgba(0,0,0,.3);font-size:1.2rem}@media screen and (min-width:768px){.tools a{font-size:1.3rem}}.tools a:hover{background:rgba(22,26,36,.95);border-color:rgba(100,150,255,.3);-webkit-transform:translateY(-2px);transform:translateY(-2px);-webkit-box-shadow:0 6px 16px rgba(0,0,0,.4);box-shadow:0 6px 16px rgba(0,0,0,.4)}.tools a svg{font-size:3.5rem;display:block;opacity:.75;color:#6fa3ff;margin-bottom:1rem}@media screen and (min-width:768px){.tools a svg{font-size:4rem}}main.notfound{overflow-y:auto;background:linear-gradient(135deg,#0a0d1a,#1a1f2e);min-height:100vh}main.notfound .hero{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:4rem}main.notfound .hero .hero-content{position:relative}main.notfound .hero .hero-content svg{position:absolute;color:#ff6b6b;top:-.5rem;left:-7rem;font-size:6rem;z-index:1;opacity:.5}main.notfound .hero .hero-content h1{position:relative;z-index:2;margin-bottom:0;color:#e8edf5}main.notfound .hero p{font-size:1.25rem;font-weight:700;color:#b0bac9}main.notfound .hero .error{color:#ff6b6b}:root{--docsearch-footer-background:#1a1b21;--docsearch-footer-shadow:unset;--docsearch-highlight-color:hsla(0,0%,100%,.25);--docsearch-hit-background:#1a1b21;--docsearch-hit-color:#fff;--docsearch-hit-shadow:unset;--docsearch-icon-color:hsla(0,0%,100%,.5);--docsearch-key-gradient:linear-gradient(-225deg,#666,#999);--docsearch-key-shadow:inset 0 -2px 0 0 #aaa,inset 0 0 1px 1px #aaa,0 1px 2px 1px #0b0f16;--docsearch-logo-color:#4da3ff;--docsearch-modal-background:#0b0f16;--docsearch-modal-shadow:inset 1px 1px 0 0 #0b0f16,0 3px 8px 0 #1a1b21;--docsearch-muted-color:hsla(0,0%,100%,.5);--docsearch-searchbox-background:#1a1b21;--docsearch-searchbox-focus-background:#1a1b21;--docsearch-searchbox-shadow:inset 0 0 0 2px #4da3ff;--docsearch-text-color:#fff}*{-webkit-box-sizing:border-box;box-sizing:border-box}:focus{outline:1px solid #4da3ff}input:focus{outline-offset:unset}::-webkit-scrollbar{width:.5rem}::-webkit-scrollbar-track{background:#0a0a18;border-left:1px solid hsla(0,0%,100%,.1)}::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.4)}html{height:100%;font-size:12px;scrollbar-color:hsla(0,0%,100%,.4) transparent}@media screen and (min-width:992px){html{font-size:14px}}@media screen and (min-width:1400px){html{font-size:16px}}body{margin:0;height:100vh;overflow-x:hidden}#app,body{display:-webkit-box;display:-ms-flexbox;display:flex}#app{font-family:Source Sans Pro,Open Sans,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#fff;line-height:1.5;background-color:#0b0f16;width:100%;height:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column;flex-flow:column}#app>main{height:100%;max-height:calc(100% - 6rem)}#app>footer{background:#1a1b21;padding:.4em 1em;position:relative;font-size:.9em;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;height:2rem;-webkit-box-shadow:0 0 1rem rgba(0,0,0,.2);box-shadow:0 0 1rem rgba(0,0,0,.2)}#app>footer svg{color:#4da3ff}#app>footer a{text-decoration:none}#app>footer ul{margin:0;padding:0;list-style:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}#app>footer .kofi-footer{color:#6fa3ff;opacity:.9}#nav-menu-toggle{background:transparent;color:#4da3ff;height:3rem;width:3rem;font-size:2rem;border:0}@media screen and (min-width:768px){#nav-menu-toggle{display:none}}#nav{padding:0;z-index:100;-webkit-box-shadow:0 0 .5rem rgba(0,0,0,.25);box-shadow:0 0 .5rem rgba(0,0,0,.25);-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;position:relative}#nav,#nav>div{display:-webkit-box;display:-ms-flexbox;display:flex}#nav>div{-webkit-box-align:center;-ms-flex-align:center;align-items:center}#nav>div>span{opacity:.5;margin-left:.5rem}#nav .logo{height:3rem;padding:.5rem;font-size:1.7rem;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#fff;text-decoration:none}#nav .logo img{height:2rem;width:2rem;margin-right:.5rem}#nav hr{height:2rem;margin:0 1rem 0 .5rem;border-color:#4da3ff}#nav .nav-message{max-width:25rem}#nav .nav-message a{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#fff;text-decoration:none}#nav .nav-message a img{height:1.5rem;width:auto;margin-right:.5rem}#nav .nav-message a span{opacity:.75}#nav ul{margin:0;padding:0;list-style:none;display:none}@media screen and (min-width:768px){#nav ul{display:inherit;-webkit-box-align:center;-ms-flex-align:center;align-items:center}}#nav ul.active{display:inherit;position:absolute;top:3.5rem;left:0;width:100%;background:#0b0f16}@media screen and (min-width:768px){#nav ul.active{position:static;width:auto;background:none}}#nav ul.top-level>li{margin-left:1rem}#nav ul li{position:relative}#nav ul li a,#nav ul li span{color:#fff;text-decoration:none;padding:.5rem 1rem;border-radius:2px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}#nav ul li svg{margin-right:.5rem;opacity:.5}#nav ul li ul{background:#0b0f16;position:absolute;z-index:100;display:none;padding:0;margin:0}#nav ul li ul li a{display:block}#nav ul li ul li:first-child a{border-top-left-radius:0;border-top-right-radius:0}#nav ul li ul li:last-child a{border-bottom-left-radius:0;border-bottom-right-radius:0}#nav ul li:hover>ul{display:block}#nav ul li a.router-link-active,#nav ul li span.router-link-active{background:hsla(0,0%,100%,.05)}#nav ul li.external a{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex}#nav ul li .locale-label{display:none}@media screen and (min-width:768px){#nav ul li .locale-label{display:inline}}#nav ul li .locale{cursor:pointer}#nav ul li .locale-menu{overflow:auto;max-height:30rem}#nav ul li .locale-menu.open{display:block}.overlay-focus{height:100vh;width:100vw;background:rgba(0,0,0,.3)}.container{height:100%;margin:auto;max-width:110rem;padding:1rem}@media screen and (min-width:768px){.container{padding:2rem}}@media screen and (min-width:992px){.container{padding:4rem 2rem}}.container>section{background:#1a1b21;border-radius:2px}.hero{-webkit-box-shadow:0 0 1rem rgba(0,0,0,.2);box-shadow:0 0 1rem rgba(0,0,0,.2);background-image:-webkit-gradient(linear,left top,right bottom,from(#051a26),color-stop(#051929),to(#05102c));background-image:linear-gradient(to bottom right,#051a26,#051929,#05102c)}.footer{padding:0}code{background:rgba(0,0,0,.25);border-radius:2px}.fade-enter-active,.fade-leave-active{-webkit-transition:opacity .2s;transition:opacity .2s;-webkit-transition:opacity .3s;transition:opacity .3s}.fade-enter,.fade-leave-to{opacity:0}.slide-enter-active,.slide-leave-active{-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}.slide-enter-to,.slide-leave{max-height:100vh;overflow:hidden}.slide-enter,.slide-leave-to{overflow:hidden;max-height:0}.container{width:100%;max-width:120rem;margin:0 auto}.hero{background:linear-gradient(135deg,#0a0d1a,#1a1f2e);display:-webkit-box;display:-ms-flexbox;display:flex}.hero .container{-ms-flex-wrap:wrap;flex-wrap:wrap}@media screen and (min-width:992px){.hero .container{-ms-flex-wrap:nowrap;flex-wrap:nowrap}}.hero h1{margin:0 0 1rem;line-height:1;font-size:2em}@media screen and (min-width:992px){.hero h1{font-size:3em}}.hero p{margin:0;opacity:.75;color:#b0bac9}a{color:#6fa3ff}a:hover{color:#8bb5ff}.code,code{display:inline-block;font-family:Source Code Pro,monospace;padding:.2em .5em;background:rgba(0,0,0,.4);font-size:.8em;border-radius:2px;line-height:1.5;border:1px solid rgba(100,150,255,.2)}.code,.code.true,code,code.true{color:#6fa3ff}.code.false,code.false{color:#ff6b6b}.code.undefined,code.undefined{color:#7a8a9e}.button{border:0;font:inherit;font-weight:700;background:linear-gradient(135deg,#4d7fbf,#6fa3ff);color:#0d1118;font-size:1.5em;padding:1rem 2rem;text-align:center;line-height:1;text-decoration:none;border-radius:10px;-webkit-transition:all .2s;transition:all .2s;cursor:pointer;-webkit-box-shadow:0 4px 15px rgba(100,150,255,.3);box-shadow:0 4px 15px rgba(100,150,255,.3)}@media screen and (min-width:992px){.button{font-size:2em}}.button:hover{background:linear-gradient(135deg,#3d6fa5,#5a8ee6);-webkit-box-shadow:0 6px 20px rgba(100,150,255,.4);box-shadow:0 6px 20px rgba(100,150,255,.4);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.button span{display:block;font-weight:700}.button span svg{margin-right:.5rem;opacity:.75}.button small{font-size:1rem;font-weight:400;opacity:.85}@media screen and (min-width:992px){.button small{font-size:1.25rem}}.button.demo-button{font-size:1rem;padding:.5rem 1rem}.resources{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;width:100%}@media screen and (min-width:992px){.resources{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}}.resources>div{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;width:100%;padding:2rem}.resources>div h2{margin-top:0;color:#e8edf5}.resources>div ol,.resources>div p,.resources>div ul{margin-top:0;color:#b0bac9}@media screen and (min-width:992px){.resources>div{width:50%;padding:4rem}.resources>div:first-child{padding-right:2rem}.resources>div:last-child{padding-left:2rem}}.resources a.resource{display:block;background:rgba(22,26,36,.8);color:#6fa3ff;padding:1.5rem;line-height:1;text-decoration:none;border-radius:10px;font-size:1.5em;-webkit-transition:all .2s;transition:all .2s;-webkit-box-shadow:0 4px 12px rgba(0,0,0,.3);box-shadow:0 4px 12px rgba(0,0,0,.3);border:1px solid rgba(100,150,255,.15)}.resources a.resource:not(:last-child){margin-bottom:2rem}.resources a.resource:hover{background:rgba(22,26,36,.95);border-color:rgba(100,150,255,.3);-webkit-transform:translateY(-2px);transform:translateY(-2px);-webkit-box-shadow:0 6px 16px rgba(0,0,0,.4);box-shadow:0 6px 16px rgba(0,0,0,.4)}.resources a.resource span{display:block;font-weight:700;margin-bottom:.5rem}.resources a.resource svg{margin-right:.5rem;opacity:.75}.resources a.resource small{color:#b0bac9;opacity:.85;font-size:1rem}.lighter{opacity:.66;color:#7a8a9e}.tool-intro{width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;background:linear-gradient(135deg,#0a0d1a,#1a1f2e)}.tool-intro>div{text-align:center;max-width:600px;padding:2rem}.tool-intro>div img{max-width:200px;margin-bottom:2rem;-webkit-filter:drop-shadow(0 0 20px rgba(100,150,255,.3));filter:drop-shadow(0 0 20px rgba(100,150,255,.3))}.tool-intro>div h1{color:#e8edf5;margin-bottom:1rem}.tool-intro>div p{color:#b0bac9;margin-bottom:1.5rem}.tool-intro>div code{display:block;margin:1rem 0;padding:1rem;background:rgba(0,0,0,.4);border-radius:8px}.overlay-focus{position:fixed;top:0;left:0;bottom:0;width:100%;z-index:50;background:rgba(0,0,0,.5)}