:root{--color-paper: #fff;--color-ink: #1f2428;--color-ink-soft: #5b656b;--color-rule: #e4e8ea;--color-accent: #0b6470;--color-code: #f4f6f7;--font-body: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", system-ui, sans-serif;--measure: 40rem;--space-xs: .5rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: 3rem;--space-xl: 5rem}@media(prefers-color-scheme:dark){:root{--color-paper: #15191c;--color-ink: #e8ecee;--color-ink-soft: #9aa5ab;--color-rule: #2a3236;--color-accent: #6cc4cf;--color-code: #1e2427}}html,body{overflow-x:clip}body{margin:0;background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:1rem;line-height:1.95;letter-spacing:.03em;font-feature-settings:"palt";-webkit-text-size-adjust:100%}.wrap{max-width:var(--measure);margin:0 auto;padding:0 var(--space-md)}a{color:var(--color-accent);text-underline-offset:.22em;text-decoration-thickness:1px}a:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:2px}header.site{padding:var(--space-md) 0}header.site .wrap{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-sm)}header.site a.name{color:var(--color-ink);text-decoration:none;font-weight:700;font-size:1rem;letter-spacing:.06em}header.site nav a{color:var(--color-ink-soft);font-size:.85rem;text-decoration:none;white-space:nowrap}main.wrap{padding-top:var(--space-md)}.lead{margin:var(--space-lg) 0 var(--space-md)}.lead p{margin:0;color:var(--color-ink-soft);font-size:.95rem;line-height:1.8}.hero{margin:var(--space-sm) 0 var(--space-lg)}.hero .kicker{margin:0 0 var(--space-xs);color:var(--color-accent);font-size:.85rem;font-weight:600;letter-spacing:.06em}.hero .hero-lead{margin:0;font-size:1.15rem;line-height:1.8;font-weight:600}.section-label{font-size:.85rem;letter-spacing:.1em;color:var(--color-ink-soft);font-weight:600;margin:0 0 var(--space-xs)}.pillars{margin-bottom:var(--space-lg)}.pillars ol{list-style:none;padding:0;margin:0;counter-reset:pillar}.pillars li{counter-increment:pillar;padding:var(--space-sm) 0;border-top:1px solid var(--color-rule)}.pillars li:last-child{border-bottom:1px solid var(--color-rule)}.pillars .name{font-weight:700;color:var(--color-ink)}.pillars .name:before{content:counter(pillar,upper-alpha) ".";color:var(--color-ink-soft);font-weight:600;display:inline-block;margin-right:.3em}.pillars a.name{color:var(--color-accent)}.pillars .count{margin-left:.6em;font-size:.8rem;color:var(--color-ink-soft)}.pillars p{margin:.15rem 0 0;font-size:.9rem;line-height:1.7;color:var(--color-ink-soft)}article>h1{font-size:clamp(1.5rem,1.2rem + 1.6vw,2rem);line-height:1.5;letter-spacing:.02em;font-weight:700;margin:var(--space-md) 0 var(--space-sm);overflow-wrap:anywhere;font-style:normal}.meta{color:var(--color-ink-soft);font-size:.8rem;line-height:1.6;margin-bottom:var(--space-lg)}.meta a{color:inherit}article h2{font-size:1.35rem;line-height:1.6;margin:var(--space-lg) 0 var(--space-sm)}article h3{font-size:1.1rem;line-height:1.6;margin:var(--space-lg) 0 var(--space-xs)}article p,article ul,article ol{margin:0 0 1.4em}article li{margin-bottom:.4em}article blockquote{margin:0 0 1.4em;padding-left:var(--space-sm);border-left:3px solid var(--color-rule);color:var(--color-ink-soft)}article hr{border:0;border-top:1px solid var(--color-rule);margin:var(--space-lg) 0 0}img{max-width:100%;height:auto}code{background:var(--color-code);padding:.1em .35em;border-radius:3px;font-size:.9em;overflow-wrap:anywhere}pre{background:var(--color-code);padding:var(--space-sm);border-radius:4px;overflow-x:auto;line-height:1.7;font-size:.85rem}pre code{background:none;padding:0}table{border-collapse:collapse;display:block;overflow-x:auto;font-size:.9rem;line-height:1.7;margin-bottom:1.4em}td,th{border:1px solid var(--color-rule);padding:.4rem .7rem;text-align:left}th{background:var(--color-code)}ul.list{list-style:none;padding:0;margin:0}ul.list li{padding:var(--space-md) 0;border-top:1px solid var(--color-rule)}ul.list li:last-child{border-bottom:1px solid var(--color-rule)}ul.list a.title{color:var(--color-ink);text-decoration:none;font-weight:700;font-size:1.1rem;line-height:1.6;display:block;overflow-wrap:anywhere}ul.list a.title:hover{color:var(--color-accent)}ul.list .excerpt{color:var(--color-ink-soft);font-size:.9rem;line-height:1.8;margin-top:.25rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}ul.list .meta{margin:.5rem 0 0}.next-read{margin-top:var(--space-xl)}.next-read h2{font-size:.85rem;letter-spacing:.1em;color:var(--color-ink-soft);font-weight:600;margin:0 0 var(--space-xs)}.pager{display:flex;justify-content:space-between;gap:var(--space-sm);margin-top:var(--space-lg);font-size:.9rem}.pager a{display:inline-block;padding:.5rem 0;white-space:nowrap}footer.site{margin-top:var(--space-xl);padding:var(--space-lg) 0;border-top:1px solid var(--color-rule);font-size:.8rem;color:var(--color-ink-soft);line-height:2}footer.site a{color:var(--color-ink-soft);margin-right:var(--space-sm);white-space:nowrap;display:inline-block}footer.site p{margin:var(--space-xs) 0 0}:root{--fig-paper: #FAFCFC;--fig-paper-2: #EEF3F3;--fig-rule: #7D8989;--fig-rule-faint: #BDC6C7;--fig-ink: #141C1D;--fig-sub: #566060;--fig-accent: #006D7A;--fig-accent-bg: #D5F1F5;--fig-font: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", sans-serif;--fig-mono: "JetBrains Mono", ui-monospace, monospace;--fig-fs-cap: 13px;--fig-fs-body: 16px;--fig-fs-lead: 19px;--fig-fs-head: 23px;--fig-lh-tight: 1.24;--fig-lh-body: 1.45;--fig-sp-xs: 8px;--fig-sp-sm: 16px;--fig-sp-md: 24px;--fig-sp-lg: 40px;--fig-sp-xl: 64px;--fig-line: 2px;--fig-line-strong: 3px;--fig-line-faint: 1px;--fig-radius: 4px}.fig{background:var(--fig-paper);color:var(--fig-ink);font-family:var(--fig-font);font-size:var(--fig-fs-body);line-height:var(--fig-lh-body);padding:var(--fig-sp-lg) var(--fig-sp-md) var(--fig-sp-md);border:var(--fig-line) solid var(--fig-rule);border-radius:var(--fig-radius);margin:0 0 var(--fig-sp-lg)}.fig-title{font-size:var(--fig-fs-head);line-height:var(--fig-lh-tight);font-weight:700;margin:0 0 var(--fig-sp-md)}.fig-lead{font-size:var(--fig-fs-lead);line-height:var(--fig-lh-tight);margin:0 0 var(--fig-sp-sm)}.fig figcaption,.fig-cap{font-size:var(--fig-fs-cap);color:var(--fig-sub);margin-top:var(--fig-sp-sm)}.fig-label{font-family:var(--fig-mono);font-size:var(--fig-fs-cap);color:var(--fig-sub)}.fig-panel{background:var(--fig-paper-2);border:var(--fig-line) solid var(--fig-rule);border-radius:var(--fig-radius);padding:var(--fig-sp-sm)}.fig-fail{border-color:var(--fig-accent);border-width:var(--fig-line-strong);border-style:dashed;background:var(--fig-accent-bg)}.fig-fail-label{color:var(--fig-accent);font-weight:700}.fig-divider{border:0;border-top:var(--fig-line-faint) solid var(--fig-rule-faint);margin:var(--fig-sp-md) 0}.fig table{border-collapse:collapse;width:100%;font-size:var(--fig-fs-cap)}.fig th,.fig td{border:var(--fig-line-faint) solid var(--fig-rule);padding:var(--fig-sp-xs) var(--fig-sp-sm);text-align:left}.fig th{background:var(--fig-paper-2);font-weight:700}.fig pre,.fig code{font-family:var(--fig-mono);font-size:var(--fig-fs-cap);color:var(--fig-ink)}.fig pre{background:var(--fig-paper-2);border-left:var(--fig-line-strong) solid var(--fig-rule);padding:var(--fig-sp-sm);overflow-x:auto}.fig svg{max-width:100%;height:auto;display:block}.fig svg .line{stroke:var(--fig-rule);stroke-width:var(--fig-line);fill:none}.fig svg .line-fail{stroke:var(--fig-accent);stroke-width:var(--fig-line-strong);stroke-dasharray:6 4;fill:none}.fig svg text{fill:var(--fig-ink);font-family:var(--fig-font);font-size:var(--fig-fs-cap)}
