:root,:root[data-theme=light],:root[data-theme=dark],[data-theme=light] ::backdrop,[data-theme=dark] ::backdrop{color-scheme:dark;--sl-font:"IBM Plex Mono";--sl-font-mono:"IBM Plex Mono";--sl-color-white:#f5f7ff;--sl-color-gray-1:#eceff8;--sl-color-gray-2:#d4d7e5;--sl-color-gray-3:#adb2c4;--sl-color-gray-4:#888fa6;--sl-color-gray-5:#5b6175;--sl-color-gray-6:#343a4d;--sl-color-gray-7:#2a3041;--sl-color-black:#151821;--sl-color-accent-low:#3a2a5e;--sl-color-accent:#7e57c2;--sl-color-accent-high:#d8c5ff;--sl-color-text:#dde1ef;--sl-color-text-accent:#c7adff;--sl-color-text-invert:#151821;--sl-color-bg:#1f2128;--sl-color-bg-nav:#242733;--sl-color-bg-sidebar:#212431;--sl-color-bg-inline-code:#2b3040;--sl-color-bg-accent:#7e57c2;--sl-color-hairline-light:#41475a;--sl-color-hairline:#383e51;--sl-color-hairline-shade:#303548;--sl-line-height:1.58;--sl-line-height-headings:1.28;--sl-text-body:.96rem;--sl-text-body-sm:.86rem;--sl-nav-height:3.4rem;--sl-nav-pad-x:.9rem;--sl-content-width:82ch}html{scrollbar-gutter:stable both-edges}@media (width<=50rem){:root{--sl-nav-height:3.05rem;--sl-nav-pad-x:.7rem;--sl-content-width:94vw}}html,body{background:var(--sl-color-bg);color:var(--sl-color-text)}.header{background:var(--sl-color-bg-nav);border-bottom-color:var(--sl-color-hairline)}main{padding-bottom:1.2rem}.content-panel{padding-block:.9rem}.content-panel>.sl-container{margin-inline:auto}main>.content-panel+.content-panel{border-top:0;padding-top:.55rem}.sl-markdown-content{font-size:.96rem;line-height:1.58}.sl-markdown-content>:first-child{margin-top:0}.sl-markdown-content>:last-child{margin-bottom:0}.sl-markdown-content h1,.sl-markdown-content h2,.sl-markdown-content h3,.sl-markdown-content h4{letter-spacing:0;color:var(--sl-color-gray-1);margin-top:1rem;margin-bottom:.45rem;font-weight:600}.sl-markdown-content h1{font-size:clamp(1.35rem,2.2vw,1.74rem)}.sl-markdown-content h2{font-size:clamp(1.03rem,1.5vw,1.18rem)}.sl-markdown-content h3{font-size:1rem}.sl-markdown-content p,.sl-markdown-content li,.sl-markdown-content td,.sl-markdown-content th{max-width:82ch}.sl-markdown-content p{margin:.48rem 0}.sl-markdown-content a{color:var(--sl-color-text-accent);text-underline-offset:.13em;text-decoration:underline}.sl-markdown-content a:hover{color:var(--sl-color-accent-high)}.sl-markdown-content ul,.sl-markdown-content ol{margin:.46rem 0;padding-left:2.05ch}.sl-markdown-content li+li{margin-top:.2rem}.sl-markdown-content hr{border:0;border-top:1px dashed var(--sl-color-hairline-light);margin:.95rem 0}.sl-markdown-content pre{border:1px solid var(--sl-color-hairline);background:#202536;margin:.8rem 0;padding:.58rem .66rem;overflow:auto}.sl-markdown-content code{font-size:.92em}.sl-markdown-content :not(pre)>code{background:var(--sl-color-bg-inline-code);border:1px solid var(--sl-color-hairline-light);padding:.07rem .24rem}.sl-markdown-content table{border-collapse:collapse;table-layout:fixed;width:100%;margin:.8rem 0}.sl-markdown-content th,.sl-markdown-content td{border:1px solid var(--sl-color-hairline);vertical-align:top;text-align:left;padding:.34rem .46rem}.sl-markdown-content th{background:#262c40}.sl-markdown-content blockquote{border-left:2px solid var(--sl-color-accent);color:var(--sl-color-gray-3);background:#7e57c21a;margin:.8rem 0;padding:.42rem .7rem}.profile-slot{flex-direction:column;justify-content:center;align-items:center;margin:.2rem 0 .9rem;display:flex}.profile-slot__image{aspect-ratio:1;object-fit:cover;border:1px solid var(--sl-color-hairline);background:#23283a;border-radius:.3rem;width:clamp(13.5rem,33vw,18rem);padding:.26rem}.profile-slot__name{color:var(--sl-color-gray-3);margin-top:.4rem;font-size:.82rem}.landing-intro{grid-template-columns:minmax(12rem,16rem) minmax(0,1fr);align-items:center;gap:clamp(1.25rem,4vw,2.5rem);display:grid}.landing-intro .profile-slot{margin:0}.landing-intro .profile-slot__image{width:min(100%,16rem)}.landing-intro__copy{min-width:0}.sl-markdown-content .landing-intro__copy :is(p,li){max-width:none}.sl-markdown-content>.cv-personal{grid-template-columns:minmax(0,1fr) max-content;align-items:start;gap:.4rem 1.25rem;margin:0;display:grid}.cv-personal__name{color:var(--sl-color-gray-1);font-size:1.08rem;font-weight:600;line-height:1.28}.cv-personal__role{color:var(--sl-color-gray-2);margin-top:.12rem;font-size:.84rem;font-weight:500;line-height:1.4}.cv-personal__affiliation{color:var(--sl-color-gray-3);margin-top:.06rem;font-size:.76rem;line-height:1.4}.cv-personal__affiliation-line{display:block}.cv-personal__contact{justify-items:end;gap:.04rem;margin:0;font-size:.76rem;font-style:normal;line-height:1.4;display:grid}.cv-personal__contact-row{white-space:nowrap;justify-content:flex-end;align-items:center;gap:.4rem;display:flex}.sl-markdown-content>.cv-section{margin-top:1.05rem}.sl-markdown-content .cv-section :is(p,li){max-width:none}.cv-section__title{align-items:center;gap:.65rem;margin:0;display:flex}.cv-section__title:after{content:"";border-top:1px solid var(--sl-color-hairline-light);flex:1;min-width:2rem}.sl-markdown-content .cv-subsection{margin-top:.78rem}.cv-subsection__title{align-items:center;gap:.55rem;margin:0;font-size:.98rem;line-height:1.35;display:flex}.cv-subsection__title:after{content:"";border-top:1px solid var(--sl-color-hairline-light);opacity:.7;flex:1;min-width:1.5rem}.sl-markdown-content .cv-institution{color:var(--sl-color-gray-2);margin:.34rem 0 .18rem;font-size:.8rem;font-weight:600;line-height:1.38}.sl-markdown-content .cv-expertise{margin:.34rem 0 0;padding-left:1.2rem;font-size:.84rem;line-height:1.48}.sl-markdown-content .cv-resource-list{margin:.14rem 0 0;padding-left:1.2rem;font-size:.84rem;line-height:1.42}.cv-resource-list li+li{margin-top:.08rem}.cv-expertise li+li{margin-top:.18rem}.sl-markdown-content .cv-section-note{color:var(--sl-color-gray-3);margin:.22rem 0 .28rem;font-size:.76rem;line-height:1.42}.sl-markdown-content .cv-entries{row-gap:.04rem;margin:0;display:grid}.cv-entry{border-left:1px solid var(--sl-color-hairline);grid-template-columns:minmax(0,1fr) max-content;grid-template-areas:"title date""detail detail";gap:.08rem 1rem;padding:.18rem 0 .18rem .7rem;display:grid}.sl-markdown-content .cv-entries>.cv-entry,.sl-markdown-content .cv-entry__title,.sl-markdown-content .cv-entry__date,.sl-markdown-content .cv-entry__detail,.sl-markdown-content .cv-institution>p,.sl-markdown-content .cv-entry__title>p,.sl-markdown-content .cv-entry__detail>p,.sl-markdown-content .cv-summary>p,.sl-markdown-content .cv-section-note>p,.sl-markdown-content .cv-service dd>p,.sl-markdown-content .cv-competencies dd>p{margin:0}.cv-entry__title{color:var(--sl-color-gray-1);grid-area:title;font-size:.84rem;font-weight:600;line-height:1.38}.cv-entry__date{white-space:nowrap;color:var(--sl-color-gray-3);grid-area:date;align-self:start;font-size:.76rem;font-style:italic;line-height:1.5}.cv-entry__detail{color:var(--sl-color-gray-3);grid-area:detail;font-size:.76rem;line-height:1.4}.cv-at,.cv-separator{color:var(--sl-color-accent-high)}.sl-markdown-content .cv-summary{width:100%;max-width:none;margin:.34rem 0 0;font-size:.84rem;line-height:1.48}.sl-markdown-content .cv-summary>p,.sl-markdown-content .cv-section-note>p{width:100%;max-width:none}.sl-markdown-content .cv-service,.sl-markdown-content .cv-competencies{margin:.34rem 0 0}.cv-service__row,.cv-competencies__row{grid-template-columns:13.5rem minmax(0,1fr);align-items:baseline;gap:.7rem;font-size:.8rem;line-height:1.45;display:grid}.sl-markdown-content :is(.cv-service,.cv-competencies) dd{padding-inline-start:0}.cv-competencies dt{white-space:nowrap}.cv-service__row+.cv-service__row,.cv-competencies__row+.cv-competencies__row{margin-top:.24rem}.cv-service dt,.cv-service dd,.cv-competencies dt,.cv-competencies dd{margin:0}.cv-service dt,.cv-competencies dt{color:var(--sl-color-gray-1);font-weight:600}.cv-service dd,.cv-competencies dd{color:var(--sl-color-gray-2)}.cv-separator{padding-inline:.12rem}@media (width>=40.0625rem){.landing-intro{padding-bottom:1.5rem}.landing-intro .profile-slot{position:relative}.landing-intro .profile-slot__name{text-align:center;position:absolute;inset-block-start:100%;inset-inline:0}}@media (width<=40rem){.landing-intro{grid-template-columns:1fr;gap:.9rem}.landing-intro .profile-slot__image{width:min(70vw,14rem)}.sl-markdown-content>.cv-personal{grid-template-columns:1fr;gap:.32rem}.cv-personal__contact{justify-items:start;gap:.08rem}.cv-personal__contact-row{justify-content:flex-start}.cv-entry{grid-template-columns:1fr;grid-template-areas:"title""date""detail";gap:0;padding-block:.3rem}.cv-entry__date{margin-top:.03rem}.cv-entry__detail{margin-top:.05rem}.cv-service__row,.cv-competencies__row{grid-template-columns:1fr;align-items:start;gap:.04rem}.cv-competencies dt{white-space:normal}.cv-service__row+.cv-service__row,.cv-competencies__row+.cv-competencies__row{margin-top:.42rem}}@media print{:root,:root[data-theme=light],:root[data-theme=dark]{color-scheme:light;--sl-color-white:#111318;--sl-color-gray-1:#191c22;--sl-color-gray-2:#30343d;--sl-color-gray-3:#555b68;--sl-color-gray-4:#777e8c;--sl-color-gray-5:#c5cad3;--sl-color-gray-6:#e4e7ec;--sl-color-gray-7:#f5f6f8;--sl-color-black:#fff;--sl-color-accent-low:#eee9f7;--sl-color-accent:#5f3b99;--sl-color-accent-high:#4b2d7d;--sl-color-text:#20232a;--sl-color-text-accent:#4b2d7d;--sl-color-text-invert:#fff;--sl-color-bg:#fff;--sl-color-bg-nav:#fff;--sl-color-bg-sidebar:#fff;--sl-color-bg-inline-code:#f2f3f6;--sl-color-bg-accent:#5f3b99;--sl-color-hairline-light:#d9dde5;--sl-color-hairline:#cbd0da;--sl-color-hairline-shade:#bfc5d0}html,body,.page,.main-frame,main,.content-panel{color:var(--sl-color-text);background:#fff!important}html{font-size:14px}.portfolio-footer{display:none!important}.cv-entry,.cv-service__row,.cv-competencies__row,.cv-personal{break-inside:avoid}.cv-personal__contact a{color:inherit;text-decoration:none}.cv-section[aria-labelledby=teaching-course-coordination]{break-before:page}}@page{size:A4 portrait;margin:12mm}@layer starlight.base{:root,::backdrop{--sl-color-white:#fff;--sl-color-gray-1:#edeef3;--sl-color-gray-2:#c1c3c8;--sl-color-gray-3:#888c96;--sl-color-gray-4:#555962;--sl-color-gray-5:#353841;--sl-color-gray-6:#23262f;--sl-color-black:#17181c;--sl-hue-orange:41;--sl-color-orange-low:hsl(var(--sl-hue-orange), 39%, 22%);--sl-color-orange:hsl(var(--sl-hue-orange), 82%, 63%);--sl-color-orange-high:hsl(var(--sl-hue-orange), 82%, 87%);--sl-hue-green:101;--sl-color-green-low:hsl(var(--sl-hue-green), 39%, 22%);--sl-color-green:hsl(var(--sl-hue-green), 82%, 63%);--sl-color-green-high:hsl(var(--sl-hue-green), 82%, 80%);--sl-hue-blue:234;--sl-color-blue-low:hsl(var(--sl-hue-blue), 54%, 20%);--sl-color-blue:hsl(var(--sl-hue-blue), 100%, 60%);--sl-color-blue-high:hsl(var(--sl-hue-blue), 100%, 87%);--sl-hue-purple:281;--sl-color-purple-low:hsl(var(--sl-hue-purple), 39%, 22%);--sl-color-purple:hsl(var(--sl-hue-purple), 82%, 63%);--sl-color-purple-high:hsl(var(--sl-hue-purple), 82%, 89%);--sl-hue-red:339;--sl-color-red-low:hsl(var(--sl-hue-red), 39%, 22%);--sl-color-red:hsl(var(--sl-hue-red), 82%, 63%);--sl-color-red-high:hsl(var(--sl-hue-red), 82%, 87%);--sl-color-accent-low:#17264f;--sl-color-accent:#3369ff;--sl-color-accent-high:#b3c7ff;--sl-color-text:var(--sl-color-gray-2);--sl-color-text-accent:var(--sl-color-accent-high);--sl-color-text-invert:var(--sl-color-accent-low);--sl-color-bg:var(--sl-color-black);--sl-color-bg-nav:var(--sl-color-gray-6);--sl-color-bg-sidebar:var(--sl-color-gray-6);--sl-color-bg-inline-code:var(--sl-color-gray-5);--sl-color-bg-accent:var(--sl-color-accent-high);--sl-color-hairline-light:var(--sl-color-gray-5);--sl-color-hairline:var(--sl-color-gray-6);--sl-color-hairline-shade:var(--sl-color-black);--sl-color-backdrop-overlay:#16181da8;--sl-shadow-sm:0px 1px 1px #0000001f, 0px 2px 1px #0000003d;--sl-shadow-md:0px 8px 4px #00000014, 0px 5px 2px #00000014, 0px 3px 2px #0000001f, 0px 1px 1px #00000026;--sl-shadow-lg:0px 25px 7px #00000008, 0px 16px 6px #0000001a, 0px 9px 5px #16181d54, 0px 4px 4px #000000bf, 0px 4px 2px #00000040;--sl-text-2xs:.75rem;--sl-text-xs:.8125rem;--sl-text-sm:.875rem;--sl-text-base:1rem;--sl-text-lg:1.125rem;--sl-text-xl:1.25rem;--sl-text-2xl:1.5rem;--sl-text-3xl:1.8125rem;--sl-text-4xl:2.1875rem;--sl-text-5xl:2.625rem;--sl-text-6xl:4rem;--sl-text-body:var(--sl-text-base);--sl-text-body-sm:var(--sl-text-xs);--sl-text-code:var(--sl-text-sm);--sl-text-code-sm:var(--sl-text-xs);--sl-text-h1:var(--sl-text-4xl);--sl-text-h2:var(--sl-text-3xl);--sl-text-h3:var(--sl-text-2xl);--sl-text-h4:var(--sl-text-xl);--sl-text-h5:var(--sl-text-lg);--sl-line-height:1.75;--sl-line-height-headings:1.2;--sl-font-system:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--sl-font-system-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--__sl-font:var(--sl-font,var(--sl-font-system)), var(--sl-font-system);--__sl-font-mono:var(--sl-font-mono,var(--sl-font-system-mono)), var(--sl-font-system-mono);--sl-nav-height:3.5rem;--sl-nav-pad-x:1rem;--sl-nav-pad-y:.75rem;--sl-mobile-toc-height:3rem;--sl-sidebar-width:18.75rem;--sl-sidebar-pad-x:1rem;--sl-content-width:45rem;--sl-content-pad-x:1rem;--sl-content-gap-y:1rem;--sl-main-pad:0 0 3vh 0;--sl-menu-button-size:2rem;--sl-nav-gap:var(--sl-content-pad-x);--sl-outline-offset-inside:-.1875rem;--sl-z-index-toc:4;--sl-z-index-menu:5;--sl-z-index-navbar:10;--sl-z-index-skiplink:20}:root[data-theme=light],[data-theme=light] ::backdrop{--sl-color-white:#17181c;--sl-color-gray-1:#23262f;--sl-color-gray-2:#353841;--sl-color-gray-3:#555962;--sl-color-gray-4:#888c96;--sl-color-gray-5:#c1c3c8;--sl-color-gray-6:#edeef3;--sl-color-gray-7:#f6f7f9;--sl-color-black:#fff;--sl-color-orange-high:hsl(var(--sl-hue-orange), 80%, 25%);--sl-color-orange:hsl(var(--sl-hue-orange), 90%, 60%);--sl-color-orange-low:hsl(var(--sl-hue-orange), 90%, 88%);--sl-color-green-high:hsl(var(--sl-hue-green), 80%, 22%);--sl-color-green:hsl(var(--sl-hue-green), 90%, 46%);--sl-color-green-low:hsl(var(--sl-hue-green), 85%, 90%);--sl-color-blue-high:hsl(var(--sl-hue-blue), 80%, 30%);--sl-color-blue:hsl(var(--sl-hue-blue), 90%, 60%);--sl-color-blue-low:hsl(var(--sl-hue-blue), 88%, 90%);--sl-color-purple-high:hsl(var(--sl-hue-purple), 90%, 30%);--sl-color-purple:hsl(var(--sl-hue-purple), 90%, 60%);--sl-color-purple-low:hsl(var(--sl-hue-purple), 80%, 90%);--sl-color-red-high:hsl(var(--sl-hue-red), 80%, 30%);--sl-color-red:hsl(var(--sl-hue-red), 90%, 60%);--sl-color-red-low:hsl(var(--sl-hue-red), 80%, 90%);--sl-color-accent-high:#0f1c8a;--sl-color-accent:#3d50f5;--sl-color-accent-low:#cfd4fc;--sl-color-text-accent:var(--sl-color-accent);--sl-color-text-invert:var(--sl-color-black);--sl-color-bg-nav:var(--sl-color-gray-7);--sl-color-bg-sidebar:var(--sl-color-bg);--sl-color-bg-inline-code:var(--sl-color-gray-6);--sl-color-bg-accent:var(--sl-color-accent);--sl-color-hairline-light:var(--sl-color-gray-6);--sl-color-hairline-shade:var(--sl-color-gray-6);--sl-color-backdrop-overlay:#545864a8;--sl-shadow-sm:0px 1px 1px #0000000f, 0px 2px 1px #0000000f;--sl-shadow-md:0px 8px 4px #00000008, 0px 5px 2px #00000008, 0px 3px 2px #0000000f, 0px 1px 1px #0000000f;--sl-shadow-lg:0px 25px 7px #00000003, 0px 16px 6px #00000008, 0px 9px 5px #16181d14, 0px 4px 4px #00000029, 0px 4px 2px #0000000a}@media (width>=50em){:root{--sl-nav-height:4rem;--sl-nav-pad-x:1.5rem;--sl-text-h1:var(--sl-text-5xl);--sl-text-h2:var(--sl-text-4xl);--sl-text-h3:var(--sl-text-3xl);--sl-text-h4:var(--sl-text-2xl)}}@media (width>=72rem){:root{--sl-content-pad-x:1.5rem;--sl-mobile-toc-height:0rem}}}@layer starlight.reset{*,:before,:after{box-sizing:border-box}*{margin:0}html{color-scheme:dark;accent-color:var(--sl-color-accent);text-size-adjust:100%}html[data-theme=light]{color-scheme:light}body{font-family:var(--__sl-font);line-height:var(--sl-line-height);-webkit-font-smoothing:antialiased;color:var(--sl-color-text);background-color:var(--sl-color-bg)}[lang]:where(:lang(zh),:lang(ja)){text-autospace:normal}[lang]:where(:not(:lang(zh),:lang(ja))){text-autospace:initial}pre,code,samp,kbd{text-autospace:no-autospace}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6,code{overflow-wrap:break-word}code{font-family:var(--__sl-font-mono)}}@layer starlight.core{.sl-banner:where(.astro-y5d7njgm){--__sl-banner-text:var(--sl-color-banner-text,var(--sl-color-text-invert));padding:var(--sl-nav-pad-y) var(--sl-nav-pad-x);background-color:var(--sl-color-banner-bg,var(--sl-color-bg-accent));color:var(--__sl-banner-text);line-height:var(--sl-line-height-headings);text-align:center;text-wrap:balance;box-shadow:var(--sl-shadow-sm)}.sl-banner:where(.astro-y5d7njgm) a{color:var(--__sl-banner-text)}.content-panel:where(.astro-oil7k7jf){padding:1.5rem var(--sl-content-pad-x)}.content-panel:where(.astro-oil7k7jf)+.content-panel:where(.astro-oil7k7jf){border-top:1px solid var(--sl-color-hairline)}.sl-container:where(.astro-oil7k7jf){max-width:var(--sl-content-width)}.sl-container:where(.astro-oil7k7jf)>*+*{margin-top:1.5rem}@media (width>=72rem){.sl-container:where(.astro-oil7k7jf){margin-inline:var(--sl-content-margin-inline,auto)}}p:where(.astro-3rf4otau){border:1px solid var(--sl-color-orange);background-color:var(--sl-color-orange-low);color:var(--sl-color-orange-high);width:max-content;max-width:100%;font-size:var(--sl-text-body-sm);line-height:var(--sl-line-height-headings);text-align:start;align-items:center;gap:.75em;padding:.75em 1em}.portfolio-footer:where(.astro-2uq5pfvt){border-top:1px dashed var(--sl-color-hairline-light);margin-top:1rem;padding-top:.8rem}.portfolio-footer__meta:where(.astro-2uq5pfvt){flex-wrap:wrap;align-items:center;gap:.25rem .8rem;display:flex}.portfolio-footer__copy:where(.astro-2uq5pfvt),.portfolio-footer__updated:where(.astro-2uq5pfvt) p{color:var(--sl-color-gray-3);margin:0;font-size:.78rem}.portfolio-footer__links:where(.astro-2uq5pfvt){color:var(--sl-color-gray-3);flex-wrap:wrap;gap:.2rem 0;margin:0;padding:0;font-size:.78rem;list-style:none;display:flex}.portfolio-footer__links:where(.astro-2uq5pfvt) li:where(.astro-2uq5pfvt){align-items:center;margin:0;display:inline-flex}.portfolio-footer__links:where(.astro-2uq5pfvt) li:where(.astro-2uq5pfvt):not(:last-child){border-right:1px solid var(--sl-color-gray-4);margin-right:.55rem;padding-right:.55rem}.portfolio-footer__links:where(.astro-2uq5pfvt) a:where(.astro-2uq5pfvt){color:var(--sl-color-text-accent);text-decoration:none}.portfolio-footer__links:where(.astro-2uq5pfvt) a:where(.astro-2uq5pfvt):hover{color:var(--sl-color-accent-high);text-decoration:underline}@media (width<=40rem){.portfolio-footer__meta:where(.astro-2uq5pfvt){align-items:flex-start;gap:.35rem 0}}.portfolio-header:where(.astro-cohl3r3o){justify-content:center;align-items:center;height:100%;display:flex;position:relative}.portfolio-nav:where(.astro-cohl3r3o){max-width:min(100%,44rem);position:relative}.portfolio-nav-toggle:where(.astro-cohl3r3o){display:none}.portfolio-nav-list:where(.astro-cohl3r3o){align-items:center;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.portfolio-nav-link:where(.astro-cohl3r3o){letter-spacing:0;white-space:nowrap;height:1.86rem;color:var(--sl-color-gray-3);border:0;align-items:center;padding:0 .25rem;font-size:.78rem;font-weight:500;text-decoration:none;display:inline-flex}.portfolio-nav-link:where(.astro-cohl3r3o):before{content:"[";color:var(--sl-color-gray-4);margin-right:.12rem}.portfolio-nav-link:where(.astro-cohl3r3o):after{content:"]";color:var(--sl-color-gray-4);margin-left:.12rem}.portfolio-nav-link:where(.astro-cohl3r3o):hover{color:var(--sl-color-accent-high)}.portfolio-nav-link:where(.astro-cohl3r3o):focus-visible,.portfolio-nav-toggle:where(.astro-cohl3r3o):focus-visible{outline:2px solid var(--sl-color-accent-high);outline-offset:2px}.portfolio-nav-link:where(.astro-cohl3r3o).is-active{color:var(--sl-color-accent-high);font-weight:600}@media print{.page>header.header{display:none!important}}@media (width>=54.01rem){.portfolio-nav-panel:where(.astro-cohl3r3o){width:auto;box-shadow:none;background:0 0;border:0;padding:0;display:block;position:static;overflow:visible;transform:none}}@media (width<=54rem){.portfolio-nav:where(.astro-cohl3r3o){justify-content:center;width:100%;max-width:100%;display:flex}.portfolio-nav-toggle:where(.astro-cohl3r3o){cursor:pointer;min-height:2.25rem;color:var(--sl-color-accent-high);user-select:none;background:0 0;border:0;align-items:center;padding:0;font-size:.78rem;font-weight:600;list-style:none;display:inline-flex}.portfolio-nav-toggle:where(.astro-cohl3r3o)::-webkit-details-marker{display:none}.portfolio-nav-panel:where(.astro-cohl3r3o){top:var(--sl-nav-height);border-inline-end:1px solid var(--sl-color-hairline);background:var(--sl-color-bg-nav);width:min(86vw,18rem);box-shadow:var(--sl-shadow-md);z-index:calc(var(--sl-z-index-menu) + 2);padding:.6rem;transition:transform .22s;position:fixed;bottom:0;left:0;overflow-y:auto;transform:translate(-104%)}.portfolio-nav:where(.astro-cohl3r3o)[open] .portfolio-nav-panel:where(.astro-cohl3r3o){transform:translate(0)}.portfolio-nav-list:where(.astro-cohl3r3o){flex-direction:column;align-items:stretch;gap:.08rem}.portfolio-nav-link:where(.astro-cohl3r3o){height:auto;padding:.28rem .2rem;font-size:.78rem;display:block}}@media (prefers-reduced-motion:reduce){.portfolio-nav-panel:where(.astro-cohl3r3o){transition:none}}.hero:where(.astro-q2ezz3gc){grid-template-columns:100%;align-items:center;gap:1rem;padding-bottom:1rem;display:grid}.hero:where(.astro-q2ezz3gc)>img:where(.astro-q2ezz3gc),.hero:where(.astro-q2ezz3gc)>.hero-html:where(.astro-q2ezz3gc){object-fit:contain;width:min(70%,20rem);height:auto;margin-inline:auto}.stack:where(.astro-q2ezz3gc){text-align:center;flex-direction:column;gap:clamp(1.5rem,1.5rem + 1vw,2rem)}.copy:where(.astro-q2ezz3gc){flex-direction:column;align-items:center;gap:1rem}.copy:where(.astro-q2ezz3gc)>:where(.astro-q2ezz3gc){max-width:50ch}h1:where(.astro-q2ezz3gc){font-size:clamp(var(--sl-text-3xl), calc(.25rem + 5vw), var(--sl-text-6xl));line-height:var(--sl-line-height-headings);color:var(--sl-color-white);font-weight:600}.tagline:where(.astro-q2ezz3gc){font-size:clamp(var(--sl-text-base), calc(.0625rem + 2vw), var(--sl-text-xl));color:var(--sl-color-gray-2)}.actions:where(.astro-q2ezz3gc){flex-wrap:wrap;justify-content:center;gap:1rem 2rem}@media (width>=50rem){.hero:where(.astro-q2ezz3gc){grid-template-columns:7fr 4fr;gap:3%;padding-block:clamp(2.5rem,1rem + 10vmin,10rem)}.hero:where(.astro-q2ezz3gc)>img:where(.astro-q2ezz3gc),.hero:where(.astro-q2ezz3gc)>.hero-html:where(.astro-q2ezz3gc){order:2;width:min(100%,25rem)}.stack:where(.astro-q2ezz3gc){text-align:start}.copy:where(.astro-q2ezz3gc){align-items:flex-start}.actions:where(.astro-q2ezz3gc){justify-content:flex-start}}button:where(.astro-vvx7mffu){top:calc((var(--sl-nav-height) - var(--sl-menu-button-size)) / 2);z-index:var(--sl-z-index-navbar);width:var(--sl-menu-button-size);height:var(--sl-menu-button-size);background-color:var(--sl-color-white);color:var(--sl-color-black);box-shadow:var(--sl-shadow-md);cursor:pointer;border:0;border-radius:50%;padding:.5rem;position:fixed;inset-inline-end:var(--sl-nav-pad-x)}:where(.astro-vvx7mffu)[aria-expanded=true] button:where(.astro-vvx7mffu){background-color:var(--sl-color-gray-2);box-shadow:none}:where(.astro-vvx7mffu)[aria-expanded=true] button:where(.astro-vvx7mffu) .open-menu:where(.astro-vvx7mffu),:where(.astro-vvx7mffu):not([aria-expanded=true]) button:where(.astro-vvx7mffu) .close-menu:where(.astro-vvx7mffu){display:none}[data-theme=light] button:where(.astro-vvx7mffu){background-color:var(--sl-color-black);color:var(--sl-color-white)}[data-theme=light] :where(.astro-vvx7mffu)[aria-expanded=true] button:where(.astro-vvx7mffu){background-color:var(--sl-color-gray-5)}[data-mobile-menu-expanded]{overflow:hidden}@media (width>=50rem){[data-mobile-menu-expanded]{overflow:auto}}.page:where(.astro-gqpr5s5a){flex-direction:column;min-height:100vh}.header:where(.astro-gqpr5s5a){z-index:var(--sl-z-index-navbar);width:100%;height:var(--sl-nav-height);border-bottom:1px solid var(--sl-color-hairline-shade);padding:var(--sl-nav-pad-y) var(--sl-nav-pad-x);background-color:var(--sl-color-bg-nav);padding-inline-end:var(--sl-nav-pad-x);position:fixed;inset-block-start:0;inset-inline-start:0}[data-has-sidebar] .header:where(.astro-gqpr5s5a){padding-inline-end:calc(var(--sl-nav-gap) + var(--sl-nav-pad-x) + var(--sl-menu-button-size))}.sidebar-pane:where(.astro-gqpr5s5a){visibility:var(--sl-sidebar-visibility,hidden);z-index:var(--sl-z-index-menu);inset-block:var(--sl-nav-height) 0;background-color:var(--sl-color-black);scrollbar-gutter:stable;width:100%;position:fixed;inset-inline-start:0;overflow-y:auto}[aria-expanded=true]~.sidebar-pane:where(.astro-gqpr5s5a){--sl-sidebar-visibility:visible}.sidebar-content:where(.astro-gqpr5s5a){height:100%;min-height:max-content;padding:1rem var(--sl-sidebar-pad-x) 0;flex-direction:column;gap:1rem}@media (width>=50rem){.sidebar-content:where(.astro-gqpr5s5a):after{content:"";padding-bottom:1px}}.main-frame:where(.astro-gqpr5s5a){padding-top:calc(var(--sl-nav-height) + var(--sl-mobile-toc-height));padding-inline-start:var(--sl-content-inline-start)}@media (width>=50rem){[data-has-sidebar] .header:where(.astro-gqpr5s5a){padding-inline-end:var(--sl-nav-pad-x)}.sidebar-pane:where(.astro-gqpr5s5a){--sl-sidebar-visibility:visible;width:var(--sl-sidebar-width);background-color:var(--sl-color-bg-sidebar);border-inline-end:1px solid var(--sl-color-hairline-shade)}}h1:where(.astro-2sm4b3ln){font-size:var(--sl-text-h1);line-height:var(--sl-line-height-headings);color:var(--sl-color-white);margin-top:1rem;font-weight:600}.cv-page-title:where(.astro-nrfilg62){flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.cv-print-button:where(.astro-nrfilg62){block-size:2.25rem;inline-size:2.25rem;color:var(--sl-color-gray-2);border:1px solid var(--sl-color-hairline-shade);background:var(--sl-color-bg-nav);cursor:pointer;border-radius:50%;flex-shrink:0;place-items:center;margin-top:1rem;padding:0;transition:color .15s,border-color .15s,background-color .15s;display:inline-grid}.cv-print-button:where(.astro-nrfilg62):hover{color:var(--sl-color-accent-high);border-color:var(--sl-color-accent);background:var(--sl-color-accent-low)}.cv-print-button:where(.astro-nrfilg62) svg:where(.astro-nrfilg62){stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:1.05rem;height:1.05rem}.cv-print-button:where(.astro-nrfilg62):focus-visible{outline:2px solid var(--sl-color-accent-high);outline-offset:2px}@media print{.cv-print-button:where(.astro-nrfilg62){display:none}}label:where(.astro-r2p65idu){--sl-label-icon-size:.875rem;--sl-caret-size:1.25rem;--sl-inline-padding:.5rem;color:var(--sl-color-gray-2);align-items:center;gap:.25rem;display:flex;position:relative}label:where(.astro-r2p65idu):hover{color:var(--sl-color-white)}.icon:where(.astro-r2p65idu){pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}select:where(.astro-r2p65idu){padding-block:.625rem;padding-inline:calc(var(--sl-label-icon-size) + var(--sl-inline-padding) + .25rem) calc(var(--sl-caret-size) + var(--sl-inline-padding) + .25rem);margin-inline:calc(var(--sl-inline-padding) * -1);width:calc(var(--sl-select-width) + var(--sl-inline-padding) * 2);text-overflow:ellipsis;color:inherit;cursor:pointer;appearance:none;background-color:#0000;border:0}option:where(.astro-r2p65idu){background-color:var(--sl-color-bg-nav);color:var(--sl-color-gray-1)}@media (width>=50rem){select:where(.astro-r2p65idu){font-size:var(--sl-text-sm)}}a:where(.astro-cg55etiy){color:var(--sl-color-text-accent);margin:-.5em;padding:.5em}a:where(.astro-cg55etiy):hover{color:var(--sl-color-white)}.social-icons:where(.astro-b5gddk54){align-items:center;gap:1rem;margin-inline-end:auto;padding-block:1rem;display:flex}.social-icons:where(.astro-b5gddk54):empty{display:none}.mobile-preferences:where(.astro-b5gddk54){border-top:1px solid var(--sl-color-gray-6);flex-wrap:wrap;justify-content:space-between;column-gap:1rem;padding:.5rem 0}sl-sidebar-state-persist:where(.astro-f5yvicm7){display:contents}ul:where(.astro-ojxuodky){--sl-sidebar-item-padding-inline:.5rem;padding:0;list-style:none}li:where(.astro-ojxuodky){overflow-wrap:anywhere}ul:where(.astro-ojxuodky) ul:where(.astro-ojxuodky) li:where(.astro-ojxuodky){border-inline-start:1px solid var(--sl-color-hairline-light);margin-inline-start:var(--sl-sidebar-item-padding-inline);padding-inline-start:var(--sl-sidebar-item-padding-inline)}.large:where(.astro-ojxuodky){font-size:var(--sl-text-lg);color:var(--sl-color-white);font-weight:600}.top-level:where(.astro-ojxuodky)>li:where(.astro-ojxuodky)+li:where(.astro-ojxuodky){margin-top:.75rem}summary:where(.astro-ojxuodky){padding:.2em var(--sl-sidebar-item-padding-inline);cursor:pointer;user-select:none;justify-content:space-between;align-items:center;line-height:1.4;display:flex}summary:where(.astro-ojxuodky)::marker{display:none}summary:where(.astro-ojxuodky)::-webkit-details-marker{display:none}.caret:where(.astro-ojxuodky){flex-shrink:0;transition:transform .2s ease-in-out}[dir=rtl] .caret:where(.astro-ojxuodky){transform:rotate(180deg)}:where(.astro-ojxuodky)[open]>summary:where(.astro-ojxuodky) .caret:where(.astro-ojxuodky){transform:rotate(90deg)}a:where(.astro-ojxuodky){color:var(--sl-color-gray-2);padding:.3em var(--sl-sidebar-item-padding-inline);border-radius:.25rem;line-height:1.4;text-decoration:none;display:block}a:where(.astro-ojxuodky):hover,a:where(.astro-ojxuodky):focus{color:var(--sl-color-white)}:where(.astro-ojxuodky)[aria-current=page],:where(.astro-ojxuodky)[aria-current=page]:hover,:where(.astro-ojxuodky)[aria-current=page]:focus{color:var(--sl-color-text-invert);background-color:var(--sl-color-text-accent);font-weight:600}a:where(.astro-ojxuodky)>:where(.astro-ojxuodky):not(:last-child),.group-label:where(.astro-ojxuodky)>:where(.astro-ojxuodky):not(:last-child){margin-inline-end:.25em}@media (width>=50rem){.top-level:where(.astro-ojxuodky)>li:where(.astro-ojxuodky)+li:where(.astro-ojxuodky){margin-top:.5rem}.large:where(.astro-ojxuodky){font-size:var(--sl-text-base)}a:where(.astro-ojxuodky){font-size:var(--sl-text-sm)}}a:where(.astro-vxeigawq){clip:rect(0, 0, 0, 0);top:.75rem;position:fixed;inset-inline-start:.75rem}a:where(.astro-vxeigawq):focus{clip:unset;z-index:var(--sl-z-index-skiplink);color:var(--sl-color-text-invert);background-color:var(--sl-color-text-accent);box-shadow:var(--sl-shadow-lg);padding:.5rem 1rem;text-decoration:none;display:block}.main-pane:where(.astro-abfeecmu){isolation:isolate}@media (width>=72rem){.right-sidebar-container:where(.astro-abfeecmu){width:max(var(--sl-sidebar-width), calc(var(--sl-sidebar-width) + (100% - var(--sl-content-width) - var(--sl-sidebar-width)) / 2));order:2;position:relative}.right-sidebar:where(.astro-abfeecmu){border-inline-start:1px solid var(--sl-color-hairline);padding-top:var(--sl-nav-height);scrollbar-width:none;width:100%;height:100vh;position:fixed;top:0;overflow-y:auto}.main-pane:where(.astro-abfeecmu){width:100%}[data-has-sidebar][data-has-toc] .main-pane:where(.astro-abfeecmu){--sl-content-margin-inline:auto 0;width:min(calc(100% - var(--sl-sidebar-width)), calc(var(--sl-content-width) + (100% - var(--sl-content-width) - var(--sl-sidebar-width)) / 2));order:1}}}@layer starlight.content{.sl-markdown-content .sl-heading-wrapper{--sl-anchor-icon-size:.8275em;--sl-anchor-icon-gap:.25em;--sl-anchor-icon-space:calc(var(--sl-anchor-icon-size) + var(--sl-anchor-icon-gap));line-height:var(--sl-line-height-headings)}.sl-markdown-content :not(h1,h2,h3,h4,h5,h6,.sl-heading-wrapper)+.sl-heading-wrapper{margin-top:1.5em}.sl-markdown-content .sl-heading-wrapper.level-h1{font-size:var(--sl-text-h1)}.sl-markdown-content .sl-heading-wrapper.level-h2{font-size:var(--sl-text-h2)}.sl-markdown-content .sl-heading-wrapper.level-h3{font-size:var(--sl-text-h3)}.sl-markdown-content .sl-heading-wrapper.level-h4{font-size:var(--sl-text-h4)}.sl-markdown-content .sl-heading-wrapper.level-h5{font-size:var(--sl-text-h5)}.sl-markdown-content .sl-heading-wrapper.level-h6{font-size:var(--sl-text-h6)}.sl-markdown-content .sl-heading-wrapper>:first-child{padding-inline-end:var(--sl-anchor-icon-space);display:inline}.sl-markdown-content .sl-anchor-link{user-select:none;margin-inline-start:calc(-1 * var(--sl-anchor-icon-size));display:inline-flex;position:relative}.sl-markdown-content .sl-anchor-link:after{content:"";position:absolute;inset:-.25rem -.5rem}.sl-markdown-content .sl-anchor-icon>svg{width:var(--sl-anchor-icon-size);vertical-align:top;transform:translateY(calc((var(--sl-line-height-headings) * 1em - var(--sl-anchor-icon-size)) / 2));display:inline}@media (hover:hover){.sl-markdown-content .sl-anchor-link{opacity:0}.sl-markdown-content .sl-anchor-link:focus,.sl-markdown-content .sl-heading-wrapper:hover .sl-anchor-link{opacity:1}}.sl-markdown-content :not(a,strong,em,del,span,input,code,br)+:not(a,strong,em,del,span,input,code,br,:where(.not-content *)),.sl-markdown-content :not(a,strong,em,del,span,input,code,br)+:is(astro-island,astro-slot)>:not(a,strong,em,del,span,input,code,br,:where(.not-content *)):first-child{margin-top:var(--sl-content-gap-y)}.sl-markdown-content :not(h1,h2,h3,h4,h5,h6)+:is(h1,h2,h3,h4,h5,h6):not(:where(.not-content *)){margin-top:1.5em}.sl-markdown-content li+li:not(:where(.not-content *)),.sl-markdown-content dt+dt:not(:where(.not-content *)),.sl-markdown-content dt+dd:not(:where(.not-content *)),.sl-markdown-content dd+dd:not(:where(.not-content *)){margin-top:.25rem}.sl-markdown-content li:not(:where(.not-content *)){overflow-wrap:anywhere}.sl-markdown-content :is(ol,ul):has(>li>:not(a,strong,em,del,span,input,code,br,script,ol,ul))>li>:is(:last-child:not(a,strong,em,del,span,input,code,br,script,:where(.not-content *)),:not(script):has(~script:last-child):not(:has(~:not(script)))){margin-bottom:1.25rem}.sl-markdown-content dt:not(:where(.not-content *)){font-weight:700}.sl-markdown-content dd:not(:where(.not-content *)){padding-inline-start:1rem}.sl-markdown-content :is(h1,h2,h3,h4,h5,h6):not(:where(.not-content *)){color:var(--sl-color-white);line-height:var(--sl-line-height-headings);font-weight:600}.sl-markdown-content :is(img,picture,video,canvas,svg,iframe):not(:where(.not-content *)){max-width:100%;height:auto;display:block}.sl-markdown-content h1:not(:where(.not-content *)){font-size:var(--sl-text-h1)}.sl-markdown-content h2:not(:where(.not-content *)){font-size:var(--sl-text-h2)}.sl-markdown-content h3:not(:where(.not-content *)){font-size:var(--sl-text-h3)}.sl-markdown-content h4:not(:where(.not-content *)){font-size:var(--sl-text-h4)}.sl-markdown-content h5:not(:where(.not-content *)){font-size:var(--sl-text-h5)}.sl-markdown-content h6:not(:where(.not-content *)){font-size:var(--sl-text-h6)}.sl-markdown-content a:not(:where(.not-content *)){color:var(--sl-color-text-accent)}.sl-markdown-content a:hover:not(:where(.not-content *)){color:var(--sl-color-white)}.sl-markdown-content code:not(:where(.not-content *)){background-color:var(--sl-color-bg-inline-code);font-size:var(--sl-text-code-sm);margin-block:-.125rem;padding:.125rem .375rem}.sl-markdown-content :is(h1,h2,h3,h4,h5,h6) code{font-size:inherit}.sl-markdown-content pre:not(:where(.not-content *)){border:1px solid var(--sl-color-gray-5);font-size:var(--sl-text-code);tab-size:2;padding:.75rem 1rem}.sl-markdown-content pre code:not(:where(.not-content *)){all:unset;font-family:var(--__sl-font-mono)}.sl-markdown-content blockquote:not(:where(.not-content *)){border-inline-start:1px solid var(--sl-color-gray-5);padding-inline-start:1rem}.sl-markdown-content table:not(:where(.not-content *)){border-spacing:0;display:block;overflow:auto}.sl-markdown-content :is(th,td):not(:where(.not-content *)){border-bottom:1px solid var(--sl-color-gray-5);vertical-align:baseline;padding:.5rem 1rem}.sl-markdown-content :is(th:first-child,td:first-child):not(:where(.not-content *)){padding-inline-start:0}.sl-markdown-content :is(th:last-child,td:last-child):not(:where(.not-content *)){padding-inline-end:0}.sl-markdown-content th:not(:where(.not-content *)){color:var(--sl-color-white);font-weight:600}.sl-markdown-content th:not([align]):not(:where(.not-content *)){text-align:start}.sl-markdown-content .starlight-aside :is(th,td,hr,blockquote):not(:where(.not-content *)){border-color:var(--sl-color-gray-4)}@supports (border-color:color-mix(in srgb, var(--sl-color-asides-text-accent) 30%, transparent)
	){.sl-markdown-content .starlight-aside :is(th,td,hr,blockquote):not(:where(.not-content *)){border-color:color-mix(in srgb, var(--sl-color-asides-text-accent) 30%, transparent)}}@supports (border-color:color-mix(in srgb, var(--sl-color-asides-text-accent) 12%, transparent)
	){.sl-markdown-content .starlight-aside code:not(:where(.not-content *)){background-color:color-mix(in srgb, var(--sl-color-asides-text-accent) 12%, transparent)}}.sl-markdown-content hr:not(:where(.not-content *)){border:0;border-bottom:1px solid var(--sl-color-hairline)}.sl-markdown-content details:not(:where(.not-content *)){--sl-details-border-color:var(--sl-color-gray-5);--sl-details-border-color--hover:var(--sl-color-text-accent);border-inline-start:2px solid var(--sl-details-border-color);padding-inline-start:1rem}.sl-markdown-content details:not([open]):hover:not(:where(.not-content *)),.sl-markdown-content details:has(>summary:hover):not(:where(.not-content *)){border-color:var(--sl-details-border-color--hover)}.sl-markdown-content summary:not(:where(.not-content *)){color:var(--sl-color-white);cursor:pointer;margin-inline-start:-.5rem;padding-inline-start:.5rem;font-weight:600;display:block}.sl-markdown-content details[open]>summary:not(:where(.not-content *)){margin-bottom:1rem}.sl-markdown-content summary:not(:where(.not-content *))::marker{display:none}.sl-markdown-content summary:not(:where(.not-content *))::-webkit-details-marker{display:none}.sl-markdown-content summary:not(:where(.not-content *)):before{--sl-details-marker-size:1.25rem;content:"";height:var(--sl-details-marker-size);width:var(--sl-details-marker-size);margin-inline:calc((var(--sl-details-marker-size) / 4) * -1) .25rem;vertical-align:middle;background-color:currentColor;display:inline-block;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14.8 11.3 10.6 7a1 1 0 1 0-1.4 1.5l3.5 3.5-3.5 3.5a1 1 0 0 0 0 1.4 1 1 0 0 0 .7.3 1 1 0 0 0 .7-.3l4.2-4.2a1 1 0 0 0 0-1.4Z'/%3E%3C/svg%3E%0A");mask-repeat:no-repeat}@media (prefers-reduced-motion:no-preference){.sl-markdown-content summary:not(:where(.not-content *)):before{transition:transform .2s ease-in-out}}.sl-markdown-content details[open]>summary:not(:where(.not-content *)):before{transform:rotate(90deg)}[dir=rtl] .sl-markdown-content summary:not(:where(.not-content *)):before,.sl-markdown-content [dir=rtl] summary:not(:where(.not-content *)):before{transform:rotate(180deg)}.sl-markdown-content summary:not(:where(.not-content *)) p:only-child{display:inline}.sl-markdown-content .starlight-aside details:not(:where(.not-content *)){--sl-details-border-color:var(--sl-color-asides-border);--sl-details-border-color--hover:var(--sl-color-asides-text-accent)}}@layer starlight.components{.starlight-aside{border-inline-start:.25rem solid var(--sl-color-asides-border);color:var(--sl-color-white);padding:1rem}.starlight-aside--note{--sl-color-asides-text-accent:var(--sl-color-blue-high);--sl-color-asides-border:var(--sl-color-blue);background-color:var(--sl-color-blue-low)}.starlight-aside--tip{--sl-color-asides-text-accent:var(--sl-color-purple-high);--sl-color-asides-border:var(--sl-color-purple);background-color:var(--sl-color-purple-low)}.starlight-aside--caution{--sl-color-asides-text-accent:var(--sl-color-orange-high);--sl-color-asides-border:var(--sl-color-orange);background-color:var(--sl-color-orange-low)}.starlight-aside--danger{--sl-color-asides-text-accent:var(--sl-color-red-high);--sl-color-asides-border:var(--sl-color-red);background-color:var(--sl-color-red-low)}.starlight-aside__title{font-size:var(--sl-text-h5);font-weight:600;line-height:var(--sl-line-height-headings);color:var(--sl-color-asides-text-accent);align-items:center;gap:.5rem;display:flex}.starlight-aside__icon{width:1em;height:1em;font-size:1.333em}.starlight-aside__title+.starlight-aside__content{margin-top:.5rem}.starlight-aside__content:empty{display:none}.starlight-aside__content a{color:var(--sl-color-asides-text-accent)}svg:where(.astro-n5k4ipy7){color:var(--sl-icon-color);font-size:var(--sl-icon-size,1em);width:1em;height:1em}.sl-link-button:where(.astro-hlbqph7b){font-size:var(--sl-text-sm);outline-offset:.25rem;border:1px solid #0000;border-radius:999rem;align-items:center;gap:.5em;padding:.4375rem 1.125rem;line-height:1.1875;text-decoration:none;display:inline-flex}.sl-link-button:where(.astro-hlbqph7b).primary{background:var(--sl-color-text-accent);border-color:var(--sl-color-text-accent);color:var(--sl-color-black)}.sl-link-button:where(.astro-hlbqph7b).primary:hover{color:var(--sl-color-black)}.sl-link-button:where(.astro-hlbqph7b).secondary{border-color:inherit;color:var(--sl-color-white)}.sl-link-button:where(.astro-hlbqph7b).minimal{color:var(--sl-color-white);padding-inline:0}.sl-link-button:where(.astro-hlbqph7b) svg{flex-shrink:0}@media (width>=50rem){.sl-link-button:where(.astro-hlbqph7b){font-size:var(--sl-text-base);padding:.9375rem 1.25rem}}.sl-markdown-content .sl-link-button:where(.astro-hlbqph7b){margin-inline-end:1rem}.sl-markdown-content .sl-link-button:where(.astro-hlbqph7b):not(:where(p *)){margin-block:1rem}.label-icon:where(.astro-r2p65idu){font-size:var(--sl-label-icon-size);inset-inline-start:0}.caret:where(.astro-r2p65idu){font-size:var(--sl-caret-size);inset-inline-end:0}:root{--sl-badge-default-border:var(--sl-color-accent);--sl-badge-default-bg:var(--sl-color-accent-low);--sl-badge-default-text:#fff;--sl-badge-note-border:var(--sl-color-blue);--sl-badge-note-bg:var(--sl-color-blue-low);--sl-badge-note-text:#fff;--sl-badge-danger-border:var(--sl-color-red);--sl-badge-danger-bg:var(--sl-color-red-low);--sl-badge-danger-text:#fff;--sl-badge-success-border:var(--sl-color-green);--sl-badge-success-bg:var(--sl-color-green-low);--sl-badge-success-text:#fff;--sl-badge-caution-border:var(--sl-color-orange);--sl-badge-caution-bg:var(--sl-color-orange-low);--sl-badge-caution-text:#fff;--sl-badge-tip-border:var(--sl-color-purple);--sl-badge-tip-bg:var(--sl-color-purple-low);--sl-badge-tip-text:#fff}[data-theme=light]:root{--sl-badge-default-bg:var(--sl-color-accent-high);--sl-badge-note-bg:var(--sl-color-blue-high);--sl-badge-danger-bg:var(--sl-color-red-high);--sl-badge-success-bg:var(--sl-color-green-high);--sl-badge-caution-bg:var(--sl-color-orange-high);--sl-badge-tip-bg:var(--sl-color-purple-high)}.sl-badge:where(.astro-7hkzaclv){border:1px solid var(--sl-color-border-badge);font-family:var(--sl-font-system-mono);color:var(--sl-color-text-badge);background-color:var(--sl-color-bg-badge);overflow-wrap:anywhere;border-radius:.25rem;line-height:normal;display:inline-block}.sidebar-content .sl-badge:where(.astro-7hkzaclv){line-height:1;font-size:var(--sl-text-xs);padding:.125rem .375rem}.sidebar-content a[aria-current=page]>.sl-badge:where(.astro-7hkzaclv){--sl-color-bg-badge:transparent;--sl-color-border-badge:currentColor;color:inherit}.default:where(.astro-7hkzaclv){--sl-color-bg-badge:var(--sl-badge-default-bg);--sl-color-border-badge:var(--sl-badge-default-border);--sl-color-text-badge:var(--sl-badge-default-text)}.note:where(.astro-7hkzaclv){--sl-color-bg-badge:var(--sl-badge-note-bg);--sl-color-border-badge:var(--sl-badge-note-border);--sl-color-text-badge:var(--sl-badge-note-text)}.danger:where(.astro-7hkzaclv){--sl-color-bg-badge:var(--sl-badge-danger-bg);--sl-color-border-badge:var(--sl-badge-danger-border);--sl-color-text-badge:var(--sl-badge-danger-text)}.success:where(.astro-7hkzaclv){--sl-color-bg-badge:var(--sl-badge-success-bg);--sl-color-border-badge:var(--sl-badge-success-border);--sl-color-text-badge:var(--sl-badge-success-text)}.tip:where(.astro-7hkzaclv){--sl-color-bg-badge:var(--sl-badge-tip-bg);--sl-color-border-badge:var(--sl-badge-tip-border);--sl-color-text-badge:var(--sl-badge-tip-text)}.caution:where(.astro-7hkzaclv){--sl-color-bg-badge:var(--sl-badge-caution-bg);--sl-color-border-badge:var(--sl-badge-caution-border);--sl-color-text-badge:var(--sl-badge-caution-text)}.small:where(.astro-7hkzaclv){font-size:var(--sl-text-xs);padding:.125rem .25rem}.medium:where(.astro-7hkzaclv){font-size:var(--sl-text-sm);padding:.175rem .35rem}.large:where(.astro-7hkzaclv){font-size:var(--sl-text-base);padding:.225rem .45rem}.sl-markdown-content :is(h1,h2,h3,h4,h5,h6) .sl-badge:where(.astro-7hkzaclv){vertical-align:middle}}@layer starlight.utils{.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sl-hidden{display:none}.sl-flex{display:flex}.sl-block{display:block}@media (width>=50rem){.md\:sl-hidden{display:none}.md\:sl-flex{display:flex}.md\:sl-block{display:block}}@media (width>=72rem){.lg\:sl-hidden{display:none}.lg\:sl-flex{display:flex}.lg\:sl-block{display:block}}[data-theme=light] .light\:sl-hidden,[data-theme=dark] .dark\:sl-hidden{display:none}[dir=rtl] .rtl\:flip:not(:where([dir=rtl] [dir=ltr] *)){transform:matrix(-1,0,0,1,0,0)}}html:not([data-has-toc]){--sl-mobile-toc-height:0rem}html:not([data-has-sidebar]){--sl-content-width:67.5rem}html{scroll-padding-top:calc(1.5rem + var(--sl-nav-height) + var(--sl-mobile-toc-height))}main:where(.astro-vdxcvpsm){padding:var(--sl-main-pad)}@media (width>=50em){:where(.astro-vdxcvpsm)[data-has-sidebar]{--sl-content-inline-start:var(--sl-sidebar-width)}}@media (width>=72em){html{scroll-padding-top:calc(1.5rem + var(--sl-nav-height))}}
