/* core:meta */
@font-face
{
  font-family: 'Android101';
  src: url(/res/fonts/Android101.woff2);
}
b
{
  text-decoration: none;
  font-family: 'Android101';
  font-weight: normal;
}
.scrollable
{
  overflow: auto;
}
menu.iconbar
{
  display: flex;
  list-style-type: none;
  margin: 0;
  padding: 0.125em;
}
menu.iconbar  > li
  {
    padding: 0.175em;
    margin: 0.125em;
    border: 0;
    border-radius: 6px;
    vertical-align: middle;
    text-align: center;
  }
:is(menu.iconbar > li):hover
    {
      cursor: default;
    }
.tags
{
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.tags a
  {
    display: block;
    font-size: 0.85em;
  }
:is(.tags a):hover
    {
      cursor: pointer;
    }
.tags code
  {
    display: block;
  }
:is(.tags code):hover
    {
      cursor: text;
    }
.tags button
  {
    font-size: 0.9em;
    font-weight: bold;
    border: none;
    border-radius: 50%;
  }
:is(.tags button):hover
    {
      cursor: copy;
    }
ol > li::marker 
{
  content: counters(list-item, '.') ': ';
  font-weight: bold;
}
a 
{
  text-decoration: underline;
}
.tags > code,
a[type="tag"],
a[type="user"],
a[type="group"],
a[type="unknown"]
{
  text-decoration: none;
  margin: 0.125em;
  padding: 0.2em;
  font-family: monospace;
  border-radius: 6px;
}
a[type="unknown"]:hover
{
  cursor: not-allowed !important;  
}
.placeholder
{
  font-size: 0.85em;
}
@media (prefers-color-scheme: light)
{

menu.iconbar > li
{
  background: #e0e0ef;
  color: blue;
}

menu.iconbar > li:hover
{
  background: white;
}
  :is(menu > li.toggle) i {
    color: darkred;
  }
  :is(menu > li.toggle) var {
    color: silver;
  }
    .on:is(menu > li.toggle) i {
      color: darkgreen;
    }
    .on:is(menu > li.toggle) var {
      color: black;
    }
  .tags button
  {
    background: #d5fad5;
  }
    :is(.tags button):hover
    {
      background: #c0ffc0;
    }

a 
{
  color: blue;
}
  a:hover
  {
    color: darkblue;
  }

a[type="tag"],
.tags > code
{
  background: #e0e0ef;
}
  :is(a[type="tag"],.tags > code):hover
  {
    background: #9e9e35;
    color: #f0f0ff;
  }

a[type="user"]
{
  background: #ffe0f0;
  color: purple;
}
  a[type="user"][href="unknown"]
  {
    color: red;
  }
  a[type="user"]:hover
  {
    color: magenta;
  }

a[type="group"]
{
  background: #f0e0ff;
  color: blueviolet;
}
  a[type="group"][href="unknown"]
  {
    color: red;
  }
  a[type="group"]:hover
  {
    color: magenta;
  }

a[type="unknown"]
{
  background: #e0e0ef;
  color: red;
}
  a[type="unknown"]:hover
  {
    color: darkred;
  }

.placeholder 
{
  color: #b0b0b0;
}
}
@media (prefers-color-scheme: dark)
{

menu.iconbar > li
{
  background: #202020;
  color: lightblue;
}

menu.iconbar > li:hover
{
  background: black;
}
  :is(menu > li.toggle) i {
    color: pink;
  }
  :is(menu > li.toggle) var {
    color: gray;
  }
    .on:is(menu > li.toggle) i {
      color: lightgreen;
    }
    .on:is(menu > li.toggle) var {
      color: white;
    }
  .tags button
  {
    background: #356a35;
  }
    :is(.tags button):hover
    {
      background: #457a45;
    }

a 
{
  color: lightblue;
}
  a:hover
  {
    color: cyan;
  }

a[type="tag"],
.tags > code
{
  background: #606060;
}
  :is(a[type="tag"],.tags > code):hover
  {
    background: #6e6e35;
  }

a[type="user"]
{
  background: purple;
  color: plum;
}
  a[type="user"]:hover
  {
    color: pink;
  }

a[type="group"]
{
  background: darkmagenta;
  color: palevioletred;
}
  a[type="group"]:hover
  {
    color: pink;
  }

a[type="unknown"]
{
  background: #606060;
  color: salmon;
}
  a[type="unknown"]:hover
  {
    color: yellow;
  }

.placeholder 
{
  color: #505050;
}
}
/* core:layout */
body
{
  font-family: sans-serif;
  padding: 0;
  margin: 0;
}
body > #menubar
{
  position: sticky;
  top: 0;
  width: 99.5%;
  z-index: 20;
  display: flex;
  justify-content: space-between;
  margin-bottom: 1em;
  padding: 0.125em 0.25%;
}
:is(body > #menubar)  > section
  {
    display: flex;
    padding: 0.25em;
    border-radius: 12px;
  }
:is(:is(body > #menubar) > section)  > button
    {
      position: relative;
      height: 1.75em;
      width: 1.75em;
      margin: 0.05em;
      padding: 0.25em;
      border: none;
      background: transparent;
      opacity: 0.65;
      font-size: 1.5em;
      text-align: center;
      vertical-align: middle;
      display: none;
    }
:is(:is(:is(body > #menubar) > section) > button)  > label
      {
        font-size: 0.375em;
        display: none;
      }
.primary:is(:is(:is(body > #menubar) > section) > button)
      {
        opacity: 0.75;
      }
:is(:is(:is(body > #menubar) > section) > button):hover
      {
        opacity: 1 !important;
      }
:is(:is(body > #menubar) > section)  > button.on
    {
      display: block;
    }
.component:is(:is(body > #menubar) > section)
    {
      display: none;
    }
.component:is(:is(body > #menubar) > section) input[type="text"]
      {
        border: none;
        border-radius: 8px;
        opacity: 0.85;
        line-height: 1.5em;
        margin-top: 0.75em;
      }
.component.on:is(:is(body > #menubar) > section)
      {
        display: flex;
      }
.component.wide:is(:is(body > #menubar) > section)
      {
        width: 75%;
      }
.component.wide:is(:is(body > #menubar) > section) input[type="text"]
        {
          width: 90%;
        }
:is(body > #menubar)  > section.title > h1
  {
    font-size: 1.125em;
    opacity: 0.5;
  }
:is(:is(body > #menubar) > section.title > h1)  > b
    {
      font-size: 1.375em;
    }
:is(body.labelled > #menubar,body > #menubar:hover)  > section > button > label
  {
    display: block;
  }
body.m-fade > #menubar
{
  opacity: 0.125;
}
:is(body.m-fade > #menubar):hover
  {
    opacity: 0.90 !important;
  }
body > #statusbar 
{
  display: block;
  position: fixed;
  font-family: monospace;
  font-size: 1.15em;
  text-align: center;
  width: 100%;
  z-index: 30;
}
:is(body > #statusbar) span {
    border-radius: 12px;
    padding: 0.75em;
    opacity: 0;
  }
body > footer
{
  width: 99%;
  display: flex;
  justify-content: space-between;
  margin-top: 1em;
  padding: 0.25em 0.5%;
}
:is(body > footer)  > .links > a
  {
    text-decoration: underline;
    margin: 0.25em;
    font-size: 0.75em;
  }
:is(body > footer)  > .icons > a
  {
    text-decoration: none;
    margin: 0.25em;
  }
:is(body > footer)  > .copyright 
  {
    font-size: 0.8em;
  }
:is(:is(body > footer) > .copyright)  > a
    {
      text-decoration: none;
    }
#doc-list-menu > footer
{
  font-size: 0.9em;
}
@media screen and (max-width: 800px)
{
  .vm-wide
  {
    display: none !important;
  }
}
@media screen and (min-width: 800px)
{
  .vm-compact 
  {
    display: none !important;
  }
}
@media (prefers-color-scheme: light)
{

body
{
  background: #fefef4;
  color: black;
}
  :is(body > #menubar)  > section
  {
    background: rgb(254, 254, 244, 0.55);
  }

  :is(body > #menubar) h1
  {
    color: darkblue;
  }
    :is(:is(body > #menubar) > section)  > button
    {
      color: #202060;
    }
      .component:is(:is(body > #menubar) > section) input[type="text"]
      {
        background: #eaeaf4;
      }

body > #menubar:hover > section 
{
  background: rgb(254, 254, 244, 0.95);
}
      .module:is(:is(body.coloured-icons > #menubar) > section)  > button
      {
        color: #204025;
      }
        .primary:is(.module:is(:is(body.coloured-icons > #menubar) > section) > button)
        {
          color: #205525;
        }
      .app:is(:is(body.coloured-icons > #menubar) > section)  > button
      {
        color: #203055;
      }
        .primary:is(.app:is(:is(body.coloured-icons > #menubar) > section) > button) 
        {
          color: #203080;
        }

body > #statusbar > span
{
  background-color: rgb(255, 255, 142, 0.9);
  border: solid 1px rgb(128,128,128,0.5);
  color: black;
}
  :is(body > footer)  > .icons > a
  {
    color: darkblue;
  }
  :is(body > footer)  > .copyright
  {
    color: #1f1f1f;
  }
    :is(:is(body > footer) > .copyright)  > a 
    {
      color: darkblue;
    }
}
@media (prefers-color-scheme: dark)
{

body
{
  background: #18181b;
  color: #f0f0f0;
}
  :is(body > #menubar)  > section 
  {
    background: rgb(24, 24, 28, 0.55);
  }

  :is(body > #menubar) h1
  {
    color: slateblue;
  }
    :is(:is(body > #menubar) > section)  > button 
    {
      color: silver;
    }
      .component:is(:is(body > #menubar) > section) input[type="text"]
      {
        background: #38384a;
        color: white;
      }

body > #menubar:hover > section 
{
  background: rgb(24, 24, 28, 0.55);
}
      .module:is(:is(body.coloured-icons > #menubar) > section)  > button
      {
        color: #c0e5c0;
      }
        .primary:is(.module:is(:is(body.coloured-icons > #menubar) > section) > button)
        {
          color: #d0ffd0;
        }
      .app:is(:is(body.coloured-icons > #menubar) > section)  > button
      {
        color: #c0c0e5;
      }
        .primary:is(.app:is(:is(body.coloured-icons > #menubar) > section) > button)
        {
          color: #d0d0ff;
        }

body > #statusbar > span
{
  background: rgb(0, 0, 25, 0.9);
  border: solid 1px rgb(192,192,192,0.5);
  color: white;
}
  :is(body > footer)  > .icons > a
  {
    color: slateblue;
  }
  :is(body > footer)  > .copyright
  {
    color: #c0c0c0;
  }
    :is(:is(body > footer) > .copyright)  > a
    {
      color: lightblue;
    }
}
/* core:dialog */
dialog
{
  z-index: 50;
  opacity: 0.985;
  border: none;
  padding: 0.5em;
}
dialog.fixed
  {
    position: fixed;
    margin: 0;
  }
dialog.context
  {
    border-radius: 8px;
  }
/* Defaults for any level of menu. */
dialog menu
{
  border: none;
  list-style-type: none;
  margin: 0;
  padding: 0.125em;
  width: 100%;
}
dialog var
{
  font-style: normal;
}
/* Top-level context menu. */
dialog > menu
{
  overflow: auto;
}
@media screen and (max-height: 800px)
{
  dialog > menu
  {
    max-height: 8em;
  }
}
@media screen and (min-height: 800px)
{
  dialog > menu
  {
    max-height: 16em;
  }  
}
:is(dialog menu.action,dialog menu.has-desc) li 
  {
    display: flex;
    justify-content: space-between;
  }
dialog menu.action > li > button
{
  background: transparent;
  border: none;
}
:is(dialog menu.has-desc > li) button 
  {
    font-size: 1.0em;
  }
:is(:is(dialog menu.has-desc > li) button) i 
    {
      margin-right: 0.25em;
    }
:is(dialog menu.has-desc > li) var
  {
    margin-left: 0.5em;
    font-style: italic;
    font-size: 0.85em;
  }
/* Menu items at any level. */
dialog menu > li
{
  padding: 0.125em;
  cursor: default;
}
:is(dialog menu > li) i 
  {
    width: 1.4em;
  }
:is(dialog menu > li) button.close
  {
    margin-left: 0.25em;
  }
:is(dialog menu > li.sep,dialog menu > li.placeholder):hover
  {
    background: transparent !important;
  }
dialog menu > li.sep
{
  padding: 0;
  margin: 0.1em;
}
/* Some dialogs can be resized. */
dialog.resizable
{
  resize: both;
}
/* Header on modal/floating dialogs */
dialog > header
{
  z-index: 55;
  display: flex;
  justify-content: space-between;
  font-size: 0.8em;
  margin-bottom: 0.25em;
}
/* Footer on modal/floating dialogs */
dialog > footer
{
  margin-top: 0.5em;
  padding-top: 0.25em;
  display: flex;
  justify-content: space-between;
}
@media (prefers-color-scheme: light)
{

dialog
{
  /*border: solid 1px gray;*/
  box-shadow: 0 0 6px #999;
  background: white;
  color: black;
}

dialog::backdrop
{
  background: rgba(0,0,0,0.25);
}
  :is(dialog menu > li):hover
  {
    background: #f0f0ff;
  }

  :is(dialog menu > li) button.close
  {
    color: darkred;
  }
    :is(:is(dialog menu > li) button.close):hover
    {
      color: red;
    }

dialog menu > li.sep
{
  border-bottom: 1px dotted silver;
}

dialog > header
{
  color: gray;
  border-bottom: 1px dotted silver;
}

dialog > footer
{
  border-top: 1px dotted silver;
}
    .icons:is(dialog > footer) button
    {
      color: darkblue;
    }
      :is(.icons:is(dialog > footer) button):hover
      {
        color: blue;
      }
  :is(dialog menu.has-desc > li) button 
  {
    color: black;
  }

  :is(dialog menu.has-desc > li) var
  {
    color: #a5a3a7;
  }
}
@media (prefers-color-scheme: dark)
{

dialog 
{
  /*border: solid 1px gray;*/
  box-shadow: 0 0 6px #666;
  background: black;
  color: white;
}

dialog::backdrop
{
  background: rgba(210,210,210,0.25);
}
  :is(dialog menu > li):hover
  {
    background: #202046;
  }

  :is(dialog menu > li) button.close
  {
    color: lightsalmon;
  }
    :is(:is(dialog menu > li) button.close):hover
    {
      color: red;
    }

dialog menu > li.sep
{
  border-bottom: 1px dotted gray;
}

dialog > header
{
  color: silver;
  border-bottom: 1px dotted gray;
}

dialog > footer
{
  border-top: 1px dotted gray;
}
    .icons:is(dialog > footer) button
    {
      color: lightblue;
    }
      :is(.icons:is(dialog > footer) button):hover
      {
        color: cyan;
      }
  :is(dialog menu.has-desc > li) button 
  {
    color: white;
  }

  :is(dialog menu.has-desc > li) var
  {
    color: #858387;
  }
}
/* core:content */
body > section
{
  display: none;
  margin: 0.125em;
}
.on:is(body > section)
  {
    display: block;
  }
.collection.notes:is(body > section)
  {
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-evenly;
    gap: 1em;
  }
.collection.notes.on:is(body > section)
    {
      display: flex;
    }
.collection.grid:is(body > section)
  {
    grid-template-columns: repeat(auto-fit, minmax(10em, 1fr));
    grid-template-rows: repeat(auto-fill, minmax(10em, 1fr));
    align-content: end;
    justify-content: center;
  }
.collection.grid.on:is(body > section) 
    {
      display: grid;
    }
body > section > article
{
  border-radius: 8px;
  padding: 0.25em;
  margin: 0.25em 0.125em;
  flex: 1 1 0;
}
.big-doc:is(body > section > article)
  {
    flex: 2 1 0;
  }
.full-size:is(body > section > article)
  {
    flex: 1 1 100%;
  }
:is(body > section > article) h1,:is(body > section > article) h2,:is(body > section > article) h3,:is(body > section > article) h4,:is(body > section > article) h5,:is(body > section > article) h6
  {
    margin: 0.125em;
  }
:is(body > section > article) h1
  {
    font-size: 1.25em;
    font-weight: 800;
  }
:is(body > section > article) h2
  {
    font-size: 1.125em;
    font-weight: 600;
  }
:is(body > section > article) h3
  {
    font-size: 1.1em;
    font-weight: 500;
  }
:is(body > section > article)  > header
  {
    border-radius: 6px;
    display: flex;
    justify-content: space-between;
  }
:is(:is(body > section > article) > header)  > menu
    {
      display: flex;
      list-style-type: none;
      margin: 0;
      padding: 0;
      vertical-align: middle;
      text-align: center;
    }
:is(:is(:is(body > section > article) > header) > menu)  > li
      {
        margin: 0.125em;
      }
:is(body > section > article) address 
  {
    display: inline-block;
  }
:is(:is(body > section > article) > section.settings) label
    {
      display: block;
      margin: 0.125em;
    }
:is(:is(:is(body > section > article) > section.settings) label)  > *
      {
        vertical-align: middle;
      }
body > section.auth.on 
{
  display: flex;
  align-items: center;
  justify-content: space-around;
}
.ubr label > span
  {
    white-space: nowrap;
  }
.ubl label 
  {
    white-space: nowrap;
  }
:is(.ubl,.ubr) ul
  {
    list-style-type: none;
  }
table.help {
  border-collapse: collapse;
}
table.help th,table.help td 
  {
    border: solid 1px gray;
    padding: 0.25em;
  }
table.metadata {
  border-collapse: collapse;
}
table.metadata th,table.metadata td {
    padding: 0.125em 0.25em;
  }
:is(table.metadata tbody.when) th {
      text-align: right;
    }
:is(table.metadata tbody.who) th {
      text-align: left;
    }
:is(table.metadata tbody.who) td {
      font-style: italic;
    }
:is(#keyboard-shortcuts > table) thead {
    font-size: 0.8em;
  }
:is(#keyboard-shortcuts > table) tbody {
    overflow: auto;
    max-height: 12em;
  }
:is(:is(#keyboard-shortcuts > table) tbody) th {
      text-align: left;
      font-family: monospace;
      font-weight: normal;
      padding-right: 0.5em;
    }
@media screen and (max-height: 800px)
{
  body > section > article
  {
    min-width: 12em;
  }
}
@media screen and (min-height: 800px)
{
  body > section > article
  {
    min-width: 32em;
  }
}
@media (prefers-color-scheme: light)
{

body > section > article
{
  background: white;
  box-shadow: 1px 1px 8px rgba(75,75,0,0.25);
}

  :is(body > section > article) dl > dt
  {
    color: purple;
  }
  dl.inline dt,dl.inline dd
  {
    display: inline-block;
    margin: 0.125em;
  }
  :is(body > section.collection > article)  > header
  {
    color: darkgreen;
    background: #f5f5f3;
  }
      :is(:is(:is(body > section.collection > article) > header) > menu)  > li:hover
      {
        color: blue;
        background-color: rgba(200,200,250,0.25);
      }
    :is(table.help > thead) th
    {
      background: #80a0ff;
      color: white;
    }
    :is(table.help > tbody) tr:nth-child(odd)
    {
      background: #f0f0ff;
    }
    :is(table.help > tbody) tr:nth-child(even)
    {
      background: #f0fff0;
    }
    :is(table.metadata tbody.who) tr {
      border: solid 1px black;
    }
      .user:is(:is(table.metadata tbody.who) tr)
      {
        background: #f5f5ff;
      }
      .group:is(:is(table.metadata tbody.who) tr) 
      {
        background: #f5fff5;
      }
}
@media (prefers-color-scheme: dark)
{

body > section > article
{
  background: #28282b;
  box-shadow: 1px 1px 4px rgba(150,150,175,0.25) inset;
}

  :is(body > section > article) dl > dt
  {
    color: lightpink;
  }
  :is(body > section.collection > article)  > header
  {
    background: #39393c;
    color: lightgreen;
  }
      :is(:is(:is(body > section.collection > article) > header) > menu)  > li:hover
      {
        color: lightblue;
        background-color: rgba(100,100,200,0.25);
      }
    :is(table.help > thead) th
    {
      background: #6080ff;
      color: white;
    }
    :is(table.help > tbody) tr:nth-child(odd)
    {
      background: #26263f;
    }
    :is(table.help > tbody) tr:nth-child(even)
    {
      background: #263f26;
    }
    :is(table.metadata tbody.who) tr {
      border: solid 1px white;
    }
      .user:is(:is(table.metadata tbody.who) tr)
      {
        background: #26263f;
      }
      .group:is(:is(table.metadata tbody.who) tr) 
      {
        background: #263f26;
      }
}
/* core:themes */
@media (prefers-color-scheme: light)
{

section.page.postit > article,
  section.collection > article.postit {
  background: #fefec0;
  }
  :is(section.page.postit > article,section.collection > article.postit)  > header {
    background: #ededb0;
  }
  :is(section.page.postit > article,section.collection > article.postit) h1,:is(section.page.postit > article,section.collection > article.postit) h2 {
    color: purple;
  }

section.page.banana > article,
  section.collection > article.banana {
  background: #ffee66;
  }
  :is(section.page.banana > article,section.collection > article.banana)  > header {
    background: #ffdd55;
  }
  :is(section.page.banana > article,section.collection > article.banana) h1,:is(section.page.banana > article,section.collection > article.banana) h2 {
    color: #442200;
  }

section.page.rainbow > article,
  section.collection > article.rainbow {
  background: linear-gradient(90deg,rgba(255, 194, 194, 1) 0%, rgba(211, 255, 204, 1) 50%, rgba(207, 221, 255, 1) 100%);
  }
}
@media (prefers-color-scheme: dark)
{

section.page.postit > article,
  section.collection > article.postit {
  background: #304560;
  }
  :is(section.page.postit > article,section.collection > article.postit)  > header {
    border-radius: 6px;
    background: #405570;
  }
  :is(section.page.postit > article,section.collection > article.postit) h1,:is(section.page.postit > article,section.collection > article.postit) h2 {
    color: lightpink;
  }

section.page.banana > article,
  section.collection > article.banana {
  background: #442200;
  }
  :is(section.page.banana > article,section.collection > article.banana)  > header {
    border-radius: 6px;
    background: #553300;
  }
  :is(section.page.banana > article,section.collection > article.banana) h1,:is(section.page.banana > article,section.collection > article.banana) h2 {
    color: #ffee66;
  }

section.page.rainbow > article,
  section.collection > article.rainbow {
  background: linear-gradient(90deg,rgba(74, 0, 0, 1) 0%, rgba(9, 74, 0, 1) 50%, rgba(1, 19, 69, 1) 100%);
  }
}

