header[data-astro-cid-ctg3m53h]{max-width:var(--measure);margin:0 auto;padding:3.5rem 1.5rem 0}.masthead[data-astro-cid-ctg3m53h]{text-align:center;padding-bottom:1.75rem;border-bottom:1px solid var(--color-ink-strong)}.kicker[data-astro-cid-ctg3m53h]{margin:0 0 .5rem;font-size:.6875rem;letter-spacing:.35em;color:var(--color-muted)}.title[data-astro-cid-ctg3m53h]{font-family:var(--font-serif);font-weight:700;font-size:clamp(1.75rem,5vw,2.5rem);color:var(--color-ink-strong);text-decoration:none;letter-spacing:.08em}.tagline[data-astro-cid-ctg3m53h]{margin:.75rem 0 0;font-size:.8125rem;color:var(--color-muted);letter-spacing:.1em}nav[data-astro-cid-ctg3m53h]{display:flex;justify-content:flex-end;padding:.625rem 0;border-bottom:1px solid var(--color-border);margin-bottom:3.5rem}nav[data-astro-cid-ctg3m53h] a[data-astro-cid-ctg3m53h]{font-size:.8125rem;color:var(--color-muted);text-decoration:none;letter-spacing:.05em}nav[data-astro-cid-ctg3m53h] a[data-astro-cid-ctg3m53h]:hover{color:var(--color-ink-strong)}footer[data-astro-cid-gcn2mc3v]{border-top:1px solid var(--color-border);background:var(--color-surface)}.inner[data-astro-cid-gcn2mc3v]{max-width:var(--measure);margin:0 auto;padding:2.5rem 1.5rem;display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap}.note[data-astro-cid-gcn2mc3v]{margin:0;font-size:.8125rem;color:var(--color-muted)}.links[data-astro-cid-gcn2mc3v]{margin:0;font-size:.8125rem}.links[data-astro-cid-gcn2mc3v] a[data-astro-cid-gcn2mc3v]{color:var(--color-muted);text-decoration:none}.links[data-astro-cid-gcn2mc3v] a[data-astro-cid-gcn2mc3v]:hover{color:var(--color-ink-strong)}:root{--color-bg: #f7f6f3;--color-surface: #fffefb;--color-ink: #2f3437;--color-ink-strong: #111111;--color-muted: #787774;--color-border: #eaeaea;--color-rule: #d9d6d0;--pastel-yellow-bg: #fbf3db;--pastel-yellow-ink: #956400;--pastel-blue-bg: #e1f3fe;--pastel-blue-ink: #1f6c9f;--pastel-green-bg: #edf3ec;--pastel-green-ink: #346538;--pastel-red-bg: #fdebec;--pastel-red-ink: #9f2f2d;--font-serif: "Zen Old Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;--font-sans: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "Noto Sans JP", sans-serif;--font-mono: "SF Mono", "JetBrains Mono", Consolas, monospace;--measure: 42rem}*{box-sizing:border-box}html{background:var(--color-bg);scroll-behavior:smooth}body{margin:0;color:var(--color-ink);font-family:var(--font-sans);font-size:1rem;line-height:1.9;font-feature-settings:"palt";-webkit-font-smoothing:antialiased;min-height:100dvh;display:flex;flex-direction:column}main{flex:1;width:100%;max-width:var(--measure);margin:0 auto;padding:0 1.5rem 6rem}h1,h2,h3{font-family:var(--font-serif);color:var(--color-ink-strong);font-weight:700;line-height:1.4;letter-spacing:.01em}a{color:var(--color-ink-strong);text-decoration:underline;text-decoration-color:var(--color-rule);text-underline-offset:.25em;transition:text-decoration-color .2s ease}a:hover{text-decoration-color:var(--color-ink-strong)}::selection{background:var(--pastel-yellow-bg)}.prose{font-size:1.0625rem}.prose h2{margin:4rem 0 1.5rem;padding-top:1.75rem;border-top:2px solid var(--color-ink-strong);font-size:1.5rem;position:relative}.prose h2:before{content:"";position:absolute;top:3px;left:0;right:0;border-top:1px solid var(--color-rule)}.prose h3{margin:2.5rem 0 .75rem;font-size:1.1875rem}.prose p{margin:0 0 1.5rem}.prose ul,.prose ol{margin:0 0 1.5rem;padding-left:1.5rem}.prose li{margin-bottom:.5rem}.prose strong{color:var(--color-ink-strong)}.prose blockquote{margin:2rem 0;padding:.25rem 0 .25rem 1.25rem;border-left:2px solid var(--color-ink-strong);color:var(--color-muted);font-family:var(--font-serif)}.prose blockquote p{margin-bottom:.5rem}.prose code{font-family:var(--font-mono);font-size:.875em;background:var(--pastel-yellow-bg);color:var(--pastel-yellow-ink);padding:.125em .375em;border-radius:4px}.prose pre{background:var(--color-ink-strong);border-radius:8px;padding:1.25rem 1.5rem;overflow-x:auto;line-height:1.6}.prose pre code{background:none;color:inherit;padding:0}.prose hr{border:0;border-top:1px solid var(--color-border);margin:3rem 0}.reveal{opacity:0;transform:translateY(12px);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1)}.reveal.is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
