.project-page{padding:4.75rem 0 6rem}@media(max-width:60em){.project-page{padding-right:2rem;padding-left:2rem}}@media(max-width:48em){.project-page{padding:3rem 1.5rem 6rem}}.project-page .project-page__container{width:100%;max-width:42.5rem}.project-page__content{min-width:0}.project-page__back{font-family:var(--font-mono),ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:var(--font-size-kicker);font-weight:400;line-height:var(--line-height-kicker);letter-spacing:.03125rem;display:inline-flex;align-items:center;margin-bottom:2.5rem;transition:color .15s ease}html[class~=theme--coffee] .project-page__back{color:#7a6748}html[class~=theme--midnight] .project-page__back{color:#7f889a}html[class~=theme--coffee] .project-page__back:focus-visible,html[class~=theme--coffee] .project-page__back:hover{color:#b4601f}html[class~=theme--midnight] .project-page__back:focus-visible,html[class~=theme--midnight] .project-page__back:hover{color:#08f}.project-page__hero{padding-bottom:3rem}.project-page__meta{font-family:var(--font-mono),ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.78125rem;line-height:1.4;letter-spacing:.025rem;margin-bottom:.875rem}html[class~=theme--coffee] .project-page__meta{color:#7a6748}html[class~=theme--midnight] .project-page__meta{color:#7f889a}.project-page__headline{font-family:var(--font-sans),ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:var(--font-size-heading-h1);font-weight:900;line-height:var(--line-height-heading-h1);letter-spacing:-.0375rem;margin-bottom:1rem}html[class~=theme--coffee] .project-page__headline{color:#433422}html[class~=theme--midnight] .project-page__headline{color:#e9edf4}.project-page__tagline{font-family:var(--font-sans),ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:var(--font-size-body);font-weight:400;line-height:var(--line-height-body);text-transform:none;letter-spacing:normal;max-width:52ch}html[class~=theme--coffee] .project-page__tagline{color:#5a4833}html[class~=theme--midnight] .project-page__tagline{color:#aab3c2}.project-page__tech{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.5rem}.project-page__tech-tag{padding:.1875rem .625rem;font-family:var(--font-mono),ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.71875rem;letter-spacing:.01875rem;border:1px solid;border-radius:.375rem}html[class~=theme--coffee] .project-page__tech-tag{color:#7a6748;border-color:rgba(67,52,34,.12)}html[class~=theme--midnight] .project-page__tech-tag{color:#7f889a;border-color:rgba(226,232,240,.12)}.project-page__links{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.75rem}.project-page__link{font-family:var(--font-mono),ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:var(--font-size-kicker);font-weight:400;line-height:var(--line-height-kicker);letter-spacing:.03125rem;display:inline-flex;align-items:center;padding:.625rem 1.125rem;border:1px solid;border-radius:.5rem;transition:color .15s ease,border-color .15s ease,background-color .15s ease}html[class~=theme--coffee] .project-page__link{color:#433422;border-color:rgba(67,52,34,.14)}html[class~=theme--midnight] .project-page__link{color:#e9edf4;border-color:rgba(226,232,240,.14)}html[class~=theme--coffee] .project-page__link:focus-visible,html[class~=theme--coffee] .project-page__link:hover{color:#b4601f;border-color:#b4601f}html[class~=theme--midnight] .project-page__link:focus-visible,html[class~=theme--midnight] .project-page__link:hover{color:#08f;border-color:#08f}html[class~=theme--coffee] .project-page__link--primary{color:#f1e7d0;background-color:#b4601f;border-color:#b4601f}html[class~=theme--midnight] .project-page__link--primary{color:#0b111e;background-color:#08f;border-color:#08f}html[class~=theme--coffee] .project-page__link--primary:focus-visible,html[class~=theme--coffee] .project-page__link--primary:hover{color:#f1e7d0;background-color:#d07a2c;border-color:#d07a2c}html[class~=theme--midnight] .project-page__link--primary:focus-visible,html[class~=theme--midnight] .project-page__link--primary:hover{color:#0b111e;background-color:#2e9dff;border-color:#2e9dff}.project-page__cover{display:block;width:100%;height:auto;margin-top:2.5rem;border-radius:.5rem}.project-page__body{font-family:var(--font-sans),ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:var(--font-size-body);font-weight:400;line-height:var(--line-height-body);text-transform:none;letter-spacing:normal;display:flex;flex-direction:column;gap:1.5rem;min-width:0;max-width:68ch;overflow-wrap:anywhere}html[class~=theme--coffee] .project-page__body{color:#5a4833}html[class~=theme--midnight] .project-page__body{color:#aab3c2}.project-page__body strong{font-weight:700}html[class~=theme--coffee] .project-page__body strong{color:#433422}html[class~=theme--midnight] .project-page__body strong{color:#e9edf4}.project-page__body a{font-weight:500;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.1875rem;transition:color .15s ease}html[class~=theme--coffee] .project-page__body a{color:#b4601f;-webkit-text-decoration-color:rgba(180,96,31,.45);text-decoration-color:rgba(180,96,31,.45)}html[class~=theme--midnight] .project-page__body a{color:#08f;-webkit-text-decoration-color:rgba(0,136,255,.45);text-decoration-color:rgba(0,136,255,.45)}.project-page__body a:focus-visible,.project-page__body a:hover{-webkit-text-decoration-color:currentColor;text-decoration-color:currentColor}html[class~=theme--coffee] .project-page__body a:focus-visible,html[class~=theme--coffee] .project-page__body a:hover{color:#d07a2c}html[class~=theme--midnight] .project-page__body a:focus-visible,html[class~=theme--midnight] .project-page__body a:hover{color:#2e9dff}.project-page__body code{padding:.125rem .375rem;font-family:var(--font-mono),ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.88em;border-radius:.375rem}html[class~=theme--coffee] .project-page__body code{color:#b4601f;background-color:rgba(180,96,31,.13)}html[class~=theme--midnight] .project-page__body code{color:#08f;background-color:rgba(0,136,255,.13)}.project-page__heading{margin-top:1rem}html[class~=theme--coffee] .project-page__heading{color:#433422}html[class~=theme--midnight] .project-page__heading{color:#e9edf4}.project-page__heading--h2{font-size:var(--font-size-heading-h3);line-height:var(--line-height-heading-h3)}.project-page__heading--h2,.project-page__heading--h3{font-family:var(--font-display),Georgia,"Times New Roman",serif;font-weight:600}.project-page__heading--h3{font-size:var(--font-size-heading-h4);line-height:var(--line-height-heading-h4)}.project-page__heading--h4{font-family:var(--font-display),Georgia,"Times New Roman",serif;font-size:var(--font-size-heading-h5);font-weight:600;line-height:var(--line-height-heading-h5)}.project-page__list{display:flex;flex-direction:column;gap:.625rem;padding-left:1.75rem}.project-page__list--bullet{list-style:disc}.project-page__list--number{list-style:decimal}.project-page__list li{padding-left:.25rem}html[class~=theme--coffee] .project-page__list li::marker{color:#b4601f}html[class~=theme--midnight] .project-page__list li::marker{color:#08f}.project-page__list .project-page__list{margin-top:.625rem}.project-page__quote{font-family:var(--font-display),Georgia,"Times New Roman",serif;font-size:var(--font-size-quote);font-weight:400;line-height:var(--line-height-quote);padding:.5rem 0 .5rem 1.5rem;border-left:2px solid}html[class~=theme--coffee] .project-page__quote{color:#433422;border-color:#b4601f}html[class~=theme--midnight] .project-page__quote{color:#e9edf4;border-color:#08f}.project-page__figure{margin:1rem 0}.project-page__image{display:block;width:100%;height:auto;border-radius:.5rem}.project-page__caption{font-family:var(--font-mono),ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:var(--font-size-kicker);font-weight:400;line-height:var(--line-height-kicker);letter-spacing:.03125rem;margin-top:.625rem;text-align:center}html[class~=theme--coffee] .project-page__caption{color:#7a6748}html[class~=theme--midnight] .project-page__caption{color:#7f889a}.project-page__divider{width:100%;margin:1rem 0;border:0;border-top:1px solid}html[class~=theme--coffee] .project-page__divider{border-color:rgba(67,52,34,.09)}html[class~=theme--midnight] .project-page__divider{border-color:rgba(226,232,240,.09)}