@charset "UTF-8";@font-face{font-family:icon;src:url(/assets/icon.5eb0f115.woff) format("woff")}[icon]:before{font-family:icon;font-weight:200}[icon]:not(:empty):before{margin-right:6px}[icon=back]:before{content:"\ea01"}[icon=buffer]:before{content:"\ea02"}[icon=cell]:before{content:"\ea03"}[icon=clipboard]:before{content:"\ea04"}[icon=clockwise]:before{content:"\ea05"}[icon=compasses]:before{content:"\ea06"}[icon=copy]:before{content:"\ea07"}[icon=delete-bin]:before{content:"\ea08"}[icon=drag-move]:before{content:"\ea09"}[icon=email]:before{content:"\ea0a"}[icon=eye]:before{content:"\ea0b"}[icon=eye-off]:before{content:"\ea0c"}[icon=file]:before{content:"\ea0d"}[icon=file-add]:before{content:"\ea0e"}[icon=file-damage]:before{content:"\ea0f"}[icon=file-paper]:before{content:"\ea10"}[icon=folder]:before{content:"\ea11"}[icon=folder-add]:before{content:"\ea12"}[icon=github]:before{content:"\ea13"}[color][icon=github]:before{color:#181616}[icon=gitlab]:before{content:"\ea14"}[color][icon=gitlab]:before{color:#e24329}[icon=google]:before{content:"\ea15"}[color][icon=google]:before{color:#587dbd}[icon=guide]:before{content:"\ea16"}[icon=hammer]:before{content:"\ea17"}[icon=home]:before{content:"\ea18"}[icon=list-settings]:before{content:"\ea19"}[icon=magnify]:before{content:"\ea1a"}[icon=mastodon]:before{content:"\ea1b"}[color][icon=mastodon]:before{color:#000}[icon=matrix]:before{content:"\ea1c"}[color][icon=matrix]:before{color:#000}[icon=merzin]:before{content:"\ea1d"}[color][icon=merzin]:before{color:#f60}[icon=navigation]:before{content:"\ea1e"}[icon=pause]:before{content:"\ea1f"}[icon=pencil]:before{content:"\ea20"}[icon=play]:before{content:"\ea21"}[icon=poweroff]:before{content:"\ea22"}[icon=refresh]:before{content:"\ea23"}[icon=run]:before{content:"\ea24"}[icon=save]:before{content:"\ea25"}[icon=settings]:before{content:"\ea26"}[icon=spinner]:before{content:"\ea27"}[icon=twitter]:before{content:"\ea28"}[icon=upload]:before{content:"\ea29"}[icon=url]:before{content:"\ea2a"}[icon=user]:before{content:"\ea2b"}[icon=vcard]:before{content:"\ea2c"}[icon=wos]:before{content:"\ea2d"}[icon=zoom-in]:before{content:"\ea2e"}[icon=zoom-out]:before{content:"\ea2f"}body,*{font-family:var(--font-face, sans-serif);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-weight:900;margin:.7em 0 8px;display:flex;gap:0 16px;line-height:1em;flex-wrap:wrap;align-items:center;justify-content:space-between}h1{font-size:calc(var(--font-base, 1rem) * 4.5)}h2{font-size:calc(var(--font-base, 1rem) * 3)}h3{font-size:calc(var(--font-base, 1rem) * 2.25)}h4{font-size:calc(var(--font-base, 1rem) * 1.5)}h5{font-size:calc(var(--font-base, 1rem) * 1.125)}h6{font-size:calc(var(--font-base, 1rem) * 1)}body,p{font-weight:400}small,input,textarea{font-weight:300}b,button{font-weight:700}a,body,p,button,input[type=submit]{font-size:var(--font-base, 1rem)}a[lg],body[lg],p[lg],button[lg],input[type=submit][lg]{font-size:calc(var(--font-base, 1rem) * 1.2)}[sm],small,input,textarea{font-size:calc(var(--font-base, 1rem) * .8)}p{margin-bottom:8px}input[type=checkbox],input[type=range]{padding:5px 10px;display:inline-block;border-radius:var(--radius, 16px);border:1px solid var(--foreground-alt, #bbb);height:16px}input[type=checkbox][sm],input[type=range][sm]{padding:3px 6px}input[type=checkbox][lg],input[type=range][lg]{padding:5px 14px}input[type=checkbox][circle],input[type=range][circle]{display:inline-flex;justify-content:center;align-items:center;padding:0;border-radius:var(--radius, 16px);width:calc(var(--radius, 16px) * 2);height:calc(var(--radius, 16px) * 2)}input[type=checkbox][circle][sm],input[type=range][circle][sm]{--radius: calc($radius * .75)}input[type=checkbox][circle][lg],input[type=range][circle][lg]{--radius: calc($radius * 1.1)}input[type=checkbox]:not([circle])[lg],input[type=range]:not([circle])[lg]{border-radius:calc(var(--radius, 16px) * 1.2)}select,textarea,input:not([type]),input[type=email],input[type=search],input[type=tel],input[type=url],input[type=date],input[type=month],input[type=time],input[type=week],input[type=number],input[type=password],input[type=text]{padding:5px 10px;display:inline-block;border-radius:var(--radius, 16px);border:1px solid var(--foreground-alt, #bbb);font-weight:300;border-color:var(--foreground-alt, #bbb);background:var(--background-alt, #eee);color:var(--foreground, #000)}select[sm],textarea[sm],input:not([type])[sm],input[type=email][sm],input[type=search][sm],input[type=tel][sm],input[type=url][sm],input[type=date][sm],input[type=month][sm],input[type=time][sm],input[type=week][sm],input[type=number][sm],input[type=password][sm],input[type=text][sm]{padding:3px 6px}select[lg],textarea[lg],input:not([type])[lg],input[type=email][lg],input[type=search][lg],input[type=tel][lg],input[type=url][lg],input[type=date][lg],input[type=month][lg],input[type=time][lg],input[type=week][lg],input[type=number][lg],input[type=password][lg],input[type=text][lg]{padding:5px 14px}select[circle],textarea[circle],input:not([type])[circle],input[type=email][circle],input[type=search][circle],input[type=tel][circle],input[type=url][circle],input[type=date][circle],input[type=month][circle],input[type=time][circle],input[type=week][circle],input[type=number][circle],input[type=password][circle],input[type=text][circle]{display:inline-flex;justify-content:center;align-items:center;padding:0;border-radius:var(--radius, 16px);width:calc(var(--radius, 16px) * 2);height:calc(var(--radius, 16px) * 2)}select[circle][sm],textarea[circle][sm],input:not([type])[circle][sm],input[type=email][circle][sm],input[type=search][circle][sm],input[type=tel][circle][sm],input[type=url][circle][sm],input[type=date][circle][sm],input[type=month][circle][sm],input[type=time][circle][sm],input[type=week][circle][sm],input[type=number][circle][sm],input[type=password][circle][sm],input[type=text][circle][sm]{--radius: calc($radius * .75)}select[circle][lg],textarea[circle][lg],input:not([type])[circle][lg],input[type=email][circle][lg],input[type=search][circle][lg],input[type=tel][circle][lg],input[type=url][circle][lg],input[type=date][circle][lg],input[type=month][circle][lg],input[type=time][circle][lg],input[type=week][circle][lg],input[type=number][circle][lg],input[type=password][circle][lg],input[type=text][circle][lg]{--radius: calc($radius * 1.1)}select:not([circle])[lg],textarea:not([circle])[lg],input:not([type]):not([circle])[lg],input[type=email]:not([circle])[lg],input[type=search]:not([circle])[lg],input[type=tel]:not([circle])[lg],input[type=url]:not([circle])[lg],input[type=date]:not([circle])[lg],input[type=month]:not([circle])[lg],input[type=time]:not([circle])[lg],input[type=week]:not([circle])[lg],input[type=number]:not([circle])[lg],input[type=password]:not([circle])[lg],input[type=text]:not([circle])[lg]{border-radius:calc(var(--radius, 16px) * 1.2)}select::placeholder,textarea::placeholder,input:not([type])::placeholder,input[type=email]::placeholder,input[type=search]::placeholder,input[type=tel]::placeholder,input[type=url]::placeholder,input[type=date]::placeholder,input[type=month]::placeholder,input[type=time]::placeholder,input[type=week]::placeholder,input[type=number]::placeholder,input[type=password]::placeholder,input[type=text]::placeholder{color:var(--foreground-alt, #bbb)}select:disabled,textarea:disabled,input:not([type]):disabled,input[type=email]:disabled,input[type=search]:disabled,input[type=tel]:disabled,input[type=url]:disabled,input[type=date]:disabled,input[type=month]:disabled,input[type=time]:disabled,input[type=week]:disabled,input[type=number]:disabled,input[type=password]:disabled,input[type=text]:disabled{background:var(--background, #fff);border-color:var(--background, #fff);color:var(--foreground-alt, #bbb)}button,a[block],input[type=file],input[type=submit]{padding:5px 10px;display:inline-block;border-radius:var(--radius, 16px);border:1px solid var(--foreground-alt, #bbb);font-weight:700;user-select:none;border-color:#0000;background:rgba(0,0,0,0);color:var(--foreground, #000)}button[sm],a[block][sm],input[type=file][sm],input[type=submit][sm]{padding:3px 6px}button[lg],a[block][lg],input[type=file][lg],input[type=submit][lg]{padding:5px 14px}button[circle],a[block][circle],input[type=file][circle],input[type=submit][circle]{display:inline-flex;justify-content:center;align-items:center;padding:0;border-radius:var(--radius, 16px);width:calc(var(--radius, 16px) * 2);height:calc(var(--radius, 16px) * 2)}button[circle][sm],a[block][circle][sm],input[type=file][circle][sm],input[type=submit][circle][sm]{--radius: calc($radius * .75)}button[circle][lg],a[block][circle][lg],input[type=file][circle][lg],input[type=submit][circle][lg]{--radius: calc($radius * 1.1)}button:not([circle])[lg],a[block]:not([circle])[lg],input[type=file]:not([circle])[lg],input[type=submit]:not([circle])[lg]{border-radius:calc(var(--radius, 16px) * 1.2)}button:not(:disabled),a[block]:not(:disabled),input[type=file]:not(:disabled),input[type=submit]:not(:disabled){cursor:pointer}button[primary]:not(:disabled):not([alt]),a[block][primary]:not(:disabled):not([alt]),input[type=file][primary]:not(:disabled):not([alt]),input[type=submit][primary]:not(:disabled):not([alt]){background:var(--primary, #009fce)!important;border-color:var(--primary, #009fce);color:#fff}button[primary]:not(:disabled)[alt],a[block][primary]:not(:disabled)[alt],input[type=file][primary]:not(:disabled)[alt],input[type=submit][primary]:not(:disabled)[alt]{background:var(--background-alt, #eee);border-color:var(--primary, #009fce);color:var(--primary, #009fce)}button[primary]:disabled,a[block][primary]:disabled,input[type=file][primary]:disabled,input[type=submit][primary]:disabled{background:var(--background-alt, #eee);border-color:var(--foreground-alt, #bbb)}button[secondary]:not(:disabled):not([alt]),a[block][secondary]:not(:disabled):not([alt]),input[type=file][secondary]:not(:disabled):not([alt]),input[type=submit][secondary]:not(:disabled):not([alt]){background:var(--secondary, #009d80)!important;border-color:var(--secondary, #009d80);color:#fff}button[secondary]:not(:disabled)[alt],a[block][secondary]:not(:disabled)[alt],input[type=file][secondary]:not(:disabled)[alt],input[type=submit][secondary]:not(:disabled)[alt]{background:var(--background-alt, #eee);border-color:var(--secondary, #009d80);color:var(--secondary, #009d80)}button[secondary]:disabled,a[block][secondary]:disabled,input[type=file][secondary]:disabled,input[type=submit][secondary]:disabled{background:var(--background-alt, #eee);border-color:var(--foreground-alt, #bbb)}button[tetriary]:not(:disabled):not([alt]),a[block][tetriary]:not(:disabled):not([alt]),input[type=file][tetriary]:not(:disabled):not([alt]),input[type=submit][tetriary]:not(:disabled):not([alt]){background:var(--secondary, #d54000)!important;border-color:var(--secondary, #d54000);color:#fff}button[tetriary]:not(:disabled)[alt],a[block][tetriary]:not(:disabled)[alt],input[type=file][tetriary]:not(:disabled)[alt],input[type=submit][tetriary]:not(:disabled)[alt]{background:var(--background-alt, #eee);border-color:var(--secondary, #d54000);color:var(--secondary, #d54000)}button[tetriary]:disabled,a[block][tetriary]:disabled,input[type=file][tetriary]:disabled,input[type=submit][tetriary]:disabled{background:var(--background-alt, #eee);border-color:var(--foreground-alt, #bbb)}button[type=file],a[block][type=file],input[type=file][type=file],input[type=submit][type=file]{position:relative}button[type=file]:before,a[block][type=file]:before,input[type=file][type=file]:before,input[type=submit][type=file]:before{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;justify-content:center;align-items:center;text-align:center;content:"Browse Files...";background:inherit}button:disabled,a[block]:disabled,input[type=file]:disabled,input[type=submit]:disabled{color:var(--foreground-alt, #bbb)}button:not(:disabled):hover,a[block]:not(:disabled):hover,input[type=file]:not(:disabled):hover,input[type=submit]:not(:disabled):hover{transition:filter .1s;filter:brightness(1.1)}button:not(:disabled):hover:not([alt]),a[block]:not(:disabled):hover:not([alt]),input[type=file]:not(:disabled):hover:not([alt]),input[type=submit]:not(:disabled):hover:not([alt]){box-shadow:1px 2px 4px var(--shadow, #888)}a{font-weight:400;user-select:none;color:var(--foreground-alt, #bbb);text-decoration:none}a[href]:not([href=""]):not([href="0"]):not([href=false]):not([href=null]):not([href=undefined]){color:var(--foreground, #000)}a[href]:not([href=""]):not([href="0"]):not([href=false]):not([href=null]):not([href=undefined]):not([active]):not(:disabled){cursor:pointer}a[href]:not([href=""]):not([href="0"]):not([href=false]):not([href=null]):not([href=undefined]):not([active]):not([block]):hover{font-weight:300}a[active]{font-weight:900}a:not([block]):focus{outline:none}a:not([block]):focus:not([silent]){text-decoration:3px underline}select:not([silent]):focus,textarea:not([silent]):focus,input:not([type=submit]):not([silent]):focus{outline:var(--foreground, #000) solid 3px}button:not([silent]):focus,a[block]:not([silent]):focus,input[type=file]:not([silent]):focus,input[type=submit]:not([silent]):focus{outline:var(--foreground, #000) solid 3px}html{scrollbar-width:thin}html ::-webkit-scrollbar{width:8px;height:8px}html ::-webkit-scrollbar-track{background:var(--background, #fff)}html ::-webkit-scrollbar-thumb{border-radius:16px;background:var(--foreground, #000)}html ::-webkit-scrollbar-thumb:active{background:var(--primary, #009fce)}[noscrollbar]{scrollbar-width:none}[noscrollbar] ::-webkit-scrollbar{display:none}body{overscroll-behavior:none}ul,ol{list-style-type:none}ul ul,ul ol,ol ul,ol ol{margin-left:2ch}ul>li,ol>li{line-height:1.3em}ul>li:before,ul>li:after,ol>li:before,ol>li:after{font-size:.9em;opacity:.8}ul>li>ol,ul>li>ul,ol>li>ol,ol>li>ul{margin-top:-1.3em}ul>li:before{content:"\b7  "}ol{counter-reset:li}ol>li{position:relative}ol>li:not(:first-child){counter-increment:li}ol>li:before{content:counter(li);margin-right:1ch}ol>li:after{content:"\b7";position:absolute;left:1ch;top:0}*{margin:0;padding:0;box-sizing:border-box}*[title]:not([title=""]):not([title="0"]):not([title=false]):not([title=null]):not([title=undefined]){cursor:help}img{user-select:none}body{--font-face: -apple-system, BlinkMacSystemFont, "Segoe UI", "Fira Sans", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Droid Sans", "Helvetica Neue", sans-serif}@media (prefers-color-scheme: light){body:not([color-scheme=dark]){--background: var(--light-background, #fafaf4);--background-alt: var(--light-background-alt, #eaeae6);--foreground: var(--light-foreground, #000);--foreground-alt: var(--light-foreground-alt, #bebebe);--shadow: var(--light-shadow, rgba(0, 0, 0, .2666666667));--color-scheme: "light";--color-scheme-icon: "\2600";--color-scheme-emoji: "\1f31e"}}body[color-scheme=light]{--background: var(--light-background, #fafaf4);--background-alt: var(--light-background-alt, #eaeae6);--foreground: var(--light-foreground, #000);--foreground-alt: var(--light-foreground-alt, #bebebe);--shadow: var(--light-shadow, rgba(0, 0, 0, .2666666667));--color-scheme: "light";--color-scheme-icon: "\2600";--color-scheme-emoji: "\1f31e"}@media (prefers-color-scheme: dark){body:not([color-scheme=light]){--background: var(--dark-background, #000);--background-alt: var(--dark-background-alt, #1c1c1c);--foreground: var(--dark-foreground, #fffff8);--foreground-alt: var(--dark-foreground-alt, #646462);--shadow: var(--dark-shadow, #000);--color-scheme: "dark";--color-scheme-icon: "\263e";--color-scheme-emoji: "\1f319"}}body[color-scheme=dark]{--background: var(--dark-background, #000);--background-alt: var(--dark-background-alt, #1c1c1c);--foreground: var(--dark-foreground, #fffff8);--foreground-alt: var(--dark-foreground-alt, #646462);--shadow: var(--dark-shadow, #000);--color-scheme: "dark";--color-scheme-icon: "\263e";--color-scheme-emoji: "\1f319"}body{--primary: var(--primary, #009fce);--secondary: var(--secondary, #009d80);--tetriary: var(--secondary, #d54000);background:var(--background, #fff);color:var(--foreground, #000)}@media (prefers-color-scheme: light){body:not([color-scheme=dark]) button#color-scheme:after{right:0}}body[color-scheme=light] button#color-scheme:after{right:0}@media (prefers-color-scheme: dark){body:not([color-scheme=light]) button#color-scheme:after{left:0}}body[color-scheme=dark] button#color-scheme:after{left:0}button#color-scheme{--height: 24px;--width: 40px;--border-width: 2px;background:none;box-shadow:inset 0 0 8px var(--background, #fff);width:var(--width);height:var(--height);border-radius:var(--height);position:relative;box-sizing:border-box;border:none}button#color-scheme:before{content:"";box-sizing:border-box;display:block;position:absolute;right:0;top:0;width:100%;height:var(--height);border:var(--border-width) solid var(--foreground, #000);border-radius:var(--height)}button#color-scheme:after{font-weight:400;position:absolute;top:0;content:var(--color-scheme-icon);background:var(--foreground, #000);color:var(--background, #fff);display:block;vertical-align:center;text-align:center;line-height:var(--height);font-size:calc(var(--height) * .8);width:var(--height);height:var(--height);border-radius:var(--height)}body{--card-padding: 32px;--card-radius: 32px;--gap: 32px}main{margin:64px}@media (max-width: 768px){main{margin:32px}}@media (min-width: 1344px){main{width:1280px;margin:32px auto}}#contact{overflow:hidden;padding:var(--card-padding, 16px)!important;transition:box-shadow .1s;border-radius:var(--card-radius, 24px)!important;background-color:var(--background-alt, #eee)!important;min-width:240px;min-height:96px;margin-left:-16px;margin-right:-16px;display:flex;flex-wrap:wrap;justify-content:center;align-items:start;gap:32px}#contact>*:first-child{margin-top:0}#contact>*:last-child{margin-bottom:0}#contact:hover{box-shadow:1.5px 3px 6px var(--shadow, #888)}#contact img{width:256px;height:256px;max-width:40vmin;max-height:40vmin}@media (max-width: 992px){#contact{gap:24px;flex-direction:column}}#contact>div{flex:1}#contact h1,#contact h2,#contact h3,#contact h4,#contact h5,#contact h6{margin-top:0}#contact .note{margin-bottom:24px}#contact .email,#contact .tel,#contact .url{margin-top:8px}#contact .role{display:flex;flex-wrap:wrap;gap:8px}#contact .url{display:flex;flex-wrap:wrap;gap:4px 16px}#institutional{display:grid;gap:16px;margin-left:-24px;margin-right:-24px;padding:8px}@media (min-width: 992px){#institutional{grid-template-columns:repeat(auto-fit,minmax(480px,1fr))}}#institutional>* h1,#institutional>* h2,#institutional>* h3,#institutional>* h4,#institutional>* h5,#institutional>* h6{margin-left:16px;margin-bottom:16px}#institutional>*>div{overflow:hidden;padding:var(--card-padding, 16px)!important;transition:box-shadow .1s;border-radius:var(--card-radius, 24px)!important;background-color:var(--background-alt, #eee)!important;min-width:0;min-height:0;display:grid;gap:8px;grid-template-columns:1fr auto}#institutional>*>div>*:first-child{margin-top:0}#institutional>*>div>*:last-child{margin-bottom:0}#institutional>*>div:hover{box-shadow:1.5px 3px 6px var(--shadow, #888)}#institutional>*>div small{display:block}#institutional>*>div>*:nth-child(2n){white-space:nowrap}.projects{display:grid;grid-auto-flow:dense;grid-template-columns:repeat(auto-fit,minmax(var(--uy, 144px),1fr));grid-template-rows:repeat(auto-fill,minmax(var(--uy, 144px),1fr));max-height:100%;--p: 8px;margin-left:calc(-16px - var(--p));margin-right:calc(-16px - var(--p))}.projects>*{grid-column:span var(--wx, 1);grid-row:span var(--wy, 1);min-width:0!important;min-height:calc(var(--wy, 1) * var(--uy, 144px));width:100%;height:100%}@media (max-width: 576px){.projects{--p: 4px}}.projects>*{padding:var(--p)}.projects>*>*{overflow:hidden;padding:var(--card-padding, 16px)!important;transition:box-shadow .1s;border-radius:var(--card-radius, 24px)!important;background-color:var(--background-alt, #eee)!important;min-width:0;min-height:0;width:100%;height:100%}.projects>*>*>*:first-child{margin-top:0}.projects>*>*>*:last-child{margin-bottom:0}.projects>*>*:hover{box-shadow:1.5px 3px 6px var(--shadow, #888)}.projects>.library{--wx: 3}.projects>.service{--wx: 3;--wy: 3}.projects>.service>*{position:relative}.projects>.service>*>img{filter:drop-shadow(-12px 8px 8px rgba(0,0,0,.5333333333));z-index:2;position:absolute;height:50%;top:10%;left:var(--card-padding)}.projects>.service>*>.gallery{height:70%;position:relative}.projects>.service>*>.gallery>*{filter:drop-shadow(-12px 8px 8px rgba(0,0,0,.5333333333));z-index:1;transition:top .1s,right .1s;position:absolute;right:calc(var(--img-offset-x, -13%) + var(--img-spread-x, 15%) * var(--index, 0));top:calc(var(--img-offset-y, 32%) + var(--img-spread-y, -10%) * var(--index, 0));max-height:70%;max-width:80%;border-radius:var(--radius, 16px)}.projects>.tool>*,.projects>.game>*{background-image:var(--image)!important;background-repeat:no-repeat!important;background-position:50% 30%!important;background-size:30%!important;position:relative;--card-padding: 16px}.projects>.tool>* h1,.projects>.tool>* h2,.projects>.tool>* h3,.projects>.tool>* h4,.projects>.tool>* h5,.projects>.tool>* h6,.projects>.game>* h1,.projects>.game>* h2,.projects>.game>* h3,.projects>.game>* h4,.projects>.game>* h5,.projects>.game>* h6{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;text-align:center;width:100%;position:absolute;bottom:0;left:0;padding:var(--card-padding, 16px)}
