svg rect {
    shape-rendering: geometricPrecision;
    will-change: transform;
}
rect.fill {
    transition: width 0s;
}
rect.full {
    transition: width 0s;
} 
svg g.li:hover rect.full {
    width: 0px;
}
svg g.li:hover rect.fill {
    width: 100%;
}
svg g.li:hover rect.full, svg g.li:hover rect.fill {
    transition: width 0.4s ease-out;
}
svg text {
    font-family: sans-serif;
}
#menu-view-c:checked + #menu .wrapper {
    width: min(100vw, 512px, calc(50vh + 50vw));
    transition: width 0.1s ease-out;
}
#menu-view-c {
    display: block;
    position: fixed;
    top: 0px;
    right: 0px;
    width: 5vh;
    height: 5vh;
    z-index: 2;
}
@media (pointer:coarse) {
    #mobile-help {
	display: block !important;
    }
    #menu-view-c {
	display: block !important;
    }
    #ml-large {
	display: none;
    }
    #ml-small {
	display: block !important;
    }
}
#ml-small {
    display: none;
}
.wrapper {
    margin: 0;
    padding: 0;
    width: 0%;
    height: 100%;
    transition: width 0.1s ease-out;
}
#menu-view-c:checked + #menu {
    transition: opacity 0.1s ease-out;
    opacity: 1;
}
#menu * {
    pointer-events: auto;
}
#menu {
    pointer-events: none;
    display: block !important;
    width: 100%;
    height: 100%; 
 }
body:not(:has(:target)) #sections > div {
    display: block;
}
#sections > div:target {
    display: block;
}
#sections > div {
    display: none;
}
#menu {
    transition: opacity 0.1s ease-out;
    opacity: 0;
}
#menu, .wrapper {
    position: fixed;
    top: 0px;
    right: 0px;
    z-index: 1;
}
h1 > a, h2 > a, h3 > a, h4 > a, h1 > a:hover, h2 > a:hover, h3 > a:hover, h4 > a:hover, h1 > a:visited, h2 > a:visited, h3 > a:visited, h4 > a:visited {
    text-decoration: none;
    color: inherit;
}
@media (min-width: 84rem) {
    #sidebar {
	display: block !important;
    }
}
#sidebar > h1 {
    margin: 0;
    padding: 0;
}
#sidebar {
    position: fixed;
    top: 0px;
    left: 0px;
    width: calc(50vw - 32rem);
    margin: 0;
    margin-left: 1rem;
    margin-top: 1rem;
    padding: 0;
}
@media(prefers-color-scheme: light) {
    li:nth-child(even) {
	background-color: #0000000A;
    }
}
@media(prefers-color-scheme: dark) {
    li:nth-child(even) {
	background-color: #00000033;
    }
}
li:not(:first-child) {
    margin-top: 0.25em;
}
document, body {
    margin: 0;
    padding: 0;
    font-size: 16px;
}
