@charset "UTF-8";.role{font-weight:300}header::before{animation:bg-pulse 10s ease-in-out 0s infinite alternate;background:url(/images/github-activity.svg)50% 46% no-repeat;background-size:auto 35vh;bottom:0;content:'';left:0;opacity:.08;position:absolute;right:0;top:0;transition:opacity .5s ease-in-out;z-index:-1}@media(max-width:910px){header::before{background-position-y:55%}}@media(max-width:710px){header::before{background-position-y:50%}}@media(max-height:550px){header::before{background-position-y:53%}}header .container{gap:1rem}header .logo img{max-height:40svh}@media(max-height:550px){header .logo img{max-height:10svh}}.portrait{align-self:center;color:transparent;filter:drop-shadow(-15px 0 35px rgba(224,86,253,.2));margin:2rem 0;will-change:filter,opacity,transform,transition,translateY}.portrait::before{color:#fff;content:'👨🏻‍💻';display:block;font-size:8rem;text-align:center}#about span{opacity:.5}.stat-number{color:lch(74 58.57 229.04);font-family:Iowan Old Style,Apple Garamond,Baskerville,Times New Roman,Droid Serif,Times,Source Serif Pro,serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-size:400%;font-style:normal;font-weight:700}html:not([data-useragent*=Firefox],[data-useragent*=iPhone]) .stat-number{-webkit-text-fill-color:transparent}.note{font-size:80%;margin-bottom:5rem;max-width:100%}.note [data-title]:hover::before,.note [data-title]:active::before,.note [data-title]:focus::before{bottom:-2.6rem}.cards-wrapper{display:flex;flex-wrap:wrap;gap:4rem 3rem;justify-content:space-evenly;margin:0;pointer-events:none}.cards-wrapper:hover .card,.cards-wrapper:focus-within .card{opacity:.85}.cards-wrapper:hover .card:active,.cards-wrapper:hover .card:focus,.cards-wrapper:hover .card:hover,.cards-wrapper:focus-within .card:active,.cards-wrapper:focus-within .card:focus,.cards-wrapper:focus-within .card:hover{opacity:1}.card{background-color:#fff;background-position:100% 100%;background-repeat:no-repeat;background-size:100%;border-radius:8px;box-shadow:0 12px 28px rgba(0,0,0,.2),0 2px 4px rgba(0,0,0,.2),inset 0 0 0 1px rgba(255,255,255,.1);color:rgba(255,255,255,.95);display:flex;flex-direction:column;font-size:70%;justify-content:space-between;margin:0;max-width:22rem;pointer-events:auto;position:relative;text-decoration:none;transition:background-size .3s ease-in-out,filter .15s ease-in-out,opacity .3s ease-in-out,transform .15s ease-in-out;will-change:opacity,transform}.card::before{box-shadow:0 0 80px rgba(224,86,253,.2),inset 0 0 0 1px rgba(255,255,255,8%);content:'';inset:0;opacity:0;position:absolute;transition:opacity .3s ease-in-out}.card:active,.card:focus,.card:hover{background-size:105%;transform:scale(1.02)}.card:active::before,.card:focus::before,.card:hover::before{opacity:1}.card:active img,.card:focus img,.card:hover img{filter:brightness(1.03)contrast(1.03)saturate(1.03);transform:scale(1.05)}.card:active .card-content,.card:focus .card-content,.card:hover .card-content{border-bottom-left-radius:6px;border-bottom-right-radius:6px}.card:active .fake-link,.card:focus .fake-link,.card:hover .fake-link{--offset:0.101em;opacity:1;text-decoration-color:initial;transform:scale(1.02)translate(1px,3px)}.card:focus{box-shadow:0 0 0 6px #1a1f2c,0 0 0 10px lch(53 119.49 319.53);outline:none}.card:focus:not(:focus-visible){box-shadow:0 0 80px rgba(224,86,253,.2),inset 0 0 0 1px rgba(255,255,255,8%);outline:none}.card:active img{transform:scale(1.08)}.card:active .fake-link{color:lch(53 119.49 319.53)}.card-img img{color:transparent;cursor:pointer;display:block;font-size:0;min-height:155px;padding:20px;text-align:center;transition:transform .25s ease-out;user-select:none;width:100%}.card-img img::before{color:#fff;content:attr(alt);display:block;font-size:2.8rem;min-height:196px;padding-top:20px;text-shadow:0 0 14px rgba(26,31,44,.5),0 0 8px rgba(34,34,34,.4),0 0 3px rgba(34,34,34,.3),0 0 1px rgba(34,34,34,.2)}.card-content{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background-image:linear-gradient(165deg,rgba(35,42,60,.55),rgba(35,42,60,.66));border-bottom-left-radius:6px;border-bottom-right-radius:6px;box-shadow:-1px -3px 28px rgba(0,0,0,.2),0 2px 4px rgba(0,0,0,.2),0 -1px 0 1px rgba(255,255,255,.1)inset;display:flex;flex:1;flex-direction:column;font-size:90%;margin-bottom:-1px;padding:1.5rem 1.5rem 1.2rem;text-shadow:0 0 6px rgba(26,31,44,.7)}.card-content p:first-of-type{flex:1;padding-bottom:1rem}.card-content [data-title]:hover::before{bottom:-2.7rem;text-shadow:none;word-break:initial}.card-content [data-title]:hover::after{bottom:-.305rem}.card-mentalhealthaus{background-color:#ecf8ff;background-image:url(/images/portfolio/mha-bg.svg),linear-gradient(140deg,#fff 25%,#d1f4e6 60%);background-size:100%}.card-mentalhealthaus img{transition:transform .25s ease-out,filter .25s ease-out}.card-mentalhealthaus:active,.card-mentalhealthaus:focus,.card-mentalhealthaus:hover{background-size:103%!important}.card-makinghome{background-image:url(/images/portfolio/marble.svg);background-size:100%}.card-makinghome img{transition:transform .25s ease-out,filter .25s ease-out}.card-makinghome:active,.card-makinghome:focus,.card-makinghome:hover{background-size:100%!important}.card-whichcar{background-image:linear-gradient(#fff 33.5%,#e9e9e9 33.6%);background-repeat:repeat-x}.card-whichcar img{transition:transform .25s ease-out,filter .25s ease-out}.card-whichcar:active,.card-whichcar:focus,.card-whichcar:hover{background-size:98%}.card-whichcar:active img,.card-whichcar:focus img,.card-whichcar:hover img{filter:saturate(2)brightness(1.1)}.card-gps{background-image:radial-gradient(circle at 80% 90%,#ff5252 0%,#c00020 50%,#fff 50.1%)}@media(max-width:880px){.card-gps{background-image:radial-gradient(circle at 80% 119%,#ff5252 0%,#c00020 50%,#fff 50.1%)}}.fake-link{--offset:0.3em;color:#1ad4ff;font-family:sf pro display,sf pro icons,helvetica neue,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-size:85%;opacity:.92;text-align:right;text-decoration:underline;text-decoration-color:#00a6cc;text-shadow:0 0 8px rgba(26,31,44,.6),0 0 3px rgba(34,34,34,.6);text-underline-offset:var(--offset);transition:color .18s ease-in,opacity .15s,text-decoration-color .15s,text-underline-offset .2s,transform .2s ease-in-out;will-change:color,text-decoration-color,text-underline-offset,transform}