:root{--bg:#fff;--ink:#111318;--ink70:#111318b8;--ink65:#111318ad;--ink60:#111318a3;--ink55:#1113189e;--ink45:#11131899;--ink40:#11131894;--line:#11131821;--panel:#111318;--panelInk:#fff;--px-cobalt:#3b5bf6;--px-amber:#f6a61c;--px-red:#e8401c;--px-lime:#c8f218;--px-cobalt-ink:#3b5bf6;--px-amber-ink:#a16806;--px-red-ink:#d53716;--px-lime-ink:#677e07;--font-display:"Cabinet Grotesk", system-ui, sans-serif;--font-body:"General Sans", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, monospace;--wrap-max:1560px;--wrap-pad:clamp(20px, 4vw, 56px);--prose-max:75ch}[data-mode=dark]{--bg:#0f1218;--ink:#eff1f6;--ink70:#eff1f6c7;--ink65:#eff1f6b8;--ink60:#eff1f6a8;--ink55:#eff1f699;--ink45:#eff1f68c;--ink40:#eff1f680;--line:#eff1f629;--panel:#eff1f6;--panelInk:#0f1218;--px-cobalt-ink:#5873f7;--px-amber-ink:#f6a61c;--px-red-ink:#e8401c;--px-lime-ink:#c8f218}
@font-face{font-family:Cabinet Grotesk;src:url(/fonts/cabinet-grotesk-500.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Cabinet Grotesk;src:url(/fonts/cabinet-grotesk-700.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Cabinet Grotesk;src:url(/fonts/cabinet-grotesk-800.woff2)format("woff2");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:General Sans;src:url(/fonts/general-sans-400.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:General Sans;src:url(/fonts/general-sans-500.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:General Sans;src:url(/fonts/general-sans-600.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono-nerd-400.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono-nerd-500.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}
.px-section{max-width:var(--wrap-max);padding:clamp(48px, 8vh, 96px) var(--wrap-pad) 0;margin:0 auto}.px-head--column{flex:300px;min-width:min(100%,280px)}.px-head-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);margin:0;font-size:clamp(30px,3.4vw,52px);font-weight:500;line-height:1.1}.px-head-label{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--ink40);margin-bottom:12px;font-size:11px;font-weight:400}.px-split{flex-wrap:wrap;align-items:flex-start;gap:30px clamp(32px,5vw,90px);display:flex}.px-split-body{flex:2 460px;min-width:0}.px-split-intro{color:var(--ink70);margin:14px 0 22px;font-size:14.5px;line-height:1.75}.px-split-intro a{color:inherit;text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--px-cobalt);text-decoration-color:var(--px-cobalt)}.px-row{border-top:1px solid var(--line);align-items:baseline;gap:20px;padding:15px 0;display:flex}.px-row.is-last{border-bottom:1px solid var(--line)}.px-row-tag{font-family:var(--font-mono);letter-spacing:.1em;color:var(--ink40);text-transform:uppercase;flex:0 0 56px;font-size:11px}.px-row-body{color:var(--ink70);font-size:14.5px;line-height:1.65}.px-row-body strong{color:var(--ink);font-weight:600}.px-matter{border-bottom:1px solid var(--line);color:var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 32px;padding:18px 0;text-decoration:none;transition:padding-left .18s,color .18s;display:flex}.px-matter:hover{padding-left:10px}.px-matter:hover .px-matter-title{color:var(--px-cobalt-ink)}.px-matter-title{letter-spacing:-.015em;font-size:clamp(17px,2vw,22px);font-weight:500;transition:color .18s}.px-matter-tag{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink40);font-size:11px}.is-cobalt{color:var(--px-cobalt-ink)}.is-amber{color:var(--px-amber-ink)}.is-red{color:var(--px-red-ink)}.is-lime{color:var(--px-lime-ink)}.is-ink{color:var(--ink)}.px-project-field{width:100%;height:clamp(240px,32vh,320px);max-width:var(--wrap-max);border-block:1px solid var(--line);margin:0 auto;position:relative}.px-project-field canvas{width:100%;height:100%;display:block}
.px-article{max-width:900px;padding:clamp(32px, 5vh, 64px) var(--wrap-pad) clamp(48px, 8vh, 96px);margin:0 auto}.px-article-crumb{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink60);margin-bottom:clamp(16px,2.5vh,24px);font-size:11px}.px-article-crumb a{color:var(--ink60);text-decoration:none;transition:color .18s}.px-article-crumb a:hover{color:var(--px-cobalt-ink)}.px-article-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);margin:0 0 12px;font-size:clamp(30px,4vw,52px);font-weight:500;line-height:1.12}.px-article-dek{color:var(--ink70);margin-bottom:20px;font-size:clamp(16px,1.5vw,19px);line-height:1.65}.px-article-byline{border-bottom:1px solid var(--line);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink60);flex-wrap:wrap;align-items:center;gap:6px 14px;padding-bottom:18px;font-size:11px;display:flex}.px-route-field{width:100%;height:clamp(84px,12vh,136px);margin:24px 0;display:block}.px-route-field.is-hero{border:1px solid var(--line);height:clamp(220px,36vh,380px);margin:28px 0 clamp(24px,4vh,40px)}.px-route-field canvas{width:100%;height:100%;display:block}.px-article-short{margin:28px 0}.px-article-kicker{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--ink60);margin-bottom:12px;font-size:11px}.px-article-body{max-width:75ch;color:var(--ink70);margin-top:32px;font-size:16px;line-height:1.8}.px-article-body h2{font-family:var(--font-display);letter-spacing:-.015em;color:var(--ink);margin:40px 0 16px;font-size:clamp(22px,2.4vw,28px);font-weight:500;line-height:1.25}.px-article-body p{margin:0 0 20px}.px-wikilink{color:var(--px-cobalt-ink);text-underline-offset:3px;cursor:pointer;text-decoration:underline;text-decoration-thickness:1px}.px-wikilink:hover{text-decoration-thickness:2px}.px-source-tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:clamp(12px,2.5vw,24px);margin:28px 0 20px;display:flex}.px-source-tab{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink60);cursor:pointer;background:0 0;border:0;padding:6px 0 10px;font-size:11px;transition:color .18s;position:relative}.px-source-tab:hover{color:var(--ink)}.px-source-tab.is-active{color:var(--ink);font-weight:500}.px-source-tab.is-active:after{content:"";background:var(--px-cobalt);height:2px;position:absolute;bottom:-1px;left:0;right:0}.px-connections-disclosure{border:1px solid var(--line);background:color-mix(in srgb, var(--line) 4%, transparent);margin:40px 0;padding:clamp(16px,2.5vw,24px)}.px-connections-summary{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink);cursor:pointer;font-size:11.5px;font-weight:500}.px-link-map-svg{border:1px solid var(--line);background:var(--bg);width:100%;height:auto;min-height:150px;max-height:190px;margin:18px 0;display:block}.px-node-g{cursor:pointer;outline:none}.px-node-g:focus-visible rect{stroke:var(--px-cobalt);stroke-width:2.5px}.px-node-g text{font-family:var(--font-mono);fill:var(--ink);pointer-events:none;font-size:11px}.px-node-g:hover rect{fill:color-mix(in srgb, var(--px-cobalt) 18%, var(--bg));stroke:var(--px-cobalt)}.px-connections-list{flex-direction:column;display:flex}.px-conn-item{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px 24px;padding:12px 0;display:flex}.px-conn-title{color:var(--ink);font-size:14.5px;font-weight:500;text-decoration:none}.px-conn-title:hover{color:var(--px-cobalt-ink)}.px-conn-context{color:var(--ink70);margin:3px 0 0;font-size:13px;line-height:1.55}.px-conn-rel{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink40);white-space:nowrap;font-size:11px}@media (pointer:coarse){.px-conn-title{align-items:center;min-height:44px;display:inline-flex}}.px-discussion-section{border-top:1px solid var(--line);margin-top:48px;padding-top:28px}.px-comment{border-bottom:1px solid var(--line);padding:16px 0}.px-comment-author{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);margin-bottom:6px;font-size:11px;font-weight:500}.px-comment-text{color:var(--ink70);margin:0;font-size:14.5px;line-height:1.65}.px-composer-box{border:1px solid var(--line);background:color-mix(in srgb, var(--line) 3%, transparent);margin-top:24px;padding:16px}.px-composer-textarea{width:100%;font-family:var(--font-body);color:var(--ink);resize:vertical;background:0 0;border:0;outline:none;min-height:72px;font-size:14.5px}.px-composer-footer{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding-top:12px;display:flex}.px-recording-card{border:1px solid var(--line);background:color-mix(in srgb, var(--line) 4%, transparent);margin-top:24px;padding:clamp(18px,2.5vw,26px)}.px-recording-header{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.px-recording-badge{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;font-size:11px;font-weight:500}.px-recording-desc{color:var(--ink70);margin:0 0 16px;font-size:14.5px;line-height:1.65}
*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;transition:background .25s,color .25s}a{color:var(--ink);text-decoration:none}a:hover{color:var(--px-cobalt)}:focus-visible{outline:2px solid var(--px-cobalt);outline-offset:3px}[hidden]{display:none!important}.px-wrap{max-width:var(--wrap-max);padding-inline:var(--wrap-pad);margin:0 auto}.px-sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.px-header{max-width:var(--wrap-max);padding:16px var(--wrap-pad);color:var(--ink60);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;margin:0 auto;font-size:13px;font-weight:500;display:flex}.px-header-end{align-items:center;gap:clamp(14px,2.4vw,26px);display:flex}.px-nav{flex-wrap:wrap;gap:clamp(12px,2vw,24px);display:flex}.px-nav-list{flex-wrap:wrap;gap:clamp(12px,2vw,24px);margin:0;padding:0;list-style:none;display:flex}.px-nav-action{font-family:var(--font-body);color:var(--ink60);cursor:pointer;background:0 0;border:0;padding:4px 0;font-size:13px;font-weight:500;transition:color .18s}.px-nav-action:hover{color:var(--px-cobalt)}.px-nav-action.is-active{color:var(--ink);text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--px-cobalt);text-decoration-color:var(--px-cobalt)}.px-wordmark-link{font-family:var(--font-body);color:var(--ink60);font-size:14px;font-weight:500}.px-wordmark-subdomain{color:var(--px-cobalt-ink);font-weight:600}.px-wordmark-domain{color:var(--ink)}.px-header-auth-status{align-items:center;gap:12px;display:flex}@media (pointer:coarse){.px-nav a,.px-nav button,.px-nav-action,.px-theme-switch{align-items:center;min-height:44px;display:inline-flex}}@media (max-width:640px){.px-header{grid-template-columns:1fr auto;grid-template-areas:"wordmark switch""nav nav";align-items:center;gap:8px 16px;padding-block:12px;display:grid}.px-header-end{display:contents}.px-wordmark{grid-area:wordmark}.px-header-auth-status{grid-area:switch;justify-self:end}.px-nav{overscroll-behavior-x:contain;scrollbar-width:none;-ms-overflow-style:none;flex-wrap:nowrap;grid-area:nav;overflow-x:auto}.px-nav::-webkit-scrollbar{display:none}.px-nav-list{flex-wrap:nowrap;gap:14px;width:max-content}.px-nav-list>li{flex:none}}.px-hero-block{max-width:var(--wrap-max);margin:0 auto}.px-hero{padding:clamp(24px, 4vh, 56px) var(--wrap-pad) clamp(20px, 3vh, 40px);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px clamp(32px,6vw,120px);display:flex}.px-hero-title{font-family:var(--font-display);letter-spacing:-.03em;text-transform:uppercase;color:var(--ink);margin:0;font-size:clamp(54px,7.8vw,122px);font-weight:800;line-height:.92}.px-hero-aside{flex:0 400px;min-width:min(100%,280px);padding-top:8px}.px-hero-sub{letter-spacing:.08em;text-transform:uppercase;text-align:justify;text-align-last:justify;color:var(--ink);font-size:clamp(15px,1.6vw,21px);font-weight:400;line-height:1.55}.px-hero-note{justify-content:flex-end;gap:18px;margin-top:20px;display:flex}.px-hero-swatch{background:conic-gradient(var(--ink) 0 25%, transparent 0 50%, var(--ink) 0 75%, transparent 0);flex-shrink:0;width:22px;height:14px;margin-top:4px;display:inline-block}.px-hero-note p{text-align:right;max-width:34ch;color:var(--ink70);margin:0;font-size:13px;line-height:1.6}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.px-heatfield canvas,.px-project-field canvas,.px-route-field canvas{pointer-events:none}}html[data-motion=off] *,html[data-motion=off] :before,html[data-motion=off] :after{transition:none!important;animation:none!important}html[data-motion=off] .px-heatfield canvas,html[data-motion=off] .px-project-field canvas,html[data-motion=off] .px-route-field canvas{pointer-events:none}
