﻿@font-face {
  font-family: "blank";
  src: url("https://raw.githubusercontent.com/adobe-fonts/adobe-blank/master/AdobeBlank.otf.woff") format("woff");
}
@font-face {
  font-family: "unifont";
  src: url("https://edent.gitlab.io/unifont/unifont-12.0.01.woff2") format("woff");
}
@font-face {
  font-family: "unifont-upper";
  src: url("https://edent.gitlab.io/unifont/unifont_upper-12.0.01.woff2") format("woff");
}
.preload {
  height: 0;
  overflow: hidden;
}
#main {
  font-family: "Noto Sans",sans-serif;
}
.crumbs {
  border: 1px solid #887;
  background: #FFC;
  padding: 0.5em;
  white-space: nowrap;
  color: #AAA;
}
.footer {
  border: 1px solid #887;
  background: #FFC;
  margin-top: 1ex;
  padding: 0.5em;
}
.bullet {
  padding-left: 3ex;
  text-indent: -3ex;
}
.bullet::before {
  content: "⏵";
  padding-left: 1ex;
  color: #AAA;
}
.swatch {
  display: inline-block;
  width: 1ex;
  height: 1ex;
  border-radius: 50%;
  border: 1px solid black;
  margin-left: 1ex;
}
.blank {
  font-family: blank;
}
.unifont {
  font-family: unifont,unifont-upper,blank;
}
.noto {
  font-family:
    "Noto Sans",
    "Noto Sans Armenian",
    "Noto Sans Hebrew",
    "Noto Sans Arabic",
    "Noto Sans Syriac",
    "Noto Sans Thaana",
    "Noto Sans NKo",
    "Noto Sans N Ko",
    "Noto Sans Samaritan",
    "Noto Sans Mandaic",
    "Noto Sans Malayalam",
    "Noto Sans Devanagari",
    "Noto Sans Bengali",
    "Noto Sans Gurmukhi",
    "Noto Sans Gujarati",
    "Noto Sans Oriya",
    "Noto Sans Tamil",
    "Noto Sans Tamil Supplement",
    "Noto Sans Telugu",
    "Noto Sans Kannada",
    "Noto Sans Malayalam",
    "Noto Sans Sinhala",
    "Noto Sans Thai",
    "Noto Sans Myanmar",
    "Noto Sans Georgian",
    "Noto Sans Cherokee",
    "Noto Sans Canadian Aboriginal",
    "Noto Sans Ogham",
    "Noto Sans Runic",
    "Noto Sans Tagalog",
    "Noto Sans Hanunoo",
    "Noto Sans Buhid",
    "Noto Sans Tagbanwa",
    "Noto Sans Khmer",
    "Noto Sans Mongolian",
    "Noto Sans Limbu",
    "Noto Sans Tai Le",
    "Noto Sans New Tai Lue",
    "Noto Sans Buginese",
    "Noto Sans Tai Tham",
    "Noto Sans Balinese",
    "Noto Sans Sundanese",
    "Noto Sans Batak",
    "Noto Sans Lepcha",
    "Noto Sans Ol Chiki",
    "Noto Sans Glagolitic",
    "Noto Sans Coptic",
    "Noto Sans Tifinagh",
    "Noto Sans Yi",
    "Noto Sans Lisu",
    "Noto Sans Vai",
    "Noto Sans Bamum",
    "Noto Sans Syloti Nagri",
    "Noto Sans PhagsPa",
    "Noto Sans Saurashtra",
    "Noto Sans Kayah Li",
    "Noto Sans Rejang",
    "Noto Sans Javanese",
    "Noto Sans Cham",
    "Noto Sans Tai Viet",
    "Noto Sans Ethiopic",
    "Noto Sans Linear A",
    "Noto Sans Linear B",
    "Noto Sans Phoenician",
    "Noto Sans Lycian",
    "Noto Sans Carian",
    "Noto Sans Old Italic",
    "Noto Sans Gothic",
    "Noto Sans Old Permic",
    "Noto Sans Ugaritic",
    "Noto Sans Old Persian",
    "Noto Sans Deseret",
    "Noto Sans Shavian",
    "Noto Sans Osmanya",
    "Noto Sans Osage",
    "Noto Sans Elbasan",
    "Noto Sans Caucasian Albanian",
    "Noto Sans Cypriot",
    "Noto Sans Imperial Aramaic",
    "Noto Sans Palmyrene",
    "Noto Sans Nabataean",
    "Noto Sans Hatran",
    "Noto Sans Lydian",
    "Noto Sans Meroitic",
    "Noto Sans Kharoshthi",
    "Noto Sans Old South Arabian",
    "Noto Sans Old North Arabian",
    "Noto Sans Manichaean",
    "Noto Sans Avestan",
    "Noto Sans Inscriptional Parthian",
    "Noto Sans Inscriptional Pahlavi",
    "Noto Sans Psalter Pahlavi",
    "Noto Sans Old Turkic",
    "Noto Sans Old Hungarian",
    "Noto Sans Hanifi Rohingya",
    "Noto Sans Old Sogdian",
    "Noto Sans Sogdian",
    "Noto Sans Elymaic",
    "Noto Sans Brahmi",
    "Noto Sans Kaithi",
    "Noto Sans Sora Sompeng",
    "Noto Sans Chakma",
    "Noto Sans Mahajani",
    "Noto Sans Sharada",
    "Noto Sans Khojki",
    "Noto Sans Multani",
    "Noto Sans Khudawadi",
    "Noto Sans Grantha",
    "Noto Sans Newa",
    "Noto Sans Tirhuta",
    "Noto Sans Siddham",
    "Noto Sans Modi",
    "Noto Sans Takri",
    "Noto Sans Warang Citi",
    "Noto Sans Zanabazar Square",
    "Noto Sans Soyombo",
    "Noto Sans Pau Cin Hau",
    "Noto Sans Bhaiksuki",
    "Noto Sans Marchen",
    "Noto Sans Masaram Gondi",
    "Noto Sans Gunjala Gondi",
    "Noto Sans Cuneiform",
    "Noto Sans Egyptian Hieroglyphs",
    "Noto Sans Anatolian Hieroglyphs",
    "Noto Sans Mro",
    "Noto Sans Bassa Vah",
    "Noto Sans Pahawh Hmong",
    "Noto Sans Medefaidrin",
    "Noto Sans Miao",
    "Noto Sans Nushu",
    "Noto Sans Duployan",
    "Noto Sans SignWriting",
    "Noto Sans Wancho",
    "Noto Sans Mende Kikakui",
    "Noto Sans Meetei Mayek",
    "Noto Sans MeeteiMayek",
    "Noto Sans Adlam Unjoined",
    "Noto Sans Indic Siyaq Numbers",
    "Noto Serif Tibetan",
    "Noto Serif Vithkuqi",
    "Noto Serif Yezidi",
    "Noto Serif Ahom",
    "Noto Serif Dogra",
    "Noto Serif Tangut",
    "Noto Serif Hmong Nyiakeng",
    "Noto Serif Nyiakeng Puachue Hmong",
    "Noto Sans Symbols",
    "Noto Sans Symbols2",
    "Noto Sans Symbols 2",
    "Noto Sans Math",
    "Noto Sans Display",
    "Noto Looped Lao",
    "Noto Sans Lao",
    "Noto Sans CJK SC",
    "Noto Sans SC",
    "Noto Music",
    blank
}
.box-element {
  margin-top: 1ex;
}
.box-table {
  background: white;
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}
.box-table th {
  background: #DDD;
  text-align: left;
  border: 1px solid grey;
  padding: 0 1ex 0 1ex;
  white-space: nowrap;
  font-weight: normal;
}
.box-table td {
  text-align: left;
  vertical-align: top;
  border: 1px solid grey;
  padding: 0 1ex;
  white-space: nowrap;
}
.box-table td:last-child {
  width: 100%;
  white-space: normal;
}
.box-table-detail {
  background: #EEE;
  border-collapse: collapse;
  border-spacing: 0;
  margin-bottom: 2px;
  width: auto;
}
.box-table-detail tr {
  margin: 0 -1px;
}
.box-table-detail td {
  color: #777;
  vertical-align: top;
  border: 1px solid grey;
  padding: 0 1ex;
  white-space: nowrap;
}
.box-table-detail td:last-child {
  width: 100%;
  white-space: normal;
}
.box-row-glyph > td {
  vertical-align: middle;
}
.box-row-glyph > td > canvas {
  display: block;
}
.box-extra-table {
  margin-bottom: 1ex;
}
.box-extra-row td {
  vertical-align: middle;
}
.box-extra-glyph {
  border-left: 1px solid grey;
  border-right: 1px solid grey;
  margin-left: -1px;
  vertical-align: middle;
}
.box-glyphs {
  height: 32px;
  margin-left: -1ex;
}
.box-glyphs canvas {
  border-right: 1px solid grey;
}
.box-render {
  display: inline-block;
  text-align: center;
  margin: 1ex 1ex 0 0;
  background: #EEE;
  border: 1px solid black;
}
.box-render div {
  display: table;
  border-bottom: 1px solid black;
  background: white;
}
.box-render div span {
  display: table-cell;
  vertical-align: middle;
}
.box-render canvas,
.box-render img {
  display: block;
  border-bottom: 1px solid black;
}
.box-render-image {
  background: white;
}
.box-sheet-thumbnail {
  display: inline-block;
  text-align: center;
  margin: 1ex 1ex 0 0;
  background: #EEE;
  border: 1px solid black;
}
.box-sheet-thumbnail canvas {
  display: block;
  border-bottom: 1px solid black;
  zoom: 10%;
}
.box-cell {
  display: inline-block;
  border: 1px solid grey;
  margin: 0 -1px -1px 0;
}
.box-cell canvas {
  display: block;
}
.box-cell-more {
  display: inline-block;
  margin: auto 0 auto 1ex;
}
.box-cell-break {
  width: 100%;
}
.box-cells {
  display: flex;
  flex-wrap: wrap;
}
.box-block {
  background: #EEE;
  border: 1px solid black;
  padding: 1ex 3ex;
}
.box-sheet > tr > td {
  font-size: 200%;
  color: lightgrey;
}
.box-sheet .box-cells {
  place-content: center;
}
.box-plane {
  display: block;
  margin: 1ex 0 1ex 0;
  border: 1px solid black;
}
.box-plane-blocks {
  white-space: normal !important;
}
.box-search {
  border: 1px solid black;
  background: #EEE;
  padding: 1ex;
}
.box-search * {
  font-size: 1em !important;
}
.box-search input[type="text"] {
  margin: 0 1ex 1ex 0;
}
.box-search-checkbox {
  vertical-align: middle;
}
.box-search-checkbox label {
  margin-left: 0.5ex;
}
details {
  background: #EEE;
  border: 1px solid black;
  padding: 1ex;
}
details > div {
  margin: 1ex 2ex 0 2ex;
}
summary {
  background: #EEE !important;
  cursor: pointer;
}
a {
  color: #00E;
  text-decoration: none;
}
abbr {
  cursor: help;
  text-decoration: none;
}
.monospace {
  display: inline-block;
  font-family: "Noto Sans Mono",monospace;
  white-space: pre;
}
.narrative, .info, .error {
  margin: 1ex 0 1ex 0;
}
.error {
  color: red;
}
.gears {
  display: block;
  margin-top: 1ex;
}
.nowrap {
  white-space: nowrap;
}
.middle {
  vertical-align: middle !important;
}
.external::after {
  content: "";
  background: no-repeat url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18"><g style="stroke:grey;stroke-width:1"><line x1="5" y1="8" x2="5" y2="17" /><line x1="14" y1="12" x2="14" y2="17" /><line x1="5" y1="17" x2="14" y2="17" /><line x1="5" y1="8" x2="9" y2="8" /><line x1="10" y1="5" x2="17" y2="5" /><line x1="17" y1="5" x2="17" y2="12" /><line x1="10" y1="12" x2="17" y2="5" /></g></svg>');
  padding-right: 1em;
}
