.oF54tG_container{--footer-bg-color:#333;--footer-font-color:#a0a0a0;--footer-font-size:.6rem;--footer-logo-size:1.5rem;width:100%;min-height:var(--footer-logo-size);background-color:var(--footer-bg-color);font-size:var(--footer-font-size);color:var(--footer-font-color);grid-template:"copyright"1fr"social"1fr"author"1fr/1fr;margin-top:auto;margin-bottom:0;padding:.5rem 1rem;display:grid}@media only screen and (min-width:1024px){.oF54tG_container{grid-template:"copyright social author"1fr/1fr 1fr auto}}.oF54tG_copyright{flex-direction:column;grid-area:copyright;justify-content:center;align-items:center;padding:4px 0;display:flex}.oF54tG_copyright span{margin:2px 0}@media only screen and (min-width:1024px){.oF54tG_copyright{flex-direction:row;justify-content:flex-start;padding:0}.oF54tG_copyright span{margin:0 8px}}.oF54tG_social{grid-area:social;justify-content:center;align-items:center;padding:4px 0;display:flex}@media only screen and (min-width:1024px){.oF54tG_social{padding:0}}.oF54tG_social i{font-size:var(--footer-logo-size);color:var(--footer-font-color);margin:0 8px}.oF54tG_author{grid-area:author;justify-content:center;align-items:center;padding:4px 0;display:flex}@media only screen and (min-width:1024px){.oF54tG_author{justify-content:flex-end;padding:0}}.oF54tG_author img{width:var(--footer-logo-size);height:var(--footer-logo-size);margin:0 8px}.oF54tG_author a,.oF54tG_author a:link,.oF54tG_author a:visited,.oF54tG_author a:hover,.oF54tG_author a:active{color:var(--footer-font-color);text-decoration:underline}
@keyframes hdyQ8a_fadeIn{0%{opacity:0}to{opacity:1}}.hdyQ8a_container{--white-color:var(--background-color);--image-size:25rem;--status-width:4rem;--badge-color:#766eeb;--subtitle-color:#d6b521;opacity:0;justify-content:center;align-items:center;padding:1rem 0;font-size:.75rem;animation:1.5s forwards hdyQ8a_fadeIn;display:flex}@media only screen and (min-width:1024px){.hdyQ8a_container{flex-grow:1}}.hdyQ8a_wrapper{width:80%;max-width:var(--max-width);grid-template:"title title" min-content "cat status" min-content "image image" min-content "desc desc" min-content "repo repo" 2rem "stack stack" min-content ". ." 1rem "btn btn" 2rem "arch arch" min-content/1fr var(--status-width);gap:8px;display:grid}@media only screen and (min-width:1024px){.hdyQ8a_wrapper{grid-template:"title title title" min-content "cat cat status" min-content "image desc desc" min-content "image repo repo" 2rem "image stack stack" min-content ". . ." 1rem "btn btn btn" 2rem "arch arch arch" min-content/var(--image-size) 1fr var(--status-width)}}.hdyQ8a_title{border-left:.5rem solid var(--font-color);grid-area:title;align-self:center;margin:0;padding-left:.5rem;font-size:1.25rem}.hdyQ8a_subtitle{color:var(--subtitle-color);border-bottom:1px solid var(--subtitle-color);margin:4px 0;font-size:.75rem}.hdyQ8a_category{grid-area:cat;align-items:center;display:flex}.hdyQ8a_category h5{border:none;margin:4px}.hdyQ8a_category ul{flex-wrap:wrap;align-items:center;display:flex}.hdyQ8a_category li{width:fit-content;height:fit-content;color:var(--badge-color);border:1px solid var(--badge-color);border:none;border-radius:4px;margin:2px;padding:2px 4px;font-size:.75rem}.hdyQ8a_status,.hdyQ8a_statusActive,.hdyQ8a_statusInactive,.hdyQ8a_statusChecking{--status-font-color:var(--white-color);--size:.25rem;width:var(--status-width);color:var(--status-font-color);padding:var(--size);border-radius:var(--size);border:1px solid;border-color:var(--statusColor);background-color:var(--statusColor);box-shadow:0 0 var(--size) var(--statusColor);text-shadow:0 0 2px #000000b3;grid-area:status;justify-content:center;align-self:center;align-items:center;font-size:.75rem;display:flex}.hdyQ8a_statusChecking{--statusColor:gray}.hdyQ8a_statusInactive{--statusColor:red}.hdyQ8a_statusActive{--statusColor:blue}.hdyQ8a_repoWrapper{grid-area:repo;align-self:center;gap:4px;width:fit-content;height:fit-content;display:flex}.hdyQ8a_repoBadge,.hdyQ8a_repoBadgePrivate{min-width:5rem;color:var(--white-color);background-color:var(--badge-color);border:1px solid var(--badge-color);border-radius:4px;align-items:center;font-size:.75rem;display:flex}.hdyQ8a_repoBadge i,.hdyQ8a_repoBadgePrivate i{background-color:#505050;justify-content:center;align-items:center;width:2rem;height:1.25rem;font-size:1rem;display:flex}.hdyQ8a_repoBadge span,.hdyQ8a_repoBadgePrivate span{text-shadow:0 0 2px #000000b3;justify-content:center;align-items:center;width:100%;display:flex}.hdyQ8a_repoBadgePrivate{--badge-color:gray}.hdyQ8a_imageWrapper{grid-area:image}.hdyQ8a_imageWrapper img{width:100%;height:auto;max-height:var(--image-size);object-fit:contain}@media only screen and (min-width:1024px){.hdyQ8a_imageWrapper img{width:var(--image-size)}}.hdyQ8a_stackWrapper{grid-area:stack;font-size:.75rem}.hdyQ8a_stackWrapper ul{flex-wrap:wrap;align-content:flex-end;width:100%;display:flex}.hdyQ8a_stack{width:fit-content;height:fit-content;color:var(--badge-color);border:1px solid var(--badge-color);border-radius:4px;margin:2px;padding:2px 4px}.hdyQ8a_desc{grid-area:desc;font-size:1rem}.hdyQ8a_desc p{margin:0 0 .5rem}.hdyQ8a_desc ul{margin:0 0 .5rem;padding-left:.5rem}.hdyQ8a_desc li{padding-left:.5rem;list-style-type:"•"}.hdyQ8a_btn{background-color:#291f4d;border-radius:8px;grid-area:btn;justify-content:center;place-self:center;align-items:center;width:100%;height:2rem;font-size:1rem;display:flex}.hdyQ8a_btn span{color:var(--white-color)}.hdyQ8a_architectureWrapper{flex-direction:column;grid-area:arch;justify-content:center;align-items:center;width:100%;margin-top:2rem;display:flex}.hdyQ8a_architectureWrapper h5{border:none;flex-direction:column;justify-content:center;align-items:center;display:flex}@media only screen and (min-width:1024px){.hdyQ8a_architectureWrapper h5{border-bottom:1px solid var(--subtitle-color);display:block}.hdyQ8a_architectureWrapper span{margin-right:.25rem;display:inline}}.hdyQ8a_architecture{width:100%;height:auto;margin-top:1rem}@media only screen and (min-width:1024px){.hdyQ8a_architecture{width:70%}}
@keyframes KWbqLq_fadeIn{0%{opacity:0}to{opacity:1}}.KWbqLq_container{--white-color:var(--background-color);--image-size:25rem;--status-width:4rem;--badge-color:#766eeb;--subtitle-color:#d6b521;opacity:0;justify-content:center;align-items:center;padding:1rem 0;font-size:.75rem;animation:1.5s forwards KWbqLq_fadeIn;display:flex}@media only screen and (min-width:1024px){.KWbqLq_container{flex-grow:1}}.KWbqLq_wrapper{width:80%;max-width:var(--max-width);grid-template:"title title" min-content "cat status" min-content "image image" min-content "desc desc" min-content "repo repo" 2rem "stack stack" min-content ". ." 1rem "btn btn" 2rem "arch arch" min-content/1fr var(--status-width);gap:8px;display:grid}@media only screen and (min-width:1024px){.KWbqLq_wrapper{grid-template:"title title title" min-content "cat cat status" min-content "image desc desc" min-content "image repo repo" 2rem "image stack stack" min-content ". . ." 1rem "btn btn btn" 2rem "arch arch arch" min-content/var(--image-size) 1fr var(--status-width)}}.KWbqLq_title{border-left:.5rem solid var(--font-color);grid-area:title;align-self:center;margin:0;padding-left:.5rem;font-size:1.25rem}.KWbqLq_subtitle{color:var(--subtitle-color);border-bottom:1px solid var(--subtitle-color);margin:4px 0;font-size:.75rem}.KWbqLq_category{grid-area:cat;align-items:center;display:flex}.KWbqLq_category h5{border:none;margin:4px}.KWbqLq_category ul{flex-wrap:wrap;align-items:center;display:flex}.KWbqLq_category li{width:fit-content;height:fit-content;color:var(--badge-color);border:1px solid var(--badge-color);border:none;border-radius:4px;margin:2px;padding:2px 4px;font-size:.75rem}.KWbqLq_status,.KWbqLq_statusActive,.KWbqLq_statusInactive,.KWbqLq_statusChecking{--status-font-color:var(--white-color);--size:.25rem;width:var(--status-width);color:var(--status-font-color);padding:var(--size);border-radius:var(--size);border:1px solid;border-color:var(--statusColor);background-color:var(--statusColor);box-shadow:0 0 var(--size) var(--statusColor);text-shadow:0 0 2px #000000b3;grid-area:status;justify-content:center;align-self:center;align-items:center;font-size:.75rem;display:flex}.KWbqLq_statusChecking{--statusColor:gray}.KWbqLq_statusInactive{--statusColor:red}.KWbqLq_statusActive{--statusColor:blue}.KWbqLq_repoWrapper{grid-area:repo;align-self:center;gap:4px;width:fit-content;height:fit-content;display:flex}.KWbqLq_repoBadge,.KWbqLq_repoBadgePrivate{min-width:5rem;color:var(--white-color);background-color:var(--badge-color);border:1px solid var(--badge-color);border-radius:4px;align-items:center;font-size:.75rem;display:flex}.KWbqLq_repoBadge i,.KWbqLq_repoBadgePrivate i{background-color:#505050;justify-content:center;align-items:center;width:2rem;height:1.25rem;font-size:1rem;display:flex}.KWbqLq_repoBadge span,.KWbqLq_repoBadgePrivate span{text-shadow:0 0 2px #000000b3;justify-content:center;align-items:center;width:100%;display:flex}.KWbqLq_repoBadgePrivate{--badge-color:gray}.KWbqLq_imageWrapper{grid-area:image}.KWbqLq_imageWrapper img{width:100%;height:auto;max-height:var(--image-size);object-fit:contain}@media only screen and (min-width:1024px){.KWbqLq_imageWrapper img{width:var(--image-size)}}.KWbqLq_stackWrapper{grid-area:stack;font-size:.75rem}.KWbqLq_stackWrapper ul{flex-wrap:wrap;align-content:flex-end;width:100%;display:flex}.KWbqLq_stack{width:fit-content;height:fit-content;color:var(--badge-color);border:1px solid var(--badge-color);border-radius:4px;margin:2px;padding:2px 4px}.KWbqLq_desc{grid-area:desc;font-size:1rem}.KWbqLq_desc p{margin:0 0 .5rem}.KWbqLq_desc ul{margin:0 0 .5rem;padding-left:.5rem}.KWbqLq_desc li{padding-left:.5rem;list-style-type:"•"}.KWbqLq_btn{background-color:#291f4d;border-radius:8px;grid-area:btn;justify-content:center;place-self:center;align-items:center;width:100%;height:2rem;font-size:1rem;display:flex}.KWbqLq_btn span{color:var(--white-color)}.KWbqLq_architectureWrapper{flex-direction:column;grid-area:arch;justify-content:center;align-items:center;width:100%;margin-top:2rem;display:flex}.KWbqLq_architectureWrapper h5{border:none;flex-direction:column;justify-content:center;align-items:center;display:flex}@media only screen and (min-width:1024px){.KWbqLq_architectureWrapper h5{border-bottom:1px solid var(--subtitle-color);display:block}.KWbqLq_architectureWrapper span{margin-right:.25rem;display:inline}}.KWbqLq_architecture{width:100%;height:auto;margin-top:1rem}@media only screen and (min-width:1024px){.KWbqLq_architecture{width:70%}}
@keyframes IB8ALa_animateBox{0%{opacity:1;border-radius:0;transform:translateY(0)rotate(0)}to{opacity:0;border-radius:50%;transform:translateY(-200vh)rotate(720deg)}}.IB8ALa_container{z-index:1;background:radial-gradient(#a39ac7,#291f4d);flex-direction:column;flex-grow:1;align-items:center;width:100%;height:100%;display:flex;position:relative}.IB8ALa_background{z-index:-1;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.IB8ALa_background li{background:#fff3;width:20px;height:20px;list-style:none;animation:25s linear infinite IB8ALa_animateBox;display:block;position:absolute;bottom:-50vh}.IB8ALa_header{width:100%;height:8rem;color:var(--background-color);background-color:#00000050;justify-content:center;align-items:flex-end;display:flex}.IB8ALa_header h1{width:100%;max-width:var(--max-width);text-align:center;justify-content:center;align-items:center;display:flex}@media only screen and (min-width:1024px){.IB8ALa_header h1{text-align:left;justify-content:flex-start;padding-left:5rem}}.IB8ALa_header h1 i{margin-right:.5rem}.IB8ALa_projectWrapper{width:100%;max-width:var(--max-width);grid-template-columns:repeat(auto-fill,min(20rem,100%));grid-auto-rows:10rem;justify-content:center;align-items:end;gap:1rem;height:100%;padding:1rem;display:grid}.IB8ALa_project{background-color:#ffffff80;border-radius:1rem;grid-template:"img"1rem"."1rem"name"min-content"desc"minmax(2rem,min-content)/1fr;place-items:center;gap:.5rem;width:100%;height:100%;display:grid}.IB8ALa_project img{background-color:#fff;border-radius:.5rem;grid-area:img;width:50%;height:auto;margin-top:-1rem;padding:.5rem;box-shadow:0 .5rem .5rem #00000030}.IB8ALa_project h3{grid-area:name;margin:0;font-size:1rem}.IB8ALa_project p{grid-area:desc;margin:0;padding:0 1rem .5rem;font-size:.75rem}
@keyframes F-kBeq_spinning{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes F-kBeq_fadeIn{0%{opacity:0}to{opacity:1}}.F-kBeq_container{background-color:#0c0c0c;flex-direction:column;flex-grow:1;justify-content:center;align-items:center;width:100%;display:flex;position:relative}.F-kBeq_canvasHidden,.F-kBeq_canvas{opacity:0;width:100%;height:100%}.F-kBeq_canvas{animation:1.5s forwards F-kBeq_fadeIn}.F-kBeq_canvasDesc{color:#ffff00a0;margin:0;padding:0 1rem;font-size:.7rem;position:absolute;bottom:1rem}.F-kBeq_spinner{color:#ffffffa0;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute}.F-kBeq_spinner i{width:3rem;height:3rem;font-size:3rem;animation:1s linear infinite F-kBeq_spinning}.F-kBeq_spinnerHidden{display:none}.F-kBeq_error{color:#ffffffa0;flex-direction:column;justify-content:center;align-items:center;gap:1rem;width:100%;height:100%;display:flex;position:absolute}.F-kBeq_error i{width:3rem;height:3rem;font-size:3rem}.F-kBeq_error span{font-size:1rem}.F-kBeq_errorHidden{display:none}
.UUrFEW_main{--navbar-color-white:var(--background-color);--navbar-color-primary:#291f4d;--navbar-color-accent:#998d1f;--navbar-width:15rem;flex-direction:column;width:100%;min-height:100vh;display:flex}.UUrFEW_navbarVertical{background-color:var(--navbar-color-primary);width:100%;height:100%;color:var(--navbar-color-white);z-index:9;font-size:1rem;position:sticky;top:0;left:0}@media only screen and (min-width:1024px){.UUrFEW_navbarVertical{width:var(--navbar-width);position:fixed}}.UUrFEW_navbarBtnSandwich,.UUrFEW_navbarBtnCross{--length:1.5rem;--thick:4px;z-index:99;background-color:#00000030;justify-content:center;align-items:center;width:3rem;height:3rem;display:flex;position:fixed;top:.5rem;left:.5rem}@media only screen and (min-width:1024px){.UUrFEW_navbarBtnSandwich,.UUrFEW_navbarBtnCross{display:none}}@media print{.UUrFEW_navbarBtnSandwich,.UUrFEW_navbarBtnCross{display:none}}.UUrFEW_navbarBtnSandwich span,.UUrFEW_navbarBtnCross span{width:var(--length);height:var(--thick);background-color:var(--background-color);transition:background-color .5s ease-out;display:block;position:relative}.UUrFEW_navbarBtnSandwich span:before,.UUrFEW_navbarBtnCross span:before,.UUrFEW_navbarBtnSandwich span:after,.UUrFEW_navbarBtnCross span:after{content:"";width:var(--length);height:var(--thick);background-color:var(--background-color);transition:transform .5s ease-out;display:block;position:absolute}.UUrFEW_navbarBtnSandwich span:before,.UUrFEW_navbarBtnCross span:before{top:calc(var(--thick)*-2);left:0}.UUrFEW_navbarBtnSandwich span:after,.UUrFEW_navbarBtnCross span:after{top:calc(var(--thick)*2);left:0}.UUrFEW_navbarBtnCross span{background-color:#0000}.UUrFEW_navbarBtnCross span:before{top:0;transform:rotate(45deg)}.UUrFEW_navbarBtnCross span:after{top:0;transform:rotate(-45deg)}.UUrFEW_navbarBrand{background-color:var(--navbar-color-primary);flex-direction:column;justify-content:center;align-items:center;padding-top:1rem;display:flex}.UUrFEW_navbarBrand img{background-color:var(--navbar-color-white);border-radius:8px;width:4rem;height:4rem;padding:.5rem;display:none}@media only screen and (min-width:1024px){.UUrFEW_navbarBrand img{display:block}}.UUrFEW_navbarBrandName{text-align:center;margin-top:.5rem;padding-top:.5rem;font-size:1.2rem}.UUrFEW_social{background-color:var(--navbar-color-primary);justify-content:center;align-items:center;display:none}@media only screen and (min-width:1024px){.UUrFEW_social{display:flex}}.UUrFEW_social a{margin:0 8px;font-size:1.5rem}.UUrFEW_social,.UUrFEW_social a:link,.UUrFEW_social a:visited,.UUrFEW_social a:active{color:var(--navbar-color-white)}.UUrFEW_social a:hover,.UUrFEW_social a:focus{color:var(--navbar-color-accent)}.UUrFEW_navSectionTitle{height:1.5rem;color:var(--navbar-color-accent);border-bottom:1px solid;margin:1rem .5rem 0;font-weight:900}.UUrFEW_navLinks,.UUrFEW_navLinksHidden{transform-origin:top;max-height:100vh;margin-top:1rem;padding-bottom:.5rem;transition:max-height .5s,transform .5s;transform:scaleY(1)}.UUrFEW_navLinks a,.UUrFEW_navLinksHidden a{width:100%;margin-top:.5rem;padding-left:1rem;font-size:.8rem;line-height:1.2rem;display:block;position:relative}.UUrFEW_navLinks a,.UUrFEW_navLinksHidden a,.UUrFEW_navLinks a:link,.UUrFEW_navLinks a:visited,.UUrFEW_navLinks a:active{color:var(--navbar-color-white)}.UUrFEW_navLinks a:hover,.UUrFEW_navLinksHidden a:hover,.UUrFEW_navLinks a:focus,.UUrFEW_navLinksHidden a:focus{color:var(--navbar-color-accent)}.UUrFEW_navLinks a:hover:before,.UUrFEW_navLinksHidden a:hover:before,.UUrFEW_navLinks a:focus:before,.UUrFEW_navLinksHidden a:focus:before{content:"";background-color:var(--navbar-color-white);width:6px;height:100%;position:absolute;top:0;left:0}.UUrFEW_navLinksHidden{max-height:0;transform:scaleY(0)}@media only screen and (min-width:1024px){.UUrFEW_navLinksHidden{max-height:100vh;transform:scaleY(1)}}.UUrFEW_mainFrame{flex-direction:column;flex-grow:1;align-items:center;width:100%;display:flex}@media only screen and (min-width:1024px){.UUrFEW_mainFrame{width:calc(100% - var(--navbar-width));min-height:100vh;margin-left:var(--navbar-width)}}
@keyframes JXyCsq_fadeIn{0%{opacity:0}to{opacity:1}}.JXyCsq_container{--white-color:var(--background-color);--image-size:25rem;--status-width:4rem;--badge-color:#766eeb;--subtitle-color:#d6b521;opacity:0;justify-content:center;align-items:center;padding:1rem 0;font-size:.75rem;animation:1.5s forwards JXyCsq_fadeIn;display:flex}@media only screen and (min-width:1024px){.JXyCsq_container{flex-grow:1}}.JXyCsq_wrapper{width:80%;max-width:var(--max-width);grid-template:"title title" min-content "cat status" min-content "image image" min-content "desc desc" min-content "repo repo" 2rem "stack stack" min-content ". ." 1rem "btn btn" 2rem "arch arch" min-content/1fr var(--status-width);gap:8px;display:grid}@media only screen and (min-width:1024px){.JXyCsq_wrapper{grid-template:"title title title" min-content "cat cat status" min-content "image desc desc" min-content "image repo repo" 2rem "image stack stack" min-content ". . ." 1rem "btn btn btn" 2rem "arch arch arch" min-content/var(--image-size) 1fr var(--status-width)}}.JXyCsq_title{border-left:.5rem solid var(--font-color);grid-area:title;align-self:center;margin:0;padding-left:.5rem;font-size:1.25rem}.JXyCsq_subtitle{color:var(--subtitle-color);border-bottom:1px solid var(--subtitle-color);margin:4px 0;font-size:.75rem}.JXyCsq_category{grid-area:cat;align-items:center;display:flex}.JXyCsq_category h5{border:none;margin:4px}.JXyCsq_category ul{flex-wrap:wrap;align-items:center;display:flex}.JXyCsq_category li{width:fit-content;height:fit-content;color:var(--badge-color);border:1px solid var(--badge-color);border:none;border-radius:4px;margin:2px;padding:2px 4px;font-size:.75rem}.JXyCsq_status,.JXyCsq_statusActive,.JXyCsq_statusInactive,.JXyCsq_statusChecking{--status-font-color:var(--white-color);--size:.25rem;width:var(--status-width);color:var(--status-font-color);padding:var(--size);border-radius:var(--size);border:1px solid;border-color:var(--statusColor);background-color:var(--statusColor);box-shadow:0 0 var(--size) var(--statusColor);text-shadow:0 0 2px #000000b3;grid-area:status;justify-content:center;align-self:center;align-items:center;font-size:.75rem;display:flex}.JXyCsq_statusChecking{--statusColor:gray}.JXyCsq_statusInactive{--statusColor:red}.JXyCsq_statusActive{--statusColor:blue}.JXyCsq_repoWrapper{grid-area:repo;align-self:center;gap:4px;width:fit-content;height:fit-content;display:flex}.JXyCsq_repoBadge,.JXyCsq_repoBadgePrivate{min-width:5rem;color:var(--white-color);background-color:var(--badge-color);border:1px solid var(--badge-color);border-radius:4px;align-items:center;font-size:.75rem;display:flex}.JXyCsq_repoBadge i,.JXyCsq_repoBadgePrivate i{background-color:#505050;justify-content:center;align-items:center;width:2rem;height:1.25rem;font-size:1rem;display:flex}.JXyCsq_repoBadge span,.JXyCsq_repoBadgePrivate span{text-shadow:0 0 2px #000000b3;justify-content:center;align-items:center;width:100%;display:flex}.JXyCsq_repoBadgePrivate{--badge-color:gray}.JXyCsq_imageWrapper{grid-area:image}.JXyCsq_imageWrapper img{width:100%;height:auto;max-height:var(--image-size);object-fit:contain}@media only screen and (min-width:1024px){.JXyCsq_imageWrapper img{width:var(--image-size)}}.JXyCsq_stackWrapper{grid-area:stack;font-size:.75rem}.JXyCsq_stackWrapper ul{flex-wrap:wrap;align-content:flex-end;width:100%;display:flex}.JXyCsq_stack{width:fit-content;height:fit-content;color:var(--badge-color);border:1px solid var(--badge-color);border-radius:4px;margin:2px;padding:2px 4px}.JXyCsq_desc{grid-area:desc;font-size:1rem}.JXyCsq_desc p{margin:0 0 .5rem}.JXyCsq_desc ul{margin:0 0 .5rem;padding-left:.5rem}.JXyCsq_desc li{padding-left:.5rem;list-style-type:"•"}.JXyCsq_btn{background-color:#291f4d;border-radius:8px;grid-area:btn;justify-content:center;place-self:center;align-items:center;width:100%;height:2rem;font-size:1rem;display:flex}.JXyCsq_btn span{color:var(--white-color)}.JXyCsq_architectureWrapper{flex-direction:column;grid-area:arch;justify-content:center;align-items:center;width:100%;margin-top:2rem;display:flex}.JXyCsq_architectureWrapper h5{border:none;flex-direction:column;justify-content:center;align-items:center;display:flex}@media only screen and (min-width:1024px){.JXyCsq_architectureWrapper h5{border-bottom:1px solid var(--subtitle-color);display:block}.JXyCsq_architectureWrapper span{margin-right:.25rem;display:inline}}.JXyCsq_architecture{width:100%;height:auto;margin-top:1rem}@media only screen and (min-width:1024px){.JXyCsq_architecture{width:70%}}
@keyframes UF70MG_fadeIn{0%{opacity:0}to{opacity:1}}.UF70MG_container{--white-color:var(--background-color);--image-size:25rem;--status-width:4rem;--badge-color:#766eeb;--subtitle-color:#d6b521;opacity:0;justify-content:center;align-items:center;padding:1rem 0;font-size:.75rem;animation:1.5s forwards UF70MG_fadeIn;display:flex}@media only screen and (min-width:1024px){.UF70MG_container{flex-grow:1}}.UF70MG_wrapper{width:80%;max-width:var(--max-width);grid-template:"title title" min-content "cat status" min-content "image image" min-content "desc desc" min-content "repo repo" 2rem "stack stack" min-content ". ." 1rem "btn btn" 2rem "arch arch" min-content/1fr var(--status-width);gap:8px;display:grid}@media only screen and (min-width:1024px){.UF70MG_wrapper{grid-template:"title title title" min-content "cat cat status" min-content "image desc desc" min-content "image repo repo" 2rem "image stack stack" min-content ". . ." 1rem "btn btn btn" 2rem "arch arch arch" min-content/var(--image-size) 1fr var(--status-width)}}.UF70MG_title{border-left:.5rem solid var(--font-color);grid-area:title;align-self:center;margin:0;padding-left:.5rem;font-size:1.25rem}.UF70MG_subtitle{color:var(--subtitle-color);border-bottom:1px solid var(--subtitle-color);margin:4px 0;font-size:.75rem}.UF70MG_category{grid-area:cat;align-items:center;display:flex}.UF70MG_category h5{border:none;margin:4px}.UF70MG_category ul{flex-wrap:wrap;align-items:center;display:flex}.UF70MG_category li{width:fit-content;height:fit-content;color:var(--badge-color);border:1px solid var(--badge-color);border:none;border-radius:4px;margin:2px;padding:2px 4px;font-size:.75rem}.UF70MG_status,.UF70MG_statusActive,.UF70MG_statusInactive,.UF70MG_statusChecking{--status-font-color:var(--white-color);--size:.25rem;width:var(--status-width);color:var(--status-font-color);padding:var(--size);border-radius:var(--size);border:1px solid;border-color:var(--statusColor);background-color:var(--statusColor);box-shadow:0 0 var(--size) var(--statusColor);text-shadow:0 0 2px #000000b3;grid-area:status;justify-content:center;align-self:center;align-items:center;font-size:.75rem;display:flex}.UF70MG_statusChecking{--statusColor:gray}.UF70MG_statusInactive{--statusColor:red}.UF70MG_statusActive{--statusColor:blue}.UF70MG_repoWrapper{grid-area:repo;align-self:center;gap:4px;width:fit-content;height:fit-content;display:flex}.UF70MG_repoBadge,.UF70MG_repoBadgePrivate{min-width:5rem;color:var(--white-color);background-color:var(--badge-color);border:1px solid var(--badge-color);border-radius:4px;align-items:center;font-size:.75rem;display:flex}.UF70MG_repoBadge i,.UF70MG_repoBadgePrivate i{background-color:#505050;justify-content:center;align-items:center;width:2rem;height:1.25rem;font-size:1rem;display:flex}.UF70MG_repoBadge span,.UF70MG_repoBadgePrivate span{text-shadow:0 0 2px #000000b3;justify-content:center;align-items:center;width:100%;display:flex}.UF70MG_repoBadgePrivate{--badge-color:gray}.UF70MG_imageWrapper{grid-area:image}.UF70MG_imageWrapper img{width:100%;height:auto;max-height:var(--image-size);object-fit:contain}@media only screen and (min-width:1024px){.UF70MG_imageWrapper img{width:var(--image-size)}}.UF70MG_stackWrapper{grid-area:stack;font-size:.75rem}.UF70MG_stackWrapper ul{flex-wrap:wrap;align-content:flex-end;width:100%;display:flex}.UF70MG_stack{width:fit-content;height:fit-content;color:var(--badge-color);border:1px solid var(--badge-color);border-radius:4px;margin:2px;padding:2px 4px}.UF70MG_desc{grid-area:desc;font-size:1rem}.UF70MG_desc p{margin:0 0 .5rem}.UF70MG_desc ul{margin:0 0 .5rem;padding-left:.5rem}.UF70MG_desc li{padding-left:.5rem;list-style-type:"•"}.UF70MG_btn{background-color:#291f4d;border-radius:8px;grid-area:btn;justify-content:center;place-self:center;align-items:center;width:100%;height:2rem;font-size:1rem;display:flex}.UF70MG_btn span{color:var(--white-color)}.UF70MG_architectureWrapper{flex-direction:column;grid-area:arch;justify-content:center;align-items:center;width:100%;margin-top:2rem;display:flex}.UF70MG_architectureWrapper h5{border:none;flex-direction:column;justify-content:center;align-items:center;display:flex}@media only screen and (min-width:1024px){.UF70MG_architectureWrapper h5{border-bottom:1px solid var(--subtitle-color);display:block}.UF70MG_architectureWrapper span{margin-right:.25rem;display:inline}}.UF70MG_architecture{width:100%;height:auto;margin-top:1rem}@media only screen and (min-width:1024px){.UF70MG_architecture{width:70%}}
.Una7Tq_container{--color-white:var(--background-color);--resume-color-primary:#291f4d;--resume-color-primary-light50:#291f4d80;--resume-color-primary-light30:#291f4d50;--resume-fontsize-name:2rem;--resume-fontsize-title:1.5rem;--resume-fontsize-title-sm:1.2rem;--resume-fontsize-subtitle:1rem;--resume-fontsize-content:.9rem;--resume-pad-rim:clamp(1rem, 4vw, 5rem);--resume-pad-center:clamp(.5rem, 2vw, 2.5rem);width:100%;max-width:var(--max-width);color:var(--resume-color-primary);flex-direction:column;display:flex}@media only screen and (min-width:1024px){.Una7Tq_container{grid-template:"head head""main side"/2fr 1fr;display:grid}}.Una7Tq_header{width:100%;padding:var(--resume-pad-rim);color:var(--color-white);background-color:var(--resume-color-primary);grid-template:"name pic"min-content"aka pic"min-content"jobTitle pic"min-content"contacts pic"/2fr 1fr;grid-area:head;gap:.5rem;display:grid}@media only screen and (min-width:1024px){.Una7Tq_header{grid-template:"name aka.pic"min-content"jobTitle jobTitle.pic"min-content"contacts contacts.pic"/12rem auto 10% 10%;display:grid}}.Una7Tq_myName{font-size:var(--resume-fontsize-name);grid-area:name;margin:0}.Una7Tq_nameAlias{grid-area:aka;margin:0 0 1rem;font-size:.75rem}@media only screen and (min-width:1024px){.Una7Tq_nameAlias{font-size:var(--resume-fontsize-subtitle);align-self:center;margin-bottom:0}}.Una7Tq_jobTitle{font-size:var(--resume-fontsize-title);grid-area:jobTitle;margin:0 0 1rem}.Una7Tq_myPic{border-radius:50%;grid-area:pic;align-self:center;width:100%;height:auto}.Una7Tq_contactWrapper{grid-area:contacts;font-size:.75rem}@media only screen and (min-width:1024px){.Una7Tq_contactWrapper{justify-content:space-between;display:flex}}.Una7Tq_contactPoint{color:var(--color-white);margin-bottom:.5rem}.Una7Tq_contactPoint i{margin-right:4px;font-size:1rem}.Una7Tq_ContentSectionTitle{font-size:var(--resume-fontsize-title);text-transform:uppercase;border-bottom:5px solid var(--resume-color-primary);margin:2rem 0 1.5rem;padding-bottom:.25rem;font-weight:700}.Una7Tq_ContentSectionTitle span{text-transform:none}.Una7Tq_mainWrapper{width:100%;padding:var(--resume-pad-rim);grid-area:main}@media only screen and (min-width:1024px){.Una7Tq_mainWrapper{padding-right:var(--resume-pad-center)}}.Una7Tq_mainContentContainer{flex-direction:column;gap:.5rem;width:100%;margin-top:1.5rem;display:flex}.Una7Tq_mainContentTitle{font-size:var(--resume-fontsize-title);grid-area:ContentTitle;margin:0;font-weight:400}.Una7Tq_mainContentSubtitle{font-size:var(--resume-fontsize-subtitle);margin:0;font-weight:900}.Una7Tq_mainContentInfo{font-size:var(--resume-fontsize-content);flex-direction:column;gap:1rem;display:flex}@media only screen and (min-width:1024px){.Una7Tq_mainContentInfo{flex-direction:row}}.Una7Tq_mainContentInfo i{margin-right:.25rem}.Una7Tq_mainContent{font-size:var(--resume-fontsize-content);line-height:var(--resume-fontsize-title)}.Una7Tq_mainContent p{margin:.5rem 0}.Una7Tq_mainContent ul{padding:0 0 0 1rem}.Una7Tq_mainContent li{text-indent:-4px;color:#8d939a;padding:0;list-style-type:disc}.Una7Tq_mainContent li::marker{color:var(--resume-color-primary)}.Una7Tq_mainContent a{text-decoration:underline}.Una7Tq_updatedDate{font-size:.75rem}.Una7Tq_sideWrapper{width:100%;padding:var(--resume-pad-rim);grid-area:side}@media only screen and (min-width:1024px){.Una7Tq_sideWrapper{padding-left:var(--resume-pad-center)}}.Una7Tq_skillTitle{font-size:var(--resume-fontsize-content);margin:.5rem 0;font-weight:400}.Una7Tq_skillGroup{font-size:var(--resume-fontsize-content);flex-wrap:wrap;gap:.25rem;padding:0 0 0 .5rem;display:flex}.Una7Tq_skillGroup li{border:2px solid var(--resume-color-primary-light50);border-radius:4px;padding:2px 4px}.Una7Tq_strengthContainer{grid-template:"strengthIcon strengthTitle"min-content".strengthContent"/min-content auto;gap:.5rem;margin-top:1.5rem;display:grid}.Una7Tq_strengthContainer i{font-size:var(--resume-fontsize-title-sm);grid-area:strengthIcon}.Una7Tq_strengthContainer h4{font-size:var(--resume-fontsize-title-sm);grid-area:strengthTitle;margin:0}.Una7Tq_strengthContainer div{font-size:var(--resume-fontsize-content);line-height:var(--resume-fontsize-title);grid-area:strengthContent}.Una7Tq_strengthContainer div p{margin:0}.Una7Tq_certContainer h4{font-size:var(--resume-fontsize-subtitle);margin:.5rem 0}.Una7Tq_certContainer p{font-size:var(--resume-fontsize-content);line-height:var(--resume-fontsize-title-sm);margin:0}.Una7Tq_passionsContainer{padding:0}.Una7Tq_passionsContainer li{margin:1rem 0;display:flex}.Una7Tq_passionsContainer i{width:2.5rem;font-size:var(--resume-fontsize-title-sm);text-align:center}.Una7Tq_passionsContainer h4{font-size:var(--resume-fontsize-title-sm);margin:0}.Una7Tq_langContainer{padding:0}.Una7Tq_langContainer li{grid-template-columns:2fr 3fr 3fr;justify-content:center;align-items:center;margin:.5rem 0;display:grid}.Una7Tq_langContainer h4{font-size:var(--resume-fontsize-title-sm);margin:0}.Una7Tq_langContainer span{font-size:.75rem}.Una7Tq_langMeter{grid-template-columns:repeat(5,1fr);justify-content:center;align-items:center;padding:0;display:grid}.Una7Tq_langMeter li{border-radius:50%;width:1rem;height:1rem}.Una7Tq_langFill{background-color:var(--resume-color-primary)}.Una7Tq_langNotFill{background-color:var(--resume-color-primary-light30)}
@keyframes I52rBa_fadeIn{0%{opacity:0}to{opacity:1}}.I52rBa_container{--white-color:var(--background-color);--image-size:25rem;--status-width:4rem;--badge-color:#766eeb;--subtitle-color:#d6b521;opacity:0;justify-content:center;align-items:center;padding:1rem 0;font-size:.75rem;animation:1.5s forwards I52rBa_fadeIn;display:flex}@media only screen and (min-width:1024px){.I52rBa_container{flex-grow:1}}.I52rBa_wrapper{width:80%;max-width:var(--max-width);grid-template:"title title" min-content "cat status" min-content "image image" min-content "desc desc" min-content "repo repo" 2rem "stack stack" min-content ". ." 1rem "btn btn" 2rem "arch arch" min-content/1fr var(--status-width);gap:8px;display:grid}@media only screen and (min-width:1024px){.I52rBa_wrapper{grid-template:"title title title" min-content "cat cat status" min-content "image desc desc" min-content "image repo repo" 2rem "image stack stack" min-content ". . ." 1rem "btn btn btn" 2rem "arch arch arch" min-content/var(--image-size) 1fr var(--status-width)}}.I52rBa_title{border-left:.5rem solid var(--font-color);grid-area:title;align-self:center;margin:0;padding-left:.5rem;font-size:1.25rem}.I52rBa_subtitle{color:var(--subtitle-color);border-bottom:1px solid var(--subtitle-color);margin:4px 0;font-size:.75rem}.I52rBa_category{grid-area:cat;align-items:center;display:flex}.I52rBa_category h5{border:none;margin:4px}.I52rBa_category ul{flex-wrap:wrap;align-items:center;display:flex}.I52rBa_category li{width:fit-content;height:fit-content;color:var(--badge-color);border:1px solid var(--badge-color);border:none;border-radius:4px;margin:2px;padding:2px 4px;font-size:.75rem}.I52rBa_status,.I52rBa_statusActive,.I52rBa_statusInactive,.I52rBa_statusChecking{--status-font-color:var(--white-color);--size:.25rem;width:var(--status-width);color:var(--status-font-color);padding:var(--size);border-radius:var(--size);border:1px solid;border-color:var(--statusColor);background-color:var(--statusColor);box-shadow:0 0 var(--size) var(--statusColor);text-shadow:0 0 2px #000000b3;grid-area:status;justify-content:center;align-self:center;align-items:center;font-size:.75rem;display:flex}.I52rBa_statusChecking{--statusColor:gray}.I52rBa_statusInactive{--statusColor:red}.I52rBa_statusActive{--statusColor:blue}.I52rBa_repoWrapper{grid-area:repo;align-self:center;gap:4px;width:fit-content;height:fit-content;display:flex}.I52rBa_repoBadge,.I52rBa_repoBadgePrivate{min-width:5rem;color:var(--white-color);background-color:var(--badge-color);border:1px solid var(--badge-color);border-radius:4px;align-items:center;font-size:.75rem;display:flex}.I52rBa_repoBadge i,.I52rBa_repoBadgePrivate i{background-color:#505050;justify-content:center;align-items:center;width:2rem;height:1.25rem;font-size:1rem;display:flex}.I52rBa_repoBadge span,.I52rBa_repoBadgePrivate span{text-shadow:0 0 2px #000000b3;justify-content:center;align-items:center;width:100%;display:flex}.I52rBa_repoBadgePrivate{--badge-color:gray}.I52rBa_imageWrapper{grid-area:image}.I52rBa_imageWrapper img{width:100%;height:auto;max-height:var(--image-size);object-fit:contain}@media only screen and (min-width:1024px){.I52rBa_imageWrapper img{width:var(--image-size)}}.I52rBa_stackWrapper{grid-area:stack;font-size:.75rem}.I52rBa_stackWrapper ul{flex-wrap:wrap;align-content:flex-end;width:100%;display:flex}.I52rBa_stack{width:fit-content;height:fit-content;color:var(--badge-color);border:1px solid var(--badge-color);border-radius:4px;margin:2px;padding:2px 4px}.I52rBa_desc{grid-area:desc;font-size:1rem}.I52rBa_desc p{margin:0 0 .5rem}.I52rBa_desc ul{margin:0 0 .5rem;padding-left:.5rem}.I52rBa_desc li{padding-left:.5rem;list-style-type:"•"}.I52rBa_btn{background-color:#291f4d;border-radius:8px;grid-area:btn;justify-content:center;place-self:center;align-items:center;width:100%;height:2rem;font-size:1rem;display:flex}.I52rBa_btn span{color:var(--white-color)}.I52rBa_architectureWrapper{flex-direction:column;grid-area:arch;justify-content:center;align-items:center;width:100%;margin-top:2rem;display:flex}.I52rBa_architectureWrapper h5{border:none;flex-direction:column;justify-content:center;align-items:center;display:flex}@media only screen and (min-width:1024px){.I52rBa_architectureWrapper h5{border-bottom:1px solid var(--subtitle-color);display:block}.I52rBa_architectureWrapper span{margin-right:.25rem;display:inline}}.I52rBa_architecture{width:100%;height:auto;margin-top:1rem}@media only screen and (min-width:1024px){.I52rBa_architecture{width:70%}}
.Q4NprG_container{--white:#ededed;--black:#191919;--background-color:#2b2b2b;--background-color-light:#d0d0d0;--font-color:var(--white);--font-color-dark:var(--black);--accent-color:#2cb7b9;width:100%;color:var(--font-color);background-color:var(--background-color);flex-direction:column;flex-grow:1;align-items:center;display:flex}.Q4NprG_todoWrapper{flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:768px;padding:1rem;display:flex;position:relative}.Q4NprG_title{text-transform:uppercase}.Q4NprG_inputContainer{flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:5rem;display:flex;position:relative}.Q4NprG_plusBtn,.Q4NprG_plusBtnHidden{cursor:pointer;z-index:0;transform-origin:50%;justify-content:center;align-items:center;width:100%;transition:transform .2s ease-in-out;display:flex;position:absolute;top:1rem;transform:scaleY(1)}.Q4NprG_plusBtn i,.Q4NprG_plusBtnHidden i{width:3rem;height:3rem;color:var(--background-color);background:var(--accent-color);border-radius:50%;justify-content:center;align-items:center;font-size:1.5rem;display:flex}.Q4NprG_plusBtnHidden{transform-origin:50%;transition:transform .2s ease-in-out;transform:scaleY(0)}.Q4NprG_inputWrapper,.Q4NprG_inputWrapperShow{transform-origin:50%;z-index:1;justify-content:center;align-items:center;width:100%;height:5rem;transition:transform .2s ease-in-out;display:flex;transform:scaleX(0)}.Q4NprG_inputWrapper input,.Q4NprG_inputWrapperShow input{width:100%;height:2rem;color:var(--font-color-dark);background:var(--background-color-light);border:none;line-height:1.5rem}.Q4NprG_inputWrapper input:focus,.Q4NprG_inputWrapperShow input:focus{outline:none}.Q4NprG_inputWrapperShow{transform-origin:50%;transition:transform .2s ease-in-out;transform:scaleX(1)}.Q4NprG_resetBtn{background:var(--accent-color);border:none;justify-content:center;align-items:center;width:5rem;height:2rem;font-weight:700;display:flex}.Q4NprG_clearBtnWrapper,.Q4NprG_clearBtnWrapperHidden{width:100%;color:var(--accent-color);justify-content:flex-end;gap:1rem;font-size:10px;display:flex}.Q4NprG_clearBtnWrapperHidden{display:none}.Q4NprG_clearBtn{cursor:pointer;border-radius:4px;justify-content:center;align-items:center;padding:4px;display:flex}.Q4NprG_clearBtn:hover{background-color:#0000001a;box-shadow:0 0 2px 2px #ffffff1a}.Q4NprG_listContainer{z-index:2;width:100%;position:relative}.Q4NprG_todoContentContainer,.Q4NprG_todoContentContainerDone{grid-template:"dnd check content del"/1rem 1rem auto 1rem;place-items:center;gap:8px;width:100%;min-height:3rem;padding:.5rem 0;transition:transform 10ms;display:grid}.Q4NprG_todoDragged{transform:translate(-9999px)}.Q4NprG_todoDraggedByTouch{position:fixed}.Q4NprG_todoContentContainerDone{color:gray}.Q4NprG_todoIcon,.Q4NprG_todoIconCheck,.Q4NprG_todoIconHoverShow,.Q4NprG_todoIconDel,.Q4NprG_todoIconDnd{cursor:pointer;justify-content:center;align-items:center;width:100%;height:100%;display:flex}@media only screen and (min-width:1024px){.Q4NprG_todoIconHoverShow,.Q4NprG_todoIconDel,.Q4NprG_todoIconDnd{display:none}}.Q4NprG_todoContentContainer:hover,.Q4NprG_todoContentContainerDone:hover,.Q4NprG_todoContentContainer:focus,.Q4NprG_todoContentContainerDone:focus{outline:none;box-shadow:0 0 2px 2px #0000001a}@media only screen and (min-width:1024px){.Q4NprG_todoContentContainer:hover .Q4NprG_todoIconHoverShow,.Q4NprG_todoContentContainer:hover .Q4NprG_todoIconDel,.Q4NprG_todoContentContainer:hover .Q4NprG_todoIconDnd,.Q4NprG_todoContentContainerDone:hover .Q4NprG_todoIconHoverShow,.Q4NprG_todoContentContainerDone:hover .Q4NprG_todoIconDel,.Q4NprG_todoContentContainerDone:hover .Q4NprG_todoIconDnd,.Q4NprG_todoContentContainer:focus .Q4NprG_todoIconHoverShow,.Q4NprG_todoContentContainer:focus .Q4NprG_todoIconDel,.Q4NprG_todoContentContainer:focus .Q4NprG_todoIconDnd,.Q4NprG_todoContentContainerDone:focus .Q4NprG_todoIconHoverShow,.Q4NprG_todoContentContainerDone:focus .Q4NprG_todoIconDel,.Q4NprG_todoContentContainerDone:focus .Q4NprG_todoIconDnd{display:flex}}.Q4NprG_todoIconDnd{cursor:grab;grid-area:dnd}.Q4NprG_todoIconCheck{grid-area:check}.Q4NprG_todoIconDel{grid-area:del}.Q4NprG_todoIconDel:hover{color:red}.Q4NprG_todoContent,.Q4NprG_todoContentDone{overflow-wrap:break-word;grid-area:content;justify-self:flex-start;width:100%;overflow:hidden}.Q4NprG_todoContentDone{text-decoration:line-through}
