@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*),[data-astro-transition-scope]{animation:none!important}}.rail[data-astro-cid-euxwtxot]{top:var(--pad);max-height:calc(100vh - 2 * var(--pad));z-index:3;flex-direction:column;padding:0;display:flex;position:sticky;container:rail/inline-size}.rail__head[data-astro-cid-euxwtxot]{padding-inline:var(--rail-pad);flex-direction:column;flex:none;align-items:flex-start;display:flex}.rail__head[data-astro-cid-euxwtxot] .brand{margin-bottom:clamp(1.4rem,3vh,2.2rem)}.rail__title[data-astro-cid-euxwtxot]{font-family:var(--font-display);letter-spacing:-.03em;margin-top:clamp(.8rem,2vh,1.4rem);margin-bottom:.9rem;font-size:2.2rem;font-weight:500;line-height:1}.rail__list[data-astro-cid-euxwtxot]{overscroll-behavior:contain;scrollbar-width:thin;flex:auto;min-height:0;overflow-y:auto}.rail__item[data-astro-cid-euxwtxot]{border-top:var(--hairline) solid var(--rule);transition:background-color .3s}.rail__item[data-astro-cid-euxwtxot].is-current{background:var(--bg-sunk)}.rail__link[data-astro-cid-euxwtxot]{height:5.7rem;padding:.8rem var(--rail-pad);grid-template-columns:5.2rem minmax(0,1fr);align-items:center;gap:.9rem;transition:background-color .22s;display:grid}.rail__link[data-astro-cid-euxwtxot]:hover{background:color-mix(in srgb, var(--ink) 5%, transparent)}.rail__text[data-astro-cid-euxwtxot]{gap:.15rem;min-width:0;display:grid}.rail__name[data-astro-cid-euxwtxot]{white-space:nowrap;text-overflow:ellipsis;font-family:var(--font-sans);letter-spacing:-.02em;font-size:1.1rem;font-weight:500;line-height:1.15;display:block;overflow:hidden}.rail__blurb[data-astro-cid-euxwtxot]{-webkit-line-clamp:2;min-height:2.9em;font-family:var(--font-mono);letter-spacing:var(--mono-track);color:var(--ink-soft);-webkit-box-orient:vertical;font-size:.74rem;line-height:1.45;display:-webkit-box;overflow:hidden}.rail__link[data-astro-cid-euxwtxot] .art{aspect-ratio:16/11}@container rail (width<=300px){.rail__link[data-astro-cid-euxwtxot]{grid-template-columns:minmax(0,1fr);align-items:start;gap:.55rem;height:auto;padding-block:.9rem}.rail__link[data-astro-cid-euxwtxot] .art{aspect-ratio:16/10}}@media (width<=1080px){.rail[data-astro-cid-euxwtxot]{border-top:var(--hairline) solid var(--rule);width:auto;max-height:none;padding:clamp(1.6rem,4vh,2.6rem) 0 0;position:static}.rail__head[data-astro-cid-euxwtxot]{padding-inline:var(--pad)}.rail__head[data-astro-cid-euxwtxot] .brand{display:none}.rail__title[data-astro-cid-euxwtxot]{margin-top:0}.rail__list[data-astro-cid-euxwtxot]{scroll-snap-type:x proximity;max-height:none;scroll-padding-inline:var(--pad);padding:0 var(--pad) var(--pad);gap:clamp(.7rem,2vw,1.2rem);display:flex;overflow:auto hidden}.rail__item[data-astro-cid-euxwtxot]{scroll-snap-align:start;border-top:0;flex:0 0 clamp(200px,30vw,300px)}.rail__link[data-astro-cid-euxwtxot]{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr);align-items:start;gap:.5rem;height:auto;padding:.5rem}.rail__link[data-astro-cid-euxwtxot] .art{aspect-ratio:16/10;grid-area:1/1;width:100%}.rail__text[data-astro-cid-euxwtxot]{display:contents}.rail__name[data-astro-cid-euxwtxot]{grid-area:2/1}.rail__link[data-astro-cid-euxwtxot]:before{content:"";z-index:1;opacity:0;pointer-events:none;background:linear-gradient(#0000006b 0%,#000000bd 100%);grid-area:1/1;align-self:stretch;transition:opacity .26s}.rail__blurb[data-astro-cid-euxwtxot]{z-index:2;-webkit-line-clamp:3;min-height:0;max-height:4.5em;font-family:var(--font-sans);letter-spacing:normal;color:#fff;opacity:0;grid-area:1/1;align-self:end;margin:0 .55rem .5rem;font-size:.8rem;line-height:1.5;transition:opacity .26s,translate .32s cubic-bezier(.2,.8,.2,1);translate:0 6px}.rail__link[data-astro-cid-euxwtxot]:hover:before,.rail__link[data-astro-cid-euxwtxot]:focus-visible:before{opacity:1}.rail__link[data-astro-cid-euxwtxot]:hover .rail__blurb[data-astro-cid-euxwtxot],.rail__link[data-astro-cid-euxwtxot]:focus-visible .rail__blurb[data-astro-cid-euxwtxot]{opacity:1;translate:0}}@media (prefers-reduced-motion:reduce){.rail__item[data-astro-cid-euxwtxot],.rail__link[data-astro-cid-euxwtxot],.rail__link[data-astro-cid-euxwtxot]:before,.rail__blurb[data-astro-cid-euxwtxot]{transition:none}.rail__blurb[data-astro-cid-euxwtxot]{translate:none}}.reslink__box[data-astro-cid-df6wlj57]{border:var(--hairline) solid var(--rule);background:var(--bg);grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:.9rem;padding:.95rem 1.05rem;transition:border-color .24s,background-color .24s;display:grid}.reslink__box[data-astro-cid-df6wlj57]:hover{border-color:var(--ink);background:color-mix(in srgb, var(--ink) 4%, var(--bg))}.reslink__box[data-astro-cid-df6wlj57]:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.reslink__icon[data-astro-cid-df6wlj57]{background:var(--ink);width:1.95rem;height:1.95rem;color:var(--bg);justify-content:center;align-self:center;align-items:center;display:inline-flex}.reslink__out[data-astro-cid-df6wlj57]{color:var(--ink-soft);display:inline-flex}.reslink__out[data-astro-cid-df6wlj57] .icon{width:.9rem;height:.9rem}.reslink__text[data-astro-cid-df6wlj57]{gap:.25rem;min-width:0;display:grid}.reslink__label[data-astro-cid-df6wlj57]{font-family:var(--font-mono);letter-spacing:calc(.01em + var(--mono-track));color:var(--ink);font-size:.82rem;font-weight:500}.reslink__note[data-astro-cid-df6wlj57]{font-family:var(--font-mono);letter-spacing:var(--mono-track);color:var(--ink-soft);font-size:.7rem;line-height:1.5}.reslink[data-astro-cid-df6wlj57]:first-child .reslink__box[data-astro-cid-df6wlj57]{background:var(--ink);border-color:var(--ink)}.reslink[data-astro-cid-df6wlj57]:first-child .reslink__box[data-astro-cid-df6wlj57]:hover{background:color-mix(in srgb, var(--bg) 14%, var(--ink));border-color:color-mix(in srgb, var(--bg) 14%, var(--ink))}.reslink[data-astro-cid-df6wlj57]:first-child .reslink__icon[data-astro-cid-df6wlj57]{background:var(--bg);color:var(--ink)}.reslink[data-astro-cid-df6wlj57]:first-child .reslink__label[data-astro-cid-df6wlj57]{color:var(--bg)}.reslink[data-astro-cid-df6wlj57]:first-child .reslink__note[data-astro-cid-df6wlj57]{color:color-mix(in srgb, var(--bg) 76%, var(--ink))}.reslink[data-astro-cid-df6wlj57]:first-child .reslink__out[data-astro-cid-df6wlj57]{color:color-mix(in srgb, var(--bg) 70%, var(--ink))}@media (prefers-reduced-motion:reduce){.reslink__box[data-astro-cid-df6wlj57]{transition:none}}.page--project[data-astro-cid-yq2gsstb]{--rail-w:clamp(240px, 22vw, 320px);--rail-pad:clamp(14px, 1.4vw, 22px);grid-template-columns:var(--rail-w) minmax(0, 1fr);column-gap:clamp(var(--pad), 4vw, 5rem);grid-template-rows:1fr auto;grid-template-areas:"rail detail""foot foot";display:grid}.detail[data-astro-cid-yq2gsstb]{--pf-bleed:clamp(14px, 1.8vw, 30px);flex-direction:column;grid-area:detail;display:flex}.railcol[data-astro-cid-yq2gsstb]{grid-area:rail}.page--project[data-astro-cid-yq2gsstb]>.colophon{grid-area:foot}.detail__mast[data-astro-cid-yq2gsstb],.detail__back[data-astro-cid-yq2gsstb],.detail__body[data-astro-cid-yq2gsstb]{width:100%;max-width:62rem;margin-inline:auto}.detail__mast[data-astro-cid-yq2gsstb]{margin-bottom:clamp(1.6rem,4vh,2.6rem);display:none}.detail__back[data-astro-cid-yq2gsstb]{align-items:center;margin-bottom:clamp(1.8rem,5vh,3.4rem);display:flex}.backlink[data-astro-cid-yq2gsstb]{font-family:var(--font-mono);letter-spacing:calc(.09em + var(--mono-track));color:var(--ink-soft);align-items:baseline;gap:.5em;font-size:.92rem;transition:color .24s;display:inline-flex}.backlink[data-astro-cid-yq2gsstb]:hover{color:var(--ink)}.backlink__chevron[data-astro-cid-yq2gsstb]{align-self:center;transition:translate .3s cubic-bezier(.2,.8,.2,1);display:inline-flex}.backlink__chevron[data-astro-cid-yq2gsstb] .icon{width:1em;height:1em}.backlink[data-astro-cid-yq2gsstb]:hover .backlink__chevron[data-astro-cid-yq2gsstb]{translate:-.25em}.detail__body[data-astro-cid-yq2gsstb]{--title-size:clamp(2.2rem, 10.5cqw, calc(145px / var(--title-scale)));flex:auto;grid-template-columns:minmax(0,1fr) minmax(0,min(26rem,42%));grid-template-areas:"tags.""title links""sum links""plate plate""prose.";align-content:start;align-items:start;column-gap:clamp(1.8rem,4vw,4rem);margin-bottom:clamp(2.5rem,6vh,4.5rem);display:grid;position:relative;container-type:inline-size}.detail__tags[data-astro-cid-yq2gsstb]{grid-area:tags}.detail__title[data-astro-cid-yq2gsstb]{grid-area:title}.detail__summary[data-astro-cid-yq2gsstb]{grid-area:sum}.detail__links[data-astro-cid-yq2gsstb]{grid-area:links}.detail__plate[data-astro-cid-yq2gsstb]{grid-area:plate}.detail__prose[data-astro-cid-yq2gsstb]{grid-area:prose}.detail__body[data-astro-cid-yq2gsstb]:before{content:"";inset:calc(-1 * var(--pf-bleed));z-index:-1;pointer-events:none;width:calc(round(up, 100% + 2 * var(--pf-bleed) - var(--hairline), var(--grid-cell)) + var(--hairline));height:calc(round(up, 100% + 2 * var(--pf-bleed) - var(--hairline), var(--grid-cell)) + var(--hairline));background-origin:border-box;background-image:linear-gradient(to right, var(--grid-line) 0 var(--hairline), transparent var(--hairline)), linear-gradient(to bottom, var(--grid-line) 0 var(--hairline), transparent var(--hairline));background-size:var(--grid-cell) var(--grid-cell);border:var(--hairline) solid var(--grid-line);background-repeat:repeat;grid-area:1/1/5/-1;margin:auto;position:absolute}.detail__tags[data-astro-cid-yq2gsstb]{margin-bottom:.45rem}.detail__title[data-astro-cid-yq2gsstb]{font-family:var(--font-display);font-weight:var(--title-weight);font-size:calc(var(--title-size) * var(--title-scale));letter-spacing:var(--title-track);line-height:var(--title-leading)}.detail__summary[data-astro-cid-yq2gsstb]{max-width:48ch;color:var(--ink);text-wrap:pretty;margin-top:clamp(2.2rem,4.5vh,3.4rem);font-size:1.12rem;line-height:1.5}.detail__plate[data-astro-cid-yq2gsstb]{margin-top:clamp(1.8rem,4vh,3rem)}.detail__plate[data-astro-cid-yq2gsstb] .art{aspect-ratio:24/7}.detail__prose[data-astro-cid-yq2gsstb]{margin-top:clamp(2.4rem,6vh,4rem)}.detail__h2[data-astro-cid-yq2gsstb]{font-family:var(--font-display);letter-spacing:-.03em;margin-bottom:clamp(1.2rem,3vh,2rem);font-size:clamp(1.9rem,3.4vw,3rem);font-weight:500;line-height:1}.detail__prose[data-astro-cid-yq2gsstb] p{max-width:54ch;color:var(--ink);text-wrap:pretty;font-size:.98rem;line-height:1.7}.detail__prose[data-astro-cid-yq2gsstb] p+p{margin-top:1.1em}.reslinks[data-astro-cid-yq2gsstb]{gap:.7rem;display:grid}.detail__links[data-astro-cid-yq2gsstb]:has(.reslinks>:only-child){align-self:center}@media (width<=1080px){.page--project[data-astro-cid-yq2gsstb]{grid-template:"detail"1fr"rail""foot"/minmax(0,1fr)}.detail__mast[data-astro-cid-yq2gsstb]{display:block}.railcol[data-astro-cid-yq2gsstb]{margin-inline:calc(-1 * var(--pad));margin-bottom:clamp(2.5rem,6vh,4.5rem)}.detail__body[data-astro-cid-yq2gsstb]{grid-template-columns:minmax(0,1fr);grid-template-areas:"tags""title""sum""links""plate""prose"}.detail__body[data-astro-cid-yq2gsstb]:before{grid-row:1/6}.detail__links[data-astro-cid-yq2gsstb]{margin-top:clamp(1.8rem,4vh,3rem)}.reslinks[data-astro-cid-yq2gsstb]{grid-template-columns:repeat(2,minmax(0,1fr))}.detail__plate[data-astro-cid-yq2gsstb] .art{aspect-ratio:16/9}}@media (width<=620px){.reslinks[data-astro-cid-yq2gsstb]{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.backlink[data-astro-cid-yq2gsstb],.backlink__chevron[data-astro-cid-yq2gsstb]{transition:none}}::view-transition-old(root){animation:.14s cubic-bezier(.4,0,1,1) both fl-leave}::view-transition-new(root){animation:.38s cubic-bezier(.2,.8,.2,1) .11s both fl-arrive}@keyframes fl-leave{to{opacity:0}}@keyframes fl-arrive{0%{opacity:0;translate:0 10px}to{opacity:1;translate:0}}
