@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono Fallback;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_898c26{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.__variable_898c26{--font-jet:"JetBrains Mono","JetBrains Mono Fallback"}:root{--guild-green:#2f5d50;--guild-green-700:#264c41;--guild-green-800:#1d3a32;--guild-green-300:#5d8678;--guild-green-soft:#e6ede9;--guild-green-on-dark:#8fb9ac;--ink:#1f1e1d;--ink-800:#2b2a28;--ink-700:#3a3936;--parchment:#f9f8f4;--parchment-warm:#faf9f5;--sand:#f2efe7;--sand-200:#e9e5da;--sand-300:#ddd8c9;--paper:#ffffff;--danger-red:#b3402f;--danger-red-deep:#8f3324;--fg-1:#1f1e1d;--fg-2:#4a4843;--fg-3:#6f6c64;--fg-4:#9b978c;--fg-on-dark-1:#f6f4ee;--fg-on-dark-2:#c4c1b8;--fg-on-dark-3:#8d8a81;--bg-page:var(--parchment);--bg-alt:var(--sand);--surface-card:var(--paper);--surface-sunken:var(--sand);--border-subtle:var(--sand-200);--border-strong:var(--sand-300);--text-strong:var(--fg-1);--text-body:var(--fg-2);--text-muted:var(--fg-3);--text-faint:var(--fg-4);--accent:var(--guild-green);--accent-hover:var(--guild-green-700);--accent-contrast:var(--parchment-warm);--highlight:var(--guild-green-300);--danger:var(--danger-red);--font-sans:var(--font-zen),"Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans JP",system-ui,sans-serif;--font-pixel:var(--font-dot),var(--font-zen),monospace;--font-mono:var(--font-jet),"SFMono-Regular","Consolas",monospace;--font-display:var(--font-sans);--font-body:var(--font-sans);--font-eyebrow:var(--font-sans);--font-rank:var(--font-pixel);--font-code:var(--font-mono);--fw-regular:400;--fw-medium:500;--fw-bold:700;--fw-black:900;--fs-display:clamp(2.6rem,5vw,4.25rem);--fs-h1:clamp(2rem,3.6vw,3rem);--fs-h2:clamp(1.6rem,2.6vw,2.25rem);--fs-h3:1.5rem;--fs-h4:1.25rem;--fs-lead:1.125rem;--fs-body:1rem;--fs-sm:0.875rem;--fs-xs:0.75rem;--fs-2xs:0.6875rem;--lh-tight:1.18;--lh-snug:1.4;--lh-body:1.85;--lh-relaxed:2;--tracking-tight:-0.01em;--tracking-normal:0;--tracking-wide:0.08em;--tracking-wider:0.22em;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--space-32:128px;--container:1120px;--container-wide:1280px;--container-narrow:760px;--section-pad-y:clamp(52px,7.5vw,100px);--section-pad-y-compact:clamp(48px,6vw,80px);--section-pad-x:24px;--control-h-sm:44px;--control-h-lg:54px;--content-measure:56ch;--card-pad:clamp(20px,2.5vw,30px);--radius-none:0;--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-pill:999px;--border-thin:1px;--border-med:1.5px;--border-thick:2px;--shadow-none:none;--shadow-sm:0 1px 2px rgba(31,30,29,0.05);--shadow-md:0 4px 16px rgba(31,30,29,0.07);--shadow-lg:0 12px 36px rgba(31,30,29,0.1);--shadow-pixel:3px 3px 0 var(--ink);--ring:0 0 0 3px rgba(47,93,80,0.3);--ease-out:cubic-bezier(0.22,1,0.36,1);--ease-in-out:cubic-bezier(0.65,0,0.35,1);--dur-fast:120ms;--dur-base:200ms;--dur-slow:360ms}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}body{margin:0;background:var(--bg-page);color:var(--text-body);font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);letter-spacing:.01em;font-feature-settings:"palt" 1;line-break:strict;word-break:normal;overflow-wrap:break-word;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}@supports (word-break:auto-phrase){body{word-break:auto-phrase}}h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--fw-black);line-height:var(--lh-tight);letter-spacing:var(--tracking-tight);color:var(--text-strong);margin:0}p{margin:0}a{color:var(--accent);text-decoration:none}strong{font-weight:var(--fw-bold);color:var(--text-strong)}img{max-width:100%;height:auto}:focus-visible{outline:none;box-shadow:var(--ring);border-radius:var(--radius-xs)}.pixelated{image-rendering:pixelated;image-rendering:crisp-edges}.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--section-pad-x)}.container--narrow{max-width:var(--container-narrow)}.container--wide{max-width:var(--container-wide)}.accent{color:var(--accent);font-style:normal}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:where(h2,h3)[id],:where(section#hero){scroll-margin-top:92px}.prose{font-size:var(--fs-body);line-height:var(--lh-body);color:var(--text-body)}.prose>p{margin:0 0 var(--space-4)}.prose a{color:var(--guild-green-700);border-bottom:1px solid var(--border-strong);transition:border-color var(--dur-base) var(--ease-out)}.prose a:hover{border-bottom-color:var(--accent)}.prose h2{display:flex;align-items:baseline;gap:12px;font-size:clamp(1.4rem,2.2vw,1.65rem);font-weight:var(--fw-black);line-height:var(--lh-snug);color:var(--text-strong);margin:var(--space-12) 0 var(--space-4);padding-bottom:var(--space-3);border-bottom:var(--border-thin) solid var(--border-subtle)}.prose h2 .hn{flex:none;font-family:var(--font-eyebrow);font-size:var(--fs-sm);color:var(--accent);min-width:26px}.prose h2 .hn,.prose h3{font-weight:var(--fw-bold)}.prose h3{font-size:var(--fs-h4);color:var(--text-strong);margin:var(--space-8) 0 var(--space-3)}.prose ol,.prose ul{margin:0 0 var(--space-4);padding-left:1.4em}.prose li{margin:0 0 var(--space-2)}.prose li::marker{color:var(--guild-green-300)}.prose :not(pre)>code{font-family:var(--font-code);font-size:.86em;background:var(--sand);color:var(--guild-green-700);padding:2px 6px;border-radius:var(--radius-xs);word-break:break-word}.prose pre{background:var(--ink);color:var(--fg-on-dark-1);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);overflow-x:auto;margin:var(--space-4) 0;font-size:var(--fs-sm);line-height:1.7}.prose pre code{background:none;padding:0;color:inherit;font-family:var(--font-code);display:grid}.prose figure[data-rehype-pretty-code-figure]{margin:var(--space-4) 0}.prose [data-rehype-pretty-code-title]{font-family:var(--font-code);font-size:var(--fs-xs);color:var(--fg-on-dark-2);background:var(--ink-800);border:var(--border-thin) solid var(--ink-700);border-bottom:none;border-radius:var(--radius-md) var(--radius-md) 0 0;padding:8px 14px}.prose [data-rehype-pretty-code-title]+pre{border-radius:0 0 var(--radius-md) var(--radius-md);margin-top:0}.prose pre [data-line]{padding:0 2px}.prose .tableWrap{display:block;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:var(--space-4) 0}.prose table{width:100%;min-width:640px;border-collapse:collapse;font-size:var(--fs-sm)}.prose td,.prose th{text-align:left;padding:10px 12px;border-bottom:var(--border-thin) solid var(--border-subtle);vertical-align:top}.prose thead th{font-size:var(--fs-xs);letter-spacing:.06em;color:var(--text-muted);border-bottom:var(--border-med) solid var(--ink);font-weight:var(--fw-bold)}.prose figure{margin:var(--space-5) 0}.prose figcaption{margin-top:var(--space-2);font-size:var(--fs-xs);color:var(--text-muted);line-height:var(--lh-snug)}.prose figcaption b{color:var(--guild-green-700)}.prose hr{border:none;border-top:var(--border-thin) solid var(--border-subtle);margin:var(--space-10) 0}.prose blockquote{margin:var(--space-4) 0;padding-left:var(--space-4);border-left:3px solid var(--guild-green-300);color:var(--text-muted)}@media (max-width:640px){:root{--section-pad-x:16px;--section-pad-y:clamp(40px,10vw,60px);--fs-lead:1rem}body{line-height:1.75}:where(h2,h3)[id],:where(section#hero){scroll-margin-top:124px}.prose h2{gap:8px;align-items:flex-start}}@media print{.no-print,body>footer,body>header{display:none!important}@page{margin:16mm}html{scroll-behavior:auto}body{background:#fff;color:var(--ink)}.prose,.prose li,.prose p,article,main{color:var(--ink);background:transparent}.prose h2,.prose h3,h1,h2,h3,h4{color:var(--ink)}.prose pre{white-space:pre-wrap;word-wrap:break-word;overflow:visible}.prose pre code{white-space:pre-wrap;word-break:break-word}.prose blockquote,.prose figure,.prose pre,.prose table,blockquote,figure,pre,table{page-break-inside:avoid;break-inside:avoid}.prose a,a{text-decoration:underline}}