@charset "UTF-8";
.si {
  display: inline-block;
  font-size: 0;
  width: 50px;
  height: 50px;
  margin: 0 auto;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 50% 50%; }

.si-menu {
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1000" height="1000">\a<path d="M25 0h950q10 0 17.5 7.5T1000 25v150q0 10-7.5 17.5T975 200H25q-10\a          0-17.5-7.5T0 175V25Q0 15 7.5 7.5T25 0zm0 400h950q10 0 17.5 7.5t7.5\a          17.5v150q0 10-7.5 17.5T975 600H25q-10 0-17.5-7.5T0 575V425q0-10\a          7.5-17.5T25 400zm0 400h950q10 0 17.5 7.5t7.5 17.5v150q0 10-7.5\a          17.5T975 1000H25q-10 0-17.5-7.5T0 975V825q0-10 7.5-17.5T25 800z"/>\a</svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1000" height="1000">\a<path d="M25 0h950q10 0 17.5 7.5T1000 25v150q0 10-7.5 17.5T975 200H25q-10\a          0-17.5-7.5T0 175V25Q0 15 7.5 7.5T25 0zm0 400h950q10 0 17.5 7.5t7.5\a          17.5v150q0 10-7.5 17.5T975 600H25q-10 0-17.5-7.5T0 575V425q0-10\a          7.5-17.5T25 400zm0 400h950q10 0 17.5 7.5t7.5 17.5v150q0 10-7.5\a          17.5T975 1000H25q-10 0-17.5-7.5T0 975V825q0-10 7.5-17.5T25 800z"/>\a</svg>') no-repeat 50% 50%;
  -webkit-mask-size: cover;
  mask-size: cover; }

body {
  -webkit-transition-duration: 0.3s;
  -moz-transition-duration: 0.3s;
  -ms-transition-duration: 0.3s;
  -o-transition-duration: 0.3s;
  transition-duration: 0.3s; }

html, body {
  margin: 0;
  padding: 0;
  font-family: Arial,Helvetica,FreeSans,sans-serif;
  font-size: 22px; }

.DlWidget, .DlWidget button, .DlWidget input, .DlWidget textarea {
  font-size: 16px; }

body {
  width: 100%; }

pre, code, .special, .ColoroloC {
  font-family: "Ubuntu Mono","Andale Mono",monospace; }

pre.ColoroloC {
  box-sizing: border-box;
  padding: 10px;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
  -o-border-radius: 10px;
  -khtml-border-radius: 10px;
  -ms-border-radius: 10px;
  border-radius: 10px;
  position: relative;
  overflow: auto;
  max-width: 100%; }
  pre.ColoroloC .action-buttons {
    border: 0;
    position: absolute;
    top: 10px;
    right: 10px;
    opacity: 0;
    z-index: 10;
    -webkit-transition-duration: 0.3s;
    -moz-transition-duration: 0.3s;
    -ms-transition-duration: 0.3s;
    -o-transition-duration: 0.3s;
    transition-duration: 0.3s; }
  pre.ColoroloC:hover .action-buttons {
    opacity: 0.6; }
    pre.ColoroloC:hover .action-buttons:hover {
      opacity: 1; }
  pre.ColoroloC.in-dialog {
    -moz-border-radius: 0;
    -webkit-border-radius: 0;
    -o-border-radius: 0;
    -khtml-border-radius: 0;
    -ms-border-radius: 0;
    border-radius: 0;
    border: 0;
    margin: 0;
    font-size: 120%;
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    overflow: auto; }

.special {
  font-weight: bold; }

.header {
  padding: 20px;
  position: relative; }
  .header .background {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    opacity: 0.3;
    -webkit-transition-duration: 0.3s;
    -moz-transition-duration: 0.3s;
    -ms-transition-duration: 0.3s;
    -o-transition-duration: 0.3s;
    transition-duration: 0.3s;
    /* background: url("/s/img/canvas-light.png") no-repeat 50% 50%; */ }
  .header:hover .background {
    opacity: 0.1; }
  .header .logo {
    -webkit-transition-duration: 1s;
    -moz-transition-duration: 1s;
    -ms-transition-duration: 1s;
    -o-transition-duration: 1s;
    transition-duration: 1s;
    font-size: 30px;
    font-family: Georgia,"Times New Roman",FreeSerif,serif;
    font-style: italic;
    text-decoration: none;
    position: relative;
    display: table-cell; }
    .header .logo:hover .tagline {
      padding-left: 70px; }
  .header .tagline {
    -webkit-transition-duration: 0.3s;
    -moz-transition-duration: 0.3s;
    -ms-transition-duration: 0.3s;
    -o-transition-duration: 0.3s;
    transition-duration: 0.3s;
    font-size: 12px;
    font-family: "Ubuntu Mono","Andale Mono",monospace;
    white-space: pre;
    display: block; }

.prefs {
  line-height: 1.2em;
  font-size: 90%;
  margin: 1em 0; }

.footer {
  padding: 2em 0;
  text-align: center;
  font-size: 90%;
  line-height: 1.2em; }

.breadcrumb {
  -webkit-transition-duration: 0.3s;
  -moz-transition-duration: 0.3s;
  -ms-transition-duration: 0.3s;
  -o-transition-duration: 0.3s;
  transition-duration: 0.3s;
  padding: 4px 10px;
  font-size: 90%;
  position: relative;
  box-sizing: border-box;
  -moz-box-sizing: border-box; }
  .breadcrumb .main-links {
    -moz-border-radius: 5px 5px 0 0;
    -webkit-border-radius: 5px 5px 0 0;
    -o-border-radius: 5px 5px 0 0;
    -khtml-border-radius: 5px 5px 0 0;
    -ms-border-radius: 5px 5px 0 0;
    border-radius: 5px 5px 0 0;
    margin-right: 1em;
    padding: 4px 10px;
    left: 50%;
    top: 1px;
    transform: translate(-50%, -100%);
    position: absolute;
    z-index: 10; }
    .breadcrumb .main-links:hover {
      -webkit-transition-duration: 0.7s;
      -moz-transition-duration: 0.7s;
      -ms-transition-duration: 0.7s;
      -o-transition-duration: 0.7s;
      transition-duration: 0.7s; }
    .breadcrumb .main-links a, .breadcrumb .main-links a:link {
      padding: 3px 8px;
      -moz-border-radius: 5px 5px 0 0;
      -webkit-border-radius: 5px 5px 0 0;
      -o-border-radius: 5px 5px 0 0;
      -khtml-border-radius: 5px 5px 0 0;
      -ms-border-radius: 5px 5px 0 0;
      border-radius: 5px 5px 0 0; }
    .breadcrumb .main-links a.inside {
      font-weight: bold;
      padding: 4px 6px; }
  .breadcrumb:hover {
    -webkit-transition-duration: 0.7s;
    -moz-transition-duration: 0.7s;
    -ms-transition-duration: 0.7s;
    -o-transition-duration: 0.7s;
    transition-duration: 0.7s; }
  @media screen {
    .breadcrumb.position-fixed {
      top: 0;
      z-index: 10; }
      .breadcrumb.position-fixed .main-links {
        -moz-border-radius: 0 0 5px 5px;
        -webkit-border-radius: 0 0 5px 5px;
        -o-border-radius: 0 0 5px 5px;
        -khtml-border-radius: 0 0 5px 5px;
        -ms-border-radius: 0 0 5px 5px;
        border-radius: 0 0 5px 5px;
        bottom: auto;
        top: 100%; }
        .breadcrumb.position-fixed .main-links a, .breadcrumb.position-fixed .main-links a:link {
          -moz-border-radius: 0 0 5px 5px;
          -webkit-border-radius: 0 0 5px 5px;
          -o-border-radius: 0 0 5px 5px;
          -khtml-border-radius: 0 0 5px 5px;
          -ms-border-radius: 0 0 5px 5px;
          border-radius: 0 0 5px 5px; } }
  .breadcrumb .color-prefs {
    float: right; }
    .breadcrumb .color-prefs a {
      display: inline-block;
      width: 1em;
      height: 1em;
      border: 1px solid #888;
      -moz-border-radius: 50%;
      -webkit-border-radius: 50%;
      -o-border-radius: 50%;
      -khtml-border-radius: 50%;
      -ms-border-radius: 50%;
      border-radius: 50%;
      opacity: 0.5; }
      .breadcrumb .color-prefs a:hover {
        opacity: 1; }
    .breadcrumb .color-prefs a.light {
      background: #fff; }
    .breadcrumb .color-prefs a.dark {
      background: #000; }
    .breadcrumb .color-prefs span {
      display: none; }

button.toggle-toc {
  position: fixed;
  border: none;
  z-index: 100;
  right: 20px;
  top: 20px;
  background-color: orange;
  width: 30px;
  height: 30px;
  display: none;
  -webkit-transition-duration: 0.2s;
  -moz-transition-duration: 0.2s;
  -ms-transition-duration: 0.2s;
  -o-transition-duration: 0.2s;
  transition-duration: 0.2s; }
  button.toggle-toc:focus {
    border: none;
    outline: none; }
  button.toggle-toc.active {
    transform: rotate(90deg); }
  button.toggle-toc path {
    fill: #ffffff; }

.content {
  position: relative;
  margin-bottom: 2em;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr auto auto 1fr; }
  .content .l-empty, .content .r-empty {
    min-width: 1em; }
  .content .body {
    max-width: 50em;
    padding-bottom: 1em; }
  .content .toc {
    padding-left: 2em;
    line-height: 1.2em;
    font-size: 90%;
    max-width: 20em;
    overflow: hidden; }
    .content .toc h1, .content .toc h2 {
      padding: 0;
      margin-left: 0;
      margin-right: 0;
      background: transparent; }
    .content .toc ul, .content .toc ol {
      list-style-type: none;
      padding-left: 0;
      margin-left: 2em; }
      .content .toc ul li, .content .toc ol li {
        position: relative; }
        .content .toc ul li:before, .content .toc ol li:before {
          content: "»";
          position: absolute;
          font-weight: bold;
          color: #4a4;
          left: -1.1em; }
        .content .toc ul li ul li:before, .content .toc ol li ul li:before {
          content: "✓"; }
      .content .toc ul ul, .content .toc ul ol, .content .toc ol ul, .content .toc ol ol {
        margin-left: 1.2em; }
  .content h1 {
    font-weight: normal;
    font-family: Georgia,"Times New Roman",FreeSerif,serif;
    font-size: 160%;
    margin-left: -20px;
    margin-right: -20px;
    padding: 10px 20px; }
    .content h1:before {
      content: "λ";
      border: 1px solid #e44;
      padding: 0 7px;
      -moz-border-radius: 15px;
      -webkit-border-radius: 15px;
      -o-border-radius: 15px;
      -khtml-border-radius: 15px;
      -ms-border-radius: 15px;
      border-radius: 15px;
      margin-right: 0.5em;
      color: #e44; }
  .content h2 {
    font-weight: bold;
    font-family: Arial,Helvetica,FreeSans,sans-serif;
    font-size: 120%;
    margin-left: -20px;
    margin-right: -20px;
    padding: 7px 20px; }
  .content .page-anchor {
    display: block;
    margin-top: -40px;
    padding-top: 40px; }
  .content .dim {
    color: #778; }
  .content .keymap {
    border-collapse: collapse; }
    .content .keymap td {
      vertical-align: top;
      padding: 5px 10px 5px 0;
      border-bottom: 1px solid #888;
      border-top: 1px solid #888; }
    .content .keymap .keydef {
      color: #444;
      text-align: right;
      border-bottom: 1px solid #888;
      border-top: 1px solid #888; }
  .content .key {
    white-space: nowrap;
    font-family: "Ubuntu Mono","Andale Mono",monospace;
    color: #482;
    padding-left: 3px;
    padding-right: 3px; }
    .content .key:hover {
      outline: 1px solid #c22;
      -moz-outline-radius: 4px;
      -webkit-outline-radius: 4px;
      -o-outline-radius: 4px;
      -khtml-outline-radius: 4px;
      -ms-outline-radius: 4px;
      outline-radius: 4px; }
  .content .syt-example {
    border-collapse: collapse;
    padding: 0;
    margin: 0;
    width: 100%; }
    .content .syt-example pre {
      margin: 0; }
    .content .syt-example td {
      vertical-align: top;
      padding: 0; }
    .content .syt-example .arrow {
      font-family: "Ubuntu Mono","Andale Mono",monospace;
      font-size: 150%;
      padding-top: 0.3em;
      padding-left: 5px;
      padding-right: 5px;
      font-weight: bold; }
    .content .syt-example .sample, .content .syt-example .output {
      width: 50%; }
  .content .comments .comment {
    position: relative;
    margin: 1em 0; }
    .content .comments .comment .comment-info {
      font-size: 90%;
      float: left;
      width: 10em;
      overflow: hidden;
      padding: 0.5em;
      height: 100%; }
    .content .comments .comment .thread-up {
      font-family: "Ubuntu Mono","Andale Mono",monospace;
      font-weight: bold; }
    .content .comments .comment .comment-author {
      font-weight: bold; }
    .content .comments .comment .comment-body {
      white-space: pre-wrap;
      font-family: "Ubuntu Mono","Andale Mono",monospace;
      margin-left: 10em;
      padding: 0.5em; }
      .content .comments .comment .comment-body:after {
        display: block;
        font-size: 1px;
        line-height: 1px;
        height: 1px;
        overflow: hidden;
        content: " ";
        clear: both; }
  .content div.hint {
    padding-left: 40px;
    margin-top: 1em;
    margin-bottom: 1em;
    background: url("../img/bulb.png") no-repeat 0 0; }
  .content div.warning {
    padding-left: 40px;
    margin-top: 1em;
    margin-bottom: 1em;
    background: url("../img/warning.png") no-repeat 0 0; }
  .content .calendar-date {
    position: relative;
    border: 1px solid #000;
    display: inline-block;
    font-size: 90%;
    width: 4em;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    -o-border-radius: 3px;
    -khtml-border-radius: 3px;
    -ms-border-radius: 3px;
    border-radius: 3px;
    padding-top: 2px; }
    .content .calendar-date .year {
      text-align: center;
      padding: 2px 5px;
      background-color: #000;
      color: #fff;
      margin-top: 5px;
      border-top: 1px solid #000; }
    .content .calendar-date .month {
      text-align: center;
      font-size: 150%;
      font-family: Georgia,"Times New Roman",FreeSerif,serif;
      padding: 1px 10px; }
    .content .calendar-date .date {
      text-align: center;
      font-family: Georgia,"Times New Roman",FreeSerif,serif;
      font-size: 120%;
      margin-top: -4px; }
  .content .page-info {
    font-size: 90%; }
  .content .toc-content .page-info {
    margin-top: 1em; }
  .content .blog-index .blog-post {
    clear: both;
    margin: 1em 0;
    padding-left: 1em;
    padding-right: 1em;
    border-top: 1px solid #000;
    padding-top: 1em; }
    .content .blog-index .blog-post .page-info {
      float: right;
      margin: 0 0 1em 1em; }
    .content .blog-index .blog-post:first-child {
      padding-top: 0;
      border-top: none !important; }
    .content .blog-index .blog-post .blog-post-title {
      font-family: Georgia,"Times New Roman",FreeSerif,serif;
      font-weight: normal;
      font-style: italic;
      font-size: 130%; }
  .content .abstract {
    font-size: 90%;
    font-style: italic;
    line-height: 1.2em; }
  .content .section-title {
    margin-left: -20px;
    margin-right: -20px;
    border-top: 1px solid #111;
    border-bottom: 1px solid #111;
    padding: 5px 20px;
    font-weight: bold;
    text-align: right; }
  .content .footnote-sup {
    color: red;
    font-weight: bold;
    position: relative;
    text-decoration: none !important; }
    .content .footnote-sup:before {
      content: " ["; }
    .content .footnote-sup:after {
      content: "]"; }
  .content .footnotes {
    font-family: Arial,Helvetica,FreeSans,sans-serif;
    margin: 1em 0;
    box-sizing: border-box; }
    .content .footnotes .footnote {
      margin: 0.1em 1em;
      padding: 0.5em 0.5em 0.5em 3em;
      position: relative;
      transition: 0.5s;
      border-radius: 15px; }
      .content .footnotes .footnote .anchor {
        position: absolute;
        left: 0;
        top: 0.5em;
        width: 2.5em;
        text-align: right; }
      .content .footnotes .footnote:target {
        background-color: rgba(0, 0, 0, 0.2); }
  .content .TODO {
    background-color: #c22;
    color: yellow;
    font-weight: bold; }
  .content .popup-demo {
    background: #1a1;
    color: yellow !important;
    font-weight: bold;
    font-size: 120%;
    padding: 5px 10px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    -o-border-radius: 5px;
    -khtml-border-radius: 5px;
    -ms-border-radius: 5px;
    border-radius: 5px; }
  .content hr.sep {
    border: none !important;
    outline: none !important;
    height: 1em; }
    .content hr.sep:before {
      display: block;
      text-align: center;
      color: #e44;
      content: "✤   ✤   ✤"; }
  .content .toc hr.sep:before {
    text-align: left; }
  .content .home-index {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-column-gap: 1em; }

.fork-me-on-github {
  position: absolute;
  right: 0;
  top: 0;
  z-index: 205; }
  .fork-me-on-github a {
    display: block;
    width: 138px;
    height: 138px;
    background: url("../img/fork-me.png") no-repeat 100% 0; }
    .fork-me-on-github a .text {
      display: none; }

#TIME-SPENT {
  position: fixed;
  right: 10px;
  bottom: 10px;
  font-size: 90%; }

@media print {
  #TIME-SPENT {
    display: none; } }

a {
  -webkit-transition-duration: 0.3s;
  -moz-transition-duration: 0.3s;
  -ms-transition-duration: 0.3s;
  -o-transition-duration: 0.3s;
  transition-duration: 0.3s; }

/* DynarchLIB stuff */
.DlTopWindowManager {
  position: fixed;
  top: 0;
  left: 0; }

#x-desktop {
  position: fixed;
  bottom: 20px;
  right: 20px;
  width: 200px; }

.X-Monospace, textarea {
  font-family: "Ubuntu Mono","Andale Mono",monospace;
  font-size: 100%; }

.DlWidget a:link, .DlWidget a:visited {
  color: #00f; }

.DlWidget a:hover {
  color: #f00; }

abbr {
  font-variant: none;
  border-bottom: 1px dotted; }

p, li {
  line-height: 1.3em; }

.position-fixed {
  position: fixed !important; }

/* .Ymacs_Frame { */
/*   font-family: "Ubuntu Mono","Andale Mono","DejaVu Sans Mono","Lucida Sans Typewriter",monospace; */
/* } */
@media (max-width: 1600px) {
  html, body {
    font-size: 18px; }
  .DlWidget, .DlWidget button, .DlWidget input, .DlWidget textarea {
    font-size: 14px; } }

@media (max-width: 1200px) {
  .content .body {
    max-width: 40em; } }

@media (max-width: 1000px) {
  .content .body {
    max-width: 30em; } }

@media (max-width: 900px) {
  html, body {
    font-size: 14px; }
  .DlWidget, .DlWidget button, .DlWidget input, .DlWidget textarea {
    font-size: 12px; }
  .breadcrumb .main-links {
    left: auto;
    right: 0;
    transform: translate(0, -100%); }
  .content .toc {
    min-width: 15em; } }

@media (max-width: 700px) {
  .breadcrumb .main-links {
    top: 100%;
    transform: none;
    -moz-border-radius: 0 0 5px 5px;
    -webkit-border-radius: 0 0 5px 5px;
    -o-border-radius: 0 0 5px 5px;
    -khtml-border-radius: 0 0 5px 5px;
    -ms-border-radius: 0 0 5px 5px;
    border-radius: 0 0 5px 5px; }
    .breadcrumb .main-links a, .breadcrumb .main-links a:link {
      -moz-border-radius: 0 0 5px 5px;
      -webkit-border-radius: 0 0 5px 5px;
      -o-border-radius: 0 0 5px 5px;
      -khtml-border-radius: 0 0 5px 5px;
      -ms-border-radius: 0 0 5px 5px;
      border-radius: 0 0 5px 5px; }
  button.toggle-toc {
    display: block; }
  .content {
    display: block;
    padding-top: 2em;
    padding-left: 1em;
    padding-right: 1em; }
    .content .body {
      max-width: none; }
    .content .toc {
      display: none;
      box-sizing: border-box;
      position: fixed;
      padding: 4em;
      right: 0;
      top: 0;
      z-index: 50;
      height: 100%;
      overflow: auto;
      max-width: 30em; }
      .content .toc.visible {
        display: block; }
    .content h1 {
      font-size: 120%; }
    .content h2 {
      font-size: 100%; }
    .content h1, .content h2, .content .section-title {
      padding: 0;
      background: none !important;
      margin-left: 0;
      margin-right: 0; } }

@media (max-width: 600px) {
  .content .home-index {
    display: block; }
  .breadcrumb .breadcrumb-links {
    max-width: calc(100% - 3em);
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis; } }
