.prose{color:var(--text);max-width:none;font-family:var(--font-body)}.prose a{color:var(--accent);text-underline-offset:3px;text-decoration:underline 1px}.prose ul>li::marker,.prose ol>li::marker{color:var(--text)}.prose a:hover{text-decoration-thickness:2px}.prose h2{color:var(--text);font-family:var(--font-heading);margin-top:2.5rem;margin-bottom:1rem;font-size:2rem}.prose h3{color:var(--text);font-family:var(--font-heading);margin-top:2rem;margin-bottom:.75rem;font-size:1.5rem}.prose p{font-size:var(--post-font-size,var(--type-prose));line-height:var(--post-line-height,1.8);margin-bottom:1.5rem}.prose code{font-family:var(--font-mono)}.prose .table-wrap{-webkit-overflow-scrolling:touch;width:100%;max-width:100%;margin:2.5rem 0;overflow-x:auto}.prose table{border-collapse:collapse;table-layout:auto;border:1px solid var(--border-strong);width:max-content;max-width:100%;font-size:.95rem}.prose thead tr{background-color:color-mix(in srgb, var(--accent) 12%, transparent)}.prose th{text-align:center;vertical-align:middle;white-space:normal;font-weight:var(--fw-bold);color:var(--text);border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);font-family:var(--font-body);padding:.85rem 1.25rem;font-size:.85rem}.prose td{color:var(--text);border:1px solid var(--border);vertical-align:middle;text-align:center;padding:.85rem 1.25rem}.prose td:first-child{font-weight:var(--fw-medium)}.prose tbody tr:nth-child(2n){background-color:color-mix(in srgb, var(--text) 3%, transparent)}.prose tbody tr:hover{background-color:color-mix(in srgb, var(--accent) 8%, transparent)}.prose p:has(+.table-wrap){color:var(--muted);font-size:.82rem;font-family:var(--font-mono);letter-spacing:.02em;margin-top:2.5rem;margin-bottom:.5rem}.prose p:has(+.table-wrap)+.table-wrap{margin-top:0}.prose strong,.prose b{color:var(--text)!important}.prose h1 a,.prose h2 a,.prose h3 a,.prose h4 a{color:inherit;pointer-events:none;text-decoration:none}.heading-anchor{display:none}.prose img{object-fit:contain;cursor:zoom-in;color:#0000;max-width:100%;height:auto;max-height:300px;margin:0 auto;font-size:0;transition:opacity .2s;display:block}.prose img:hover{opacity:.85}.prose figcaption{font-family:var(--font-mono);color:var(--text);text-align:center;letter-spacing:.04em;margin-top:.5rem;font-size:.72rem}#img-lightbox{z-index:999;cursor:zoom-out;background:#000000eb;justify-content:center;align-items:center;display:none;position:fixed;inset:0}#img-lightbox.open{display:flex}#img-lightbox img{object-fit:contain;cursor:default;max-width:90vw;max-height:90vh;margin:0}#img-lightbox-close{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff4d;justify-content:center;align-items:center;width:36px;height:36px;font-size:1rem;transition:border-color .2s;display:flex;position:fixed;top:1.5rem;right:1.5rem}#img-lightbox-close:hover{border-color:var(--accent);color:var(--accent)}@media (width<=768px){.prose h2{font-size:1.5rem}.prose h3{font-size:1.2rem}.prose th,.prose td{padding:.6rem .75rem;font-size:.8rem}.prose pre{-webkit-overflow-scrolling:touch;overflow-x:auto}}.prose .katex-display{-webkit-overflow-scrolling:touch;margin:1.5rem 0;padding:.25rem 0;overflow:auto hidden;text-align:center!important;display:block!important}.prose .katex-display>.katex{display:inline-block!important}.prose .katex-display>.katex:has(.katex-html>.tag){display:block!important}.prose p:has(.katex-display){text-align:center!important}.prose sub,.prose sup{vertical-align:baseline;font-size:.72em;line-height:0;position:relative}.prose sub{bottom:-.3em}.prose sup{top:-.5em}.prose blockquote{color:var(--text);border-left-color:var(--accent);background-color:var(--bg3);border-radius:0;margin-left:0;margin-right:0;padding:1rem 1.25rem;font-style:normal}.prose blockquote p:before,.prose blockquote p:after{content:none}@media (width<=768px){.prose .table-wrap{width:100%!important;max-width:calc(100vw - 2rem)!important;overflow-x:auto!important}.post-content,.prose{min-width:0!important}}.gterm-wrap{display:inline;position:relative}.prose a.gterm-trigger{color:var(--accent);cursor:help;text-decoration:none}html.glossary-tooltips-off .prose a.gterm-trigger{color:inherit;cursor:text;pointer-events:none}.gterm-tooltip{background:var(--bg2);border:1px solid var(--border);z-index:100;text-align:left;flex-direction:column;gap:.4rem;width:min(320px,86vw);padding:.85rem 1rem;display:none;position:fixed;top:0;left:0;transform:translate(-50%,calc(-100% - 6px))}.gterm-tooltip:before{content:"";width:100%;height:10px;position:absolute;top:100%;left:0}.gterm-tooltip:after{content:"";border:6px solid #0000;border-top-color:var(--border);position:absolute;top:100%;left:50%;transform:translate(-50%)}.gterm-wrap:hover .gterm-tooltip,.gterm-wrap:focus-within .gterm-tooltip{display:flex}html.glossary-tooltips-off .gterm-wrap:hover .gterm-tooltip,html.glossary-tooltips-off .gterm-wrap:focus-within .gterm-tooltip{display:none}.gterm-tooltip-term{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--accent);font-size:.65rem;font-weight:var(--fw-bold)}.gterm-tooltip-text{font-family:var(--font-body);color:var(--text);font-size:.8rem;line-height:1.6}@media (hover:none){.gterm-tooltip{display:none!important}}.post-content figure:not(.article-figure) img:not([src$=\.svg]):not([src*=".svg?"]){box-sizing:border-box;border:1px solid var(--border);object-fit:contain;max-width:100%;max-height:300px;display:block;box-shadow:0 8px 22px #00000047;width:auto!important;height:auto!important}html.light .post-content figure:not(.article-figure) img:not([src$=\.svg]):not([src*=".svg?"]){box-shadow:0 6px 18px #00000014}.post-shell-grid.cover-editorial .post-hero{--cover-editorial-gap:2.5rem}.post-shell-grid.cover-editorial .featured-image{aspect-ratio:16/9;margin-top:var(--cover-editorial-gap);margin-bottom:var(--cover-editorial-gap);box-sizing:border-box;position:relative;overflow:visible;box-shadow:0 8px 22px #00000047;border:1px solid var(--border)!important}.post-shell-grid.cover-editorial .featured-image:has(+.cover-caption){margin-bottom:0}html.light .post-shell-grid.cover-editorial .featured-image{box-shadow:0 6px 18px #00000014}.post-shell-grid.cover-editorial .featured-image picture{width:100%;height:100%;display:block;overflow:hidden}.post-shell-grid.cover-editorial .cover-caption{width:100%;min-height:2.5rem;margin-top:0;margin-bottom:var(--cover-editorial-gap);box-sizing:border-box;font-family:var(--font-mono,monospace);text-align:left;padding:.6rem 0;font-size:.68rem;line-height:1.35}.post-shell-grid.cover-editorial .cover-caption:has(a),.post-shell-grid.cover-editorial .cover-caption span{text-align:right}@media (width>=1200px){.post-shell-grid.cover-editorial.cover-editorial{grid-template-columns:240px minmax(0, var(--container-reading));justify-content:center;column-gap:clamp(24px,3vw,48px)}.post-bottom-wrap.cover-editorial.cover-editorial{grid-template-columns:240px minmax(0, var(--container-reading));justify-content:center;column-gap:clamp(24px,3vw,48px);display:grid}.post-bottom-wrap.cover-editorial .post-bottom-inner{grid-column:2;width:100%;margin:0}.post-shell-grid.cover-editorial .post-page-wrap,.post-shell-grid.cover-editorial .post-container{display:contents}.post-shell-grid.cover-editorial .post-hero{width:min(var(--container-hub), calc(100vw - 2rem));min-width:0;margin-top:var(--page-space-breadcrumb-start);grid-area:1/1/auto/-1;justify-self:center}.post-shell-grid.cover-editorial .post-header{width:100%;max-width:var(--container-reading);padding-right:var(--page-gutter);padding-left:var(--page-gutter);box-sizing:border-box;margin-left:auto;margin-right:auto}.post-shell-grid.cover-editorial .article-sidebar{grid-area:2/1}.post-shell-grid.cover-editorial .post-body{min-width:0;padding-right:var(--page-gutter);padding-left:var(--page-gutter);box-sizing:border-box;grid-area:2/2}}@media (width<=768px){.post-shell-grid.cover-editorial .post-hero{--cover-editorial-gap:2rem}.post-shell-grid.cover-editorial .featured-image{width:calc(100% + 2rem);margin-left:-1rem}.post-shell-grid.cover-editorial .cover-caption{width:calc(100% + 2rem);padding-right:var(--article-gutter-mobile);padding-left:var(--article-gutter-mobile);margin-left:-1rem}}
