/* Sakura.css v1.5.1
 * ================
 * Minimal css theme.
 * Project: https://github.com/oxalorg/sakura/
 */
/* Body */
html {
  font-size: 62.5%;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
}
body {
  font-size: 1.8rem;
  line-height: 1.618;
  max-width: 38em;
  margin: auto;
  color: #4a4a4a;
  background-color: #f9f9f9;
  padding: 13px;
}
@media (max-width: 684px) {
  body {
    font-size: 1.53rem;
  }
}
@media (max-width: 382px) {
  body {
    font-size: 1.35rem;
  }
}
h1, h2, h3, h4, h5, h6 {
  line-height: 1.1;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
  font-weight: 700;
  margin-top: 3rem;
  margin-bottom: 1.5rem;
  overflow-wrap: break-word;
  word-wrap: break-word;
  -ms-word-break: break-all;
  word-break: break-word;
}
h1 {
  font-size: 2.35em;
}
h2 {
  font-size: 2em;
}
h3 {
  font-size: 1.75em;
}
h4 {
  font-size: 1.5em;
}
h5 {
  font-size: 1.25em;
}
h6 {
  font-size: 1em;
}
p {
  margin-top: 0px;
  margin-bottom: 2.5rem;
}
small, sub, sup {
  font-size: 75%;
}
hr {
  border-color: #1d7484;
}
a {
  text-decoration: none;
  color: #1d7484;
}
a:visited {
  color: #144f5a;
}
a:hover {
  color: #982c61;
  border-bottom: 2px solid #4a4a4a;
}
ul {
  padding-left: 1.4em;
  margin-top: 0px;
  margin-bottom: 2.5rem;
}
li {
  margin-bottom: 0.4em;
}
blockquote {
  margin-left: 0px;
  margin-right: 0px;
  padding-left: 1em;
  padding-top: 0.8em;
  padding-bottom: 0.8em;
  padding-right: 0.8em;
  border-left: 5px solid #1d7484;
  margin-bottom: 2.5rem;
  background-color: #f1f1f1;
}
blockquote p {
  margin-bottom: 0;
}
img, video {
  height: auto;
  max-width: 100%;
  margin-top: 0px;
  margin-bottom: 2.5rem;
}
/* Pre and Code */
pre {
  background-color: #f1f1f1;
  display: block;
  padding: 1em;
  overflow-x: auto;
  margin-top: 0px;
  margin-bottom: 2.5rem;
  font-size: 0.9em;
}
code, kbd, samp {
  font-size: 0.9em;
  padding: 0 0.5em;
  background-color: #f1f1f1;
  white-space: pre-wrap;
}
pre > code {
  padding: 0;
  background-color: transparent;
  white-space: pre;
  font-size: 1em;
}
/* Tables */
table {
  text-align: justify;
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 2rem;
}
td, th {
  padding: 0.5em;
  border-bottom: 1px solid #f1f1f1;
}
/* Buttons, forms and input */
input, textarea {
  border: 1px solid #4a4a4a;
}
input:focus, textarea:focus {
  border: 1px solid #1d7484;
}
textarea {
  width: 100%;
}
.button, button, input[type="submit"], input[type="reset"], input[type="button"], input[type=file]::file-selector-button {
  display: inline-block;
  padding: 5px 10px;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  background-color: #1d7484;
  color: #f9f9f9;
  border-radius: 1px;
  border: 1px solid #1d7484;
  cursor: pointer;
  box-sizing: border-box;
}
.button:hover, button:hover, input[type="submit"]:hover, input[type="reset"]:hover, input[type="button"]:hover, input[type=file]::file-selector-button:hover {
  background-color: #982c61;
  color: #f9f9f9;
  outline: 0;
}
.button[disabled], button[disabled], input[type="submit"][disabled], input[type="reset"][disabled], input[type="button"][disabled], input[type=file][disabled] {
  cursor: default;
  opacity: 0.5;
}
.button:focus-visible, button:focus-visible, input[type="submit"]:focus-visible, input[type="reset"]:focus-visible, input[type="button"]:focus-visible, input[type=file]:focus-visible {
  outline-style: solid;
  outline-width: 2px;
}
textarea, select, input {
  color: #4a4a4a;
  padding: 6px 10px;
  /* The 6px vertically centers text on FF, ignored by Webkit */
  margin-bottom: 10px;
  background-color: #f1f1f1;
  border: 1px solid #f1f1f1;
  border-radius: 4px;
  box-shadow: none;
  box-sizing: border-box;
}
textarea:focus, select:focus, input:focus {
  border: 1px solid #1d7484;
  outline: 0;
}
input[type="checkbox"]:focus {
  outline: 1px dotted #1d7484;
}
label, legend, fieldset {
  display: block;
  margin-bottom: 0.5rem;
  font-weight: 600;
}
body {
  margin: 0 auto;
  padding: 3rem 0;
  background: #b9c1cd;
}
body > div {
  background-color: #f9f9f9;
  box-shadow: 0 0 0 1.5rem #f9f9f9, 1px 1px 0 calc(1.5rem + 1px) rgba(74, 74, 74, 0.2), -1px -1px 0 calc(1.5rem + 1px) rgba(74, 74, 74, 0.06);
  border-radius: 3px;
}
h5 {
  padding: 1rem 0;
  text-transform: uppercase;
  font-style: italic;
  font-size: 100%;
}
h5.mini {
  margin: 0;
}
a {
  cursor: pointer;
  border-bottom: 1px dotted rgba(29, 73, 132, 0.33);
  font-weight: 500;
}
a.active {
  color: red !important;
}
a {
  text-decoration: none;
  color: #1d4984;
}
a:visited {
  color: #14325a;
}
a:hover {
  color: #982c61;
  border-bottom: 1px solid #982c61;
}
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
  font-weight: inherit;
}
a.fig {
  position: absolute;
  visibility: hidden;
}
h1.end {
  margin: 0;
  padding: 2em 0;
  text-align: center;
  font-style: italic;
  color: #e3eced;
}
h1.end a {
  color: #e3eced;
}
h1.end a:hover {
  color: #1d4984;
  border-bottom: none;
}
a.lo {
  font-weight: normal;
  opacity: 0.67;
}
a.lo.med {
  font-weight: bold;
}
input[type="submit"] {
  border-radius: 4px;
  box-shadow: -2px -2px 0 1px #d4dce5, 2px 2px 0 1px #d4dce5;
}
fig {
  display: block;
}
hr {
  border: none;
  height: 3rem;
}
hr.med {
  height: 1em;
  background-color: rgba(241, 241, 241, 0.5);
}
figcaption {
  display: inline-block;
  padding: 0 1.4em;
  font-size: 80%;
  margin-bottom: 2.5rem;
}
form {
  margin-top: 1.5rem;
  display: grid;
}
form input[type="text"] {
  width: 100%;
}
form label {
  display: inline-block;
}
form input[type="submit"] {
  justify-self: end;
}
.nodeData {
  display: grid;
  justify-items: center;
  grid-gap: 0.5rem 0;
  padding: 1.5rem 0;
}
.nodeData > div > * {
  margin: 0;
}
.nodeRecord td, .nodeRecord th {
  padding: 0.5rem 1rem;
}
.nodeRecord td.lo, .nodeRecord th.lo {
  opacity: 0.8;
}
.nodeRecord td {
  width: fit-content;
}
.qadiv.qadiv_q {
  float: right;
  color: #1d4984;
}
.qadiv.qadiv_q:hover {
  color: #982c61;
}
.qadiv.qadiv_a {
  padding: 1.5rem;
  margin: 1.5rem 0;
  background-color: rgba(114, 29, 132, 0.03);
  border: 1px dashed #1d4984;
  border-radius: 3px;
}
.qadiv.qadiv_a > div {
  display: grid;
  border-bottom: 1px solid rgba(29, 73, 132, 0.03);
}
.qadiv.qadiv_a > div > * {
  margin: 0.5rem 0;
  padding: 0;
}
.qadiv.qadiv_a > div p:last-of-type {
  margin-bottom: 0;
}
div.br {
  height: 1.5rem;
}
ul.toul li > p {
  margin: 0;
  padding: 0;
  display: inline;
}
ul.fieldsList {
  margin-top: 1.5rem;
}
.spacebox {
  position: relative;
  width: 100vw;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}
.spacebox > div {
  width: calc(100% - 12rem);
  margin-left: 6rem;
  background-color: rgba(249, 249, 249, 0.94);
  backdrop-filter: blur(1rem);
  box-shadow: inset 0 0 0 1px rgba(74, 74, 74, 0.6), 1px 1px 0 1px rgba(74, 74, 74, 0.2), -1px -1px 0 1px rgba(74, 74, 74, 0.06), 0.5rem 0.5rem 3rem 0 rgba(74, 74, 74, 0.6);
}
.menu {
  margin: 0;
  display: flex;
  list-style: none;
  grid-gap: 1.5rem;
}
.menu a {
  text-transform: capitalize;
}
.comments {
  display: grid;
  grid-gap: 3rem;
}
.comment {
  display: grid;
  border-bottom: 1px solid rgba(74, 74, 74, 0.06);
}
.comment > * {
  margin: 0;
}
.bilbo {
  margin-top: 1.6em;
  border: 1px dashed rgba(74, 74, 74, 0.5);
  padding: 0.2em;
  font-size: 80%;
}
.bilbo p {
  margin-bottom: 1.6em;
}
.bilbo p:last-of-type {
  margin-bottom: 0;
}
b.lo {
  font-weight: normal;
  color: #a2a2a2;
  font-style: italic;
}
b.lo:hover {
  color: #727272;
}
div.note {
  padding: 1.6em 0.8em 0;
  background-color: rgba(152, 44, 97, 0.03);
  border: 1px dashed #ccc;
}
div.note.lo {
  background-color: rgba(132, 88, 29, 0.03);
}
div.note.text {
  border: 1px solid rgba(38, 96, 174, 0.2);
  border-bottom-color: rgba(29, 73, 132, 0.6);
  border-right-color: rgba(29, 73, 132, 0.6);
  background-color: rgba(29, 73, 132, 0.05);
  border-radius: 3px;
  box-shadow: inset -0.25em -0.25em 0.5em 0 rgba(29, 73, 132, 0.1), inset 0.5em 0.5em 0.5em 0 rgba(249, 249, 249, 0.2), 0 0 0.25em 0 rgba(29, 73, 132, 0.1), 0.125em 0.125em 0.25em 0 rgba(74, 74, 74, 0.1);
}
div.note.text > :first-child {
  margin-top: 0;
}
ul.inline {
  display: flex;
  flex-wrap: wrap;
  grid-gap: 0.4em;
}
ul.inline li {
  display: inline-block;
}
p.end {
  padding-left: 1.4em;
  color: #8ba1bf;
  font-size: 80%;
}
p.end a {
  color: #8ba1bf;
}
blockquote.lo {
  border-left-color: #a5a5a5;
}
table {
  margin-top: 1.5rem;
}
table th {
  font-size: 80%;
  background-color: rgba(241, 241, 241, 0.5);
}
table td > h4 {
  margin-top: 1.5rem;
}
table tr:nth-of-type(even) td {
  background: #f1f1f1;
}
canvas {
  background-color: rgba(241, 241, 241, 0.5);
}
body {
  background-image: url("data:image/svg+xml;utf8,	  <svg xmlns='http://www.w3.org/2000/svg' width='100' height='100'>	    <filter id='n'>	      <feTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4'/>	      <feColorMatrix type='saturate' values='0'/>	      <feComponentTransfer>	        <feFuncA type='linear' slope='.5'/>	      </feComponentTransfer>	    </filter>	    <rect width='100%' height='100%' filter='url(%23n)'/>	  </svg>");
  background-repeat: repeat;
}
.elements {
  display: grid;
  grid-gap: 1.5rem;
}
.elements > h1 {
  margin: 0;
}
.element {
  padding: 1rem;
  border: 1px solid #000;
}
.element > *:first-child {
  margin-top: 0;
}
.element > *:last-child {
  margin-bottom: 0;
}
svg {
  border: 1px dashed #c2cddc;
  background-color: rgba(241, 241, 241, 0.5);
  box-shadow: 0 0 0 2px rgba(29, 73, 132, 0.03);
}
svg text {
  fill: wheat;
}
svg text.hilite {
  fill: darkorange;
  font-weight: bold;
}
svg text.hilite:hover {
  fill: orange;
}
svg line {
  stroke: #1d4984;
  stroke-width: 1;
}
svg g.hoverable:hover {
  fill: red;
}
svg circle.spiraledNodes {
  cursor: pointer;
  opacity: 1;
  cursor: pointer;
  stroke: transparent;
  transition: stroke-width 0.3s ease, stroke 0.3s ease, fill 0.3s ease;
}
svg circle.spiraledNodes.on, svg circle.spiraledNodes.on:hover {
  fill: #982c61;
  cursor: normal !important;
}
svg circle.spiraledNodes:hover {
  stroke: #1d4984;
  stroke-width: 2em;
  fill: #4a4a4a;
}
svg text.spiraledNodes {
  cursor: pointer;
  fill: #4a4a4a;
  opacity: 0.8;
  font-style: italic;
  font-family: monospace;
}
svg text.spiraledNodes.on {
  opacity: 1;
  cursor: grab;
}
svg text.archesName {
  cursor: grab;
}
svg .endpoint text, svg text.hi {
  fill: #982c61;
}
