.landing{--footer-icons-clearance:clamp(3rem, 5vw, 4.25rem);min-height:100svh;padding:clamp(1.5rem,4vw,4rem);padding-bottom:calc(clamp(1.5rem, 4vw, 4rem) + var(--footer-icons-clearance));isolation:isolate;place-items:center;display:grid;position:relative}.hero{grid-template-columns:minmax(0,1fr) minmax(18rem,30rem);align-items:start;gap:clamp(.75rem,1.8vw,1.75rem);width:min(100%,92rem);max-width:100%;display:grid;overflow-x:clip}@media (min-width:769px){.hero{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(2.25rem,4.5vw,4.75rem)}.project-directory{align-self:center}}.hero__left{z-index:1;align-content:start;gap:clamp(1rem,2.25vw,1.5rem);min-width:0;display:grid;position:relative}.social-links{z-index:3;justify-items:end;gap:.2rem;display:grid;position:absolute;top:clamp(1rem,2vw,1.5rem);right:clamp(1rem,2vw,1.5rem)}.social-links__link{color:var(--foreground);font-family:var(--font-average), serif;letter-spacing:.01em;opacity:.74;justify-content:flex-end;align-items:center;font-size:clamp(.82rem,1.28vw,.96rem);font-style:normal;font-weight:450;line-height:1;text-decoration:none;transition:opacity .16s,transform .16s;display:inline-flex}.social-links__link:hover{opacity:1;transform:translate(-1px)}.social-links__link:focus-visible{outline:2px solid var(--ring);outline-offset:3px;border-radius:.35rem}.theme-toggle{cursor:pointer;z-index:3;touch-action:manipulation;background:0 0;border:0;justify-content:center;align-items:center;padding:.15rem;display:inline-flex;position:absolute;top:clamp(1rem,2vw,1.5rem);left:clamp(1rem,2vw,1.5rem)}.theme-toggle:focus-visible{outline:2px solid var(--ring);outline-offset:4px;border-radius:.4rem}.theme-toggle__icon{place-items:center;line-height:1;display:grid}.theme-toggle__glyph{--theme-toggle-light-bg:#eef3f8;--theme-toggle-dark-bg:#1d2a3b;--theme-toggle-light-overlay:#00000014;--theme-toggle-dark-overlay:#ffffff2e;width:1.9rem;height:1.35rem;overflow:visible}.theme-toggle__block{transition:fill .16s}.theme-toggle__block--light{fill:var(--theme-toggle-light-bg)}.theme-toggle__block--dark{fill:var(--theme-toggle-dark-bg)}.theme-toggle__overlay{pointer-events:none;transition:fill .16s}.theme-toggle__overlay--light{fill:var(--theme-toggle-light-overlay)}.theme-toggle__overlay--dark{fill:var(--theme-toggle-dark-overlay)}.name-mark{max-width:100%;color:var(--ink);font-family:var(--display-mono);letter-spacing:0;text-align:left;white-space:pre;scrollbar-width:none;margin:0;font-size:.5rem;font-weight:700;line-height:.84;overflow-x:auto}.name-mark::-webkit-scrollbar{display:none}.current-context{width:min(100%,25rem);color:var(--ink);text-align:left;opacity:.88}.current-context__list{gap:.45rem;margin:0;padding-left:0;list-style:none;display:grid}.current-context__item{font-family:var(--font-open-sans), sans-serif;font-optical-sizing:auto;font-variation-settings:"wdth" 100;font-size:.9rem;font-style:normal;font-weight:330;line-height:1.6}.current-context__text--typing:after{content:"|";opacity:.7;animation:1s step-end infinite current-context-caret}.contribution-heatmap{width:min(100%,35rem);min-width:0;max-width:100%;color:var(--ink);opacity:0;font-family:Figtree Variable,sans-serif;animation:.7s cubic-bezier(.22,1,.36,1) .12s both contribution-heatmap-reveal;position:relative;transform:translateY(.7rem)}.contribution-heatmap__header{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:.7rem;display:flex}.contribution-heatmap__eyebrow,.contribution-heatmap__title,.contribution-heatmap__status{margin:0}.contribution-heatmap__eyebrow{font-family:var(--display-mono);letter-spacing:.08em;text-transform:uppercase;opacity:.55;font-size:.68rem}.contribution-heatmap__title{font-family:var(--font-average), serif;margin-top:.16rem;font-size:clamp(1.05rem,2.4vw,1.35rem);font-weight:400;line-height:1.05}.contribution-heatmap__profile-link{color:inherit;font-family:var(--display-mono);opacity:.65;flex-shrink:0;font-size:.74rem;text-decoration:none;transition:opacity .18s,transform .18s}.contribution-heatmap__profile-link:hover{opacity:1;transform:translateY(-1px)}.contribution-heatmap__profile-link:focus-visible{outline:2px solid var(--ring);outline-offset:4px;border-radius:.2rem}.contribution-heatmap__panel{--heatmap-cell-size:clamp(.46rem, 1vw, .62rem);--heatmap-cell-gap:clamp(.11rem, .24vw, .17rem);--heatmap-weekday-width:1.7rem;--heatmap-label-gap:.45rem;--heatmap-label-offset:calc(var(--heatmap-weekday-width) + var(--heatmap-label-gap));--heatmap-label-end-space:clamp(1.4rem, 3vw, 2.25rem);--heatmap-empty:color-mix(in srgb, var(--ink) 7%, transparent);overscroll-behavior-inline:contain;scrollbar-width:thin;-webkit-overflow-scrolling:touch;min-width:0;max-width:100%;padding:clamp(.75rem,2vw,1rem) clamp(.75rem,2vw,1rem) clamp(.75rem,2vw,1rem) 0;overflow-x:auto}.contribution-heatmap__panel--unavailable .contribution-heatmap__day{opacity:.42}.contribution-heatmap__months{grid-template-columns:repeat(var(--heatmap-week-count,53), var(--heatmap-cell-size));column-gap:var(--heatmap-cell-gap);width:max-content;margin-left:var(--heatmap-label-offset);padding-right:var(--heatmap-label-end-space);font-family:var(--display-mono);color:color-mix(in srgb, var(--ink) 82%, #172033 18%);opacity:.78;margin-bottom:.35rem;font-size:.58rem;display:grid}.contribution-heatmap__month{white-space:nowrap;grid-row:1;justify-self:start;min-width:max-content}.contribution-heatmap__body{align-items:start;gap:var(--heatmap-label-gap);min-width:max-content;display:flex}.contribution-heatmap__weekdays{grid-template-rows:repeat(7, var(--heatmap-cell-size));gap:var(--heatmap-cell-gap);width:var(--heatmap-weekday-width);font-family:var(--display-mono);font-size:.56rem;line-height:var(--heatmap-cell-size);color:color-mix(in srgb, var(--ink) 82%, #172033 18%);opacity:.78;flex-shrink:0;display:grid}.contribution-heatmap__grid{grid-auto-flow:column;grid-auto-columns:var(--heatmap-cell-size);gap:var(--heatmap-cell-gap);display:grid}.contribution-heatmap__week{grid-template-rows:repeat(7, var(--heatmap-cell-size));gap:var(--heatmap-cell-gap);display:grid}.contribution-heatmap__day{width:var(--heatmap-cell-size);height:var(--heatmap-cell-size);background:var(--contribution-color,var(--heatmap-empty));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ink) 8%, transparent);border-radius:.15rem;transition:opacity .16s,box-shadow .16s;display:block}.contribution-heatmap__day:hover{box-shadow:inset 0 0 0 1px #ffffff3d, 0 .2rem .45rem color-mix(in srgb, var(--ink) 12%, transparent)}.contribution-heatmap__tooltip{left:var(--heatmap-tooltip-x,50%);top:var(--heatmap-tooltip-y,50%);z-index:100;pointer-events:none;color:#f8fbff;max-width:calc(100vw - 1.5rem);font-family:var(--display-mono);text-overflow:ellipsis;white-space:nowrap;opacity:0;background:#172033;border:1px solid #ffffff7a;border-radius:999px;padding:.42rem .7rem;font-size:.68rem;font-weight:700;line-height:1;transition:opacity .18s,transform .18s;position:fixed;overflow:hidden;transform:translate(-50%,calc(-100% - .42rem));box-shadow:0 .45rem 1rem #17203338}.contribution-heatmap__tooltip--visible{opacity:1;transform:translate(-50%,calc(-100% - .5rem))}.dark .contribution-heatmap__tooltip{color:#172033;background:#f8fbff;border-color:#1720332e;box-shadow:0 .45rem 1rem #00000047}.contribution-heatmap__footer{justify-content:space-between;align-items:center;gap:1rem;min-width:max-content;margin-top:.65rem;display:flex}.contribution-heatmap__status{opacity:.62;max-width:22rem;font-size:.68rem;line-height:1.35}.contribution-heatmap__legend{font-family:var(--display-mono);opacity:.58;align-items:center;gap:.24rem;font-size:.58rem;display:flex}.contribution-heatmap__legend-cell{width:var(--heatmap-cell-size);height:var(--heatmap-cell-size);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ink) 8%, transparent);border-radius:.14rem;display:block}.contribution-heatmap__legend-cell--0{background:color-mix(in srgb, var(--ink) 7%, transparent)}.contribution-heatmap__legend-cell--1{background:#216e39}.contribution-heatmap__legend-cell--2{background:#30a14e}.contribution-heatmap__legend-cell--3{background:#40c463}.contribution-heatmap__legend-cell--4{background:#9be9a8}.project-directory{z-index:2;width:100%;min-width:0;color:var(--ink);font-family:var(--display-mono);--project-directory-caret-width:1ch;--project-directory-trigger-gap:.5rem;--project-directory-clip-offset:clamp(3.35rem, 7.5vw, 6.5rem);--project-directory-seam-feather:clamp(2rem, 4.5vw, 3.75rem);--project-directory-enter-distance:calc(var(--project-directory-clip-offset) + clamp(1.4rem, 2.8vw, 2.4rem));-webkit-mask-image:linear-gradient(to right, transparent 0, black var(--project-directory-seam-feather), black 100%);-webkit-mask-image:linear-gradient(to right, transparent 0, black var(--project-directory-seam-feather), black 100%);mask-image:linear-gradient(to right, transparent 0, black var(--project-directory-seam-feather), black 100%);pointer-events:none;margin-inline-start:calc(var(--project-directory-clip-offset) * -1);padding-inline-start:var(--project-directory-clip-offset);position:relative;overflow:hidden}.project-directory__inner{opacity:0;transform:translateX(calc(var(--project-directory-enter-distance) * -1));pointer-events:auto;animation:.9s cubic-bezier(.22,1,.36,1) both project-directory-reveal}@media (prefers-reduced-motion:reduce){.project-directory__inner{animation:none}}.project-directory__label{font-family:var(--font-average), serif;opacity:.7;margin:0 0 .9rem;font-size:clamp(1.4rem,3vw,1.85rem);font-style:normal;font-weight:400;line-height:1}.project-directory__list{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.project-directory__item{margin:0}.project-directory__header{align-items:center;gap:.45rem;display:flex}.project-directory__trigger{grid-template-columns:var(--project-directory-caret-width) minmax(0, 1fr);align-items:center;gap:var(--project-directory-trigger-gap);width:100%;min-width:0;color:inherit;cursor:pointer;text-align:left;opacity:1;background:0 0;border:0;flex:1;padding:0;transition:opacity .22s cubic-bezier(.4,0,.2,1);display:grid}.project-directory__trigger:hover{opacity:.8}.project-directory__trigger:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.project-directory__caret{width:var(--project-directory-caret-width);opacity:.7;font-size:.9rem;transition:transform .16s,opacity .16s;transform:translateY(-.02em)}.project-directory__trigger[data-state=open] .project-directory__caret{opacity:1;transform:translateY(-.02em)rotate(90deg)}.project-directory__name{min-width:0;font-family:var(--font-open-sans), sans-serif;font-optical-sizing:auto;font-variation-settings:"wdth" 100;white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-style:normal;font-weight:450;overflow:hidden}.project-directory__site-link,.project-directory__repo-link{opacity:.72;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:1rem;height:1rem;transition:opacity .22s cubic-bezier(.4,0,.2,1),transform .22s cubic-bezier(.4,0,.2,1);display:inline-flex}.project-directory__site-link:hover,.project-directory__repo-link:hover{opacity:1;transform:translateY(-1px)}.project-directory__site-link:focus-visible,.project-directory__repo-link:focus-visible{outline:2px solid var(--ring);outline-offset:3px}.project-directory__site-icon,.project-directory__repo-icon{width:1rem;height:1rem;display:block}.project-directory__content{overflow:hidden}.project-directory__content[data-state=open]{animation:.24s cubic-bezier(.2,.8,.2,1) project-directory-expand}.project-directory__content[data-state=closed]{animation:.2s cubic-bezier(.4,0,1,1) project-directory-collapse}.project-directory__panel{margin:.45rem 0 0 calc(var(--project-directory-caret-width) + var(--project-directory-trigger-gap))}.project-directory__meta{gap:.5525rem;margin:0;display:grid}.project-directory__field{gap:.3rem;display:grid}.project-directory__field-label{font-family:var(--display-mono);letter-spacing:.08em;text-transform:uppercase;opacity:.58;margin:0;font-size:.68rem}.project-directory__field-value{margin:0}.project-directory__field-value--description{font-family:var(--font-open-sans), sans-serif;font-optical-sizing:auto;font-variation-settings:"wdth" 100;font-size:.9rem;font-style:normal;font-weight:330;line-height:1.65}.project-directory__field-value--demo{font-family:Figtree Variable,sans-serif;font-size:.92rem;font-weight:450;line-height:1.5}.project-directory__stack-list{flex-wrap:wrap;gap:.4rem .5rem;margin:0;padding:0;list-style:none;display:flex}.project-directory__stack-item{border:1px solid color-mix(in srgb, var(--ink) 9%, transparent);background:color-mix(in srgb, var(--page-bg) 96%, var(--ink) 4%);letter-spacing:.01em;border-radius:.3rem;padding:.22rem .48rem;font-family:Figtree Variable,sans-serif;font-size:.76rem;font-weight:420;line-height:1.35}.project-directory__demo{color:color-mix(in srgb, var(--ink) 100%, transparent);text-underline-offset:.18em;opacity:1;font-family:Figtree Variable,sans-serif;font-size:.92rem;font-weight:450;text-decoration-thickness:1px;transition:opacity .22s cubic-bezier(.4,0,.2,1),color .22s cubic-bezier(.4,0,.2,1)}.project-directory__demo:hover{opacity:.88;color:color-mix(in srgb, var(--ink) 68%, var(--page-bg) 32%)}.project-directory__demo--muted{opacity:.6}.project-directory__video-shell{aspect-ratio:16/9;border:1px solid color-mix(in srgb, var(--ink) 16%, transparent);background:color-mix(in srgb, var(--page-bg) 82%, black 18%);border-radius:.45rem;width:100%;max-width:52rem;margin-top:.15rem;position:relative;overflow:hidden}.project-directory__video{border:0;width:100%;height:100%;display:block}@keyframes project-directory-expand{0%{opacity:0;height:0}to{height:var(--radix-accordion-content-height);opacity:1}}@keyframes project-directory-collapse{0%{height:var(--radix-accordion-content-height);opacity:1}to{opacity:0;height:0}}@keyframes project-directory-reveal{0%{opacity:0;transform:translateX(calc(var(--project-directory-enter-distance) * -1))}to{opacity:1;transform:translate(0)}}@keyframes contribution-heatmap-reveal{0%{opacity:0;transform:translateY(.7rem)}to{opacity:1;transform:translateY(0)}}@keyframes current-context-caret{0%,49%{opacity:0}50%,to{opacity:.7}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:768px){.landing{padding:1rem;padding-bottom:4.5rem}.hero{grid-template-columns:1fr;gap:1rem}.hero__left{gap:1rem;padding-right:3.25rem}.current-context{margin-bottom:1rem}.contribution-heatmap{width:100%}.contribution-heatmap__header{flex-direction:column;align-items:start;gap:.35rem;margin-bottom:0}.contribution-heatmap__panel{--heatmap-cell-size:.52rem;--heatmap-cell-gap:.14rem;touch-action:pan-x;padding-top:0;overflow-x:auto}.social-links{top:1rem;right:1rem}.theme-toggle{top:1rem;left:1rem}.name-mark{font-size:.44rem}.project-directory{margin-top:2rem;margin-bottom:.85rem;order:2;width:100%;margin-inline-start:0;padding-inline-start:0;-webkit-mask-image:none;mask-image:none}.project-directory__trigger{--project-directory-trigger-gap:.45rem}.project-directory__panel{margin-left:calc(var(--project-directory-caret-width) + var(--project-directory-trigger-gap))}}@media (max-width:420px){.name-mark{font-size:.38rem}}
