@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/fonts/inter-italic-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/fonts/inter-italic-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/fonts/jetbrains-mono-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/fonts/jetbrains-mono-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:italic;font-weight:100 800;font-display:swap;src:url(/fonts/jetbrains-mono-italic-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:italic;font-weight:100 800;font-display:swap;src:url(/fonts/jetbrains-mono-italic-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}.bg{color:#f5f5f5;background-color:#7c7c7c}.chroma{color:#f5f5f5;background-color:#7c7c7c;-webkit-text-size-adjust:none}.chroma .err{color:#b3b3b3}.chroma .lnlinks{outline:none;text-decoration:none;color:inherit}.chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}.chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}.chroma .hl{background-color:#b3b3b3}.chroma .lnt{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#b4b4b4}.chroma .ln{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#b3b3b3}.chroma .line{display:flex}.chroma .k{color:#c6c6c6}.chroma .kc{color:#d7d7d7}.chroma .kd,.chroma .kn{color:#c6c6c6}.chroma .kp{color:#d7d7d7}.chroma .kr,.chroma .kt{color:#c6c6c6}.chroma .nc{color:#c7c7c7;font-weight:700}.chroma .no{color:#d7d7d7;font-weight:700}.chroma .nd{color:#d8d8d8;font-weight:700}.chroma .ni{color:#d5d5d5}.chroma .ne{color:#c7c7c7;font-weight:700}.chroma .nl{color:#d7d7d7;font-weight:700}.chroma .nn{color:#c6c6c6}.chroma .nx{color:#f5f5f5}.chroma .py{color:#d7d7d7}.chroma .nt{color:#e2e2e2}.chroma .nv,.chroma .vc,.chroma .vg,.chroma .vi,.chroma .vm{color:#d7d7d7}.chroma .nf,.chroma .fm{color:#d8d8d8;font-weight:700}.chroma .l{color:#e4e4e4}.chroma .ld{color:#d7d7d7}.chroma .s{color:#e4e4e4}.chroma .sa{color:#d7d7d7}.chroma .sb,.chroma .sc{color:#e4e4e4}.chroma .dl{color:#d7d7d7}.chroma .sd,.chroma .s2{color:#e4e4e4}.chroma .se,.chroma .sh{color:#d7d7d7}.chroma .si,.chroma .sx{color:#e4e4e4}.chroma .sr{color:#d7d7d7}.chroma .s1,.chroma .ss,.chroma .m,.chroma .mb,.chroma .mf,.chroma .mh,.chroma .mi,.chroma .il,.chroma .mo{color:#e4e4e4}.chroma .o,.chroma .ow,.chroma .or{color:#c6c6c6;font-weight:700}.chroma .c,.chroma .ch,.chroma .cm,.chroma .c1{color:#c4c4c4;font-style:italic}.chroma .cs,.chroma .cp,.chroma .cpf{color:#c4c4c4;font-weight:700;font-style:italic}.chroma .gd{color:#d6d6d6;background-color:#7c7c7c}.chroma .ge{font-style:italic}.chroma .gr{color:#d6d6d6}.chroma .gh{color:#d7d7d7;font-weight:700}.chroma .gi{color:#d4d4d4;background-color:#979797}.chroma .go,.chroma .gp{color:#c4c4c4}.chroma .gs{font-weight:700}.chroma .gu{color:#d7d7d7}.chroma .gt{color:#c6c6c6}.chroma .gl{text-decoration:underline}.chroma .w{color:#b3b3b3}.chroma .bp,.chroma .cl,.chroma .g,.chroma .n,.chroma .na,.chroma .nb,.chroma .p,.chroma .x{color:#e8e8e8}:root{color-scheme:light dark;--accent: light-dark(#000, #fff);--accent-soft: light-dark(#f0f0f0, #1a1a1a);--ground: light-dark(#fafafa, #0a0a0a);--card: light-dark(#fafafa, #0a0a0a);--ink: light-dark(#000, #fff);--text: light-dark(#111, #ededed);--text-soft: light-dark(#333, #c9c9c9);--muted: light-dark(#595959, #8f8f8f);--wash: light-dark(#f0f0f0, #1a1a1a);--line: light-dark(#e2e2e2, #262626);--panel: light-dark(#f0f0f0, #161616);--code-ground: #000}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}:root{--gap: 24px;--content-gap: 20px;--radius: 8px;--main-width: 720px;--header-height: 76px;--footer-height: 60px;--home-gap: clamp(1.5rem, 5vw, 4rem);--wide-width: calc(1160px + var(--gap) * 2);--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace}@media(width<=768px){:root{--gap: 14px}}*,:before,:after{box-sizing:border-box}html{overflow-y:scroll;text-size-adjust:100%;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{margin:0;font-family:var(--font-body);font-size:17px;line-height:1.7;overflow-wrap:anywhere;color:var(--ink);background:var(--ground)}h1,h2,h3,h4,h5,h6{margin:0;line-height:1.2}p,figure{margin:0}a,button{color:var(--ink)}a{text-decoration:none}button,input{padding:0;font:inherit;color:inherit;background:none;border:0}button{cursor:pointer}img{display:block;max-width:100%}code,kbd,samp{font-family:var(--font-mono);direction:ltr}::selection{background:var(--accent);color:var(--ground)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.icon{flex:none;width:1em;height:1em}.visually-hidden,.skip-link:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:absolute;top:var(--gap);left:var(--gap);z-index:100;padding:0 .4rem;font-family:var(--font-mono);background:var(--ground)}main{position:relative;max-width:calc(var(--main-width) + var(--gap) * 2);min-height:calc(100svh - var(--header-height) - var(--footer-height));margin-inline:auto;padding:var(--gap)}main:has(>.home){max-width:var(--wide-width)}.site-nav{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;max-width:var(--wide-width);margin-inline:auto;padding-inline:var(--gap);font-family:var(--font-mono);line-height:var(--header-height)}.site-logo{display:flex;align-items:center}.wordmark{display:block;height:52px;width:auto}.wordmark-cursor{animation:wordmark-blink .7s steps(1) 7}@keyframes wordmark-blink{50%{opacity:0}}@media(prefers-reduced-motion:reduce){.wordmark-cursor{animation:none}}.site-menu,.lang-switch{display:flex;margin:0;padding:0;list-style:none;white-space:nowrap}.site-menu{justify-self:end;gap:var(--gap);margin-inline-start:var(--gap);font-size:15px}.site-menu a:hover,.site-menu a[aria-current=page]{color:var(--accent);text-decoration:underline 2px;text-underline-offset:.3rem}.site-menu a[aria-current=page]{font-weight:500}.lang-switch{margin-inline:.8rem .4rem;font-size:1rem}.lang-switch a{padding-inline:.4rem;font-weight:500}.lang-switch a:hover{color:var(--accent)}.theme-switch{display:flex;padding-inline:.4rem}.theme-switch .icon{width:17px;height:17px}.theme-switch .icon-sun,:root[data-theme=dark] .theme-switch .icon-moon{display:none}:root[data-theme=dark] .theme-switch .icon-sun{display:block}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .theme-switch .icon-moon{display:none}:root:not([data-theme=light]) .theme-switch .icon-sun{display:block}}@media(width>=1000px){.site-nav{grid-template-columns:calc((100% - var(--home-gap)) / 3) 1fr auto auto;column-gap:0}.site-logo{justify-self:center}.site-menu{justify-self:start;margin-inline-start:var(--home-gap)}}@media(width<=768px){.site-nav{grid-template-columns:1fr auto auto;grid-template-areas:"logo lang theme" "menu menu menu";row-gap:.6rem;padding-block:.7rem;line-height:1.4}.site-logo{grid-area:logo;justify-self:start}.lang-switch{grid-area:lang;margin-inline-start:0}.theme-switch{grid-area:theme}.site-menu{grid-area:menu;justify-self:start;margin-inline-start:0}}@media(width<356px){.wordmark{height:48px}}.site-footer{max-width:var(--wide-width);margin-inline:auto;padding:calc((var(--footer-height) - 24px) / 2) var(--gap);font-family:var(--font-mono);font-size:12px;line-height:24px;text-align:center;color:var(--muted)}.site-footer ul{margin:0;padding:0;list-style:none}.site-footer li{display:inline}.site-footer li+li:before{content:" \b7  "}.site-footer li:last-child{white-space:nowrap}.site-footer a{color:inherit;text-decoration:underline;text-underline-offset:.25rem}.site-footer a:hover{color:var(--ink)}.site-footer a.badge{text-decoration:none;vertical-align:middle}.site-footer a.badge:hover{border-color:var(--muted)}.to-top{position:fixed;right:2rem;bottom:4rem;z-index:99;display:flex;width:2.5rem;height:2.5rem;padding:10px;border-radius:50%;color:var(--muted);background:var(--wash);visibility:hidden;opacity:0;animation:to-top-reveal linear forwards;animation-timeline:scroll();animation-range:100vh calc(100vh + 5rem)}@keyframes to-top-reveal{to{visibility:visible;opacity:1}}.to-top:hover{color:var(--accent)}.to-top .icon{width:100%;height:100%}a.external:after{content:"";margin-inline-start:.25em;padding-inline-start:12px;background:currentColor;mask:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg>%0A') left 0 bottom .22em / 12px no-repeat}.badge{display:inline-flex;font-family:var(--font-mono);font-size:12px;line-height:1.6;border:1px solid var(--line);border-radius:3px;overflow:hidden}.badge-label,.badge-value{padding:0 .45rem}.badge-label{background:var(--accent-soft);color:var(--muted)}.prose :is(p,li),.description,.post-summary,.education-thesis{text-align:justify}:is(.prose :is(p,li),.description,.post-summary,.education-thesis):lang(de){hyphens:auto}.page-header,.post-header{margin:24px 0 var(--content-gap)}.page-header h1,.post-title{font-family:var(--font-mono);font-size:40px;letter-spacing:-.03em}.post-title{text-wrap:balance}.page-header h1 .icon{width:28px;height:28px}.description{margin-top:10px}.breadcrumbs{margin-bottom:.75rem;font-size:14px;color:var(--muted)}.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:.2rem;margin:0;padding:0;list-style:none}.breadcrumbs li{display:flex;align-items:center;gap:.2rem}.breadcrumbs a{font-size:16px;color:var(--ink)}.post-meta{margin-top:5px;font-family:var(--font-mono);font-size:14px;color:var(--muted)}.post-meta span+span:before{content:"\a0\b7\a0"}.post-card{position:relative;margin-bottom:var(--gap);padding:var(--gap);background:var(--card);border:1px solid var(--line);border-radius:var(--radius);transition:border-color .2s,transform .2s}.post-card:hover,.post-card:focus-within{border-color:var(--accent);transform:translateY(-2px)}.post-card h2{font-family:var(--font-mono);font-size:24px;line-height:1.3;letter-spacing:-.03em}.post-card h2 a:after{content:"";position:absolute;inset:0;border-radius:var(--radius)}.post-summary{display:-webkit-box;margin:8px 0;overflow:hidden;font-size:14px;line-height:1.6;color:var(--muted);-webkit-box-orient:vertical;-webkit-line-clamp:2}.post-card .post-meta{margin-top:0}.pagination{display:flex;gap:var(--gap);margin:0;padding:0;list-style:none;font-family:var(--font-mono);font-size:14px}.pagination .disabled{display:none}.pagination .active{font-weight:700}@media(prefers-reduced-motion:reduce){.post-card:hover,.post-card:focus-within{transform:none}}.toc{margin-bottom:var(--content-gap);background:light-dark(var(--panel),var(--card));border:1px solid var(--line);border-radius:var(--radius);interpolate-size:allow-keywords}.toc summary{padding:.3rem 1.2rem;font-weight:500;cursor:pointer;user-select:none}.toc::details-content{height:0;opacity:0;overflow:clip;transition:height .15s ease,opacity .15s ease,content-visibility .15s allow-discrete}.toc[open]::details-content{height:auto;opacity:1}.toc nav{margin:0 2.4rem;padding-bottom:.6rem}.toc ul{margin:0;padding:0}.toc li ul{margin-inline-start:var(--gap)}.toc a:hover{text-decoration:underline;text-underline-offset:.3rem}.prose{margin:30px 0;color:var(--text)}.prose :is(h1,h2,h3,h4,h5,h6){font-family:var(--font-mono);letter-spacing:-.03em;color:var(--ink)}.prose h1{margin:40px 0 32px;font-size:40px}.prose h2{margin:32px 0 24px;font-size:32px}.prose :is(h3,h4,h5,h6){margin:24px 0 16px}.prose h3{font-size:24px}.prose h4{font-size:16px}.prose h5{font-size:14px}.prose h6{font-size:12px}.anchor:before{content:"#"}.anchor{display:none;margin-inline-start:.5em;font-weight:500;color:var(--muted);user-select:none}:is(h1,h2,h3,h4,h5,h6):hover>.anchor{display:inline-flex}.anchor:hover{color:var(--text)}.prose a:not(.anchor){color:var(--accent);text-decoration:underline;text-underline-offset:.3rem;box-shadow:0 1px 0 var(--accent)}.prose :where(p,ul,ol,dl,figure,.table-scroll,.highlight):not(:last-child){margin-bottom:var(--content-gap)}.prose :is(p,ul,ol){margin-top:0}.prose :is(ul,ol){padding-inline-start:1.25rem}.prose li{margin-top:.3rem}.prose li p{margin-bottom:0}.prose blockquote{margin:1rem 0;padding-inline-start:1rem;border-inline-start:3px solid var(--accent);color:var(--muted)}.prose hr{margin:30px 0;border:0;border-top:1px dashed var(--line)}.prose img{margin:1rem 0;border-radius:var(--radius)}.table-scroll{overflow-x:auto}.prose table{border-collapse:collapse;overflow-wrap:normal}.prose :is(th,td){min-width:80px;padding:6px 13px;line-height:1.5;text-align:start;border:1px solid var(--line)}.prose th{font-family:var(--font-mono);font-size:14px;letter-spacing:.02em}.prose :not(pre)>code{padding:.2rem .3rem;font-size:.9em;line-height:1.5;background:var(--accent-soft);border-radius:.2rem}.prose a code{box-shadow:0 -1px 0 var(--accent) inset}.prose .highlight{position:relative;direction:ltr}.prose pre{margin:0;overflow-x:auto;background:var(--code-ground);border:1px solid var(--line);border-radius:var(--radius)}.prose pre code{display:grid;padding:8px 0;font-size:14px;line-height:1.5;overflow-wrap:normal}.prose pre .cl{padding:0 10px}.copy-button{position:absolute;top:4px;right:4px;display:none;padding:0 5px;font-family:var(--font-mono);font-size:14px;color:var(--muted);background:var(--panel);border-radius:var(--radius);user-select:none}.highlight:is(:hover,:focus-within) .copy-button{display:block}.goat{display:block;max-width:100%;height:auto;margin-bottom:var(--content-gap);font-family:var(--font-mono)}.post>footer{margin-top:var(--content-gap)}.post-nav{display:flex;font-family:var(--font-mono);font-size:14px;line-height:1.2;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}.post-nav a{display:flex;flex-direction:column;gap:.5rem;width:50%;padding:.8rem;border-radius:var(--radius)}.post-nav a:hover{background:var(--line)}.post-nav a:hover span:not(.post-nav-label){text-decoration:underline;text-underline-offset:.2rem}.post-nav .next{margin-inline-start:auto;text-align:end}.post-nav-label{font-size:.8rem;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}.search input{width:100%;padding:4px 10px;font-family:var(--font-mono);font-weight:700;border:2px solid var(--wash);border-radius:var(--radius)}.search-status{margin-top:10px;font-family:var(--font-mono);font-size:14px;color:var(--muted)}.search-status:empty{display:none}.search-results{display:flex;flex-direction:column;gap:10px;margin:var(--content-gap) 0;padding:0;list-style:none}.search-results li{position:relative;display:flex;align-items:center;justify-content:space-between;padding:10px 15px;font-weight:500;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);transition:transform .25s ease}.search-results li:hover,.search-results li:focus-within{border-color:var(--accent);transform:translateY(-2px)}.search-results li:has(a:focus-visible){outline:2px solid var(--accent)}.search-results a:focus-visible{outline:0}.search-results a:after{content:"";position:absolute;inset:0}.search-results .icon{width:24px;height:24px}@media(prefers-reduced-motion:reduce){.search-results li:hover,.search-results li:focus-within{transform:none}}.not-found{position:absolute;inset-inline:0;height:80%;display:flex;align-items:center;justify-content:center;font-size:160px;line-height:inherit}.home{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:var(--home-gap);align-items:start;padding:clamp(1.25rem,4.5vh,2.75rem) 0 clamp(.75rem,3vh,1.75rem)}.home-profile{display:flex;flex-direction:column;align-items:center;gap:.55rem;text-align:center}.home-photo{border-radius:50%;display:block}.home-profile h1{font-family:var(--font-mono);font-size:22px;font-weight:700;letter-spacing:-.03em;margin:.9rem 0 0}.home-role{font-family:var(--font-mono);font-size:15px;color:var(--muted);letter-spacing:-.02em;margin:.3rem 0 0}.profiles{display:flex;flex-wrap:wrap;justify-content:center;margin:0;padding:0;list-style:none}.profiles a{display:flex;padding:10px}.profiles a:hover{color:var(--accent)}.profiles .icon{width:26px;height:26px}.section-label{font-family:var(--font-mono);font-size:15px;font-weight:700;color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin:0 0 .85rem}.home-main .prose{margin:0}.home-section{margin-top:1.6rem;padding-top:1.4rem;border-top:1px dashed var(--line)}.interests{list-style:none;margin:.15rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}.publications{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1.2rem}.publication-title,.education-degree{text-wrap:balance}.publication-title{font-family:var(--font-mono);font-size:15px;font-weight:700;letter-spacing:-.02em}.publication-authors{font-size:14px;color:var(--muted);margin-top:.2rem;text-wrap:pretty}.publication-authors span{white-space:nowrap}.site-owner{font-weight:700;color:var(--text-soft)}.publication-meta{font-family:var(--font-mono);font-size:13px;color:var(--muted);margin-top:.15rem}.home-pair{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:1.5rem 2.5rem}.education{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.95rem}.education-head{display:flex;gap:1rem;align-items:baseline}.education-degree{font-family:var(--font-mono);font-size:15px;font-weight:700;letter-spacing:-.02em;overflow-wrap:normal}.education-period{font-family:var(--font-mono);font-size:13px;color:var(--muted);margin-left:auto;flex:none;font-variant-numeric:tabular-nums}.education-field,.education-org{font-size:15px;color:var(--muted)}.education-thesis{font-size:14px;color:var(--muted);margin:.5rem 0 0;text-wrap:pretty}.education-label{font-family:var(--font-mono);font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);display:block}.home-links{display:flex;flex-wrap:wrap;gap:.9rem;margin:.5rem 0 0;font-family:var(--font-mono);font-size:13px}.home-links a{box-shadow:0 1px 0 var(--muted)}.home-links a:hover{box-shadow:0 1px 0 var(--accent)}@media(width<=700px){.home{grid-template-columns:1fr}}@media(width<900px){.home-pair{grid-template-columns:1fr}}.project+.project{margin-top:1.6rem;padding-top:1.4rem;border-top:1px dashed var(--line)}.prose .project-name{font-size:20px;margin:0}.prose p.project-badges{display:flex;flex-wrap:wrap;gap:.4rem;margin:.4rem 0 0}.prose .project-badges+:not(.project-badges){margin-top:.85rem}
