.ke-blog{background:var(--color-page-bg);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-body);line-height:var(--leading-body);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;overflow-x:clip}.ke-blog :where(p){margin:0;text-align:left}.ke-blog ol[role=list],.ke-blog ul[role=list]{list-style:none;margin:0;padding:0}.ke-blog :focus-visible{outline:var(--border-thick) solid var(--color-focus);outline-offset:var(--border-thick);border-radius:var(--radius-xs)}.ke-blog .ke-sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.ke-site:has(.ke-blog) .ke-footer{margin-top:0}.ke-intro{padding-block:var(--space-16) var(--space-12)}.ke-intro__inner{gap:var(--space-6);text-align:center}.ke-intro__inner,.ke-intro__text{display:flex;flex-direction:column;align-items:center}.ke-intro__text{gap:var(--space-5);max-width:48rem;min-width:0}.ke-blog .ke-intro__inner>*,.ke-blog .ke-intro__text>*{text-align:center}.ke-intro__title{margin:0;font-family:var(--font-display);font-weight:350;font-size:var(--text-h1);line-height:1;letter-spacing:var(--tracking-display);text-wrap:balance}.ke-intro__lead,.ke-intro__meta{color:var(--color-muted)}.ke-intro__meta{font-family:var(--font-mono);letter-spacing:var(--tracking-mono);font-size:var(--text-small)}@media (min-width:53.75em){.ke-intro{padding-top:var(--space-20)}}.ke-filters{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-4) var(--space-8);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-5);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-sm)}.ke-chips{min-width:0;max-width:100%}.ke-chips ul{display:flex;flex-wrap:wrap;gap:var(--space-2)}.ke-blog .ke-chip{min-height:var(--space-8);padding-inline:var(--space-3);font-size:var(--text-caption)}.ke-chip__count{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;opacity:.7}.ke-chips--quiet{padding-block:var(--space-8) var(--space-12)}@media (max-width:40em){.ke-chips{margin-inline:calc(var(--container-gutter) * -1);overflow-x:auto;scrollbar-width:none}.ke-chips ul{flex-wrap:nowrap;padding-inline:var(--container-gutter);width:max-content}}.ke-filters__form{flex-wrap:wrap;gap:var(--space-3);font-family:var(--font-ui)}.ke-filters__form,.ke-search{display:flex;align-items:center}.ke-search{position:relative}.ke-search input{width:calc(var(--space-16) * 4);max-width:100%;min-height:var(--space-10);padding:0 var(--space-10) 0 var(--space-10);border:var(--border-hairline) solid var(--color-line-strong);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-ink);font:inherit;font-size:var(--text-small);transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.ke-search input:focus{outline:none;border-color:var(--color-brand-600);box-shadow:var(--shadow-focus)}.ke-search__icon{left:var(--space-4);fill:none;stroke:var(--color-muted);stroke-width:var(--border-thick);stroke-linecap:round;pointer-events:none}.ke-search__icon,.ke-search__spin{position:absolute;width:var(--space-4);height:var(--space-4)}.ke-search__spin{right:var(--space-4);border:var(--border-thick) solid var(--color-line);border-top-color:var(--color-brand-600);border-radius:var(--radius-pill);animation:ke-spin var(--dur-slower) linear infinite}@keyframes ke-spin{to{transform:rotate(1turn)}}.ke-sort{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-small);color:var(--color-muted)}.ke-sort select{min-height:var(--space-10);padding:0 var(--space-8) 0 var(--space-3);border:var(--border-hairline) solid var(--color-line-strong);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-ink);font:inherit;font-family:var(--font-mono);cursor:pointer}@media (max-width:40em){.ke-filters__form,.ke-search,.ke-search input{width:100%}.ke-search{flex:1 1 100%}}.ke-results{padding-block:var(--space-6) var(--space-10);font-family:var(--font-mono);letter-spacing:var(--tracking-mono);font-size:var(--text-small);color:var(--color-muted)}.ke-results strong{color:var(--color-ink);font-weight:600}.ke-results__clear{margin-left:var(--space-2);color:var(--color-brand-600);text-decoration:underline;-webkit-text-decoration-color:var(--color-accent-500);text-decoration-color:var(--color-accent-500);text-underline-offset:var(--underline-offset)}.ke-blog__featured{margin-bottom:var(--space-5)}.ke-blog__featured .ke-post-card--featured{align-items:center}.ke-blog__featured .ke-post-card__media{aspect-ratio:16/9}@media (min-width:53.75em){.ke-blog__featured .ke-post-card--featured{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}}.ke-blog__grid{padding-bottom:var(--space-section)}.ke-blog__subhead{margin:var(--space-16) 0 var(--space-10);padding-bottom:var(--space-4);border-bottom:var(--border-hairline) solid var(--color-line);font-family:var(--font-display);font-weight:400;font-size:var(--text-h3);letter-spacing:var(--tracking-heading)}.ke-post-grid{display:grid;grid-gap:var(--space-5);gap:var(--space-5)}.ke-post-grid .ke-post-card__media{aspect-ratio:16/9}@media (min-width:40em){.ke-post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:64em){.ke-post-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.ke-pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-16);padding-top:var(--space-6);border-top:var(--border-hairline) solid var(--color-line);font-family:var(--font-mono);font-size:var(--text-small)}.ke-pager__list{display:flex;gap:var(--space-1);margin:0;padding:0;list-style:none}.ke-pager__num,.ke-pager__step{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-width:var(--space-10);min-height:var(--space-10);padding:0 var(--space-3);border-radius:var(--radius-pill);color:var(--color-ink);text-decoration:none;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}a.ke-pager__num:hover,a.ke-pager__step:hover{background:var(--color-brand-100)}.ke-pager__num.is-current{background:var(--color-dark-900);color:var(--color-on-dark)}.ke-pager__step.is-disabled{color:var(--color-line-strong)}.ke-pager__gap{display:inline-flex;align-items:center;padding:0 var(--space-2);color:var(--color-muted)}.ke-empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);margin:var(--space-8) 0 var(--space-section);padding:var(--space-16) var(--space-6);border:var(--border-hairline) dashed var(--color-line-strong);border-radius:var(--radius-lg);text-align:center}.ke-empty-state__mark{font-family:var(--font-display);font-style:italic;font-size:var(--text-display);line-height:.6;color:var(--color-accent-500)}.ke-empty-state__title{margin:0;font-family:var(--font-display);font-weight:400;font-size:var(--text-h3);letter-spacing:var(--tracking-heading);text-wrap:balance}.ke-blog .ke-empty-state__text{max-width:36rem;color:var(--color-muted);text-align:center}.ke-avatar{--size:var(--space-12);position:relative;display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:var(--size);height:var(--size);overflow:hidden;border-radius:var(--radius-pill);background:var(--color-brand-900);color:var(--color-accent-100);box-shadow:0 0 0 var(--border-thick) var(--color-surface)}.ke-avatar img{width:100%;height:100%;object-fit:cover}.ke-avatar--sm{--size:var(--space-10)}.ke-avatar--md{--size:calc(var(--space-12) + var(--space-2))}.ke-avatar--lg{--size:calc(var(--space-32) + var(--space-4))}.ke-avatar__initials{font-family:var(--font-display);font-size:calc(var(--size) * .4);line-height:1;letter-spacing:var(--tracking-heading)}.ke-author-hero{display:grid;grid-gap:var(--space-8);gap:var(--space-8);align-items:start}@media (min-width:53.75em){.ke-author-hero{grid-template-columns:auto minmax(0,1fr);gap:var(--space-12)}}.ke-author-hero__role{font-family:var(--font-ui);font-size:var(--text-small);font-weight:600;color:var(--color-brand-600)}.ke-author-hero__bio{display:flex;flex-direction:column;gap:var(--space-4);max-width:var(--measure);font-size:var(--text-lead);line-height:1.5}.ke-author-hero__meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3) var(--space-8);font-family:var(--font-ui);font-size:var(--text-small);color:var(--color-muted)}.ke-social-links{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5)}.ke-social-links a{color:var(--color-brand-600);font-weight:500;text-decoration:underline;-webkit-text-decoration-color:var(--color-accent-500);text-decoration-color:var(--color-accent-500);text-underline-offset:var(--underline-offset)}.ke-progress{position:fixed;inset:0 0 auto;z-index:calc(var(--z-sticky) + 1);height:var(--border-thick);pointer-events:none}.ke-progress__bar{display:block;height:100%;background:linear-gradient(to right,var(--color-brand-600),var(--color-accent-500));transform:scaleX(0);transform-origin:0 50%}.ke-preview-banner{padding-block:var(--space-3);background:var(--color-accent-100);border-bottom:var(--border-hairline) solid var(--color-accent-500);font-family:var(--font-ui);font-size:var(--text-small);color:var(--color-ink)}.ke-preview-banner a{color:var(--color-brand-600);font-weight:600}.ke-article__head{padding-block:var(--space-12) var(--space-10)}.ke-article__head-inner{display:flex;flex-direction:column;gap:var(--space-5);max-width:calc(52rem + var(--container-gutter) * 2)}.ke-crumbs ol{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0;padding:0;list-style:none;font-family:var(--font-mono);font-size:var(--text-caption);letter-spacing:var(--tracking-mono);color:var(--color-muted)}.ke-crumbs li+li:before{content:"/";margin-right:var(--space-2);color:var(--color-line-strong)}.ke-crumbs a{color:inherit;text-decoration:none}.ke-crumbs a:hover{color:var(--color-brand-600);text-decoration:underline}.ke-article__kicker{margin-top:var(--space-4)}.ke-article__kicker a{display:inline-flex;align-items:center;min-height:calc(var(--space-6) + var(--space-1));padding:0 var(--space-3);border-radius:var(--radius-pill);background:var(--color-brand-900);color:var(--color-on-dark);text-decoration:none;transition:background var(--dur-fast) var(--ease-out)}.ke-article__kicker a:hover{background:var(--color-brand-600)}.ke-article__title{margin:0;font-family:var(--font-display);font-weight:350;font-size:var(--text-h1);line-height:1.02;letter-spacing:var(--tracking-display);text-wrap:balance}.ke-article__lead{max-width:44rem;font-family:var(--font-body);font-size:var(--text-lead);line-height:1.45;color:var(--color-muted);text-wrap:pretty}.ke-article__byline{flex-wrap:wrap;justify-content:space-between;gap:var(--space-4) var(--space-8);margin-top:var(--space-4);padding-block:var(--space-5);border-block:var(--border-hairline) solid var(--color-line)}.ke-article__byline,.ke-byline{display:flex;align-items:center}.ke-byline{gap:var(--space-4)}.ke-byline__avatars{display:flex}.ke-byline__avatars>*+*{margin-left:calc(var(--space-3) * -1)}.ke-byline__text{display:flex;flex-direction:column;gap:var(--space-1);font-family:var(--font-ui)}.ke-byline__names{font-size:var(--text-small);font-weight:600}.ke-byline__names a{color:var(--color-ink);text-decoration:none}.ke-byline__names a:hover{color:var(--color-brand-600);text-decoration:underline;-webkit-text-decoration-color:var(--color-accent-500);text-decoration-color:var(--color-accent-500);text-underline-offset:var(--underline-offset)}.ke-byline__meta{font-family:var(--font-mono);font-size:var(--text-caption);letter-spacing:var(--tracking-mono);color:var(--color-muted)}.ke-share{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);font-family:var(--font-ui)}.ke-share__label{margin-right:var(--space-1);font-family:var(--font-mono);font-size:var(--text-caption);color:var(--color-muted)}.ke-share__btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:var(--space-10);height:var(--space-10);padding:0;border:var(--border-hairline) solid var(--color-line-strong);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-brand-900);cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),transform var(--dur-base) var(--ease-out)}.ke-share__btn:hover{background:var(--color-brand-900);border-color:var(--color-brand-900);color:var(--color-on-dark);transform:translateY(calc(var(--border-hairline) * -2))}.ke-share__icon{width:var(--space-4);height:var(--space-4);fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.ke-share__icon.is-fill{fill:currentColor;stroke:none}.ke-share__btn.is-done{background:var(--color-positive-bg);border-color:var(--color-positive);color:var(--color-positive)}.ke-share__copied:not(:empty){position:absolute;bottom:calc(100% + var(--space-2));left:50%;transform:translateX(-50%);padding:var(--space-1) var(--space-2);border-radius:var(--radius-pill);background:var(--color-ink);color:var(--color-on-dark);font-size:var(--text-caption);white-space:nowrap}.ke-article__cover{box-sizing:border-box;width:100%;max-width:calc(52rem + var(--container-gutter) * 2);margin:0 auto var(--space-12);padding-inline:var(--container-gutter)}.ke-article__cover-media{position:relative;overflow:hidden;aspect-ratio:16/9;border-radius:var(--radius-2xl);background:var(--color-brand-100);box-shadow:var(--shadow-md)}.ke-article__cover figcaption{margin-top:var(--space-3);padding:0;font-family:var(--font-ui);font-size:var(--text-caption);line-height:var(--leading-snug);color:var(--color-muted)}@media (max-width:40em){.ke-article__cover-media{border-radius:var(--radius-lg)}}.ke-zoom{display:block;width:100%;height:100%;margin:0;padding:0;border:0;background:none;cursor:zoom-in}.ke-article__cover-media .ke-zoom{position:absolute;inset:0}.ke-zoom:focus-visible{outline:var(--border-thick) solid var(--color-focus);outline-offset:var(--border-thick)}.ke-article__layout{display:grid;grid-template-columns:minmax(0,var(--measure));justify-content:center}.ke-toc{font-family:var(--font-ui);font-size:var(--text-small);line-height:var(--leading-snug)}.ke-toc ol{margin:0;padding:0;list-style:none;border-left:var(--border-hairline) solid var(--color-line)}.ke-toc li.is-sub a{padding-left:var(--space-8);font-size:var(--text-caption)}.ke-toc a{display:block;margin-left:calc(var(--border-hairline) * -1);padding:var(--space-2) var(--space-4);border-left:var(--border-thick) solid transparent;color:var(--color-muted);text-decoration:none;transition:color var(--dur-fast) var(--ease-out),border-color var(--dur-base) var(--ease-out)}.ke-toc a:hover{color:var(--color-ink)}.ke-toc a.is-active{border-left-color:var(--color-accent-500);color:var(--color-brand-900);font-weight:600}.ke-toc--inline summary,.ke-toc__title{font-size:var(--text-overline);font-weight:600;letter-spacing:var(--tracking-overline);text-transform:uppercase;color:var(--color-brand-600)}.ke-toc--side{display:none}.ke-toc--inline{margin-bottom:var(--space-10);border:var(--border-hairline) solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface)}.ke-toc--inline summary{display:flex;align-items:center;justify-content:space-between;min-height:var(--space-12);padding:0 var(--space-5);cursor:pointer;list-style:none}.ke-toc--inline summary::-webkit-details-marker{display:none}.ke-toc--inline summary:after{content:"+";font-size:var(--text-h4);font-weight:400;transition:transform var(--dur-base) var(--ease-out)}.ke-toc--inline[open] summary:after{transform:rotate(45deg)}.ke-toc--inline nav{padding:0 var(--space-5) var(--space-5)}@media (min-width:80em){.ke-article__layout.has-toc{grid-template-columns:15rem minmax(0,var(--measure)) 15rem;gap:var(--space-12);align-items:start}.ke-toc--side{display:block;position:-webkit-sticky;position:sticky;top:calc(var(--ke-header-h-compact) + var(--space-8));max-height:calc(100vh - var(--ke-header-h-compact) - var(--space-16));overflow-y:auto;padding-top:var(--space-2)}.ke-toc__title{margin-bottom:var(--space-4)}.ke-toc--inline{display:none}}.ke-article{overflow-x:clip}.ke-article__body{min-width:0;font-family:var(--font-body);font-size:var(--text-body);line-height:var(--leading-body);color:var(--color-ink);-webkit-hyphens:manual;hyphens:manual;overflow-wrap:break-word}.ke-article__body>*+*{margin-top:var(--space-6)}.ke-article__body .ke-fs-sm{font-size:var(--text-small)}.ke-article__body .ke-fs-lg{font-size:var(--text-h4);line-height:1.4}.ke-article__body :is(img,video,svg,canvas,picture){max-width:100%;height:auto}.ke-article__body :is(iframe,embed,object){display:block;width:100%;max-width:100%;border:0}.ke-article__body iframe:not([height]){aspect-ratio:16/9;height:auto}.ke-article__body pre{max-width:100%}.ke-article__body p{text-wrap:pretty}.ke-article__body>p:first-child:first-letter{float:left;margin:var(--space-1) var(--space-3) 0 0;font-family:var(--font-display);font-size:calc(var(--text-body) * 4.1);line-height:.82;color:var(--color-brand-900)}.ke-article__body h2,.ke-article__body h3,.ke-article__body h4{margin:var(--space-16) 0 0;font-family:var(--font-display);font-weight:400;color:var(--color-ink);text-wrap:balance;scroll-margin-top:calc(var(--ke-header-h-compact) + var(--space-6))}.ke-article__body h2{font-size:var(--text-h3);line-height:1.15;letter-spacing:var(--tracking-heading)}.ke-article__body h3{margin-top:var(--space-12);font-size:var(--text-h4);font-weight:500;line-height:1.25}.ke-article__body h4{margin-top:var(--space-10);font-family:var(--font-ui);font-size:var(--text-small);font-weight:600;letter-spacing:var(--tracking-overline);text-transform:uppercase;color:var(--color-brand-600)}.ke-article__body :is(h2,h3,h4)+*{margin-top:var(--space-4)}.ke-article__body a{color:var(--color-brand-600);text-decoration:underline;-webkit-text-decoration-color:var(--color-accent-500);text-decoration-color:var(--color-accent-500);text-decoration-thickness:var(--border-hairline);text-underline-offset:var(--underline-offset);transition:-webkit-text-decoration-color var(--dur-fast) var(--ease-out);transition:text-decoration-color var(--dur-fast) var(--ease-out);transition:text-decoration-color var(--dur-fast) var(--ease-out),-webkit-text-decoration-color var(--dur-fast) var(--ease-out)}.ke-article__body a:hover{-webkit-text-decoration-color:currentColor;text-decoration-color:currentColor}.ke-article__body strong{font-weight:600}.ke-article__body blockquote{margin-inline:0;padding-left:var(--space-6);border-left:var(--border-thick) solid var(--color-accent-500);font-family:var(--font-display);font-size:var(--text-h4);font-style:italic;line-height:1.45;color:var(--color-brand-900)}.ke-article__body blockquote>*+*{margin-top:var(--space-4)}.ke-article__body blockquote.ke-pullquote{position:relative;margin-block:var(--space-16);padding:var(--space-10) 0 var(--space-8);border-left:0;border-block:var(--border-hairline) solid var(--color-line);font-size:var(--text-h3);line-height:1.25;letter-spacing:-.01em;text-wrap:balance}.ke-article__body blockquote.ke-pullquote:before{content:"“";position:absolute;top:calc(var(--space-6) * -1);left:0;padding-right:var(--space-3);background:var(--color-page-bg);font-size:var(--text-display);line-height:1;color:var(--color-accent-500)}.ke-article__body ol,.ke-article__body ul{padding-left:var(--space-6)}.ke-article__body li+li{margin-top:var(--space-2)}.ke-article__body li::marker{color:var(--color-accent-700)}.ke-article__body ol li::marker{font-family:var(--font-ui);font-size:var(--text-small);font-weight:600}.ke-table-wrap{overflow-x:auto;margin-block:var(--space-10);border:var(--border-hairline) solid var(--color-line);border-radius:var(--radius-md);background:linear-gradient(to right,var(--color-surface) 30%,transparent) 0 /var(--space-10) 100% no-repeat local,linear-gradient(to left,var(--color-surface) 30%,transparent) 100% /var(--space-10) 100% no-repeat local,radial-gradient(farthest-side at 0 50%,color-mix(in srgb,var(--color-ink) 14%,transparent),transparent) 0 /var(--space-3) 100% no-repeat scroll,radial-gradient(farthest-side at 100% 50%,color-mix(in srgb,var(--color-ink) 14%,transparent),transparent) 100% /var(--space-3) 100% no-repeat scroll,var(--color-surface)}.ke-table-wrap table{width:100%;min-width:34rem;border-collapse:collapse;font-family:var(--font-ui);font-size:var(--text-small);line-height:var(--leading-snug)}.ke-table-wrap td,.ke-table-wrap th{padding:var(--space-3) var(--space-4);border-bottom:var(--border-hairline) solid var(--color-line);text-align:left;vertical-align:top}.ke-table-wrap thead th{background:var(--color-brand-100);color:var(--color-brand-900);font-weight:600}.ke-table-wrap tbody tr:last-child td{border-bottom:0}.ke-table-wrap tbody tr:nth-child(2n) td{background:color-mix(in srgb,var(--color-bg) 70%,transparent)}.ke-figure{margin:var(--space-10) 0}.ke-figure img{display:block;width:100%;height:auto;border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.ke-figure figcaption{margin-top:var(--space-3);font-family:var(--font-ui);font-size:var(--text-caption);line-height:var(--leading-snug);color:var(--color-muted)}.ke-figure--full{--w:min(var(--container-wide),100vw - var(--container-gutter) * 2);position:relative;z-index:var(--z-raised);width:var(--w);margin-inline:calc((100% - var(--w)) / 2);padding-block:var(--space-2);background:var(--color-page-bg)}.ke-article__body code{padding:0 var(--space-1);border-radius:var(--radius-xs);background:var(--color-brand-100);font-family:var(--font-mono);font-size:.88em}.ke-article__body pre{overflow-x:auto;padding:var(--space-5);border:var(--border-hairline) solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);line-height:var(--leading-ui)}.ke-article__body pre code{padding:0;background:none;font-size:var(--text-small)}.ke-formula{overflow-x:auto;padding:var(--space-6) var(--space-4);border-block:var(--border-hairline) solid var(--color-line);font-family:var(--font-display);font-style:italic;font-size:var(--text-h4);text-align:center;white-space:pre;color:var(--color-brand-900)}.ke-article__body hr.ke-asterism{margin-block:var(--space-12);border:0;text-align:center}.ke-article__body hr.ke-asterism:before{content:"⁂";font-family:var(--font-display);font-size:var(--text-h4);color:var(--color-accent-500)}.ke-fnref{line-height:0}.ke-fnref a{padding:0 var(--border-thick);font-family:var(--font-ui);font-size:var(--text-overline);font-weight:600;text-decoration:none!important}.ke-article__body .ke-footnotes{margin-top:var(--space-16);padding-top:var(--space-6);border-top:var(--border-hairline) solid var(--color-line);font-size:var(--text-small);line-height:var(--leading-snug);color:var(--color-muted)}.ke-article__body .ke-footnotes h2{margin:0 0 var(--space-4);font-family:var(--font-ui);font-size:var(--text-overline);font-weight:600;letter-spacing:var(--tracking-overline);text-transform:uppercase;color:var(--color-brand-600)}.ke-footnotes li:target{background:var(--color-accent-100)}.ke-fnback{text-decoration:none!important}.ke-pdf{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;grid-gap:var(--space-4);gap:var(--space-4);margin-block:var(--space-10);padding:var(--space-5);border:var(--border-hairline) solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm);font-family:var(--font-ui)}.ke-pdf__icon{display:inline-flex;align-items:center;justify-content:center;width:var(--space-12);height:calc(var(--space-12) + var(--space-3));border-radius:var(--radius-pill);background:var(--color-brand-900);color:var(--color-accent-100);font-size:var(--text-overline);font-weight:700;letter-spacing:var(--tracking-overline)}.ke-pdf__body{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.ke-pdf__name{font-weight:600;color:var(--color-ink);overflow-wrap:anywhere}.ke-pdf__meta{font-size:var(--text-caption);color:var(--color-muted)}.ke-pdf__actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:var(--space-2)}@media (min-width:40em){.ke-pdf{grid-template-columns:auto minmax(0,1fr) auto}.ke-pdf__actions{grid-column:auto}}.ke-article__body .ke-pdf__btn{display:inline-flex;align-items:center;min-height:var(--space-10);padding:0 var(--space-4);border:var(--border-hairline) solid var(--color-line-strong);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-brand-900);font:inherit;font-size:var(--text-small);font-weight:500;text-decoration:none;cursor:pointer}.ke-article__body .ke-pdf__btn--primary{border-color:var(--color-brand-900);background:var(--color-brand-900);color:var(--color-on-dark)}.ke-pdf__frame{grid-column:1/-1}.ke-pdf__frame iframe{display:block;width:100%;height:min(80vh,calc(var(--space-32) * 6));border:var(--border-hairline) solid var(--color-line);border-radius:var(--radius-pill)}.ke-lightbox{width:100vw;max-width:none;height:100vh;max-height:none;margin:0;padding:var(--space-8) var(--container-gutter);border:0;background:color-mix(in srgb,var(--color-ink) 92%,transparent);color:var(--color-on-dark)}.ke-lightbox[open]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4)}.ke-lightbox::-webkit-backdrop{background:var(--color-scrim)}.ke-lightbox::backdrop{background:var(--color-scrim)}.ke-lightbox img{max-width:100%;max-height:calc(100vh - var(--space-32));object-fit:contain;border-radius:var(--radius-pill);cursor:zoom-out}.ke-lightbox__cap{max-width:var(--measure);font-family:var(--font-ui);font-size:var(--text-small);text-align:center;color:var(--color-brand-100)}.ke-lightbox__close{position:absolute;top:var(--space-4);right:var(--space-4);width:var(--space-12);height:var(--space-12);border:var(--border-hairline) solid color-mix(in srgb,var(--color-on-dark) 40%,transparent);border-radius:var(--radius-pill);background:transparent;color:var(--color-on-dark);font-size:var(--text-h4);line-height:1;cursor:pointer}.ke-lightbox__close:focus-visible{outline:var(--border-thick) solid var(--color-accent-500);outline-offset:var(--border-thick)}:root.ke-noscroll{overflow:hidden}.ke-article__end{padding-block:var(--space-12) var(--space-section)}.ke-article__end-inner{display:flex;flex-direction:column;gap:var(--space-10);max-width:var(--measure);margin-inline:auto}.ke-tags{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);font-family:var(--font-mono)}.ke-tags__label{font-size:var(--text-caption);color:var(--color-muted)}.ke-tags ul{display:flex;flex-wrap:wrap;gap:var(--space-2)}.ke-share--end{padding-block:var(--space-6);border-block:var(--border-hairline) solid var(--color-line)}.ke-authorbox{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:var(--space-5);gap:var(--space-5);padding:var(--space-8);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-sm)}.ke-authorbox>div{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2)}.ke-authorbox__name{font-family:var(--font-display);font-size:var(--text-h4);line-height:1.2}.ke-authorbox__name a{color:var(--color-ink);text-decoration:none}.ke-authorbox__name a:hover{color:var(--color-brand-600)}.ke-authorbox__role{font-family:var(--font-ui)}.ke-authorbox__bio,.ke-authorbox__role{font-size:var(--text-small);color:var(--color-muted)}.ke-authorbox__bio{line-height:var(--leading-body);display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}.ke-adjacent{display:grid;grid-gap:var(--space-4);gap:var(--space-4)}@media (min-width:40em){.ke-adjacent{grid-template-columns:repeat(2,minmax(0,1fr))}}.ke-adjacent__link{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-6);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-sm);color:var(--color-ink);text-decoration:none;transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out)}.ke-adjacent__link:hover{box-shadow:var(--shadow-md);transform:translateY(calc(var(--border-hairline) * -2))}.ke-adjacent__link--next{text-align:right;align-items:flex-end}.ke-adjacent__dir{font-family:var(--font-mono);font-size:var(--text-caption);font-weight:500;letter-spacing:var(--tracking-mono);color:var(--color-accent-700)}.ke-adjacent__title{font-family:var(--font-display);font-size:var(--text-h4);line-height:1.25;text-wrap:balance}.ke-related{padding-block:calc(var(--space-section) * .75)}.ke-article__cta{padding-bottom:var(--space-8)}.ke-cta{display:grid;grid-gap:var(--space-8);gap:var(--space-8);align-items:center;padding:clamp(var(--space-8),5vw,var(--space-16));border-radius:var(--radius-2xl);background:radial-gradient(50% 80% at 100% 0,color-mix(in srgb,var(--color-accent-500) 22%,transparent),transparent 70%),var(--color-dark-900);color:var(--color-on-dark)}.ke-cta__title{margin:var(--space-4) 0 0;font-family:var(--font-display);font-weight:400;font-size:var(--text-h3);line-height:1.15;letter-spacing:var(--tracking-heading);text-wrap:balance}.ke-article__cta :focus-visible{outline-color:var(--color-accent-500)}@media (min-width:64em){.ke-cta{grid-template-columns:minmax(0,1fr) auto;gap:var(--space-16)}}@media print{.ke-adjacent,.ke-article__cta,.ke-crumbs,.ke-footer,.ke-header,.ke-mnav,.ke-pdf__actions,.ke-pdf__frame,.ke-preview-banner,.ke-progress,.ke-related,.ke-share,.ke-skip,.ke-toc{display:none!important}.ke-article__body,.ke-blog{background:none;color:var(--color-ink)}.ke-article__head{padding-top:0}.ke-article__byline{border:0;padding-block:var(--space-2)}.ke-article__cover{max-width:none;padding:0;page-break-inside:avoid;break-inside:avoid}.ke-article__cover-media{box-shadow:none;border-radius:0}.ke-article__layout,.ke-article__layout.has-toc{display:block}.ke-article__body{max-width:none;font-size:var(--text-small);line-height:var(--leading-body)}.ke-article__body a[href^=http]:after{content:" (" attr(href) ")";font-size:.8em;color:var(--color-muted);word-break:break-all}.ke-article__body :is(h2,h3,h4){page-break-after:avoid;break-after:avoid}.ke-article__body :is(figure,table,blockquote,.ke-pdf){page-break-inside:avoid;break-inside:avoid}.ke-table-wrap{overflow:visible;background:none}.ke-table-wrap table{min-width:0}.ke-figure--full{width:auto;margin-inline:0}.ke-authorbox{box-shadow:none;page-break-inside:avoid;break-inside:avoid}.ke-zoom{cursor:default}}