@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
    }
body {
    margin-bottom: 6rem;
    }
#actions {
    background-color: var(--default-surface);
    padding: var(--default-gap-small) 0 var(--default-gap-xsmall) 0;
    position: sticky;
    top: 0;
    z-index: 10;
    }
#buttonUpdate.active {
    pointer-events: none;
    }
#buttonUpdate.active .fa-icon svg {
    animation: spin 1s linear infinite;
    transform-origin: 50%;
    }
#listsOfBlockedHostsPrompt {
    cursor: pointer;
    }
#lists {
    margin: 0.5em 0 0 0;
    padding: 0;
    }
#listsOfBlockedHostsPrompt::before,
.groupEntry:not([data-groupkey="user"]) .geDetails::before {
    color: var(--fg-0-50);
    content: '\2212';
    font-family: monospace;
    font-size: large;
    margin-inline-end: 0.25em;
    -webkit-margin-end: 0.25em;
    }
body.hideUnused #listsOfBlockedHostsPrompt::before,
.groupEntry.hideUnused:not([data-groupkey="user"]) .geDetails::before {
    content: '+';
    }
.groupEntry {
    margin: 0.5em 0;
    }
.groupEntry .geDetails {
    cursor: pointer;
    }
.groupEntry .geName {
    pointer-events: none;
    }
.groupEntry .geCount {
    color: var(--fg-0-60);
    font-size: 90%;
    pointer-events: none;
    }
.listEntries {
    margin-inline-start: 0.6em;
    -webkit-margin-start: 0.6em;
    }
.groupEntry:not([data-groupkey="user"]) .listEntry.unused {
    display: none;
    }
.listEntry > * {
    margin-left: 0;
    margin-right: 0;
    unicode-bidi: embed;
    }
.listEntry .listname {
    white-space: nowrap;
    }
.listEntry.toRemove .checkbox {
    visibility: hidden;
    }
.listEntry.toRemove .listname {
    text-decoration: line-through;
    }
.listEntry .fa-icon,
.listEntry .counts {
    color: var(--fg-0-50);
    display: none;
    fill: var(--fg-0-50);
    font-size: 120%;
    margin: 0 0.2em 0 0;
    }
.listEntry .fa-icon:hover {
    color: inherit;
    fill: inherit;
    }
.listEntry .content {
    display: inline-flex;
    }
.listEntry a.towiki {
    display: inline-flex;
    }
.listEntry.support a.support {
    display: inline-flex;
    }
.listEntry .remove,
.listEntry .unsecure,
.listEntry .failed {
    color: var(--fg-icon-info-lvl-4-dimmed);
    cursor: pointer;
    fill: var(--fg-icon-info-lvl-4-dimmed);
    }
.listEntry .remove:hover,
.listEntry .unsecure:hover,
.listEntry .failed:hover {
    color: var(--fg-icon-info-lvl-4);
    fill: var(--fg-icon-info-lvl-4);
    }
.listEntry.external .remove {
    display: inline-flex;
    }
.listEntry.mustread a.mustread {
    color: var(--fg-icon-info-lvl-1-dimmed);
    display: inline-flex;
    fill: var(--fg-icon-info-lvl-1-dimmed);
    }
.listEntry.mustread a.mustread:hover {
    color: var(--fg-icon-info-lvl-1);
    fill: var(--fg-icon-info-lvl-1);
    }
.listEntry .counts {
    color: var(--fg-0-60);
    font-size: smaller;
}
.listEntry.checked .counts {
    display: inline-block;
}
.listEntry .status {
    cursor: default;
    display: none;
}
.listEntry .status:hover {
    color: inherit;
    }
.listEntry.checked.unsecure .unsecure {
    display: inline-flex;
    }
.listEntry.failed .failed {
    display: inline-flex;
    }
.listEntry .cache {
    cursor: pointer;
    }
.listEntry.checked.cached:not(.obsolete) .cache {
    display: inline-flex;
    }
.listEntry .obsolete {
    color: var(--info-lvl-2-ink);
    fill: var(--info-lvl-2-ink);
    }
.listEntry .obsolete:hover {
    color: var(--info-lvl-2-ink-hover);
    fill: var(--info-lvl-2-ink-hover);
    }
body:not(.updating) .listEntry.checked.obsolete .obsolete {
    display: inline-flex;
    }
.listEntry .updating {
    transform-origin: 50%;
    }
body.updating .listEntry.checked.obsolete .updating {
    animation: spin 1s steps(8) infinite;
    display: inline-flex;
    }
.listEntry.toImport {
    margin: 0.5em 0;
    }
.listEntry.toImport textarea {
    border: 1px solid #ccc;
    box-sizing: border-box;
    display: block;
    font-size: smaller;
    height: 6em;
    margin: 0;
    resize: vertical;
    visibility: hidden;
    white-space: pre;
    width: 100%;
    }
.listEntry.toImport.checked textarea {
    visibility: visible;
    }

/* touch-screen devices */
:root.mobile .listEntry .fa-icon {
    font-size: 120%;
    margin: 0 0.5em 0 0;
    }
:root.mobile .listEntries {
    margin-inline-start: 0;
    -webkit-margin-start: 0;
    }
:root.mobile .li.listEntry {
    background-color: var(--bg-1);
    overflow-x: auto;
    }
:root.mobile .li.listEntry label > span:not([class]) {
    flex-grow: 1;
    }
:root.mobile .li.listEntry .listname,
:root.mobile .li.listEntry .iconbar {
    align-items: flex-start;
    display: flex;
    white-space: nowrap;
    }
:root.mobile .li.listEntry .iconbar {
    margin-top: 0.2em;
    }
