@font-face{font-family:sohne;src:url(../media/sohne_buch-s.p.33w-nn8-qhi4-.woff2)format("woff2");font-display:swap;font-weight:400}@font-face{font-family:sohne;src:url(../media/sohne_kraftig-s.p.09rzhxf1pd68s.woff2)format("woff2");font-display:swap;font-weight:500}@font-face{font-family:sohne;src:url(../media/sohne_halbfett-s.p.0jh3bazhmp277.woff2)format("woff2");font-display:swap;font-weight:600}@font-face{font-family:sohne Fallback;src:local(Arial);ascent-override:77.78%;descent-override:21.94%;line-gap-override:27.32%;size-adjust:100.28%}.LX6pSq_className{font-family:sohne,sohne Fallback}.LX6pSq_variable{--font-sohne:"sohne", "sohne Fallback"}
:root{--bg:#17191b;--heading:#e8eaec;--body:#b0b5ba;--muted:#a0a7ad;--border:#303438;--surface:#202326;--accent:#b5c8bd;--font-sans:var(--font-sohne), Arial, sans-serif;--font-mono:var(--font-sans);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg:#fafafa;--heading:#252a2e;--body:#535c63;--muted:#606970;--border:#e0e3e5;--surface:#f1f3f4;--accent:#3d6250;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{scroll-padding-top:30px}body{background:var(--bg);color:var(--body);font:400 15px/1.65 var(--font-sans);-webkit-font-smoothing:antialiased;margin:0}button,input,select{font:inherit}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;background:0 0;border:0}a{color:inherit;text-decoration:none}h1,h2,h3,p,ul{margin:0}h1,h2,h3,strong{color:var(--heading)}h1,h2,h3{font-weight:500}p{overflow-wrap:break-word}img{max-width:100%;display:block}a,button{transition:color .18s,background-color .18s}a:hover,button:hover{color:var(--heading)}::selection{background:var(--accent);color:var(--bg)}:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:2px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--heading);color:var(--bg);padding:12px;position:fixed;top:-80px;left:20px}.skip-link:focus{top:12px}.mono{font:11px/1.6 var(--font-sans);letter-spacing:.2px}.navigation{justify-content:space-between;align-items:center;gap:20px;max-width:640px;margin:48px auto 0;display:flex}.nav-links{gap:24px;display:flex}.nav-links a{padding:8px 0;font-size:13px;position:relative}.nav-links a:after{content:"";background:var(--accent);transform-origin:0;height:1px;transition:transform .18s;position:absolute;bottom:3px;left:0;right:0;transform:scaleX(0)}.nav-links a:hover:after,.nav-links a[aria-current=page]:after{transform:scaleX(1)}.nav-links a[aria-current=page]{color:var(--heading)}.theme-control select{color:var(--body);background:var(--bg);border:1px solid var(--border);cursor:pointer;border-radius:5px;padding:5px 6px;font-size:11px}.page{max-width:688px;min-height:75vh;margin:auto;padding:58px 24px 32px}.about-column,.reading-column{width:100%;max-width:640px;margin:auto}.intro h1{letter-spacing:-1px;margin-top:20px;font-size:32px;line-height:1.2}.profession{margin-top:8px;font-size:14px}.biography{max-width:600px;margin-top:20px;font-size:15px;line-height:1.8}.location{color:var(--muted);align-items:center;gap:8px;font-size:11px;display:flex}.status-dot{background:var(--accent);border-radius:50%;width:5px;height:5px}.rolling-clock{display:inline-flex}.clock-digit{width:1ch;height:18px;display:inline-block;position:relative;overflow:hidden}.clock-digit>span{display:block}.clock-separator{display:inline-flex}.hero-links{color:var(--heading);gap:24px;margin-top:22px;font-size:13px;display:flex}.hero-links span{margin-left:3px;transition:transform .18s;display:inline-block}.hero-links a:hover span{transform:translate(2px,-2px)}.ruled-section{border-top:1px solid var(--border);margin-top:38px;padding-top:24px}.section-heading{letter-spacing:-.2px;font-size:15px;display:table;position:relative}.section-heading:after{content:"";background:var(--accent);transform-origin:0;width:22px;height:1px;transition:transform .2s;position:absolute;bottom:-4px;left:0;transform:scaleX(0)}.section-heading:hover:after{transform:scaleX(1)}.section-top{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.text-link{color:var(--muted);text-underline-offset:4px;font-size:12px}.text-link:hover{text-decoration:underline}.featured-projects{gap:24px;display:grid}.featured-project{grid-template-columns:140px 1fr;align-items:start;gap:20px;display:grid}.featured-project img{-o-object-fit:cover;object-fit:cover;-o-object-position:top;object-position:top;border:1px solid var(--border);border-radius:5px;width:140px;height:96px;transition:transform .2s}.featured-project:hover img{transform:translateY(-2px)}.featured-project h3{justify-content:space-between;gap:12px;font-size:15px;display:flex}.featured-project h3 span{color:var(--muted);font-size:12px;transition:transform .18s}.featured-project:hover h3 span{transform:translate(2px,-2px)}.featured-project p{margin-top:5px;font-size:13px;line-height:1.6}.project-stack{color:var(--muted);margin-top:8px;font-size:11px;display:block}.section-actions{align-items:center;gap:12px;font-size:11px;display:flex}.section-actions>span{color:var(--muted)}.section-actions button{padding:6px 0}.experience-row{grid-template-columns:22px 1fr auto;align-items:center;gap:0 10px;padding:13px 0;display:grid}.experience-row img{-o-object-fit:contain;object-fit:contain;grid-row:span 2;width:20px;height:20px}.employer{color:var(--heading);font-size:13px}.role{grid-column:2;font-size:12px}.year{grid-area:1/3/3;font-size:11px}.leader{display:none}.experience-detail{padding:12px 0 18px 32px;font-size:13px}.experience-detail h3{margin-bottom:8px;font-size:14px}.experience-detail .mono{margin-top:10px}.experience-reveal{overflow:hidden}.chevron{transition:transform .2s;display:inline-block}.chevron.open{transform:rotate(180deg)}.toolbox{gap:12px;margin:16px 0 0;display:grid}.toolbox>div{grid-template-columns:95px 1fr;gap:16px;display:grid}.education-summary p{margin-top:12px;font-size:12px}.education-summary p+p{margin-top:3px}.education-summary strong{font-weight:400}.education-summary p span{float:right;margin-left:12px;font-size:11px}.assistant{border:1px solid var(--border);background:var(--surface);border-radius:7px;margin-top:38px;padding:20px}.assistant-title{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.assistant h2{font-size:15px}.assistant-title .mono{color:var(--muted);font-size:10px}.assistant form{background:var(--bg);border:1px solid var(--border);border-radius:4px;padding-left:12px;display:flex}.assistant input{width:100%;min-width:0;color:var(--heading);background:0 0;border:0;padding:11px 0;font-size:13px}.assistant input::placeholder{color:var(--muted)}.assistant form button{min-width:44px;font-size:19px}.assistant button:disabled{opacity:.55;cursor:default}.question-suggestions{flex-wrap:wrap;gap:8px 16px;margin-top:12px;display:flex}.question-suggestions button{text-align:left;padding:4px 0;font-size:11px}.question-suggestions button:hover{text-underline-offset:4px;text-decoration:underline}.assistant-message{margin-top:16px;font-size:13px}.answer-cards{gap:12px;margin-top:16px;display:grid}.answer-card{border-top:1px solid var(--border);gap:12px;padding-top:12px;display:flex}.answer-card img{-o-object-fit:cover;object-fit:cover;-o-object-position:top;object-position:top;border-radius:4px;width:90px;height:70px}.answer-card h3{font-size:14px}.answer-card p{margin-top:5px;font-size:12px;line-height:1.6}.engineering-details{border:1px solid var(--border);border-radius:5px;margin-top:16px}.engineering-details summary{cursor:pointer;color:var(--heading);padding:14px 16px;font-size:12px;list-style:none}.engineering-details summary::-webkit-details-marker{display:none}.engineering-details summary span{float:right;transition:transform .2s}.engineering-details[open] summary span{transform:rotate(45deg)}.engineering-details .engineering{border-top:1px solid var(--border);margin:0;padding:20px 16px}.section-description{margin-top:8px;font-size:12px}.flow-controls{border-bottom:1px solid var(--border);grid-template-columns:repeat(4,1fr);margin-top:16px;display:grid}.flow-controls button{text-align:left;border-bottom:1px solid #0000;padding:10px 2px;font-size:12px}.flow-controls button .mono{margin-bottom:4px;font-size:10px;display:block}.flow-controls button[aria-pressed=true]{border-color:var(--accent);color:var(--heading)}.flow-detail{min-height:120px;padding:18px 0}.flow-detail h3{font-size:14px}.flow-detail p{margin-top:8px;font-size:13px}.activity-labels{color:var(--muted);justify-content:space-between;gap:10px;margin:16px 0 10px;font-size:10px;display:flex}.activity-bars{gap:4px;display:flex}.activity-bar{background:var(--surface);border-radius:2px;flex:1;min-width:0;height:16px}.activity-bar.level-1{background:#3e5446}.activity-bar.level-2{background:#56735f}.activity-bar.level-3{background:#759b82}.activity-bar.level-4{background:#9fc4ac}.activity-bar:hover{transform:translateY(-2px)}.activity-error{margin-top:12px;font-size:12px}.connect>p{margin-top:14px;font-size:13px}.contact-email{color:var(--heading);margin-top:10px;font-size:14px;display:inline-block}.footer-links{gap:22px;margin-top:16px;font-size:12px;display:flex}.contact-email:hover,.footer-links a:hover{text-underline-offset:4px;text-decoration:underline}.portfolio-footer{border-top:1px solid var(--border);color:var(--muted);justify-content:space-between;gap:16px;margin-top:40px;padding-top:20px;font-size:10px;display:flex}.reading-column>h1,.work-heading h1{letter-spacing:-.8px;font-size:28px;line-height:1.25}.work-heading{margin-bottom:28px}.work-heading p{margin-top:12px;font-size:14px}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px;display:grid}.work-tile{text-align:left;background:0 0;min-width:0;padding:0}.work-tile img{aspect-ratio:1.5;-o-object-fit:cover;object-fit:cover;-o-object-position:top;object-position:top;border:1px solid var(--border);border-radius:5px;width:100%;height:auto;transition:transform .2s}.work-tile:hover img{transform:translateY(-2px)}.tile-caption{color:var(--heading);justify-content:space-between;align-items:center;margin-top:12px;font-size:15px;display:flex}.tile-category{color:var(--muted);margin-bottom:4px;font-size:10px;display:block}.project-dialog{color:var(--body);background:0 0;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;padding:24px;position:fixed;inset:0;overflow:auto}.project-dialog::backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#08080de8}.dialog-content{background:var(--bg);border:1px solid var(--border);border-radius:14px;max-width:1000px;margin:32px auto;position:relative;overflow:hidden}.dialog-close{z-index:1;color:#fff;background:#16161de6;border:1px solid #ffffff20;border-radius:50%;width:36px;height:36px;font-size:24px;line-height:30px;position:absolute;top:12px;right:12px}.dialog-image{background:#101016}.dialog-image img{-o-object-fit:contain;object-fit:contain;width:100%;height:auto;max-height:60vh;display:block}.dialog-copy{padding:24px 32px 32px}.dialog-copy h2{margin:8px 0 12px;font-size:24px;line-height:30px}.dialog-copy>p{max-width:720px}.project-stack{color:var(--muted);margin-top:16px;font-size:12px}.project-links{flex-wrap:wrap;align-items:center;gap:20px;margin-top:20px;font-size:14px;display:flex}.project-links>a{text-underline-offset:4px;text-decoration:underline}.gallery-controls{align-items:center;gap:12px;margin-left:auto;display:flex}.gallery-controls button{border:1px solid var(--border);border-radius:50%;width:36px;height:36px}.library-list>a{justify-content:space-between;gap:16px;padding:12px 0;display:flex}.library-list h2{font-size:14px;font-weight:500;line-height:20px}.library-list p{color:var(--muted);margin-top:2px;font-size:14px;line-height:20px}.library-list a:hover h2{text-underline-offset:4px;text-decoration:underline}.library-meta{text-align:right;color:var(--muted);flex-shrink:0;font-size:12px;line-height:20px}.library-meta .mono{margin-top:2px;font-size:10px;display:block}.stack-article>p{margin-top:20px}.stack-article section{margin-top:40px}.stack-article section h2{margin-bottom:12px;font-size:16px;font-weight:500;line-height:24px}.stack-article p+p{margin-top:12px}.stack-article a{color:var(--heading);text-underline-offset:3px;-webkit-text-decoration:underline #55555c;text-decoration:underline #55555c}.toolbox{margin:0}.toolbox dt{color:var(--muted);font-size:10px}.agent-toggle{z-index:60;color:var(--muted);align-items:center;gap:6px;padding:0;font-size:11px;display:flex;position:fixed;bottom:24px;left:24px}.toggle-track{background:#50505a;border-radius:8px;width:20px;height:12px;padding:2px;transition:background .2s;display:inline-flex}.toggle-track>span{background:#fff;border-radius:50%;width:8px;height:8px;transition:transform .2s}.toggle-track.on{background:#257d4f}.toggle-track.on>span{transform:translate(8px)}.agent-view{z-index:50;background:var(--bg);padding:48px 24px 100px;position:fixed;inset:0;overflow:auto}.agent-view pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:var(--font-mono);max-width:800px;margin:24px auto;font-size:13px;line-height:24px}.agent-view>a{max-width:800px;margin:auto;font-size:13px;text-decoration:underline;display:block}.not-found h1{margin:24px 0 16px}.not-found a{color:var(--heading);margin-top:24px;display:inline-block}.resume-sheet{max-width:760px;margin:auto}.resume-sheet h1{margin:12px 0;font-size:30px;line-height:1.2}.resume-sheet section{margin-top:28px}.resume-sheet h2{border-bottom:1px solid var(--border);margin-bottom:12px;padding-bottom:8px;font-size:16px}.resume-sheet h3{font-size:14px}.resume-sheet h3 span,.resume-sheet h3 a{float:right;font-weight:400}.resume-sheet p{font-size:14px;line-height:22px}.resume-entry{margin-top:14px}.resume-technologies{color:var(--muted)}.library-list{margin-top:24px}.library-list>a{border-top:1px solid var(--border);padding:20px 0}.library-list h2{font-size:15px}.library-list p{margin-top:6px;font-size:12px;line-height:1.7}.library-meta{font-size:10px}.page-description{margin-top:12px;font-size:14px;line-height:1.7}.stack-article section{border-top:1px solid var(--border);margin-top:28px;padding-top:20px}.stack-article section h2{font-size:16px}.stack-article p{font-size:14px;line-height:1.8}.toolbox>div{margin-top:0}.toolbox dt{font-size:12px}.toolbox dd{margin:0;font-size:13px}.project-dialog::backdrop{background:#0b0e12d9}.dialog-content{background:var(--bg);max-width:800px}.dialog-copy h2{font-size:25px}.dialog-copy>p{font-size:14px}.project-notes{margin:24px 0 0}.project-notes>div{border-top:1px solid var(--border);padding:14px 0}.project-notes dt{text-transform:capitalize;color:var(--heading);font-size:12px}.project-notes dd{margin:6px 0 0;font-size:13px;line-height:1.75}.agent-toggle{justify-content:center;width:max-content;margin:0 auto 24px;font-size:10px;position:relative;bottom:auto;left:auto}.agent-toggle[aria-checked=true]{background:var(--bg);margin:0;padding:12px;position:fixed;bottom:12px;left:24px}.agent-view{background:var(--bg)}.resume-sheet{max-width:640px}.resume-sheet h1{font-size:28px}.resume-sheet .resume-download{margin-top:14px}.resume-sheet h2{font-size:16px}.resume-sheet header p{font-size:13px}.resume-sheet h3 span,.resume-sheet h3 a{font-size:11px}@media (max-width:700px){.navigation{gap:12px;margin:24px 24px 0}.nav-links{gap:22px}.page{padding-top:40px}.intro h1{font-size:29px}.reading-column>h1,.work-heading h1{font-size:26px}.assistant-title .mono{font-size:9px}.project-dialog{padding:12px}.dialog-content{margin:18px auto}.dialog-copy{padding:22px 20px}.gallery-controls{margin-left:0}.project-links{gap:16px}.resume-sheet h3 span{float:none;display:block}}@media (max-width:500px){.nav-links{gap:18px}.nav-links a{font-size:12px}.theme-control select{max-width:72px;font-size:10px}.page{padding-left:24px;padding-right:24px}.featured-project{grid-template-columns:100px 1fr;gap:14px}.featured-project img{width:100px;height:76px}.featured-project p{font-size:12px}.featured-project h3{font-size:14px}.project-stack{font-size:10px}.toolbox>div{grid-template-columns:72px 1fr;gap:12px}.toolbox dd{font-size:12px}.education-summary p span{float:none;margin:4px 0 0;display:block}.assistant{padding:16px}.assistant-title{flex-direction:column;align-items:start;gap:3px}.answer-card{flex-direction:column}.answer-card img{width:100%;height:140px}.work-grid{grid-template-columns:1fr}.library-meta{font-size:10px}.library-list>a{gap:12px}.library-list p{font-size:12px}.section-top{gap:12px}.text-link{font-size:11px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.featured-project:hover img,.featured-project:hover h3 span,.hero-links a:hover span,.work-tile:hover img,.activity-bar:hover{transform:none}}@media print{:root,:root[data-theme=dark],:root[data-theme=light]{--bg:#fff;--heading:#111;--body:#222;--muted:#444;--border:#ccc;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html,body{color:#222!important;background:#fff!important}.navigation,.agent-toggle,.skip-link,.resume-download{display:none!important}.page.resume-page{max-width:none;min-height:0!important;margin:0!important;padding:0!important}.resume-sheet{max-width:none}.resume-sheet h1{font-size:23px}.resume-sheet section{margin-top:14px}.resume-sheet p,.resume-sheet header p,.resume-sheet h3{font-size:10px;line-height:15px}.resume-sheet h2{margin-bottom:6px;padding-bottom:4px;font-size:12px}.resume-entry{-moz-column-break-inside:avoid;break-inside:avoid;margin-top:8px}.resume-sheet header>.mono{display:none}@page{size:A4;margin:14mm}}
