@layer reset,tokens,base,layout,components,prose,syntax,home,pages,icons,shortcodes;@layer reset{*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body,h1,h2,h3,h4,h5,h6,p,figure,blockquote,pre,dl,dd{margin:0}ul,ol{margin:0;padding:0;list-style:none}img,svg,video{display:block;max-width:100%}img,video{height:auto}button,input,select,textarea{font:inherit;color:inherit}[hidden]:not([hidden=until-found]){display:none!important}}@layer tokens{@font-face{font-family:Bricolage Grotesque;src:url(/fonts/bricolage-grotesque-latin.woff2) format("woff2");font-weight:400 800;font-display:swap}@font-face{font-family:Geist;src:url(/fonts/geist-latin.woff2) format("woff2");font-weight:400 700;font-display:swap}@font-face{font-family:Geist;src:url(/fonts/geist-italic-latin.woff2) format("woff2");font-weight:400 700;font-style:italic;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/geist-mono-latin.woff2) format("woff2");font-weight:400 600;font-display:swap}:root{color-scheme:light dark;--bg: light-dark(#f5f5f4, #141413);--surface: light-dark(#ebebea, #1d1d1c);--surface-2: light-dark(#e1e1df, #272726);--line: light-dark(#d6d6d3, #333331);--text: light-dark(#1a1a19, #ededeb);--text-2: light-dark(#3b3b39, #cacac6);--muted: light-dark(#61615f, #9c9c98);--accent: light-dark(#b9431a, #ee8257);--accent-soft: light-dark(rgb(185 67 26 / .08), rgb(238 130 87 / .11));--code-str: light-dark(#3b6a48, #9fc7a8);--plate-light: #e9e9e7;--r: 14px;--r-sm: 8px;--fs-2xs: 12px;--fs-xs: 13.5px;--fs-sm: 15px;--fs-md: 16px;--fs-base: 17px;--fs-lg: 18px;--fs-xl: 20px;--fs-2xl: 22px;--fs-3xl: 25px;--fs-4xl: 30px;--fs-5xl: 36px;--fs-6xl: 46px;--space-3xs: 4px;--space-2xs: 6px;--space-xs: 8px;--space-sm: 12px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 40px;--space-3xl: 48px;--space-4xl: 64px;--space-5xl: 96px;--max: 1240px;--pad: clamp(20px, 4.5vw, 56px);--header-h: 66px;--display: "Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;--body: "Geist", ui-sans-serif, system-ui, sans-serif;--mono: "Geist Mono", ui-monospace, "SFMono-Regular", monospace}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}}@layer base{html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 10px)}body{display:flex;flex-direction:column;min-height:100dvh;overflow-x:clip;background:var(--bg);color:var(--text);font:400 var(--fs-base)/1.6 var(--body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}main{flex-grow:1}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}h1,h2,h3{font-family:var(--display);font-weight:650;letter-spacing:-.025em;text-wrap:balance}p{text-wrap:pretty}code{font-family:var(--mono);font-size:.88em}.mono{font-family:var(--mono);font-size:var(--fs-xs);letter-spacing:0;color:var(--muted);font-variant-numeric:tabular-nums}.ico{display:inline-block;width:1em;height:1em;fill:currentColor;vertical-align:-.125em}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@media(scripting:none){.needs-js{display:none!important}}@media(width<=767px){body{font-size:var(--fs-md)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}}@layer layout{.wrap{max-width:var(--max);margin-inline:auto;padding-inline:var(--pad)}.skip-link{position:absolute;top:-48px;left:12px;z-index:30;padding:var(--space-xs) var(--space-md);border-radius:var(--r-sm);background:var(--text);color:var(--bg);&:focus{top:12px}}.site-header{position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);.nav{display:flex;align-items:center;gap:var(--space-xl);height:var(--header-h)}.brand{font-family:var(--display);font-size:var(--fs-xl);font-weight:700;letter-spacing:-.02em;white-space:nowrap}.nav-links a{font-size:var(--fs-sm);font-weight:500;color:var(--muted);white-space:nowrap;transition:color .15s,border-color .15s;&:hover,&[aria-current]{color:var(--text)}}.nav-tools{display:flex;gap:var(--space-2xs)}:popover-open{inset:auto;top:calc((var(--header-h) + 38px) / 2 + 8px);right:max(var(--pad),(100% - var(--max)) / 2 + var(--pad));min-width:176px;margin:0;padding:var(--space-2xs);border:1px solid var(--line);border-radius:var(--r);background:var(--bg);color:var(--text);box-shadow:0 12px 32px -12px color-mix(in srgb,var(--text) 28%,transparent);:is(a,button){display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-xs) var(--space-sm);border:0;border-radius:var(--r-sm);background:transparent;color:var(--text-2);font-size:var(--fs-sm);font-weight:400;text-align:left;cursor:pointer;&:hover{background:var(--surface);color:var(--text)}&:is([aria-current],[aria-pressed=true]){color:var(--text);font-weight:600;&:after{content:"";width:7px;height:7px;margin-left:auto;border-radius:50%;background:var(--accent)}}}}.nav-links:popover-open{min-width:220px}@media(width>920px){.menu-btn{display:none}.nav-links:not(:popover-open){position:static;display:flex;gap:var(--space-lg);margin:0 0 0 auto;padding:0;overflow:visible;border:0;background:none;color:inherit;& a{padding:var(--space-2xs) 0;border-bottom:2px solid transparent;&[aria-current]{border-bottom-color:var(--accent)}}}}@media(920px<width<=1180px){.nav-links:not(:popover-open){gap:var(--space-lg)}}@media(width<=920px){.nav-tools{margin-left:auto}}}.icon-btn{display:inline-grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:var(--r-sm);background:transparent;color:var(--text);font-size:var(--fs-lg);cursor:pointer;transition:background .15s,border-color .15s,transform .1s;&:hover{border-color:var(--surface-2);background:var(--surface)}&:active{transform:translateY(1px)}}.site-footer{padding-block:var(--space-xl) var(--space-2xl);border-top:1px solid var(--line);color:var(--muted);font-size:var(--fs-sm);.wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-sm) var(--space-lg)}.links{display:flex;gap:var(--space-2xs) var(--space-lg)}& a{--link-color: var(--text-2)}}}@layer components{.btn{display:inline-flex;align-items:center;gap:var(--space-2xs);height:36px;padding:0 var(--space-md);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg);font-size:var(--fs-sm);font-weight:500;cursor:pointer;transition:background .15s,transform .1s;&:hover{background:var(--surface)}&:active{transform:translateY(1px)}}.chips{display:flex;flex-wrap:wrap;gap:var(--space-2xs)}.chip{display:inline-flex;align-items:center;gap:var(--space-2xs);padding:3px var(--space-xs);border-radius:var(--r-sm);background:var(--surface);color:var(--text-2);font-family:var(--mono);font-size:var(--fs-2xs);line-height:1.5;white-space:nowrap;transition:color .15s,background .15s}a.chip:hover{background:var(--surface-2);color:var(--accent)}:is(.prose,.bio,.sec-head .sub,.sec-body,.callout,.channels) a{color:var(--text);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent) 45%,transparent);text-decoration-thickness:1.5px;text-underline-offset:3px;transition:color .15s,text-decoration-color .15s;&:hover{color:var(--accent);text-decoration-color:var(--accent)}}:is(.site-footer a,.edit,.more,.role a,.pub-facts a,.not-found-links a,.list-head .sub a){border-bottom:1px solid var(--line);color:var(--link-color, inherit);transition:color .15s,border-color .15s;&:hover{border-color:var(--accent);color:var(--accent)}}:is(.share :is(a,button),.social a){display:grid;place-items:center;border:0;border-radius:var(--r-sm);background:var(--surface);color:var(--text-2);cursor:pointer;transition:background .15s,color .15s,transform .1s;&:hover{background:var(--surface-2);color:var(--accent)}&:active{transform:translateY(1px)}}.stretch:after{content:"";position:absolute;inset:0}.filter-toolbar{display:grid;gap:var(--space-md);margin-bottom:var(--space-xl);.tools-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-sm) var(--space-lg)}.tools{display:flex;gap:var(--space-xs)}}.filters{display:flex;flex-wrap:wrap;gap:var(--space-2xs)}.filter{display:inline-flex;align-items:center;gap:var(--space-xs);height:36px;padding:0 var(--space-sm);border:1px solid var(--line);border-radius:var(--r-sm);background:transparent;font-size:var(--fs-sm);font-weight:500;color:var(--text-2);cursor:pointer;transition:background .15s,border-color .15s,color .15s,transform .1s;.n{font-family:var(--mono);font-size:var(--fs-2xs);color:var(--muted)}&:hover{background:var(--surface)}&:active{transform:translateY(1px)}&[aria-pressed=true]{border-color:var(--text);background:var(--text);color:var(--bg);.n{color:color-mix(in srgb,var(--bg) 70%,transparent)}}}.field{position:relative;display:flex;align-items:center;.ico{position:absolute;left:12px;font-size:var(--fs-md);color:var(--muted);pointer-events:none}& select+.ico{left:auto;right:12px;font-size:var(--fs-xs)}:is(input,select){height:36px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg);color:var(--text);font-size:var(--fs-sm);transition:border-color .15s;&:hover{border-color:var(--muted)}&:focus-visible{outline:2px solid var(--accent);outline-offset:1px}}& input{width:230px;padding:0 var(--space-sm) 0 var(--space-2xl);&::placeholder{color:var(--muted);opacity:1}}& select{padding:0 var(--space-xl) 0 var(--space-2xl);appearance:none;cursor:pointer}}.filter-empty{padding:var(--space-3xl) var(--space-lg);border:1.5px dashed var(--line);border-radius:var(--r);color:var(--muted);text-align:center;& strong{display:block;margin-bottom:var(--space-3xs);color:var(--text);font-weight:600}.btn{margin-top:var(--space-md)}}.proj-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2xl) var(--space-lg)}.proj{position:relative;display:flex;flex-direction:column;min-width:0;& h3{min-width:0;font-size:var(--fs-lg);font-weight:650;line-height:1.25;letter-spacing:-.018em;overflow-wrap:anywhere;transition:color .15s}& p{display:-webkit-box;margin-top:var(--space-2xs);overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;font-size:var(--fs-sm);line-height:1.52;color:var(--muted);& code{font-size:.9em;color:var(--text-2)}& a{position:relative;z-index:1;color:var(--text-2)}& a:hover{color:var(--accent)}}&:hover h3{color:var(--accent)}&:hover .plate{background:var(--surface-2)}&:hover .plate img{transform:scale(1.035)}}.plate{position:relative;display:grid;place-items:center;aspect-ratio:16 / 10;overflow:hidden;border-radius:var(--r);background:var(--surface);transition:background .2s;& img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:transform .3s cubic-bezier(.2,.7,.2,1)}&.logo img{inset:13% 18%;width:64%;height:74%}&:has(img){background:light-dark(var(--surface),var(--plate-light))}&.empty{align-content:center;justify-items:center;gap:var(--space-sm)}.emo{font-size:var(--fs-5xl);line-height:1}.repo{max-width:88%;overflow:hidden;font-family:var(--mono);font-size:var(--fs-2xs);color:var(--muted);text-overflow:ellipsis;white-space:nowrap}}.proj-body{padding:var(--space-md) 2px 0}.proj-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-sm)}.stars{display:inline-flex;flex:none;align-items:center;gap:var(--space-3xs);white-space:nowrap;.ico{font-size:var(--fs-xs);color:var(--accent)}}.pubs>li{display:grid;grid-template-columns:72px minmax(0,1fr) minmax(0,340px);gap:var(--space-xs) var(--space-2xl);padding-block:var(--space-lg);border-top:1px solid var(--line);&:first-child{padding-top:0;border-top:0}&.cont{padding-top:var(--space-2xs);border-top-color:transparent}&.cont .pub-year{visibility:hidden}}.pub-year{padding-top:3px;font-family:var(--mono);font-size:var(--fs-xs);color:var(--accent)}.pub-title{font-family:var(--display);font-size:var(--fs-xl);font-weight:600;line-height:1.3;letter-spacing:-.012em;transition:color .15s;&:hover{color:var(--accent)}}.pub-authors{margin-top:var(--space-xs);font-size:var(--fs-sm);line-height:1.55;color:var(--muted);& strong{color:var(--text);font-weight:600}}.pub-venue{margin-top:var(--space-2xs);font-size:var(--fs-sm);color:var(--text-2)}.pub-links{display:flex;flex-wrap:wrap;align-content:flex-start;gap:var(--space-2xs);padding-top:2px;& a{display:inline-flex;align-items:center;gap:var(--space-2xs);max-width:100%;height:28px;padding:0 var(--space-xs);overflow:hidden;border:1px solid var(--line);border-radius:var(--r-sm);font-family:var(--mono);font-size:var(--fs-2xs);color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;transition:color .15s,border-color .15s,background .15s;&:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}}.ico{flex:none;font-size:var(--fs-xs)}}@media(width<=1180px){.proj-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pubs>li{grid-template-columns:64px minmax(0,1fr)}.pub-links{grid-column:2}}@media(width<=920px){.filter-toolbar .tools{width:100%}.filter-toolbar .field:first-child{flex:1}.field input{width:100%}}@media(width<=767px){.filters{flex-wrap:nowrap;margin-inline:calc(var(--pad) * -1);padding-inline:var(--pad);overflow-x:auto;scrollbar-width:none}.filter{flex:none}.proj-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-lg) var(--space-md)}.proj h3{font-size:var(--fs-md)}.proj p{font-size:var(--fs-xs)}.proj-row{flex-direction:column;gap:2px}.pubs>li{grid-template-columns:minmax(0,1fr);gap:var(--space-2xs);padding-block:var(--space-lg)}.pubs>li.cont{padding-top:var(--space-lg);border-top-color:var(--line)}.pubs>li.cont .pub-year{display:none}.pub-year{padding-top:0}.pub-title{font-size:var(--fs-lg)}.pub-links{grid-column:1;margin-top:var(--space-xs)}}@media(prefers-reduced-motion:reduce){.proj:hover .plate img{transform:none}}.search{width:min(640px,100% - 32px);max-height:min(640px,100dvh - 96px);margin:var(--space-4xl) auto auto;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--r);background:var(--bg);color:var(--text);box-shadow:0 24px 64px #00000040;&[open]{display:flex;flex-direction:column}&::backdrop{background:color-mix(in srgb,var(--text) 30%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}}.search-bar{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-sm) var(--space-sm) var(--space-md);border-bottom:1px solid var(--line);&:has(input:focus-visible){box-shadow:inset 0 -2px 0 var(--accent)}>.ico{flex:none;font-size:var(--fs-xl);color:var(--muted)}& input{flex:1;min-width:0;height:40px;border:0;background:transparent;color:var(--text);font-size:var(--fs-base);outline:none;&::placeholder{color:var(--muted);opacity:1}&::-webkit-search-cancel-button{appearance:none}}}.search-results{overflow-y:auto;overscroll-behavior:contain;&:empty{display:none}& a{display:grid;gap:3px;padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--line)}[aria-selected=true] a,a:hover{background:var(--surface)}& strong{font-weight:600;line-height:1.3}.mono{font-size:var(--fs-2xs);color:var(--accent)}.snippet{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:var(--fs-xs);line-height:1.5;color:var(--muted)}}.search-status{padding:var(--space-sm) var(--space-md);&:empty{display:none}}}@layer prose{.prose{color:var(--text-2);font-size:var(--fs-lg);line-height:1.72;overflow-wrap:break-word;>*+*{margin-top:1.2em}>*+:is(.highlight,.table-wrap,pre,.mermaid){margin-top:1.6em}& code{padding:.1em .38em;border-radius:6px;background:var(--surface);color:var(--text)}:is(h2,h3,h4){position:relative;color:var(--text);+*{margin-top:.8em}}& h2{margin-top:2.4em;font-size:var(--fs-4xl);line-height:1.15}& h3{margin-top:2em;font-size:var(--fs-2xl);line-height:1.25}& h4{margin-top:1.8em;font-family:var(--body);font-size:1em;font-weight:600;letter-spacing:0}.anchor{position:absolute;top:0;left:-1.05em;padding-right:.3em;color:var(--accent);font-family:var(--mono);font-weight:500;text-decoration:none;opacity:0;transition:opacity .15s}:is(h2,h3):hover .anchor,.anchor:focus-visible{opacity:1}& ul{padding-left:1.4em;list-style:disc}& ol{padding-left:1.4em;list-style:decimal}& li{&::marker{color:var(--muted)}+li,>*+*{margin-top:.4em}}& ol>li::marker{font-family:var(--mono);font-size:.85em}& blockquote{padding-left:1.1em;border-left:3px solid var(--line);color:var(--muted);>*+*{margin-top:.8em}}& hr{margin-block:2.4em;border:0;border-top:1px solid var(--line)}& img,video{border-radius:var(--r)}& video{width:100%;background:var(--surface)}& figure{margin-top:2.2em;& img{margin-inline:auto}}& figcaption{margin-top:var(--space-sm);color:var(--muted);font-size:var(--fs-sm);line-height:1.55}& pre{padding:var(--space-md) var(--space-lg) var(--space-lg);overflow-x:auto;border-radius:var(--r);background:var(--surface);color:var(--text);font-family:var(--mono);font-size:var(--fs-xs);line-height:1.65;tab-size:4;& code{padding:0;border-radius:0;background:none;color:inherit;font-size:inherit}}.mermaid{padding:var(--space-md) var(--space-lg) var(--space-lg);overflow-x:auto;border-radius:var(--r);background:var(--surface);&:not([data-processed]){color:var(--text);font-family:var(--mono);font-size:var(--fs-xs);line-height:1.65;white-space:pre}& svg{margin-inline:auto}}.table-wrap{overflow-x:auto}& table{width:100%;border-collapse:collapse;font-size:var(--fs-md);line-height:1.45;font-variant-numeric:tabular-nums}& th{padding:0 var(--space-md) var(--space-sm);border-bottom:1.5px solid var(--text);color:var(--text);font-weight:600;text-align:left;white-space:nowrap}& td{padding:var(--space-sm) var(--space-md);vertical-align:top}& tbody tr:nth-child(2n) td{background:var(--surface);&:first-child{border-radius:var(--r-sm) 0 0 var(--r-sm)}&:last-child{border-radius:0 var(--r-sm) var(--r-sm) 0}}& details{padding:var(--space-md) var(--space-md);border:1px solid var(--line);border-radius:var(--r);& summary{color:var(--text);font-weight:600;cursor:pointer}>*+*{margin-top:.8em}}.toc{border:0;background:var(--surface);font-size:var(--fs-sm);line-height:1.5;& ul{margin-top:var(--space-2xs);padding-left:1.1em;list-style:none}& nav>ul{padding-left:0}& a{color:var(--muted);text-decoration:none;&:hover{color:var(--accent)}}}& sup a{padding:0 2px;font-family:var(--mono);font-size:var(--fs-2xs);text-decoration:none;&:before{content:"["}&:after{content:"]"}}.footnotes{margin-top:3.2em;padding-top:var(--space-lg);border-top:1px solid var(--line);color:var(--muted);font-size:var(--fs-sm);line-height:1.6;& hr{display:none}& ol{display:grid;gap:var(--space-xs)}& li::marker{font-size:var(--fs-xs)}& a{color:var(--text-2)}}@media(width<=767px){font-size:var(--fs-base);& h2{font-size:var(--fs-3xl)}.anchor{display:none}& pre{font-size:var(--fs-2xs)}}}.callout{display:grid;grid-template-columns:22px minmax(0,1fr);gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-radius:var(--r);background:var(--accent-soft);color:var(--text);font-size:var(--fs-md);line-height:1.6;>.ico{margin-top:2px;color:var(--accent);font-size:var(--fs-xl)}>div>*+*{margin-top:.8em}& strong{font-weight:600}}.callout-warning{background:color-mix(in srgb,var(--accent) 16%,transparent)}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:var(--space-sm);& img{width:100%;aspect-ratio:7 / 5;border-radius:var(--r-sm);object-fit:cover}}}@layer syntax{.chroma{:is(.k,.kc,.kd,.kn,.kp,.kr,.kt,.nt,.nd,.ow){color:var(--accent);font-weight:500}:is(.s,.sa,.sb,.sc,.dl,.sd,.s2,.se,.sh,.si,.sx,.sr,.s1,.ss){color:var(--code-str)}:is(.m,.mb,.mf,.mh,.mi,.il,.mo,.nf,.fm,.nc,.ne){color:var(--text);font-weight:600}:is(.c,.ch,.cm,.c1,.cs){color:var(--muted);font-style:italic}:is(.cp,.cpf,.p,.o,.gp,.go){color:var(--muted)}.gd{color:var(--accent)}.gi{color:var(--code-str)}:is(.gh,.gu,.gs){font-weight:600}.ge{font-style:italic}}}@layer home{section.block{padding-block:var(--space-5xl) var(--space-5xl);border-top:1px solid var(--line)}.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-lg);margin-bottom:var(--space-2xl);& h2{font-size:clamp(32px,3.6vw,44px);line-height:1.05}.sub{margin-top:var(--space-sm);font-size:var(--fs-lg);color:var(--muted)}}.more{display:inline-flex;align-items:center;gap:var(--space-2xs);padding-bottom:2px;font-size:var(--fs-sm);font-weight:500;white-space:nowrap;.ico{transition:transform .15s}&:hover .ico{transform:translate(2px)}}.intro{display:grid;grid-template-columns:248px minmax(0,1fr);column-gap:var(--space-4xl);align-items:start;padding-block:var(--space-4xl) var(--space-5xl);& h1{margin-top:var(--space-3xs);font-size:clamp(44px,6vw,72px);font-weight:700;line-height:1;letter-spacing:-.035em}.social{margin-top:var(--space-xl)}}.avatar{width:248px;height:auto;aspect-ratio:4 / 5;border-radius:var(--r);background:var(--surface);object-fit:cover}.role{margin-top:var(--space-md);font-size:var(--fs-xl);font-weight:500;color:var(--muted);& a{--link-color: var(--text)}}.bio{display:grid;gap:var(--space-md);max-width:64ch;margin-top:var(--space-lg);font-size:var(--fs-lg);line-height:1.62;color:var(--text-2);.fa-fw{margin-left:2px;color:var(--muted)}}.facts{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--space-2xl);margin-top:var(--space-3xl);padding-top:var(--space-xl);border-top:1px solid var(--line);& h3{margin-bottom:var(--space-md);font-family:var(--body);font-size:var(--fs-sm);font-weight:600;letter-spacing:0}}.interests{& ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm) var(--space-md)}& li{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--fs-sm);line-height:1.35;color:var(--text-2)}.plate-ico{display:grid;flex:none;place-items:center;width:32px;height:32px;border-radius:var(--r-sm);background:var(--surface);font-size:var(--fs-base);color:var(--accent)}}.edu{display:grid;gap:var(--space-md);& li{display:grid;grid-template-columns:52px minmax(0,1fr);gap:var(--space-sm);align-items:baseline}.yr{font-size:var(--fs-xs);color:var(--accent)}& strong{display:block;font-size:var(--fs-md);font-weight:600;line-height:1.35}.inst{font-size:var(--fs-sm);color:var(--muted)}}.sec-body>p{max-width:72ch;font-size:var(--fs-lg);line-height:1.65;color:var(--text-2)}#publications .callout{margin-bottom:var(--space-2xl)}.contact{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--space-4xl);align-items:start;& h2{margin-bottom:var(--space-xl);font-size:clamp(32px,3.6vw,44px)}}.email{display:inline-flex;padding-bottom:var(--space-2xs);border-bottom:3px solid var(--accent);font-family:var(--display);font-size:clamp(36px,5.2vw,64px);font-weight:650;line-height:1;letter-spacing:-.035em;transition:color .15s;&:hover{color:var(--accent)}}.channels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md) var(--space-xl);margin-top:var(--space-3xl);& li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:var(--space-sm);align-items:start;font-size:var(--fs-md);line-height:1.5}& li>.ico{margin-top:1px;font-size:var(--fs-xl);color:var(--muted)}.k{display:block;font-size:var(--fs-xs);color:var(--muted)}.v{overflow-wrap:anywhere}.wide{grid-column:1 / -1}.fp{font-family:var(--mono);font-size:var(--fs-xs)}}.map-card{position:relative;display:block;aspect-ratio:5 / 4;overflow:hidden;border-radius:var(--r);background:var(--surface);isolation:isolate;& img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(.92) brightness(1.04);transition:transform .4s cubic-bezier(.2,.7,.2,1)}&:hover img{transform:scale(1.03)}&:hover .map-label .mono{color:var(--accent)}}:root[data-theme=dark] .map-card img{filter:grayscale(1) invert(.9) contrast(.9) brightness(.95)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .map-card img{filter:grayscale(1) invert(.9) contrast(.9) brightness(.95)}}.pin{position:absolute;top:50%;left:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 6px color-mix(in srgb,var(--accent) 22%,transparent),0 0 0 14px color-mix(in srgb,var(--accent) 10%,transparent)}.map-label{position:absolute;right:14px;bottom:14px;left:14px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:10px;background:color-mix(in srgb,var(--bg) 94%,transparent);font-size:var(--fs-sm);font-weight:500;.mono{display:inline-flex;align-items:center;gap:var(--space-3xs);font-size:var(--fs-2xs)}}.osm{position:absolute;top:10px;right:10px;padding:2px var(--space-xs);border-radius:6px;background:color-mix(in srgb,var(--bg) 88%,transparent);font-size:var(--fs-2xs);color:var(--muted)}@media(width<=1180px){.intro{grid-template-columns:200px minmax(0,1fr);column-gap:var(--space-2xl)}.avatar{width:200px}.facts{grid-template-columns:minmax(0,1fr);gap:var(--space-xl)}}@media(width<=920px){.contact{grid-template-columns:minmax(0,1fr);gap:var(--space-2xl)}.map-card{aspect-ratio:16 / 9}}@media(width<=767px){section.block{padding-block:var(--space-4xl) var(--space-4xl)}.sec-head{flex-direction:column;align-items:flex-start;gap:var(--space-md);margin-bottom:var(--space-xl);.sub{font-size:var(--fs-md)}}.intro{grid-template-columns:minmax(0,1fr);padding-block:var(--space-2xl) var(--space-4xl);& h1{font-size:var(--fs-6xl)}.social{margin-top:var(--space-lg)}}.avatar{width:132px;margin-bottom:var(--space-lg)}.role{margin-top:var(--space-sm);font-size:var(--fs-lg)}.bio{margin-top:var(--space-md);font-size:var(--fs-base)}.facts{margin-top:var(--space-2xl);padding-top:var(--space-xl)}.sec-body>p{font-size:var(--fs-md)}.channels{grid-template-columns:minmax(0,1fr)}.email{font-size:var(--fs-5xl)}.map-card{aspect-ratio:4 / 3}}@media(prefers-reduced-motion:reduce){.map-card:hover img{transform:none}}}@layer pages{.post{display:grid;grid-template-columns:minmax(0,720px) minmax(40px,1fr) 240px;padding-block:var(--space-3xl) 0;>.post-head,>.featured-wide{grid-column:1 / -1}>.prose,>.post-end,>.featured{grid-column:1}>.rail{grid-column:3;grid-row:2 / span 3}}.post-head{padding-bottom:var(--space-2xl);border-bottom:1px solid var(--line);& h1{margin-top:var(--space-lg);max-width:24ch;font-size:clamp(36px,5.4vw,68px);line-height:1.02;letter-spacing:-.037em;font-weight:700}.subtitle{margin-top:var(--space-lg);max-width:58ch;font-size:var(--fs-xl);line-height:1.5;color:var(--text-2)}}.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3xs) var(--space-xs);font-size:var(--fs-sm);color:var(--muted);& li+li:before{content:"/";margin-right:var(--space-xs);color:var(--line)}& a{font-weight:500;transition:color .15s;&:hover{color:var(--accent)}}[aria-current]{display:inline-block;max-width:46ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;color:var(--text-2)}}.byline{margin-top:var(--space-xl);display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm) var(--space-xl);font-size:var(--fs-sm);color:var(--muted);.who{display:inline-flex;align-items:center;gap:var(--space-sm);color:var(--text);font-weight:600;& img{width:34px;height:34px;border-radius:10px;object-fit:cover}}.item{display:inline-flex;align-items:center;gap:var(--space-xs);>.ico{font-size:var(--fs-base)}}.mono{font-size:var(--fs-xs);color:var(--text-2)}}.featured{margin:var(--space-2xl) 0 0;& img{width:100%;height:auto;border-radius:var(--r)}& figcaption{margin-top:var(--space-sm);color:var(--muted);font-size:var(--fs-sm);line-height:1.55}}.rail>nav{position:sticky;top:98px;padding-top:var(--space-3xl);& h2{margin-bottom:var(--space-md);font-family:var(--body);font-size:var(--fs-xs);font-weight:600;letter-spacing:0;color:var(--text)}& ul{display:grid;gap:2px;border-left:1px solid var(--line)}& ul ul{border-left:0;padding-left:var(--space-sm)}& a{display:block;padding:var(--space-2xs) 0 var(--space-2xs) var(--space-md);margin-left:-1px;border-left:2px solid transparent;font-size:var(--fs-xs);line-height:1.4;color:var(--muted);transition:color .15s,border-color .15s;&:hover{color:var(--text)}&[aria-current=true]{color:var(--text);border-left-color:var(--accent)}}}@media(width>1180px){.post:has(.rail) .prose .toc{display:none}}.post>.prose{padding-top:var(--space-3xl)}.post-end{padding-top:var(--space-3xl);display:grid;gap:var(--space-lg);.row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-md) var(--space-lg)}.label{margin-right:var(--space-3xs);font-size:var(--fs-xs);font-weight:600;color:var(--text)}.tags{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2xs)}}.share{display:flex;align-items:center;gap:var(--space-2xs);:is(a,button){width:36px;height:36px;font-size:var(--fs-base);&[data-copied]{color:var(--accent)}}}.edit{display:inline-flex;align-items:center;gap:var(--space-xs);padding-bottom:1px;font-size:var(--fs-sm);font-weight:500;--link-color: var(--text-2)}.social{display:flex;flex-wrap:wrap;gap:var(--space-xs);& a{width:42px;height:42px;font-size:var(--fs-xl)}}.author-card{display:grid;grid-template-columns:88px minmax(0,1fr);gap:var(--space-lg);align-items:start;padding:var(--space-lg);border-radius:var(--r);background:var(--surface);& h3{font-size:var(--fs-2xl);line-height:1.15}.r{margin-top:2px;font-size:var(--fs-sm);color:var(--muted)}& p{margin-top:var(--space-sm);font-size:var(--fs-md);line-height:1.58;color:var(--text-2)}.social{margin-top:var(--space-md);gap:var(--space-2xs);& a{width:34px;height:34px;font-size:var(--fs-base);background:var(--bg)}}}.after{margin-top:var(--space-5xl);border-top:1px solid var(--line);& section{padding-block:var(--space-4xl)}& section+section{border-top:1px solid var(--line)}& h2{margin-bottom:var(--space-xl);font-size:var(--fs-4xl);line-height:1.1}}.related{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-xl) var(--space-xl);& li{position:relative;display:flex;flex-direction:column;gap:var(--space-sm);padding-top:var(--space-md);border-top:1px solid var(--line);&:hover .t{color:var(--accent)}}.t{font-family:var(--display);font-size:var(--fs-xl);font-weight:600;line-height:1.24;letter-spacing:-.015em;color:var(--text);transition:color .15s}& p{font-size:var(--fs-sm);line-height:1.55;color:var(--muted);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.mono{font-size:var(--fs-2xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}.prose .highlight:has(.code-bar){border-radius:var(--r);background:var(--surface);overflow:hidden;& pre{border-radius:0;padding-top:var(--space-md)}}.code-bar{display:flex;justify-content:space-between;align-items:center;padding:var(--space-xs) var(--space-sm) var(--space-xs) var(--space-lg);border-bottom:1px solid var(--line);.mono{font-size:var(--fs-2xs)}}.copy{font:500 var(--fs-xs) var(--body);color:var(--muted);background:transparent;border:1px solid transparent;border-radius:var(--r-sm);padding:var(--space-3xs) var(--space-xs);cursor:pointer;transition:color .15s,background .15s;&:hover{color:var(--text);background:var(--surface-2)}&[data-copied]{color:var(--accent)}}img[data-zoomable]{cursor:zoom-in}dialog.zoom{max-width:96vw;max-height:96vh;padding:0;border:0;background:transparent;cursor:zoom-out;&::backdrop{background:#000c}& img{max-width:96vw;max-height:96vh;object-fit:contain}}@media(width<=1180px){.related{grid-template-columns:repeat(3,minmax(0,1fr))}.post{grid-template-columns:minmax(0,720px);justify-content:center}.post>.rail{display:none}}@media(width<=920px){.related{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(width<=767px){.post{padding-top:var(--space-xl)}.crumbs li:last-child{display:none}.post-head h1{margin-top:var(--space-md);font-size:var(--fs-5xl)}.post-head .subtitle{margin-top:var(--space-md);font-size:var(--fs-lg)}.byline{gap:var(--space-sm) var(--space-md)}.author-card{grid-template-columns:minmax(0,1fr);padding:var(--space-lg)}.after{margin-top:var(--space-4xl)}.after section{padding-block:var(--space-3xl)}.related{grid-template-columns:minmax(0,1fr)}}.btn-accent{border-color:var(--accent);background:var(--accent);color:light-dark(#fff,#141413);&:hover{background:color-mix(in srgb,var(--accent) 88%,var(--text))}}.publication .post-head{.pub-authors{margin-top:var(--space-lg);max-width:80ch;font-size:var(--fs-base);line-height:1.6;color:var(--muted);& a{color:var(--text-2);transition:color .15s}& a:hover{color:var(--accent)}& strong{color:var(--text);font-weight:600}}.venue{color:var(--text-2)}.pub-links{margin-top:var(--space-lg)}}.abstract{padding-top:var(--space-2xl);& h2{font-size:var(--fs-3xl);letter-spacing:-.02em}& p{margin-top:var(--space-md);font-size:var(--fs-lg);line-height:1.7;color:var(--text-2)}}.pub-facts{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:var(--space-sm) var(--space-lg);margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--line);font-size:var(--fs-md);& dt{color:var(--muted)}& dd{margin:0;color:var(--text-2)}& a{--link-color: var(--text)}}.post>.abstract,.post>.pub-facts{grid-column:1}.project>.featured img{width:auto;max-height:420px}.not-found{.field{max-width:420px}.field input{width:100%;height:44px;font-size:var(--fs-md)}}.not-found-links{display:flex;flex-wrap:wrap;gap:var(--space-xs) var(--space-lg);margin-top:var(--space-xl);& a{font-weight:500}}.list{padding-block:var(--space-4xl) var(--space-5xl)}.list-head{padding-bottom:var(--space-xl);& h1{font-size:clamp(36px,4.6vw,56px);line-height:1.05;letter-spacing:-.03em}.sub{margin-top:var(--space-sm);font-size:var(--fs-lg);color:var(--muted);& a{--link-color: var(--text-2)}}}.author-head{display:flex;gap:var(--space-lg);align-items:center}:is(.author-card,.author-head) img{width:88px;height:88px;border-radius:18px;object-fit:cover}.list>.prose{max-width:720px;margin-bottom:var(--space-2xl)}.w1{border-top:1px solid var(--line);>li{position:relative;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--space-sm) var(--space-4xl);padding-block:var(--space-xl);border-bottom:1px solid var(--line);&:hover .blog-title a{color:var(--accent)}}.head{display:flex;flex-direction:column;gap:var(--space-sm)}.post-meta{font-size:var(--fs-xs)}.blog-title{font-size:var(--fs-3xl);line-height:1.18;letter-spacing:-.02em;& a{transition:color .15s}}.chips{position:relative;z-index:1}.side{display:flex;gap:var(--space-xl);align-items:flex-start;padding-top:var(--space-lg)}.summary{flex:1;font-size:var(--fs-base);line-height:1.62;color:var(--text-2);& p+p{margin-top:.6em}}.thumb{flex:none;width:88px;max-height:156px;margin-top:var(--space-3xs);border-radius:10px;object-fit:cover;background:var(--surface-2)}}.terms{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-xs) var(--space-lg);& a{display:flex;justify-content:space-between;gap:var(--space-sm);padding:var(--space-sm) 0;border-bottom:1px solid var(--line);transition:color .15s;&:hover{color:var(--accent)}}}.pagination{display:flex;flex-wrap:wrap;gap:var(--space-2xs);margin-top:var(--space-2xl);& a{display:grid;place-items:center;min-width:36px;height:36px;padding:0 var(--space-sm);border-radius:var(--r-sm);background:var(--surface);font-family:var(--mono);font-size:var(--fs-xs)}.active a{background:var(--text);color:var(--bg)}.disabled{display:none}}@media(width<=767px){.w1>li{grid-template-columns:minmax(0,1fr)}.w1 .side{padding-top:0}}}@layer shortcodes{.hover-tip{position:relative;text-decoration:underline dotted;text-underline-offset:2px;cursor:help;&:hover,&:focus{z-index:2001}&:after{content:attr(data-tooltip);position:absolute;left:0;bottom:calc(100% + 8px);transform:translateY(4px);background:#19191cf2;color:#fff;padding:.4em .75em;border-radius:6px;font-size:.85em;font-style:normal;font-weight:400;line-height:1.35;white-space:normal;width:max-content;max-width:min(280px,80vw);text-align:left;opacity:0;visibility:hidden;transition:opacity .15s,transform .15s;pointer-events:none;z-index:2000}&:before{content:"";position:absolute;left:50%;bottom:calc(100% + 2px);transform:translate(-50%);border:6px solid transparent;border-top-color:#19191cf2;opacity:0;visibility:hidden;transition:opacity .15s;pointer-events:none;z-index:2000}&:hover:after,&:focus:after{opacity:1;visibility:visible;transform:translateY(0)}&:hover:before,&:focus:before{opacity:1;visibility:visible}}html:has(.svg-bleed),body:has(.svg-bleed),html:has(.demo-clips),body:has(.demo-clips){overflow-x:clip}.prose:has(.svg-bleed),.prose:has(.demo-clips){overflow:visible;display:flow-root}.svg-bleed{position:relative;z-index:10;pointer-events:none;display:flow-root;margin:2rem 0;.bleed-ink{fill:light-dark(#0d1b2a,#e8eef4)}}.svg-bleed-stage{position:relative;width:145%;margin:-22.5%;& svg{display:block;width:100%;height:auto;overflow:visible}}.demo-clips{margin:1.5rem 0}.demo-clips-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;@media(width>1460px){margin-inline:-22.5%}& figure{margin:0}& video{width:100%;margin:0;border-radius:6px}& figcaption{margin:.4rem 0 0;font-size:.85em;text-align:center}}.demo-clips-note{margin-top:.75rem;font-size:.85em;font-style:italic;text-align:center}.demo-clip-light{display:block}.demo-clip-dark{display:none}:root[data-theme=dark]{.demo-clip-light{display:none}.demo-clip-dark{display:block}}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){.demo-clip-light{display:none}.demo-clip-dark{display:block}}}.photo-grid{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.5rem 0 1rem;& a{flex:var(--ratio) 1 calc(var(--ratio) * 12rem);min-width:0}.photo-row{display:flex;flex-basis:100%;gap:inherit;& a{flex-basis:0}}& img{display:block;width:100%;height:auto;border-radius:var(--r-sm);transition:opacity .2s}& a:hover img{opacity:.85}}.plot-figure{margin:2rem 0;& svg{overflow:visible;--plot-background: light-dark(#fff, #1e1f24)}& figcaption{margin-top:.5rem;font-size:.85em;color:var(--muted)}[class$=-swatches]{font-size:var(--fs-xs)}}}
@layer icons{.fa,.fas,.far,.fab,.ai{display:inline-block;width:1em;height:1em;vertical-align:-.125em;mask:var(--icon) center/contain no-repeat}.fa-fw{width:1.25em}.ai-google-scholar{--icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzODQgNTEyIj48cGF0aCBkPSJNIDM0My43NTg2OCwxMDYuNjYyNDMgViA3OS40MzAyMDUgTCAzNjMuNTIzNjUsNjMuOTk5OTk3IEggMTQ5LjYzMzU0IEwgMjAuNDc2MzQ1LDE3Ni4yNzM2IGggODUuNjU2MDc1IGMgLTAuMTU1MzQsMi4xMjQ5NCAtMC4yMTkxNCw0LjA0NjQ0IC0wLjIxOTE0LDYuMjI1NjMgMCwyMC44NDQ3MiA3LjIxOTIsMzguMDg2NjIgMjEuNjcyMDMsNTEuODYwODkgMTQuNDUyODQsMTMuNzk3MDIgMzIuMjUxMjQsMjAuNjQ3ODQgNTMuMzI2NTEsMjAuNjQ3ODQgNC45MjMxOSwwIDkuNzUwNTksLTAuMzY3OTQgMTQuNDM4NDIsLTEuMDI0MTkgLTIuOTA3MjIsNi41MDA4MiAtNC4zNzQ1NywxMi41MjMwMiAtNC4zNzQ1NywxOC4xNDIyOCAwLDkuODc1MjYgNC40OTkyNCwyMC40MzA0IDEzLjQ2NzE1LDMxLjY0MTggLTM5LjIzMzc3LDIuNjcwNSAtNjguMDYxMTIsOS43MzI2NCAtODYuNDM3MDIsMjEuMTYzMjIgLTEwLjUzMTA4LDYuNDk5MDcgLTE5LjAwMDIwNywxNC43MDM5NiAtMjUuMzkwMzQ5LDI0LjUzMTEgLTYuMzkwNTY5LDkuODk5MzMgLTkuNTc3NzU0LDIwLjUxNTI1IC05LjU3Nzc1NCwzMS45NjE2IDAsOS42NDgyMiAyLjA2MjM3NSwxOC4zMzYxMSA2LjIxOTA3LDI2LjA2MjMzIDQuMTU2Njk0LDcuNzI2MyA5LjU3Nzc1NywxNC4wNzA0NyAxNi4zMTIyMjMsMTguOTg0MDggNi43MTgyNSw0Ljk2NzgxIDE0LjQ2ODk5LDkuMTAwODggMjMuMjE5LDEyLjQ2ODc0IDguNzM0MjksMy4zNDM3OCAxNy40MDY0Myw1LjcxODU4IDI2LjA2MTA2LDcuMDYyNTggOC42MjcwNywxLjM0MjIyIDE3LjIwNDcxLDEuOTk4NSAyNS43MDU3OSwxLjk5ODUgMTMuNDY4ODcsMCAyNi45NTM1MywtMS43MzQyOCA0MC41NDcxMSwtNS4xODcwNyAxMy41NjE2NSwtMy40ODQ2MSAyNi4yODAyMiwtOC42NDE0MyAzOC4xNzEwNSwtMTUuNDkyNyAxMS44NTkzNSwtNi44MDQ4OCAyMS41MTU0NSwtMTYuMDg2NSAyOC45MjE5LC0yNy43MTgzIDcuMzkwMjQsLTExLjY3OTk4IDExLjA5NDU3LC0yNC44MDQ5OSAxMS4wOTQ1NywtMzkuMzM2MTMgMCwtMTEuMDE1ODQgLTIuMjQ5NjQsLTIxLjAzODUyIC02Ljc1MDIsLTMwLjE0MDczIC00LjQ2ODY0LC05LjA3MjAyIC05LjkzNzg1LC0xNi41NDEwMiAtMTYuNDUyNzEsLTIyLjM0NDAzIC02LjUwMDgsLTUuODEyNjMgLTEyLjk5OTg3LC0xMS4xNTUzOSAtMTkuNTE1MTIsLTE1Ljk2NzkgLTYuNTAwODMsLTQuODQ0ODggLTEyLjAwMDIxLC05Ljc1MDU4IC0xNi40Njg4NCwtMTQuODEyOSAtNC40ODQ4LC01LjA0NjU3IC02LjczNDQ0LC0xMC4wNTQxOSAtNi43MzQ0NCwtMTQuOTgzOTUgMCwtNC45MjE0NSAxLjczNDIyLC05LjY3MTgzIDUuMjE1ODgsLTE0LjI2NTU5IDMuNDU0NTEsLTQuNjA5NSA3LjY3Mzc2LC05LjA0Nzk1IDEyLjYwOTY3LC0xMy4zMDU3MSA0LjkzNzU2LC00LjI0OTQ0IDkuODc1MjMsLTguOTY3ODggMTQuNzk2NjUsLTE0LjEzMzAyIDQuOTIxNDcsLTUuMTQ3MTkgOS4xNDA3MiwtMTEuODI3MzkgMTIuNjA5NzEsLTIwLjAwODIyIDMuNDg0NjcsLTguMTc5MDcgNS4yMDMxOCwtMTcuNDQ0ODkgNS4yMDMxOCwtMjcuNzU2NzkgMCwtMTMuNDUyNyAtMi41NDcxNCwtMjQuNDYwNjUgLTcuNTQ3MzUsLTMzLjMxMzQ4IC0wLjU5MzY5LC0xLjAyMjQzIC0xLjIxNzU3LC0xLjgwMzM4IC0xLjg3NTExLC0zLjAyMjI1IGwgNTYuOTA3NDUsLTQ2LjY3MjEzNiB2IDE3LjExODUyNiBjIC03LjM5MzczLDAuOTI5NjkgLTYuNjI0MjIsNS4zNDU4MiAtNi42MjQyMiwxMC42MzUyIHYgMTI4LjY2NzE5IGMgMCw1Ljk1ODMyIDQuODc1MSwxMC44MzM4MiAxMC44MzM4NiwxMC44MzM4MiBoIDMuOTg4NjkgYyA1Ljk1ODM1LDAgMTAuODMzODYsLTQuODc1MDYgMTAuODMzODYsLTEwLjgzMzgyIFYgMTE3LjI5MjgyIGMgMCwtNS4yNzY2OSAwLjc3NzQxLC05LjY4ODAxIC02LjU2MTY3LC0xMC42MzAzOSB6IE0gMjM2LjM5ODY1LDMyOS4xNDExNCBjIDEuMTQwOTksMC43NTAzIDMuNzAzOSwyLjc4MDc1IDcuNzE4NCw2LjAzODM4IDQuMDQ5NSwzLjI0MzE5IDYuNzk3LDUuNjk1ODIgOC4yNjU2Nyw3LjQxNDMyIDEuNDM4NTEsMS42NjM4MSAzLjU3OTIsNC4xNjUwMSA2LjM3NjE3LDcuNTQ3MzQgMi44MTI2OCwzLjM3NDQgNC43MTg0LDYuMzAzOTQgNS43MTg1Myw4LjczNDI1IDEuMDAwMTYsMi40NzY3IDIuMDE2MDMsNS40NjA4OSAzLjA0NjM2LDguOTQ1NTYgMC45ODU2NywzLjQ0NDg4IDEuNDg0ODYsNi45NzU5NSAxLjQ4NDg2LDEwLjU2MTY5IDAsMTcuMDQ4MTMgLTYuNTYzMzgsMjkuNjgwMDcgLTE5LjY1NjA0LDM3Ljg1OTE1IC0xMy4xMjUsOC4xODA4MyAtMjguNzY2NTEsMTIuMjczNjggLTQ2LjkzNzY3LDEyLjI3MzY4IC05LjE4NzA5LDAgLTE4LjIwMzEsLTEuMDkyODkgLTI3LjA2MjQ3LC0zLjE5NTEgLTguODQzMjIsLTIuMTE2NjUgLTE3LjMxMTkyLC01LjMzNjIgLTI1LjM5MDM1LC05LjYwMTg1IC04LjA3ODQ2LC00LjI1NzcxIC0xNC41Nzc1NCwtMTAuMjAzMzcgLTE5LjUwMDcyLC0xNy43OTY1OSAtNC45Mzc2NCwtNy42NDAxMiAtNy40MDY0NSwtMTYuNDE0NjQgLTcuNDA2NDUsLTI2LjI0OTYyIDAsLTEwLjMyMDIyIDIuNzk2OTIsLTE5LjI4OTg3IDguNDIyMzMsLTI2LjkwNTg4IDUuNTkzNDMsLTcuNjI1NjQgMTIuOTM3NzQsLTEzLjM5MTkgMjIuMDMyMDgsLTE3LjMxNTQgOS4wNjI0LC0zLjk0NTgyIDE4LjI0OTQ2LC02Ljc0MjMyIDI3LjU2MTY2LC04LjM5ODI3IDkuMzEyMjEsLTEuNzAyMyAxOC43OTY3OSwtMi41NTUgMjguNDM4NDIsLTIuNTU1IDQuNDY4NjIsMCA3LjkzNTgyLDAuMjUxMTUgMTAuNDA0NjUsMC42OTYwNyAwLjQ1NDU2LDAuMjE5MTggMy4wMzE4OCwyLjA3MDI1IDcuNzM0NTYsNS41NjMyNiA0LjcwNDAxLDMuNDYyMzcgNy42MjU2NSw1LjU5NTE5IDguNzUwNDcsNi4zODQwMSB6IG0gLTMuMzU4MjMsLTEwMC41Nzc5IGMgLTcuNDA2NDgsOC44NTkzOCAtMTcuNzM0NTQsMTMuMjg4MiAtMzAuOTUzNjMsMTMuMjg4MiAtMTEuODU5MzMsMCAtMjIuMjk3NjYsLTQuNzY0ODIgLTMxLjI2NTU0LC0xNC4zMTE5NSAtOC45OTk4NCwtOS41MjMwOSAtMTUuNDIyMzUsLTIwLjMyODAzIC0xOS4zNDQwOCwtMzIuNDMwNjEgLTMuOTM3NTIsLTEyLjEwODcxIC01LjkwNTg1LC0yMy45ODQyMyAtNS45MDU4NSwtMzUuNjQ4IDAsLTEzLjY5NDIgMy41OTU0MiwtMjUuMzUxODQgMTAuNzgwOSwtMzQuOTc1OTggNy4xODcyNywtOS42NDk1MiAxNy40OTkxNSwtMTQuNDg0NzcgMzAuOTM3ODYsLTE0LjQ4NDc3IDExLjg3NTA3LDAgMjIuMzc0MjMsNS4wMzgyNSAzMS40MzcwNCwxNS4xNTY3NyA5LjA5NDM0LDEwLjA4NDgyIDE1LjYwOTYxLDIxLjQxMzAzIDE5LjUxNjksMzMuOTY3OTkgMy45MjE3NiwxMi41MzkyIDUuODczNDUsMjQuNTI5NzkgNS44NzM0NSwzNS45ODM5OSAwLDEzLjQ0NjU4IC0zLjcwMjU2LDI0LjYwOTg0IC0xMS4wNzY2MywzMy40NTQzNiB6Ii8+PC9zdmc+");background:currentColor}.fa-500px{--icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0NDggNTEyIj48cGF0aCBkPSJNMTAzLjMgMzQ0LjNjLTYuNS0xNC4yLTYuOS0xOC4zIDcuNC0yMy4xIDI1LjYtOCA4IDkuMiA0My4yIDQ5LjJoLjN2LTkzLjljMS4yLTUwLjIgNDQtOTIuMiA5Ny43LTkyLjIgNTMuOSAwIDk3LjcgNDMuNSA5Ny43IDk2LjggMCA2My40LTYwLjggMTEzLjItMTI4LjUgOTMuMy0xMC41LTQuMi0yLjEtMzEuNyA4LjUtMjguNiA1MyAwIDg5LjQtMTAuMSA4OS40LTY0LjQgMC02MS03Ny4xLTg5LjYtMTE2LjktNDQuNi0yMy41IDI2LjQtMTcuNiA0Mi4xLTE3LjYgMTU3LjYgNTAuNyAzMSAxMTguMyAyMiAxNjAuNC0yMC4xIDI0LjgtMjQuOCAzOC41LTU4IDM4LjUtOTMgMC0zNS4yLTEzLjgtNjguMi0zOC44LTkzLjMtMjQuOC0yNC44LTU3LjgtMzguNS05My4zLTM4LjVzLTY4LjggMTMuOC05My41IDM4LjVjLS4zLjMtMTYgMTYuNS0yMS4yIDIzLjlsLS41LjZjLTMuMyA0LjctNi4zIDkuMS0yMC4xIDYuMS02LjktMS43LTE0LjMtNS44LTE0LjMtMTEuOFYyMGMwLTUgMy45LTEwLjUgMTAuNS0xMC41aDI0MS4zYzguMyAwIDguMyAxMS42IDguMyAxNS4xIDAgMy45IDAgMTUuMS04LjMgMTUuMUgxMzAuM3YxMzIuOWguM2MxMDQuMi0xMDkuOCAyODIuOC0zNiAyODIuOCAxMDguOSAwIDE3OC4xLTI0NC44IDIyMC4zLTMxMC4xIDYyLjh6bTYzLjMtMjYwLjhjLS41IDQuMiA0LjYgMjQuNSAxNC42IDIwLjZDMzA2IDU2LjYgMzg0IDE0NC41IDM5MC42IDE0NC41YzQuOCAwIDIyLjgtMTUuMyAxNC4zLTIyLjgtOTMuMi04OS0yMzQuNS01Ny0yMzguMy0zOC4yek0zOTMgNDE0LjdDMjgzIDUyNC42IDk0IDQ3NS41IDYxIDMxMC41YzAtMTIuMi0zMC40LTcuNC0yOC45IDMuMyAyNCAxNzMuNCAyNDYgMjU2LjkgMzgxLjYgMTIxLjMgNi45LTcuOC0xMi42LTI4LjQtMjAuNy0yMC40ek0yMTMuNiAzMDYuNmMwIDQgNC4zIDcuMyA1LjUgOC41IDMgMyA2LjEgNC40IDguNSA0LjQgMy44IDAgMi42LjIgMjIuMy0xOS41IDE5LjYgMTkuMyAxOS4xIDE5LjUgMjIuMyAxOS41IDUuNCAwIDE4LjUtMTAuNCAxMC43LTE4LjJMMjY1LjYgMjg0bDE4LjItMTguMmM2LjMtNi44LTEwLjEtMjEuOC0xNi4yLTE1LjdMMjQ5LjcgMjY4Yy0xOC42LTE4LjgtMTguNC0xOS41LTIxLjUtMTkuNS01IDAtMTggMTEuNy0xMi40IDE3LjNMMjM0IDI4NGMtMTguMSAxNy45LTIwLjQgMTkuMi0yMC40IDIyLjZ6Ii8+PC9zdmc+");background:currentColor}.fa-atom{--icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj48cGF0aCBkPSJNMjU2IDM5OC44Yy0xMS44IDUuMS0yMy40IDkuNy0zNC45IDEzLjVjMTYuNyAzMy44IDMxIDM1LjcgMzQuOSAzNS43czE4LjEtMS45IDM0LjktMzUuN2MtMTEuNC0zLjktMjMuMS04LjQtMzQuOS0xMy41ek00NDYgMjU2YzMzIDQ1LjIgNDQuMyA5MC45IDIzLjYgMTI4Yy0yMC4yIDM2LjMtNjIuNSA0OS4zLTExNS4yIDQzLjJjLTIyIDUyLjEtNTUuNiA4NC44LTk4LjQgODQuOHMtNzYuNC0zMi43LTk4LjQtODQuOGMtNTIuNyA2LjEtOTUtNi44LTExNS4yLTQzLjJDMjEuNyAzNDYuOSAzMyAzMDEuMiA2NiAyNTZjLTMzLTQ1LjItNDQuMy05MC45LTIzLjYtMTI4YzIwLjItMzYuMyA2Mi41LTQ5LjMgMTE1LjItNDMuMkMxNzkuNiAzMi43IDIxMy4yIDAgMjU2IDBzNzYuNCAzMi43IDk4LjQgODQuOGM1Mi43LTYuMSA5NSA2LjggMTE1LjIgNDMuMmMyMC43IDM3LjEgOS40IDgyLjgtMjMuNiAxMjh6bS02NS44IDY3LjRjLTEuNyAxNC4yLTMuOSAyOC02LjcgNDEuMmMzMS44IDEuNCAzOC42LTguNyA0MC4yLTExLjdjMi4zLTQuMiA3LTE3LjktMTEuOS00OC4xYy02LjggNi4zLTE0IDEyLjUtMjEuNiAxOC42em0tNi43LTE3NS45YzIuOCAxMy4xIDUgMjYuOSA2LjcgNDEuMmM3LjYgNi4xIDE0LjggMTIuMyAyMS42IDE4LjZjMTguOS0zMC4yIDE0LjItNDQgMTEuOS00OC4xYy0xLjYtMi45LTguNC0xMy00MC4yLTExLjd6TTI5MC45IDk5LjdDMjc0LjEgNjUuOSAyNTkuOSA2NCAyNTYgNjRzLTE4LjEgMS45LTM0LjkgMzUuN2MxMS40IDMuOSAyMy4xIDguNCAzNC45IDEzLjVjMTEuOC01LjEgMjMuNC05LjcgMzQuOS0xMy41em0tMTU5IDg4LjljMS43LTE0LjMgMy45LTI4IDYuNy00MS4yYy0zMS44LTEuNC0zOC42IDguNy00MC4yIDExLjdjLTIuMyA0LjItNyAxNy45IDExLjkgNDguMWM2LjgtNi4zIDE0LTEyLjUgMjEuNi0xOC42ek0xMTAuMiAzMDQuOEM5MS40IDMzNSA5NiAzNDguNyA5OC4zIDM1Mi45YzEuNiAyLjkgOC40IDEzIDQwLjIgMTEuN2MtMi44LTEzLjEtNS0yNi45LTYuNy00MS4yYy03LjYtNi4xLTE0LjgtMTIuMy0yMS42LTE4LjZ6TTMzNiAyNTZhODAgODAgMCAxIDAgLTE2MCAwIDgwIDgwIDAgMSAwIDE2MCAwem0tODAtMzJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiIvPjwvc3ZnPg==");background:currentColor}.fa-book{--icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0NDggNTEyIj48cGF0aCBkPSJNOTYgMEM0MyAwIDAgNDMgMCA5NlY0MTZjMCA1MyA0MyA5NiA5NiA5NkgzODRoMzJjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJWMzg0YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjMyYzAtMTcuNy0xNC4zLTMyLTMyLTMySDM4NCA5NnptMCAzODRIMzUydjY0SDk2Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyem0zMi0yNDBjMC04LjggNy4yLTE2IDE2LTE2SDMzNmM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkgxNDRjLTguOCAwLTE2LTcuMi0xNi0xNnptMTYgNDhIMzM2YzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2SDE0NGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNnoiLz48L3N2Zz4=");background:currentColor}.fa-brain{--icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj48cGF0aCBkPSJNMTg0IDBjMzAuOSAwIDU2IDI1LjEgNTYgNTZWNDU2YzAgMzAuOS0yNS4xIDU2LTU2IDU2Yy0yOC45IDAtNTIuNy0yMS45LTU1LjctNTAuMWMtNS4yIDEuNC0xMC43IDIuMS0xNi4zIDIuMWMtMzUuMyAwLTY0LTI4LjctNjQtNjRjMC03LjQgMS4zLTE0LjYgMy42LTIxLjJDMjEuNCAzNjcuNCAwIDMzOC4yIDAgMzA0YzAtMzEuOSAxOC43LTU5LjUgNDUuOC03Mi4zQzM3LjEgMjIwLjggMzIgMjA3IDMyIDE5MmMwLTMwLjcgMjEuNi01Ni4zIDUwLjQtNjIuNkM4MC44IDEyMy45IDgwIDExOCA4MCAxMTJjMC0yOS45IDIwLjYtNTUuMSA0OC4zLTYyLjFDMTMxLjMgMjEuOSAxNTUuMSAwIDE4NCAwek0zMjggMGMyOC45IDAgNTIuNiAyMS45IDU1LjcgNDkuOWMyNy44IDcgNDguMyAzMi4xIDQ4LjMgNjIuMWMwIDYtLjggMTEuOS0yLjQgMTcuNGMyOC44IDYuMiA1MC40IDMxLjkgNTAuNCA2Mi42YzAgMTUtNS4xIDI4LjgtMTMuOCAzOS43QzQ5My4zIDI0NC41IDUxMiAyNzIuMSA1MTIgMzA0YzAgMzQuMi0yMS40IDYzLjQtNTEuNiA3NC44YzIuMyA2LjYgMy42IDEzLjggMy42IDIxLjJjMCAzNS4zLTI4LjcgNjQtNjQgNjRjLTUuNiAwLTExLjEtLjctMTYuMy0yLjFjLTMgMjguMi0yNi44IDUwLjEtNTUuNyA1MC4xYy0zMC45IDAtNTYtMjUuMS01Ni01NlY1NmMwLTMwLjkgMjUuMS01NiA1Ni01NnoiLz48L3N2Zz4=");background:currentColor}.fa-camera-retro{--icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj48cGF0aCBkPSJNMjIwLjYgMTIxLjJMMjcxLjEgOTYgNDQ4IDk2djk2SDMzMy4yYy0yMS45LTE1LjEtNDguNS0yNC03Ny4yLTI0cy01NS4yIDguOS03Ny4yIDI0SDY0VjEyOEgxOTJjOS45IDAgMTkuNy0yLjMgMjguNi02Ljh6TTAgMTI4VjQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NEg0NDhjMzUuMyAwIDY0LTI4LjcgNjQtNjRWOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRIMjcxLjFjLTkuOSAwLTE5LjcgMi4zLTI4LjYgNi44TDE5MiA2NEgxNjBWNDhjMC04LjgtNy4yLTE2LTE2LTE2SDgwYy04LjggMC0xNiA3LjItMTYgMTZsMCAxNkMyOC43IDY0IDAgOTIuNyAwIDEyOHpNMTY4IDMwNGE4OCA4OCAwIDEgMSAxNzYgMCA4OCA4OCAwIDEgMSAtMTc2IDB6Ii8+PC9zdmc+");background:currentColor}.fa-code{--icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NDAgNTEyIj48cGF0aCBkPSJNMzkyLjggMS4yYy0xNy00LjktMzQuNyA1LTM5LjYgMjJsLTEyOCA0NDhjLTQuOSAxNyA1IDM0LjcgMjIgMzkuNnMzNC43LTUgMzkuNi0yMmwxMjgtNDQ4YzQuOS0xNy01LTM0LjctMjItMzkuNnptODAuNiAxMjAuMWMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNMNTYyLjcgMjU2bC04OS40IDg5LjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBsMTEyLTExMmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM2wtMTEyLTExMmMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDB6bS0zMDYuNyAwYy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtMTEyIDExMmMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNsMTEyIDExMmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zTDc3LjMgMjU2bDg5LjQtODkuNGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3oiLz48L3N2Zz4=");background:currentColor}.fa-flask{--icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0NDggNTEyIj48cGF0aCBkPSJNMjg4IDBIMTYwIDEyOEMxMTAuMyAwIDk2IDE0LjMgOTYgMzJzMTQuMyAzMiAzMiAzMlYxOTYuOGMwIDExLjgtMy4zIDIzLjUtOS41IDMzLjVMMTAuMyA0MDYuMkMzLjYgNDE3LjIgMCA0MjkuNyAwIDQ0Mi42QzAgNDgwLjkgMzEuMSA1MTIgNjkuNCA1MTJIMzc4LjZjMzguMyAwIDY5LjQtMzEuMSA2OS40LTY5LjRjMC0xMi44LTMuNi0yNS40LTEwLjMtMzYuNEwzMjkuNSAyMzAuNGMtNi4yLTEwLjEtOS41LTIxLjctOS41LTMzLjVWNjRjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJIMjg4ek0xOTIgMTk2LjhWNjRoNjRWMTk2LjhjMCAyMy43IDYuNiA0Ni45IDE5IDY3LjFMMzA5LjUgMzIwaC0xNzFMMTczIDI2My45YzEyLjQtMjAuMiAxOS00My40IDE5LTY3LjF6Ii8+PC9zdmc+");background:currentColor}.fa-github{--icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0OTYgNTEyIj48cGF0aCBkPSJNMTY1LjkgMzk3LjRjMCAyLTIuMyAzLjYtNS4yIDMuNi0zLjMuMy01LjYtMS4zLTUuNi0zLjYgMC0yIDIuMy0zLjYgNS4yLTMuNiAzLS4zIDUuNiAxLjMgNS42IDMuNnptLTMxLjEtNC41Yy0uNyAyIDEuMyA0LjMgNC4zIDQuOSAyLjYgMSA1LjYgMCA2LjItMnMtMS4zLTQuMy00LjMtNS4yYy0yLjYtLjctNS41LjMtNi4yIDIuM3ptNDQuMi0xLjdjLTIuOS43LTQuOSAyLjYtNC42IDQuOS4zIDIgMi45IDMuMyA1LjkgMi42IDIuOS0uNyA0LjktMi42IDQuNi00LjYtLjMtMS45LTMtMy4yLTUuOS0yLjl6TTI0NC44IDhDMTA2LjEgOCAwIDExMy4zIDAgMjUyYzAgMTEwLjkgNjkuOCAyMDUuOCAxNjkuNSAyMzkuMiAxMi44IDIuMyAxNy4zLTUuNiAxNy4zLTEyLjEgMC02LjItLjMtNDAuNC0uMy02MS40IDAgMC03MCAxNS04NC43LTI5LjggMCAwLTExLjQtMjkuMS0yNy44LTM2LjYgMCAwLTIyLjktMTUuNyAxLjYtMTUuNCAwIDAgMjQuOSAyIDM4LjYgMjUuOCAyMS45IDM4LjYgNTguNiAyNy41IDcyLjkgMjAuOSAyLjMtMTYgOC44LTI3LjEgMTYtMzMuNy01NS45LTYuMi0xMTIuMy0xNC4zLTExMi4zLTExMC41IDAtMjcuNSA3LjYtNDEuMyAyMy42LTU4LjktMi42LTYuNS0xMS4xLTMzLjMgMi42LTY3LjkgMjAuOS02LjUgNjkgMjcgNjkgMjcgMjAtNS42IDQxLjUtOC41IDYyLjgtOC41czQyLjggMi45IDYyLjggOC41YzAgMCA0OC4xLTMzLjYgNjktMjcgMTMuNyAzNC43IDUuMiA2MS40IDIuNiA2Ny45IDE2IDE3LjcgMjUuOCAzMS41IDI1LjggNTguOSAwIDk2LjUtNTguOSAxMDQuMi0xMTQuOCAxMTAuNSA5LjIgNy45IDE3IDIyLjkgMTcgNDYuNCAwIDMzLjctLjMgNzUuNC0uMyA4My42IDAgNi41IDQuNiAxNC40IDE3LjMgMTIuMUM0MjguMiA0NTcuOCA0OTYgMzYyLjkgNDk2IDI1MiA0OTYgMTEzLjMgMzgzLjUgOCAyNDQuOCA4ek05Ny4yIDM1Mi45Yy0xLjMgMS0xIDMuMy43IDUuMiAxLjYgMS42IDMuOSAyLjMgNS4yIDEgMS4zLTEgMS0zLjMtLjctNS4yLTEuNi0xLjYtMy45LTIuMy01LjItMXptLTEwLjgtOC4xYy0uNyAxLjMuMyAyLjkgMi4zIDMuOSAxLjYgMSAzLjYuNyA0LjMtLjcuNy0xLjMtLjMtMi45LTIuMy0zLjktMi0uNi0zLjYtLjMtNC4zLjd6bTMyLjQgMzUuNmMtMS42IDEuMy0xIDQuMyAxLjMgNi4yIDIuMyAyLjMgNS4yIDIuNiA2LjUgMSAxLjMtMS4zLjctNC4zLTEuMy02LjItMi4yLTIuMy01LjItMi42LTYuNS0xem0tMTEuNC0xNC43Yy0xLjYgMS0xLjYgMy42IDAgNS45IDEuNiAyLjMgNC4zIDMuMyA1LjYgMi4zIDEuNi0xLjMgMS42LTMuOSAwLTYuMi0xLjQtMi4zLTQtMy4zLTUuNi0yeiIvPjwvc3ZnPg==");background:currentColor}.fa-graduation-cap{--icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NDAgNTEyIj48cGF0aCBkPSJNMzIwIDMyYy04LjEgMC0xNi4xIDEuNC0yMy43IDQuMUwxNS44IDEzNy40QzYuMyAxNDAuOSAwIDE0OS45IDAgMTYwczYuMyAxOS4xIDE1LjggMjIuNmw1Ny45IDIwLjlDNTcuMyAyMjkuMyA0OCAyNTkuOCA0OCAyOTEuOXYyOC4xYzAgMjguNC0xMC44IDU3LjctMjIuMyA4MC44Yy02LjUgMTMtMTMuOSAyNS44LTIyLjUgMzcuNkMwIDQ0Mi43LS45IDQ0OC4zIC45IDQ1My40czYgOC45IDExLjIgMTAuMmw2NCAxNmM0LjIgMS4xIDguNyAuMyAxMi40LTJzNi4zLTYuMSA3LjEtMTAuNGM4LjYtNDIuOCA0LjMtODEuMi0yLjEtMTA4LjdDOTAuMyAzNDQuMyA4NiAzMjkuOCA4MCAzMTYuNVYyOTEuOWMwLTMwLjIgMTAuMi01OC43IDI3LjktODEuNWMxMi45LTE1LjUgMjkuNi0yOCA0OS4yLTM1LjdsMTU3LTYxLjdjOC4yLTMuMiAxNy41IC44IDIwLjcgOXMtLjggMTcuNS05IDIwLjdsLTE1NyA2MS43Yy0xMi40IDQuOS0yMy4zIDEyLjQtMzIuMiAyMS42bDE1OS42IDU3LjZjNy42IDIuNyAxNS42IDQuMSAyMy43IDQuMXMxNi4xLTEuNCAyMy43LTQuMUw2MjQuMiAxODIuNmM5LjUtMy40IDE1LjgtMTIuNSAxNS44LTIyLjZzLTYuMy0xOS4xLTE1LjgtMjIuNkwzNDMuNyAzNi4xQzMzNi4xIDMzLjQgMzI4LjEgMzIgMzIwIDMyek0xMjggNDA4YzAgMzUuMyA4NiA3MiAxOTIgNzJzMTkyLTM2LjcgMTkyLTcyTDQ5Ni43IDI2Mi42IDM1NC41IDMxNGMtMTEuMSA0LTIyLjggNi0zNC41IDZzLTIzLjUtMi0zNC41LTZMMTQzLjMgMjYyLjYgMTI4IDQwOHoiLz48L3N2Zz4=");background:currentColor}.fa-home{--icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1NzYgNTEyIj48cGF0aCBkPSJNNTc1LjggMjU1LjVjMCAxOC0xNSAzMi4xLTMyIDMyLjFoLTMybC43IDE2MC4yYzAgMi43LS4yIDUuNC0uNSA4LjFWNDcyYzAgMjIuMS0xNy45IDQwLTQwIDQwSDQ1NmMtMS4xIDAtMi4yIDAtMy4zLS4xYy0xLjQgLjEtMi44IC4xLTQuMiAuMUg0MTYgMzkyYy0yMi4xIDAtNDAtMTcuOS00MC00MFY0NDggMzg0YzAtMTcuNy0xNC4zLTMyLTMyLTMySDI1NmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ2NjQgMjRjMCAyMi4xLTE3LjkgNDAtNDAgNDBIMTYwIDEyOC4xYy0xLjUgMC0zLS4xLTQuNS0uMmMtMS4yIC4xLTIuNCAuMi0zLjYgLjJIMTA0Yy0yMi4xIDAtNDAtMTcuOS00MC00MFYzNjBjMC0uOSAwLTEuOSAuMS0yLjhWMjg3LjZIMzJjLTE4IDAtMzItMTQtMzItMzIuMWMwLTkgMy0xNyAxMC0yNEwyNjYuNCA4YzctNyAxNS04IDIyLThzMTUgMiAyMSA3TDU2NC44IDIzMS41YzggNyAxMiAxNSAxMSAyNHoiLz48L3N2Zz4=");background:currentColor}.fa-instagram{--icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0NDggNTEyIj48cGF0aCBkPSJNMjI0LjEgMTQxYy02My42IDAtMTE0LjkgNTEuMy0xMTQuOSAxMTQuOXM1MS4zIDExNC45IDExNC45IDExNC45UzMzOSAzMTkuNSAzMzkgMjU1LjkgMjg3LjcgMTQxIDIyNC4xIDE0MXptMCAxODkuNmMtNDEuMSAwLTc0LjctMzMuNS03NC43LTc0LjdzMzMuNS03NC43IDc0LjctNzQuNyA3NC43IDMzLjUgNzQuNyA3NC43LTMzLjYgNzQuNy03NC43IDc0Ljd6bTE0Ni40LTE5NC4zYzAgMTQuOS0xMiAyNi44LTI2LjggMjYuOC0xNC45IDAtMjYuOC0xMi0yNi44LTI2LjhzMTItMjYuOCAyNi44LTI2LjggMjYuOCAxMiAyNi44IDI2Ljh6bTc2LjEgMjcuMmMtMS43LTM1LjktOS45LTY3LjctMzYuMi05My45LTI2LjItMjYuMi01OC0zNC40LTkzLjktMzYuMi0zNy0yLjEtMTQ3LjktMi4xLTE4NC45IDAtMzUuOCAxLjctNjcuNiA5LjktOTMuOSAzNi4xcy0zNC40IDU4LTM2LjIgOTMuOWMtMi4xIDM3LTIuMSAxNDcuOSAwIDE4NC45IDEuNyAzNS45IDkuOSA2Ny43IDM2LjIgOTMuOXM1OCAzNC40IDkzLjkgMzYuMmMzNyAyLjEgMTQ3LjkgMi4xIDE4NC45IDAgMzUuOS0xLjcgNjcuNy05LjkgOTMuOS0zNi4yIDI2LjItMjYuMiAzNC40LTU4IDM2LjItOTMuOSAyLjEtMzcgMi4xLTE0Ny44IDAtMTg0Ljh6TTM5OC44IDM4OGMtNy44IDE5LjYtMjIuOSAzNC43LTQyLjYgNDIuNi0yOS41IDExLjctOTkuNSA5LTEzMi4xIDlzLTEwMi43IDIuNi0xMzIuMS05Yy0xOS42LTcuOC0zNC43LTIyLjktNDIuNi00Mi42LTExLjctMjkuNS05LTk5LjUtOS0xMzIuMXMtMi42LTEwMi43IDktMTMyLjFjNy44LTE5LjYgMjIuOS0zNC43IDQyLjYtNDIuNiAyOS41LTExLjcgOTkuNS05IDEzMi4xLTlzMTAyLjctMi42IDEzMi4xIDljMTkuNiA3LjggMzQuNyAyMi45IDQyLjYgNDIuNiAxMS43IDI5LjUgOSA5OS41IDkgMTMyLjFzMi43IDEwMi43LTkgMTMyLjF6Ii8+PC9zdmc+");background:currentColor}.fa-linkedin{--icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0NDggNTEyIj48cGF0aCBkPSJNNDE2IDMySDMxLjlDMTQuMyAzMiAwIDQ2LjUgMCA2NC4zdjM4My40QzAgNDY1LjUgMTQuMyA0ODAgMzEuOSA0ODBINDE2YzE3LjYgMCAzMi0xNC41IDMyLTMyLjNWNjQuM2MwLTE3LjgtMTQuNC0zMi4zLTMyLTMyLjN6TTEzNS40IDQxNkg2OVYyMDIuMmg2Ni41VjQxNnptLTMzLjItMjQzYy0yMS4zIDAtMzguNS0xNy4zLTM4LjUtMzguNVM4MC45IDk2IDEwMi4yIDk2YzIxLjIgMCAzOC41IDE3LjMgMzguNSAzOC41IDAgMjEuMy0xNy4yIDM4LjUtMzguNSAzOC41em0yODIuMSAyNDNoLTY2LjRWMzEyYzAtMjQuOC0uNS01Ni43LTM0LjUtNTYuNy0zNC42IDAtMzkuOSAyNy0zOS45IDU0LjlWNDE2aC02Ni40VjIwMi4yaDYzLjd2MjkuMmguOWM4LjktMTYuOCAzMC42LTM0LjUgNjIuOS0zNC41IDY3LjIgMCA3OS43IDQ0LjMgNzkuNyAxMDEuOVY0MTZ6Ii8+PC9zdmc+");background:currentColor}.fa-microsoft{--icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0NDggNTEyIj48cGF0aCBkPSJNMCAzMmgyMTQuNnYyMTQuNkgwVjMyem0yMzMuNCAwSDQ0OHYyMTQuNkgyMzMuNFYzMnpNMCAyNjUuNGgyMTQuNlY0ODBIMFYyNjUuNHptMjMzLjQgMEg0NDhWNDgwSDIzMy40VjI2NS40eiIvPjwvc3ZnPg==");background:currentColor}.fa-mountain{--icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj48cGF0aCBkPSJNMjU2IDMyYzEyLjUgMCAyNC4xIDYuNCAzMC44IDE3TDUwMy40IDM5NC40YzUuNiA4LjkgOC42IDE5LjIgOC42IDI5LjdjMCAzMC45LTI1IDU1LjktNTUuOSA1NS45SDU1LjlDMjUgNDgwIDAgNDU1IDAgNDI0LjFjMC0xMC41IDMtMjAuOCA4LjYtMjkuN0wyMjUuMiA0OWM2LjYtMTAuNiAxOC4zLTE3IDMwLjgtMTd6bTY1IDE5MkwyNTYgMTIwLjQgMTc2LjkgMjQ2LjVsMTguMyAyNC40YzYuNCA4LjUgMTkuMiA4LjUgMjUuNiAwbDI1LjYtMzQuMWM2LTguMSAxNS41LTEyLjggMjUuNi0xMi44aDQ5eiIvPjwvc3ZnPg==");background:currentColor}.fa-python{--icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0NDggNTEyIj48cGF0aCBkPSJNNDM5LjggMjAwLjVjLTcuNy0zMC45LTIyLjMtNTQuMi01My40LTU0LjJoLTQwLjF2NDcuNGMwIDM2LjgtMzEuMiA2Ny44LTY2LjggNjcuOEgxNzIuN2MtMjkuMiAwLTUzLjQgMjUtNTMuNCA1NC4zdjEwMS44YzAgMjkgMjUuMiA0NiA1My40IDU0LjMgMzMuOCA5LjkgNjYuMyAxMS43IDEwNi44IDAgMjYuOS03LjggNTMuNC0yMy41IDUzLjQtNTQuM3YtNDAuN0gyMjYuMnYtMTMuNmgxNjAuMmMzMS4xIDAgNDIuNi0yMS43IDUzLjQtNTQuMiAxMS4yLTMzLjUgMTAuNy02NS43IDAtMTA4LjZ6TTI4Ni4yIDQwNGMxMS4xIDAgMjAuMSA5LjEgMjAuMSAyMC4zIDAgMTEuMy05IDIwLjQtMjAuMSAyMC40LTExIDAtMjAuMS05LjItMjAuMS0yMC40LjEtMTEuMyA5LjEtMjAuMyAyMC4xLTIwLjN6TTE2Ny44IDI0OC4xaDEwNi44YzI5LjcgMCA1My40LTI0LjUgNTMuNC01NC4zVjkxLjljMC0yOS0yNC40LTUwLjctNTMuNC01NS42LTM1LjgtNS45LTc0LjctNS42LTEwNi44LjEtNDUuMiA4LTUzLjQgMjQuNy01My40IDU1LjZ2NDAuN2gxMDYuOXYxMy42aC0xNDdjLTMxLjEgMC01OC4zIDE4LjctNjYuOCA1NC4yLTkuOCA0MC43LTEwLjIgNjYuMSAwIDEwOC42IDcuNiAzMS42IDI1LjcgNTQuMiA1Ni44IDU0LjJIMTAxdi00OC44YzAtMzUuMyAzMC41LTY2LjQgNjYuOC02Ni40em0tNi43LTE0Mi42Yy0xMS4xIDAtMjAuMS05LjEtMjAuMS0yMC4zLjEtMTEuMyA5LTIwLjQgMjAuMS0yMC40IDExIDAgMjAuMSA5LjIgMjAuMSAyMC40cy05IDIwLjMtMjAuMSAyMC4zeiIvPjwvc3ZnPg==");background:currentColor}.fa-university{--icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj48cGF0aCBkPSJNMjQzLjQgMi42bC0yMjQgOTZjLTE0IDYtMjEuOCAyMS0xOC43IDM1LjhTMTYuOCAxNjAgMzIgMTYwdjhjMCAxMy4zIDEwLjcgMjQgMjQgMjRINDU2YzEzLjMgMCAyNC0xMC43IDI0LTI0di04YzE1LjIgMCAyOC4zLTEwLjcgMzEuMy0yNS42cy00LjgtMjkuOS0xOC43LTM1LjhsLTIyNC05NmMtOC0zLjQtMTcuMi0zLjQtMjUuMiAwek0xMjggMjI0SDY0VjQyMC4zYy0uNiAuMy0xLjIgLjctMS44IDEuMWwtNDggMzJjLTExLjcgNy44LTE3IDIyLjQtMTIuOSAzNS45UzE3LjkgNTEyIDMyIDUxMkg0ODBjMTQuMSAwIDI2LjUtOS4yIDMwLjYtMjIuN3MtMS4xLTI4LjEtMTIuOS0zNS45bC00OC0zMmMtLjYtLjQtMS4yLS43LTEuOC0xLjFWMjI0SDM4NFY0MTZIMzQ0VjIyNEgyODBWNDE2SDIzMlYyMjRIMTY4VjQxNkgxMjhWMjI0ek0yNTYgNjRhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiIvPjwvc3ZnPg==");background:currentColor}}
