.zn-reading-bar{position:fixed;top:0;left:0;height:2px;background:var(--zn-indigo-500);z-index:var(--zn-z-sticky);transition:width 80ms linear;width:0}.zn-article{max-width:100%;margin-inline:auto}.zn-article__hero{position:relative;padding-block:var(--zn-space-20)var(--zn-space-10);overflow:hidden;border-bottom:1px solid var(--zn-border-subtle);min-height:420px;display:flex;align-items:flex-end;text-align:left;width:100%;margin-inline:0}.zn-article__hero-bg{position:absolute;inset:0;z-index:0}.zn-article__hero-bg picture,.zn-article__hero-bg img{width:100%;height:100%;object-fit:cover;display:block}.zn-article__hero-bg img{filter:brightness(.45)saturate(.75)}[data-theme=light] .zn-article__hero-bg img{filter:brightness(.65)saturate(.55)}.zn-article__hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(8,9,10,.4) 0%,rgba(8,9,10,.7) 40%,rgba(8,9,10,.92) 100%)}[data-theme=light] .zn-article__hero-overlay{background:linear-gradient(180deg,rgba(252,251,248,.5) 0%,rgba(252,251,248,.8) 35%,rgba(252,251,248,.97) 100%)}.zn-article__hero .zn-container{position:relative;z-index:2}.zn-article__hero-content{max-width:min(1120px,100%);margin-inline:0 auto}.zn-article__hero .zn-article__breadcrumb{margin-bottom:var(--zn-space-4)}.zn-article__hero .zn-article__breadcrumb a{color:rgba(255,255,255,.75);font-weight:var(--zn-wt-ui)}[data-theme=light] .zn-article__hero .zn-article__breadcrumb a{color:rgba(0,0,0,.6)}.zn-article__hero .zn-article__breadcrumb a:hover{color:var(--zn-indigo-400);text-decoration:none}.zn-article__hero .zn-article__breadcrumb__sep{color:rgba(255,255,255,.35);font-weight:var(--zn-wt-read)}[data-theme=light] .zn-article__hero .zn-article__breadcrumb__sep{color:rgba(0,0,0,.3)}.zn-article__hero-badges{display:flex;gap:var(--zn-space-2);flex-wrap:wrap;margin-bottom:var(--zn-space-5);align-items:center}.zn-article__hero-tag{display:inline-flex;align-items:center;padding:2px var(--zn-space-2);font-size:var(--zn-text-label);font-weight:var(--zn-wt-ui);letter-spacing:-.005em;color:rgba(255,255,255,.55);border-radius:var(--zn-radius-md);background:rgba(255,255,255,8%);border:1px solid rgba(255,255,255,.1);text-decoration:none;transition:all var(--zn-duration-fast)var(--zn-ease-out)}.zn-article__hero-tag:hover{color:var(--zn-indigo-400);border-color:var(--zn-indigo-500);text-decoration:none}[data-theme=light] .zn-article__hero-tag{color:rgba(0,0,0,.5);background:rgba(0,0,0,5%);border-color:rgba(0,0,0,8%)}[data-theme=light] .zn-article__hero-tag:hover{color:var(--zn-indigo-500);border-color:var(--zn-indigo-500)}.zn-prose .zn-shortcode-details summary:hover{border-color:var(--zn-indigo-500);background:var(--zn-surface-4)}.zn-field-note{margin:var(--zn-space-8)0;padding:var(--zn-space-5)var(--zn-space-6);border:1px solid var(--zn-indigo-500);border-left:4px solid var(--zn-indigo-400);border-radius:var(--zn-radius-lg);background:linear-gradient(135deg,rgba(113,112,255,.12),var(--zn-surface-2))}.zn-field-note__label{margin-bottom:var(--zn-space-3);color:var(--zn-indigo-300);font-size:var(--zn-text-label);text-transform:uppercase;letter-spacing:var(--zn-tracking-widest);font-weight:var(--zn-wt-ui)}.zn-field-note__body>:first-child{margin-top:0}.zn-field-note__body>:last-child{margin-bottom:0}.zn-article__hero-content{max-width:min(1120px,100%);margin-inline:0 auto;width:100%}.zn-article__hero-title{font-size:clamp(2rem,4vw + 1rem,3rem);font-weight:var(--zn-wt-ui);line-height:1.1;letter-spacing:var(--zn-tracking-48);color:var(--zn-text-100);margin:0 0 var(--zn-space-4);font-feature-settings:var(--zn-font-features);text-align:left}.zn-article__hero-meta{justify-content:space-between}.zn-article__hero-badges{justify-content:flex-start}.zn-article__hero-desc{margin-inline:0 auto}.zn-article__hero-desc{color:var(--zn-text-300);font-size:var(--zn-text-body-l);line-height:var(--zn-leading-relaxed);max-width:60ch;margin:0 0 var(--zn-space-8)}.zn-article__hero-meta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--zn-space-4);padding-top:var(--zn-space-6);border-top:1px solid rgba(255,255,255,8%)}[data-theme=light] .zn-article__hero-meta{border-top-color:rgba(0,0,0,8%)}.zn-article .zn-container--prose{max-width:min(1320px,calc(100vw - var(--zn-space-8)));padding-block:var(--zn-space-10)}.zn-article__body-layout{--zn-article-copy-width:96ch;--zn-article-toc-width:260px;display:grid;grid-template-columns:minmax(0,var(--zn-article-copy-width))minmax(220px,var(--zn-article-toc-width));gap:clamp(var(--zn-space-7),3vw,var(--zn-space-10));align-items:start;width:min(100%,calc(var(--zn-article-copy-width) + var(--zn-article-toc-width) + var(--zn-space-10)));margin-inline:auto}.zn-article__body-layout--solo{display:block;max-width:96ch;margin-inline:auto}.zn-article__toc{position:sticky;top:calc(72px + var(--zn-space-6));max-height:calc(100vh - 112px);overflow:auto;padding:var(--zn-space-4);border:1px solid var(--zn-border-subtle);border-radius:var(--zn-radius-lg);background:color-mix(in srgb,var(--zn-surface-2) 88%,transparent);box-shadow:var(--zn-shadow-sm)}.zn-article__toc-label{margin-bottom:var(--zn-space-3);color:var(--zn-text-300);font-size:var(--zn-text-label);font-weight:var(--zn-wt-ui);letter-spacing:var(--zn-tracking-widest);text-transform:uppercase}.zn-article__toc nav,.zn-article__toc ul{margin:0;padding-left:0;list-style:none}.zn-article__toc ul ul{margin-top:var(--zn-space-1);padding-left:var(--zn-space-4);border-left:1px solid var(--zn-border-subtle)}.zn-article__toc li{margin:0;color:var(--zn-text-400);font-size:var(--zn-text-caption-l);line-height:1.45}.zn-article__toc a{display:block;padding:.28rem 0;color:var(--zn-text-300);text-decoration:none}.zn-article__toc a:hover{color:var(--zn-indigo-300)}@media(max-width:1100px){.zn-article .zn-container--prose{max-width:min(82ch,calc(100vw - var(--zn-space-8)))}.zn-article__body-layout{display:flex;flex-direction:column}.zn-article__toc{order:-1;position:static;width:100%;max-height:16rem;margin-bottom:var(--zn-space-4)}}@media(max-width:640px){.zn-article__hero{min-height:280px;padding-block:var(--zn-space-16)var(--zn-space-8)}.zn-article__hero-title{font-size:var(--zn-text-h1);letter-spacing:var(--zn-tracking-32)}.zn-article__hero-meta{flex-direction:column;align-items:flex-start;gap:var(--zn-space-4)}}.zn-article__breadcrumb{display:flex;align-items:center;gap:var(--zn-space-2);font-size:var(--zn-text-caption-l);color:var(--zn-text-300);margin-bottom:var(--zn-space-4);letter-spacing:var(--zn-tracking-wide);font-weight:var(--zn-wt-ui)}.zn-article__breadcrumb a{color:var(--zn-text-300)}.zn-article__breadcrumb a:hover{color:var(--zn-indigo-400);text-decoration:none}.zn-article__breadcrumb__sep{color:var(--zn-text-500)}.zn-article__author{display:flex;align-items:center;gap:var(--zn-space-3)}.zn-article__author-avatar{width:40px;height:40px;border-radius:var(--zn-radius-full);background:var(--zn-gradient-accent);color:var(--zn-text-100);object-fit:cover;border:1px solid rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;font-weight:var(--zn-wt-strong);font-size:var(--zn-text-body);flex-shrink:0}.zn-article__author-info{display:flex;flex-direction:column;gap:2px}.zn-article__author-name{font-size:var(--zn-text-caption);font-weight:var(--zn-wt-ui);color:var(--zn-text-100);letter-spacing:-.005em}.zn-article__author-detail{font-size:var(--zn-text-label);color:var(--zn-text-300);letter-spacing:var(--zn-tracking-wide);font-weight:var(--zn-wt-ui)}.zn-article__date{display:flex;flex-direction:column;gap:2px;margin-left:auto;text-align:right}.zn-article__date-pub{font-size:var(--zn-text-label);color:var(--zn-text-300);font-variant-numeric:tabular-nums;letter-spacing:var(--zn-tracking-wide);font-weight:var(--zn-wt-ui)}.zn-article__date-read{font-size:var(--zn-text-label);color:var(--zn-text-500);letter-spacing:var(--zn-tracking-wide);font-weight:var(--zn-wt-ui)}.zn-prose{max-width:100%;font-size:var(--zn-text-body);line-height:var(--zn-leading-loose);color:var(--zn-text-200);letter-spacing:var(--zn-tracking-18);font-weight:var(--zn-wt-read)}.zn-prose h2{font-size:var(--zn-text-h2);font-weight:var(--zn-wt-ui);letter-spacing:var(--zn-tracking-32);line-height:1.2;color:var(--zn-text-100);margin-top:var(--zn-space-16);margin-bottom:var(--zn-space-4);padding-top:var(--zn-space-6);border-top:1px solid var(--zn-border-subtle);font-feature-settings:var(--zn-font-features)}.zn-prose h3{font-size:var(--zn-text-h3);font-weight:var(--zn-wt-strong);letter-spacing:var(--zn-tracking-20);line-height:1.33;color:var(--zn-text-100);margin-top:var(--zn-space-10);margin-bottom:var(--zn-space-3)}.zn-prose p{margin:0 0 var(--zn-space-5)}.zn-prose strong{color:var(--zn-text-100);font-weight:var(--zn-wt-strong)}.zn-prose a{color:var(--zn-link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:var(--zn-link-underline)}.zn-prose a:hover{color:var(--zn-link-hover);text-decoration-color:var(--zn-link-hover)}.zn-prose ul,.zn-prose ol{margin:0 0 var(--zn-space-5);padding-left:var(--zn-space-6)}.zn-prose li{margin-bottom:var(--zn-space-2);padding-left:var(--zn-space-2)}.zn-prose li::marker{color:var(--zn-text-500)}.zn-prose blockquote{border-left:3px solid var(--zn-indigo-500);padding-left:var(--zn-space-5);margin:var(--zn-space-6)0;color:var(--zn-text-300);font-style:italic}.zn-prose code{font-family:var(--zn-font-mono);font-size:.9em;background:var(--zn-surface-4);padding:2px var(--zn-space-1);border-radius:var(--zn-radius-sm);color:var(--zn-indigo-300);border:1px solid var(--zn-border)}[data-theme=light] .zn-prose code{color:var(--zn-indigo-500)}.zn-prose pre{margin:var(--zn-space-6)0;padding:var(--zn-space-5)var(--zn-space-6);background:var(--zn-surface-2);border:1px solid var(--zn-border);border-radius:var(--zn-radius-lg);overflow-x:auto;font-size:var(--zn-text-small);line-height:var(--zn-leading-relaxed)}.zn-prose pre code{background:0 0;padding:0;border:none;border-radius:0;color:inherit}.zn-prose .highlight{position:relative;margin:var(--zn-space-6)0;background:#080d16;border:1px solid rgba(130,143,255,.18);border-radius:var(--zn-radius-xl);overflow:hidden;box-shadow:0 18px 60px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,3%)}.zn-prose .highlight pre,.zn-prose pre.chroma{margin:0;padding:var(--zn-space-6)var(--zn-space-7);background:0 0;border:0;border-radius:0;overflow-x:auto;color:#f8f8f2;font-family:var(--zn-font-mono);font-size:var(--zn-text-small);line-height:1.78;tab-size:2}.zn-prose .highlight code,.zn-prose code[class*=language-]{color:inherit;font-family:inherit;font-size:inherit}.zn-prose .highlight .line{display:block;min-width:max-content}.zn-prose .highlight .hl{display:block;margin-inline:calc(var(--zn-space-7) * -1);padding-inline:var(--zn-space-7);background:rgba(94,106,210,.22)}.zn-prose .highlight .ln,.zn-prose .highlight .lnt,.zn-prose .highlight .line-number{display:inline-block;min-width:2.5rem;margin-right:var(--zn-space-5);padding-right:var(--zn-space-4);color:rgba(208,214,224,.42);text-align:right;border-right:1px solid rgba(130,143,255,.14);user-select:none}.zn-prose .highlight .lntable{display:block;width:100%;border-spacing:0;overflow-x:auto}.zn-prose .highlight .lntd{padding:0;vertical-align:top}.zn-prose .highlight .lntd:first-child pre{padding-right:var(--zn-space-3);color:rgba(248,248,242,.42);text-align:right;border-right:1px solid rgba(248,248,242,.12)}.zn-prose .highlight .lntd:last-child pre{padding-left:var(--zn-space-4)}@media(max-width:640px){.zn-prose .highlight pre,.zn-prose pre.chroma{padding:var(--zn-space-4);font-size:.82rem}}.zn-prose hr{border:none;border-top:1px solid var(--zn-border);margin:var(--zn-space-12)0}.zn-prose img{border-radius:var(--zn-radius-lg);border:1px solid var(--zn-border-subtle);margin:var(--zn-space-6)0}.zn-prose table{width:100%;border-collapse:collapse;margin:var(--zn-space-6)0;font-size:var(--zn-text-small)}.zn-prose th,.zn-prose td{padding:var(--zn-space-3)var(--zn-space-4);border-bottom:1px solid var(--zn-border);text-align:left}.zn-prose th{font-weight:var(--zn-wt-ui);color:var(--zn-text-100);letter-spacing:var(--zn-tracking-wide);text-transform:uppercase;font-size:var(--zn-text-label)}.zn-prose td{color:var(--zn-text-200)}.zn-callout,.zn-details,.zn-source{margin:var(--zn-space-6)0;border:1px solid var(--zn-border-subtle);border-radius:var(--zn-radius-lg);background:var(--zn-surface-2)}.zn-callout{padding:var(--zn-space-4)var(--zn-space-5);border-left:3px solid var(--zn-indigo-500)}.zn-callout--warning{border-left-color:var(--zn-warning)}.zn-callout--danger{border-left-color:var(--zn-danger)}.zn-callout--success{border-left-color:var(--zn-success)}.zn-callout__title{display:block;margin-bottom:var(--zn-space-2);color:var(--zn-text-100);font-size:var(--zn-text-small);font-weight:var(--zn-wt-ui);letter-spacing:var(--zn-tracking-wide);text-transform:uppercase}.zn-callout__body>:last-child,.zn-details__body>:last-child{margin-bottom:0}.zn-details{padding:0;overflow:hidden}.zn-details summary{cursor:pointer;padding:var(--zn-space-4)var(--zn-space-5);color:var(--zn-text-100);font-weight:var(--zn-wt-ui)}.zn-details__body{padding:0 var(--zn-space-5)var(--zn-space-5);color:var(--zn-text-200)}.zn-source{display:flex;align-items:center;gap:var(--zn-space-2);flex-wrap:wrap;padding:var(--zn-space-3)var(--zn-space-4);font-size:var(--zn-text-small);color:var(--zn-text-300)}.zn-source__label{color:var(--zn-text-100);font-size:var(--zn-text-label);font-weight:var(--zn-wt-ui);letter-spacing:var(--zn-tracking-wide);text-transform:uppercase}.zn-source__note{color:var(--zn-text-400)}.zn-article__footer{margin-top:var(--zn-space-16);padding-top:var(--zn-space-8);border-top:1px solid var(--zn-border)}.zn-article__tags{display:flex;gap:var(--zn-space-2);flex-wrap:wrap;margin-bottom:var(--zn-space-4)}.zn-article__taxonomy{display:grid;gap:var(--zn-space-4);margin-bottom:var(--zn-space-6)}.zn-article__taxonomy-row{display:grid;grid-template-columns:5rem 1fr;gap:var(--zn-space-4);align-items:start}.zn-article__taxonomy-label{padding-top:.35rem;color:var(--zn-text-400);font-size:var(--zn-text-label);font-weight:var(--zn-wt-ui);letter-spacing:var(--zn-tracking-wide);text-transform:uppercase}.zn-article__share{display:flex;align-items:flex-start;gap:var(--zn-space-3);flex-wrap:wrap}.zn-article__share-label{font-size:var(--zn-text-label);color:var(--zn-text-300);font-weight:var(--zn-wt-ui);letter-spacing:var(--zn-tracking-wide);text-transform:uppercase;padding-top:.45rem}.zn-article__share-actions{display:flex;align-items:center;gap:var(--zn-space-2);flex-wrap:wrap}.zn-author-card{display:grid;grid-template-columns:auto 1fr;gap:var(--zn-space-6);margin:var(--zn-space-10)0;padding:var(--zn-space-7);background:var(--zn-surface-2);border:1px solid var(--zn-border);border-radius:var(--zn-radius-xl)}.zn-author-card__avatar{width:72px;height:72px;border-radius:var(--zn-radius-full);object-fit:cover;border:1px solid var(--zn-border-strong);box-shadow:0 14px 36px rgba(0,0,0,.24)}.zn-author-card__body{min-width:0}.zn-author-card__eyebrow{display:inline-block;margin-bottom:var(--zn-space-2);color:var(--zn-indigo-300);font-size:var(--zn-text-label);text-transform:uppercase;letter-spacing:var(--zn-tracking-widest);font-weight:var(--zn-wt-ui)}.zn-author-card__name{margin:0;color:var(--zn-text-100);font-size:var(--zn-text-body-l);line-height:1.2}.zn-author-card__role{margin:var(--zn-space-1)0 var(--zn-space-3);color:var(--zn-text-300);font-size:var(--zn-text-caption);font-weight:var(--zn-wt-ui)}.zn-author-card__bio{margin:0 0 var(--zn-space-4);color:var(--zn-text-200);font-size:var(--zn-text-small);line-height:1.6}.zn-author-card__links{display:flex;flex-wrap:wrap;gap:var(--zn-space-2)}.zn-author-card__links a{display:inline-flex;padding:var(--zn-space-1)var(--zn-space-3);border-radius:var(--zn-radius-pill);background:var(--zn-surface-4);border:1px solid var(--zn-border);color:var(--zn-text-200);font-size:var(--zn-text-caption);font-weight:var(--zn-wt-ui);text-decoration:none}.zn-author-card__links a:hover{color:var(--zn-indigo-300);border-color:var(--zn-indigo-500)}@media(max-width:640px){.zn-author-card{grid-template-columns:1fr}.zn-author-card__avatar{width:64px;height:64px}}.zn-share-button{appearance:none;display:inline-flex;align-items:center;justify-content:center;min-height:2rem;padding:.38rem .7rem;border:1px solid var(--zn-border);border-radius:var(--zn-radius-pill);background:rgba(255,255,255,.025);color:var(--zn-text-200);font-family:var(--zn-font-sans);font-size:var(--zn-text-label);font-weight:var(--zn-wt-ui);line-height:1;letter-spacing:var(--zn-tracking-wide);text-decoration:none;cursor:pointer;transition:color var(--zn-duration-fast)var(--zn-ease-out),border-color var(--zn-duration-fast)var(--zn-ease-out),background var(--zn-duration-fast)var(--zn-ease-out),transform var(--zn-duration-fast)var(--zn-ease-out)}.zn-share-button:hover,.zn-share-button:focus-visible{color:var(--zn-text-100);border-color:var(--zn-indigo-500);background:rgba(113,112,255,.12);text-decoration:none;transform:translateY(-1px)}.zn-share-button--copy.is-copied{color:var(--zn-success);border-color:color-mix(in srgb,var(--zn-success) 60%,transparent);background:color-mix(in srgb,var(--zn-success) 12%,transparent)}.zn-related{max-width:var(--zn-container-wide);margin-inline:auto;padding-block:var(--zn-space-16);border-top:1px solid var(--zn-border)}.zn-related__title{font-size:var(--zn-text-h3);font-weight:var(--zn-wt-ui);color:var(--zn-text-100);margin:0 0 var(--zn-space-8);letter-spacing:var(--zn-tracking-20)}.zn-related__intro{margin:calc(var(--zn-space-6) * -1)0 var(--zn-space-8);color:var(--zn-text-300);font-size:var(--zn-text-small)}.zn-related__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--zn-space-4)}.zn-related-card{display:flex;flex-direction:column;gap:var(--zn-space-3);min-height:100%;padding:var(--zn-space-5);border:1px solid var(--zn-border);border-radius:var(--zn-radius-xl);background:var(--zn-surface-2)}.zn-related-card__title{margin:0;color:var(--zn-text-100);font-size:var(--zn-text-body-l);line-height:1.35;letter-spacing:var(--zn-tracking-12)}.zn-related-card__title a{color:inherit;text-decoration:none}.zn-related-card__title a:hover{color:var(--zn-indigo-300)}.zn-related-card__desc{flex:1;margin:0;color:var(--zn-text-300);font-size:var(--zn-text-small);line-height:1.6}@media(max-width:900px){.zn-related__list{grid-template-columns:1fr}}.zn-prose .disclosure{margin-top:var(--zn-space-12);padding:var(--zn-space-4)var(--zn-space-5);background:var(--zn-surface-2);border:1px solid var(--zn-border-subtle);border-radius:var(--zn-radius-md);font-size:var(--zn-text-small);color:var(--zn-text-300);line-height:var(--zn-leading-normal)}@media(max-width:640px){.zn-article__title{font-size:var(--zn-text-h1);letter-spacing:var(--zn-tracking-32)}.zn-article__meta{flex-direction:column;align-items:flex-start;gap:var(--zn-space-4)}.zn-article__date{margin-left:0;text-align:left}}