@font-face {
    font-family: "Prisma";
    src: url(Prisma-MAX.woff2);
}
@font-face {
    font-family: "Charm";
    font-weight: 700;
    src: url(Charm-Bold-PoP.woff2);
}
body {
    background: #e6c185;
    font-family: "arial", "helvetica", "sans-serif";
}
.mono, pre, output, tt, code, samp {
    font-family: "source code pro", "monospace";
}
div.title {
    display: flex;
    width: 100%;
    white-space: nowrap;
    padding: 1em 0em;
    overflow: hidden;
    align-items: center;
}
div.title svg {
    padding: 0 20px;
}
div.title *, nav * {
    display: flex;
    margin: 0;
}
div.title .logo2 {
    text-align: right;
    padding: 0 25px;
    font-weight: 700;
    font-size: 50px;
    font-family: "Charm","Brush Script MT","cursive";
}
nav {
    display: flex;
    border-style: solid none solid none;
    border-width: 5px;
    border-color: white;
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
    align-items: stretch;
}
a {
    color: black;
    text-decoration: underline 2px;
}
nav a {
    color: black;
    font-weight: 600;
    text-align: center;
    text-decoration: none;
    padding-left: 1.5em;
    padding-right: 1.5em;
    align-items: center;
}
a:hover {
    background: #af9365;
}
.pad {
    flex-grow: 1;
}
nav .text {
    padding-top: 1em;
    padding-bottom: 1em;
}
nav img {
    align-items: center;
    border: 1px solid black;
    object-fit: none;
}
form fieldset {
    border: 5px solid white;
    border-radius: 1em;
    margin: 1em;
    padding: 0.5em 1em;
}
form fieldset legend {
    font-weight: bold;
    padding: 0.25em;
    background: #af9365;
}
fieldset > div, fieldset > label {
    margin: 0;
    padding: 0.5ch;
    display: flex;
}
fieldset > ul {
    margin: 0;
    padding: 0.5ch;
    display: block;
    list-style-position: inside;
}
fieldset > ul li {
    padding: 0.25ch 0;
}
fieldset > p {
    font-style: italic;
    font-size: 90%;
    margin: 0 0 0 33ch;
    padding: 0.5em 0.5ch;
}
fieldset b {
    /* Abusing <b> as a kind of superlabel tag */
    width: 30ch;
    font-weight: normal;
}
fieldset b::after {
    content: ":";
}
fieldset span.sep {
    padding: 0 0.5ch;
}
input[type='text'], input[type='password'] {
    flex: 1;
}
.iodev input[type='number'] {
    width: 8ch;
}
input.port {
    flex: 0.2;
    width: 8ch;
}
.tz select {
    padding: 0;
    margin: 0 0 0 1px;
}
button.show, button.hide {
    width: 6ch;
    padding: 0;
    margin: 0 0 0 1px;
    font-size: 70%;
}
button.show .hide {
    display: none;
}
button.hide .show {
    display: none;
}
button {
    width: 28ch;
    margin: 1em;
    padding: 0.25em;
    vertical-align: middle;
    font-family: "arial", "sans-serif";
    font-size: 100%;
}
progress {
    display: block;
    width: 100%;
    margin: 0.5em 0;
}
output {
    display: none;
    border: 2px solid black;
    margin: 1em;
    padding: 0.75em 1.25em;
    border-radius: 1em;
    white-space: pre-wrap;
}
.ok output {
    display: block;
    background: #e0ffe0;
}
.err output {
    display: block;
    background: #ffe0e0;
}
.onerr {
    display: none;
}
.err .onerr {
    display: block;
}
.onerr h3 {
    font-weight: bold;
    text-decoration: underline;
}
.ro input:disabled {
    font-family: inherit;
    font-size: inherit;
    background: inherit;
    color: inherit;
    border: 0;
    opacity: 1;
}
.wip {
    width: 80%;
    margin: 2em auto;
    border: 10px solid #e00000;
    padding: 10px 50px;
    font-weight: 600;
    font-style: italic;
    text-align: center;
    font-size: 110%;
    min-height: 80px;
    background-color: #f0c000;
    background-image: url("wip.png");
    background-repeat: no-repeat;
    background-position: 20px 50%;
    display: flex;
    align-items: center;
}
.wip p {
    flex: 1;
}
p.norev {
    font-weight: 600;
    font-size: 100%;
    margin: 0 0;
}
.hidden {
    display: none;
}
