@import"https://fonts.googleapis.com/css2?family=Fira+Code:wght@300..700&display=swap";:root{--background: #eceff4;--foreground: #2e3440;--accent: #a84a26;--on-accent: #eceff4;--radius: 6px;--font-size: 1rem;--line-height: 1.54em}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--background: #2e3440;--foreground: #d8dee9;--accent: #d6906f;--on-accent: #2e3440}}:root[data-theme=dark]{--background: #2e3440;--foreground: #d8dee9;--accent: #d6906f;--on-accent: #2e3440}html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit;margin:0;padding:0}body{font-family:Fira Code,JetBrains Mono,Monaco,Consolas,Ubuntu Mono,monospace;font-size:var(--font-size);font-weight:400;line-height:var(--line-height);background-color:var(--background);color:var(--foreground);text-rendering:optimizeLegibility;font-variant-ligatures:contextual;-webkit-overflow-scrolling:touch;-webkit-text-size-adjust:100%;margin:0;padding:0}h1{font-size:calc(var(--font-size) * 1.45);letter-spacing:0}h2{font-size:calc(var(--font-size) * 1.35);letter-spacing:0}h3{font-size:calc(var(--font-size) * 1.15);letter-spacing:0}h4,h5,h6{font-size:calc(var(--font-size) * 1);letter-spacing:0}h1,h2,h3,h4,h5,h6,p,ul,ol,img,figure,video,table{margin:25px 0}a{color:var(--accent)}button{position:relative;font:inherit;font-weight:700;text-decoration:none;text-align:center;background:transparent;color:var(--accent);padding:5px 18px;border:2px solid var(--accent);border-radius:var(--radius);transition:background .15s linear;appearance:none;cursor:pointer;outline:none}button:hover{background:color-mix(in srgb,var(--accent) 15%,transparent)}button:focus-visible,a:focus-visible{outline:1px solid var(--accent);outline-offset:2px}fieldset{display:inline-block;border:2px solid var(--foreground);border-radius:calc(var(--radius) * 1.6);padding:10px}fieldset *:first-child{margin-top:0}fieldset input,fieldset select,fieldset textarea,fieldset label,fieldset button{margin-top:calc(var(--line-height) * .5);width:100%}label{display:inline-block}label input{margin-top:0}input,textarea,select{background:transparent;color:var(--foreground);border:1px solid var(--foreground);border-radius:var(--radius);padding:10px;font:inherit;appearance:none}input[type=checkbox]{width:auto}input:focus-visible,input:active,textarea:focus-visible,textarea:active,select:focus-visible,select:active{border-color:var(--accent);outline:1px solid var(--accent);outline-offset:2px}input:active,textarea:active,select:active{box-shadow:none}select{background-image:linear-gradient(45deg,transparent 50%,var(--foreground) 50%),linear-gradient(135deg,var(--foreground) 50%,transparent 50%);background-position:calc(100% - 20px),calc(100% - 15px);background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:40px}select option{background:var(--background)}input[type=checkbox],input[type=radio]{vertical-align:middle;padding:10px;box-shadow:inset 0 0 0 3px var(--background)}input[type=radio]{display:inline-block;width:10px!important;height:10px!important;border-radius:20px}input[type=checkbox]:checked,input[type=radio]:checked{background:var(--accent)}img{display:block;max-width:100%;border:3px solid var(--accent);border-radius:var(--radius);padding:6px;overflow:hidden}figure img,figure video{margin-bottom:0}figure figcaption{background:var(--accent);color:var(--on-accent);text-align:center;font-size:1em;font-weight:400;margin-top:-3px;border-radius:0 0 var(--radius) var(--radius)}ul,ol{margin-left:4ch;padding:0}ul ul,ul ol,ol ul,ol ol{margin-top:0}li::marker{color:var(--accent)}ul li,ol li{position:relative}code,kbd{font-family:Fira Code,JetBrains Mono,Monaco,Consolas,Ubuntu Mono,monospace!important;font-feature-settings:normal;background:color-mix(in srgb,var(--foreground) 5%,transparent);color:color-mix(in srgb,var(--foreground) 5%,var(--accent));padding:0 6px;margin:0 2px;font-size:.95em}code{border:1px solid color-mix(in srgb,var(--foreground) 25%,transparent)}kbd{border-top:1px solid color-mix(in srgb,var(--accent) 25%,transparent);border-left:1px solid var(--accent);border-right:1px solid var(--accent);border-bottom:4px solid var(--accent);border-radius:4px}code code{background:transparent;padding:0;margin:0}pre{tab-size:4;background:color-mix(in srgb,var(--foreground) 5%,transparent)!important;color:color-mix(in srgb,var(--foreground) 5%,var(--accent));padding:20px 10px;font-size:.95em!important;overflow:auto;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--foreground) 25%,transparent)}pre code{background:none!important;margin:0;padding:0;font-size:inherit;border:none}sup{line-height:0}abbr{position:relative;text-decoration-style:wavy;text-decoration-color:var(--accent);cursor:help}sub{bottom:-.25em}sup{top:-.25em}mark{background:color-mix(in srgb,var(--accent) 45%,transparent);color:var(--foreground)}blockquote{position:relative;border-top:1px solid var(--accent);border-bottom:1px solid var(--accent);margin:0;padding:25px}blockquote:before{content:">";display:block;position:absolute;left:0;color:var(--accent)}blockquote p:first-child{margin-top:0}blockquote p:last-child{margin-bottom:0}table{table-layout:auto;border-collapse:collapse}table,th,td{border:2px solid var(--foreground);padding:10px}th{border-style:solid;color:var(--foreground);text-align:left;text-transform:uppercase;letter-spacing:.04em}hr{width:100%;border:none;background:var(--accent);height:2px}h1,h2,h3,h4,h5,h6,b,strong,th,button{font-weight:600}.container{display:flex;flex-direction:column;padding:40px;max-width:864px;min-height:100vh;margin:0 auto;border-right:1px solid color-mix(in srgb,var(--accent) 10%,transparent)}.container.center{border:none;margin:0 auto}.content{display:flex;flex-direction:column;flex:1}figure{display:inline-block;margin:25px auto;padding:0;background:transparent;text-align:center;width:fit-content}figure img{display:block;margin-bottom:-8px!important}figure figcaption{margin-top:0!important;padding:15px 20px!important;background:var(--accent)!important;color:var(--on-accent)!important;font-weight:400!important;text-align:center!important;border:none!important;border-radius:0!important;position:relative}figure figcaption p{margin:0}.page{max-width:100%;margin:0 auto}.page h1,article h1,.posts-title{color:var(--accent);font-weight:600;margin-top:0!important;margin-bottom:30px!important;padding-bottom:12px;border-bottom:2px solid var(--accent)}@media (max-width: 684px){.container{padding:20px}.content{margin-top:20px}}@media print{.container,.content{display:initial}}ul{list-style:none}ul li{position:relative}ul li:not(:empty):before{content:"-";position:absolute;left:-20px;color:var(--accent)}ul ul{margin-left:20px}::selection{background:var(--accent);color:var(--on-accent)}::-moz-selection{background:var(--accent);color:var(--on-accent)}.header{display:flex;flex-direction:column;position:relative;margin-bottom:40px}.header__inner{display:flex;align-items:center;justify-content:space-between}.header__logo{display:flex;flex:1;align-items:center}.header__logo a{flex:none;max-width:100%;text-decoration:none}.logo{display:flex;align-items:center;text-decoration:none;background:var(--accent);color:var(--on-accent);font-weight:700;padding:5px 10px}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;flex:none;width:34px;height:34px;margin-left:15px;padding:0;border:2px solid var(--accent);border-radius:var(--radius);background:transparent;color:var(--accent);cursor:pointer;appearance:none;transition:background .15s linear}.theme-toggle:hover{background:color-mix(in srgb,var(--accent) 15%,transparent)}.theme-toggle .icon-sun,.theme-toggle .icon-moon{display:none}:root:not([data-theme=dark]) .theme-toggle .icon-moon{display:block}:root[data-theme=dark] .theme-toggle .icon-sun{display:block}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .theme-toggle .icon-sun{display:block}:root:not([data-theme=light]) .theme-toggle .icon-moon{display:none}}@media (max-width: 684px){.header__inner{flex-direction:row;align-items:center;justify-content:space-between;width:100%}.header__logo{margin-bottom:0;flex:1}}.navigation-menu{display:flex;align-items:center;flex:none;margin:0 20px}.navigation-menu__inner{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0}.navigation-menu__inner>li{flex:none;white-space:nowrap}.navigation-menu__inner>li:not(:last-of-type){margin-right:20px}.menu{display:flex;flex-direction:column;position:relative;list-style:none;padding:0;margin:0}.menu ul,.navigation-menu ul,.header ul{list-style:none;margin:0;padding:0}.menu li:before,.navigation-menu li:before,.header li:before,.menu__dropdown li:before,.navigation-menu__inner li:before{content:none!important}.menu__trigger{margin-right:0!important;color:var(--accent);user-select:none;cursor:pointer}.menu__dropdown{display:none;flex-direction:column;position:absolute;background:var(--background);box-shadow:0 10px var(--background),-10px 10px var(--background),10px 10px var(--background);color:var(--accent);border:2px solid var(--accent);margin:0;padding:10px;top:10px;left:0;list-style:none;z-index:99}.open .menu__dropdown{display:flex}.menu__dropdown>li:not(:last-of-type){margin-bottom:10px}.menu__dropdown>li>a{display:flex;padding:5px}.menu--mobile{display:none;list-style:none;margin:0;padding:0;flex:0 0 auto}.menu--mobile .menu__trigger{color:var(--accent);border:2px solid;margin-left:0;height:100%;padding:3px 8px;margin-bottom:0!important;position:relative;cursor:pointer}@media (max-width: 684px){.navigation-menu{margin:0}.menu--desktop{display:none}.menu--mobile{display:flex}.menu--mobile .menu__dropdown{left:auto;right:0;top:100%;margin-top:5px}}.footer{padding:40px 0;flex-grow:0;opacity:.65}.footer__inner{display:flex;align-items:center;justify-content:space-between;margin:0;max-width:100%}.footer a{color:inherit}.footer .copyright{display:flex;flex-direction:column;flex:1;align-items:center;gap:5px;text-align:center}@media (max-width: 900px){.footer__inner{flex-direction:column}}@media (max-width: 684px){.footer{padding:20px 0}.footer__inner{padding:0 10px}.copyright span{font-size:14px;line-height:1.6}.footer a{padding:2px 4px;display:inline-block}}.button{position:relative;display:inline-flex;align-items:center;justify-content:center;font:inherit;font-weight:700;text-decoration:none;text-align:center;background:transparent;color:var(--accent);padding:5px 18px;border:2px solid var(--accent);border-radius:var(--radius);transition:background .15s linear;appearance:none;cursor:pointer;outline:none}.button:hover{background:color-mix(in srgb,var(--accent) 15%,transparent)}.button:focus-visible{outline:1px solid var(--accent);outline-offset:2px}.button.inline{background:transparent;border:none;padding:0;text-decoration:underline;text-underline-offset:3px;font-weight:400}.button.inline:hover{text-decoration:none;background:transparent}.read-more{display:inline-block;text-decoration:none;font-weight:700;color:var(--accent);margin-top:10px}.posts{width:100%}.post{width:100%;text-align:left;padding:40px 0}.post:first-of-type{padding-top:0}.post:last-of-type{padding-bottom:0}.post-meta{font-size:inherit;margin-bottom:10px;color:color-mix(in srgb,var(--foreground) 65%,transparent)}.post-author:before{content:" :: ";display:inline}.post-title{color:var(--accent);font-weight:600;margin-top:0!important;margin-bottom:15px!important;padding-bottom:12px;border-bottom:2px solid var(--accent);text-decoration:none!important}.post-title a{text-decoration:none}.post-tags{display:block;margin-bottom:20px;font-size:inherit;color:var(--accent)}.post-tags a{color:var(--accent);text-decoration:none}.post-tags a:before{content:"#"}.post-tags a:not(:last-child):after{content:", "}.post-cover{margin:20px 0}.post-cover img{border:3px solid var(--accent);background:transparent;padding:10px}.post ul{list-style:none}.post ul li{position:relative}.post ul li:not(:empty):before{content:"-";position:absolute;left:-20px;color:var(--accent)}.post-content{margin-top:30px}article time{color:color-mix(in srgb,var(--foreground) 65%,transparent)}.cv-section{margin-top:50px}.cv-section h2{color:var(--accent);font-weight:600;margin-bottom:20px}.cv-section h3{color:var(--accent);font-weight:600;padding-bottom:8px;margin-bottom:15px;border-bottom:1px solid color-mix(in srgb,var(--accent) 25%,transparent)}.honors{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:15px}.honor{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:18px 20px;background:color-mix(in srgb,var(--accent) 7%,transparent);border:2px solid var(--accent);border-radius:var(--radius);text-decoration:none;transition:background .15s linear}.honor:hover{background:color-mix(in srgb,var(--accent) 15%,transparent)}.honor:hover .honor-title{text-decoration:underline}.honor--past{background:color-mix(in srgb,var(--foreground) 4%,transparent);border-color:color-mix(in srgb,var(--foreground) 30%,transparent)}.honor--past:hover{background:color-mix(in srgb,var(--foreground) 8%,transparent)}.honor--past .honor-years{color:color-mix(in srgb,var(--foreground) 65%,transparent);background:color-mix(in srgb,var(--foreground) 12%,transparent)}.honor--past .honor-title{color:color-mix(in srgb,var(--foreground) 80%,transparent)}.honor-years{padding:2px 8px;font-size:calc(var(--font-size) * .75);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--on-accent);background:var(--accent);border-radius:var(--radius)}.honor-title{color:var(--accent);font-weight:600;font-size:calc(var(--font-size) * 1.05)}.honor-org{font-size:calc(var(--font-size) * .85);color:color-mix(in srgb,var(--foreground) 65%,transparent)}.cv-list{list-style:none;margin:0;padding:0 0 0 20px;border-left:2px solid color-mix(in srgb,var(--foreground) 12%,transparent)}.cv-list li:not(:empty):before{content:none}.cv-company{margin-top:40px}.cv-company:first-of-type{margin-top:0}.cv-entry{padding:15px 0}.cv-entry:first-child{padding-top:0}.cv-entry:last-child{padding-bottom:0}.cv-entry-title{color:var(--foreground);font-weight:600}.cv-entry-title a{text-decoration:none}.cv-entry-title a:hover{text-decoration:underline}.cv-entry-meta{font-size:calc(var(--font-size) * .85);color:color-mix(in srgb,var(--foreground) 65%,transparent);margin-top:2px}.cv-entry-description{margin:10px 0 0}.pagination{margin-top:50px}.pagination__title{display:flex;text-align:center;position:relative;margin:20px 0}.pagination__title-h{text-align:center;margin:0 auto;padding:5px 10px;background:var(--background);color:color-mix(in srgb,var(--foreground) 65%,transparent);font-size:calc(var(--font-size) * .8);text-transform:uppercase;text-decoration:none;letter-spacing:.1em;z-index:1}.pagination__title hr{position:absolute;left:0;right:0;width:100%;margin-top:15px;z-index:0;border:none;border-top:1px solid color-mix(in srgb,var(--foreground) 10%,transparent)}.pagination__buttons{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;text-align:center}.pagination__buttons .button.inline.prev,.pagination__buttons .button.inline.next{margin:0}@media (max-width: 684px){.pagination__buttons{flex-direction:column}}.highlight{position:relative;margin:20px 0;border:1px solid var(--code-border)}.code-title{display:flex;align-items:center;justify-content:space-between;background:color-mix(in srgb,var(--foreground) 5%,transparent);border-bottom:1px solid var(--code-border);color:var(--comment);text-transform:uppercase;font-size:calc(var(--font-size) * .8);padding:6px 10px;line-height:1}.copy-button{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:3px 8px;text-decoration:none;text-align:center;font-size:13px;font-weight:500;border:1px solid color-mix(in srgb,var(--accent) 15%,transparent);appearance:none;cursor:pointer;outline:none;background:transparent;color:var(--accent);transition:all .15s linear}.copy-button:hover{background:color-mix(in srgb,var(--accent) 15%,transparent)}:root{--astro-code-color-text: var(--foreground);--astro-code-color-background: color-mix(in srgb, var(--foreground) 5%, transparent);--astro-code-foreground: var(--foreground);--astro-code-token-constant: var(--foreground);--astro-code-token-string: var(--foreground);--astro-code-token-comment: color-mix(in srgb, var(--foreground) 50%, transparent);--astro-code-token-keyword: var(--accent);--astro-code-token-parameter: var(--foreground);--astro-code-token-function: color-mix(in srgb, var(--accent) 70%, transparent);--astro-code-token-string-expression: var(--accent);--astro-code-token-punctuation: var(--foreground);--astro-code-token-link: var(--accent);--astro-code-token-namespace: var(--foreground);--astro-code-token-tag: var(--accent);--astro-code-token-selector: var(--accent);--astro-code-token-attribute: var(--foreground);--astro-code-token-attribute-name: color-mix(in srgb, var(--accent) 70%, transparent);--astro-code-token-variable: var(--foreground);--astro-code-token-literal: var(--foreground);--astro-code-token-number: var(--foreground);--astro-code-token-unit: var(--foreground);--astro-code-token-symbol: var(--foreground);--astro-code-token-regex: var(--accent);--astro-code-token-boolean: var(--accent);--astro-code-token-important: var(--accent);--code-border: color-mix(in srgb, var(--foreground) 25%, transparent);--comment: color-mix(in srgb, var(--foreground) 50%, transparent)}.astro-code{background:color-mix(in srgb,var(--foreground) 5%,transparent)!important;border:1px solid color-mix(in srgb,var(--foreground) 25%,transparent)!important;padding:20px 10px!important}.astro-code,.astro-code span,.astro-code span[style*=--astro-code-foreground],.astro-code span[style*=--astro-code-token-punctuation],.astro-code span[style*=--astro-code-token-constant],.astro-code span[style*=--astro-code-token-string],.astro-code span[style*=--astro-code-token-parameter],.astro-code span[style*=--astro-code-token-variable],.astro-code span[style*=--astro-code-token-literal],.astro-code span[style*=--astro-code-token-number]{color:var(--foreground)!important}.astro-code span[style*=--astro-code-token-keyword],.astro-code span[style*=--astro-code-token-string-expression],.astro-code span[style*=--astro-code-token-tag],.astro-code span[style*=--astro-code-token-selector],.astro-code span[style*=--astro-code-token-regex],.astro-code span[style*=--astro-code-token-boolean],.astro-code span[style*=--astro-code-token-important]{color:var(--accent)!important}.astro-code span[style*=--astro-code-token-function]{color:var(--accent)!important;opacity:.7}.astro-code span[style*=--astro-code-token-comment]{color:var(--comment)!important}.post-content code,.page code{word-break:break-word}
