Jake Vanderwerf
2026-02-13 f35f71571671f0b9cf3267e21f5e465c0303f471
all.css
@@ -7,7 +7,7 @@
Requires at least: 6.4
Tested up to: 6.4
Requires PHP: 7.0
Version: 1.5.9
Version: 1.5.95
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: jv
@@ -544,13 +544,13 @@
        animation: none!important;
    }
}
body:has(aside.expanded),
body:has(nav.open),
body:has(dialog[open]),
body.loading {
    overflow: hidden;
    max-height:100vh;
}
/*body:has(aside.expanded),*/
/*body:has(nav.open:not(.drawer)),*/
/*body:has(dialog[open]),*/
/*body.loading {*/
/*    overflow: hidden;*/
/*    max-height: 100vh;*/
/*}*/
main {
    display: grid;
@@ -615,6 +615,12 @@
    box-shadow: rgba(var(--base-rgb), var(--op-45)) var(--shdw-down);
    transition: top var(--trans-base);
}
header a[rel="home"] {
    display: flex;
    align-items: center;
    max-height:var(--btn);
    overflow:hidden;
}
.scroll-progress {
@@ -837,6 +843,7 @@
.font-small { font-size: var(--txt-x-small); }
.font-medium { font-size: var(--txt-medium); }
.font-large { font-size: var(--txt-large); }
.font-x-large { font-size: var(--txt-x-large); }
/**************************************************************
UTILITY CLASSES - SPACING
**************************************************************/
@@ -895,6 +902,7 @@
.pb-7 { padding-bottom: var(--sp7); }
/** MARGIN **/
.m-0 {margin: 0;}
.m-1 {margin: var(--sp1);}
.m-2 {margin: var(--sp2);}
.m-3 {margin: var(--sp3);}
@@ -951,9 +959,9 @@
/**************************************************************
UTILITY CLASSES - TEXT & VISIBILITY
**************************************************************/
.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }
.align-center { text-align: center; }
.align-left { text-align: left; }
.align-right { text-align: right; }
*[hidden] {
    display: none!important;
@@ -1172,10 +1180,72 @@
.grid-view .item,
.item-grid .item {
    border-radius: var(--radius-outer);
    aspect-ratio: 1;
    display:flex;
    filter: none;
    position: relative;
}
    .item-grid.list-view {
        gap: 0;
    }
    .item-grid.list-view .item {
        aspect-ratio: unset;
        align-items: flex-start;
        border-radius: 4px;
        padding: 1rem 0;
    }
    .list-view .item:nth-of-type(even) {
        background-color: var(--base);
    }
    .list-view .item-select {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 18vh;
    }
        .list-view .item .col {
            padding: 0 var(--chip_) 0 1rem;
        }
        .list-view .abs {
            right:0;
            top:0;
            width:max-content;
            --dir:column-reverse;
            justify-content: flex-end;
        }
    .item.col {
        --wrap: nowrap;
    }
    .votes,
    .favourite {
        position: absolute;
        z-index: var(--z-1);
        box-shadow: rgba(var(--base-rgb),var(--op-2)) var(--shdw);
        background-color: rgba(var(--base-rgb),var(--op-2));
    }
        .favourite .icon-heart-fi,
        .favourited .icon-heart {
            display: none;
        }
        .favourited .icon-heart-fi,
        .favourite .icon-heart {
            display: block;
        }
.votes {
    bottom: 0;
    right: 0;
}
.favourite {
    top: 0;
    left: 0;
}
.item-grid .item .images,
.item-grid .item .images a{
    aspect-ratio: 1;
    width: 100%;
    height: 100%;
    display: flex;
}
.item-grid button {
    --height: max-content;
@@ -1190,8 +1260,7 @@
.item-grid.list-view {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    --gap: 2rem;
    gap: 0;
}
.item-grid.list-view .item .col {
@@ -1212,6 +1281,7 @@
/******************************************************************
INTERACTIVE ELEMENTS - BASE
******************************************************************/
li.btn,
button,
[type=submit],
a.button,
@@ -1271,6 +1341,8 @@
/******************************************************************
INTERACTIVE ELEMENTS - STATES
******************************************************************/
li.btn:hover,
li.btn:focus,
button:hover,
button:focus,
[type=submit]:hover,
@@ -1363,7 +1435,9 @@
details .icon {
    --w: 1.5em;
}
details .filters .icon {
    --w: 1em;
}
button.voted .icon,
button.favourite.favourited {
    animation: favourite-pop .4s cubic-bezier(.25, .46, .45, .94);
@@ -1381,6 +1455,9 @@
    background-color: transparent;
    white-space: nowrap;
    font-size: 1rem;
    height: var(--chip_);
    width: var(--chip_);
    min-height: 0;
    padding: .35em;
    --w: 1.2em;
}
@@ -1598,7 +1675,77 @@
    touch-action: pan-x;
    text-transform: lowercase;
}
    .term-list small {
        vertical-align: baseline;
        margin-left: .5rem;
        font-style: italic;
    }
    .term-list li {
        display: flex;
        align-items: center;
    }
    .term-list a {
        align-items: center;
    }
.directory-list > ul
{
    max-width: 100%;
}
.directory-list img {
    width: 70px;
}
    .directory-list .image {
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
    }
    .directory-list h3 {
        margin: 0;
        text-align: center;
        font-weight: var(--fw-h-bold);
        font-family: var(--heading);
        position: sticky;
        font-size: var(--txt-enormous);
        width: 100%;
        top: 0;
        left: 0;
        color: var(--base);
        text-shadow: var(--base-200) 1px 1px 0;
        user-select:none;
    }
    .directory-list > ul > li {
        padding: 2rem;
        align-items: center;
    }
        .directory-list > ul > li:nth-of-type(even) {
            background-color: var(--base-100);
        }
    .directory-list ul ul {
        width: 100%;
    }
    .directory-list ul ul li {
        padding: .35rem .5rem;
    }
    .directory-list ul ul li:nth-of-type(even) {
        background-color:var(--base);
    }
    @media (min-width: 768px) {
        .directory-list h3 {
            width: 20vw;
        }
        .directory-list > ul {
            width: 100%;
        }
        .directory-list ul ul {
            min-height: var(--txt-enormous);
        }
        .directory-list > ul > li {
            padding: 2rem 10vw;
        }
    }
/**************************************************
COVER BLOCK
**************************************************/
@@ -1625,9 +1772,11 @@
    position: absolute;
    inset: 0;
    width: 100%;
    max-width: 100%;
    height: 100%;
}
.cover .content {
    z-index: 5;
    position: relative;
@@ -1756,7 +1905,7 @@
dialog > .wrap,
dialog > form {
    max-height: 100%;
    max-height: var(--maxHeight);
    overflow: hidden auto;
    margin: 0 0 0 1.5rem;
    padding-right: 1.2rem;
@@ -1793,11 +1942,14 @@
.m-actions button {
    width: 100%;
    height: 3rem;
    height: var(--chipchip);
    border-radius: 0;
    font-size: var(--txt-x-small);
    --gap: .75rem;
    color: var(--action-contrast);
    background-color: var(--action-50);
    border: 2px solid var(--action-50);
    box-shadow:none;
}
.m-actions button:hover,
@@ -2143,6 +2295,7 @@
    --w: 3em;
    justify-content: center;
    align-items: center;
    inset: 0;
}
dialog.loading[open]@starting-style {
@@ -2596,12 +2749,26 @@
    animation: pulse 2s infinite;
}
.refreshNow.fetching .icon,
aside#queue.pending:not(.expanded) + .qtoggle .icon {
    background-color: var(--error);
    background-color: var(--action-0);
    animation: spin 1s var(--trans-fn) infinite;
}
/* Status count badge */
/*.refresh .countdown {*/
/*    --justify:center;*/
/*    --align: center;*/
/*    --offset: 0;*/
/*    left: .25rem;*/
/*    margin: 0 3px;*/
/*    border-radius: 50%;*/
/*    background-color: var(--base);*/
/*    width: 1em;*/
/*    height: 1em;*/
/*}*/
.refresh .countdown,
.qtoggle .count {
    --align: center;
    --justify: center;
@@ -2623,6 +2790,7 @@
    border-bottom: 1px solid var(--base-200);
    flex-shrink: 0;
    --height: max-content;
    width: 100%;
}
.qitems {
@@ -2650,6 +2818,36 @@
#queue .filters {
    padding: 1rem 0 0;
    width: 100%;
}
#queue .filters .btn + label {
    width: max-content;
    position: relative;
    height: var(--chip_);
    font-size: var(--txt-x-small);
    font-weight: var(--fw-h-light);
    box-shadow: var(--shdw-none);
}
#queue .filters label .count {
    width: 1em;
    height: 1em;
    position: absolute;
    top: -8px;
    right: -4px;
    background: var(--base-100);
    border-radius: 50%;
    z-index: 5;
}
#queue .filters label .count:empty {
    display: none;
}
#queue .failed .bar,
#queue .failed_permanent .bar {
    background-color: var(--error);
    opacity: .2;
}
#queue span.completed {
    margin-left: auto;
}
#queue .filters .filter {
@@ -2669,6 +2867,13 @@
    color: var(--action-contrast);
}
#queue .progress .row.btw {
    --justify: flex-end;
}
#queue .progress .details {
    font-size: var(--txt-small);
}
/* Filter count badge */
.filter .count {
    --offset: -8px;
@@ -2721,7 +2926,7 @@
}
#queue .item .status {
    --w: 1em;
    --w: 1.3em;
    --gap: 0;
    --justify:center;
    --align: center;
@@ -2732,10 +2937,11 @@
    color: var(--contrast-200);
    background-color: var(--base-50);
    border: 1px solid var(--base-200);
    width: 1.25em;
    height: 1.25em;
    width: 2em;
    height: 2em;
}
#queue .item .status.completed:hover {
    color: var(--contrast-200);
}
@@ -2745,6 +2951,7 @@
    padding: 0;
    line-height: 1;
    opacity: .5;
    min-height: 0;
    transition: opacity .2s;
}
@@ -2766,6 +2973,7 @@
/* Item actions */
#queue .item .actions {
    --gap: 8px;
    margin-top: 1rem;
}
#queue .item .actions button {
@@ -2808,15 +3016,6 @@
    font-size: var(--txt-x-small);
}
.refresh .countdown {
    --justify:center;
    --align: center;
    --offset: 0;
    right: var(--offset);
    margin: 0 3px;
    border-radius: 50%;
    border: 1px solid var(--base-200);
}
.refreshNow {
    width: var(--btn);
@@ -2832,11 +3031,6 @@
    --w: 18px;
}
/* Refreshing animation */
#queue.pending.expanded .refreshNow .icon {
    animation: spin 1.5s var(--trans-fn) infinite;
}
/**************************************************
DELAY
**************************************************/
@@ -3077,10 +3271,23 @@
    border-radius: 4px;
    padding: 0 .5rem;
    position: fixed;
    bottom: var(--btn_);
    right: calc(var(--btn_) + 1rem);
    top: var(--btnbtn);
    right: 1rem;
    --w: 1em;
    box-shadow:var(--shdw);
    display:flex;
    flex-wrap: nowrap;
    gap: 1rem;
}
@media (min-width: 768px) {
    .fstatus {
        right:calc(var(--btn_) + 1rem);
        bottom: 0;
        top: unset;
    }
    body:has(.fixed.bottom) .fstatus {
        bottom: var(--btn_);
    }
}
.fstatus .spinner {
@@ -3159,13 +3366,17 @@
    padding: 2rem;
}
.timeline.terms ul,
.timeline.terms {
    list-style: none;
    display: flex;
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
}
    .timeline.terms ul {
        gap: 1rem;
    }
.timeline.terms > li {
    width: 100%;
@@ -3495,7 +3706,8 @@
}
.no-referrals,
.loading {
.loading,
.message {
    text-align: center;
    padding: 1rem;
    color: var(--contrast-200);
@@ -3652,7 +3864,7 @@
.toggle-text label::before,
.toggle-text label::after {
    display: none;
    display: none!important;
}
.toggle-text label {
@@ -3661,7 +3873,8 @@
.toggle-text input + label .text {
    position: relative;
    margin: 0 .5rem;
    margin: 0;
    --gap: 0;
    font-weight: bold;
    width: fit-content;
    padding: 2px 4px;
@@ -3710,6 +3923,126 @@
    opacity: 1;
    transform: none;
}
/******************************************************************
TAXONOMY SELECTOR
******************************************************************/
.items-container {
    margin: 0;
    padding: 0;
    width: 100%;
}
details.create-term {
    margin-top: auto;
    width: 100%;
}
#jvb-selector .search-wrapper {
    margin-top: auto;
    width:100%;
}
.search-wrapper:not(.open) .search {
    margin-left: auto;
}
.search-wrapper + details.create-term {
    margin-top: 0;
}
details.create-term .field,
.create-term[open] summary {
    margin-bottom: 1rem;
}
details.create-term .field {
    max-width: 100%;
}
#jvb-selector > .wrap {
    --wrap: nowrap;
    --justify: flex-start;
}
#jvb-selector .items-wrap {
    width: 100%;
    padding: 1rem 0;
    border-top: 1px solid var(--base-200);
}
#jvb-selector .items-container {
    display: grid;
    grid-template-columns: repeat(2, 1fr)
}
#jvb-selector li {
    list-style: none;
}
#jvb-selector li label {
    padding-left: 0!important;
}
/*.auto-wrapper {*/
/*    position: absolute;*/
/*    bottom: -105%;*/
/*    background-color: rgba(var(--base-rgb), var(--op-5));*/
/*    backdrop-filter: blur(2px);*/
/*    border-radius: var(--radius);*/
/*    z-index: 1;*/
/*}*/
.autocomplete-dropdown {
    width: 100%;
    background-color: var(--base-100);
    padding: .5rem;
    box-shadow: rgba(var(--base-rgb),var(--op-45)) var(--shdw);
}
li.autocomplete {
    list-style: none;
    display: inline-flex;
    margin: 0.25rem;
    min-height: var(--chip);
}
.submit-term {
    gap: 0;
}
.submit-term strong {
    padding-right: 1rem;
}
.selected-items {
    width:100%;
    padding: .5rem;
    border-radius: var(--radius);
    background-color:var(--base);
    --justify: flex-start;
    --gap: .5rem;
    margin-bottom: .5rem;
}
.selected-items.selected-items:empty {
    padding:0;
    background-color:transparent;
    margin: 0;
}
.selected-item {
    padding: .25rem .5rem;
    margin: .125em;
    background: var(--base-100);
    border-radius: .25rem;
    font-size: var(--txt-medium);
    border: 1px solid var(--base-200);
    position: relative;
}
.remove-term.remove-term {
    min-height: 0;
    height: var(--chip);
    width: var(--chip);
    padding: 0;
    --w: .75em;
}
.clear-filters {
    margin-left: auto;
    border: 1px solid var(--base-200);
}
/**************************************************
ANIMATIONS
**************************************************/
@@ -3771,4 +4104,4 @@
    50% {
        transform: rotate(5deg) scale(1.1);
    }
}
}