#article p img{--tw-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);border-width:0;border-radius:.5rem}#article code{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}#article .expressive-code .frame{--tw-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}#article h1{font-family:Josefin Sans;font-size:3rem;font-style:normal;font-weight:300;line-height:1}#article h2{font-family:Josefin Sans;font-size:2.25rem;font-style:normal;font-weight:300;line-height:2.5rem}#article h3{font-variant:small-caps;font-family:Josefin Sans;font-size:1.5rem;font-style:normal;font-weight:400;line-height:2rem}#article h4{font-variant:small-caps;font-family:Josefin Sans;font-size:1.25rem;font-style:normal;font-weight:700;line-height:1.75rem}#article a{text-underline-offset:6px;text-decoration-style:solid!important}pre.mermaid{justify-content:center!important;display:flex!important}pre.mermaid svg{width:100%;height:auto}pre.mermaid rect,pre.mermaid polygon,pre.mermaid circle,pre.mermaid .node path,pre.mermaid g.nodes g.undefined.statediagram-state rect{filter:drop-shadow(0 3px 3px #0000001a);fill:oklch(var(--color-card))!important;stroke:oklch(var(--color-accent))!important}pre.mermaid rect.note,pre.mermaid .cluster rect{fill:oklch(var(--color-card-faint))!important;stroke:oklch(var(--color-border))!important}pre.mermaid text{color:oklch(var(--color-text-base))!important;fill:oklch(var(--color-text-base))!important}pre.mermaid text tspan{fill:oklch(var(--color-text-base))!important}pre.mermaid .labelBox{fill:oklch(var(--color-fill))!important}pre.mermaid g line{stroke:oklch(var(--color-accent))!important}pre.mermaid g line.loopLine{stroke:oklch(var(--color-border))!important}pre.mermaid line{stroke:oklch(var(--color-text-base))!important}pre.mermaid defs path{fill:oklch(var(--color-text-base))!important;stroke:oklch(var(--color-text-base))!important;color:oklch(var(--color-text-base))!important}pre.mermaid marker circle{fill:oklch(var(--color-text-base))!important;stroke:oklch(var(--color-text-base))!important}pre.mermaid path{stroke:oklch(var(--color-text-base))!important}pre.mermaid .nodeLabel{color:oklch(var(--color-text-base))!important}pre.mermaid .edgePaths path{stroke:oklch(var(--color-text-base))!important}pre.mermaid .edgeLabel{border-radius:2px;color:oklch(var(--color-text-base))!important;background-color:oklch(var(--color-card-faint))!important}pre.mermaid marker{fill:oklch(var(--color-text-base))!important;stroke:oklch(var(--color-text-base))!important}pre.mermaid marker#sequencenumber circle{fill:oklch(var(--color-fill))!important;stroke:oklch(var(--color-accent))!important}pre.mermaid marker.aggregation path,pre.mermaid marker.extension path{fill:oklch(var(--color-card))!important}pre.mermaid g.nodes g.undefined rect{fill:oklch(var(--color-card-faint))!important;stroke:oklch(var(--color-border))!important}pre.mermaid g.nodes .node circle.state-start{fill:oklch(var(--color-accent))!important;stroke:oklch(var(--color-accent))!important}pre.mermaid g.nodes .node circle.state-end{fill:oklch(var(--color-accent))!important;stroke:oklch(var(--color-fill))!important}pre.mermaid g.clusters rect,pre.mermaid g.nodes g.statediagram-note rect{fill:oklch(var(--color-card-faint))!important;stroke:oklch(var(--color-border))!important}pre.mermaid rect.relationshipLabelBox{fill:oklch(var(--color-card-faint))!important;stroke:#0000!important}pre.mermaid defs marker#ZERO_OR_MORE_START path,pre.mermaid defs marker#ZERO_OR_MORE_END path,pre.mermaid defs marker#ONE_OR_MORE_START path,pre.mermaid defs marker#ONE_OR_MORE_END path{fill:none!important}pre.mermaid rect.er.attributeBoxOdd,pre.mermaid rect.er.attributeBoxEven{fill:oklch(var(--color-card-faint))!important}