.emdash-live-search[data-astro-cid-klwkb3g6]{display:inline-block;position:relative}.emdash-live-search-input[data-astro-cid-klwkb3g6]{border:1px solid var(--emdash-search-border,#ccc);background:var(--emdash-search-bg,white);width:100%;color:var(--emdash-search-text,inherit);border-radius:.25rem;padding:.5rem 1rem;font-size:1rem}.emdash-live-search-input[data-astro-cid-klwkb3g6]:focus{border-color:var(--emdash-search-border-focus,#666);outline:none}.emdash-live-search-results[data-astro-cid-klwkb3g6]{background:var(--emdash-search-bg,white);border:1px solid var(--emdash-search-border,#ccc);z-index:1000;border-radius:.25rem;max-height:400px;margin-top:.25rem;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 6px #0000001a}.emdash-live-search-loading[data-astro-cid-klwkb3g6],.emdash-live-search-no-results[data-astro-cid-klwkb3g6]{text-align:center;color:var(--emdash-search-muted,#666);padding:1rem}.emdash-live-search-result[data-astro-cid-klwkb3g6]{color:var(--emdash-search-text,inherit);border-bottom:1px solid var(--emdash-search-border,#eee);padding:.75rem 1rem;text-decoration:none;display:block}.emdash-live-search-result[data-astro-cid-klwkb3g6]:last-child{border-bottom:none}.emdash-live-search-result[data-astro-cid-klwkb3g6]:hover,.emdash-live-search-result[data-astro-cid-klwkb3g6]:focus,.emdash-live-search-result[data-astro-cid-klwkb3g6].focused{background:var(--emdash-search-hover,#f5f5f5);outline:none}.emdash-live-search-result-title[data-astro-cid-klwkb3g6]{font-weight:500;display:block}.emdash-live-search-result-collection[data-astro-cid-klwkb3g6]{color:var(--emdash-search-muted,#888);text-transform:uppercase;letter-spacing:.05em;margin-top:.125rem;font-size:.75rem;display:block}.emdash-live-search-result-snippet[data-astro-cid-klwkb3g6]{color:var(--emdash-search-muted,#666);margin-top:.25rem;font-size:.875rem;display:block}.emdash-live-search-result-snippet[data-astro-cid-klwkb3g6] mark{color:var(--emdash-search-highlight,var(--emdash-search-text,#000));background:0 0;font-weight:600}@layer base{:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--color-bg:var(--lightningcss-light,#fafafa)var(--lightningcss-dark,#0a0a0a);--color-surface:var(--lightningcss-light,#fff)var(--lightningcss-dark,#141414);--color-fill:var(--lightningcss-light,#f2f2f2)var(--lightningcss-dark,#1f1f1f);--color-fill-strong:var(--lightningcss-light,#e8e8e8)var(--lightningcss-dark,#2a2a2a);--color-bg-subtle:var(--color-fill);--color-text:var(--lightningcss-light,#171717)var(--lightningcss-dark,#ededed);--color-text-secondary:var(--lightningcss-light,#525252)var(--lightningcss-dark,#a3a3a3);--color-muted:var(--lightningcss-light,#6b6b6b)var(--lightningcss-dark,#8f8f8f);--color-border:var(--lightningcss-light,#e5e5e5)var(--lightningcss-dark,#262626);--color-border-subtle:var(--lightningcss-light,#efefef)var(--lightningcss-dark,#1c1c1c);--color-border-strong:var(--lightningcss-light,#d4d4d4)var(--lightningcss-dark,#3a3a3a);--color-ring:var(--lightningcss-light,#00000012)var(--lightningcss-dark,#ffffff17);--color-media-outline:var(--lightningcss-light,#0000001a)var(--lightningcss-dark,#ffffff1a);--color-shadow:var(--lightningcss-light,#0000000f)var(--lightningcss-dark,#0006);--color-shadow-strong:var(--lightningcss-light,#0000001f)var(--lightningcss-dark,#0009);--color-brand:var(--lightningcss-light,#171717)var(--lightningcss-dark,#fafafa);--color-brand-hover:var(--lightningcss-light,#404040)var(--lightningcss-dark,#d4d4d4);--color-on-brand:var(--lightningcss-light,#fff)var(--lightningcss-dark,#0a0a0a);--color-brand-ring:color-mix(in srgb, var(--color-brand) 15%, transparent);--emdash-search-bg:var(--color-surface);--emdash-search-text:var(--color-text);--emdash-search-muted:var(--color-muted);--emdash-search-border:var(--color-border);--emdash-search-hover:var(--color-fill);--emdash-search-highlight:var(--color-text);--font-heading:var(--font-body);--font-weight-heading:600;--font-weight-display:600;--font-size-label:.75rem;--font-size-xs:.8125rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:2rem;--font-size-4xl:2.5rem;--font-size-5xl:3.5rem;--font-size-display:clamp(2.25rem, 1.6rem + 2.6vw, 3.5rem);--leading-tight:1.1;--leading-snug:1.3;--leading-normal:1.5;--leading-relaxed:1.7;--tracking-tight:-.035em;--tracking-snug:-.02em;--tracking-wide:.06em;--tracking-wider:.08em;--spacing-1:.25rem;--spacing-2:.5rem;--spacing-3:.75rem;--spacing-4:1rem;--spacing-5:1.25rem;--spacing-6:1.5rem;--spacing-8:2rem;--spacing-10:2.5rem;--spacing-12:3rem;--spacing-16:4rem;--spacing-20:5rem;--spacing-24:6rem;--spacing-xs:var(--spacing-1);--spacing-sm:var(--spacing-2);--spacing-md:var(--spacing-4);--spacing-lg:var(--spacing-6);--spacing-xl:var(--spacing-8);--spacing-2xl:var(--spacing-12);--spacing-3xl:var(--spacing-16);--content-width:680px;--wide-width:1200px;--max-width:var(--content-width);--frame-margin:clamp(.75rem, 3vw, 2rem);--frame-padding:clamp(1rem, 3vw, 2rem);--frame-width:min(100% - 2 * var(--frame-margin), var(--wide-width));--gutter-width:200px;--meta-col-width:180px;--nav-height:64px;--search-input-width:200px;--radius-sm:6px;--radius:8px;--radius-lg:12px;--radius-xl:18px;--radius-full:999px;--card-padding:6px;--ease-out:cubic-bezier(.2, 0, 0, 1);--transition-fast:.15s var(--ease-out);--transition-base:.25s var(--ease-out);--avatar-size-xs:20px;--avatar-size-sm:24px;--avatar-size-md:32px;--avatar-size-lg:40px;--tag-padding-y:2px;--shadow-sm:0 1px 2px var(--color-shadow);--shadow-card:0 0 0 1px var(--color-ring), 0 1px 2px var(--color-shadow), 0 4px 12px -4px var(--color-shadow);--shadow-card-hover:0 0 0 1px var(--color-ring), 0 2px 4px var(--color-shadow), 0 16px 32px -12px var(--color-shadow-strong);--shadow-lg:0 0 0 1px var(--color-ring), 0 16px 40px -12px var(--color-shadow-strong)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@supports not (color:light-dark(#000, #fff)){:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#fafafa;--color-surface:#fff;--color-fill:#f2f2f2;--color-fill-strong:#e8e8e8;--color-text:#171717;--color-text-secondary:#525252;--color-muted:#6b6b6b;--color-border:#e5e5e5;--color-border-subtle:#efefef;--color-border-strong:#d4d4d4;--color-ring:#00000012;--color-media-outline:#0000001a;--color-shadow:#0000000f;--color-shadow-strong:#0000001f;--color-brand:#171717;--color-brand-hover:#404040;--color-on-brand:#fff}}:where(:not([class*=emdash]):not([class*=ec-])),:where(:not([class*=emdash]):not([class*=ec-])):before,:where(:not([class*=emdash]):not([class*=ec-])):after{box-sizing:border-box}body,h1,h2,h3,h4,h5,h6,p,ul,ol,figure,blockquote,dl,dd{margin:0}ul,ol{padding:0}@supports (color:light-dark(#000, #fff)){:root.light{color-scheme:light}:root.dark{color-scheme:dark}}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}:target{scroll-margin-block-start:calc(var(--header-height,var(--nav-height)) + var(--spacing-6))}body{min-height:100vh;font-family:var(--font-body);font-size:var(--font-size-base);line-height:var(--leading-normal);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;display:flex}body:before{content:"";z-index:-1;width:var(--frame-width);border-inline:1px solid var(--color-border);pointer-events:none;margin-inline:auto;position:fixed;inset-block:0;inset-inline:0}main{flex:1}main:focus{outline:none}a:where(:not([class*=emdash]):not([class*=ec-])){color:var(--color-brand);text-decoration-line:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--color-border-strong);text-decoration-color:var(--color-border-strong);text-underline-offset:.2em;transition:color var(--transition-fast), text-decoration-color var(--transition-fast)}a:where(:not([class*=emdash]):not([class*=ec-])):hover{text-decoration-color:currentColor}:where(:not([class*=emdash]):not([class*=ec-])):focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}img{max-width:100%;height:auto;display:block}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);line-height:var(--leading-tight);font-weight:var(--font-weight-heading);letter-spacing:var(--tracking-snug);text-wrap:balance;overflow-wrap:break-word}h1{font-weight:var(--font-weight-display);letter-spacing:var(--tracking-tight)}p{text-wrap:pretty}kbd{font-family:var(--font-mono)}@media (width<=640px){:target{scroll-margin-block-start:var(--spacing-6)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{top:var(--spacing-2);z-index:200;padding:var(--spacing-2) var(--spacing-4);border-radius:var(--radius-full);background:var(--color-brand);color:var(--color-on-brand);font-size:var(--font-size-sm);translate:0 calc(-100% - var(--spacing-4));transition:translate var(--transition-fast);font-weight:500;text-decoration:none;position:fixed;inset-inline-start:var(--spacing-2)}.skip-link:focus-visible{translate:0}.frame{width:var(--frame-width);padding-inline:var(--frame-padding);margin-inline:auto}.band{border-top:1px solid var(--color-border);position:relative}.band:before,.band:after{content:"";background:linear-gradient(var(--color-border-strong), var(--color-border-strong)) center / 1px 100% no-repeat, linear-gradient(var(--color-border-strong), var(--color-border-strong)) center / 100% 1px no-repeat;pointer-events:none;width:9px;height:9px;position:absolute;top:-5px}.band:before{inset-inline-start:calc((100% - var(--frame-width)) / 2 - 4px)}.band:after{inset-inline-end:calc((100% - var(--frame-width)) / 2 - 4px)}main>.band:first-child{border-top:0}main>.band:first-child:before,main>.band:first-child:after{content:none}.section{padding-block:clamp(2.5rem,1.75rem + 2.5vw,4rem)}.intro{padding-block:clamp(3rem,2rem + 4vw,5.5rem) clamp(2.5rem,1.75rem + 2.5vw,3.5rem)}.intro__title{font-size:var(--font-size-display);max-width:22ch;line-height:1.05}.intro__subtitle{font-size:var(--font-size-display);font-weight:var(--font-weight-display);letter-spacing:var(--tracking-tight);color:var(--color-muted);text-wrap:balance;overflow-wrap:break-word;max-width:22ch;line-height:1.05}.intro__lead{margin-top:var(--spacing-5);font-size:var(--font-size-lg);line-height:var(--leading-normal);color:var(--color-text-secondary);overflow-wrap:break-word;max-width:60ch}.eyebrow+.intro__title{margin-top:var(--spacing-4)}.eyebrow{font-family:var(--font-mono);font-size:var(--font-size-label);font-weight:500;line-height:var(--leading-snug);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-muted)}.section-head{justify-content:space-between;align-items:baseline;gap:var(--spacing-4);margin-bottom:var(--spacing-6);display:flex}.section-head__title{font-size:var(--font-size-xl)}.arrow-link{align-items:center;gap:var(--spacing-1);font-size:var(--font-size-sm);color:var(--color-text-secondary);white-space:nowrap;transition:color var(--transition-fast);font-weight:500;text-decoration:none;display:inline-flex}.arrow-link:hover{color:var(--color-text)}.arrow-link svg{width:16px;height:16px;transition:translate var(--transition-fast)}.arrow-link:hover svg{translate:2px}:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .arrow-link svg{scale:-1 1}:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .arrow-link:hover svg{translate:-2px}.chips{gap:var(--spacing-2);flex-wrap:wrap;padding:0;list-style:none;display:flex}.chips>li{min-width:0;max-width:100%}.chip{max-width:100%;padding:var(--tag-padding-y) 10px;border-radius:var(--radius-full);background:var(--color-surface);box-shadow:inset 0 0 0 1px var(--color-border);font-size:var(--font-size-xs);color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;transition:color var(--transition-fast), box-shadow var(--transition-fast);font-weight:500;line-height:1.375rem;text-decoration:none;display:inline-block;overflow:hidden}.chip:hover{color:var(--color-text);box-shadow:inset 0 0 0 1px var(--color-border-strong)}.btn{justify-content:center;align-items:center;gap:var(--spacing-2);min-height:2.5rem;padding:var(--spacing-2) var(--spacing-5);border-radius:var(--radius-full);background:var(--color-brand);color:var(--color-on-brand);font:inherit;font-size:var(--font-size-sm);white-space:nowrap;cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast), scale var(--transition-fast);border:0;font-weight:500;line-height:1;text-decoration:none;display:inline-flex}.btn:hover{background:var(--color-brand-hover)}.btn:active{scale:.96}.btn svg{flex-shrink:0;width:16px;height:16px}.btn--ghost{background:var(--color-surface);color:var(--color-text);box-shadow:inset 0 0 0 1px var(--color-border), var(--shadow-sm)}.btn--ghost:hover{background:var(--color-surface);box-shadow:inset 0 0 0 1px var(--color-border-strong), var(--shadow-sm)}.btn--sm{min-height:2rem;padding:var(--spacing-1) var(--spacing-3);font-size:var(--font-size-xs)}.icon-btn{border-radius:var(--radius-full);background:var(--color-surface);width:2.25rem;height:2.25rem;box-shadow:inset 0 0 0 1px var(--color-border);color:var(--color-text-secondary);transition:color var(--transition-fast), box-shadow var(--transition-fast);place-items:center;text-decoration:none;display:inline-grid}.icon-btn:hover{color:var(--color-text);box-shadow:inset 0 0 0 1px var(--color-border-strong)}.icon-btn svg{width:16px;height:16px}.post-grid{gap:var(--spacing-6);grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));display:grid}.empty-state{align-items:center;gap:var(--spacing-3);max-width:420px;padding-block:var(--spacing-16);text-align:center;flex-direction:column;margin-inline:auto;display:flex}.empty-state__title{font-size:var(--font-size-2xl)}.empty-state__text{color:var(--color-text-secondary)}.empty-state__actions{justify-content:center;gap:var(--spacing-3);margin-top:var(--spacing-3);flex-wrap:wrap;display:flex}}@font-face{font-family:Zen Maru Subset;src:url(/fonts/zen-maru-gothic-700-subset.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-maru:"Zen Maru Subset";--kn-paper:#f4f8fc;--kn-ink:#1e2a3f;--kn-sky:#2f74c8;--kn-sky-deep:#1f5aa3;--kn-accent:#8fc3f2;--kn-pale:#e4f0fb;--kn-stub:#d6e8fa;--kn-mist:#e6eef8;--color-bg:var(--kn-paper);--color-surface:#fff;--color-fill:var(--kn-mist);--color-fill-strong:#d7e3f2;--color-text:var(--kn-ink);--color-text-secondary:#46536a;--color-muted:#687489;--color-border:#dbe4ef;--color-border-subtle:#e8eef6;--color-border-strong:#c3d1e2;--color-ring:#1e2a3f12;--color-media-outline:#1e2a3f14;--color-shadow:#1e2a3f0f;--color-shadow-strong:#1e2a3f1f;--color-brand:var(--kn-sky);--color-brand-hover:var(--kn-sky-deep);--color-on-brand:#fff;--font-body:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "BIZ UDPGothic", "Noto Sans JP", Meiryo, system-ui, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--font-heading:var(--font-body);--font-display:var(--font-maru), var(--font-body);--font-weight-heading:700;--font-weight-display:700;--tracking-tight:.01em;--tracking-snug:.02em;--leading-relaxed:1.95;--content-width:720px;--radius-lg:14px;--radius-xl:22px}body{font-feature-settings:"palt" 0;line-break:strict}.brand__name,.section-head__title,.site-footer__heading,.toc-inline summary{font-family:var(--font-display)}html body:before{content:none}html body .band.band{border-top:0}html body .band.band:before,html body .band.band:after{content:none}html body .site-header.site-header{border-bottom:1px solid var(--color-border-subtle);background:#ffffffe6}html body .site-header.site-header:before,html body .site-header.site-header:after{content:none}html body .site-header__inner.site-header__inner{border-inline:0}html body .brand__mark.brand__mark{background:var(--kn-sky);color:#fff;width:2rem;height:2rem;font-family:var(--font-display);border-radius:10px;font-weight:700}html body .brand__name.brand__name{font-family:var(--font-display);font-size:var(--font-size-lg);letter-spacing:.04em;font-weight:700}html body .site-nav.site-nav a:hover{background:var(--kn-pale)}html body .site-nav.site-nav a[aria-current]{color:var(--kn-ink);background:var(--kn-pale);box-shadow:inset 0 0 0 1px var(--kn-accent)}html body .site-footer.site-footer{background:var(--kn-ink);color:#e8eef7;margin-top:clamp(3rem,2rem + 4vw,6rem)}html body .site-footer.site-footer .brand{color:#fff}html body .site-footer__tagline.site-footer__tagline{color:#b9c5d8}html body .site-footer__grid.site-footer__grid{grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr))}.site-footer__heading{margin-bottom:var(--spacing-4);font-family:var(--font-display);font-size:var(--font-size-sm);color:var(--kn-accent);font-weight:700}html body .site-footer__links.site-footer__links a{color:#d5dfec}html body .site-footer__links.site-footer__links a:hover{color:#fff}html body .site-footer__bottom.site-footer__bottom{border-top:1px solid #ffffff1f}html body .site-footer__meta.site-footer__meta{color:#93a2b8}.btn--ghost{box-shadow:inset 0 0 0 1px var(--color-border-strong)}.section-head__title{padding-bottom:var(--spacing-2);position:relative}.section-head__title:after{content:"";inset-inline-start:0;background:var(--kn-accent);border-radius:2px;width:2.25rem;height:4px;position:absolute;bottom:0}html body .post--card.post--card{border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-card);padding:10px 10px 18px}html body .post--card.post--card:hover{box-shadow:var(--shadow-card-hover)}html body .post--card .post__body.post__body{padding:var(--spacing-4) var(--spacing-2) 0}html body .post__title.post__title{line-height:1.6}.prose{letter-spacing:.02em;line-height:1.95}.eyebrow{font-family:var(--font-body);letter-spacing:.04em;text-transform:none}@media (width<=560px){html body .site-footer__grid.site-footer__grid{grid-template-columns:minmax(0,1fr)}}html body .post__media.post__media:after{outline:0}html body .intro__title.intro__title{text-wrap:pretty;max-width:28em;font-size:clamp(1.6rem,1.15rem + 1.9vw,2.5rem);line-height:1.45}html body .post-hero__media.post-hero__media{max-width:880px;margin-inline:auto}html body .prose.prose{letter-spacing:.03em;color:color-mix(in srgb, var(--color-text) 88%, var(--color-bg));font-size:clamp(1rem,.95rem + .25vw,1.0625rem);line-height:1.9}.prose>*+*{margin-block-start:1.4em}.prose h2{border-inline-start:6px solid var(--kn-sky);background:var(--kn-mist);border-radius:6px;padding:.7em .9em;font-size:clamp(1.2rem,1.05rem + .6vw,1.45rem);line-height:1.55;margin-block-start:2.6em!important}.prose h3{border-bottom:2px solid var(--color-border);padding-block-end:.35em;font-size:clamp(1.08rem,1rem + .35vw,1.22rem);line-height:1.6;margin-block-start:2em!important}.prose h3:before{content:"";background:var(--kn-accent);vertical-align:.12em;border-radius:50%;width:.5em;height:.5em;margin-inline-end:.5em;display:inline-block}.prose a{color:var(--kn-sky-deep);text-underline-offset:.2em;text-decoration-thickness:1px}.prose strong{background:linear-gradient(#0000 60%,#cfe3f9 60%);font-weight:700}.prose img{border-radius:var(--radius-lg)}.prose .emdash-table-wrapper{-webkit-overflow-scrolling:touch;background:linear-gradient(to right, var(--color-bg) 30%, transparent) left / 24px 100% no-repeat local, linear-gradient(to left, var(--color-bg) 30%, transparent) right / 24px 100% no-repeat local, radial-gradient(farthest-side at 0 50%, #1e2a3f2e, transparent) left / 10px 100% no-repeat scroll, radial-gradient(farthest-side at 100% 50%, #1e2a3f2e, transparent) right / 10px 100% no-repeat scroll;max-width:100%;display:block;overflow-x:auto}.prose table{white-space:normal;width:max-content;max-width:none;font-size:.9em;line-height:1.6;display:table;min-width:100%!important}.prose .emdash-html-block table{width:auto;display:block;overflow-x:auto}.prose :is(th,td){min-width:8em}.prose :is(th,td)+:is(th,td){min-width:15.5em}.prose tr:not(:has(>:nth-child(3)))>:is(th,td):nth-child(2){min-width:19em}.crumbs ol{font-size:var(--font-size-xs);color:var(--color-muted);flex-wrap:wrap;gap:.25rem 0;list-style:none;display:flex}.crumbs li{align-items:center;min-width:0;display:inline-flex}.crumbs li+li:before{content:"›";color:var(--color-border-strong);margin-inline:.5em}.crumbs li[aria-current]{text-overflow:ellipsis;white-space:nowrap;max-width:22em;overflow:hidden}.crumbs a{color:var(--color-text-secondary);text-decoration:none}.crumbs a:hover{color:var(--kn-sky-deep);text-decoration:underline}.post-header__updated{color:var(--kn-sky-deep);font-weight:500}.toc-inline{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);margin-block-end:2rem}.toc-inline[hidden]{display:none}.toc-inline summary{font-family:var(--font-display);cursor:pointer;justify-content:space-between;align-items:center;padding:.9rem 1.1rem;font-weight:700;list-style:none;display:flex}.toc-inline summary::-webkit-details-marker{display:none}.toc-inline summary:after{content:"＋";color:var(--kn-sky)}.toc-inline[open] summary:after{content:"－"}.toc-inline__list{font-size:var(--font-size-sm);gap:.15rem;margin:0;padding:0 1.1rem 1rem;line-height:1.6;list-style:none;display:grid}.toc-inline__list a{color:var(--color-text);border-bottom:1px solid var(--color-border-subtle);padding:.45rem 0;text-decoration:none;display:block}.toc-inline__list .toc__item--nested a{color:var(--color-text-secondary);padding-inline-start:1.1em}@media (width>=1100px){.toc-inline{display:none}}:root{--color-muted:#5d697e;--kn-sky:#2a6bbd}html body .post-header__dateline.post-header__dateline{gap:.15em 1em}html body .post-header__dateline>*+:before{content:none!important}.crumbs{margin-block-end:.9rem}@media (width<=720px){.crumbs li[aria-current]{display:none}html body .site-nav.site-nav ul{scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-inline-end:var(--frame-padding);overflow-x:auto;flex-wrap:nowrap!important}html body .site-nav.site-nav ul::-webkit-scrollbar{display:none}}.prose th strong{background:0 0}.brand__face{width:40px;height:40px;box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--kn-accent);background:#fff;border-radius:50%;flex-shrink:0;transition:transform .2s}html body a.brand:hover .brand__face{transform:rotate(-6deg)}html body .site-footer.site-footer .brand__face{box-shadow:0 0 0 2px var(--kn-ink), 0 0 0 4px #5b8fd0}@media (prefers-reduced-motion:reduce){.brand__face{transition:none}}.prose .button-block{text-align:center;margin-block:1.25em}.prose a.btn,.prose a.btn:visited,.prose .btn-wrap a,.prose .btn-wrap a:visited{background:var(--kn-sky-deep);color:#fff;white-space:normal;text-align:center;border-radius:999px;justify-content:center;align-items:center;width:min(100%,26rem);min-height:3.25rem;padding:.85em 1.5em;font-size:1rem;font-weight:700;line-height:1.4;text-decoration:none;display:inline-flex;box-shadow:0 3px #0000002e}.prose a.btn.has-teal-background-color{background:#1f7a8c}.prose a.btn.has-green-background-color{background:#26846e}.prose a.btn:hover,.prose .btn-wrap a:hover{color:#fff;filter:brightness(1.08)}.prose a.btn:focus-visible,.prose .btn-wrap a:focus-visible{outline:3px solid var(--kn-accent);outline-offset:3px}.prose .toc-inline{margin-block:1.5em 2em}.prose .toc-inline__list{margin:0;padding:0 1.1rem 1rem;list-style:none}.prose .toc-inline__list li{margin:0;padding:0}.prose .toc-inline__list li::marker{content:none}.prose .toc-inline__list a{color:var(--color-text);text-decoration:none}.prose .kn-box{border:1.5px solid var(--kn-accent);background:#fff;border-radius:14px;margin-block:1.8em;padding:1em 1.15em 1.05em;line-height:1.85;position:relative}.prose .kn-box>*{margin:0}.prose .kn-box>*+*{margin-block-start:.55em}.prose .kn-box .kn-box__label{background:var(--kn-sky-deep);color:#fff;letter-spacing:.06em;border-radius:999px;margin-block-end:.1em;padding:.1em .85em;font-size:.82em;font-weight:700;line-height:1.8;display:inline-block}.prose .kn-box ul,.prose .kn-box ol{padding-inline-start:1.25em}.prose .kn-box li+li{margin-block-start:.35em}.prose .kn-box--conclusion{border-color:var(--kn-sky);border-inline-start:10px solid var(--kn-sky-deep);background:var(--kn-pale)}.prose .kn-box--point{background:var(--kn-paper)}.prose .kn-box--point .kn-box__label{background:var(--kn-sky)}.prose .kn-box--caution{background:#fff6f4;border-color:#e6b3ad}.prose .kn-box--caution .kn-box__label{background:#a5463d}.prose .kn-box--check ul{padding-inline-start:0;list-style:none}.prose .kn-box--check li{padding-inline-start:1.9em;position:relative}.prose .kn-box--check li:before{content:"";inset-inline-start:.15em;background:var(--kn-sky-deep);border-radius:50%;width:1.15em;height:1.15em;position:absolute;top:.45em}.prose .kn-box--check li:after{content:"";inset-inline-start:.55em;border:2.5px solid #fff;border-width:0 2.5px 2.5px 0;width:.35em;height:.62em;position:absolute;top:.62em;transform:rotate(45deg)}.prose .kn-voice{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.35em .9em;margin-block:1.8em;display:grid}.prose .kn-voice>*{margin:0}.prose .kn-voice:before{content:"";border:2px solid var(--kn-accent);background:#fff url(/brand/face-96.webp) 50%/cover no-repeat;border-radius:50%;grid-row:1/span 2;width:56px;height:56px}.prose .kn-voice .kn-voice__name{color:var(--kn-sky-deep);font-size:.85em;font-weight:700;line-height:1.5}.prose .kn-voice .kn-voice__body{background:var(--kn-mist);border-radius:4px 14px 14px;padding:.8em 1em;line-height:1.85;position:relative}.prose .kn-voice .kn-voice__body>*{margin:0}.prose .kn-voice .kn-voice__body>*+*{margin-block-start:.5em}.prose figure.kn-figure{margin-block:1.8em}.prose figure.kn-figure img{border:1px solid var(--kn-mist);width:100%;height:auto;display:block}.prose figure.kn-figure figcaption{color:var(--color-muted);text-align:center;margin-block-start:.5em;font-size:.85em}.site-header[data-astro-cid-hkbrpulz]{z-index:50;background:color-mix(in srgb, var(--color-bg) 82%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(12px);border-bottom:1px solid var(--color-border);position:sticky;top:0}.site-header[data-astro-cid-hkbrpulz]:before,.site-header[data-astro-cid-hkbrpulz]:after{content:"";background:linear-gradient(var(--color-border-strong), var(--color-border-strong)) center / 1px 100% no-repeat, linear-gradient(var(--color-border-strong), var(--color-border-strong)) center / 100% 1px no-repeat;pointer-events:none;width:9px;height:9px;position:absolute;bottom:-5px}.site-header[data-astro-cid-hkbrpulz]:before{inset-inline-start:calc((100% - var(--frame-width)) / 2 - 4px)}.site-header[data-astro-cid-hkbrpulz]:after{inset-inline-end:calc((100% - var(--frame-width)) / 2 - 4px)}.site-header__inner[data-astro-cid-hkbrpulz]{align-items:center;gap:var(--spacing-6);min-height:var(--nav-height);padding-block:var(--spacing-2);border-inline:1px solid var(--color-border);display:flex}.brand[data-astro-cid-hkbrpulz]{min-width:0;font-size:var(--font-size-base);letter-spacing:-.01em;color:var(--color-text);align-items:center;gap:10px;font-weight:600;text-decoration:none;display:inline-flex}.brand__mark[data-astro-cid-hkbrpulz]{border-radius:var(--radius);background:var(--color-brand);width:1.75rem;height:1.75rem;color:var(--color-on-brand);font-size:var(--font-size-sm);letter-spacing:0;flex-shrink:0;place-items:center;font-weight:600;display:grid}.brand__name[data-astro-cid-hkbrpulz]{text-overflow:ellipsis;white-space:nowrap;max-width:16rem;overflow:hidden}.brand__logo[data-astro-cid-hkbrpulz]{object-fit:contain;width:auto;max-width:180px;height:32px}.site-nav[data-astro-cid-hkbrpulz]{min-width:0}.site-nav[data-astro-cid-hkbrpulz] ul[data-astro-cid-hkbrpulz]{flex-wrap:wrap;gap:2px;list-style:none;display:flex}.site-nav[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]{border-radius:var(--radius-full);font-size:var(--font-size-sm);color:var(--color-text-secondary);white-space:nowrap;transition:color var(--transition-fast), background-color var(--transition-fast), box-shadow var(--transition-fast);padding:6px 12px;font-weight:500;text-decoration:none;display:block}.site-nav[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]:hover{color:var(--color-text);background:var(--color-fill)}.site-nav[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz][aria-current]{color:var(--color-text);background:var(--color-surface);box-shadow:inset 0 0 0 1px var(--color-border), var(--shadow-sm)}.site-header__actions[data-astro-cid-hkbrpulz]{align-items:center;gap:var(--spacing-2);margin-inline-start:auto;display:flex}.site-search[data-astro-cid-hkbrpulz]{width:var(--search-input-width);position:relative}.site-search__icon[data-astro-cid-hkbrpulz]{inset-inline-start:12px;z-index:1;width:16px;height:16px;color:var(--color-muted);pointer-events:none;position:absolute;top:50%;translate:0 -50%}.site-search[data-astro-cid-hkbrpulz] .site-search__field{width:100%;display:block}.site-search[data-astro-cid-hkbrpulz] .site-search-input{border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);width:100%;height:36px;color:var(--color-text);font-family:var(--font-body);font-size:var(--font-size-sm);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);padding-block:0;padding-inline:36px 48px}.site-search[data-astro-cid-hkbrpulz] .site-search-input::placeholder{color:var(--color-muted)}.site-search[data-astro-cid-hkbrpulz] .site-search-input:hover{border-color:var(--color-border-strong)}.site-search[data-astro-cid-hkbrpulz] .site-search-input:focus{border-color:var(--color-muted);box-shadow:0 0 0 3px var(--color-brand-ring);outline:2px solid #0000}.site-search__kbd[data-astro-cid-hkbrpulz]{inset-inline-end:8px;border-radius:var(--radius-sm);background:var(--color-bg);box-shadow:inset 0 0 0 1px var(--color-border);color:var(--color-muted);pointer-events:none;transition:opacity var(--transition-fast);padding:2px 6px;font-size:11px;font-weight:500;line-height:1.4;position:absolute;top:50%;translate:0 -50%}.site-search[data-astro-cid-hkbrpulz]:focus-within .site-search__kbd[data-astro-cid-hkbrpulz],.site-search[data-astro-cid-hkbrpulz]:has(input:not(:placeholder-shown)) .site-search__kbd[data-astro-cid-hkbrpulz]{opacity:0}.site-search[data-astro-cid-hkbrpulz] .site-search-results{top:calc(100% + 8px);background:var(--color-surface);width:max(100%,380px);box-shadow:var(--shadow-lg);z-index:60;border:0;border-radius:14px;max-height:min(420px,70vh);margin-top:0;padding:6px;inset-inline:auto 0;overflow-y:auto}.site-search[data-astro-cid-hkbrpulz] .emdash-live-search-loading,.site-search[data-astro-cid-hkbrpulz] .emdash-live-search-no-results{padding:var(--spacing-4);text-align:center;color:var(--color-muted);font-size:var(--font-size-sm)}.site-search[data-astro-cid-hkbrpulz] .site-search-result{border-radius:var(--radius);color:var(--color-text);border:0;gap:2px;padding:10px 12px;text-decoration:none;display:grid}.site-search[data-astro-cid-hkbrpulz] .site-search-result:hover,.site-search[data-astro-cid-hkbrpulz] .site-search-result:focus,.site-search[data-astro-cid-hkbrpulz] .site-search-result.focused{background:var(--color-fill);outline-offset:-2px;outline:2px solid #0000}.site-search[data-astro-cid-hkbrpulz] .emdash-live-search-result-title{font-size:var(--font-size-sm);order:2;font-weight:500}.site-search[data-astro-cid-hkbrpulz] .emdash-live-search-result-collection{font-family:var(--font-mono);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-muted);order:1;font-size:11px}.site-search[data-astro-cid-hkbrpulz] .emdash-live-search-result-snippet{-webkit-line-clamp:2;font-size:var(--font-size-xs);line-height:var(--leading-snug);color:var(--color-text-secondary);-webkit-box-orient:vertical;order:3;display:-webkit-box;overflow:hidden}.site-search[data-astro-cid-hkbrpulz] .emdash-live-search-result-snippet mark{background:var(--color-fill-strong);color:var(--color-text);border-radius:3px;padding:0 2px}.site-search-link[data-astro-cid-hkbrpulz]{display:none}.site-footer__grid[data-astro-cid-hkbrpulz]{gap:var(--spacing-10);padding-block:var(--spacing-16) var(--spacing-12);grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr));display:grid}.site-footer__tagline[data-astro-cid-hkbrpulz]{margin-top:var(--spacing-4);max-width:34ch;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.site-footer__col[data-astro-cid-hkbrpulz] .eyebrow[data-astro-cid-hkbrpulz],.site-footer__widgets[data-astro-cid-hkbrpulz] .widget__title{margin-bottom:var(--spacing-4)}.site-footer__links[data-astro-cid-hkbrpulz]{gap:var(--spacing-3);list-style:none;display:grid}.site-footer__links[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]{align-items:center;gap:var(--spacing-2);font-size:var(--font-size-sm);color:var(--color-text-secondary);text-decoration:none;display:inline-flex}.site-footer__links[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]:hover{color:var(--color-text)}.site-footer__links[data-astro-cid-hkbrpulz] svg[data-astro-cid-hkbrpulz]{width:15px;height:15px}.site-footer__widgets[data-astro-cid-hkbrpulz] .widget-area{gap:var(--spacing-8);display:grid}.site-footer__widgets[data-astro-cid-hkbrpulz] .widget__title{font-family:var(--font-mono);font-size:var(--font-size-label);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-muted);font-weight:500}.site-footer__widgets[data-astro-cid-hkbrpulz] .widget__content{font-size:var(--font-size-sm);line-height:var(--leading-relaxed);color:var(--color-text-secondary)}.site-footer__widgets[data-astro-cid-hkbrpulz] .widget__content ul{gap:var(--spacing-3);list-style:none;display:grid}.site-footer__bottom-inner[data-astro-cid-hkbrpulz]{justify-content:space-between;align-items:center;gap:var(--spacing-4);padding-block:var(--spacing-5);flex-wrap:wrap;display:flex}.site-footer__meta[data-astro-cid-hkbrpulz]{font-size:var(--font-size-xs);color:var(--color-muted)}.site-footer__meta[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]{color:var(--color-text-secondary)}.theme-switcher[data-astro-cid-hkbrpulz]{border-radius:var(--radius-full);background:var(--color-fill);gap:2px;padding:3px;display:inline-flex}.theme-btn[data-astro-cid-hkbrpulz]{border-radius:var(--radius-full);width:1.75rem;height:1.75rem;color:var(--color-muted);cursor:pointer;transition:color var(--transition-fast), background-color var(--transition-fast), box-shadow var(--transition-fast);background:0 0;border:0;place-items:center;padding:0;display:grid}.theme-btn[data-astro-cid-hkbrpulz]:hover{color:var(--color-text)}.theme-btn[data-astro-cid-hkbrpulz].active{background:var(--color-surface);color:var(--color-text);box-shadow:0 0 0 1px var(--color-ring), var(--shadow-sm)}.theme-btn[data-astro-cid-hkbrpulz] svg[data-astro-cid-hkbrpulz]{width:15px;height:15px}@media (forced-colors:active){.site-nav[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz][aria-current],.theme-btn[data-astro-cid-hkbrpulz].active{border:1px solid canvastext}}@media (width<=900px){.site-footer__grid[data-astro-cid-hkbrpulz]{gap:var(--spacing-8);padding-block:var(--spacing-12) var(--spacing-10);grid-template-columns:repeat(2,minmax(0,1fr))}.site-footer__brand[data-astro-cid-hkbrpulz]{grid-column:1/-1}}@media (width<=640px){.site-header[data-astro-cid-hkbrpulz]{position:relative}.site-header__inner[data-astro-cid-hkbrpulz]{row-gap:var(--spacing-1);padding-block:var(--spacing-3) var(--spacing-2);flex-wrap:wrap}.site-nav[data-astro-cid-hkbrpulz]{flex-basis:100%;order:3;margin-inline-start:-10px}.site-nav[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]{padding:8px 10px}.site-search[data-astro-cid-hkbrpulz]{display:none}.site-search-link[data-astro-cid-hkbrpulz]{width:2.5rem;height:2.5rem;display:inline-grid}}@media (width<=560px){.site-footer__grid[data-astro-cid-hkbrpulz]{grid-template-columns:minmax(0,1fr)}.brand__name[data-astro-cid-hkbrpulz]{max-width:9rem}}
