@font-face{font-family:Outfit;font-style:normal;font-weight:300 800;font-display:swap;src:url(/fonts/outfit-latin.woff2) format("woff2")}:root{--cl-accent: oklch(.58 .16 52);--cl-accent-fill: oklch(.72 .15 60);--cl-accent-ink: oklch(.2 .03 55);--cl-accent-soft: oklch(.58 .16 52 / .1);--cl-accent-line: oklch(.58 .16 52 / .32);--cl-hair: oklch(0 0 0 / .1);--cl-grid: oklch(0 0 0 / .045);--cl-tint: oklch(0 0 0 / .022);--cl-display: "Outfit", "Inter", "Noto Sans SC", system-ui, sans-serif;--cl-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace}html.dark{--cl-accent: oklch(.8 .13 74);--cl-accent-fill: oklch(.8 .13 74);--cl-accent-ink: oklch(.18 .02 60);--cl-accent-soft: oklch(.8 .13 74 / .13);--cl-accent-line: oklch(.8 .13 74 / .36);--cl-hair: oklch(1 0 0 / .12);--cl-grid: oklch(1 0 0 / .05);--cl-tint: oklch(1 0 0 / .03)}.cl-wrap{width:100%;max-width:66rem;margin-inline:auto;padding-inline:clamp(1.25rem,4vw,2.5rem)}.cl-section{padding-block:clamp(2.75rem,6vw,4.25rem)}.cl-section+.cl-section{border-top:1px solid var(--cl-hair)}.cl-head{display:flex;align-items:baseline;gap:.85rem;margin-bottom:1.75rem}.cl-head-idx{flex-shrink:0;font-family:var(--cl-mono);font-size:12px;font-weight:600;letter-spacing:.1em;color:var(--cl-accent);font-variant-numeric:tabular-nums}.cl-head-title{margin:0;font-family:var(--cl-display);font-size:clamp(1.4rem,3vw,1.8rem);font-weight:700;letter-spacing:-.025em;line-height:1;color:var(--foreground)}.cl-head-line{flex:1 1 auto;min-width:1.5rem;height:1px;align-self:center;background:var(--cl-hair)}.cl-head-meta,.cl-head-link{flex-shrink:0;font-family:var(--cl-mono);font-size:10.5px;letter-spacing:.06em;color:var(--muted-foreground);white-space:nowrap}.cl-head-link{text-decoration:none;transition:color .2s ease}.cl-head-link:hover,.cl-head-link:focus-visible{color:var(--cl-accent)}.cl-nav{position:sticky;top:0;z-index:50;border-bottom:1px solid var(--cl-hair);background:color-mix(in oklch,var(--background) 78%,transparent);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%)}.cl-brand{display:inline-flex;align-items:center;gap:.55rem;text-decoration:none;color:var(--foreground);font-family:var(--cl-display);font-weight:700;font-size:.95rem;letter-spacing:.14em;text-transform:uppercase}.cl-navlink{font-family:var(--cl-mono);font-size:12px;letter-spacing:.04em;color:var(--muted-foreground);text-decoration:none;transition:color .2s ease}.cl-navlink:hover,.cl-navlink:focus-visible{color:var(--foreground)}.cl-hairline{width:1px;height:1rem;background:var(--cl-hair)}.cl-rule-top{border-top:1px solid var(--cl-hair)}.cl-hero{position:relative;isolation:isolate;overflow:clip;padding-block:clamp(3rem,10vh,6.5rem) clamp(2.25rem,5vw,3.5rem)}.cl-hero-bg{position:absolute;inset:0;z-index:-1;pointer-events:none}.cl-hero-glow{position:absolute;top:-34%;left:-12%;width:min(48rem,90vw);aspect-ratio:1;border-radius:999px;background:radial-gradient(circle,var(--cl-accent-soft),transparent 62%)}.cl-hero-gridlines{position:absolute;inset:0;background-image:linear-gradient(to right,var(--cl-grid) 1px,transparent 1px),linear-gradient(to bottom,var(--cl-grid) 1px,transparent 1px);background-size:84px 84px;-webkit-mask-image:radial-gradient(ellipse 72% 68% at 26% 0%,#000 0%,transparent 76%);mask-image:radial-gradient(ellipse 72% 68% at 26% 0%,#000 0%,transparent 76%)}.cl-hero-grid{display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:end}@media(min-width:900px){.cl-hero-grid{grid-template-columns:minmax(0,1fr) minmax(17rem,19rem);gap:3.5rem}}.cl-eyebrow{display:inline-flex;align-items:center;gap:.55rem;margin:0 0 1.15rem;font-family:var(--cl-mono);font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--muted-foreground)}.cl-eyebrow:before{content:"";width:.5rem;height:.5rem;background:var(--cl-accent)}.cl-name{margin:0 0 1.1rem;font-family:var(--cl-display);font-size:clamp(3.25rem,12.5vw,8.25rem);font-weight:800;letter-spacing:-.05em;line-height:.9;color:var(--foreground);text-wrap:balance}.cl-name-text{display:inline-block;clip-path:inset(0 100% 0 0);animation:cl-type .9s steps(8) .15s forwards}.cl-caret{display:inline-block;width:.075em;height:.8em;margin-left:.06em;background:var(--cl-accent);vertical-align:baseline;animation:cl-blink 1.05s steps(1) .95s infinite}@keyframes cl-type{to{clip-path:inset(0 0 0 0)}}@keyframes cl-blink{0%,49%{opacity:1}50%,to{opacity:0}}.cl-roles{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem;margin:0 0 1.35rem;font-family:var(--cl-mono);font-size:.8rem;letter-spacing:.03em;color:var(--muted-foreground)}.cl-roles i{font-style:normal;color:var(--cl-accent)}.cl-lede{max-width:32rem;margin:0 0 2rem;font-size:1rem;line-height:1.75;color:var(--muted-foreground);text-wrap:pretty}.cl-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.cl-btn-accent{background:var(--cl-accent-fill);color:var(--cl-accent-ink)}.cl-btn-accent:hover{background:color-mix(in oklch,var(--cl-accent-fill) 88%,var(--foreground));color:var(--cl-accent-ink)}.cl-index-card{border:1px solid var(--cl-hair);border-radius:1rem;background:color-mix(in oklch,var(--card) 78%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);overflow:hidden}.cl-index-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 1rem;border-bottom:1px solid var(--cl-hair);font-family:var(--cl-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-foreground)}.cl-index-row{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.75rem 1rem;border-bottom:1px solid var(--cl-hair);text-decoration:none;color:inherit;transition:background-color .2s ease,padding-left .25s cubic-bezier(.16,1,.3,1)}.cl-index-row:last-child{border-bottom:0}.cl-index-row:hover,.cl-index-row:focus-visible{background:var(--cl-accent-soft);padding-left:1.2rem}.cl-index-label{font-family:var(--cl-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-foreground)}.cl-index-value{font-family:var(--cl-display);font-size:1.35rem;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;color:var(--foreground)}.cl-search-input{max-width:32rem;transition:border-color .2s ease,box-shadow .2s ease}.cl-search-input:focus{border-color:var(--cl-accent-line);box-shadow:0 0 0 3px var(--cl-accent-soft)}.cl-surface{border:1px solid var(--cl-hair);border-radius:.85rem;background:var(--cl-tint)}.cl-panel{border:1px solid var(--cl-hair);border-radius:1rem;background:color-mix(in oklch,var(--card) 78%,transparent);padding:clamp(1.25rem,3vw,1.75rem)}.cl-tag{display:inline-flex;align-items:center;padding:.15rem .5rem;border:1px solid var(--cl-hair);border-radius:.4rem;font-family:var(--cl-mono);font-size:10px;letter-spacing:.02em;color:var(--muted-foreground)}.cl-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .55rem;border-radius:.45rem;background:var(--cl-accent-fill);color:var(--cl-accent-ink);font-family:var(--cl-mono);font-size:10.5px;letter-spacing:.02em}.cl-linkbtn{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .55rem;border:1px solid var(--cl-hair);border-radius:.45rem;font-family:var(--cl-mono);font-size:10.5px;letter-spacing:.02em;color:var(--muted-foreground);text-decoration:none;transition:color .2s ease,border-color .2s ease}.cl-linkbtn:hover,.cl-linkbtn:focus-visible{color:var(--foreground);border-color:var(--cl-accent-line)}.cl-card-title{font-family:var(--cl-display);font-weight:700;letter-spacing:-.01em}.cl-biolink{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .75rem;border:1px solid var(--cl-hair);border-radius:.6rem;font-family:var(--cl-mono);font-size:11px;letter-spacing:.02em;color:var(--muted-foreground);text-decoration:none;transition:color .2s ease,border-color .2s ease,background-color .2s ease}.cl-biolink:hover,.cl-biolink:focus-visible{color:var(--foreground);border-color:var(--cl-accent-line);background:var(--cl-accent-soft)}.cl-card{position:relative;transition:border-color .25s ease,background-color .25s ease,transform .3s cubic-bezier(.16,1,.3,1)}.cl-card:hover,.cl-card:focus-within{border-color:var(--cl-accent-line);transform:translateY(-2px)}.cl-card-tick:after{content:"";position:absolute;top:.7rem;right:.7rem;width:.4rem;height:.4rem;background:var(--cl-accent);opacity:0;transform:translateY(-3px);transition:opacity .25s ease,transform .25s ease;pointer-events:none}.cl-card-tick:hover:after,.cl-card-tick:focus-within:after{opacity:1;transform:none}.cl-card-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid var(--cl-hair);background:var(--cl-tint);color:var(--muted-foreground);transition:color .25s ease,border-color .25s ease}.cl-card:hover .cl-card-icon,.cl-card:focus-within .cl-card-icon{color:var(--cl-accent);border-color:var(--cl-accent-line)}.cl-cta{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--cl-mono);font-size:10.5px;letter-spacing:.04em;color:var(--muted-foreground);transition:color .2s ease}.cl-card:hover .cl-cta{color:var(--cl-accent)}.cl-tech{font-family:var(--cl-mono);font-size:11px;letter-spacing:.02em;background-color:var(--cl-tint);transition:border-color .2s ease,transform .2s ease}.cl-tech:hover{border-color:var(--cl-accent-line)}.cl-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid var(--cl-hair)}.cl-stat{padding:1.1rem 1rem 1.15rem}.cl-stat+.cl-stat{border-left:1px solid var(--cl-hair)}.cl-stat-value{font-family:var(--cl-display);font-size:clamp(1.6rem,4vw,2.4rem);font-weight:700;line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--foreground)}.cl-stat-label{margin-top:.45rem;font-family:var(--cl-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-foreground)}.cl-subhead{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.cl-subhead-label{flex-shrink:0;font-family:var(--cl-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted-foreground)}.cl-subhead-line{flex:1 1 auto;height:1px;background:var(--cl-hair)}.cl-footer{margin-top:clamp(2rem,5vw,3.5rem);border-top:1px solid var(--cl-hair);padding-block:clamp(2.25rem,5vw,3rem) 3.5rem}.cl-footer-mark{font-family:var(--cl-display);font-size:clamp(1.5rem,4vw,2.25rem);font-weight:800;letter-spacing:-.04em;line-height:1;color:var(--foreground)}.cl-footer-note{margin:.5rem 0 0;font-family:var(--cl-mono);font-size:11px;letter-spacing:.06em;color:var(--muted-foreground)}.cl-mode{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem;border:1px solid var(--cl-hair);border-radius:.75rem;font-family:var(--cl-mono);font-size:11px}.cl-mode>*{padding:.3rem .7rem;border-radius:.55rem;text-decoration:none;color:var(--muted-foreground);transition:color .2s ease,background-color .2s ease}.cl-mode a:hover,.cl-mode a:focus-visible{color:var(--foreground);background:var(--cl-tint)}.cl-mode>.is-current{background:color-mix(in oklch,var(--foreground) 92%,transparent);color:var(--background)}.cl-footer-links{display:flex;flex-wrap:wrap;gap:.35rem 1.25rem;font-family:var(--cl-mono);font-size:11px;letter-spacing:.04em}.cl-footer-links a{color:var(--muted-foreground);text-decoration:none;transition:color .2s ease}.cl-footer-links a:hover,.cl-footer-links a:focus-visible{color:var(--cl-accent)}@media(max-width:899px){.cl-hero-glow{top:-22%;left:-30%}}@media(max-width:640px){.cl-head{flex-wrap:wrap;row-gap:.35rem}.cl-head-line{display:none}.cl-stat{padding-inline:.6rem}}@media(prefers-reduced-motion:reduce){html:not(.motion-force) .cl-name-text{clip-path:none;animation:none}html:not(.motion-force) .cl-caret{animation:none}}
