.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:"IBM Plex Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-serif:"IBM Plex Serif", Georgia, "Times New Roman", serif;--font-mono:"IBM Plex Mono", ui-monospace, "JetBrains Mono", "Cascadia Code", "Fira Code", monospace;--color-amber-50:oklch(98.7% .022 95.277);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-800:oklch(47.3% .137 46.201);--color-amber-950:oklch(27.9% .077 45.635);--color-green-50:oklch(98.2% .018 155.826);--color-green-200:oklch(92.5% .084 155.995);--color-green-300:oklch(87.1% .15 154.449);--color-green-700:oklch(52.7% .154 150.069);--color-green-800:oklch(44.8% .119 151.328);--color-green-950:oklch(26.6% .065 152.934);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-800:oklch(43.2% .095 166.913);--color-emerald-950:oklch(26.2% .051 172.552);--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-sm:4px;--radius-md:6px;--radius-lg:12px;--radius-xl:16px;--shadow-md:0 2px 8px #0000000f, 0 8px 24px #00000008;--shadow-lg:0 4px 16px #00000014, 0 1px 3px #0000000a;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--max-width-prose:65ch;--color-bg:#fff;--color-bg-off:#f8f9fa;--color-surface:#fff;--color-surface-raised:#f4f5f7;--color-text:#1a1a2e;--color-text-secondary:#3d4455;--color-muted:#636e7b;--color-border:#e2e5ea;--color-border-subtle:#eef0f3;--color-accent:#afffab;--color-accent-bg:#afffab12;--color-accent-border:#afffab4d;--color-link:#1a6b3c;--color-link-hover:#0d4d28;--color-code-bg:#f4f5f7;--color-code-text:#1a1a2e;--color-success:#1a8a3e;--color-danger:#dc2626;--color-nav-bg:#ffffffe0;--font-size-xs:.64rem;--font-size-sm:.8rem;--font-size-base:1rem;--font-size-lg:1.25rem;--font-size-xl:1.563rem;--font-size-2xl:1.953rem;--font-size-3xl:2.441rem;--spacing-content:720px;--spacing-wide:960px;--spacing-full:1200px;--radius-full:9999px}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}[data-theme=dark]{--color-bg:#0e1117;--color-bg-off:#151a22;--color-surface:#1c2128;--color-surface-raised:#22272e;--color-text:#e6edf3;--color-text-secondary:#b1bac4;--color-muted:#8b949e;--color-border:#2d333b;--color-border-subtle:#21262d;--color-accent:#afffab;--color-accent-bg:#afffab0f;--color-accent-border:#afffab40;--color-link:#afffab;--color-link-hover:#7ad978;--color-code-bg:#161b22;--color-code-text:#e6edf3;--color-success:#3fb950;--color-warning:#d29922;--color-danger:#f85149;--color-nav-bg:#0e1117e0;--color-secondary:#818cf8;--shadow-sm:0 1px 2px #0003;--shadow-md:0 2px 8px #0000004d, 0 8px 24px #00000026;--shadow-lg:0 4px 16px #0006, 0 1px 3px #0003;--shadow-glass:0 8px 32px #00000059}@media(prefers-color-scheme:dark){html:not([data-theme]){--color-bg:#0e1117;--color-bg-off:#151a22;--color-surface:#1c2128;--color-surface-raised:#22272e;--color-text:#e6edf3;--color-text-secondary:#b1bac4;--color-muted:#8b949e;--color-border:#2d333b;--color-border-subtle:#21262d;--color-accent:#afffab;--color-accent-bg:#afffab0f;--color-accent-border:#afffab40;--color-link:#afffab;--color-link-hover:#7ad978;--color-code-bg:#161b22;--color-code-text:#e6edf3;--color-success:#3fb950;--color-warning:#d29922;--color-danger:#f85149;--color-nav-bg:#0e1117e0;--color-secondary:#818cf8}}html{scroll-behavior:smooth;scroll-padding-top:4rem}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.7;transition:background .2s,color .2s}::selection{color:var(--color-text);background:#afffab40}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}:focus:not(:focus-visible){outline:none}.skip-to-content{background:var(--color-accent);color:#0e1117;font-size:13px;font-weight:600;font-family:var(--font-mono);border-radius:0 0 var(--radius-md) var(--radius-md);z-index:100000;padding:8px 16px;text-decoration:none;transition:top .2s;position:absolute;top:-100px;left:16px}.skip-to-content:focus{outline:none;top:0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-muted)}html{scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.3}}@keyframes fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-in-right{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@media(prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.vt-site-title{view-transition-name:site-title}.vt-page-title{view-transition-name:page-title}.vt-nav{view-transition-name:site-nav}::view-transition-old(page-title){animation:.15s ease-out reverse both fade-in}::view-transition-new(page-title){animation:.2s ease-in 50ms both fade-in}::view-transition-old(site-nav){animation:none}::view-transition-new(site-nav){animation:none}@media(prefers-reduced-motion:reduce){.vt-site-title,.vt-page-title,.vt-nav{view-transition-name:none}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}}@layer components{.prose{max-width:var(--max-width-prose);color:var(--color-text-secondary);font-size:var(--font-size-base);line-height:1.78}.prose h1{font-size:var(--font-size-3xl);letter-spacing:-.02em;color:var(--color-text);margin-top:2.5rem;margin-bottom:1rem;font-weight:600;line-height:1.15}.prose h2{font-size:var(--font-size-2xl);letter-spacing:-.015em;color:var(--color-text);border-bottom:1px solid var(--color-border-subtle);margin-top:2.25rem;margin-bottom:.75rem;padding-bottom:.5rem;font-weight:600;line-height:1.2}.prose h3{font-size:var(--font-size-xl);letter-spacing:-.01em;color:var(--color-text);margin-top:2rem;margin-bottom:.5rem;font-weight:600;line-height:1.3}.prose h4{font-size:var(--font-size-lg);color:var(--color-text);margin-top:1.75rem;margin-bottom:.5rem;font-weight:600;line-height:1.4}.prose p{margin-bottom:1.25rem}.prose a{color:var(--color-link);text-underline-offset:2px;text-decoration:underline;text-decoration-thickness:1px;transition:color .15s}.prose a:hover{color:var(--color-link-hover)}.prose strong{color:var(--color-text);font-weight:600}.prose em{font-style:italic}.prose blockquote{font-family:var(--font-serif);border-left:2px solid var(--color-accent);color:var(--color-muted);margin:1.5rem 0;padding-left:1.25rem;font-style:italic}.prose blockquote p{margin-bottom:0}.prose ul{margin-bottom:1.25rem;padding-left:1.5rem;list-style-type:disc}.prose ol{margin-bottom:1.25rem;padding-left:1.5rem;list-style-type:decimal}.prose li{margin-bottom:.375rem}.prose li::marker{color:var(--color-muted)}.prose hr{border:none;border-top:1px solid var(--color-border);margin:2.5rem 0}.prose img{border-radius:var(--radius-md);margin:1.5rem 0}.prose figure{margin:1.5rem 0}.prose figcaption{font-size:var(--font-size-sm);color:var(--color-muted);text-align:center;margin-top:.5rem}.prose table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm);margin:1.5rem 0}.prose th{text-align:left;border-bottom:2px solid var(--color-border);color:var(--color-text);padding:.625rem .75rem;font-weight:600}.prose td{border-bottom:1px solid var(--color-border-subtle);padding:.625rem .75rem}.prose :not(pre)>code{font-family:var(--font-mono);background:var(--color-code-bg);color:var(--color-code-text);border-radius:var(--radius-sm);border:1px solid var(--color-border-subtle);padding:.15em .35em;font-size:.875em}.prose pre{font-family:var(--font-mono);font-size:var(--font-size-sm);background:var(--color-code-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);margin:1.5rem 0;padding:1rem 1.25rem;line-height:1.6;overflow-x:auto}.prose pre code{font-size:inherit;color:inherit;background:0 0;border:none;padding:0}.prose .heading-anchor{color:inherit;text-decoration:none}.prose .heading-anchor:hover{text-decoration:none}.wikilink{color:var(--color-link);text-underline-offset:3px;-webkit-text-decoration:underline dashed;text-decoration:underline dashed;text-decoration-thickness:1px;transition:color .15s}.wikilink:hover{color:var(--color-link-hover);text-decoration-style:solid}.broken-link{color:var(--color-muted);-webkit-text-decoration:underline dotted;text-decoration:underline dotted;-webkit-text-decoration-color:var(--color-danger);text-decoration-color:var(--color-danger);text-underline-offset:3px;cursor:help;text-decoration-thickness:1.5px}}@layer utilities{.\@container{container-type:inline-size}.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-0{top:calc(var(--spacing) * 0)}.top-14{top:calc(var(--spacing) * 14)}.bottom-0{bottom:calc(var(--spacing) * 0)}.z-50{z-index:50}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.prose-container{max-width:var(--spacing-content);margin-inline:auto;padding-inline:1.5rem}.wide-container{max-width:var(--spacing-wide);margin-inline:auto;padding-inline:1.5rem}.mx-1\.5{margin-inline:calc(var(--spacing) * 1.5)}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-7{margin-top:calc(var(--spacing) * 7)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mt-auto{margin-top:auto}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.mb-12{margin-bottom:calc(var(--spacing) * 12)}.ml-1\.5{margin-left:calc(var(--spacing) * 1.5)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-14{height:calc(var(--spacing) * 14)}.h-44{height:calc(var(--spacing) * 44)}.min-h-\[55vh\]{min-height:55vh}.min-h-screen{min-height:100vh}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-44{width:calc(var(--spacing) * 44)}.max-w-2xl{max-width:var(--container-2xl)}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-none{max-width:none}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.list-none{list-style-type:none}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-10{gap:calc(var(--spacing) * 10)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-10>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 10) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 10) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-6{column-gap:calc(var(--spacing) * 6)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:var(--radius-full)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-\[\#6366f140\]{border-color:#6366f140}.border-\[var\(--color-accent\)\]{border-color:var(--color-accent)}.border-\[var\(--color-accent-border\)\]{border-color:var(--color-accent-border)}.border-\[var\(--color-border\)\]{border-color:var(--color-border)}.border-amber-200{border-color:var(--color-amber-200)}.border-emerald-200{border-color:var(--color-emerald-200)}.border-green-200{border-color:var(--color-green-200)}.bg-\[\#6366f110\]{background-color:#6366f110}.bg-\[var\(--color-accent-bg\)\]{background-color:var(--color-accent-bg)}.bg-\[var\(--color-bg-off\)\]{background-color:var(--color-bg-off)}.bg-\[var\(--color-success\)\]{background-color:var(--color-success)}.bg-\[var\(--color-surface-raised\)\]{background-color:var(--color-surface-raised)}.bg-amber-50{background-color:var(--color-amber-50)}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-green-50{background-color:var(--color-green-50)}.p-0{padding:calc(var(--spacing) * 0)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-14{padding-block:calc(var(--spacing) * 14)}.py-16{padding-block:calc(var(--spacing) * 16)}.py-20{padding-block:calc(var(--spacing) * 20)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pt-10{padding-top:calc(var(--spacing) * 10)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.pl-5{padding-left:calc(var(--spacing) * 5)}.text-center{text-align:center}.align-middle{vertical-align:middle}.terminal-label{font-family:var(--font-mono);font-size:var(--font-size-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent);font-weight:500}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.leading-\[1\.1\]{--tw-leading:1.1;line-height:1.1}.leading-\[1\.8\]{--tw-leading:1.8;line-height:1.8}.leading-\[1\.78\]{--tw-leading:1.78;line-height:1.78}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-\[\#6366f1\]{color:#6366f1}.text-\[var\(--color-accent\)\]{color:var(--color-accent)}.text-\[var\(--color-border\)\]{color:var(--color-border)}.text-\[var\(--color-link\)\]{color:var(--color-link)}.text-\[var\(--color-muted\)\]{color:var(--color-muted)}.text-\[var\(--color-text\)\]{color:var(--color-text)}.text-\[var\(--color-text-secondary\)\]{color:var(--color-text-secondary)}.text-amber-600{color:var(--color-amber-600)}.text-emerald-600{color:var(--color-emerald-600)}.text-green-700{color:var(--color-green-700)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.blur{--tw-blur:blur(8px);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,)}.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,)}.glass{background:var(--color-nav-bg);-webkit-backdrop-filter:blur(12px)saturate(180%)}@supports not ((-webkit-backdrop-filter:blur(12px)) or (backdrop-filter:blur(12px))){.glass{background:var(--color-bg)}}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[border-color\]{transition-property:border-color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.select-none{-webkit-user-select:none;user-select:none}@media(hover:hover){.group-hover\:text-\[var\(--color-accent\)\]:is(:where(.group):hover *){color:var(--color-accent)}.hover\:border-\[var\(--color-accent-border\)\]:hover{border-color:var(--color-accent-border)}.hover\:bg-\[var\(--color-accent\)\]:hover{background-color:var(--color-accent)}.hover\:bg-\[var\(--color-accent-bg\)\]:hover{background-color:var(--color-accent-bg)}.hover\:bg-\[var\(--color-surface-raised\)\]:hover{background-color:var(--color-surface-raised)}.hover\:text-\[\#0e1117\]:hover{color:#0e1117}.hover\:text-\[var\(--color-accent\)\]:hover{color:var(--color-accent)}.hover\:text-\[var\(--color-link\)\]:hover{color:var(--color-link)}.hover\:text-\[var\(--color-link-hover\)\]:hover{color:var(--color-link-hover)}.hover\:text-\[var\(--color-text\)\]:hover{color:var(--color-text)}}@media(min-width:40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-start{align-items:flex-start}.sm\:justify-between{justify-content:space-between}}@media(min-width:48rem){.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.md\:items-start{align-items:flex-start}.md\:gap-16{gap:calc(var(--spacing) * 16)}.md\:py-16{padding-block:calc(var(--spacing) * 16)}.md\:py-24{padding-block:calc(var(--spacing) * 24)}.md\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.md\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.md\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}}@media(min-width:64rem){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:text-\[2rem\]{font-size:2rem}}@media(prefers-color-scheme:dark){.dark\:border-amber-800{border-color:var(--color-amber-800)}.dark\:border-emerald-800{border-color:var(--color-emerald-800)}.dark\:border-green-800{border-color:var(--color-green-800)}.dark\:bg-amber-950\/30{background-color:#4619014d}@supports (color:color-mix(in lab,red,red)){.dark\:bg-amber-950\/30{background-color:color-mix(in oklab,var(--color-amber-950) 30%,transparent)}}.dark\:bg-emerald-950\/30{background-color:#002c224d}@supports (color:color-mix(in lab,red,red)){.dark\:bg-emerald-950\/30{background-color:color-mix(in oklab,var(--color-emerald-950) 30%,transparent)}}.dark\:bg-green-950\/30{background-color:#032e154d}@supports (color:color-mix(in lab,red,red)){.dark\:bg-green-950\/30{background-color:color-mix(in oklab,var(--color-green-950) 30%,transparent)}}.dark\:text-amber-400{color:var(--color-amber-400)}.dark\:text-emerald-400{color:var(--color-emerald-400)}.dark\:text-green-300{color:var(--color-green-300)}}@media print{.print\:hidden{display:none}}.\[\&\:\:-webkit-details-marker\]\:hidden::-webkit-details-marker{display:none}}@media(prefers-contrast:more){:root{--color-border:#999;--color-border-subtle:#999;--color-accent-bg:#afffab26}[data-theme=dark]{--color-border:#666;--color-border-subtle:#666}.glass,.glass-surface{-webkit-backdrop-filter:none;background:var(--color-bg)!important}:focus-visible{outline-width:3px}}@font-face{font-family:IBM Plex Sans;src:url(/fonts/IBMPlexSans-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:optional}@font-face{font-family:IBM Plex Sans;src:url(/fonts/IBMPlexSans-Italic.woff2)format("woff2");font-weight:400;font-style:italic;font-display:optional}@font-face{font-family:IBM Plex Sans;src:url(/fonts/IBMPlexSans-Medium.woff2)format("woff2");font-weight:500;font-style:normal;font-display:optional}@font-face{font-family:IBM Plex Sans;src:url(/fonts/IBMPlexSans-SemiBold.woff2)format("woff2");font-weight:600;font-style:normal;font-display:optional}@font-face{font-family:IBM Plex Sans;src:url(/fonts/IBMPlexSans-Bold.woff2)format("woff2");font-weight:700;font-style:normal;font-display:optional}@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:optional}@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono-Medium.woff2)format("woff2");font-weight:500;font-style:normal;font-display:optional}@font-face{font-family:IBM Plex Serif;src:url(/fonts/IBMPlexSerif-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:optional}@font-face{font-family:IBM Plex Serif;src:url(/fonts/IBMPlexSerif-Italic.woff2)format("woff2");font-weight:400;font-style:italic;font-display:optional}@font-face{font-family:IBM Plex Serif;src:url(/fonts/IBMPlexSerif-Medium.woff2)format("woff2");font-weight:500;font-style:normal;font-display:optional}@media print{:root,[data-theme=dark],[data-theme=light]{color-scheme:light;--color-bg:#fff;--color-bg-off:#f8f9fa;--color-surface:#fff;--color-surface-raised:#f4f5f7;--color-text:#111;--color-text-secondary:#333;--color-muted:#555;--color-border:#ccc;--color-border-subtle:#e5e5e5;--color-accent:#1a6b3c;--color-link:#111;--color-code-bg:#f5f5f5;--color-code-text:#111}@page{margin:2cm;size:letter}@page :first{margin-top:1.5cm}body{max-width:none;margin:0;padding:0;font-family:IBM Plex Serif,Georgia,Times New Roman,serif;font-size:11pt;line-height:1.5;color:#111!important;background:#fff!important}nav,footer,.skip-to-content,.theme-toggle,[data-island],[data-pagefind-ignore],#back-to-top,#mobile-nav,#nav-toggle,.search-widget,.research-graph,details.mobile-nav,[data-print-hidden]{display:none!important}a{text-decoration:underline;text-decoration-thickness:.5px;color:#111!important}a[href^=http]:not([href*="your-domain.com"]):after{content:" (" attr(href) ")";color:#666;word-break:break-all;font-family:IBM Plex Mono,monospace;font-size:.8em}a[href^="#"]:after,a[href^=mailto]:after,a[href^=tel]:after{content:none}h1,h2,h3,h4,h5,h6{page-break-after:avoid;break-after:avoid;font-family:IBM Plex Sans,system-ui,sans-serif;color:#111!important}h2{border-bottom:1px solid #ccc;padding-bottom:4pt}h1,h2,h3{page-break-after:avoid;break-after:avoid}p,li{orphans:3;widows:3}.pub-card,.cv-entry,.cv-section,figure,pre,blockquote,table,.project-card,.post-card{page-break-inside:avoid;break-inside:avoid}img{page-break-inside:avoid;break-inside:avoid;height:auto;max-width:100%!important}pre{overflow-wrap:break-word;white-space:pre-wrap;padding:8pt 10pt;font-size:9pt;line-height:1.4;background:#f5f5f5!important;border:1px solid #ccc!important}code{font-size:.9em}table{border-collapse:collapse}th,td{padding:4pt 6pt;border:1px solid #ccc!important}th{background:#f5f5f5!important}.glass,.glass-surface{-webkit-backdrop-filter:none!important;box-shadow:none!important;background:0 0!important}*{box-shadow:none!important;text-shadow:none!important}.cv-layout{font-size:10pt;line-height:1.4}.cv-layout h1{margin-bottom:4pt;font-size:18pt}.cv-layout h2{text-transform:uppercase;letter-spacing:.5pt;margin-top:14pt;margin-bottom:6pt;font-size:12pt}.cv-layout .cv-entry{margin-bottom:8pt}}.pub-card-container{container:pubcard/inline-size}.pub-card{border:1px solid var(--color-border);background:var(--color-bg-off);break-inside:avoid;border-radius:.5rem;padding:1rem 1.25rem;transition:border-color .2s,background-color .2s;position:relative}.pub-card:hover{border-color:var(--color-accent-border);background-color:var(--color-accent-bg)}.pub-card:has(.has-pdf){border-left:3px solid var(--color-success,#22c55e)}.pub-card:has(.has-arxiv) .pub-preprint-badge{display:inline-flex}.pub-card:has(.has-doi) .pub-card-title a:after{content:"";vertical-align:middle;opacity:.4;background:currentColor;width:.75rem;height:.75rem;margin-left:.375rem;display:inline-block;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71'/%3E%3Cpath d='M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71'/%3E%3Cpath d='M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71'/%3E%3C/svg%3E");-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.pub-card-body{flex-direction:column;gap:.375rem;display:flex}.pub-card-meta{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.pub-type-badge{font-family:var(--font-mono,ui-monospace, monospace);text-transform:uppercase;letter-spacing:.05em;color:var(--color-accent);border:1px solid var(--color-accent-border);background-color:var(--color-accent-bg);border-radius:9999px;padding:.125rem .5rem;font-size:.625rem;line-height:1.2}.pub-year{font-family:var(--font-mono,ui-monospace, monospace);color:var(--color-muted);font-size:.6875rem}.pub-preprint-badge{font-family:var(--font-mono,ui-monospace, monospace);text-transform:uppercase;letter-spacing:.05em;color:#d97706;background-color:#d9770610;border:1px solid #d9770640;border-radius:9999px;align-items:center;padding:.125rem .5rem;font-size:.625rem;line-height:1.2;display:none}.pub-status-badge{font-family:var(--font-mono,ui-monospace, monospace);text-transform:uppercase;letter-spacing:.05em;color:#6366f1;background-color:#6366f110;border:1px solid #6366f140;border-radius:9999px;margin-left:.5rem;padding:.125rem .5rem;font-size:.625rem;line-height:1.2;display:inline-flex}.pub-card-title{color:var(--color-text);margin:0;font-size:.9375rem;font-weight:600;line-height:1.4}.pub-card-title a{color:inherit;text-decoration:none;transition:color .15s}.pub-card-title a:hover{color:var(--color-link)}.pub-card-authors{color:var(--color-text-secondary,var(--color-muted));margin:0;font-size:.8125rem;line-height:1.5}.pub-card-authors :global(strong){color:var(--color-accent);font-weight:600}.pub-card-venue{color:var(--color-muted);margin:0;font-size:.75rem;line-height:1.4}.pub-card-abstract{color:var(--color-muted);margin:.25rem 0 0;font-size:.75rem;line-height:1.6}.pub-card-links{flex-wrap:wrap;gap:.5rem;margin-top:.375rem;display:flex}.pub-link{font-family:var(--font-mono,ui-monospace, monospace);text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted);border:1px solid var(--color-border);border-radius:.25rem;padding:.125rem .375rem;font-size:.625rem;text-decoration:none;transition:color .15s,border-color .15s}.pub-link:hover{color:var(--color-accent);border-color:var(--color-accent-border)}.pub-link[data-link=pdf]:hover{color:var(--color-success,#22c55e);border-color:var(--color-success,#22c55e)}@container pubcard (max-width:399px){.pub-card-body{gap:.25rem}.pub-card-title{font-size:.8125rem}.pub-card-authors,.pub-card-venue{font-size:.6875rem}.pub-card-links,.pub-card-abstract{display:none}}@container pubcard (min-width:600px){.pub-card{padding:1.25rem 1.5rem}.pub-card-title{font-size:1rem}}[data-theme=dark] .pub-preprint-badge{color:#fbbf24;background-color:#fbbf2410;border-color:#fbbf2440}.search-loading{color:var(--color-muted);font-family:var(--font-mono);flex-direction:column;align-items:center;gap:1rem;padding:3rem 1rem;font-size:.8rem;display:flex}.search-spinner{border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;width:1.5rem;height:1.5rem;animation:.8s linear infinite search-spin}@keyframes search-spin{to{transform:rotate(360deg)}}.search-error{border:1px solid var(--color-border);background:var(--color-bg-off);color:var(--color-muted);border-radius:.5rem;padding:1.5rem;font-size:.875rem}.search-error-hint{margin-top:.5rem;font-size:.75rem}.search-error-hint code{background:var(--color-code-bg);font-family:var(--font-mono);border-radius:.25rem;padding:.15em .35em}.search-input-wrap{margin-bottom:1.5rem}.search-input{width:100%;font-size:1rem;font-family:var(--font-sans);border:1px solid var(--color-border);background:var(--color-bg-off);color:var(--color-text);border-radius:.5rem;outline:none;padding:.75rem 1rem;transition:border-color .15s}.search-input:focus{border-color:var(--color-accent)}.search-input::placeholder{color:var(--color-muted)}.search-filters{border:1px solid var(--color-border-subtle);background:var(--color-bg-off);border-radius:.5rem;flex-direction:column;gap:.75rem;margin-bottom:1.5rem;padding:1rem;display:flex}.search-filter-group{border:none;margin:0;padding:0}.search-filter-legend{font-size:.7rem;font-family:var(--font-mono);color:var(--color-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.375rem}.search-filter-chips{flex-wrap:wrap;gap:.375rem;display:flex}.search-chip{font-size:.7rem;font-family:var(--font-mono);border:1px solid var(--color-border);color:var(--color-muted);cursor:pointer;background:0 0;border-radius:9999px;align-items:center;gap:.25rem;min-width:28px;min-height:28px;padding:.25rem .625rem;transition:all .15s;display:inline-flex}.search-chip:hover{border-color:var(--color-accent-border);color:var(--color-text-secondary)}.search-chip--active{border-color:var(--color-accent);background:var(--color-accent-bg);color:var(--color-accent)}.search-chip-count{opacity:.7;font-size:.6rem}.search-result-count{font-size:.8rem;font-family:var(--font-mono);color:var(--color-muted);margin-bottom:1rem}.search-results{flex-direction:column;gap:1rem;margin:0;padding:0;list-style:none;display:flex}.search-result-item{border:1px solid var(--color-border-subtle);background:var(--color-surface);border-radius:.5rem;padding:1rem 1.25rem;transition:border-color .15s}.search-result-item:hover{border-color:var(--color-accent-border)}.search-result-title{color:var(--color-link);font-size:1rem;font-weight:600;line-height:1.3;text-decoration:none}.search-result-title:hover{text-decoration:underline}.search-result-excerpt{color:var(--color-text-secondary);margin-top:.375rem;font-size:.85rem;line-height:1.6}.search-result-excerpt mark{background:var(--color-accent-bg);color:var(--color-accent);border-radius:.15rem;padding:.05em .15em}.search-result-url{font-size:.7rem;font-family:var(--font-mono);color:var(--color-muted);margin-top:.375rem;display:inline-block}@media(prefers-reduced-motion:reduce){.search-spinner{animation-duration:1.5s}}.prose{counter-reset:sidenote-counter}.sidenote-toggle{cursor:pointer;counter-increment:sidenote-counter}.sidenote-toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}.sidenote-number:after{content:counter(sidenote-counter);vertical-align:super;color:var(--color-accent);font-size:.65em;font-weight:600;line-height:0;font-family:var(--font-mono)}.sidenote{display:none}@media(min-width:80rem){.sidenote{float:right;clear:right;width:40%;color:var(--color-muted);border-left:2px solid var(--color-border-subtle);margin-top:.25rem;margin-bottom:.75rem;margin-right:-45%;padding-left:.75rem;font-size:.8rem;line-height:1.5;display:block}.sidenote:before{content:counter(sidenote-counter) ". ";font-family:var(--font-mono);color:var(--color-accent);font-size:.75rem;font-weight:600}.sidenote-popover{display:none!important}.sidenote-toggle{cursor:default}}.sidenote-popover{display:none}.sidenote-popover:popover-open{max-width:min(90vw,28rem);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);inset:unset;margin:auto;padding:1rem 1.25rem;font-size:.85rem;line-height:1.6;display:block;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.sidenote-popover:popover-open:before{content:"Note " counter(sidenote-counter);font-family:var(--font-mono);color:var(--color-accent);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--color-border-subtle);margin-bottom:.5rem;padding-bottom:.35rem;font-size:.7rem;font-weight:600;display:block}.sidenote-popover p{margin:0 0 .5rem}.sidenote-popover p:last-child{margin-bottom:0}.sidenote-popover::backdrop{background:#00000040}.sidenote-fallback{display:none}@supports not selector(:popover-open){@media(max-width:79.999rem){.sidenote-fallback{border-top:1px solid var(--color-border);color:var(--color-muted);margin-top:3rem;padding-top:2rem;font-size:.85rem;display:block}.sidenote-fallback ol{padding-left:1.5rem;list-style-type:decimal}.sidenote-fallback li{margin-bottom:.75rem}.sidenote-toggle{pointer-events:none}}}@media(prefers-reduced-motion:reduce){.sidenote-popover:popover-open{animation:none}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
