@charset "UTF-8";*,*:before,*:after{box-sizing:border-box}blockquote,body,h1,h2,h3,h4,p{margin:0}@media(prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:smooth}}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;line-height:1.5;min-height:100vh;text-rendering:optimizeLegibility}a:not([class]){text-decoration-skip-ink:auto}img{max-width:100%}input,textarea,select{font:inherit}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}body{--edge-fade-bleed: 8px;--edge-fade-bottom-scroll-end: 50px;--edge-fade-layer: 5;--edge-fade-overlap: 2px;--edge-fade-scroll-range: 90px;--edge-fade-size: 132px;--edge-fade-stop-1: calc(var(--edge-fade-size) * .06);--edge-fade-stop-2: calc(var(--edge-fade-size) * .14);--edge-fade-stop-3: calc(var(--edge-fade-size) * .26);--edge-fade-stop-4: calc(var(--edge-fade-size) * .41);--edge-fade-stop-5: calc(var(--edge-fade-size) * .59);--edge-fade-stop-6: calc(var(--edge-fade-size) * .76);--edge-fade-stop-7: calc(var(--edge-fade-size) * .89);--edge-fade-stop-8: var(--edge-fade-size);--site-background-image: linear-gradient( to top left, rgb(14, 17, 26), rgb(25, 35, 58) );background-attachment:fixed;background-color:#1a1f2c;background-image:var(--site-background-image);background-repeat:no-repeat;background-size:100% 100%;color:#fffffff2;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:2rem;font-size:clamp(2rem,2vw,1rem);margin:0}@media(max-width:600px){body{--edge-fade-bottom-scroll-end: 28px;--edge-fade-scroll-range: 56px;--edge-fade-size: 74px}}@media screen and (prefers-reduced-motion:no-preference){body{opacity:.0001;transition:opacity 1s}}@supports (mask-image: linear-gradient(black,transparent)){body:before,body:after{background-attachment:fixed;background-color:#1a1f2c;background-image:var(--site-background-image);background-repeat:no-repeat;content:"";height:calc(var(--edge-fade-size) + var(--edge-fade-bleed) + var(--edge-fade-overlap));left:0;pointer-events:none;position:fixed;right:0;z-index:var(--edge-fade-layer)}body:before{mask-image:linear-gradient(to bottom,black 0,black var(--edge-fade-overlap),rgba(0,0,0,.96) var(--edge-fade-stop-1),rgba(0,0,0,.88) var(--edge-fade-stop-2),rgba(0,0,0,.74) var(--edge-fade-stop-3),rgba(0,0,0,.56) var(--edge-fade-stop-4),rgba(0,0,0,.36) var(--edge-fade-stop-5),rgba(0,0,0,.2) var(--edge-fade-stop-6),rgba(0,0,0,.08) var(--edge-fade-stop-7),rgba(0,0,0,.015) var(--edge-fade-stop-8),transparent 100%);top:calc(var(--edge-fade-overlap) * -1)}body:after{bottom:calc(var(--edge-fade-overlap) * -1);mask-image:linear-gradient(to top,black 0,black var(--edge-fade-overlap),rgba(0,0,0,.96) var(--edge-fade-stop-1),rgba(0,0,0,.88) var(--edge-fade-stop-2),rgba(0,0,0,.74) var(--edge-fade-stop-3),rgba(0,0,0,.56) var(--edge-fade-stop-4),rgba(0,0,0,.36) var(--edge-fade-stop-5),rgba(0,0,0,.2) var(--edge-fade-stop-6),rgba(0,0,0,.08) var(--edge-fade-stop-7),rgba(0,0,0,.015) var(--edge-fade-stop-8),transparent 100%)}body:before,body:after{mask-mode:alpha;mask-repeat:no-repeat;mask-size:100% 100%}.skip-wrapper{z-index:20}@supports (animation-timeline: scroll(root block)){body:before{animation:edge-fade-in linear both;animation-range:0 var(--edge-fade-scroll-range);animation-timeline:scroll(root block)}body:after{animation:edge-fade-out linear both;animation-range:calc(100% - var(--edge-fade-scroll-range)) calc(100% - var(--edge-fade-bottom-scroll-end));animation-timeline:scroll(root block)}}}@keyframes edge-fade-in{0%{opacity:0}to{opacity:1}}@keyframes edge-fade-out{0%{opacity:1}to{opacity:0}}::selection{background-color:var(--secondary-colour, #e056fd);color:#fffffff2;-webkit-text-fill-color:#fff}:root{--primary-colour: #00c8ff;--primary-colour-bright: #00cfff;--secondary-colour: #e056fd;accent-color:var(--primary-colour, #00c8ff)}@supports (color: lch(50% 30 180deg)){:root{--primary-colour: lch(74% 58.57 229.04deg);--primary-colour-bright: lch(73% 58.75 230.32deg);--secondary-colour: lch(53% 119.49 319.53deg)}}a{color:var(--primary-colour, #00c8ff);overflow-wrap:anywhere;word-break:normal}.sr-only{background-color:#fff;border:0!important;clip-path:inset(50%)!important;color:#000;height:1px!important;left:-99999px;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;top:-99999px;white-space:nowrap!important;width:1px!important}.sr-only.focusable:active,.sr-only.focusable:focus{clip-path:none!important;height:auto!important;margin:0!important;overflow:visible!important;position:static!important;white-space:inherit!important;width:auto!important}.skip-wrapper{position:absolute;text-align:center;width:100%}#skip-link{background-color:var(--secondary-colour, #e056fd);border:1px solid var(--secondary-colour, #e056fd)!important;border-bottom-left-radius:8px;border-bottom-right-radius:8px;color:#1a1f2c;font-size:1.6rem;margin-top:-1px!important;outline:none;padding:.8rem 1.8rem!important}#skip-link:focus{display:inline-block}img{height:auto;-webkit-user-select:none;user-select:none}.container{align-content:space-between;display:flex;flex-direction:column;margin:0 auto;max-width:1335px;padding:4rem}h1,h2,.role{-webkit-background-clip:text;background-clip:text;background-image:radial-gradient(ellipse at center,#eff1ffcc 10%,#757575cc);background-position:center center;color:#fff6;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;line-height:1.2;margin:0;opacity:.8;text-align:center;-webkit-text-fill-color:transparent;text-rendering:optimizeLegibility;text-shadow:0 0 8px rgba(0,200,255,.05);width:100%}h1{align-self:flex-start;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:calc(7vw + 7vh);font-size:clamp(2rem,18vw,10rem);font-weight:600}.and{display:block;font-size:50%;font-weight:300;line-height:.8}h2{font-size:calc(4vw + 3vh);font-size:clamp(2rem,14vw,6rem);margin-bottom:3rem}h2:not(:first-of-type){margin-top:18rem}h3{color:var(--primary-colour, #00c8ff);margin:18rem 0 2rem;text-align:center;text-transform:uppercase}main h2+h3{margin-top:5rem}p,ul,li,small,blockquote{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}p,blockquote{margin:auto;max-width:50rem;width:100%}.emphasis li{margin-bottom:2.5rem}.emphasis strong{color:var(--primary-colour, #00c8ff);font-size:150%;font-style:normal;font-weight:600}.emphasis strong [data-title]{font-weight:600;-webkit-text-fill-color:var(--primary-colour, #00c8ff)}.emphasis [data-title]{-webkit-text-fill-color:rgba(255,255,255,.95)}.emphasis [data-title]:hover:before,.emphasis [data-title]:active:before,.emphasis [data-title]:focus:before{left:-10%;-webkit-text-fill-color:#1a1f2c}.emphasis.emphasis-smaller strong{font-size:115%}.emphasis.emphasis-smaller a{color:#fffffff2}html:not([data-useragent*=Firefox],[data-useragent*=iPhone]) .emphasis.gradient-text strong{-webkit-text-fill-color:transparent}.btn{background:none;border:1px solid var(--primary-colour, #00c8ff);border-radius:4px;color:var(--primary-colour, #00c8ff);cursor:pointer;font-family:sans-serif;padding:.5rem 1rem;text-decoration:none;transition:transform .2s,background-color .2s,color .2s;-webkit-user-select:none;user-select:none}.btn:hover,.btn:active,.btn:focus{background-color:var(--primary-colour-bright, #00cfff);color:#1a1f2c}.btn:active{background-color:var(--secondary-colour, #e056fd);border-color:var(--secondary-colour, #e056fd)}html[data-useragent*=Chrome] main{contain-intrinsic-height:auto 100vh;content-visibility:auto}section{padding:16rem 0}html:not([data-useragent*=Firefox],[data-useragent*=iPhone]) .gradient-text,html:not([data-useragent*=Firefox],[data-useragent*=iPhone]) blockquote:before{background-attachment:fixed;-webkit-background-clip:text;background-clip:text;background-image:linear-gradient(170deg,var(--secondary-colour, #e056fd),var(--primary-colour-bright, #00cfff),var(--primary-colour, #00c8ff),var(--secondary-colour, #e056fd),var(--primary-colour, #00c8ff),var(--primary-colour-bright, #00cfff),var(--primary-colour, #00c8ff),var(--secondary-colour, #e056fd))}header .container{align-items:center;display:flex;flex-direction:column;min-height:100vh;min-height:100svh;padding-top:3rem;position:relative}header+section{margin-top:5rem}.is404 header{margin-bottom:16rem}.logo{--activity-grid-height: min(35vh, 58vw);--activity-grid-offset: clamp(2rem, 10vmin, 4.5rem);align-items:center;display:flex;flex:1;isolation:isolate;justify-content:center;position:relative;user-select:none;width:100%}.logo:before{animation:bg-pulse 10s ease-in-out 0s infinite alternate;background-image:url(/_astro/github-activity.Ci8rLrvn.svg);background-position:50% calc(50% - var(--activity-grid-offset));background-repeat:no-repeat;background-size:auto var(--activity-grid-height);bottom:0;content:"";left:50%;opacity:.08;pointer-events:none;position:absolute;top:0;transform:translate(-50%);transition:opacity .5s ease-in-out;width:100vw;z-index:1}.logo img{--logo-glow-radius: clamp(36px, 11vw, 70px);--logo-height: clamp(28rem, 55vh, 30rem);--logo-min-height: 55vh;--logo-padding-block: clamp(2rem, 10vh, 6rem);--logo-padding-inline: 1rem;--logo-safe-padding-block: max( var(--logo-padding-block), var(--logo-glow-radius) );box-sizing:content-box;filter:brightness(0) invert(1) brightness(1.1) invert(.1) drop-shadow(0 0 var(--logo-glow-radius) lch(66% 61.15 248.22deg / .45));height:calc(var(--logo-height) - 2 * var(--logo-safe-padding-block));-webkit-mask-image:radial-gradient(ellipse at center,black 0%,transparent 90%);mask-image:radial-gradient(ellipse at center,black 0%,transparent 90%);max-height:100%;max-width:100%;min-height:calc(var(--logo-min-height) - 2 * var(--logo-safe-padding-block));padding:var(--logo-safe-padding-block) var(--logo-padding-inline);position:relative;transform:translateZ(0);transition:filter .2s ease-in;width:calc(100% - 2 * var(--logo-padding-inline));z-index:3}.logo img:before{content:"❖";display:flex;font-size:400%;justify-content:center}.logo img[src*=skills]:before{content:"⭐️"}.logo img[src*=edu]:before{content:"🎓"}.logo img[src*=awards]:before{content:"🏆"}.logo img[src*=message]:before{content:"💬"}.logo img[src*="404"]:before{content:"⚠️"}.logo img[src*=tesla]:before{content:"🚘"}.logo img[src*=referral]:before{content:"🏷"}html:not([data-useragent*=AppleWebKit]) .logo img{filter:brightness(2.7) saturate(3.5) grayscale(.95) drop-shadow(0 0 clamp(22px,6vw,35px) rgba(64,201,255,.4))!important}.role{align-self:flex-end;font-size:clamp(3rem,13vw,5rem);line-height:1.2;max-width:100%}.centered{text-align:center}.count-list,.brand-list{display:flex;flex-wrap:wrap;gap:10rem 2rem;justify-content:space-between;list-style:none;padding:0}.count-list li,.brand-list li{flex:1 1 0;text-align:center}.count-list span,.brand-list span{display:block}.brand-list{justify-content:space-between;margin-top:3em;width:100%}.brand-list.brand-list--larger{gap:10rem 10rem}.brand-list.brand-list--larger li{line-height:1.3;margin:auto;max-width:30rem}.brand-list.brand-list--larger img{margin-bottom:1rem;max-width:300px;user-select:none;width:100%}.brand-list li{min-width:min(100%,20rem)}.brand-list span{color:#fffc}.brand-list img{filter:brightness(0) invert(1) grayscale(.9) brightness(1.1) invert(.1);-webkit-mask-image:linear-gradient(black,rgba(0,0,0,.8));mask-image:linear-gradient(#000,#000c);opacity:.9;padding-bottom:.3rem}.brand-list .brand-name{color:#fffc}.brand-list .secondary-info{color:#ffffff8c!important;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:clamp(1.5rem,50%,2rem);margin-top:1rem;padding:0 1rem;word-spacing:1px}.brand-list .secondary-info abbr[title]{text-underline-offset:.2rem}.brand-list .secondary-info abbr[title]:hover:before,.brand-list .secondary-info abbr[title]:active:before,.brand-list .secondary-info abbr[title]:focus:before{top:128%}.brand-list .secondary-info abbr[title]:hover:after,.brand-list .secondary-info abbr[title]:active:after,.brand-list .secondary-info abbr[title]:focus:after{bottom:-.6rem}.brand-list em{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}blockquote{font-size:120%;font-style:italic;margin:2.2em auto;padding:0;position:relative}@media(max-width:1050px){blockquote{padding:0 0 0 4.5rem}}blockquote:before,blockquote:after{color:var(--primary-colour, #00c8ff);display:block;font-size:350%;font-weight:900;min-width:7rem;opacity:.2;position:absolute}html:not([data-useragent*=Firefox],[data-useragent*=iPhone]) blockquote:before,html:not([data-useragent*=Firefox],[data-useragent*=iPhone]) blockquote:after{-webkit-text-fill-color:transparent}blockquote:before{content:"“";left:-6rem;top:-4rem}@media(max-width:1050px){blockquote:before{font-size:300%;left:-1rem;top:-3.5rem}}blockquote.gradient-text:before{-webkit-text-fill-color:transparent}blockquote footer{color:#ffffff8c;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:clamp(1.25rem,60%,1.8rem);font-style:normal;margin-bottom:.4rem;margin-top:1.5rem;text-align:left}abbr[title]{font-weight:400;outline:none;text-decoration:underline;text-decoration-color:var(--primary-colour, #00c8ff);text-decoration-skip:ink;text-decoration-style:dotted;text-underline-offset:.15em}abbr[title]:hover,abbr[title]:active,abbr[title]:focus{text-decoration-color:var(--secondary-colour, #e056fd)}[data-title]{--tooltip-arrow-size: 8px;--tooltip-arrow-overlap: 2px;--tooltip-edge-gutter: .5rem;--tooltip-gap: var(--tooltip-arrow-size);--tooltip-max-width: min(80vw, 19rem);cursor:help;position:relative}[data-title]:before,[data-title]:after{animation-duration:.3s;animation-timing-function:cubic-bezier(.28,.84,.42,1);content:"";opacity:0;transition:opacity .18s ease-in}[data-title]:hover:before,[data-title]:active:before,[data-title]:focus:before{animation-name:bounce;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background-color:var(--primary-colour, #00c8ff);border:0;border-radius:8px;bottom:-2.75rem;box-shadow:0 0 30px #e056fd4d;color:#222;content:attr(data-title);display:inline-block;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:1.2rem;font-style:normal;font-weight:400;height:fit-content;left:50%;max-width:var(--tooltip-max-width);min-width:0;opacity:1;outline:0;overflow-wrap:break-word;padding:.4rem .6rem .3rem;position:absolute;text-align:center;top:109%;transform:translate(-50%);white-space:normal;width:max-content;word-break:normal;z-index:1}[data-title]:hover:after,[data-title]:active:after,[data-title]:focus:after{border:8px solid transparent;border-bottom:8px solid var(--primary-colour, #00c8ff);bottom:-.3rem;display:inline-block;left:50%;opacity:1;position:absolute;transform:translate(-50%);transition-delay:.03s;z-index:3}@supports (top: anchor(bottom)) and (justify-self: anchor-center){@keyframes tooltip-bounce{0%{transform:scale(1) translateY(0)}10%{transform:scale(1.07,.9) translateY(0)}30%{transform:scale(.9,1.1) translateY(-5px)}50%{transform:scale(1.05,.95) translateY(0)}57%{transform:scale(1) translateY(-3px)}64%,to{transform:scale(1) translateY(0)}}@position-try --tooltip-above{bottom:calc(anchor(top) + var(--tooltip-gap));top:auto}html[data-useragent*=Chrome] main:has([data-title]:active,[data-title]:focus,[data-title]:hover){contain-intrinsic-height:none;content-visibility:visible}[data-title]:hover:before,[data-title]:active:before,[data-title]:focus:before{animation-duration:.42s;animation-name:tooltip-bounce;bottom:auto;inline-size:max-content;justify-self:anchor-center;left:var(--tooltip-edge-gutter);max-inline-size:min(var(--tooltip-max-width),100vi - var(--tooltip-edge-gutter) * 2);position:fixed;position-anchor:auto;position-try-fallbacks:--tooltip-above;position-visibility:anchors-visible;right:var(--tooltip-edge-gutter);top:calc(anchor(bottom) + var(--tooltip-gap));transform:none;width:max-content}[data-title]:hover:after,[data-title]:active:after,[data-title]:focus:after{border-left-width:var(--tooltip-arrow-size);border-right-width:var(--tooltip-arrow-size);border-top-width:0;bottom:auto;height:0;left:clamp(var(--tooltip-arrow-size),anchor(50%),100vi - var(--tooltip-arrow-size));position:fixed;position-anchor:auto;top:calc(anchor(bottom) + var(--tooltip-gap) - var(--tooltip-arrow-size) + var(--tooltip-arrow-overlap));transform:translate(-50%);width:0;z-index:3}}.more-cards{user-select:none}.more-cards a{transition:background-color .2s,color .2s,opacity .3s,transform .2s ease-in-out}.more-cards a:hover .brand-logo img,.more-cards a:active .brand-logo img,.more-cards a:focus .brand-logo img{opacity:1;transform:scale(1.05)}.more-cards a:active .brand-logo img{transform:scale(1.1)}.more-cards li{min-width:min(100%,15rem)}.more-cards li:nth-of-type(2n) a:before{background-image:linear-gradient(230deg,var(--primary-colour, #00c8ff),var(--primary-colour-bright, #00cfff),var(--secondary-colour, #e056fd),var(--primary-colour, #00c8ff),var(--primary-colour-bright, #00cfff))}.more-cards .brand-logo img{filter:none;-webkit-mask-image:radial-gradient(ellipse at center,black 5%,transparent 280%);mask-image:radial-gradient(ellipse at center,black 5%,transparent 280%);padding:1rem 2rem;transition:opacity .15s ease-in-out,transform .2s ease-in-out}.more-cards .brand-logo img:before{display:flex;font-size:400%;justify-content:center}.more-cards .brand-logo img[src*=home]:before{content:"🏠"}.more-cards .brand-logo img[src*=skills]:before{content:"⭐️"}.more-cards .brand-logo img[src*=edu]:before{content:"🎓"}.more-cards .brand-logo img[src*=awards]:before{content:"🏆"}.more-cards .brand-logo img[src*=message]:before{content:"💬"}.more-cards .brand-name{font-weight:600;user-select:text}.gradient-outline-list{gap:2rem;justify-content:space-between;margin:3rem 0 11rem;pointer-events:none;user-select:none}.gradient-outline-list:hover a,.gradient-outline-list:focus-within a{opacity:.85}.gradient-outline-list:hover a:active,.gradient-outline-list:hover a:focus,.gradient-outline-list:hover a:hover,.gradient-outline-list:focus-within a:active,.gradient-outline-list:focus-within a:focus,.gradient-outline-list:focus-within a:hover{opacity:1}.gradient-outline-list a{background-color:#00c8ff4d;border:4px solid transparent;border-radius:8px;display:block;font-size:90%;padding:3.9rem 1rem 2.5rem;pointer-events:auto;position:relative;text-decoration:none;transform:translateY(8px);transition:background-color .2s,color .2s,opacity .3s,transform .2s ease-in-out;user-select:text;word-break:initial}.gradient-outline-list a:hover,.gradient-outline-list a:active,.gradient-outline-list a:focus{background-color:var(--primary-colour-bright, #00cfff)}.gradient-outline-list a:hover:before,.gradient-outline-list a:active:before,.gradient-outline-list a:focus:before{opacity:1}.gradient-outline-list a:hover:after,.gradient-outline-list a:active:after,.gradient-outline-list a:focus:after{background-color:#1e2432;background-image:radial-gradient(ellipse at 20% 80%,rgba(224,86,253,.06) 0%,rgba(224,86,253,.02) 25%,transparent 60%),radial-gradient(ellipse at 75% 30%,rgba(224,86,253,.06) 0%,rgba(224,86,253,.02) 25%,transparent 60%)}.gradient-outline-list a .brand-name{color:var(--primary-colour-bright, #00cfff);display:flex;flex-direction:column;justify-content:space-around;min-height:5.4rem}.gradient-outline-list a:before{background-image:linear-gradient(130deg,var(--primary-colour, #00c8ff),var(--primary-colour-bright, #00cfff),var(--secondary-colour, #e056fd),var(--primary-colour, #00c8ff),var(--primary-colour-bright, #00cfff));border-radius:8px;box-shadow:10px -5px 35px #e056fd14,-10px 5px 35px #00c8ff14,-10px 5px 35px #e056fd14,10px -5px 35px #00c8ff14;content:"";height:calc(100% + 8px);left:-4px;opacity:0;position:absolute;top:-4px;transition:opacity .6s,transform .7s;width:calc(100% + 8px);z-index:1}.gradient-outline-list a:after{background-color:#1c2334;background-image:radial-gradient(ellipse at 30% 70%,#1c2334,#191e2d);border-radius:8px;content:"";height:100%;left:0;position:absolute;top:0;transition:background-image .2s ease-in-out;width:100%;z-index:2}.gradient-outline-list a>*{position:relative;z-index:3}@property --offset{inherits: false; initial-value: 0px; syntax: "<length>";}.role a,li a,p a{--offset: .15em;color:inherit;text-decoration:underline .13em;text-decoration-color:var(--primary-colour, #00c8ff);text-underline-offset:var(--offset);transition:text-underline-offset .35s,text-decoration-color .35s}.role a:hover,.role a:active,.role a:focus,li a:hover,li a:active,li a:focus,p a:hover,p a:active,p a:focus{--offset: .2em;text-decoration-color:var(--secondary-colour, #e056fd)}.role a:active,li a:active,p a:active{--offset: .05em}@supports not (background: paint(something)){.role a,li a,p a{transition:text-underline-offset .35s,text-decoration-color .35s}.role a:hover,.role a:focus,li a:hover,li a:focus,p a:hover,p a:focus{text-underline-offset:.1em}.role a:active,li a:active,p a:active{text-underline-offset:.13em}}.role a{--offset: .105em !important}.role a:hover,.role a:active,.role a:focus{text-underline-offset:.25em}.home-link,nav{display:block;opacity:.0001;position:fixed;top:17.5px;transition:opacity .3s ease-out .666s,translate .4s cubic-bezier(.68,-.55,.27,1.55) .666s;translate:0 -1.1rem;z-index:20}.home-link{left:17.5px;line-height:0;min-height:calc(30px + 1.6rem);outline:none;padding:.8rem .72rem}.home-link:hover,.home-link:active,.home-link:focus{border-color:#00c8ff33;transform:scale(1.07)}.home-link:hover img,.home-link:active img,.home-link:focus img{filter:none}.home-link:active,.home-link:focus{border-color:#e056fd33}.home-link:active img,.home-link:focus img{filter:hue-rotate(63deg) saturate(4);transition:none}.home-link img{filter:grayscale(1) brightness(1.3);height:35px;margin-bottom:-4px;margin-top:-4px;transition:filter .2s ease-out;width:35px}.home-link img:before{background-color:#1a1f2c;content:"❖";height:100%;line-height:1;position:absolute;text-align:center;width:100%}.home-link,nav .menu-toggle{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background-color:#212b4375;background-image:radial-gradient(circle at 50% 45%,#25314f38,#212b4314 58%,#1920322e);border:1px solid rgba(255,255,255,.1);border-radius:8px;box-shadow:0 12px 28px #0003,0 2px 4px #0003;cursor:pointer;display:block;transition:transform .2s ease-out,translate .4s cubic-bezier(.68,-.55,.27,1.55) .666s,background-color .2s ease-in,border-color .2s ease-out,opacity .3s ease-out .666s;-webkit-user-select:none;user-select:none;z-index:21}nav{right:17.5px;z-index:20}nav a{text-decoration:none;transition:color .3s ease}nav a:hover{color:#4f7794}nav .menu-toggle{align-items:center;appearance:none;background-color:#212b4375;box-sizing:border-box;display:flex;font:inherit;font-size:0;height:auto;justify-content:center;line-height:0;margin:0;min-height:calc(30px + 1.6rem);min-width:0;padding:.8rem .72rem;position:relative;text-align:center;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;vertical-align:middle;width:auto}nav .menu-toggle[aria-expanded=true] .burger{transform:translate(-19px) rotate(-45deg) translateY(31.5px)}nav .menu-toggle[aria-expanded=true] .burger:before{transform:scale(0)}nav .menu-toggle[aria-expanded=true] .burger:after{transform:rotate(90deg) translateY(-19px) translate(-39.5px)}nav .menu-toggle[aria-expanded=true]+.menu-list{transform:translate(-12rem)!important}nav .menu-toggle:hover,nav .menu-toggle:active,nav .menu-toggle:focus{border-color:#00c8ff33;transform:scale(1.07)}nav .menu-toggle:hover .burger,nav .menu-toggle:hover .burger:before,nav .menu-toggle:hover .burger:after,nav .menu-toggle:active .burger,nav .menu-toggle:active .burger:before,nav .menu-toggle:active .burger:after,nav .menu-toggle:focus .burger,nav .menu-toggle:focus .burger:before,nav .menu-toggle:focus .burger:after{background-color:var(--primary-colour, #00c8ff)}nav .menu-toggle:active,nav .menu-toggle:focus{border-color:#e056fd33}nav .menu-toggle:active .burger,nav .menu-toggle:active .burger:before,nav .menu-toggle:active .burger:after,nav .menu-toggle:focus .burger,nav .menu-toggle:focus .burger:before,nav .menu-toggle:focus .burger:after{background-color:var(--secondary-colour, #e056fd)}nav .burger{top:-7.5px;transform-origin:3px 0px;width:35px;z-index:1}nav .burger,nav .burger:before,nav .burger:after{background-color:#fffffff2;border-radius:4px;display:block;height:3px;margin-bottom:9px;opacity:.9;position:relative;transition:background-color .3s ease-in,transform .4s cubic-bezier(.68,-.55,.27,1.55);-webkit-user-select:none;user-select:none}nav .burger:before,nav .burger:after{content:""}nav .burger:before{top:12px;transform-origin:0% 100%}nav .burger:after{margin-bottom:0;top:12px;transform-origin:0% 0%}.menu-list{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background-color:#1c2334e0;box-shadow:0 12px 90px #0003,0 2px 4px #0003,0 0 1px 1px #ffffff0a,0 0 2px 2px #ffffff03;height:100%;left:calc(100vw - 8rem);list-style-type:none;margin:0 -10px 0 0;max-height:100vh;max-height:100dvh;max-width:100vw;min-width:26rem;padding:calc(5rem + 35px) 0 3rem;position:fixed;top:0;transform:translate(26rem)!important;transition:none;z-index:20}@media(max-height:550px){.menu-list{padding-top:calc(2.8rem + 35px)}}.menu-list:focus-within{transform:translate(-12rem)!important}body.unload-menu .menu-list{transform:translate(26rem)!important}.menu-list li{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;overflow:hidden;padding:1px 0}.menu-list a{align-items:center;color:#fffffff2;display:flex;font-weight:400;padding:1.4rem 3.8rem 1.4rem 2.6rem;transition:background-color .2s ease-in}.menu-list a span{padding-left:1.5rem;transition:color .1s ease-in;white-space:nowrap}.menu-list a.active{background-color:#1a1f2ccc;color:var(--primary-colour, #00c8ff);font-weight:800}.menu-list a.active .nav-icon{filter:none;transform:scale(1.4)}.menu-list a:hover,.menu-list a:active,.menu-list a:focus{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background-color:var(--primary-colour-bright, #00cfff);color:#1a1f2c}.menu-list a:hover .nav-icon,.menu-list a:active .nav-icon,.menu-list a:focus .nav-icon{filter:brightness(.2);transform:scale(1.3)}.menu-list a:active,.menu-list a:focus{background-color:var(--secondary-colour, #e056fd)}.menu-list a:active .nav-icon{transform:scale(1.2)}body.loaded .menu-list{transition:transform .55s cubic-bezier(.68,-.55,.27,1.55)}.nav-icon{filter:grayscale(1) brightness(1.3);height:100%;max-height:1.7rem;overflow:hidden;transition:filter .1s ease-in,transform .2s cubic-bezier(.68,-.55,.27,1.55)}.nav-icon:before{font-size:80%;position:relative;top:-.8rem}.nav-icon[src*=home]:before{content:"🏠"}.nav-icon[src*=skills]:before{content:"⭐️"}.nav-icon[src*=edu]:before{content:"🎓"}.nav-icon[src*=awards]:before{content:"🏆"}.nav-icon[src*=message]:before{content:"💬"}body.loaded,body.loaded header .logo,body.loaded .home-link,body.loaded nav{opacity:1!important}body.loaded .home-link,body.loaded #main-nav{translate:none}.to-fade{--fade-view-translate-y: 0}.to-fade.portrait{--fade-view-translate-y: 10rem}@media screen and (prefers-reduced-motion:no-preference){.count-list .to-fade{opacity:0}body.loaded header .to-fade{animation:fade-in-view .6s ease-in both}body.loaded header h1.to-fade{animation-delay:.05s;animation-duration:.24s}body.loaded header .role.to-fade{animation-delay:.32s}@supports (animation-timeline: view()){body.loaded main .to-fade{animation:fade-in-view ease-out both;animation-range:entry 0% entry 100%;animation-timeline:view(block)}body.loaded main .count-list .to-fade{animation:none;opacity:var(--counts-visible);transition:opacity .42s ease-out;transition-delay:calc((sibling-index() - 1)*.16s)}body.loaded main .count-list{--counts-visible: 0;animation:counts-reveal-trigger linear both;animation-range:entry 60% entry 61%;animation-timeline:view(block)}body.loaded main #counts:target .count-list{--counts-visible: 1;animation:none}body.loaded main .portrait.to-fade{animation-name:fade-in-view-from-below;animation-range:entry 0% cover 42%}@supports not (transition-delay: calc((sibling-index() - 1)*.16s)){body.loaded main .count-list .to-fade:nth-of-type(2){transition-delay:.16s}}@supports not (transition-delay: calc((sibling-index() - 1)*.16s)){body.loaded main .count-list .to-fade:nth-of-type(3){transition-delay:.32s}}}}.unload-overlay{background-attachment:fixed;background-color:#1a1f2c;background-image:var(--site-background-image);background-repeat:no-repeat;background-size:100% 100%;inset:0;opacity:0;pointer-events:none;position:fixed;transition:opacity .4s ease-out;will-change:opacity;z-index:18}body.loaded:has(a[href^="/"]:active) .unload-overlay{opacity:.2;transition-duration:.14s}body.loaded:has(a[href^="/"]:active) a[href^="/"]:active:not(.home-link){position:relative;z-index:19}.unload-overlay.unload-visible{opacity:1}body.loaded.unload-active main:has(.unload-target){contain-intrinsic-height:none;content-visibility:visible}body.loaded.unload-active #main-nav,body.loaded.unload-active .home-link,body.loaded.unload-active nav .menu-toggle{transition-delay:0s}body.loaded.unload-active:not(.unload-menu) #main-nav,body.loaded.unload-active:not(.unload-menu) .home-link:not(.unload-target){opacity:0!important}body.loaded.unload-active.unload-menu .home-link{opacity:0!important}body.loaded.unload-active.unload-menu #menu-toggle{opacity:0!important;transition:opacity .55s ease-out}.unload-target{opacity:1!important;transition:transform .16s ease-out;z-index:19}.unload-target.card{contain:none}.unload-target:not(.card,.home-link){position:relative}body.loaded .unload-target.unload-target-hidden{opacity:0!important;transition:opacity .16s ease-out,transform .16s ease-out}@keyframes fade-in-view{0%{opacity:.0001}to{opacity:1}}@keyframes fade-in-view-from-below{0%{opacity:.0001;transform:translateY(var(--fade-view-translate-y))}to{opacity:1;transform:translateY(0)}}@keyframes counts-reveal-trigger{0%{--counts-visible: 0}to{--counts-visible: 1}}@keyframes loading-gradient{0%{background-position:0 0}to{background-position:-200% 0}}@keyframes bounce{0%{transform:scale(1) translate(-50%) translateY(0)}10%{transform:scale(1.07,.9) translate(-50%) translateY(0)}30%{transform:scale(.9,1.1) translate(-50%) translateY(-5px)}50%{transform:scale(1.05,.95) translate(-50%) translateY(0)}57%{transform:scale(1) translate(-50%) translateY(-3px)}64%{transform:scale(1) translate(-50%) translateY(0)}to{transform:scale(1) translate(-50%) translateY(0)}}@keyframes bg-pulse{0%,to{opacity:.08}50%{opacity:.16}}footer{font-size:clamp(1.3rem,65%,2rem);margin:2rem 0;text-align:center}footer .list-inline{padding-bottom:2rem}footer .gradient-outline-list li{min-width:0}footer .gradient-outline-list img{transition:filter .4s}footer .gradient-outline-list img:before{background-color:#232a3c;font-size:255%;padding:1px;position:relative;top:1.6rem}footer .gradient-outline-list img[src*=cv]:before{content:"📄"}footer .gradient-outline-list img[src*=x]:before{content:"𝕏"}footer .gradient-outline-list img[src*=github]:before{content:"🐱"}footer .gradient-outline-list img[src*=email]:before{content:"✉️"}footer .gradient-outline-list img[src*=mastodon]:before{content:"🐘"}footer .gradient-outline-list a{border-width:2px;line-height:0;opacity:.85}footer .gradient-outline-list a,footer .gradient-outline-list a:before,footer .gradient-outline-list a:after{border-radius:50%;padding:1rem}footer .gradient-outline-list a:before{background-image:linear-gradient(130deg,var(--primary-colour-bright, #00cfff),var(--secondary-colour, #e056fd));height:calc(100% + 4px);left:-2px;top:-2px;width:calc(100% + 4px)}footer .gradient-outline-list a:hover,footer .gradient-outline-list a:active,footer .gradient-outline-list a:focus{box-shadow:10px -2px 15px #e056fd26,-10px 2px 15px #00c8ff26;outline:none}footer .gradient-outline-list a:hover:before,footer .gradient-outline-list a:active:before,footer .gradient-outline-list a:focus:before{transform:rotate(270deg)}footer .gradient-outline-list a:hover img,footer .gradient-outline-list a:active img,footer .gradient-outline-list a:focus img{filter:saturate(1.1)}footer .gradient-outline-list a:hover,footer .gradient-outline-list a:focus{transform:scale(1.07) translateY(8px)}footer .gradient-outline-list a:active{transform:scale(1.03) translateY(8px)}.list-inline{list-style:none;margin:.5rem 0;padding-left:0}.list-inline li{display:inline-block;margin:1rem 0;padding:0 1rem}#by{color:#ffffffb3;font-weight:200;opacity:.95}#by strong{color:#fffffff2;font-weight:700}#by strong.cursor-design{cursor:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'  width='40' height='48' viewport='0 0 100 100' style='fill:%2300c8ff;font-size:24px;'><text y='50%'>🎨</text></svg>") 16 0,auto}#by strong.cursor-develop{cursor:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'  width='40' height='48' viewport='0 0 100 100' style='fill:%2300c8ff;font-size:24px;'><text y='50%'>👨🏻‍💻</text></svg>") 16 0,auto}#by .by-name strong{cursor:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'  width='40' height='48' viewport='0 0 100 100' style='fill:%2300c8ff;font-size:24px;'><text y='50%'>👋</text></svg>") 16 0,auto}#by .smile{-webkit-background-clip:text;background-clip:text;background-image:radial-gradient(ellipse at center,#eff1ffbf 10%,#757575bf);background-position:center center;cursor:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'  width='40' height='48' viewport='0 0 100 100' style='fill:%2300c8ff;font-size:24px;'><text y='50%'>🙃</text></svg>") 16 0,auto;display:block;font-size:3rem;line-height:1;margin:auto;-webkit-text-fill-color:transparent;text-rendering:optimizeLegibility;user-select:none;width:min-content}@media(max-width:1100px){.count-list{flex-direction:column}.more-cards li{min-width:min(100%,22.5rem)}}@media(max-width:830px){.cards-wrapper{justify-content:center}}@media(max-width:800px){.container{padding:4rem 2rem}.count-list li,.brand-list li{width:100%}.count-list.brand-list--larger li,.brand-list.brand-list--larger li{max-width:100%}.count-list.brand-list--larger img,.brand-list.brand-list--larger img{max-width:400px}.count-list .secondary-info,.brand-list .secondary-info{font-size:clamp(1.5rem,70%,2.5rem)}.by-name{display:block}footer .list-inline a{text-transform:capitalize}}@media(max-width:600px){footer .gradient-outline-list a,footer .gradient-outline-list a:before,footer .gradient-outline-list a:after{padding:.85rem}footer .gradient-outline-list li{padding:0 .3rem}footer .gradient-outline-list img{width:40px}}@media(max-width:550px){.container{padding:4rem 1rem}header .container{padding:3.75rem 2rem}#about p{line-height:1.25}}@media(max-height:850px){.logo img{--logo-height: 40vh;--logo-min-height: 10rem;--logo-padding-block: 2vh}}@media(max-width:600px){.logo img{--logo-glow-radius: clamp(24px, 7vw, 34px);--logo-padding-block: clamp(2rem, 5svh, 3rem)}}@media(min-height:690px){header h1{padding-top:2rem}}
