/*
 * The wiki's look: DokuWiki's "yanevskiv" template (a fork of the default
 * dokuwiki template) and the core and plugin styles it relies on, as plain
 * CSS. The style.ini colours are the custom properties below.
 */

:root {
    color-scheme: light;
    --text: #333;
    --background: #fff;
    --text-alt: #999;
    --background-alt: #eee;
    --text-neu: #666;
    --background-neu: #ddd;
    --border: lightgray;
    --highlight: #ff9;
    --link: #2b73b7;
    --existing: #080;
    --missing: #d30;
    --site-width: 75em;
    --sidebar-width: 16em;
    --line-height: 1.5;
}

/* core (lib/styles)
********************************************************************/

.group:before,
.group:after {
    content: "";
    display: table;
}
.group:after {
    clear: both;
}
div.clearer {
    clear: both;
    font-size: 0;
    line-height: 0;
    height: 0;
    overflow: hidden;
}
div.no {
    display: inline;
    margin: 0;
    padding: 0;
}
.a11y {
    position: absolute !important;
    left: -99999em !important;
    top: auto !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}
.medialeft { float: left; }
.mediaright { float: right; }
.mediacenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}
.leftalign { text-align: left; }
.centeralign { text-align: center; }
.rightalign { text-align: right; }
em.u {
    font-style: normal;
    text-decoration: underline;
}
em em.u {
    font-style: italic;
}
svg {
    width: auto;
    height: 1.2em;
}
.JSpopup {
    position: absolute;
    background-color: #fff;
    color: #000;
    z-index: 20;
    overflow: hidden;
}

/* basic
********************************************************************/

html {
    overflow-x: auto;
    overflow-y: scroll;
}
html,
body {
    color: var(--text);
    background-color: #f5f4ef;
    background-image: radial-gradient(#d8ddd9 1px, #f5f4ef 1px);
    background-size: 16px 16px;
    margin: 0;
    padding: 0;
}
body {
    font-family: sans-serif;
    font-size: 10pt;
    -webkit-text-size-adjust: 100%;
}

caption,
figcaption,
summary,
legend {
    padding: 0;
    margin: 0 0 .35em;
    line-height: 1.2;
}
h1, h2, h3, h4, h5, h6 {
    font-weight: bold;
    padding: 0;
    line-height: 1.2;
    clear: left;
}
h1 { font-size: 2em; margin: 0 0 0.444em; }
h2 { font-size: 1.5em; margin: 0 0 0.666em; }
h3 { font-size: 1.125em; margin: 0 0 0.888em; }
h4 { font-size: 1em; margin: 0 0 1.0em; }
h5 { font-size: .875em; margin: 0 0 1.1428em; }
h6 { font-size: .75em; margin: 0 0 1.333em; }

p {
    line-height: var(--line-height);
}
p, ul, ol, dl, pre, table, hr, blockquote, figure, details, fieldset, address {
    margin: 0 0 1.5em 0;
    padding: 0;
}
div, video, audio {
    margin: 0;
    padding: 0;
}

ul,
ol {
    padding: 0 0 0 1.5em;
    line-height: var(--line-height);
}
li,
dd {
    padding: 0;
    margin: 0 0 0 1.5em;
}
dt {
    font-weight: bold;
    margin: 0;
    padding: 0;
}
li ul, li ol, li dl, dl ul, dl ol, dl dl {
    margin-bottom: 0;
    padding: 0;
}
li li {
    font-size: 100%;
}
ul             { list-style: disc outside; }
ol             { list-style: decimal outside; }
ol ol          { list-style-type: lower-alpha; }
ol ol ol       { list-style-type: upper-roman; }
ol ol ol ol    { list-style-type: upper-alpha; }
ol ol ol ol ol { list-style-type: lower-roman; }

table {
    border-collapse: collapse;
    empty-cells: show;
    border-spacing: 0;
    border: 1px solid var(--border);
}
caption {
    caption-side: top;
    text-align: left;
}
th,
td {
    padding: .3em .5em;
    margin: 0;
    vertical-align: top;
    border: 1px solid var(--border);
}
th {
    font-weight: bold;
    background-color: var(--background-alt);
    text-align: left;
}

a {
    outline: none;
}
a:link,
a:visited {
    text-decoration: none;
    color: var(--link);
}
a:link:hover,
a:visited:hover,
a:link:focus,
a:visited:focus,
a:link:active,
a:visited:active {
    text-decoration: underline;
}

img {
    border-width: 0;
    vertical-align: middle;
    color: #666;
    background-color: transparent;
    font-style: italic;
    object-fit: cover;
}
video {
    height: auto;
}
img, object, embed, iframe, video, audio {
    max-width: 100%;
}
button img {
    max-width: none;
}
table img {
    max-width: 50vw;
}

hr {
    border-top: solid var(--border);
    border-bottom: solid var(--background);
    border-width: 1px 0;
    height: 0;
    text-align: center;
    clear: both;
}

acronym,
abbr {
    cursor: help;
    border-bottom: 1px dotted;
    text-decoration: none;
    font-style: normal;
}
mark {
    background-color: var(--highlight);
    color: inherit;
}

pre,
code,
samp,
kbd {
    font-family: monospace;
    font-size: 9pt;
    direction: ltr;
    text-align: left;
    color: var(--text);
    padding: 0px 2px;
    border-radius: 4px;
    tab-size: 4;
}
samp,
kbd {
    border: 1px solid lightgray;
    background-color: #f5f5f5;
}
pre {
    overflow: auto;
    word-wrap: normal;
    border-radius: 4px;
    padding: .7em 1em .7em 2em;
    line-height: 1.2;
}

blockquote {
    padding: 0 .5em;
    border: solid var(--border);
    border-width: 0 0 0 .25em;
}
q:before,
q:after {
    content: '';
}
sub,
sup {
    font-size: .8em;
    line-height: 1;
}
sub { vertical-align: sub; }
sup { vertical-align: super; }
small { font-size: .8em; }

form {
    display: inline;
    margin: 0;
    padding: 0;
}
label {
    vertical-align: middle;
    cursor: pointer;
}
input,
textarea,
button,
select,
optgroup,
option {
    font: inherit;
    font-weight: normal;
    color: #333;
    background-color: #fff;
    line-height: normal;
    margin: 0;
    vertical-align: middle;
    box-sizing: border-box;
}
select {
    max-width: 100%;
}
optgroup {
    font-style: italic;
    font-weight: bold;
}
option {
    font-style: normal;
    font-weight: normal;
}
option:checked {
    background-color: #ccc;
}
input,
textarea,
select {
    border: 1px solid #ccc;
    box-shadow: inset 0 0 1px #eee;
    border-radius: 2px;
}
input:active,
input:focus,
textarea:active,
textarea:focus,
select:active,
select:focus {
    border-color: #999;
}
button {
    color: #333;
    background-color: #eee;
    background-image: linear-gradient(to bottom, #ffffff 0%, #f4f4f4 30%, #eeeeee 99%, #cccccc 99%);
    border: 1px solid #ccc;
    border-radius: 2px;
    padding: .1em .5em;
    cursor: pointer;
}
button:hover,
button:active,
button:focus {
    border-color: #999;
    background-color: #ddd;
    background-image: linear-gradient(to bottom, #ffffff 0%, #f4f4f4 30%, #dddddd 99%, #bbbbbb 99%);
}
textarea[readonly] {
    cursor: auto;
    opacity: .5;
    background-color: #eee;
}

span.katex-display > span.katex {
    text-align: left;
    margin-left: 2em;
}

/* structure
********************************************************************/

body {
    margin: 0 auto;
}
#dokuwiki__site {
    margin: 0 auto;
    max-width: var(--site-width);
}
#dokuwiki__site > .site {
    /* room for the page tools on the right, and the same on the left */
    padding: 0 40px;
}
#dokuwiki__header {
    width: 100%;
}
#dokuwiki__header .headings {
    float: left;
}
#dokuwiki__header .tools {
    float: right;
    text-align: right;
}
#dokuwiki__site .wrapper {
    position: relative;
    display: flex;
    align-items: stretch;
}
#dokuwiki__content {
    flex: 1 1 auto;
    min-width: 0;
}
#dokuwiki__footer {
    clear: both;
}

/* header
********************************************************************/

#dokuwiki__header {
    padding: 2em 0 1.5em;
    background-image: url(../images/bg-code-dark.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 0 0 4px 4px;
    margin-bottom: 0.2em;
}
#dokuwiki__header .pad.group {
    padding: 0 1em 0 1em;
}
#dokuwiki__header .headings,
#dokuwiki__header .tools {
    margin-bottom: 1.5em;
    width: 49%;
}
#dokuwiki__header .tools {
    margin-top: .2em;
}
#dokuwiki__header .logo {
    margin: 0;
    font-size: 1.8em;
    font-weight: normal;
    line-height: 1.2;
}
#dokuwiki__header .logo img {
    float: left;
    margin-right: .5em;
    height: 96px;
    width: auto;
    border-radius: 4px;
    box-shadow: 4px 2px 20px #3f3f3f;
}
#dokuwiki__header .logo span {
    display: block;
    padding-top: 10px;
    font-size: 1.5em;
    color: white;
    font-weight: bold;
    text-shadow: 2px 2px black;
}
#dokuwiki__header .logo a {
    text-decoration: none;
    color: white;
    background-color: inherit;
}
#dokuwiki__header a {
    color: white;
    background-color: inherit;
}

/* the current tool is bold */
.mode_recent .action.recent a,
.mode_index .action.index a,
.mode_media .action.media a,
.mode_backlink .action.backlink a {
    font-weight: bold;
}

#dokuwiki__header .tools ul {
    padding-left: 0;
    margin-bottom: 0;
}
#dokuwiki__header .tools li {
    font-size: 0.875em;
    margin-left: 1em;
    list-style: none;
    display: inline;
    vertical-align: top;
}
#dokuwiki__header .tools form.search div.ajax_qsearch li {
    font-size: 1em;
    margin-left: 0;
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
}
#dokuwiki__header .mobileTools {
    display: none;
}

#dokuwiki__sitetools {
    text-align: right;
    margin-right: 1em;
}
#dokuwiki__sitetools form.search {
    font-size: 0.875em;
}
#dokuwiki__sitetools a {
    color: white;
}

form.search {
    display: block;
    position: relative;
    margin-bottom: 0.5em;
}
form.search input {
    width: 20em;
    padding: .5em;
}
form.search button {
    background: transparent url(../images/search.png) no-repeat 0 0;
    border-width: 0;
    width: 19px;
    height: 14px;
    text-indent: -99999px;
    margin-left: -20px;
    box-shadow: none;
    padding: 0;
}

/* the quick search popup */
.dokuwiki form.search div.no {
    position: relative;
}
.dokuwiki form.search div.ajax_qsearch {
    position: absolute;
    top: -.35em;
    left: -13.5em;
    width: 12em;
    padding: 0.5em;
    font-size: 1em;
    text-overflow: ellipsis;
    z-index: 20;
    text-align: left;
    display: none;
}
.dokuwiki form.search div.ajax_qsearch strong {
    display: block;
    margin-bottom: .3em;
}
.dokuwiki form.search div.ajax_qsearch ul {
    margin: 0 !important;
    padding: 0 !important;
}
.dokuwiki form.search div.ajax_qsearch ul li {
    margin: 0;
    padding: 0;
    display: block !important;
}
/* the header makes its links white; these sit on the white popup */
#dokuwiki__header form.search div.ajax_qsearch a {
    color: var(--existing);
}

.JSpopup {
    background-color: var(--background);
    color: var(--text);
    border: 1px solid var(--border);
    box-shadow: .1em .1em .1em var(--border);
    border-radius: 2px;
    padding: .3em .5em;
    font-size: .9em;
}
.JSpopup ul,
.JSpopup ol {
    padding-left: 0;
}

/* content
********************************************************************/

.dokuwiki .pageId {
    float: right;
    margin-right: -1em;
    margin-bottom: -1px;
    margin-top: -1.5em;
    overflow: hidden;
    padding: 0.5em 1em 0;
}
.dokuwiki .pageId span {
    font-size: 0.875em;
    border: solid var(--border);
    border-width: 1px 1px 0;
    background-color: var(--background);
    color: var(--text);
    font-weight: bold;
    padding: .1em .35em;
    border-top-left-radius: 2px;
    border-top-right-radius: 2px;
    display: block;
}
.dokuwiki .pageId span:empty {
    visibility: hidden;
}

.dokuwiki div.page {
    clear: both;
    background: var(--background);
    color: inherit;
    border: 1px solid var(--border);
    border-radius: 4px;
    border-top-right-radius: 0;
    padding: 1.556em 2em 2em;
    margin-bottom: .5em;
    overflow-x: clip;
    overflow-y: visible;
    word-wrap: break-word;
    /* tall enough for the page tools: 30px icons x 6 + 2 x 5px */
    min-height: 190px;
}
.dokuwiki .docInfo {
    font-size: 0.875em;
    text-align: right;
    overflow-wrap: break-word;
    color: var(--text-alt);
}

.dokuwiki .wrapper {
    margin-bottom: 1.4em;
}
#dokuwiki__footer {
    margin-bottom: 1em;
    text-align: center;
    color: var(--text-alt);
}
#dokuwiki__footer > .pad {
    font-size: 0.875em;
}
#dokuwiki__footer div.license {
    margin-bottom: 0.5em;
    font-size: 100%;
}
#dokuwiki__footer div.buttons a img {
    opacity: 0.5;
}
#dokuwiki__footer div.buttons a:hover img,
#dokuwiki__footer div.buttons a:active img,
#dokuwiki__footer div.buttons a:focus img {
    opacity: 1;
}

/* page tools
********************************************************************/

#dokuwiki__pagetools {
    position: absolute;
    right: -44px;
    /* on the level of the first heading, since .page has 2em padding */
    top: 2em;
    width: 44px;
}
#dokuwiki__pagetools div.tools {
    position: fixed;
    width: 44px;
}
#dokuwiki__pagetools div.tools ul {
    position: absolute;
    right: 0;
    text-align: right;
    margin: 0;
    padding: 0;
    /* a transparent border keeps it from jumping when the real one appears */
    border: 1px solid transparent;
    z-index: 10;
}
#dokuwiki__pagetools div.tools ul li {
    padding: 0;
    margin: 0;
    list-style: none;
    font-size: 0.875em;
}
#dokuwiki__pagetools div.tools ul li a {
    display: block;
    border: 1px solid transparent;
    white-space: nowrap;
    line-height: 36px;
    vertical-align: middle;
    height: 36px;
}
#dokuwiki__pagetools div.tools ul li a span {
    display: none;
    margin: 0 8px;
}
#dokuwiki__pagetools div.tools ul li a svg {
    width: 28px;
    height: 28px;
    margin: 0 8px;
    display: inline-block;
    vertical-align: middle;
    fill: var(--border);
}
#dokuwiki__pagetools div.tools ul li a:active,
#dokuwiki__pagetools div.tools ul li a:focus,
#dokuwiki__pagetools div.tools ul li a:hover {
    background-color: var(--background-alt);
    text-decoration: none;
}
#dokuwiki__pagetools div.tools ul li a:active span,
#dokuwiki__pagetools div.tools ul li a:focus span,
#dokuwiki__pagetools div.tools ul li a:hover span {
    display: inline-block;
}
#dokuwiki__pagetools div.tools ul li a:active svg,
#dokuwiki__pagetools div.tools ul li a:focus svg,
#dokuwiki__pagetools div.tools ul li a:hover svg {
    fill: var(--link);
}
#dokuwiki__pagetools:hover div.tools ul,
#dokuwiki__pagetools:focus-within div.tools ul {
    background-color: var(--background);
    border-color: var(--border);
    border-radius: 2px;
    box-shadow: 2px 2px 2px var(--text-alt);
}
#dokuwiki__pagetools:hover div.tools ul li a span,
#dokuwiki__pagetools:focus-within div.tools ul li a span {
    display: inline-block;
}

/* page content
********************************************************************/

.dokuwiki a.wikilink1 {
    color: var(--existing);
    background-color: inherit;
}
.dokuwiki a.wikilink2 {
    color: var(--missing);
    background-color: inherit;
    text-decoration: none;
}
.dokuwiki a.wikilink2:link,
.dokuwiki a.wikilink2:visited {
    border-bottom: 1px dashed;
}
.dokuwiki a.wikilink2:hover,
.dokuwiki a.wikilink2:active,
.dokuwiki a.wikilink2:focus {
    border-bottom-width: 0;
}
/* pages whose title starts with "(WIP)" */
.dokuwiki a.wikilink-wip {
    color: #c8a500;
}
.dokuwiki a.wikilink-wip:visited {
    color: #a88d00;
}
.dokuwiki a.wikilink-wip:hover,
.dokuwiki a.wikilink-wip:active,
.dokuwiki a.wikilink-wip:focus {
    color: #e6b800;
}

/* external links carry the site's favicon (set inline) */
.dokuwiki a.urlextern,
.dokuwiki a.mail,
.dokuwiki a.mediafile,
.dokuwiki a.interwiki {
    background-size: 1.2em;
    background-repeat: no-repeat;
    background-position: 0 center;
}
.dokuwiki a.urlextern {
    color: var(--link);
    padding-left: 1.4em;
}
.dokuwiki a.iw_doku {
    background-image: url(../images/interwiki-doku.svg);
    padding-left: 1.4em;
}

.dokuwiki img.media {
    margin: .2em 0;
}
.dokuwiki img.medialeft {
    margin: .2em 1em .2em 0;
}
.dokuwiki img.mediaright {
    margin: .2em 0 .2em 1em;
}
.dokuwiki img.mediacenter {
    margin: .2em auto;
}

/* bullets in the text colour, numbers a shade lighter */
.dokuwiki .page ul li::marker {
    color: var(--text);
}
.dokuwiki .page ol li::marker {
    color: var(--text-neu);
}

.dokuwiki div.table {
    overflow-x: auto;
    margin-bottom: 1.4em;
    min-width: 50%;
}
.dokuwiki div.table table {
    margin-bottom: 0;
}
.dokuwiki table.inline {
    min-width: 50%;
}
.dokuwiki table.inline tr:hover td {
    background-color: var(--background-alt);
}
.dokuwiki table.inline tr:hover th {
    background-color: var(--border);
}

/* downloadable code blocks */
.dokuwiki dl.code dt,
.dokuwiki dl.file dt {
    border: 1px solid var(--border);
    border-top-left-radius: .3em;
    border-top-right-radius: .3em;
    padding: .3em .6em .1em;
    margin-bottom: -1px;
    float: left;
}
.dokuwiki dl.code dt a,
.dokuwiki dl.file dt a {
    background-color: transparent;
    font-size: 0.875em;
    font-weight: normal;
    display: block;
    min-height: 16px;
}
.dokuwiki dl.code dd,
.dokuwiki dl.file dd {
    margin: 0;
    clear: left;
}
.dokuwiki dl.code pre,
.dokuwiki dl.file pre {
    box-shadow: inset -4px -4px .5em -.3em var(--border);
}
.dokuwiki dl.file pre,
.dokuwiki dl.file dt {
    border-style: dashed;
}
.dokuwiki dl.file dt {
    border-bottom-style: solid;
}

/* footnotes */
div.insitu-footnote {
    max-width: 40%;
    min-width: 5em;
}
.dokuwiki div.footnotes {
    border-top: 1px solid var(--border);
    padding: .5em 0 0 0;
    margin: 1em 0 0 0;
    clear: both;
}
.dokuwiki div.footnotes div.fn div.content {
    display: inline;
}
.dokuwiki div.footnotes div.fn sup a.fn_bot {
    font-weight: bold;
}

/* table of contents
********************************************************************/

#dw__toc {
    float: right;
    margin: -1.556em -2em .5em 1.4em;
    width: var(--sidebar-width);
    border-left: 1px solid var(--border);
    background: var(--background);
    color: inherit;
}
#dw__toc > summary {
    display: block;
    list-style: none;
    margin: 0;
    cursor: pointer;
}
#dw__toc > summary::-webkit-details-marker {
    display: none;
}
.dokuwiki h3.toggle {
    padding: .5em 1em;
    margin-bottom: 0;
    font-size: .875em;
    font-weight: bold;
    letter-spacing: .1em;
}
.dokuwiki .toggle strong {
    float: right;
    background: transparent url(../images/toc-arrows.png) 0 0;
    width: 8px;
    height: 5px;
    margin: .4em 0 0;
}
#dw__toc:not([open]) .toggle strong {
    background-position: 0 -5px;
}
#dw__toc > div {
    font-size: 0.875em;
    padding: .5em 1em 1em;
}
#dw__toc ul {
    padding: 0 0 0 1.2em;
    margin: 0;
}
#dw__toc ul li {
    list-style: url(../images/toc-bullet.png);
    padding: 0;
    margin: 0;
    line-height: 1.1;
}
#dw__toc ul li div.li {
    padding: .2em 0;
}
#dw__toc ul ul {
    padding-left: 1em;
}

/* sitemap and backlinks
********************************************************************/

.dokuwiki ul.idx {
    padding-left: 0;
}
.dokuwiki ul.idx li {
    list-style-image: url(../images/bullet.png);
}
.dokuwiki ul.idx li.closed {
    list-style-image: url(../images/closed.png);
}
.dokuwiki ul.idx li.closed:has(> details[open]) {
    list-style-image: url(../images/open.png);
}
.dokuwiki ul.idx details {
    margin: 0;
}
.dokuwiki ul.idx summary {
    display: block;
    list-style: none;
    margin: 0;
    line-height: inherit;
    cursor: pointer;
}
.dokuwiki ul.idx summary::-webkit-details-marker {
    display: none;
}
.dokuwiki ul.idx .idx_dir {
    color: var(--link);
}
.dokuwiki ul.idx summary:hover .idx_dir {
    text-decoration: underline;
}

/* search results
********************************************************************/

.dokuwiki .search_hit {
    color: var(--text);
    background-color: var(--highlight);
}
.dokuwiki div.nothing {
    margin-bottom: 1.4em;
}
.dokuwiki div.search_quickresult {
    margin-bottom: 1.4em;
}
.dokuwiki div.search_quickresult ul {
    padding: 0;
}
.dokuwiki div.search_quickresult ul li {
    float: left;
    width: 12em;
    margin: 0 1.5em;
}
.dokuwiki dl.search_results {
    margin-bottom: 1.2em;
}
.dokuwiki dl.search_results dt {
    font-weight: normal;
    margin-bottom: .2em;
}
.dokuwiki dl.search_results dd.meta {
    margin: 0 0 .2em 0;
}
.dokuwiki dl.search_results dd.snippet {
    color: var(--text-alt);
    background-color: inherit;
    margin: 0 0 1.2em 0;
}
.dokuwiki dl.search_results dd.snippet strong.search_hit {
    font-weight: normal;
}

/* recent changes, media and page source
********************************************************************/

.dokuwiki form.changes ul li,
.dokuwiki ul.media__list li {
    list-style: none;
    margin-left: 0;
}
.dokuwiki form.changes ul li span,
.dokuwiki form.changes ul li a,
.dokuwiki ul.media__list li span,
.dokuwiki ul.media__list li a {
    vertical-align: middle;
}
.dokuwiki ul.media__list {
    padding-left: 0;
}
.dokuwiki ul.media__list .media__thumb img {
    width: 30px;
    height: 30px;
    object-fit: cover;
    border: 1px solid var(--border);
}
.dokuwiki ul.media__list .size,
.dokuwiki ul.media__list .date {
    color: var(--text-alt);
}
.dokuwiki textarea.edit {
    width: 100%;
    margin-bottom: .5em;
    resize: vertical;
    font-family: Consolas, "Andale Mono WT", "Andale Mono", "Bitstream Vera Sans Mono", "Nimbus Mono L", Monaco, "Courier New", monospace;
}

/* code: GeSHi's colours on Prism's tokens
********************************************************************/

.code .token.comment,
.code .token.prolog,
.code .token.doctype,
.code .token.cdata,
.code .token.shebang {
    color: #6a737d;
    font-style: italic;
}
.code .token.keyword,
.code .token.boolean,
.code .token.important,
.code .token.atrule {
    color: #003d99;
    font-weight: bold;
}
.code .token.builtin {
    color: #0052a3;
}
.code .token.string,
.code .token.char,
.code .token.template-string,
.code .token.attr-value {
    color: #cc6600;
}
.code .token.number {
    color: #9900cc;
}
.code .token.operator,
.code .token.punctuation {
    color: #666666;
}
.code .token.variable,
.code .token.regex {
    color: #007700;
}
.code .token.tag,
.code .token.selector {
    color: #0086b3;
    font-weight: bold;
}
.code .token.attr-name,
.code .token.property {
    color: #008080;
}
.code .token.deleted {
    color: #cc0000;
}
.code .token.inserted {
    color: #007700;
}
/* a preprocessor line is one colour, whatever Prism finds inside it */
.code .token.macro,
.code .token.macro .token {
    color: #6a737d;
    font-style: italic;
    font-weight: normal;
}

/* texrender, p5sketch and circuitjs
********************************************************************/

.texrender--left,
.texrender--error {
    margin: 1.4em 0;
}
.texrender--left {
    text-align: left;
    padding-left: 2em;
}
.texrender__svg {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
}
.texrender--inline {
    display: inline-block;
    margin: 0 .08em;
}
.texrender--inline > .texrender__svg {
    display: block;
    max-width: 100%;
    height: auto;
}
.texrender--inlineerror {
    color: var(--missing);
    white-space: nowrap;
}
.texrender__errorhead {
    margin: 0 0 .3em;
    font-weight: bold;
    color: var(--missing);
}
.texrender__log {
    margin: 0;
    white-space: pre-wrap;
    word-wrap: break-word;
}

.p5sketch__wrap {
    margin: 1.4em 0;
    padding-left: 2em;
}
.p5sketch {
    display: block;
    max-width: 100%;
    border: 1px solid var(--border);
    border-radius: 2px;
    background: var(--background-alt);
    color-scheme: light;
}

.circuitjs {
    margin: 1.4em 0;
    padding-left: 2em;
}
.circuitjs__stage {
    position: relative;
    max-width: 100%;
    box-sizing: border-box;
    background: var(--background-alt);
}
.circuitjs__frame {
    display: block;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    border: 1px solid var(--border);
    border-radius: 2px;
    background: #fff;
    color-scheme: light;
}
.circuitjs__fallback {
    display: none;
    position: absolute;
    inset: 0;
    box-sizing: border-box;
    margin: 0;
    overflow: auto;
    white-space: pre;
    word-wrap: normal;
}
.no-js .circuitjs__frame {
    display: none;
}
.no-js .circuitjs__fallback {
    display: block;
}

/* tablets
********************************************************************/

@media only screen and (max-width: 800px) {
    #dokuwiki__site .wrapper {
        display: block;
    }
    #dokuwiki__content {
        width: 100%;
    }
    #dw__toc {
        float: none;
        margin: 0 0 1em 0;
        width: auto;
        border-left-width: 0;
        border-bottom: 1px solid var(--border);
    }
    .dokuwiki h3.toggle {
        padding: 0 .5em .5em 0;
    }
    #dw__toc > div {
        padding: .2em 0 .5em;
    }
    .dokuwiki div.page {
        padding: 1em;
    }
    #dokuwiki__pagetools {
        top: 0;
    }
    .dokuwiki form.changes ul {
        padding-left: 0;
    }
}

/* phones
********************************************************************/

@media only screen and (max-width: 480px) {
    body {
        font-size: 100%;
    }
    #dokuwiki__site {
        max-width: 100%;
    }
    #dokuwiki__site > .site {
        padding: 0;
    }
    #dokuwiki__site #dokuwiki__header,
    #dokuwiki__site .group {
        border-radius: 0;
    }
    #dokuwiki__header {
        padding: .5em 0;
    }
    #dokuwiki__header ul.a11y.skip {
        position: static !important;
        left: 0 !important;
        width: auto !important;
        height: auto !important;
        float: right;
        font-size: 0.875em;
        list-style: none;
        padding-left: 0;
        margin: 0;
    }
    #dokuwiki__header ul.a11y.skip li {
        margin-left: .35em;
        display: inline;
    }
    #dokuwiki__header .headings,
    #dokuwiki__header .tools {
        float: none;
        text-align: left;
        width: auto;
        margin-bottom: .5em;
    }
    #dokuwiki__sitetools {
        text-align: left;
    }
    #dokuwiki__sitetools ul,
    #dokuwiki__sitetools h3,
    #dokuwiki__pagetools,
    .dokuwiki .pageId {
        display: none;
    }
    #dokuwiki__sitetools form.search {
        float: left;
        margin: 0 .2em .2em 0;
        width: 49%;
    }
    #dokuwiki__sitetools form.search input {
        width: 100% !important;
    }
    .dokuwiki form.search div.ajax_qsearch {
        display: none !important;
    }
    #dokuwiki__header .mobileTools {
        display: block;
        font-size: 0.875em;
        margin: 0 0 .2em 0;
        float: right;
        width: 49%;
    }
    #dokuwiki__header .mobileTools select {
        padding: .3em .1em;
        width: 100% !important;
    }
    .js #dokuwiki__header .mobileTools button {
        display: none;
    }
    #dokuwiki__sitetools form.search input,
    #dokuwiki__header .mobileTools select {
        height: 2.1em;
        line-height: 2.1em;
        overflow: visible;
    }
    .dokuwiki div.page {
        padding: .5em;
    }
    .dokuwiki textarea {
        width: auto !important;
        max-width: 100% !important;
    }
}

/* windows too short for the page tools */
@media only screen and (max-height: 400px) {
    #dokuwiki__pagetools div.tools {
        position: static;
    }
}

/* print
********************************************************************/

@media print {
    body {
        font: normal 87.5%/1.3 Garamond, Baskerville, "Hoefler Text", "Nimbus Roman No9 L", serif;
        background: #fff;
        color: #000;
    }
    .a11y,
    audio,
    video,
    #dokuwiki__header .tools,
    .dokuwiki .pageId,
    #dw__toc,
    #dokuwiki__pagetools,
    #dokuwiki__footer,
    .p5sketch {
        display: none;
    }
    #dokuwiki__header {
        background: none;
        padding: 0;
    }
    #dokuwiki__header .logo span {
        color: #000;
        text-shadow: none;
    }
    .dokuwiki div.page {
        border: 0;
        padding: 0;
    }
    a:link,
    a:visited {
        text-decoration: none;
        border-bottom: 1pt dotted;
        color: #333;
    }
}
