.site-header{margin-bottom:calc(var(--line-height-base)*4)}.site-header>h1{font-size:var(--font-size-base);font-weight:var(--font-weight-normal);margin-bottom:calc(var(--line-height-base)*4)}.site-header>h1>span{font-weight:var(--font-weight-bold)}.site-header>.go-home{display:block;margin-top:calc(-1*var(--line-height-base))}
.page-title{font-weight:var(--font-weight-bold);display:inline}.page-title .title-link,.page-title .title-linkless{color:var(--color-text-striking)}.page-title .title-link:hover{color:var(--color-link-hover);text-decoration:underline;text-decoration-color:var(--color-base)}.page-title .title-link::before,.page-title .title-linkless::before{display:block;float:left;margin-left:-2ch;width:2ch;content:"¶"}
.rich-text a:visited:not(.button,.footnote-ref){color:var(--color-link-visited)}.rich-text p,.rich-text ul,.rich-text ol{margin-top:0;margin-bottom:var(--line-height-base)}.rich-text li{margin-bottom:calc(var(--line-height-base)/2)}.rich-text li::marker{color:var(--color-text-muted)}.rich-text ul>li{list-style-type:"- "}.rich-text ul ul,.rich-text ul ol,.rich-text ol ul,.rich-text ol ol{margin-left:2ch;margin-top:var(--line-height-base)}.rich-text strong{font-weight:var(--font-weight-bold)}.rich-text em{font-style:italic}.rich-text img{max-width:100%;height:auto}.rich-text hr{margin:0;padding:0;border:0}.rich-text hr::before{content:"* * *";display:block;margin-bottom:var(--line-height-base);color:var(--color-text-muted)}.rich-text h1::before,.rich-text h2::before,.rich-text h3::before,.rich-text h4::before,.rich-text h5::before{content:"§";display:block;width:2ch;margin-left:-2ch;float:left;color:var(--color-text-muted);font-style:normal}.rich-text h3{color:var(--color-text-striking);font-weight:var(--font-weight-bold)}.rich-text h4{font-style:italic}.rich-text h5{color:var(--color-text-muted)}.rich-text blockquote{margin-top:0;margin-bottom:0;margin-left:4ch}.rich-text strong{font-weight:var(--font-weight-bold)}.rich-text pre.shiki,.rich-text pre.observablehq--md-pre{font-family:inherit;margin:calc(var(--line-height-base)/2) -2ch!important;padding:calc(var(--line-height-base)/2) 2ch!important;overflow-x:auto;background-color:color-mix(in lch,var(--color-background) 95%,black 5%)!important}@media (max-width:640px){.rich-text pre.shiki,.rich-text pre.observablehq--md-pre{margin:calc(-1*var(--line-height-base)/2) calc(-1*var(--page-padding)) calc(var(--line-height-base)/2)!important;padding:calc(var(--line-height-base)/2) var(--page-padding)!important}}.rich-text pre.shiki>code,.rich-text pre.observablehq--md-pre,.rich-text pre.observablehq--md-pre>code{font-family:inherit;background-color:transparent!important}.rich-text pre.observablehq--md-pre{background-color:var(--color-background-code)!important}.rich-text code{font-family:inherit;margin:0-0.25ch;padding:0.25ch 0.25ch;background:var(--color-background-code);color:var(--color-foreground-code);border-radius:0.4rem}.rich-text pre>code,.rich-text pre>code.shiki,.rich-text pre.shiki>code{margin:0!important;padding:0!important;background:none!important}@media (prefers-color-scheme:dark){.rich-text pre.shiki{background-color:var(--shiki-dark-bg)!important}.rich-text .shiki,.rich-text .shiki span{color:var(--shiki-dark)!important;font-style:var(--shiki-dark-font-style)!important;font-weight:var(--shiki-dark-font-weight)!important;text-decoration:var(--shiki-dark-text-decoration)!important}}.rich-text .shiki .highlighted{display:inline-block;width:100%;background-color:rgba(251,191,36,0.25);margin:0-2ch;padding:0 2ch}.rich-text .shiki .highlighted-word{display:inline-block;background-color:rgba(251,191,36,0.5)}@media (prefers-color-scheme:dark){.rich-text .shiki .highlighted{background-color:rgba(148,163,184,0.08)}.rich-text .shiki .highlighted-word{background-color:rgba(148,163,184,0.2)}}.rich-text figure{display:block}.rich-text picture{display:block}.rich-text source,.rich-text img{border-radius:0.4rem}@media (max-width:640px){.rich-text picture{margin:0 calc(-1*var(--page-padding))}.rich-text source,.rich-text img{border-radius:0}}.rich-text figcaption{font-style:italic;margin-top:calc(var(--line-height-base)/2)}.rich-text .footnotes::before{content:"Footnotes";display:block;color:var(--color-text-muted);margin-bottom:calc(var(--line-height-base)/2)}.rich-text .footnotes li{margin-bottom:calc(var(--line-height-base)/2)}.rich-text .footnotes li>*:last-child{margin-bottom:0}.rich-text .update,.rich-text .note,.rich-text .dance-card{border:0.1rem solid var(--color);color:var(--color);padding-top:calc(var(--line-height-base)/2 - 0.1rem);padding-bottom:calc(var(--line-height-base)/2 - 0.1rem);padding-right:calc(2ch - 0.1rem);padding-left:calc(2ch - 0.1rem);margin:var(--line-height-base)0;border-radius:var(--border-radius-base);position:relative;.rich-text &::before{display:block;content:var(--label);position:absolute;top:calc(-1*var(--line-height-base)/2);left:-1ch;font-size:0.8em;text-transform:uppercase;background:var(--color-background);padding:0 0.5ch}.rich-text &>:last-child{margin-bottom:0}}.rich-text .update{--color: var(--color-update);--label: "Update"}.rich-text .note{--color: var(--color-text-alert);--label: "Note"}.rich-text .dance-card{--color: var(--color-base);--label: "Dance";max-width:50ch}.rich-text .dance-header{display:grid;grid-template-columns:1fr 1fr;margin-bottom:calc(var(--line-height-base)/2)}.rich-text .dance-header .dance-title{grid-column:1;font-weight:var(--font-weight-bold)}.rich-text .dance-header .dance-formation{grid-column:2;text-align:right}.rich-text .dance-header .dance-author{grid-column:1;grid-row:2;font-style:italic}.rich-text .dance-section{display:grid;grid-template-columns:2ch 1fr;gap:2ch;margin-bottom:calc(var(--line-height-base)/2)}.rich-text .dance-section .dance-section-label{grid-column:1;text-align:right;font-weight:var(--font-weight-bold)}.rich-text .dance-section .dance-section-lines{grid-column:2}.rich-text .dance-notes{--dance-box-padding: 2ch;border-top:0.1rem solid var(--color-base);position:relative;margin:0 calc(-1*var(--dance-box-padding));padding:calc(var(--line-height-base) - 1rem) var(--dance-box-padding)0 var(--dance-box-padding)}.rich-text .dance-notes::before{display:block;content:"Notes";position:absolute;top:calc(-1*var(--line-height-base)/2);left:var(--dance-box-padding);font-size:0.8em;text-transform:uppercase;background:var(--color-background);padding:0 0.5ch}.rich-text .dance-notes-label,.rich-text .dance-notes-content,.rich-text .dance-notes-content>p{display:inline}.rich-text .dance-notes-label{font-weight:var(--font-weight-bold);text-transform:uppercase}.rich-text .dance-notes-label::after{content:": "}.rich-text .button{display:inline-block;border:0.1rem solid var(--color-base);padding:calc(var(--line-height-base)/2 - 0.1rem) calc(1ch*2 - 0.1rem);color:var(--color-base)}.rich-text .button:visited{color:var(--color-base)}.rich-text .button:hover{background-color:var(--color-base);color:var(--color-background)}.rich-text .button-download::after{content:" ↓"}.rich-text .footnote-ref--interactive{width:3.5ch;margin:-0.1rem calc(0.25ch - 0.1rem);height:1em;line-height:1em;display:inline-block;vertical-align:middle;border-radius:0.4rem;text-align:center;border:0.1rem solid var(--color-base);color:var(--color-base)}.rich-text .footnote-ref--interactive:visited{color:var(--color-base)}.rich-text .footnote-ref--interactive:hover{text-decoration:none;color:var(--color-background);background-color:var(--color-base)}.rich-text .footnote-ref--interactive::after{display:inline-block;content:"•••";font-weight:normal;transition:transform 0.2s ease;height:1em}.rich-text .footnote-ref--active{background-color:var(--color-base);border-radius:0.4rem 0.4rem 0 0;color:var(--color-background)!important}.rich-text .stl-viewer{position:relative}.rich-text .stl-viewer__actions{display:inline-flex;position:absolute;top:var(--line-height-base);right:0}@media (max-width:640px){.rich-text .stl-viewer__actions{right:var(--page-padding)}}.rich-text .stl-viewer__action,.rich-text a.stl-viewer__action{--border-radius: 0.4rem;background:transparent;color:var(--color-base);border:1px solid var(--color-base);border-left:0;padding:0;margin:0;font:inherit;cursor:pointer;outline:inherit;display:block;width:1.5em;height:var(--line-height-base);line-height:calc(var(--line-height-base) - 0.2rem);box-sizing:border-box;text-align:center;text-decoration:none}.rich-text .stl-viewer__action:first-child,.rich-text a.stl-viewer__action:first-child{border-left:1px solid var(--color-base);border-top-left-radius:var(--border-radius);border-bottom-left-radius:var(--border-radius)}.rich-text .stl-viewer__action:last-child,.rich-text a.stl-viewer__action:last-child{border-top-right-radius:var(--border-radius);border-bottom-right-radius:var(--border-radius)}.rich-text .stl-viewer__action:visited,.rich-text a.stl-viewer__action:visited{color:var(--color-base)}.rich-text .stl-viewer__action:hover,.rich-text a.stl-viewer__action:hover{background:var(--color-link-hover);border-color:var(--color-link-hover);color:var(--color-background);text-decoration:none}.rich-text .image-grid{display:flex;margin:0-1ch;align-items:center}@media (max-width:640px){.rich-text .image-grid{flex-direction:column}}.rich-text .image-grid__item{padding:0 1ch}
.footnote-popover {
        perspective: 20rem;
        position: absolute;
        top: 0;
        background: var(--color-background);
        border: 0.1rem solid var(--color-base);
        padding: calc(var(--line-height-base) / 2) calc(2ch - 0.1rem);
        max-width: 30ch;
        transform-origin: 50% 0;
        transition: opacity 0.35s ease-out;
        opacity: 0;
        pointer-events: none;
    }

    .footnote-popover :first-child {
        margin-top: 0;
    }

    .footnote-popover :last-child {
        margin-bottom: 0;
    }

    .footnote-popover--active {
        opacity: 1;
        display: block;
        pointer-events: auto;
    }
.link-list-commas ul{display:inline;list-style:none}.link-list-commas li{display:inline}.link-list-commas li::after{content:", "}.link-list-commas li:last-child::after{content:""}
.blog-post{margin-bottom:calc(3*var(--line-height-base))}.blog-post .categories{color:var(--color-text-muted);font-style:italic}.blog-post header>time{display:inline-block;color:var(--color-text-muted)}.blog-post .content>p:first-child>picture:first-child{margin-top:var(--line-height-base)}.blog-post .draft-label{font-size:.8em;text-transform:uppercase;padding:.1em .3em;border:1px dashed var(--color-text-muted);border-radius:2px;margin-left:1.25em}
.w55cxkukf{display:flex;text-transform:uppercase;color:var(--color-text-striking);line-height:var(--line-height-base);margin-bottom:var(--line-height-base);font-size:0.8em}.w55cxkukf::before{content:"";display:block;flex-grow:0;background:var(--color-base);height:1px;width:1ch;margin-top:calc(var(--line-height-base)/2);margin-right:1ch}.w55cxkukf::after{content:"";display:block;flex-grow:2;background:var(--color-base);height:1px;margin-top:calc(var(--line-height-base)/2);margin-left:1ch}
.link-list{list-style-type:none;margin:0}
.site-footer{margin-top:calc(2*var(--line-height-base))}.site-footer .content{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--line-height-base) 2ch}.site-footer .copyright-terms{font-style:italic;margin-top:var(--line-height-base)}.site-footer .cc-link{white-space:nowrap}@media (max-width:600px){.site-footer .content{grid-template-columns:1fr 0.5fr}}
.site-layout{display:grid;grid-template-rows:auto 1fr;grid-template-columns:auto var(--site-sidebar-width);grid-template-areas:"header sidebar""main sidebar""footer footer";grid-column-gap:var(--column-gap-base);padding:var(--page-padding);max-width:100%}.site-layout .header{grid-area:header}.site-layout .main{grid-area:main;container-type:inline-size}.site-layout .sidebar{grid-area:sidebar;container-type:inline-size}.site-layout .footer{grid-area:footer}@media (max-width:960px){.site-layout{grid-template-columns:1fr;grid-template-rows:repeat(3,auto);grid-template-areas:"header""main""sidebar""footer"}}