
#context table {
    border: thin solid silver;
}

#context td {
    border: thin solid silver;
}

#context th {
    border: thin solid white;
}

#context-menu {
    border-right: thin dotted silver;
    padding-inline: 0 .5em;
}

#context-menu li {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

#context-menu li a:not([href]) {
    text-decoration-line: underline;
    text-decoration-style: solid;
}

#context-menu ul {
    margin-block-start: 0;
    max-width: 18vw;
    padding-inline-start: 0;
}

#news p {
    line-height: 2em;
}

#news time {
    white-space: nowrap;
}

#news ul {
    border: thin solid silver;
    max-height: 30em;
    overflow: auto;
}

.calc tr:last-child td {
    padding: .5em 1.5em;
}

.filechooser label {
    display: inline-block;
    line-height: 1.5em;
    padding-block: .25em;
}

.files {
    table-layout: fixed;
    width: 100%;
}

.files [data-file="1"] {
    border: thin dashed black !important;
    border-radius: 1rem;
}

.files [data-file="2"] {
    border: thin solid black !important;
    border-radius: 1rem;
}

.files input[type="checkbox"] {
    margin: 0;
}

.files td {
    overflow: hidden;
}

.files th {
    overflow: hidden;
}

.files tr[data-fold] th:not([data-file]) {
    color: gainsboro;
}

.files tr[data-fold]+tr {
    display: none;
}

.g:has(td:empty) {
    display: none;
}

.g:nth-child(even) td:first-child {
    background-color: cornsilk;
}

.g:nth-child(even) td:last-child {
    background-color: gainsboro;
}

.g input:not([data-init]):before {
    content: "🚧";
}

.g label {
    display: inline-block;
    margin-block: .25em;
    min-width: 4em;
    white-space: nowrap;
}

.info {
    max-width: 61.8vw;
    min-width: 25vmin;
}

.info article {
    overflow: auto;
    padding-block-end: 1em;
}

.info details {
    margin-block-end: .5em;
}

.info td {
    padding: 0 .25em;
}

.info th {
    padding: 0 .25em;
    text-align: left;
}

.info tr:hover td {
    background-color: ivory;
}

.last:not([data-end])::after {
    content: "\1F4A4";
    font-family: "Noto Color Emoji";
    line-height: 1em;
}

.last:not([data-end]):has(time:not([disabled]))::after {
    content: "\1F4A5";
}

.last time[disabled] {
    color: silver;
}

.move {
    white-space: nowrap;
}

.move td:first-child {
    min-width: 10em;
}

.move td:last-child {
    min-width: 20em;
}

figcaption {
    border-bottom: thin solid ghostwhite;
    margin-block: 0 1em;
    padding: .25em .5em;
}

figure {
    display: inline-block;
    margin: 0 .5em .5em .5em;
    vertical-align: top;
}

figure:empty {
    display: none;
}

figure button {
    float: right;
}

figure em {
    font-size: 75%;
    line-height: 1em;
}

figure select {
    margin-block: .25em;
}

li {
    line-height: 1.25em;
    margin-block: .25em;
}

li a[href]:not(:hover) {
    color: silver;
    text-decoration: none;
}

td {
    line-height: 1.25em;
    vertical-align: top;
}

ul {
    padding-inline: 1.75em .5em;
}
