:root{--color-canvas:oklch(97.6% 0.002 260);--color-surface:oklch(100% 0 0);--color-ink:oklch(17% 0.005 260);--color-muted:oklch(45% 0.008 260);--color-rule:oklch(86% 0.004 260);--color-accent:oklch(48% 0.23 265);--color-nav:oklch(22% 0.005 260);--color-nav-muted:oklch(81% 0.003 260);--color-hover:oklch(94% 0.003 260);--font-body:var(--font-inter),Arial,sans-serif;--font-display:var(--font-condensed),Impact,sans-serif;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:40px;--space-3xl:64px;--space-4xl:80px;--space-section:clamp(80px,9vw,144px);--gutter:clamp(20px,4vw,64px);--width-site:1320px;--width-reading:760px;--text-small:0.875rem;--text-body:clamp(1rem,0.94rem + 0.2vw,1.125rem);--text-lead:clamp(1.25rem,1rem + 1vw,1.875rem);--text-title:clamp(3rem,1.65rem + 4.8vw,6rem);--text-hero:clamp(4.5rem,12.6vw,11.25rem);--text-project:clamp(1.5rem,1.1rem + 1.2vw,2.25rem);--leading-body:1.65;--leading-display:0.95;--tracking-display:-0.025em;--radius-image:8px;--radius-pill:999px;--target-size:44px;--duration-ui:180ms;--duration-navigation:240ms;--header-offset:112px;--width-resume:1040px;--text-resume-name:clamp(2rem,1.5rem + 2vw,3.5rem);--ease-out:cubic-bezier(0.16,1,0.3,1);--ease-in:cubic-bezier(0.7,0,0.84,0);--ease-in-out:cubic-bezier(0.77,0,0.175,1)}html{scroll-padding-top:var(--header-offset)}body,html{background:var(--color-canvas);color:var(--color-ink);overflow-x:clip}body{font-family:var(--font-body);line-height:var(--leading-body);-webkit-font-smoothing:antialiased}::-moz-selection{background:var(--color-accent);color:var(--color-surface)}::selection{background:var(--color-accent);color:var(--color-surface)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:5px}main:focus{outline:none}a{text-underline-offset:4px}a,button{-webkit-tap-highlight-color:transparent}.site-container{width:min(100% - var(--gutter) * 2,var(--width-site));margin-inline:auto}.page-content{padding-top:var(--space-3xl);padding-bottom:var(--space-section);min-height:65vh}.skip-link{position:fixed;top:var(--space-md);left:var(--space-md);z-index:100;background:var(--color-ink);color:var(--color-surface);padding:var(--space-md);transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.header-spacer{height:124px}.site-header-shell{position:fixed;inset:0 0 auto;z-index:20;pointer-events:none}.site-header{display:flex;align-items:center;justify-content:flex-end;padding-block:var(--space-xl);gap:var(--space-lg);position:relative}.site-header-shell.is-floating .site-header{justify-content:center;padding-block:var(--space-md)}.nav-dock{position:relative;pointer-events:auto;display:flex;align-items:center;isolation:isolate;border-radius:var(--radius-pill)}.is-floating .nav-dock{padding-left:calc(var(--target-size) + var(--space-sm))}.nav-dock-surface{position:absolute;inset:0;z-index:-1;pointer-events:none;background:var(--color-nav);border-radius:var(--radius-pill)}.header-wordmark{position:absolute;left:0;pointer-events:auto;transition:opacity var(--duration-navigation) var(--ease-out)}.dock-home,.is-floating .header-wordmark{opacity:0;pointer-events:none}.dock-home{position:absolute;left:var(--space-sm);top:50%;display:inline-flex;align-items:center;justify-content:center;min-width:var(--target-size);min-height:var(--target-size);color:var(--color-surface);font-size:1.3rem;font-weight:600;letter-spacing:-.06em;white-space:nowrap;visibility:hidden;transform:translate(-8px,-50%) scale(.96);transition:opacity var(--duration-ui) var(--ease-out),transform var(--duration-ui) var(--ease-out),visibility 0s var(--duration-ui)}.is-floating .dock-home{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(-50%) scale(1);transition-delay:0s}.dock-label{display:none}.dock-monogram{display:inline}.wordmark{font-size:1.7rem;font-weight:600;letter-spacing:-.06em;white-space:nowrap;line-height:1;min-height:var(--target-size);display:inline-flex;align-items:center}.wordmark span{color:var(--color-accent)}.site-navigation{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm);border-radius:var(--radius-pill);background:var(--color-nav);color:var(--color-surface)}.site-navigation a{min-height:var(--target-size);display:inline-flex;align-items:center;justify-content:center;padding-inline:var(--space-md);font-size:var(--text-small);font-weight:500;white-space:nowrap}.site-navigation a:hover{color:var(--color-nav-muted)}.site-navigation a[aria-current=page]{text-decoration:underline}.site-navigation .nav-contact{background:var(--color-accent);color:var(--color-surface);border-radius:var(--radius-pill);gap:var(--space-md)}.site-navigation .nav-contact:hover{color:var(--color-surface)}.menu-toggle{display:none}.display-heading{color:var(--color-ink);font-family:var(--font-display);font-size:var(--text-title);font-weight:800;text-transform:uppercase;line-height:var(--leading-display);letter-spacing:var(--tracking-display);font-style:normal;overflow-wrap:anywhere;min-width:0}.body-copy{font-size:var(--text-body);color:var(--color-muted);line-height:var(--leading-body)}.home-content{padding-top:var(--space-2xl)}.hero{padding-bottom:var(--space-3xl)}.hero-identity{display:flex;flex-wrap:wrap;gap:var(--space-md);align-items:center;margin-bottom:var(--space-2xl);font-size:var(--text-body);font-weight:500}.hero-identity .identity-rule{display:inline-block;width:var(--space-xl);height:1px;background:var(--color-rule)}.hero-identity .hero-context{color:var(--color-muted);font-size:var(--text-small)}.hero-title{font-family:var(--font-display);font-weight:800;font-size:var(--text-hero);letter-spacing:var(--tracking-display);line-height:.9;text-transform:uppercase}.hero-title span{display:block}.hero-bottom{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:var(--space-xl);margin-top:var(--space-2xl)}.hero-introduction{max-width:32ch;font-size:var(--text-lead);line-height:1.4;font-weight:500}.hero-links{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:var(--space-xl)}.text-link{display:inline-flex;align-items:center;gap:var(--space-md);min-height:var(--target-size);font-size:var(--text-small);font-weight:500;white-space:nowrap}.text-link span[aria-hidden]{transition:transform var(--duration-ui) var(--ease-out)}.text-link:hover span[aria-hidden]{transform:translate(2px,-2px)}.text-link:hover{text-decoration:underline}.proof-strip{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-lg);padding-block:var(--space-lg);border-block:1px solid var(--color-rule);color:var(--color-muted);font-size:var(--text-small)}.proof-strip span{display:inline-flex;align-items:center;gap:var(--space-sm)}.proof-strip span:before{content:"";width:var(--space-xs);height:var(--space-xs);background:var(--color-ink);border-radius:var(--radius-pill)}.portfolio-section{margin-top:var(--space-section);scroll-margin-top:var(--space-xl)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-xl);margin-bottom:var(--space-2xl)}.section-description{margin-top:var(--space-lg);max-width:52ch;color:var(--color-muted);font-size:var(--text-body)}.section-action{flex-shrink:0}.selected-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3xl) var(--space-xl)}.project-feature:first-child{grid-column:1/-1}.project-image-link{display:block;border:1px solid var(--color-rule);border-radius:var(--radius-image);overflow:clip;background:var(--color-surface)}.project-image{display:block;width:100%;height:auto}.project-feature:not(:first-child) .project-image-link{aspect-ratio:2/1;display:flex;align-items:center}.project-feature:not(:first-child) .project-image{height:100%;-o-object-fit:contain;object-fit:contain}.project-info{margin-top:var(--space-lg)}.project-feature:first-child .project-info{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-2xl)}.project-meta{display:flex;flex-wrap:wrap;gap:var(--space-sm) var(--space-lg);font-size:var(--text-small);color:var(--color-muted);margin-bottom:var(--space-sm)}.project-name{font-size:var(--text-project);font-weight:500;letter-spacing:-.04em;line-height:1.15}.project-name a{display:flex;justify-content:space-between;gap:var(--space-md)}.project-name a span{color:var(--color-muted);font-size:1.5rem}.project-summary{color:var(--color-muted);margin-top:var(--space-md);max-width:50ch;font-size:var(--text-body)}.engineering-facts{display:grid;gap:var(--space-sm);margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--color-rule);font-size:var(--text-small);color:var(--color-muted)}.engineering-facts li{display:flex;gap:var(--space-sm)}.engineering-facts li:before{content:"—";color:var(--color-muted)}.experience-intro{max-width:60ch;color:var(--color-muted);margin-bottom:var(--space-xl)}.experience-narrative{max-width:var(--width-reading);display:grid;gap:var(--space-lg);font-size:var(--text-body);color:var(--color-muted)}.experience-narrative .experience-lead{font-size:var(--text-lead);line-height:1.45;letter-spacing:-.025em;color:var(--color-ink)}.experience-narrative a{color:var(--color-ink);text-decoration:underline;text-underline-offset:4px}.experience-list{border-top:1px solid var(--color-rule)}.experience-row{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.25fr) minmax(0,1.5fr);gap:var(--space-xl);padding-block:var(--space-xl);border-bottom:1px solid var(--color-rule)}.experience-period{font-size:var(--text-small);color:var(--color-muted)}.experience-row h3{font-size:1.25rem;font-weight:500}.experience-title{margin-top:var(--space-sm)}.experience-scope,.experience-title{font-size:var(--text-small);color:var(--color-muted)}.experience-scope ul{margin-top:var(--space-md);display:grid;gap:var(--space-sm)}.experience-scope li:before{content:"— "}.capabilities-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));-moz-column-gap:var(--space-3xl);column-gap:var(--space-3xl)}.capability{padding-block:var(--space-xl);border-top:1px solid var(--color-rule)}.capability h3{font-size:1.5rem;font-weight:500;letter-spacing:-.03em}.capability p{color:var(--color-muted);margin-top:var(--space-md);max-width:52ch}.capability .capability-technologies{font-size:var(--text-small)}.project-index ul{list-style:none;margin:0;padding:0}.index-header,.index-row{display:grid;grid-template-columns:100px minmax(0,1.4fr) minmax(0,1fr) 44px;gap:var(--space-lg);align-items:center}.index-header{font-size:var(--text-small);color:var(--color-muted);padding-bottom:var(--space-md);border-bottom:1px solid var(--color-rule)}.index-header span:last-child{text-align:right}.index-row{padding-block:var(--space-lg);border-bottom:1px solid var(--color-rule);min-height:var(--target-size)}.index-row:hover{background:var(--color-hover)}.index-area,.index-year{font-size:var(--text-small);color:var(--color-muted)}.index-name{font-size:1.125rem;font-weight:500}.index-arrow{text-align:right;font-size:1.5rem;transition:transform var(--duration-ui) var(--ease-out)}.index-row:hover .index-arrow{transform:translate(2px,-2px)}.about-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:var(--space-3xl);align-items:start}.about-intro p{max-width:46ch;font-size:var(--text-lead);line-height:1.5}.contact-cta{margin-top:var(--space-section);padding-top:var(--space-3xl);border-top:1px solid var(--color-rule)}.contact-cta p{color:var(--color-muted);font-size:var(--text-body)}.contact-display{display:flex;align-items:center;justify-content:space-between;font-family:var(--font-display);font-weight:800;font-size:var(--text-hero);text-transform:uppercase;letter-spacing:var(--tracking-display);line-height:1.2}.contact-display span{font-family:var(--font-body);font-size:.65em;font-weight:400;color:var(--color-accent)}.site-footer{padding-block:var(--space-xl);border-top:1px solid var(--color-rule)}.footer-content{align-items:center;justify-content:space-between;font-size:var(--text-small);color:var(--color-muted)}.footer-content,.footer-links{display:flex;flex-wrap:wrap;gap:var(--space-lg)}.footer-links a{min-height:var(--target-size);display:inline-flex;align-items:center;white-space:nowrap}.footer-links a:hover{text-decoration:underline}.page-lead{max-width:48ch;font-size:var(--text-lead);color:var(--color-muted);margin-top:var(--space-xl)}.case-header{margin-top:var(--space-2xl)}.case-header .display-heading{max-width:24ch}.case-meta{display:flex;flex-wrap:wrap;gap:var(--space-lg) var(--space-2xl);margin-block:var(--space-xl);font-size:var(--text-small);color:var(--color-muted)}.case-meta dt{color:var(--color-ink);font-weight:500}.case-image{margin-block:var(--space-2xl) var(--space-3xl);border:1px solid var(--color-rule);border-radius:var(--radius-image);overflow:clip;background:var(--color-surface)}.case-image img{width:100%;height:auto}.case-body{display:grid;grid-template-columns:220px minmax(0,1fr);gap:var(--space-3xl);align-items:start}.case-navigation{position:sticky;top:var(--header-offset);font-size:var(--text-small);color:var(--color-muted)}.case-navigation p{color:var(--color-ink);margin-bottom:var(--space-md);font-weight:500}.case-navigation a{display:block;padding-block:var(--space-sm)}.case-navigation a:hover{color:var(--color-ink);text-decoration:underline}.case-narrative{min-width:0}.reading-prose.prose{--tw-prose-body:var(--color-muted);--tw-prose-headings:var(--color-ink);--tw-prose-links:var(--color-ink);--tw-prose-bold:var(--color-ink);--tw-prose-counters:var(--color-muted);--tw-prose-bullets:var(--color-muted);--tw-prose-hr:var(--color-rule);--tw-prose-quotes:var(--color-ink);--tw-prose-quote-borders:var(--color-rule);--tw-prose-code:var(--color-ink);--tw-prose-pre-code:var(--color-surface);--tw-prose-pre-bg:var(--color-nav);--tw-prose-th-borders:var(--color-rule);--tw-prose-td-borders:var(--color-rule);max-width:var(--width-reading);font-size:var(--text-body);line-height:var(--leading-body)}.reading-prose.prose :where(h1,h2,h3,h4){font-family:var(--font-body);font-weight:500;letter-spacing:-.03em;overflow-wrap:anywhere}.reading-prose.prose :where(h2){font-size:clamp(1.6rem,1.3rem + 1vw,2.25rem);line-height:1.2;margin-top:var(--space-3xl)}.reading-prose.prose :where(h3){font-size:1.3rem;line-height:1.3}.reading-prose.prose :where(h2,h3)[id]{scroll-margin-top:var(--space-md)}.reading-prose.prose :where(pre){overflow-x:auto;max-width:100%}.reading-prose.prose :where(code){overflow-wrap:anywhere}.reading-prose.prose :where(table){display:block;overflow-x:auto;max-width:100%}.reading-prose.prose :where(a){overflow-wrap:anywhere}.case-narrative>.reading-prose>:first-child{margin-top:0}.case-narrative>.reading-prose>h1:first-child{display:none}.case-bottom{border-top:1px solid var(--color-rule);padding-top:var(--space-lg);display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-lg)}.about-body,.case-bottom{margin-top:var(--space-3xl)}.about-body{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:var(--space-3xl)}.about-copy{display:grid;gap:var(--space-lg)}.about-portrait{width:100%;height:auto;border-radius:var(--radius-image)}.resume-page{max-width:var(--width-resume)}.resume-toolbar{justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-2xl)}.resume-actions,.resume-toolbar{display:flex;align-items:center;flex-wrap:wrap}.resume-actions{gap:var(--space-lg)}.resume-sheet{background:var(--color-surface);padding:clamp(24px,4vw,56px);border:1px solid var(--color-rule)}.resume-header{padding-bottom:var(--space-xl);border-bottom:1px solid var(--color-rule)}.resume-header h1{font-size:var(--text-resume-name);line-height:1.1;letter-spacing:-.045em;font-weight:600}.resume-role{font-size:1.25rem;margin-top:var(--space-sm)}.resume-contact{display:flex;flex-wrap:wrap;gap:var(--space-sm) var(--space-lg);font-size:var(--text-small);margin-top:var(--space-md)}.resume-contact a{display:inline-flex;align-items:center;min-height:var(--target-size);white-space:nowrap}.resume-sheet a:hover{text-decoration:underline}.resume-summary{margin-top:var(--space-md);max-width:72ch;color:var(--color-muted)}.resume-columns{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.6fr);gap:var(--space-2xl);margin-top:var(--space-xl)}.resume-sheet h2{font-size:var(--text-small);text-transform:uppercase;letter-spacing:.07em;font-weight:600;margin-bottom:var(--space-lg)}.resume-capabilities{display:grid;gap:var(--space-lg);font-size:var(--text-small)}.resume-capabilities dt{font-weight:600;margin-bottom:var(--space-xs)}.resume-availability p,.resume-capabilities dd{color:var(--color-muted)}.resume-availability{margin-top:var(--space-2xl);font-size:var(--text-small)}.resume-project{padding-block:var(--space-lg);border-top:1px solid var(--color-rule)}.resume-project:first-of-type{padding-top:0;border-top:0}.resume-project-title{margin-bottom:var(--space-sm)}.resume-project-title h3{font-weight:600;font-size:1.125rem}.resume-project-title h3 a{display:inline-flex;align-items:center;min-height:var(--target-size);white-space:nowrap}.resume-project-title>p,.resume-technology{font-size:.8125rem;color:var(--color-muted)}.resume-project>p:not(.resume-technology){font-size:var(--text-small)}.resume-technology{margin-top:var(--space-sm)}.resume-more{padding-top:var(--space-md);border-top:1px solid var(--color-rule);font-size:var(--text-small);color:var(--color-muted)}.resume-more a{color:var(--color-ink);text-decoration:underline}.contact-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:var(--space-3xl);margin-top:var(--space-3xl)}.contact-options{border-top:1px solid var(--color-rule)}.contact-option{padding-block:var(--space-xl);border-bottom:1px solid var(--color-rule)}.contact-option h2{font-size:1.5rem;font-weight:500;margin-bottom:var(--space-sm)}.contact-option p{color:var(--color-muted);margin-bottom:var(--space-md)}.contact-email{color:var(--color-accent);overflow-wrap:anywhere}.contact-notes h2{font-size:1.25rem;font-weight:500;margin-bottom:var(--space-lg)}.contact-notes li{border-top:1px solid var(--color-rule);padding-block:var(--space-md);font-size:var(--text-small);color:var(--color-muted)}.button-primary{background:var(--color-accent);color:var(--color-surface);border-radius:var(--radius-pill);min-height:var(--target-size);padding:var(--space-sm) var(--space-lg);display:inline-flex;align-items:center;gap:var(--space-lg);white-space:nowrap}.button-primary:hover{text-decoration:underline}.writing-list{margin-top:var(--space-3xl);border-top:1px solid var(--color-rule)}.writing-row{display:grid;grid-template-columns:minmax(0,.6fr) minmax(0,2fr) 44px;gap:var(--space-xl);padding-block:var(--space-xl);border-bottom:1px solid var(--color-rule);align-items:start}.writing-row time{font-size:var(--text-small);color:var(--color-muted)}.writing-row h2{font-size:var(--text-project);line-height:1.2;font-weight:500;letter-spacing:-.035em}.writing-row p{color:var(--color-muted);margin-top:var(--space-md);max-width:60ch}.writing-row:hover h2{text-decoration:underline}.writing-arrow{font-size:1.5rem;text-align:right}.article-header{margin-top:var(--space-2xl);max-width:1000px}.article-date{display:block;margin-top:var(--space-lg);color:var(--color-muted);font-size:var(--text-small)}.article-prose{margin-inline:auto}.code-example{margin-block:var(--space-xl);min-width:0}.code-example-label{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);font-size:var(--text-small);color:var(--color-muted);margin-bottom:var(--space-sm)}.code-example-label button{min-height:var(--target-size);padding-inline:var(--space-md);white-space:nowrap;color:var(--color-ink)}.code-example-label button:disabled{color:var(--color-muted);cursor:wait}.code-example pre{background:var(--color-nav);color:var(--color-surface);padding:var(--space-lg);border-radius:var(--radius-image);overflow-x:auto;max-width:100%;font-size:var(--text-small)}.code-example code{color:inherit}@media (min-width:1440px){.hero{padding-top:var(--space-xl)}}@media (max-width:900px){:root{--header-offset:92px}.header-spacer{height:108px}.site-header{justify-content:center;padding-block:var(--space-lg)}.header-wordmark{display:none}.nav-dock{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xl);width:min(280px,100%);border-radius:var(--radius-pill);background:var(--color-nav);color:var(--color-surface)}.nav-dock,.site-header-shell.is-floating .nav-dock{padding:var(--space-sm)}.dock-home,.is-floating .dock-home{position:static;display:inline-flex;min-height:var(--target-size);align-items:center;padding-left:var(--space-md);font-size:1.25rem;font-weight:600;letter-spacing:-.06em;white-space:nowrap;transform:none;opacity:1;visibility:visible;pointer-events:auto;transition:none}.dock-label{display:inline}.dock-monogram{display:none}.dock-home span,.menu-toggle{color:var(--color-surface)}.menu-toggle{display:inline-flex;align-items:center;gap:var(--space-lg);min-height:var(--target-size);padding-inline:var(--space-md);background:var(--color-nav);border-radius:var(--radius-pill);font-size:var(--text-small)}.site-navigation{display:none;position:absolute;right:0;top:calc(100% + var(--space-sm));width:100%;max-height:calc(100dvh - var(--header-offset) - var(--space-md));overflow-y:auto;padding:var(--space-md);border-radius:var(--radius-image)}.site-navigation.is-open{display:flex;flex-direction:column;align-items:stretch}.site-navigation a{justify-content:space-between}.case-body{grid-template-columns:minmax(0,1fr);gap:var(--space-xl)}.case-navigation{position:static;padding-bottom:var(--space-xl);border-bottom:1px solid var(--color-rule)}.case-navigation ul{display:flex;flex-wrap:wrap;gap:0 var(--space-lg)}}@media (max-width:700px){.resume-columns{grid-template-columns:minmax(0,1fr);gap:var(--space-xl)}.resume-sidebar{order:2}.resume-sheet{padding:var(--space-lg)}.resume-contact{gap:var(--space-xs) var(--space-md)}.page-content{padding-top:var(--space-2xl)}.hero-identity{margin-bottom:var(--space-xl)}.hero-identity .hero-context,.hero-identity .identity-rule{display:none}.about-body,.about-intro,.capabilities-grid,.contact-layout,.hero-bottom,.project-feature:first-child .project-info,.selected-grid{grid-template-columns:minmax(0,1fr)}.hero-bottom,.hero-links{gap:var(--space-lg)}.hero-links{justify-content:flex-start}.hero{padding-bottom:var(--space-2xl)}.proof-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md);font-size:.75rem}.section-heading{align-items:flex-start;flex-direction:column;gap:var(--space-md)}.project-feature:first-child .project-info{gap:0}.experience-row{grid-template-columns:minmax(0,1fr);gap:var(--space-md)}.about-intro{gap:var(--space-xl)}.about-body{gap:var(--space-2xl)}.about-portrait{max-width:400px}.contact-layout{gap:var(--space-2xl)}.contact-cta{padding-top:var(--space-2xl)}.writing-row{grid-template-columns:minmax(0,1fr) 32px;gap:var(--space-md)}.writing-row time{grid-column:1/-1}}@media (max-width:600px){.index-header{display:none}.project-index{border-top:1px solid var(--color-rule)}.index-row{grid-template-columns:minmax(0,1fr) 32px;gap:var(--space-xs) var(--space-md)}.index-name{grid-column:1;grid-row:1}.index-area{grid-column:1;grid-row:2}.index-year{grid-column:1;grid-row:3;font-size:.75rem}.index-arrow{grid-column:2;grid-row:1/4}.footer-content{flex-direction:column;align-items:flex-start}.hero-title{font-size:clamp(3.8rem,16vw,6rem)}}@media (prefers-reduced-motion:reduce){.nav-dock,.nav-dock-surface,.site-navigation{transform:none!important}.dock-home{transform:translateY(-50%)}*,:after,:before{animation:none!important;transition:none!important;scroll-behavior:auto!important}.index-row:hover .index-arrow,.text-link:hover span[aria-hidden]{transform:none}}@media (prefers-reduced-motion:reduce) and (max-width:900px){.dock-home{transform:none}}@media print{@page{size:A4;margin:13mm 15mm}.case-navigation,.contact-cta,.header-spacer,.resume-toolbar,.site-footer,.site-header-shell,.skip-link{display:none!important}body,html{background:var(--color-surface)}.site-container{width:100%}.page-content{padding:0}.reading-prose.prose,.resume-page{max-width:none}.resume-page{min-height:0}.resume-sheet{padding:0;border:0;font-size:10pt;line-height:1.4}.resume-header{padding-bottom:10pt}.resume-header h1{font-size:25pt}.resume-role{font-size:12pt;margin-top:4pt}.resume-contact{font-size:9pt;margin-top:5pt;gap:5pt 12pt}.resume-contact a,.resume-project-title h3 a{min-height:0}.resume-summary{margin-top:8pt;max-width:none}.resume-columns{display:flex;flex-direction:column;gap:12pt;margin-top:12pt}.resume-sidebar{order:0}.resume-sheet h2{font-size:9pt;margin-bottom:7pt}.resume-capabilities{grid-template-columns:repeat(2,minmax(0,1fr));gap:7pt 14pt;font-size:9pt}.resume-capabilities dt{margin-bottom:2pt}.resume-availability{display:none}.resume-project{-moz-column-break-inside:avoid;break-inside:avoid;padding-block:7pt}.resume-project-title{display:flex;align-items:baseline;flex-wrap:wrap;gap:4pt 10pt;margin-bottom:3pt}.resume-project-title h3{font-size:10.5pt}.resume-project-title>p,.resume-technology{font-size:8.5pt}.resume-project>p:not(.resume-technology){font-size:9.5pt}.resume-technology{margin-top:3pt}.resume-more{padding-top:6pt;font-size:9pt}}

/* ! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com */*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--font-body);font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}:root{--inherit:inherit;--current:currentColor;--transparent:transparent;--black:#000;--white:#fff;--slate-50:#f8fafc;--slate-100:#f1f5f9;--slate-200:#e2e8f0;--slate-300:#cbd5e1;--slate-400:#94a3b8;--slate-500:#64748b;--slate-600:#475569;--slate-700:#334155;--slate-800:#1e293b;--slate-900:#0f172a;--slate-950:#020617;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--gray-950:#030712;--zinc-50:#fafafa;--zinc-100:#f4f4f5;--zinc-200:#e4e4e7;--zinc-300:#d4d4d8;--zinc-400:#a1a1aa;--zinc-500:#71717a;--zinc-600:#52525b;--zinc-700:#3f3f46;--zinc-800:#27272a;--zinc-900:#18181b;--zinc-950:#09090b;--neutral-50:#fafafa;--neutral-100:#f5f5f5;--neutral-200:#e5e5e5;--neutral-300:#d4d4d4;--neutral-400:#a3a3a3;--neutral-500:#737373;--neutral-600:#525252;--neutral-700:#404040;--neutral-800:#262626;--neutral-900:#171717;--neutral-950:#0a0a0a;--stone-50:#fafaf9;--stone-100:#f5f5f4;--stone-200:#e7e5e4;--stone-300:#d6d3d1;--stone-400:#a8a29e;--stone-500:#78716c;--stone-600:#57534e;--stone-700:#44403c;--stone-800:#292524;--stone-900:#1c1917;--stone-950:#0c0a09;--red-50:#fef2f2;--red-100:#fee2e2;--red-200:#fecaca;--red-300:#fca5a5;--red-400:#f87171;--red-500:#ef4444;--red-600:#dc2626;--red-700:#b91c1c;--red-800:#991b1b;--red-900:#7f1d1d;--red-950:#450a0a;--orange-50:#fff7ed;--orange-100:#ffedd5;--orange-200:#fed7aa;--orange-300:#fdba74;--orange-400:#fb923c;--orange-500:#f97316;--orange-600:#ea580c;--orange-700:#c2410c;--orange-800:#9a3412;--orange-900:#7c2d12;--orange-950:#431407;--amber-50:#fffbeb;--amber-100:#fef3c7;--amber-200:#fde68a;--amber-300:#fcd34d;--amber-400:#fbbf24;--amber-500:#f59e0b;--amber-600:#d97706;--amber-700:#b45309;--amber-800:#92400e;--amber-900:#78350f;--amber-950:#451a03;--yellow-50:#fefce8;--yellow-100:#fef9c3;--yellow-200:#fef08a;--yellow-300:#fde047;--yellow-400:#facc15;--yellow-500:#eab308;--yellow-600:#ca8a04;--yellow-700:#a16207;--yellow-800:#854d0e;--yellow-900:#713f12;--yellow-950:#422006;--lime-50:#f7fee7;--lime-100:#ecfccb;--lime-200:#d9f99d;--lime-300:#bef264;--lime-400:#a3e635;--lime-500:#84cc16;--lime-600:#65a30d;--lime-700:#4d7c0f;--lime-800:#3f6212;--lime-900:#365314;--lime-950:#1a2e05;--green-50:#f0fdf4;--green-100:#dcfce7;--green-200:#bbf7d0;--green-300:#86efac;--green-400:#4ade80;--green-500:#22c55e;--green-600:#16a34a;--green-700:#15803d;--green-800:#166534;--green-900:#14532d;--green-950:#052e16;--emerald-50:#ecfdf5;--emerald-100:#d1fae5;--emerald-200:#a7f3d0;--emerald-300:#6ee7b7;--emerald-400:#34d399;--emerald-500:#10b981;--emerald-600:#059669;--emerald-700:#047857;--emerald-800:#065f46;--emerald-900:#064e3b;--emerald-950:#022c22;--teal-50:#f0fdfa;--teal-100:#ccfbf1;--teal-200:#99f6e4;--teal-300:#5eead4;--teal-400:#2dd4bf;--teal-500:#14b8a6;--teal-600:#0d9488;--teal-700:#0f766e;--teal-800:#115e59;--teal-900:#134e4a;--teal-950:#042f2e;--cyan-50:#ecfeff;--cyan-100:#cffafe;--cyan-200:#a5f3fc;--cyan-300:#67e8f9;--cyan-400:#22d3ee;--cyan-500:#06b6d4;--cyan-600:#0891b2;--cyan-700:#0e7490;--cyan-800:#155e75;--cyan-900:#164e63;--cyan-950:#083344;--sky-50:#f0f9ff;--sky-100:#e0f2fe;--sky-200:#bae6fd;--sky-300:#7dd3fc;--sky-400:#38bdf8;--sky-500:#0ea5e9;--sky-600:#0284c7;--sky-700:#0369a1;--sky-800:#075985;--sky-900:#0c4a6e;--sky-950:#082f49;--blue-50:#eff6ff;--blue-100:#dbeafe;--blue-200:#bfdbfe;--blue-300:#93c5fd;--blue-400:#60a5fa;--blue-500:#3b82f6;--blue-600:#2563eb;--blue-700:#1d4ed8;--blue-800:#1e40af;--blue-900:#1e3a8a;--blue-950:#172554;--indigo-50:#eef2ff;--indigo-100:#e0e7ff;--indigo-200:#c7d2fe;--indigo-300:#a5b4fc;--indigo-400:#818cf8;--indigo-500:#6366f1;--indigo-600:#4f46e5;--indigo-700:#4338ca;--indigo-800:#3730a3;--indigo-900:#312e81;--indigo-950:#1e1b4b;--violet-50:#f5f3ff;--violet-100:#ede9fe;--violet-200:#ddd6fe;--violet-300:#c4b5fd;--violet-400:#a78bfa;--violet-500:#8b5cf6;--violet-600:#7c3aed;--violet-700:#6d28d9;--violet-800:#5b21b6;--violet-900:#4c1d95;--violet-950:#2e1065;--purple-50:#faf5ff;--purple-100:#f3e8ff;--purple-200:#e9d5ff;--purple-300:#d8b4fe;--purple-400:#c084fc;--purple-500:#a855f7;--purple-600:#9333ea;--purple-700:#7e22ce;--purple-800:#6b21a8;--purple-900:#581c87;--purple-950:#3b0764;--fuchsia-50:#fdf4ff;--fuchsia-100:#fae8ff;--fuchsia-200:#f5d0fe;--fuchsia-300:#f0abfc;--fuchsia-400:#e879f9;--fuchsia-500:#d946ef;--fuchsia-600:#c026d3;--fuchsia-700:#a21caf;--fuchsia-800:#86198f;--fuchsia-900:#701a75;--fuchsia-950:#4a044e;--pink-50:#fdf2f8;--pink-100:#fce7f3;--pink-200:#fbcfe8;--pink-300:#f9a8d4;--pink-400:#f472b6;--pink-500:#ec4899;--pink-600:#db2777;--pink-700:#be185d;--pink-800:#9d174d;--pink-900:#831843;--pink-950:#500724;--rose-50:#fff1f2;--rose-100:#ffe4e6;--rose-200:#fecdd3;--rose-300:#fda4af;--rose-400:#fb7185;--rose-500:#f43f5e;--rose-600:#e11d48;--rose-700:#be123c;--rose-800:#9f1239;--rose-900:#881337;--rose-950:#4c0519;--primary:var(--color-ink);--secondary:var(--color-muted);--canvas:var(--color-canvas);--surface:var(--color-surface);--accent:var(--color-accent)}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-left:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-left:1.625em}.prose :where(ol>li):not(:where([class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(hr):not(:where([class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-left-width:.25rem;border-left-color:var(--tw-prose-quote-borders);quotes:"\201C""\201D""\2018""\2019";margin-top:1.6em;margin-bottom:1.6em;padding-left:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(figure>*):not(:where([class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose :where(code):not(:where([class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding:.8571429em 1.1428571em}.prose :where(pre code):not(:where([class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose] *)){width:100%;table-layout:auto;text-align:left;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-right:.5714286em;padding-bottom:.5714286em;padding-left:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose] *)){vertical-align:top}.prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:rgba(0,0,0,.5);--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(video):not(:where([class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(figure):not(:where([class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(li):not(:where([class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose] *)){padding-left:.375em}.prose :where(ul>li):not(:where([class~=not-prose] *)){padding-left:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>:first-child):not(:where([class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>:first-child):not(:where([class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(hr+*):not(:where([class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose] *)){padding-left:0}.prose :where(thead th:last-child):not(:where([class~=not-prose] *)){padding-right:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose] *)){padding:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose] *)){padding-left:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose] *)){padding-right:0}.prose :where(.prose>:first-child):not(:where([class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose] *)){margin-bottom:0}.prose-sm{font-size:.875rem;line-height:1.7142857}.prose-sm :where(p):not(:where([class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em}.prose-sm :where([class~=lead]):not(:where([class~=not-prose] *)){font-size:1.2857143em;line-height:1.5555556;margin-top:.8888889em;margin-bottom:.8888889em}.prose-sm :where(blockquote):not(:where([class~=not-prose] *)){margin-top:1.3333333em;margin-bottom:1.3333333em;padding-left:1.1111111em}.prose-sm :where(h1):not(:where([class~=not-prose] *)){font-size:2.1428571em;margin-top:0;margin-bottom:.8em;line-height:1.2}.prose-sm :where(h2):not(:where([class~=not-prose] *)){font-size:1.4285714em;margin-top:1.6em;margin-bottom:.8em;line-height:1.4}.prose-sm :where(h3):not(:where([class~=not-prose] *)){font-size:1.2857143em;margin-top:1.5555556em;margin-bottom:.4444444em;line-height:1.5555556}.prose-sm :where(h4):not(:where([class~=not-prose] *)){margin-top:1.4285714em;margin-bottom:.5714286em;line-height:1.4285714}.prose-sm :where(img):not(:where([class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(video):not(:where([class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(figure):not(:where([class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(figure>*):not(:where([class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(figcaption):not(:where([class~=not-prose] *)){font-size:.8571429em;line-height:1.3333333;margin-top:.6666667em}.prose-sm :where(code):not(:where([class~=not-prose] *)){font-size:.8571429em}.prose-sm :where(h2 code):not(:where([class~=not-prose] *)){font-size:.9em}.prose-sm :where(h3 code):not(:where([class~=not-prose] *)){font-size:.8888889em}.prose-sm :where(pre):not(:where([class~=not-prose] *)){font-size:.8571429em;line-height:1.6666667;margin-top:1.6666667em;margin-bottom:1.6666667em;border-radius:.25rem;padding:.6666667em 1em}.prose-sm :where(ol):not(:where([class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em;padding-left:1.5714286em}.prose-sm :where(ul):not(:where([class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em;padding-left:1.5714286em}.prose-sm :where(li):not(:where([class~=not-prose] *)){margin-top:.2857143em;margin-bottom:.2857143em}.prose-sm :where(ol>li):not(:where([class~=not-prose] *)){padding-left:.4285714em}.prose-sm :where(ul>li):not(:where([class~=not-prose] *)){padding-left:.4285714em}.prose-sm :where(.prose-sm>ul>li p):not(:where([class~=not-prose] *)){margin-top:.5714286em;margin-bottom:.5714286em}.prose-sm :where(.prose-sm>ul>li>:first-child):not(:where([class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(.prose-sm>ul>li>:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.1428571em}.prose-sm :where(.prose-sm>ol>li>:first-child):not(:where([class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(.prose-sm>ol>li>:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.1428571em}.prose-sm :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose] *)){margin-top:.5714286em;margin-bottom:.5714286em}.prose-sm :where(hr):not(:where([class~=not-prose] *)){margin-top:2.8571429em;margin-bottom:2.8571429em}.prose-sm :where(hr+*):not(:where([class~=not-prose] *)){margin-top:0}.prose-sm :where(h2+*):not(:where([class~=not-prose] *)){margin-top:0}.prose-sm :where(h3+*):not(:where([class~=not-prose] *)){margin-top:0}.prose-sm :where(h4+*):not(:where([class~=not-prose] *)){margin-top:0}.prose-sm :where(table):not(:where([class~=not-prose] *)){font-size:.8571429em;line-height:1.5}.prose-sm :where(thead th):not(:where([class~=not-prose] *)){padding-right:1em;padding-bottom:.6666667em;padding-left:1em}.prose-sm :where(thead th:first-child):not(:where([class~=not-prose] *)){padding-left:0}.prose-sm :where(thead th:last-child):not(:where([class~=not-prose] *)){padding-right:0}.prose-sm :where(tbody td,tfoot td):not(:where([class~=not-prose] *)){padding:.6666667em 1em}.prose-sm :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose] *)){padding-left:0}.prose-sm :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose] *)){padding-right:0}.prose-sm :where(.prose-sm>:first-child):not(:where([class~=not-prose] *)){margin-top:0}.prose-sm :where(.prose-sm>:last-child):not(:where([class~=not-prose] *)){margin-bottom:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.-bottom-0,.bottom-0{bottom:0}.bottom-1\/2{bottom:50%}.bottom-4{bottom:1rem}.left-0{left:0}.left-1\/2{left:50%}.left-\[1\.125rem\]{left:1.125rem}.right-1\/2{right:50%}.right-4{right:1rem}.top-0{top:0}.top-1\/2{top:50%}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.z-\[100\]{z-index:100}.my-10{margin-top:2.5rem;margin-bottom:2.5rem}.my-8{margin-top:2rem;margin-bottom:2rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mr-4{margin-right:1rem}.mt-2{margin-top:.5rem}.mt-20{margin-top:5rem}.mt-4{margin-top:1rem}.mt-auto{margin-top:auto}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-10{height:2.5rem}.h-14{height:3.5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-40{height:10rem}.h-8{height:2rem}.h-\[11\.25rem\]{height:11.25rem}.h-\[2px\]{height:2px}.h-\[4px\]{height:4px}.h-px{height:1px}.h-screen{height:100vh}.w-10{width:2.5rem}.w-16{width:4rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-8{width:2rem}.w-\[11\.25rem\]{width:11.25rem}.w-\[2px\]{width:2px}.w-\[4px\]{width:4px}.w-\[calc\(100\%-2\.25rem\)\]{width:calc(100% - 2.25rem)}.w-full{width:100%}.w-px{width:1px}.max-w-\[14rem\]{max-width:14rem}.max-w-none{max-width:none}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.grow{flex-grow:1}.origin-left{transform-origin:left}.translate-x-\[0\.5px\]{--tw-translate-x:0.5px}.translate-x-\[0\.5px\],.translate-x-\[1\.5px\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[1\.5px\]{--tw-translate-x:1.5px}.translate-y-\[14px\]{--tw-translate-y:14px}.transform,.translate-y-\[14px\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-5{gap:1.25rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.rounded-\[50\%\]{border-radius:50%}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-neutral-100{--tw-border-opacity:1;border-color:rgb(245 245 245/var(--tw-border-opacity))}.border-neutral-200{--tw-border-opacity:1;border-color:rgb(229 229 229/var(--tw-border-opacity))}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}.bg-cyan-300{--tw-bg-opacity:1;background-color:rgb(103 232 249/var(--tw-bg-opacity))}.bg-cyan-600{--tw-bg-opacity:1;background-color:rgb(8 145 178/var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.bg-neutral-100{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.bg-sky-500\/\[0\.08\]{background-color:rgba(14,165,233,.08)}.bg-sky-500\/\[0\.2\]{background-color:rgba(14,165,233,.2)}.bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-zinc-950{--tw-bg-opacity:1;background-color:rgb(9 9 11/var(--tw-bg-opacity))}.bg-\[image\:radial-gradient\(75\%_100\%_at_50\%_0\%\2c rgba\(56\2c 189\2c 248\2c 0\.6\)_0\%\2c rgba\(56\2c 189\2c 248\2c 0\)_75\%\)\]{background-image:radial-gradient(75% 100% at 50% 0,rgba(56,189,248,.6) 0,rgba(56,189,248,0) 75%)}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-emerald-400\/0{--tw-gradient-from:rgba(52,211,153,0) var(--tw-gradient-from-position);--tw-gradient-to:rgba(52,211,153,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-transparent{--tw-gradient-from:transparent var(--tw-gradient-from-position);--tw-gradient-to:transparent var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-emerald-400\/90{--tw-gradient-to:rgba(52,211,153,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(52,211,153,.9) var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-cyan-500{--tw-gradient-to:#06b6d4 var(--tw-gradient-to-position)}.to-emerald-400\/0{--tw-gradient-to:rgba(52,211,153,0) var(--tw-gradient-to-position)}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.object-top{-o-object-position:top;object-position:top}.p-3{padding:.75rem}.p-px{padding:1px}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.pb-1{padding-bottom:.25rem}.pt-10{padding-top:2.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-light{font-weight:300}.font-medium{font-weight:500}.font-semibold{font-weight:600}.leading-6{line-height:1.5rem}.text-neutral-500{--tw-text-opacity:1;color:rgb(115 115 115/var(--tw-text-opacity))}.text-neutral-600{--tw-text-opacity:1;color:rgb(82 82 82/var(--tw-text-opacity))}.text-neutral-700{--tw-text-opacity:1;color:rgb(64 64 64/var(--tw-text-opacity))}.text-primary{color:var(--color-ink)}.text-secondary{color:var(--color-muted)}.text-sky-500{--tw-text-opacity:1;color:rgb(14 165 233/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.no-underline{text-decoration-line:none}.opacity-0{opacity:0}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-\[0_8px_16px_rgb\(0_0_0\/0\.4\)\]{--tw-shadow:0 8px 16px rgb(0 0 0/0.4);--tw-shadow-colored:0 8px 16px var(--tw-shadow-color)}.shadow-\[0_8px_16px_rgb\(0_0_0\/0\.4\)\],.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-black\/20{--tw-shadow-color:rgba(0,0,0,.2);--tw-shadow:var(--tw-shadow-colored)}.shadow-zinc-900{--tw-shadow-color:#18181b;--tw-shadow:var(--tw-shadow-colored)}.outline{outline-style:solid}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-gray-50\/60{--tw-ring-color:rgba(249,250,251,.6)}.ring-white\/10{--tw-ring-color:hsla(0,0%,100%,.1)}.ring-offset-gray-900{--tw-ring-offset-color:#111827}.blur{--tw-blur:blur(8px)}.blur,.blur-\[2px\]{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)}.blur-\[2px\]{--tw-blur:blur(2px)}.blur-\[3px\]{--tw-blur:blur(3px)}.blur-\[3px\],.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)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px);-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,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-500{transition-duration:.5s}.\[mask-image\:linear-gradient\(to_bottom\2c transparent\2c white\)\]{-webkit-mask-image:linear-gradient(180deg,transparent,#fff);mask-image:linear-gradient(180deg,transparent,#fff)}@media (min-width:768px){.md\:prose-base{font-size:1rem;line-height:1.75}.md\:prose-base :where(p):not(:where([class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.md\:prose-base :where([class~=lead]):not(:where([class~=not-prose] *)){font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.md\:prose-base :where(blockquote):not(:where([class~=not-prose] *)){margin-top:1.6em;margin-bottom:1.6em;padding-left:1em}.md\:prose-base :where(h1):not(:where([class~=not-prose] *)){font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.md\:prose-base :where(h2):not(:where([class~=not-prose] *)){font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.md\:prose-base :where(h3):not(:where([class~=not-prose] *)){font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.md\:prose-base :where(h4):not(:where([class~=not-prose] *)){margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.md\:prose-base :where(img):not(:where([class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.md\:prose-base :where(video):not(:where([class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.md\:prose-base :where(figure):not(:where([class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.md\:prose-base :where(figure>*):not(:where([class~=not-prose] *)){margin-top:0;margin-bottom:0}.md\:prose-base :where(figcaption):not(:where([class~=not-prose] *)){font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.md\:prose-base :where(code):not(:where([class~=not-prose] *)){font-size:.875em}.md\:prose-base :where(h2 code):not(:where([class~=not-prose] *)){font-size:.875em}.md\:prose-base :where(h3 code):not(:where([class~=not-prose] *)){font-size:.9em}.md\:prose-base :where(pre):not(:where([class~=not-prose] *)){font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding:.8571429em 1.1428571em}.md\:prose-base :where(ol):not(:where([class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-left:1.625em}.md\:prose-base :where(ul):not(:where([class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-left:1.625em}.md\:prose-base :where(li):not(:where([class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.md\:prose-base :where(ol>li):not(:where([class~=not-prose] *)){padding-left:.375em}.md\:prose-base :where(ul>li):not(:where([class~=not-prose] *)){padding-left:.375em}.md\:prose-base :where(.md\:prose-base>ul>li p):not(:where([class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.md\:prose-base :where(.md\:prose-base>ul>li>:first-child):not(:where([class~=not-prose] *)){margin-top:1.25em}.md\:prose-base :where(.md\:prose-base>ul>li>:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.25em}.md\:prose-base :where(.md\:prose-base>ol>li>:first-child):not(:where([class~=not-prose] *)){margin-top:1.25em}.md\:prose-base :where(.md\:prose-base>ol>li>:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.25em}.md\:prose-base :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.md\:prose-base :where(hr):not(:where([class~=not-prose] *)){margin-top:3em;margin-bottom:3em}.md\:prose-base :where(hr+*):not(:where([class~=not-prose] *)){margin-top:0}.md\:prose-base :where(h2+*):not(:where([class~=not-prose] *)){margin-top:0}.md\:prose-base :where(h3+*):not(:where([class~=not-prose] *)){margin-top:0}.md\:prose-base :where(h4+*):not(:where([class~=not-prose] *)){margin-top:0}.md\:prose-base :where(table):not(:where([class~=not-prose] *)){font-size:.875em;line-height:1.7142857}.md\:prose-base :where(thead th):not(:where([class~=not-prose] *)){padding-right:.5714286em;padding-bottom:.5714286em;padding-left:.5714286em}.md\:prose-base :where(thead th:first-child):not(:where([class~=not-prose] *)){padding-left:0}.md\:prose-base :where(thead th:last-child):not(:where([class~=not-prose] *)){padding-right:0}.md\:prose-base :where(tbody td,tfoot td):not(:where([class~=not-prose] *)){padding:.5714286em}.md\:prose-base :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose] *)){padding-left:0}.md\:prose-base :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose] *)){padding-right:0}.md\:prose-base :where(.md\:prose-base>:first-child):not(:where([class~=not-prose] *)){margin-top:0}.md\:prose-base :where(.md\:prose-base>:last-child):not(:where([class~=not-prose] *)){margin-bottom:0}}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\:text-primary:hover{color:var(--color-ink)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-neutral-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(229 229 229/var(--tw-ring-opacity))}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.group:hover .group-hover\:translate-x-0{--tw-translate-x:0px}.group:hover .group-hover\:translate-x-0,.group:hover .group-hover\:translate-x-0\.5{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-x-0\.5{--tw-translate-x:0.125rem}.group\/button:hover .group-hover\/button\:scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:opacity-100{opacity:1}.group:hover .group-hover\:opacity-40{opacity:.4}@media (min-width:640px){.sm\:backdrop-blur-sm{--tw-backdrop-blur:blur(4px);-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)}}@media (min-width:768px){.md\:mb-1{margin-bottom:.25rem}.md\:mt-0{margin-top:0}.md\:h-40{height:10rem}.md\:w-60{width:15rem}.md\:flex-row{flex-direction:row}.md\:text-lg{font-size:1.125rem;line-height:1.75rem}.md\:text-sm{font-size:.875rem;line-height:1.25rem}.md\:text-xs{font-size:.75rem;line-height:1rem}}@media (min-width:1024px){.lg\:relative{position:relative}.lg\:hidden{display:none}.lg\:w-fit{width:-moz-fit-content;width:fit-content}.lg\:flex-row{flex-direction:row}.lg\:text-lg{font-size:1.125rem;line-height:1.75rem}.lg\:text-sm{font-size:.875rem;line-height:1.25rem}.lg\:text-xs{font-size:.75rem;line-height:1rem}}@font-face{font-family:__Inter_69d019;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:U+0460-052f,U+1c80-1c8a,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:__Inter_69d019;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:U+0301,U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:__Inter_69d019;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:U+1f??}@font-face{font-family:__Inter_69d019;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:U+0370-0377,U+037a-037f,U+0384-038a,U+038c,U+038e-03a1,U+03a3-03ff}@font-face{font-family:__Inter_69d019;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1ea0-1ef9,U+20ab}@font-face{font-family:__Inter_69d019;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:U+0100-02ba,U+02bd-02c5,U+02c7-02cc,U+02ce-02d7,U+02dd-02ff,U+0304,U+0308,U+0329,U+1d00-1dbf,U+1e00-1e9f,U+1ef2-1eff,U+2020,U+20a0-20ab,U+20ad-20c4,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:__Inter_69d019;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+0304,U+0308,U+0329,U+2000-206f,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-family:__Inter_69d019;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:U+0460-052f,U+1c80-1c8a,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:__Inter_69d019;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:U+0301,U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:__Inter_69d019;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:U+1f??}@font-face{font-family:__Inter_69d019;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:U+0370-0377,U+037a-037f,U+0384-038a,U+038c,U+038e-03a1,U+03a3-03ff}@font-face{font-family:__Inter_69d019;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1ea0-1ef9,U+20ab}@font-face{font-family:__Inter_69d019;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:U+0100-02ba,U+02bd-02c5,U+02c7-02cc,U+02ce-02d7,U+02dd-02ff,U+0304,U+0308,U+0329,U+1d00-1dbf,U+1e00-1e9f,U+1ef2-1eff,U+2020,U+20a0-20ab,U+20ad-20c4,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:__Inter_69d019;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+0304,U+0308,U+0329,U+2000-206f,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-family:__Inter_69d019;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:U+0460-052f,U+1c80-1c8a,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:__Inter_69d019;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:U+0301,U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:__Inter_69d019;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:U+1f??}@font-face{font-family:__Inter_69d019;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:U+0370-0377,U+037a-037f,U+0384-038a,U+038c,U+038e-03a1,U+03a3-03ff}@font-face{font-family:__Inter_69d019;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1ea0-1ef9,U+20ab}@font-face{font-family:__Inter_69d019;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:U+0100-02ba,U+02bd-02c5,U+02c7-02cc,U+02ce-02d7,U+02dd-02ff,U+0304,U+0308,U+0329,U+1d00-1dbf,U+1e00-1e9f,U+1ef2-1eff,U+2020,U+20a0-20ab,U+20ad-20c4,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:__Inter_69d019;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+0304,U+0308,U+0329,U+2000-206f,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-family:__Inter_Fallback_69d019;src:local("Arial");ascent-override:90.20%;descent-override:22.48%;line-gap-override:0.00%;size-adjust:107.40%}.__className_69d019{font-family:__Inter_69d019,__Inter_Fallback_69d019;font-style:normal}.__variable_69d019{--font-inter:"__Inter_69d019","__Inter_Fallback_69d019"}@font-face{font-family:__display_a48511;src:url(/_next/static/media/39e06354bf685a0a-s.p.ttf) format("truetype");font-display:swap;font-weight:800}@font-face{font-family:__display_Fallback_a48511;src:local("Arial");ascent-override:117.99%;descent-override:23.60%;line-gap-override:0.00%;size-adjust:84.76%}.__className_a48511{font-family:__display_a48511,__display_Fallback_a48511;font-weight:800}.__variable_a48511{--font-condensed:"__display_a48511","__display_Fallback_a48511"}