@font-face{font-family:ZKMSerendipity;src:url(/_astro/ZKMSerendipity-Regular.CxD_grm4.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:ZKMSerendipity;src:url(/_astro/ZKMSerendipity-RegularItalic.BWSsJTDl.woff) format("woff");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:ZKMSerendipity;src:url(/_astro/ZKMSerendipity-Medium.MujqY3al.woff) format("woff");font-weight:500 700;font-style:normal;font-display:swap}@font-face{font-family:ZKMSerendipity;src:url(/_astro/ZKMSerendipity-MediumItalic.DQCOhaNj.woff) format("woff");font-weight:500 700;font-style:italic;font-display:swap}:root{--paper: #f6f6f6;--surface: #ffffff;--paper-edge: #ececec;--ink: #111111;--ink-soft: #44443f;--ink-faint: #76746c;--rule: #e2e2df;--rule-strong: #d3cfc2;--accent: #131313;--accent-hover: #000000;--accent-soft: #ededea;--mark: rgba(0,0,0,.06);--code-bg: #eeeeee;--sidebar-bg: #ffffff;--maxread: 44rem;--serif: "ZKMSerendipity", "Charter", Georgia, serif;--sans: "ZKMSerendipity", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: ui-monospace, "SFMono-Regular", "SF Mono", Menlo, Consolas, "Liberation Mono", monospace}@media(prefers-color-scheme:dark){:root{--paper: #16181c;--surface: #1d2025;--paper-edge: #101216;--ink: #e4e2db;--ink-soft: #b9b7af;--ink-faint: #8b897f;--rule: #2a2d33;--rule-strong: #3a3e46;--accent: #ededea;--accent-hover: #ffffff;--accent-soft: #23262c;--mark: rgba(255,255,255,.12);--code-bg: #1e2127;--sidebar-bg: #1d2025}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:19px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover);text-decoration:underline;text-decoration-thickness:.12em;text-underline-offset:2px}.content a:not(.start-btn):not(.btn-dl):not(.signin):not(.brand):not(.zkm-cobrand):not(.pe):not(.pillar):not(.card-link){text-decoration:underline;text-decoration-color:var(--ink-faint);text-decoration-thickness:1px;text-underline-offset:2px}.zkm-cobrand{display:inline-flex;align-items:center}.zkm-cobrand img{height:22px;width:auto;display:block}.zkm-cobrand:hover{text-decoration:none}@media(prefers-color-scheme:dark){.zkm-cobrand img{filter:invert(1)}}.sitefoot .zkm-cobrand img{height:34px}.pe,.note,.step,.flow-step,.fig .frame,.cover-fig .frame{background:var(--surface);border-radius:18px!important;box-shadow:0 4.6px 9.2px #00000024;border:none!important}.start-btn,.btn-dl{display:inline-flex!important;align-items:center;gap:.55em;padding:.5em 1.2em .5em .5em!important;background:var(--surface)!important;color:var(--ink)!important;border-radius:999px!important;border:none!important;box-shadow:0 3px 10px #00000024;font-family:var(--sans);font-weight:500;text-decoration:none;transition:box-shadow .15s,transform .15s}.start-btn:before,.btn-dl:before{content:"→";display:inline-flex;align-items:center;justify-content:center;width:1.9em;height:1.9em;border-radius:50%;background:var(--ink);color:var(--surface);font-weight:400}.start-btn:hover,.btn-dl:hover{text-decoration:none;color:var(--ink)!important;box-shadow:0 5px 16px #0003;transform:translateY(-1px);background:var(--surface)!important}.masthead{border-bottom:1px solid var(--rule);background:var(--surface)}.masthead .inner{max-width:78rem;margin:0 auto;padding:20px 32px 16px;display:flex;align-items:flex-start;justify-content:space-between;gap:24px;min-height:92px}.masthead .brand{display:flex;align-items:center;gap:12px;font-family:var(--sans);font-weight:600;font-size:22px;letter-spacing:0;color:var(--ink);align-self:center}.masthead .brand svg{color:var(--ink-soft);width:30px;height:30px}.masthead .brand .alpha{font-family:var(--sans);font-weight:700;font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink);background:var(--accent-soft);border:1px solid var(--rule-strong);border-radius:4px;padding:1px 5px 0;line-height:1.5;margin-left:-1px;align-self:center}.masthead .brand .sub{font-weight:400;color:var(--ink-faint);font-size:13px;border-left:1px solid var(--rule-strong);padding-left:11px;margin-left:1px}.masthead-right{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:12px;align-self:stretch;margin-left:auto}.masthead-utility{display:flex;align-items:center;gap:14px}.masthead nav{font-family:var(--sans);font-size:1.375rem;font-weight:600;line-height:1;display:flex;gap:22px;align-items:baseline;flex-wrap:wrap;justify-content:flex-end}.masthead nav a{color:var(--ink)}.masthead nav a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:4px}.masthead nav .signin{color:var(--ink);font-weight:600}.layout{max-width:78rem;margin:0 auto;display:grid;grid-template-columns:17rem 1fr;gap:0;align-items:start}.toc{position:sticky;top:0;align-self:start;max-height:100vh;overflow-y:auto;padding:34px 22px 40px 32px;background:var(--sidebar-bg);border-right:1px solid var(--rule);font-family:var(--sans)}.toc .toc-title{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 14px}.toc ol{list-style:none;margin:0;padding:0;counter-reset:ch}.toc li{margin:0;counter-increment:ch}.toc li a{display:grid;grid-template-columns:1.6rem 1fr;gap:4px;padding:7px 10px 7px 8px;border-radius:6px;color:var(--ink-soft);font-size:14.5px;line-height:1.3;border-left:2px solid transparent}.toc li a:before{content:counter(ch);color:var(--ink-faint);font-variant-numeric:tabular-nums;font-size:13px}.toc li a:hover{background:var(--accent-soft);color:var(--ink);text-decoration:none}.toc li.current a{color:var(--accent);font-weight:600;border-left-color:var(--accent);background:var(--accent-soft)}.toc li.current a:before{color:var(--accent);font-weight:600}.toc .toc-foot{margin-top:26px;padding-top:16px;border-top:1px solid var(--rule);font-size:12.5px;color:var(--ink-faint)}.toc .toc-foot a{color:var(--ink-soft)}.content{padding:46px 56px 64px;min-width:0}.article{max-width:var(--maxread)}.eyebrow{font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin:0 0 12px}.eyebrow .step{color:var(--ink-faint);font-weight:600}h1.title{font-family:var(--sans);font-size:2.1rem;line-height:1.15;letter-spacing:-.015em;font-weight:700;margin:0 0 .5rem;color:var(--ink)}.standfirst{font-size:1.18rem;line-height:1.5;color:var(--ink-soft);margin:0 0 1.6rem;font-style:italic}.article h2{font-family:var(--sans);font-size:1.4rem;font-weight:700;letter-spacing:-.01em;margin:2.4rem 0 .7rem;padding-bottom:.25rem;border-bottom:1px solid var(--rule);color:var(--ink)}.article h3{font-family:var(--sans);font-size:1.08rem;font-weight:700;margin:1.7rem 0 .4rem;color:var(--ink)}.article p{margin:0 0 1.1rem}.article ul,.article ol{margin:0 0 1.2rem;padding-left:1.5rem}.article li{margin:0 0 .5rem}.article strong{font-weight:700;color:var(--ink)}.article em{font-style:italic}.article abbr{text-decoration:none;border-bottom:1px dotted var(--rule-strong);cursor:help}.lead-cap:first-letter{float:left;font-family:var(--sans);font-weight:600;font-size:3.1em;line-height:.72;margin:.06em .09em 0 0;color:var(--accent)}mark{background:var(--mark);color:inherit;padding:0 .15em}.article code{font-family:var(--mono);font-size:.82em;background:var(--code-bg);border:1px solid var(--rule);border-radius:4px;padding:.05em .35em}.article pre{font-family:var(--mono);font-size:.8rem;line-height:1.5;background:var(--code-bg);border:1px solid var(--rule);border-radius:7px;padding:1rem 1.1rem;overflow-x:auto;margin:0 0 1.3rem}.article pre code{background:none;border:none;padding:0}.note{margin:1.5rem 0;padding:.9rem 1.2rem;background:var(--accent-soft);border-left:3px solid var(--accent);border-radius:0 7px 7px 0;font-size:.96rem;color:var(--ink-soft)}.note strong{color:var(--ink)}.note .lbl{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:3px}.deflist{margin:1.3rem 0;border-top:1px solid var(--rule)}.deflist .row{display:grid;grid-template-columns:9rem 1fr;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--rule)}.deflist dt{font-family:var(--sans);font-weight:700;font-size:.92rem;color:var(--ink)}.deflist dd{margin:0;font-size:.98rem;color:var(--ink-soft)}@media(max-width:560px){.deflist .row{grid-template-columns:1fr;gap:.2rem}}figure.fig{margin:1.8rem 0}figure.fig .frame{border:1px solid var(--rule-strong);border-radius:8px;background:var(--paper-edge);padding:10px;overflow:hidden}figure.fig .frame.shot{background:#1c1c1c}figure.fig img,figure.fig svg{display:block;width:100%;height:auto;border-radius:4px}figure.fig figcaption{font-family:var(--sans);font-size:.82rem;line-height:1.45;color:var(--ink-faint);margin-top:.6rem}figure.fig figcaption .num{font-weight:700;color:var(--ink-soft)}.steps{counter-reset:st;margin:1.4rem 0}.step{position:relative;border:1px solid var(--rule);border-radius:9px;padding:1.1rem 1.3rem;margin:0 0 1rem;background:var(--paper)}.step .head{display:flex;align-items:baseline;gap:.6rem;margin-bottom:.3rem}.step .head .no{counter-increment:st;font-family:var(--sans);font-weight:700;font-size:.8rem;color:#fff;background:var(--accent);width:1.5rem;height:1.5rem;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.step .head .no:before{content:counter(st)}.step .head h3{margin:0;font-size:1.05rem}.step p{margin:.3rem 0 0;font-size:.98rem;color:var(--ink-soft)}.step figure.fig{margin:.9rem 0 .2rem}.pager{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:3rem;padding-top:1.4rem;border-top:1px solid var(--rule-strong);font-family:var(--sans)}.pager a{display:block;padding:14px 18px;border:1px solid var(--rule);border-radius:9px;background:var(--paper);transition:border-color .12s,background .12s}.pager a:hover{text-decoration:none;border-color:var(--accent);background:var(--accent-soft)}.pager a.next{text-align:right}.pager .dir{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}.pager .ttl{font-size:1rem;color:var(--accent);font-weight:600;margin-top:2px}.pager a.disabled{visibility:hidden}@media(max-width:560px){.pager{grid-template-columns:1fr}.pager a.next{text-align:left}}.cover{max-width:64rem;margin:0 auto}.cover-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:2.6rem;align-items:center;margin:.5rem 0 1rem}.cover-fig{min-width:0}.cover-fig figure.fig{margin:0}.cover .kicker{font-family:var(--sans);font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 1rem}.cover h1{font-family:var(--sans);font-size:2.6rem;line-height:1.08;letter-spacing:-.022em;font-weight:700;margin:0 0 1rem}.cover .abstract{font-size:1.1rem;line-height:1.55;color:var(--ink-soft);margin:0 0 1.2rem}.cover .byline{font-family:var(--sans);font-size:.88rem;line-height:1.5;color:var(--ink-faint);margin:0 0 1.6rem}.cover .byline strong{color:var(--ink-soft)}.start-btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--sans);font-weight:600;font-size:1rem;background:var(--accent);color:#fff;padding:.7rem 1.5rem;border-radius:8px}.start-btn:hover{background:var(--accent-hover);color:#fff;text-decoration:none}.cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:.2rem}.btn-dl{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--sans);font-weight:600;font-size:.95rem;color:var(--ink);background:transparent;border:1px solid var(--rule-strong);padding:.6rem 1.15rem;border-radius:8px}.btn-dl:hover{text-decoration:none;background:var(--accent);color:#fff}.btn-dl .meta{font-weight:400;color:var(--ink-faint)}.btn-dl:hover .meta{color:#ffffffd9}@media(max-width:820px){.cover-hero{grid-template-columns:1fr;gap:1.5rem}.cover h1{font-size:2.1rem}}.path{margin:2.8rem 0 0;border-top:1px solid var(--rule);padding-top:1.6rem}.path h2{font-family:var(--sans);font-size:1.05rem;font-weight:700;margin:0 0 1.1rem}.path .grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pe{display:grid;grid-template-columns:2rem 1fr;gap:.75rem;align-items:start;padding:.85rem 1rem;border:1px solid var(--rule);border-radius:9px;background:var(--paper);color:var(--ink)}.pe:hover{text-decoration:none;border-color:var(--accent);background:var(--accent-soft)}.pe .n{font-family:var(--sans);font-weight:700;font-size:1.15rem;line-height:1.25;color:var(--accent);font-variant-numeric:tabular-nums}.pe .x{min-width:0}.pe .t{font-family:var(--sans);font-weight:600;font-size:.98rem;color:var(--ink);display:block}.pe .d{color:var(--ink-faint);font-size:.85rem;line-height:1.4;display:block;margin-top:2px}@media(max-width:700px){.path .grid{grid-template-columns:1fr}}.content.hub{max-width:66rem;margin:0 auto}.content.hub .cover{max-width:none;margin:0}.content.hub .article{margin:0}.flow{margin:1.5rem 0}.flow-step{border:1px solid var(--rule);border-radius:10px;padding:.8rem 1.1rem;background:var(--paper)}.flow-step.is-tool{border-color:color-mix(in srgb,var(--accent) 40%,var(--rule));background:var(--accent-soft)}.flow-step .fs-t{display:block;font-family:var(--sans);font-weight:700;font-size:1.02rem;color:var(--ink)}.flow-step .fs-tag{font-weight:600;font-size:.8rem;color:var(--accent);margin-left:.45rem;white-space:nowrap}.flow-step .fs-d{display:block;font-size:.9rem;line-height:1.45;color:var(--ink-soft);margin-top:.2rem}.flow-link{font-family:var(--sans);font-size:.78rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);text-align:center;padding:.35rem 0}.flow-foot{margin-top:.7rem;border-top:1px dashed var(--rule-strong);padding-top:.75rem;font-size:.9rem;line-height:1.5;color:var(--ink-soft)}.layerfig svg text{font-family:var(--sans)}.ld-host{fill:var(--paper-edge);stroke:var(--rule-strong);stroke-width:1}.ld-group1{fill:var(--accent-soft);stroke:color-mix(in srgb,var(--accent) 40%,var(--rule));stroke-width:1}.ld-group2{fill:var(--paper);stroke:var(--rule-strong);stroke-width:1}.ld-l3{fill:var(--paper-edge);stroke:var(--rule-strong);stroke-width:1;stroke-dasharray:5 4}.ld-immutable{fill:var(--accent)}.ld-immutable-t{fill:#fff;font-weight:600}.ld-ctrl{fill:var(--code-bg);stroke:var(--rule-strong);stroke-width:1}.ld-ctrl-t{fill:var(--ink);font-weight:600}.ld-label{fill:var(--ink-faint);font-size:12px}.ld-grouptitle{fill:var(--ink-soft);font-weight:700;font-size:13px}.ld-arrow{stroke:var(--ink-faint);stroke-width:1.4;fill:none}.ld-arrowhead{fill:var(--ink-faint)}.legend{display:flex;flex-wrap:wrap;gap:16px;margin:1rem 0 0;font-family:var(--sans);font-size:13px}.legend .li{display:flex;align-items:center;gap:7px;color:var(--ink-soft)}.legend .sw{width:13px;height:13px;border-radius:3px;flex-shrink:0;border:1px solid var(--rule-strong)}.legend .sw.l1{background:var(--accent);border-color:var(--accent)}.legend .sw.l2{background:var(--code-bg)}.legend .sw.l3{background:var(--paper-edge);border-style:dashed}.content>.article.legal{margin-left:auto;margin-right:auto}.backlink{font-family:var(--sans);font-size:.85rem;margin:0 0 1.3rem}.article address{font-style:normal;line-height:1.65;color:var(--ink-soft);margin:0 0 1.1rem}.sitefoot{background:var(--paper);font-family:var(--sans);font-size:14px;color:var(--ink-faint);margin-top:40px}.sitefoot .inner{max-width:78rem;margin:0 auto;padding:0 32px 40px}.foot-legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:16px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.foot-links{display:flex;flex-wrap:wrap;gap:22px}.foot-links a{color:var(--ink);white-space:nowrap}.foot-contact{display:flex;align-items:flex-start;gap:40px;padding:22px 0;border-bottom:1px solid var(--rule)}.foot-zkm{flex-shrink:0;display:block}.foot-zkm img{height:4.5rem;width:auto}@media(prefers-color-scheme:dark){.foot-zkm img{filter:invert(1)}}.foot-addr{font-style:normal;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;color:var(--ink);line-height:1.5;flex:1}.foot-addr a{color:var(--ink)}.foot-copy{margin:20px 0 0;max-width:60rem;color:var(--ink-faint)}.foot-copy a{color:var(--ink)}@media(max-width:640px){.foot-contact{flex-direction:column;gap:20px}.foot-addr{grid-template-columns:1fr;gap:14px}}@media(max-width:900px){.layout{grid-template-columns:1fr}.toc{position:static;max-height:none;border-right:none;border-bottom:1px solid var(--rule);padding:20px 24px}.toc ol{columns:2;column-gap:24px}.content{padding:32px 24px 52px}.cover h1{font-size:2.1rem}}@media(max-width:560px){body{font-size:18px}.toc ol{columns:1}.masthead .inner{flex-direction:column;align-items:flex-start;min-height:0;gap:10px}.masthead .brand{align-self:flex-start}.masthead-right{align-items:flex-start;margin-left:0}.masthead-utility{display:none}.masthead nav{font-size:1rem;gap:8px 16px;justify-content:flex-start}.masthead .brand .sub{display:none}}.badge{display:inline-block;font-family:var(--sans);font-weight:700;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);background:var(--accent-soft);border:1px solid var(--rule-strong);border-radius:4px;padding:2px 7px 1px;line-height:1.5}.pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:1.6rem 0}.content a.pillar{text-decoration:none}.pillar{display:flex;flex-direction:column;gap:.55rem;background:var(--surface);border-radius:18px;box-shadow:0 4.6px 9.2px #00000024;padding:1.3rem 1.4rem 1.4rem;color:var(--ink)}.pillar:hover{text-decoration:none;box-shadow:0 6px 16px #0003}.pillar h3{font-family:var(--sans);font-size:1.3rem;font-weight:700;margin:0;color:var(--ink)}.pillar .tool{font-family:var(--sans);font-size:.82rem;font-weight:600;color:var(--accent)}.pillar p{margin:0;font-size:.95rem;line-height:1.5;color:var(--ink-soft)}.pillar .aud{font-size:.85rem;color:var(--ink-faint);font-style:italic}.pillar .go{margin-top:auto;padding-top:.6rem;font-family:var(--sans);font-weight:700;font-size:.9rem;color:var(--accent)}@media(max-width:820px){.pillars{grid-template-columns:1fr}}.ph{aspect-ratio:16 / 9;display:grid;place-items:center;border:1px dashed var(--rule-strong);border-radius:4px;color:var(--ink-faint);font-family:var(--sans);font-size:.82rem;text-align:center;padding:1rem}.ph.small{aspect-ratio:3 / 2}.hub-sec{margin:3rem 0 0}.hub-sec>h2{font-family:var(--sans);font-size:1.4rem;font-weight:700;letter-spacing:-.01em;margin:0 0 .7rem;padding-bottom:.25rem;border-bottom:1px solid var(--rule)}.cite-box{background:var(--surface);border-radius:12px;box-shadow:0 4.6px 9.2px #00000024;padding:1rem 1.2rem;margin:1.2rem 0 0;font-family:var(--mono);font-size:.78rem;line-height:1.55;color:var(--ink-soft);overflow-x:auto}.cite-box .lbl{display:block;font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:.4rem}.notes-list{list-style:none;margin:1.2rem 0 0;padding:0;border-top:1px solid var(--rule)}.notes-list li{margin:0;border-bottom:1px solid var(--rule)}.notes-list a{display:grid;grid-template-columns:7.5rem 1fr;gap:1rem;padding:.85rem .4rem;color:var(--ink);align-items:baseline}.notes-list .nt{text-decoration:underline;text-decoration-color:var(--ink-faint);text-decoration-thickness:1px;text-underline-offset:2px}.notes-list a:hover{background:var(--accent-soft);text-decoration:none}.notes-list time{font-family:var(--sans);font-size:.82rem;color:var(--ink-faint);font-variant-numeric:tabular-nums}.notes-list .nt{font-family:var(--sans);font-weight:600;font-size:1rem;display:block}.notes-list .ns{font-size:.88rem;color:var(--ink-soft);display:block;margin-top:2px}@media(max-width:560px){.notes-list a{grid-template-columns:1fr;gap:.15rem}}.lanes{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:1.6rem 0}.lane{background:var(--surface);border-radius:18px;box-shadow:0 4.6px 9.2px #00000024;padding:1.4rem 1.5rem}.lane.flagship{grid-column:1 / -1}.lane h3{font-family:var(--sans);font-size:1.25rem;font-weight:700;margin:0 0 .2rem}.lane .who{font-family:var(--sans);font-size:.85rem;color:var(--ink-faint);font-style:italic;margin:0 0 .7rem}.lane p{font-size:.96rem;line-height:1.55;color:var(--ink-soft);margin:0 0 .8rem}.lane ul{font-size:.96rem;color:var(--ink-soft);margin:0 0 .8rem;padding-left:1.3rem}.lane li{margin:0 0 .35rem}@media(max-width:820px){.lanes{grid-template-columns:1fr}}.pillar figure.fig{margin:.8rem 0 0}.pillar figure.fig figcaption{font-size:.72rem;margin-top:.35rem}:root{--accent: #14506b;--accent-hover: #0e3b50;--accent-soft: #eaf1f5}@media(prefers-color-scheme:dark){:root{--accent: #6fb7d6;--accent-hover: #93cbe4;--accent-soft: #10222c}}
