@import url("https://fonts.googleapis.com/css2?family=Source+Code+Pro:ital,wght@0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");@import url("https://fonts.googleapis.com/css2?family=Inter:wght@100;300;500;600;700&display=swap");:root{--font-main:"Source Code Pro",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Open Sans","Helvetica Neue",sans-serif;--font-reading:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Open Sans","Helvetica Neue",sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;--text-main:hsla(0,0%,100%,.87);--text-main-full:#fff;--background-main:#101010;--background-main-rgb:16,16,16;--text-link-hover:#535bf2;--error:rgba(255,95,95,.8);--background-button:#1a1a1a;--button-border:hsla(0,0%,100%,.1);--text-link:#646cff;--text-success:#00d395;--text-error:#ff5f5f;--button-shadow:rgba(0,0,0,.1);--cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20"><circle cx="10" cy="10" r="10" fill="%23e9e9e9B3" /></svg>') 5 5,auto;--cursor-hover:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20"><circle cx="10" cy="10" r="10" fill="%23e9e9e9FF" /></svg>') 5 5,auto}*{box-sizing:border-box}#__next,body,html{width:100%;height:100%;margin:0;padding:0;overscroll-behavior:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:var(--cursor)}.container{color:var(--text-main);background:var(--background-main);font-family:var(--font-main);width:100%;height:100%;display:flex;justify-content:center;transition:all .2s ease}a{font-weight:500;color:var(--text-link);text-decoration:inherit;pointer-events:all}a:hover{color:var(--text-link-hover)}h1{line-height:1.1;font-weight:300;margin-top:0}a:hover,svg:hover{cursor:var(--cursor-hover)}.controls,button.button-primary,input,span.button-primary button{background-color:var(--background-button);font-size:1em;font-weight:500;border:1px solid transparent;padding:.6em 1.2em;cursor:var(--cursor-hover);transition:all .25s ease}button.button-primary:hover,input:hover,span.button-primary button{border-color:var(--text-link)}button.button-primary:focus,button.button-primary:focus-visible,input:focus,input:focus-visible,span.button-primary button:focus,span.button-primary button:focus-visible{outline:none}button.button-primary.selected,input.selected,span.button-primary button.selected{border-color:var(--text-link)}button.button-primary.loading,span.button-primary button.loading{position:relative;cursor:not-allowed}button.button-primary span,span.button-primary button span{transition:margin-left .25s ease}button.button-primary.loading span,span.button-primary button.loading span{margin-left:2rem}button.button-primary.loading span:before,span.button-primary button.loading span:before{content:"";position:absolute;left:1rem;width:1em;height:1em;border-radius:50%;border:2px solid var(--text-link);border-top:2px solid transparent;animation:spin 1s linear infinite}button.button-primary.has-icon,span.button-primary button.has-icon{display:flex;align-items:center;gap:1rem}button.button-primary:disabled,span.button-primary button:disabled{opacity:.5;cursor:not-allowed;border-color:transparent}input::-webkit-inner-spin-button,input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}input.error{border-color:var(--error)}button.special{background-color:var(--text-link);color:#fff!important;border:1px solid var(--text-link)}button.special:hover{background-color:var(--text-link-hover);border-color:var(--text-link-hover)}.emphasize,a.emphasize{color:var(--text-link);font-weight:600}.emphasize.min,a.emphasize.min{opacity:.7;transition:opacity .25s ease}.emphasize.min:hover,a.emphasize.min:hover{opacity:1}.underline{position:relative}.underline:after{content:"";position:absolute;display:block;width:100%;height:2px;background:var(--text-link);margin-top:.2em}.italic{font-style:italic}.separator.vertical{width:1px;height:.8rem;background:var(--text-main);margin:0 .5rem;opacity:.1}#loader{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;background:rgba(var(--background-main-rgb),.9);opacity:1;z-index:100;transition:opacity .25s ease}#loader .loader{width:100px;height:100px;border-radius:50%;border:4px solid hsla(0,0%,100%,.1);border-top:4px solid var(--text-link);animation:spin 1s linear infinite}#loader.hidden{opacity:0;pointer-events:none}.error-overlay{font-family:var(--font-main);position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background:rgba(var(--background-main-rgb),.9);opacity:1;z-index:100}@keyframes spin{to{transform:rotate(1turn)}}.nav{font-family:var(--font-main);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:fixed;left:50%;top:0;transform:translateX(-50%);width:100%;max-width:1600px;padding:.8rem 1.2rem;display:flex;align-items:center;gap:1em;z-index:10;opacity:1;transition:opacity .2s ease}.nav.hidden{opacity:0}.nav a,.nav svg{color:var(--text-main);text-decoration:none;cursor:pointer;transition:color .2s ease}.nav a:hover,.nav svg:hover{color:var(--text-main-full)}.nav .title{font-size:1.4em;font-weight:400}.nav .links{display:flex;justify-content:space-between;align-items:center;gap:1em}.ant-dropdown-menu a,.nav a{opacity:.7}.ant-dropdown-menu a.active,.nav a.active{opacity:1}.ant-dropdown-menu a.active:before,.nav a.active:before{content:"_"}.nav .language a:first-child:after{content:"/";opacity:.2;margin-left:.5em}.ant-dropdown-trigger{display:flex;align-items:center}.ant-dropdown-trigger svg{transition:transform .2s ease}.ant-dropdown-open svg{transform:rotate(90deg)}.nav .language{display:flex;gap:.5em;align-items:center}@media (min-width:768px){.nav{padding:1rem 2rem;justify-content:space-between}.nav .links{gap:2em}}@media (max-width:768px){.nav .links{width:100%}}.card{border-radius:1rem;padding:1rem 1.5rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;flex-direction:column;gap:1rem;transition:all .2s ease-in-out}.card.hovered{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:rgba(var(--background-main-rgb),.6)}.card .header{display:flex;align-items:flex-end;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.reading.mobile .card .header,.work-item.mobile .card .header{flex-direction:column;align-items:flex-start}.card .header .title{font-size:1.2rem;font-weight:400;text-transform:uppercase;letter-spacing:1px}.card .header .type{font-size:.9rem;font-weight:400;opacity:.8}.card .context,.card .description{text-align:justify}.card .context{font-style:italic}.card .tech{display:grid;grid-template-columns:repeat(auto-fill,minmax(40px,1fr));grid-gap:.5rem;gap:.5rem}.card .tech .tech-item img{opacity:.8;transition:opacity .2s ease-in-out}.card .tech .tech-item:hover img{opacity:1}.work{display:grid;justify-content:center}.work-item{display:grid;align-items:center;width:100%;max-width:1600px;justify-self:center;padding:2rem 0;opacity:1;transition:opacity .2s ease-in-out}.work-item.hidden{opacity:0}.work-item.desktop{padding:2rem}.work-item.desktop .card{width:70%;max-width:800px;padding:1rem 2rem;gap:1.5rem}.work-item.desktop.left .card{justify-self:start}.work-item.desktop.right .card{justify-self:end}.reading{font-family:var(--font-reading);font-weight:300;position:absolute;top:0;left:0;width:100%;height:100%;padding:4rem 0;overflow:scroll;display:grid}.reading.desktop{padding:4rem}.reading .wrapper{width:100%;max-width:1600px;justify-self:center;display:flex;flex-direction:column;align-items:center;gap:1rem}.reading .wrapper .card{width:100%}.about{display:grid;min-height:100vh;padding:4rem 1.2rem}.about .wrapper{display:grid;justify-self:center;align-items:center;grid-gap:1rem;gap:1rem;width:100%;max-width:1600px}.about.desktop .card{max-width:70%;max-width:800px;padding:1rem 2rem}.about.desktop .card:first-child{justify-self:start}.about.desktop .card:last-child{justify-self:end}.about .articles,.about .links{display:grid;grid-gap:2rem;gap:2rem}.about .articles,.about .links>div{display:flex;flex-direction:column;gap:1rem}.about .articles a,.about .links>div a{display:flex;align-items:center;gap:.5rem;color:var(--text-main);opacity:.9;transition:all .2s ease-in-out}.about .links a:hover{color:var(--text-main-full);opacity:1}.about .articles a{gap:1rem}.about.mobile .articles a{display:grid;grid-row-gap:.5rem;row-gap:.5rem;grid-template-columns:auto 1fr}.about.mobile .articles a span:last-child{grid-column:span 2}@media (min-width:768px){.about{padding:4rem 2rem}}.counter{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:fixed;left:50%;bottom:0;transform:translateX(-50%);padding:.8rem 1.2rem;width:100%;max-width:1600px;display:grid;grid-template-columns:1fr auto;opacity:1;transition:all .2s ease-in-out}.counter:hover{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:rgba(var(--background-main-rgb),.6)}.counter.hidden{opacity:0}@media (min-width:768px){.counter{padding:1.5rem 2rem}}