@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.3zhtymus0wdqb.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.3nkuoiize4urq.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.1da667lu-u79a.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.1i05ju5aeyhye.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.1dgcou5jor5q_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.31-2bzhq1gx_9.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.3xauquyg2sixn.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.2taws-qdxmzlf.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/68757d6cddeff913-s.0htwiiqufp3l9.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.28xcb7557rbh2.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_d60d666a-module__Zbif0W__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_d60d666a-module__Zbif0W__variable{--font-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#fdfcfa;--paper-sunk:#f6f4ef;--sumi:#17150f;--sumi-soft:#3b372c;--text:#2a271f;--text-quiet:#6d675a;--text-faint:#9b9484;--rule:#ddd7c7;--rule-strong:#17150f;--reverse-text:#faf8f3;--reverse-quiet:#a49c8c;--c-welbo:#2f5d7c;--c-choukou:#8a5a2b;--c-gravo:#3c6b4a;--measure:40rem;--gutter:1.5rem;--page:50rem}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--text);font-family:var(--font-body), "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:1rem;line-height:1.95}h1,h2,h3{font-family:var(--font-display), "Hiragino Mincho ProN", "Yu Mincho", serif;letter-spacing:.015em;text-wrap:balance;margin:0;font-weight:900;line-height:1.5}p{margin:0}a{color:inherit}::selection{background:var(--sumi);color:var(--paper)}:focus-visible{outline:2px solid var(--c-welbo);outline-offset:3px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.shell{max-width:var(--page);padding-inline:var(--gutter);margin-inline:auto}.label{font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:.24em;text-transform:uppercase;color:var(--text-faint);margin:0;font-size:.66rem}.measure{max-width:var(--measure)}.masthead{z-index:20;background:var(--paper);border-bottom:1px solid var(--rule);position:sticky;top:0}.masthead__inner{justify-content:space-between;align-items:center;gap:1rem;height:3.5rem;display:flex}.wordmark{font-family:var(--font-mono), monospace;letter-spacing:.14em;text-transform:none;color:var(--sumi);white-space:nowrap;font-size:.78rem;text-decoration:none}.label--brand{text-transform:none;letter-spacing:.14em}.masthead nav{gap:1.25rem;display:flex}.masthead nav a{font-family:var(--font-mono), monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--text-quiet);border-bottom:1px solid #0000;padding-block:.25rem;font-size:.66rem;text-decoration:none;transition:color .15s,border-color .15s}.masthead nav a:hover{color:var(--sumi);border-bottom-color:var(--sumi)}@media (max-width:30rem){.masthead__inner{gap:.75rem}.masthead nav{gap:.7rem}.masthead nav a{letter-spacing:.06em;font-size:.62rem}.wordmark{letter-spacing:.08em}}.frontispiece{background:var(--sumi);color:var(--reverse-text);padding-block:clamp(3rem,9vw,5.25rem)}.frontispiece .label{color:var(--reverse-quiet)}.frontispiece h1{margin-top:2.25rem;font-size:clamp(1.6rem,7.2vw,3.9rem)}.frontispiece__note{max-width:28rem;color:var(--reverse-quiet);margin-top:2.25rem;font-size:.92rem;line-height:2}.chapter{border-bottom:1px solid var(--rule);padding-block:clamp(3.5rem,9vw,6rem);scroll-margin-top:3.5rem}.chapter:last-of-type{border-bottom:0}.chapter__head{border-bottom:2px solid var(--rule-strong);align-items:baseline;gap:1rem;padding-bottom:.9rem;display:flex}.chapter__head h2{font-size:clamp(1.2rem,3.4vw,1.6rem)}.chapter__body{gap:1.6rem;margin-top:2rem;display:grid}.chapter__body p{max-width:var(--measure);font-size:.95rem}.chapter__body em{color:var(--sumi);font-style:normal;font-weight:700;box-shadow:inset 0 -.42em #2f5d7c24}.mailto{font-family:var(--font-mono), monospace;letter-spacing:.02em;color:var(--sumi);border-bottom:1px solid var(--rule);overflow-wrap:anywhere;padding-bottom:.12rem;font-size:.92rem;text-decoration:none;transition:border-color .15s}.mailto:hover{border-bottom-color:var(--sumi)}.steps{border-top:2px solid var(--rule-strong);margin:2rem 0 0;padding:0;list-style:none}.step{border-bottom:1px solid var(--rule);grid-template-columns:2.2rem minmax(0,1fr);align-items:baseline;column-gap:.9rem;padding:1.35rem 0 1.5rem;display:grid}.step__no{font-family:var(--font-mono), monospace;letter-spacing:.1em;color:var(--text-faint);font-size:.66rem}.step__title{font-family:var(--font-display), serif;letter-spacing:.01em;font-size:1.02rem;font-weight:700}.step__body{color:var(--text-quiet);grid-column:2;max-width:32rem;margin:.35rem 0 0;font-size:.88rem;line-height:1.95}.works{margin-top:2.25rem}.work{border-top:1px solid var(--rule);border-left:3px solid var(--tint,var(--rule));padding:2.25rem 0 2.5rem 1.1rem}.work:first-child{border-top:0}.work__name{font-family:var(--font-display), serif;letter-spacing:.02em;flex-wrap:wrap;align-items:baseline;gap:.9rem;margin:0;font-size:clamp(1.35rem,4vw,1.6rem);font-weight:900;display:flex}.work__state{font-family:var(--font-mono), monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--tint,var(--text-faint));font-size:.6rem;font-weight:400}.work__lede{max-width:36rem;margin-top:.9rem;font-size:.95rem;line-height:1.9}.work__spec{max-width:36rem;color:var(--text-quiet);margin-top:1.1rem;font-size:.88rem;line-height:1.9}.work__link{font-family:var(--font-mono), monospace;letter-spacing:.04em;margin-top:1.1rem;font-size:.72rem}.work__link a{color:var(--sumi);border-bottom:1px solid var(--rule);padding-bottom:.12rem;text-decoration:none;transition:border-color .15s}.work__link a:hover{border-bottom-color:var(--sumi)}.work__shots{grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;max-width:36rem;margin-top:1.6rem;display:grid}.work__shots figure{margin:0}.work__shots img{border:1px solid var(--rule);width:100%;height:auto;display:block}.work__shots figcaption{color:var(--text-faint);margin-top:.45rem;font-size:.68rem;line-height:1.6}.colophon{border-top:2px solid var(--rule-strong);margin-top:3.5rem;padding:1.75rem 0 3rem}.colophon__nav{flex-wrap:wrap;gap:.6rem 1.6rem;font-size:.82rem;display:flex}.colophon__nav--out{font-family:var(--font-mono), monospace;letter-spacing:.03em;color:var(--text-quiet);margin-top:.9rem;font-size:.72rem}.colophon__nav a{border-bottom:1px solid #0000;padding-bottom:.12rem;text-decoration:none;transition:border-color .15s}.colophon__nav a:hover{border-bottom-color:var(--sumi)}.colophon__foot{border-top:1px solid var(--rule);color:var(--text-faint);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.6rem;margin-top:2.25rem;padding-top:1.1rem;font-size:.72rem;display:flex}.colophon__foot .tagline{font-family:var(--font-display), serif;color:var(--text-quiet);font-size:.82rem;font-weight:700}.page-head{padding-block:clamp(3rem,8vw,5rem) 0}.page-head h1{margin-top:.9rem;font-size:clamp(1.7rem,5.5vw,2.5rem)}.page-head__lede{max-width:var(--measure);color:var(--text-quiet);margin-top:1.5rem;font-size:.95rem;line-height:2}.chapter__more{font-family:var(--font-mono), monospace;letter-spacing:.04em;margin-top:1.6rem;font-size:.78rem}.chapter__more a{border-bottom:1px solid var(--rule);padding-bottom:.12rem;text-decoration:none;transition:border-color .15s}.chapter__more a:hover{border-bottom-color:var(--sumi)}.faq{border-top:2px solid var(--rule-strong);margin:2rem 0 0}.faq>div{border-bottom:1px solid var(--rule);padding:1.3rem 0}.faq dt{font-family:var(--font-display), serif;color:var(--sumi);font-size:.98rem;font-weight:700}.faq dd{color:var(--text-quiet);max-width:34rem;margin:.5rem 0 0;font-size:.88rem;line-height:1.95}.prose{max-width:var(--measure);margin-top:2.5rem;padding-bottom:1rem}.prose h2{border-top:1px solid var(--rule);margin-top:2.4rem;padding-top:1.4rem;font-size:1.05rem}.prose h2:first-child{border-top:0;margin-top:0;padding-top:0}.prose p{color:var(--text-quiet);margin-top:.9rem;font-size:.92rem;line-height:2}.prose a,.chapter__body a{color:var(--sumi);border-bottom:1px solid var(--rule);text-decoration:none;transition:border-color .15s}.prose a:hover,.chapter__body a:hover{border-bottom-color:var(--sumi)}.prose code{font-family:var(--font-mono), monospace;background:var(--paper-sunk);padding:.1em .3em;font-size:.86em}.next-links{border-top:2px solid var(--rule-strong);gap:0;margin-top:3rem;display:grid}@media (min-width:40rem){.next-links{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:2.5rem}}.next-link{border-bottom:1px solid var(--rule);color:inherit;gap:.3rem;padding:1.25rem 0;text-decoration:none;display:grid}.next-link__title{font-family:var(--font-display), serif;color:var(--sumi);font-size:.98rem;font-weight:700}.next-link__note{color:var(--text-quiet);font-size:.82rem}.next-link:hover .next-link__title{text-underline-offset:.25em;text-decoration:underline}.chapter--plain{padding-block:clamp(2.25rem,6vw,3.25rem)}.say{max-width:var(--measure);font-size:.95rem;line-height:1.95}.say a{color:var(--sumi);border-bottom:1px solid var(--rule);text-decoration:none;transition:border-color .15s}.say a:hover{border-bottom-color:var(--sumi)}.step__body,.faq dd,.prose p{color:var(--text)}.chapter__body p{line-height:1.95}@media (max-width:34rem){.work__shots{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter);gap:.7rem;padding-bottom:.3rem;display:flex;overflow-x:auto}.work__shots figure{scroll-snap-align:start;flex:0 0 11rem}.work__shots figcaption{font-size:.66rem}}.frontispiece__go{font-family:var(--font-mono), monospace;letter-spacing:.06em;flex-wrap:wrap;gap:1.75rem;margin-top:2rem;font-size:.74rem;display:flex}.frontispiece__go a{color:var(--reverse-text);border-bottom:1px solid var(--reverse-quiet);padding-bottom:.2rem;text-decoration:none;transition:border-color .15s}.frontispiece__go a:hover{border-bottom-color:var(--reverse-text)}.name-figure{width:100%;max-width:30rem;height:auto;margin-top:1.9rem;display:block}.skip{z-index:100;background:var(--sumi);color:var(--paper);padding:.7rem 1.1rem;font-size:.82rem;text-decoration:none;position:absolute;top:0;left:-9999px}.skip:focus{left:0}main:focus{outline:none}.masthead nav a[data-here]{color:var(--sumi);border-bottom-color:var(--sumi)}.masthead nav a{align-items:center;min-height:44px;display:inline-flex}.work__shots figcaption{color:var(--text-quiet)}.profile{border-top:2px solid var(--rule-strong);margin:2rem 0 0}.profile>div{border-bottom:1px solid var(--rule);flex-wrap:wrap;gap:.25rem 1.5rem;padding:.95rem 0;font-size:.88rem;display:flex}.profile dt{font-family:var(--font-mono), monospace;letter-spacing:.12em;color:var(--text-faint);flex:0 0 6rem;padding-top:.3rem;font-size:.68rem}.profile dd{flex:16rem;margin:0;line-height:1.85}
