:root{color-scheme:dark;--color-bg:#0f0f11;--color-bg-subtle:#17171c;--color-surface:#1e1e24;--color-border:#2c2c36;--color-text:#e2e2ea;--color-text-muted:#8888a0;--color-text-faint:#606074;--color-accent:#7b93ff;--color-accent-hover:#9aabff;--font-sans:system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:ui-monospace, "Cascadia Code", "Fira Code", monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--measure:70ch;--measure-wide:90ch;--nav-height:3.5rem;--radius:4px;--radius-pill:9999px;--transition:.15s ease}[data-theme=light]{color-scheme:light;--color-bg:#f8f8fc;--color-bg-subtle:#f0f0f6;--color-surface:#fff;--color-border:#d4d4e0;--color-text:#1a1a2e;--color-text-muted:#5a5a78;--color-text-faint:#8d8da8;--color-accent:#3a56e8;--color-accent-hover:#2a46d8}@media (prefers-color-scheme:light){:root:not([data-theme]){color-scheme:light;--color-bg:#f8f8fc;--color-bg-subtle:#f0f0f6;--color-surface:#fff;--color-border:#d4d4e0;--color-text:#1a1a2e;--color-text-muted:#5a5a78;--color-text-faint:#8d8da8;--color-accent:#3a56e8;--color-accent-hover:#2a46d8}}*,:before,:after{box-sizing:border-box}:root{--header-fallback:7rem}@media (width<=600px){:root{--header-fallback:8.5rem}}@media (width<=360px){:root{--header-fallback:10.5rem}}html{scroll-padding-top:var(--header-h,var(--header-fallback));font-size:100%}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-base);grid-template-rows:auto 1fr auto;min-height:100vh;margin:0;line-height:1.65;display:grid}.skip-link{top:-100%;left:var(--space-4);padding:var(--space-2) var(--space-4);background:var(--color-accent);color:var(--color-bg);border-radius:0 0 var(--radius) var(--radius);font-weight:600;font-size:var(--text-sm);z-index:200;transition:top var(--transition);text-decoration:none;position:absolute}.skip-link:focus{color:var(--color-bg);top:0}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:var(--radius)}::selection{background:var(--color-accent);color:var(--color-bg)}a{color:var(--color-accent);text-underline-offset:3px;transition:color var(--transition);text-decoration-thickness:1px}a:hover{color:var(--color-accent-hover)}body>header{z-index:100;background:var(--color-bg);min-width:0;transition:transform .3s;position:sticky;top:0}body>header.nav-hidden{transform:translateY(-100%)}.site-nav{align-items:center;gap:var(--space-6);padding:0 var(--space-8);min-height:var(--nav-height);border-bottom:1px solid var(--color-border);background:var(--color-bg);flex-wrap:wrap;display:flex}.site-nav__brand{font-weight:700;font-size:var(--text-base);letter-spacing:.04em;color:var(--color-text);margin-right:auto;text-decoration:none}.site-nav__brand:hover{color:var(--color-accent)}.site-nav__links{gap:var(--space-2) var(--space-6);flex-wrap:wrap;min-width:0;margin:0;padding:0;list-style:none;display:flex}.site-nav__links a{color:var(--color-text-muted);font-size:var(--text-base);letter-spacing:.03em;text-transform:uppercase;font-weight:500;text-decoration:none}.site-nav__links a:hover,.site-nav__links a[aria-current=page]{color:var(--color-text)}@media (width<=45em){.site-nav{padding:var(--space-2) var(--space-4);gap:var(--space-2)}.site-nav__brand{flex:1;min-width:0}.site-nav__lang{order:2}.site-nav__links{gap:var(--space-2) var(--space-4);flex-basis:100%;order:3}.site-nav__links a{font-size:var(--text-sm)}}@media (width>=601px) and (width<=45em){.site-nav{padding-inline:var(--space-8)}}main:focus{outline:none}main{padding:var(--space-12) var(--space-8);max-width:var(--measure-wide);width:100%;min-width:0;margin:0 auto}@media (width<=600px){main,.site-footer{padding-inline:var(--space-4)}main{padding-block:var(--space-4)}}h1,h2,h3,h4,h5,h6{overflow-wrap:anywhere}p,li,dd,td,th{overflow-wrap:break-word}:lang(de) :is(h1,h2,h3,h4){hyphens:auto}.site-footer{min-width:0;padding:var(--space-4) var(--space-8);border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:var(--text-sm);gap:var(--space-2) var(--space-6);flex-wrap:wrap;justify-content:space-between;align-items:baseline;display:flex}.site-footer p{margin:0}.site-footer__legal{gap:var(--space-4);flex-wrap:wrap;min-width:0;display:flex}h1,h2,h3,h4{font-weight:700;line-height:1.25}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}code,kbd,samp{font-family:var(--font-mono);background:var(--color-surface);border-radius:var(--radius);border:1px solid var(--color-border);padding:.1em .35em;font-size:.9em}.theme-toggle-bar{justify-content:flex-start;align-items:flex-start;gap:var(--space-2);padding:var(--space-2) var(--space-8);background:var(--color-bg);display:flex}@media (width<=600px){.theme-toggle-bar{padding:var(--space-2) var(--space-4)}}.theme-toggle{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);cursor:pointer;transition:border-color var(--transition);flex-shrink:0;align-self:flex-start;align-items:center;margin-left:auto;padding:3px;display:flex;position:relative}.theme-toggle:hover{border-color:var(--color-text-muted)}.theme-toggle__knob{border-radius:var(--radius-pill);background:var(--color-accent);pointer-events:none;width:2rem;height:2rem;transition:transform .25s;position:absolute;top:3px;left:3px}[data-theme=light] .theme-toggle__knob{transform:translate(2rem)}@media (forced-colors:active){.theme-toggle__knob{forced-color-adjust:none;background:highlight;border:1px solid buttontext}}.theme-toggle__option{z-index:1;width:2rem;height:2rem;color:var(--color-text-muted);transition:color var(--transition);pointer-events:none;justify-content:center;align-items:center;display:flex;position:relative}.theme-toggle__option svg{width:1.1rem;height:1.1rem}[data-theme=dark] .theme-toggle__option--dark,[data-theme=light] .theme-toggle__option--light{color:#fff}.visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn{padding:var(--space-3) var(--space-6);border-radius:var(--radius);font-size:var(--text-sm);transition:background var(--transition), color var(--transition), border-color var(--transition);font-weight:600;text-decoration:none;display:inline-block}.btn--primary{background:var(--color-accent);color:var(--color-bg);border:1px solid var(--color-accent)}.btn--primary:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover);color:var(--color-bg)}.btn--secondary{color:var(--color-text);border:1px solid var(--color-border);background:0 0}.btn--secondary:hover{border-color:var(--color-text)}.tag{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:0 var(--space-2);font-size:var(--text-xs);font-family:var(--font-mono);overflow-wrap:anywhere;max-width:100%;line-height:1.8;display:inline-block}.tag,.cv-skills__tag,.record__skill,.btn,.cv-header__download-link,.cv-print-actions__btn{overflow-wrap:anywhere;max-width:100%}.section-heading{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);margin:0 0 var(--space-6);font-weight:600}.project-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-6);transition:border-color var(--transition)}.project-card:hover{border-color:var(--color-accent)}.project-card__title{font-size:var(--text-xl);margin:0 0 var(--space-3);font-weight:700}.project-card__title a{text-decoration:none}.project-card__title a:hover{text-decoration:underline}.project-card__description{font-size:var(--text-sm);color:var(--color-text-muted);margin:0 0 var(--space-4);line-height:1.6}.project-card__tags{margin:0 0 var(--space-4);gap:var(--space-2);flex-wrap:wrap;padding:0;list-style:none;display:flex}.project-card__links{gap:var(--space-2) var(--space-6);font-size:var(--text-sm);flex-wrap:wrap;min-width:0;display:flex}.cv-section{margin-bottom:var(--space-12)}.cv-section h2{font-size:var(--text-2xl);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.08em;margin:0 0 var(--space-6);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border);font-weight:600}.prose h2{font-size:var(--text-2xl);margin:var(--space-8) 0 var(--space-4)}.prose h3{font-size:var(--text-xl);margin:var(--space-6) 0 var(--space-3)}.prose p{margin:0 0 var(--space-4);color:var(--color-text-muted);line-height:1.7}.prose ul,.prose ol{padding-left:var(--space-6);margin:0 0 var(--space-4)}.prose li{margin-bottom:var(--space-2);color:var(--color-text-muted);line-height:1.7}.prose strong{color:var(--color-text);font-weight:700}.prose hr{border:none;border-top:1px solid var(--color-border);margin:var(--space-8) 0}@media print{:root,:root[data-theme=dark],:root[data-theme=light]{--color-bg:#fff;--color-bg-subtle:#fff;--color-surface:#fff;--color-border:#999;--color-text:#000;--color-text-muted:#333;--color-text-faint:#555;--color-accent:#00308f;--color-accent-hover:#00308f}.btn--primary,.cv-print-actions__btn{color:#000!important;background:0 0!important;border:1px solid #000!important}body>header,.site-nav,.theme-toggle-bar,#page-toc,.site-footer,.skip-link,.no-print,#game-stage,.game__toolbar{display:none!important}body{color:#000;background:#fff;font-size:11pt;line-height:1.5;display:block}main{max-width:100%;margin:0;padding:0}a{color:#000;text-decoration:underline}a[href^=http]:after{content:" (" attr(href) ")";color:#555;word-break:break-all;font-size:.8em}h1,h2,h3,h4{page-break-after:avoid}section,article,.cv-entry{page-break-inside:avoid}}.page-toc[data-astro-cid-cr46cdhq]{flex:1;min-width:0}.page-toc__summary[data-astro-cid-cr46cdhq]{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:600;list-style:none;display:flex}.page-toc__summary[data-astro-cid-cr46cdhq]::-webkit-details-marker{display:none}.page-toc__summary[data-astro-cid-cr46cdhq]:before{content:"";border-bottom:1.5px solid;border-right:1.5px solid;flex-shrink:0;width:.45em;height:.45em;transition:transform .2s;display:inline-block;transform:rotate(-45deg)translateY(1px)}details[data-astro-cid-cr46cdhq][open]>.page-toc__summary[data-astro-cid-cr46cdhq]:before{transform:rotate(45deg)translateY(-2px)}.page-toc__body[data-astro-cid-cr46cdhq]{max-height:0;transition:max-height .25s;overflow:hidden}details[data-astro-cid-cr46cdhq][open] .page-toc__body[data-astro-cid-cr46cdhq]{max-height:30rem}.page-toc__list[data-astro-cid-cr46cdhq]{padding:var(--space-2) 0 var(--space-3);flex-direction:column;margin:0;list-style:none;display:flex}.page-toc__list[data-astro-cid-cr46cdhq] li[data-astro-cid-cr46cdhq]{border-left:2px solid var(--color-border);padding-left:var(--space-4);transition:border-color var(--transition)}.page-toc__list[data-astro-cid-cr46cdhq] li[data-astro-cid-cr46cdhq]:has(a[aria-current]){border-left-color:var(--color-accent)}.page-toc__list[data-astro-cid-cr46cdhq] a[data-astro-cid-cr46cdhq]{font-size:var(--text-sm);color:var(--color-text-muted);padding:var(--space-1) 0;transition:color var(--transition);text-decoration:none;display:block}.page-toc__list[data-astro-cid-cr46cdhq] a[data-astro-cid-cr46cdhq]:hover,.page-toc__list[data-astro-cid-cr46cdhq] a[data-astro-cid-cr46cdhq][aria-current]{color:var(--color-accent)}.lang-switch[data-astro-cid-x2f5lxgd]{align-items:center;gap:var(--space-1);font-size:var(--text-sm);letter-spacing:.03em;color:var(--color-text-muted);white-space:nowrap;margin:-.7rem -.5rem;padding:.7rem .5rem;font-weight:500;text-decoration:none;display:inline-flex}.lang-switch[data-astro-cid-x2f5lxgd]:hover{color:var(--color-text)}.lang-switch__flag[data-astro-cid-x2f5lxgd]{box-sizing:content-box;border:1px solid var(--color-border);border-radius:1px;flex:none;width:1.25em;height:.75em}
