*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--font-body);font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--font-mono);font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{color-scheme:light;--color-bg: #f7f4ee;--color-surface: #fbf8f2;--color-surface-soft: #eeeae2;--color-text: #242e40;--color-text-muted: #4e596a;--color-text-subtle: #596476;--color-border: #d8d2c7;--color-primary: #204da5;--color-primary-hover: var(--color-accent-hover);--color-on-primary: #ffffff;--color-accent: #204da5;--color-accent-hover: #12377e;--color-selection: #d0def4;--paper-texture: url(/img/paper-grain.svg);--radius: 8px;--section-gap: 1.5rem}html.dark{color-scheme:dark;--color-bg: #1e1e1c;--color-surface: #272725;--color-surface-soft: #30302d;--color-text: #ece8df;--color-text-muted: #c3bfb6;--color-text-subtle: #aaa69e;--color-border: #45443e;--color-primary: #365b98;--color-primary-hover: #436aa9;--color-on-primary: #ffffff;--color-accent: #9cb9ed;--color-accent-hover: #c0d4f5;--color-selection: #354762;--paper-texture: url(/img/paper-grain-dark.svg)}html{scroll-behavior:smooth;scroll-padding-top:2rem;font-size:17px}body{margin:0;background:var(--color-bg);background-image:var(--paper-texture);background-repeat:repeat;background-size:192px 192px;color:var(--color-text);font-family:var(--font-body);font-size:1rem;line-height:1.5}h1,h2,h3,h4,h5,h6{margin:0;color:var(--color-text);font-weight:500;line-height:1.3;letter-spacing:normal;text-wrap:balance}h1{font-size:2rem;line-height:1.2}h2{font-size:1.5rem}h3{font-size:1.2rem}p{margin:0 0 .625rem}strong{font-weight:700}a{color:var(--color-accent);text-decoration-thickness:1px;text-underline-offset:4px;text-decoration-color:color-mix(in srgb,currentColor 70%,transparent);transition:color .15s ease,background-color .15s ease,border-color .15s ease}a:hover{color:var(--color-accent-hover);text-decoration-color:currentColor}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px}[hidden]{display:none!important}::-moz-selection{background:var(--color-selection);color:var(--color-text)}::selection{background:var(--color-selection);color:var(--color-text)}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}.container-page{width:min(100% - 4rem,1080px);margin-inline:auto}.page-content{padding-block:var(--section-gap)}.page-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:.875rem;margin-bottom:1rem;border-bottom:1px solid var(--color-border)}.page-header-action{flex-shrink:0}.eyebrow{margin:0 0 .25rem;color:var(--color-accent);font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.page-heading{margin-bottom:.375rem}.page-lede{max-width:60ch;margin:0;color:var(--color-text-muted);font-size:1rem}.skip-link{position:absolute;top:-100px;left:1rem;z-index:30;padding:.65rem 1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius)}.skip-link:focus{top:1rem}.about-layout,.section-layout{display:grid;grid-template-columns:224px minmax(0,1fr);gap:1.5rem;align-items:start}.about-layout{padding:0}.about-entity{min-width:0}.about-image{display:block;width:100%;height:auto;aspect-ratio:1;-o-object-fit:cover;object-fit:cover;border:1px solid var(--color-border);border-radius:12px}.profile-caption{margin:.625rem 0 0;font-size:.8125rem;color:var(--color-text-muted)}.profile-caption strong{display:block;color:var(--color-text)}.about-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.375rem;margin-top:.625rem}.about-link{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;min-height:34px;padding:.25rem;border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text-muted);font-size:.7rem;text-decoration:none}.about-link:hover{color:var(--color-accent);border-color:var(--color-accent);background:var(--color-surface-soft)}.about-link-icon{width:.8rem;height:.8rem;flex-shrink:0}.about-link-text-icon{width:.95rem;text-align:center;font-size:.65rem;font-weight:700}.about-title{margin-bottom:.5rem;font-size:2rem}.about-subtitle{margin-bottom:.625rem;color:var(--color-text);font-size:1.0625rem;line-height:1.5}.about-copy>p:not(.eyebrow):not(.about-subtitle){color:var(--color-text-muted)}.about-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.75rem}.section-layout{margin-top:var(--section-gap);padding-top:.875rem;border-top:1px solid var(--color-border)}.section-intro h2{font-size:1.25rem}.section-intro p{margin:.375rem 0 0;color:var(--color-text-subtle);font-size:.875rem}.section-content{min-width:0}.updates-scroll{max-height:12rem;overflow-y:auto;padding:.25rem .75rem .25rem .25rem;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--color-text-subtle) transparent;border-radius:4px}.updates-scroll::-webkit-scrollbar{width:6px}.updates-scroll::-webkit-scrollbar-thumb{background:var(--color-text-subtle);border-radius:3px}.updates-scroll::-webkit-scrollbar-track{background:transparent}.dated-list{margin:0;padding:0;list-style:none}.dated-list li{display:grid;grid-template-columns:112px minmax(0,1fr);gap:.75rem;padding-block:.5rem;border-bottom:1px solid var(--color-border)}.dated-list li:first-child{padding-top:0}.dated-list li:last-child{padding-bottom:0;border-bottom:0}.dated-list time,.entry-date{color:var(--color-text-subtle);font-size:.8125rem;font-variant-numeric:tabular-nums}.dated-list p{margin:0;color:var(--color-text-muted);font-size:.9375rem}.education-entry{padding-block:.5rem;border-bottom:1px solid var(--color-border)}.education-entry:first-child{padding-top:0}.education-entry:last-child{border-bottom:0;padding-bottom:0}.education-heading{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}.education-heading h3{font-size:1rem;line-height:1.6}.education-heading span{flex-shrink:0;color:var(--color-text-subtle);font-size:.8125rem}.education-entry p{margin:.25rem 0 0;color:var(--color-text-muted);font-size:.875rem}.site-notice{margin:1.5rem 0 0;padding-top:.75rem;border-top:1px solid var(--color-border);color:var(--color-text-subtle);font-size:.8125rem}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.project-entry{display:flex;flex-direction:column;min-width:0;padding:.75rem;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface)}.project-topline{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.375rem;color:var(--color-text-subtle);font-size:.75rem}.project-number{font-family:var(--font-mono)}.project-entry h2{margin-bottom:.5rem;font-size:1.25rem}.project-description{color:var(--color-text-muted);font-size:.9375rem}.project-entry .tag-list{margin-top:auto;padding-top:.375rem}.project-context{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--color-border);font-size:.8125rem;color:var(--color-text-subtle)}.project-context p{margin:0}.project-context a{display:inline-block;margin-top:.25rem}.entry-title a{color:var(--color-text);text-decoration:none}.entry-title a:hover{color:var(--color-accent);text-decoration:underline}.entry-meta{margin:.25rem 0 0;color:var(--color-text-subtle);font-size:.875rem;line-height:1.5}.tag-list{display:flex;flex-wrap:wrap;gap:.375rem}.tag{display:inline-block;padding:.2rem .55rem;border-radius:4px;background:var(--color-surface-soft);color:var(--color-text-muted);font-size:.75rem;line-height:1.5}.action-link{display:inline-flex;justify-content:center;align-items:center;gap:.65rem;min-height:36px;padding:.375rem .75rem;border:1px solid var(--color-primary);border-radius:var(--radius);background:var(--color-primary);color:var(--color-on-primary);font-size:.875rem;font-weight:700;text-decoration:none}.action-link:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);color:var(--color-on-primary)}.action-link.secondary{color:var(--color-text);background:transparent;border-color:var(--color-border)}.action-link.secondary:hover{border-color:var(--color-accent);background:var(--color-surface-soft)}.text-link{display:inline-flex;gap:.5rem;align-items:center;min-height:32px;font-size:.875rem}.experience-list{display:grid}.cv-entry{display:grid;grid-template-columns:224px minmax(0,1fr);gap:1.5rem;padding-block:1rem;border-bottom:1px solid var(--color-border)}.cv-entry:first-child{padding-top:0}.cv-entry:last-child{padding-bottom:0;border:0}.experience-aside .tag{margin-top:.5rem}.experience-aside p{margin:0}.cv-entry h2{font-size:1.25rem}.company-line{margin:.25rem 0 0;font-size:1rem}.plain-list{list-style:disc;margin:.5rem 0 0;padding-left:1.1rem;color:var(--color-text-muted);font-size:.9375rem}.plain-list li{padding-left:.25rem;margin-top:.25rem}.plain-list li::marker{color:var(--color-accent)}.filter-bar{margin-bottom:1rem}.filter-row{display:flex;flex-wrap:wrap;gap:.5rem}.filter-button{min-height:36px;padding:.3rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius);background:transparent;color:var(--color-text-muted);font:inherit;font-size:.8125rem;cursor:pointer}.filter-button:hover{border-color:var(--color-accent);color:var(--color-accent)}.filter-button.active{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary)}.result-count{margin:.375rem 0 0;color:var(--color-text-subtle);font-size:.8125rem}.year-section{display:grid;grid-template-columns:112px minmax(0,1fr);gap:2rem;padding-top:.875rem;border-top:1px solid var(--color-border)}.year-section+.year-section{margin-top:1rem}.year-heading{font-size:1.125rem;font-variant-numeric:tabular-nums;color:var(--color-text-subtle)}.paper-entry{padding-block:.75rem;border-bottom:1px solid var(--color-border)}.paper-entry:first-child{padding-top:0}.paper-entry:last-child{padding-bottom:0;border-bottom:0}.paper-entry h3{font-size:1.125rem;line-height:1.5}.paper-status{margin-top:.375rem}.paper-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem .75rem;margin-top:.375rem}.abstract-details{margin-top:.375rem}.abstract-details summary{width:-moz-fit-content;width:fit-content;min-height:32px;padding-block:.25rem;cursor:pointer;color:var(--color-accent);font-size:.875rem}.abstract{margin-top:.375rem;padding:.875rem;border-left:2px solid var(--color-accent);border-radius:0 var(--radius) var(--radius) 0;background:var(--color-surface-soft);color:var(--color-text-muted);font-size:.9375rem}.blog-entry{display:grid;grid-template-columns:160px minmax(0,1fr);gap:1.5rem;padding-block:1rem;border-bottom:1px solid var(--color-border)}.blog-entry:first-child{padding-top:0}.blog-entry h2{font-size:1.25rem;margin-bottom:.5rem}.blog-description{color:var(--color-text-muted)}.blog-entry .tag-list{margin-block:.5rem}.empty-state{padding:1.25rem;border:1px dashed var(--color-border);border-radius:var(--radius);color:var(--color-text-muted)}.article-page{max-width:760px}.article-header{margin-block:.75rem 1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.article-header .tag-list{margin-top:.75rem}.article-header h1{font-size:2rem;line-height:1.2;text-wrap:pretty}.site-prose{color:var(--color-text-muted);overflow-wrap:break-word}.site-prose h2{margin:1.5rem 0 .625rem}.site-prose h3{margin:1.25rem 0 .5rem}.site-prose p{margin-bottom:.875rem}.site-prose ul,.site-prose ol{padding-left:1.5rem;margin-block:.875rem}.site-prose ul{list-style:disc}.site-prose ol{list-style:decimal}.site-prose li+li{margin-top:.4rem}.site-prose blockquote{border-left:2px solid var(--color-accent);padding:.5rem 1.25rem;margin-block:1.5rem}.site-prose img{max-width:100%;height:auto;border-radius:var(--radius)}.site-prose pre{overflow-x:auto;padding:1.25rem;border:1px solid var(--color-border);border-radius:var(--radius);font-size:.875rem}.site-prose code{font-family:var(--font-mono);font-size:.9em}.site-prose :not(pre)>code{background:var(--color-surface-soft);padding:.15rem .35rem;border-radius:4px}.site-prose table{display:block;overflow-x:auto;border-collapse:collapse;margin-block:1.5rem}.site-prose th,.site-prose td{padding:.75rem;border:1px solid var(--color-border);text-align:left}.site-prose .katex-display{overflow-x:auto;overflow-y:hidden;padding-block:.5rem}.site-prose p>.katex{display:inline-block;max-width:100%;overflow-x:auto;overflow-y:hidden;vertical-align:middle;padding-block:.25rem}.article-back{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--color-border)}@media (max-width: 900px){.about-layout,.section-layout,.cv-entry{grid-template-columns:200px minmax(0,1fr);gap:1.5rem}.project-grid{gap:.75rem}.project-entry{padding:.75rem}.dated-list li{grid-template-columns:100px minmax(0,1fr);gap:1rem}}@media (max-width: 640px){.container-page{width:calc(100% - 2.5rem)}.page-header{flex-direction:column;align-items:flex-start;gap:.75rem;margin-bottom:1rem;padding-bottom:.875rem}.about-layout,.section-layout,.cv-entry,.year-section,.blog-entry{grid-template-columns:minmax(0,1fr);gap:.75rem}.about-entity{display:grid;grid-template-columns:120px minmax(0,1fr);gap:0 1.25rem;align-items:center}.about-entity picture{grid-row:span 2}.about-image{border-radius:var(--radius)}.profile-caption{margin:0}.about-links{margin-top:.5rem;gap:.35rem}.about-link{min-height:36px;font-size:.7rem;padding:.25rem}.about-link-icon{width:.8rem;height:.8rem}.about-layout{gap:1.25rem}.about-title{font-size:2rem}.about-subtitle{font-size:1rem}.project-grid{grid-template-columns:minmax(0,1fr)}.education-heading{flex-direction:column;align-items:flex-start;gap:.25rem}.dated-list li{grid-template-columns:minmax(0,1fr);gap:.35rem}.experience-aside{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem}.experience-aside .tag{margin-top:0}.project-entry{padding:.75rem}.year-section{gap:.75rem}}@media (max-width: 380px){.about-entity{grid-template-columns:96px minmax(0,1fr);gap:0 .75rem}.about-link-icon,.about-link-text-icon{display:none}.about-title{font-size:2rem}}.static{position:static}.absolute{position:absolute}.relative{position:relative}.block{display:block}.flex{display:flex}.hidden{display:none}.h-6{height:1.5rem}.min-h-screen{min-height:100vh}.w-6{width:1.5rem}.flex-1{flex:1 1 0%}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.gap-4{gap:1rem}.border{border-width:1px}.italic{font-style:italic}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.site-header[data-astro-cid-5blmo7yk]{border-bottom:1px solid var(--color-border);background:transparent}.site-nav[data-astro-cid-5blmo7yk]{min-height:58px}.nav-inner[data-astro-cid-5blmo7yk]{min-height:58px;display:flex;align-items:center;gap:2rem}.brand[data-astro-cid-5blmo7yk]{margin-right:auto;color:var(--color-text);font-size:1.1rem;font-weight:700;text-decoration:none}.brand[data-astro-cid-5blmo7yk]:hover{color:var(--color-accent)}.nav-links[data-astro-cid-5blmo7yk]{display:flex;align-items:center;gap:1.25rem}.nav-link[data-astro-cid-5blmo7yk]{display:inline-flex;align-items:center;gap:.25rem;min-height:44px;position:relative;color:var(--color-text-muted);font-size:.86rem;text-decoration:none}.nav-link[data-astro-cid-5blmo7yk]:hover,.nav-link[data-astro-cid-5blmo7yk].active{color:var(--color-accent)}.nav-link[data-astro-cid-5blmo7yk].active:after{content:"";position:absolute;bottom:1px;left:0;right:0;height:2px;background:var(--color-accent)}.external-arrow[data-astro-cid-5blmo7yk]{font-size:.8rem}.theme-toggle[data-astro-cid-5blmo7yk]{display:inline-flex;justify-content:center;align-items:center;gap:.4rem;min-height:44px;min-width:44px;padding:.4rem .65rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text-muted);font:inherit;font-size:.76rem;cursor:pointer}#theme-toggle-icon[data-astro-cid-5blmo7yk]{font-size:1.1rem;line-height:1}#theme-toggle-label[data-astro-cid-5blmo7yk]{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.theme-toggle[data-astro-cid-5blmo7yk]:hover{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-surface-soft)}.menu-button[data-astro-cid-5blmo7yk]{display:none;width:44px;height:44px;padding:.5rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);cursor:pointer}.menu-button[data-astro-cid-5blmo7yk]:hover{border-color:var(--color-accent);background:var(--color-surface-soft)}.menu-button[data-astro-cid-5blmo7yk] span[data-astro-cid-5blmo7yk]{display:block;width:1.2rem;height:2px;margin:4px auto;background:var(--color-text)}@media (max-width: 900px){.nav-inner[data-astro-cid-5blmo7yk]{flex-wrap:wrap;gap:0;min-height:58px}.menu-button[data-astro-cid-5blmo7yk]{display:block}.nav-links[data-astro-cid-5blmo7yk]{display:none;flex-basis:100%;flex-direction:column;align-items:stretch;gap:.25rem;padding:.5rem 0 1rem;border-top:1px solid var(--color-border)}.nav-links[data-astro-cid-5blmo7yk].open{display:flex}.nav-link[data-astro-cid-5blmo7yk]{width:100%;padding:.55rem .75rem;border-radius:var(--radius)}.nav-link[data-astro-cid-5blmo7yk].active{background:var(--color-surface-soft)}.nav-link[data-astro-cid-5blmo7yk].active:after{display:none}.theme-toggle[data-astro-cid-5blmo7yk]{align-self:flex-start;margin-top:.5rem}#theme-toggle-label[data-astro-cid-5blmo7yk]{position:static;width:auto;height:auto;clip-path:none}}.site-footer[data-astro-cid-sz7xmlte]{margin-top:auto;border-top:1px solid var(--color-border);color:var(--color-text-subtle);font-size:.8125rem}.footer-inner[data-astro-cid-sz7xmlte]{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:.75rem}.footer-links[data-astro-cid-sz7xmlte]{display:flex;align-items:center;gap:1.5rem}.footer-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{display:inline-flex;gap:.4rem;align-items:center;min-height:44px}@media (max-width: 640px){.footer-inner[data-astro-cid-sz7xmlte]{flex-direction:column;align-items:flex-start;gap:.25rem}}:root{--font-body: var(--fontBody);--font-mono: var(--fontMono)}
