:root{interpolate-size:allow-keywords;--primary-color: #3e66f9;--secondary-color: #6c757d;--success-color: #346649;--info-color: #17a2b8;--warning-color: #ffc107;--danger-color: #713038;--light-color: #f8f9fa;--dark-color: #343a40;--white-color: #fff;--black-color: #000;--gray-color: #6c757d;--gray-dark-color: #343a40;--dark-bg-color: #1a1a1a;--dark-text-color: #e5e5e5;--dark-border-color: #2d2d2d;--low-contrast-color: #858b9c;--medium-contrast-color: #4d515e;--heading-color: #050c2a;--main-bg-color: #f2f5f7;--header-bg-color: #fff;--header-bg-color-semi: hsl(0deg 0% 100% / 67%);--content-box-bg: #fff;--max-width: 1380px;--blog-width: 900px;--border-color: #dee2e6;--br-sm: .25rem;--br-md: .3rem;--br-lg: .4rem;--br-xl: .6rem;--br-xxl: .8rem;--shadow-button: 0px 18px 20px rgb(153 172 243 / 5%), 0px 7px 9px rgb(178 187 207 / 8%), 0px 5px 6px rgb(213 213 213 / 9%);--image-overlay: #444d6e;--image-overlay-strong: var(--primary-color);--image-hover-bg: rgb(22 32 70 / 37%);--image-hover-bg-2: rgb(255 255 255 / 60%);--smooth-timing: cubic-bezier(0, .56, .46, 1);--paragraph-color: #33363a;--content-bg-dark: #fff;--opacity-1-bg-color: rgba(0, 0, 0, .1);--opacity-2-bg-color: rgba(0, 0, 0, .2);--opacity-3-bg-color: rgba(0, 0, 0, .3);--opacity-4-bg-color: rgba(0, 0, 0, .4);--opacity-5-bg-color: rgba(0, 0, 0, .5);--opacity-6-bg-color: rgba(0, 0, 0, .6);--opacity-7-bg-color: rgba(0, 0, 0, .7);--opacity-8-bg-color: rgba(0, 0, 0, .8);--opacity-9-bg-color: rgba(0, 0, 0, .9);--active-text: #fff;--invert-filter: invert(0);--overlay-bg: rgb(195 207 255 / 29%);--box-shadow-border: inset 0 0 0 2px rgb(42 53 111 / 10%);--box-shadow-border-sm: inset 0 0 0 1px rgb(42 53 111 / 10%);--content-box-bg-variant: #ffffff;--scroll-bar-color: var(--low-contrast-color);--fancy-input-bg: #fff;--white-bd-trans: #fff;--glass-bg: rgb(229 234 255 / 83%);--padding-main-section: 10rem 0 8rem;--padding-main-section-sm: 8rem 0 6rem}@media (prefers-color-scheme: dark){:root{interpolate-size:allow-keywords;--light-color: var(--dark-bg-color);--gray-dark-color: var(--dark-text-color);--low-contrast-color: #525b69;--medium-contrast-color: #8e94a9;--main-bg-color: #0d111c;--header-bg-color: #000;--header-bg-color-semi: hsl(220deg 46.15% 5.1% / 83.14%);--heading-color: #fff;--content-box-bg: #1e283c;--shadow-button: none;--border-color: oklch(.28 .04 263.62 / .82);--paragraph-color: #c6ccd4;--content-bg-dark: #070b13;--opacity-1-bg-color: rgba(255, 255, 255, .1);--opacity-2-bg-color: rgba(255, 255, 255, .2);--opacity-3-bg-color: rgba(255, 255, 255, .3);--opacity-4-bg-color: rgba(255, 255, 255, .4);--opacity-5-bg-color: rgba(255, 255, 255, .5);--opacity-6-bg-color: rgba(255, 255, 255, .6);--opacity-7-bg-color: rgba(255, 255, 255, .7);--opacity-8-bg-color: rgba(255, 255, 255, .8);--opacity-9-bg-color: rgba(255, 255, 255, .9);--invert-filter: invert(1);--overlay-bg: rgb(25 29 48 / 63%);--image-hover-bg-2: rgb(22 32 70 / 37%);--box-shadow-border: inset 0 0 0 2px oklch(.28 .04 263.62 / .45);--box-shadow-border-sm: inset 0 0 0 1px oklch(.28 .04 263.62 / .45);--content-box-bg-variant: #101725;--scroll-bar-color: rgba(255, 255, 255, .2) transparent;--fancy-input-bg: #07090ecc;--white-bd-trans: transparent;--glass-bg: var(--image-hover-bg)}}@starting-style{dialog[open]{translate:0 100px;opacity:0}.card-animate{opacity:0;translate:0 50px}}dialog[open]{translate:0 0;opacity:1}.card-animate{opacity:1;translate:0 0;transition:opacity .3s ease,transform .3s ease}body,html{margin:0;padding:0}*{scrollbar-width:thin;scrollbar-color:var(--scroll-bar-color)}*:not(dialog){box-sizing:border-box}body{font-family:Inter,sans-serif;font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--gray-dark-color);background-color:var(--main-bg-color);position:relative}a{color:var(--primary-color);text-decoration:none;font-weight:600;transition:all .3s ease}a:hover{color:var(--primary-color)}a.line-ani{display:inline-block;position:relative;transition:none}a.line-ani:after{content:"";position:absolute;width:100%;height:2px;transform:scaleX(0);bottom:0;left:0;background-color:var(--primary-color);transform-origin:bottom right;transition:transform .25s ease-out}a.line-ani:hover:after{transform:scaleX(1);transform-origin:bottom left}h1,h2,h3,h4,h5,h6{font-family:Montserrat,sans-serif;color:var(--heading-color);margin-top:0;margin-bottom:.5rem;letter-spacing:-.015em;line-height:1.4em;font-weight:400;text-wrap:balance}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}h1:has([class]),h2:has([class]),h3:has([class]),h4:has([class]),h5:has([class]),h6:has([class]){margin-bottom:0}p{margin-top:0;margin-bottom:0;color:var(--paragraph-color);font-weight:500}p:not([class]){margin-bottom:1rem}p strong{color:var(--heading-color)}blockquote{margin:2rem 0;padding:.3rem 1rem .3rem 1.3rem;font-size:.9rem;font-style:italic;color:var(--medium-contrast-color);border-left:3px solid var(--primary-color)}ul,ol{margin-top:0;margin-bottom:3rem;padding-left:2rem}ul li,ol li{margin-bottom:.8rem;text-wrap:pretty;padding-inline-start:1ch;color:var(--paragraph-color)}ul.special{list-style:none;margin:0 0 0 10px;padding:0}ul.special li{font-size:19px;list-style:none;padding-left:30px;position:relative;margin:0}ul.special li:not(:last-of-type):before{background-color:var(--medium-contrast-color);content:"";height:100%;left:5px;position:absolute;top:calc(.5em - 6px);width:2px}ul.special li>div{display:flex}ul.special li:after{background-color:var(--medium-contrast-color);border:2px solid var(--medium-contrast-color);border-radius:50%;box-sizing:border-box;content:"";display:inline-block;flex-shrink:0;height:12px;left:0;position:absolute;top:calc(.5em - 8px);width:12px}ul.special li>div>div{flex-basis:100%;margin-bottom:3px;margin-top:-3px;padding:0 20px 20px 0}ul.special li>div>div>h4{margin-bottom:.3rem;font-size:16px;font-weight:700;color:var(--heading-color)}ul.special li>div>div>p{margin-bottom:0;font-size:.9rem}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle;width:1rem;height:1rem}label{display:inline-block;margin-bottom:.5rem}pre{background-color:var(--content-bg-dark);border-radius:var(--br-xxl);font-size:.9rem!important;margin-bottom:2rem!important}code{padding:.1rem .4rem;background-color:var(--content-bg-dark);font-size:.8rem;border-radius:var(--br-md);display:inline-block}pre>code{text-wrap:auto;max-height:500px;overflow-y:scroll;width:100%;white-space:pre-wrap!important}strong{color:var(--heading-color);font-weight:700}img:not(.logo-img){max-width:100%;height:auto}.scroller-stick{position:sticky;top:7rem;z-index:3}button{border:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:pointer;background-color:var(--content-box-bg);-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:.7rem 1.3rem;font-size:1.1rem}.btn{background-color:var(--content-box-bg);display:inline-block;border:none;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;overflow:hidden;border-radius:var(--br-md);height:auto;color:var(--white);cursor:pointer;font-size:1.1rem;font-weight:700;padding:.7rem 1.3rem;text-align:center;z-index:1;text-decoration:none;box-shadow:var(--shadow-button);transition:all .2s ease-out}.btn:hover{color:var(--active-text);background-color:var(--primary-color);outline-color:var(--content-box-bg)}.btn.second{background:transparent;box-shadow:inset 0 0 0 2px var(--low-contrast-color);color:var(--medium-contrast-color)}.btn.second:hover{box-shadow:inset 0 0 0 2px var(--medium-contrast-color);color:var(--heading-color)}.btn.animate-arrow{transition:all .45s cubic-bezier(.65,0,.076,1);display:flex;align-items:center;gap:.5rem;width:-moz-max-content;width:max-content}.btn.animate-arrow:hover .arrow-icon{transform:translate(4px)}.btn.animate-arrow:hover .arrow-icon-stem{stroke-dashoffset:0}.btn.animate-arrow .arrow-icon{transition:transform .2s;transform:translate(0)}.btn.animate-arrow .arrow-icon-stem{stroke-dasharray:20;stroke-dashoffset:20;transition:stroke-dashoffset .2s}.btn.animate-arrow .arrow-icon--expanded{transform:translate(4px)}.btn.animate-arrow .arrow-icon-stem--expanded{stroke-dashoffset:20}.btn-Fx{overflow:hidden;color:var(--heading-color);display:inline-block;position:relative;font-size:1rem;padding:10px 16px;background-color:var(--content-box-bg);border-radius:5px;box-shadow:var(--shadow-button)}.btn-Fx span{display:block;position:relative;z-index:10;font-weight:700}.btn-Fx:hover{color:#fff}.btn-Fx:before{content:"";position:absolute;background-color:var(--primary-color);width:120%;height:0;padding-bottom:120%;top:-110%;left:-10%;border-radius:50%;transform:translate3d(0,68%,0) scale3d(0,0,0)}.btn-Fx:hover:before{transform:translateZ(0) scaleZ(1);transition:transform .4s cubic-bezier(.1,0,.3,1)}.btn-Fx:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--primary-color);transform:translate3d(0,-101%,0);transition:transform .4s}.btn-Fx:hover:after{transform:translateZ(0);transition-duration:.05s;transition-delay:.4s;transition-timing-function:linear}.framer{--border-bottom-width: 1px;--border-color: var(--framer-color-border);--border-left-width: 1px;--border-right-width: 1px;--border-style: solid;--border-top-width: 1px;place-content:flex-start flex-end;align-items:flex-start;place-self:start;background-color:var(--framer-color-bg);border-radius:10px;display:flex;flex:0 0 auto;gap:10px;height:100%;overflow:hidden;padding:2rem;position:relative;width:100%;will-change:transform}.framer.pink{--framer-color-border: #ff0088;--framer-color-bg: #ff0088}.framer.purple{--framer-color-border: #9911ff;--framer-color-bg: #7700ff}.framer.blue{--framer-color-border: #0d63f8;--framer-color-bg: #0d63f8}.framer.cyan{--framer-color-border: #18c98a;--framer-color-bg: #18c98a}.framer.yellow{--framer-color-border: #f2b456;--framer-color-bg: #f2b456}.framer.orange{--framer-color-border: #e44141;--framer-color-bg: #e44141}.framer:after{content:"";border-width:var(--border-top-width, 0) var(--border-right-width, 0) var(--border-bottom-width, 0) var(--border-left-width, 0);border-color:var(--border-color, none);border-style:var(--border-style, none);width:100%;height:100%;position:absolute;box-sizing:border-box;left:0;top:0;border-radius:inherit;pointer-events:none}.framer .framer-content{position:relative;z-index:2}.framer .framer-inner-1{background-image:radial-gradient(transparent 1px,var(--content-bg-dark) 1px);background-size:10px 10px;border-radius:9px;top:1px;right:1px;bottom:1px;left:1px;flex:0 0 auto;overflow:hidden;position:absolute;will-change:transform;z-index:1}.framer .framer-inner-2{background-color:var(--content-bg-dark);border-radius:10px;top:1px;right:1px;bottom:1px;left:1px;flex:0 0 auto;-webkit-mask:radial-gradient(120% 100% at 107.1% -9.2%,rgba(0,0,0,0) 0%,rgb(0,0,0) 100%);mask:radial-gradient(120% 100% at 107.1% -9.2%,rgba(0,0,0,0) 0%,rgb(0,0,0) 100%);overflow:hidden;position:absolute;will-change:transform;z-index:1}.framer.page{border:none;border-radius:0}.framer.page .framer-inner-1{background-image:radial-gradient(transparent 1px,var(--content-bg-dark) 1px);background-size:10px 10px;border-radius:0;top:0;right:0;bottom:0;left:0;flex:0 0 auto;overflow:hidden;position:absolute;will-change:transform;z-index:1}.framer.page .framer-inner-2{background-color:var(--content-bg-dark);border-radius:0;top:0;right:0;bottom:0;left:0;flex:0 0 auto;-webkit-mask:radial-gradient(120% 100% at 107.1% -9.2%,rgba(0,0,0,0) 0%,rgb(0,0,0) 100%);mask:radial-gradient(120% 100% at 107.1% -9.2%,rgba(0,0,0,0) 0%,rgb(0,0,0) 100%);overflow:hidden;position:absolute;will-change:transform;z-index:1}.grid-300-gap-5{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:5rem}.grid-300-gap-3{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:3rem}.grid-400-gap-5{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:5rem}.grid-400-gap-3{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:3rem}.grid-500-gap-5{display:grid;grid-template-columns:repeat(auto-fill,minmax(500px,1fr));gap:5rem}.grid-500-gap-3{display:grid;grid-template-columns:repeat(auto-fill,minmax(500px,1fr));gap:3rem}.pagination{margin-top:1rem}.pagination-inner{display:flex;gap:.5rem;justify-content:space-between;align-items:center;flex-direction:row;flex-wrap:wrap}.pagination-links{font-size:1.1rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.pagination-links>a,.pagination-links>span{width:40px;height:40px;display:flex;align-items:center;justify-content:center;line-height:1;border-radius:var(--br-xxl);background-color:var(--content-box-bg)}.pagination-links>a{color:var(--heading-color);font-weight:600}.pagination-links>span.current-page{background-color:var(--primary-color);color:var(--active-text)}.pagination-links .prev-page-first,.pagination-links .next-page-last{color:var(--medium-contrast-color)}.pagination-summary{color:var(--medium-contrast-color);font-size:.9rem}.tags{display:flex;gap:.5rem;flex-wrap:wrap}.tag:not(.token){background:var(--opacity-1-bg-color);padding:.3rem .8rem;border-radius:1rem;font-size:.9rem;color:var(--paragraph-color);display:inline-block}.tag-gradient{padding:1px;border-radius:1rem;font-size:.9rem;color:var(--paragraph-color);position:relative;background-size:120% 120%;background-position:center;border:.06rem solid transparent}.tag-gradient:before{position:absolute;content:"";width:100%;height:100%;border-radius:inherit;top:0;left:0;background-image:conic-gradient(from 100deg at 50% 50%,#0dfeff,#67c2f5 130deg,#67c2f5 140deg,#af71ff 180deg,#9fb6ff 270deg,#67c2f5 330deg,#0dfff5 360deg)}.tag-gradient span{padding:.3rem .8rem;border-radius:inherit;background-color:var(--content-bg-dark);display:inline-block;position:relative}.tag.sm{font-size:.7rem}.loader{border:4px solid var(--primary-color);border-left-color:transparent;border-radius:50%;width:36px;height:36px;animation:spin360 1s linear infinite}.alert{padding:.8rem 1rem;border-radius:var(--br-lg);margin-bottom:2rem;color:var(--heading-color);border:2px solid var(--heading-color)}.form-group{margin-bottom:1.5rem}label{display:block;color:var(--heading-color);font-size:.9rem;font-weight:700}input,textarea{width:100%;padding:.8rem;border-radius:var(--br-lg);background-color:var(--image-hover-bg-2);border:1px solid var(--image-hover-bg);color:var(--heading-color);font-size:1rem;box-shadow:var(--box-shadow-border-sm);transition:all .3s ease}input:focus,textarea:focus{outline:none;border-color:var(--primary-color)}input.fancy,textarea.fancy{border:none;background-color:var(--fancy-input-bg);border-radius:var(--br-lg);padding:1rem 1.2rem;box-shadow:var(--shadow-button)}input.fancy:focus,textarea.fancy:focus{box-shadow:0 0 0 2px var(--heading-color)}textarea{font-family:Inter,sans-serif}::-moz-placeholder{color:var(--medium-contrast-color)}::placeholder{color:var(--medium-contrast-color)}.form-group textarea{max-width:100%;min-width:100%;min-height:180px;field-sizing:content;resize:none}.category-filter{display:flex;gap:1rem;align-items:center}.category-filter .filter-item{padding:.7rem 1.1rem;color:var(--medium-contrast-color);transition:all .3s ease;font-size:.8rem}.category-filter .filter-item:hover{color:var(--active-text)}.category-filter .filter-item.active{color:var(--active-text);background:var(--primary-color)}.pretty-wrap{text-wrap:pretty}.flex-row{display:flex;flex-direction:row;align-items:center}.flex-row-reverse{display:flex;flex-direction:row-reverse;align-items:center}.gap-0-5{gap:.5rem}.gap-1{gap:1rem}.gap-2{gap:2rem}.gap-3{gap:3rem}.content-container{width:100%;position:relative;max-width:var(--max-width);margin:0 auto;display:flex;flex-direction:column;gap:1rem}.content-container-max{max-width:calc(var(--max-width) + 200px)}.error-page-section{padding:5rem 0 7rem}.error-page{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;position:relative;z-index:2}.error-page-section h1{font-size:20rem;font-weight:700;color:#70003c;line-height:1;margin:0}.error-page-section h3{font-weight:600}.error-page-section p{color:var(--medium-contrast-color)}.error-page-section .btn{margin-top:3rem}.social-links{display:flex;gap:1.3rem;align-items:center}.social-links>a{color:var(--medium-contrast-color);font-size:1.6rem;display:inline-block}.social-links>a:hover{color:var(--primary-color)}.github-component{margin-top:3rem;height:auto}#githubContent{gap:1.5rem}.github-header{grid-column:1 / -1;padding:.6rem 1rem;background-color:var(--content-box-bg);border-radius:var(--br-lg)}.github-header .github-brand{display:flex;align-items:center;gap:.5rem}.github-header .github-brand a{color:var(--heading-color);font-size:1rem;font-weight:500}.github-header .user-badge{display:flex;align-items:center;justify-content:space-between}.github-header .user-badge a{color:var(--heading-color)}.github-header .user-badge .bi-github{font-size:1.7rem}.github-header .user-badge .avatar{width:28px;height:28px;border-radius:50%;margin-right:5px}.github-header .github-link{color:var(--primary-color)}.github-component .repo-item{display:inline-block;padding:1rem;border-radius:var(--br-xl);will-change:transform;border:1px solid var(--border-color)}.github-component .repo-item:hover{background-color:var(--content-box-bg-variant)}.github-component .repo-item .repo-content{position:relative;z-index:2}.github-component .repo-item h4{margin:0;font-size:1.2rem;font-weight:600}.github-component .repo-item h4 a{color:var(--heading-color)}.github-component .repo-item p{margin:.5rem 0 1rem;font-size:.8rem;line-height:1.1rem;color:var(--paragraph-color)}@keyframes upIn{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes rightIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes spin360{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.grid-300-gap-5{gap:3rem}.grid-300-gap-3{gap:2rem}.grid-400-gap-5{gap:3rem}.grid-400-gap-3{gap:2rem}.grid-500-gap-5{gap:3rem}.grid-500-gap-3{gap:2rem}.pagination-inner{flex-direction:column;gap:1rem}.category-filter{flex-wrap:wrap;justify-content:center}.github-component{margin-top:5rem}#githubContent{display:grid;grid-template-columns:repeat(1,1fr);gap:1.5rem}.github-header{grid-column:span 1;padding:.6rem 1rem;background-color:var(--content-box-bg);border-radius:var(--br-lg)}}
