label.toggleRadioOrCheck:has(input:where([type=checkbox],[type=radio])),.toggleRadioOrCheck label:has(input:where([type=checkbox],[type=radio])){position:relative;display:flex;gap:.5em;align-items:center}label.toggleRadioOrCheck:has(input:where([type=checkbox],[type=radio])):focus-within,.toggleRadioOrCheck label:has(input:where([type=checkbox],[type=radio])):focus-within{outline-offset:.25rem;outline:.125rem outset currentColor}label.toggleRadioOrCheck:has(input:where([type=checkbox],[type=radio])) input,.toggleRadioOrCheck label:has(input:where([type=checkbox],[type=radio])) input{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%);border:0}label.toggleRadioOrCheck:has(input:where([type=checkbox],[type=radio])):before,.toggleRadioOrCheck label:has(input:where([type=checkbox],[type=radio])):before{content:"";height:1em;aspect-ratio:1 / 1;max-width:1em;background-color:var(--col_uncheckedBackground);border-radius:1em;margin-right:.25em;outline:2px solid currentColor}label.toggleRadioOrCheck:has(input:where([type=checkbox],[type=radio])):after,.toggleRadioOrCheck label:has(input:where([type=checkbox],[type=radio])):after{speak:none;pointer-events:none;display:grid;place-content:center;place-items:center;position:absolute;font-size:.5em;height:2em;aspect-ratio:1 / 1;background-color:var(--col_uncheckedForeground);color:var(--col_uncheckedText);border-radius:1em}label.toggleRadioOrCheck:has(input:where([type=checkbox],[type=radio])):has(input[type=checkbox]):before,.toggleRadioOrCheck label:has(input:where([type=checkbox],[type=radio])):has(input[type=checkbox]):before{aspect-ratio:2 / 1;max-width:2em;transition:background-color .2s ease-in-out}label.toggleRadioOrCheck:has(input:where([type=checkbox],[type=radio])):has(input[type=checkbox]):after,.toggleRadioOrCheck label:has(input:where([type=checkbox],[type=radio])):has(input[type=checkbox]):after{content:"✕";transition:background-color .2s ease-in-out,transform .2s ease-in-out}label.toggleRadioOrCheck:has(input:where([type=checkbox],[type=radio])):has(input:checked):before,.toggleRadioOrCheck label:has(input:where([type=checkbox],[type=radio])):has(input:checked):before{background-color:var(--col_checkedBackground)}label.toggleRadioOrCheck:has(input:where([type=checkbox],[type=radio])):has(input:checked):after,.toggleRadioOrCheck label:has(input:where([type=checkbox],[type=radio])):has(input:checked):after{content:"✓";color:var(--col_checkedText);background-color:var(--col_checkedForeground)}label.toggleRadioOrCheck:has(input:where([type=checkbox],[type=radio])):has(input:checked):has(input[type=checkbox]):after,.toggleRadioOrCheck label:has(input:where([type=checkbox],[type=radio])):has(input:checked):has(input[type=checkbox]):after{transform:translate(100%)}label.toggleRadioOrCheck:has(input:where([type=checkbox],[type=radio])):has(input:disabled),.toggleRadioOrCheck label:has(input:where([type=checkbox],[type=radio])):has(input:disabled){cursor:not-allowed}label.toggleRadioOrCheck:has(input:where([type=checkbox],[type=radio])):has(input:disabled):before,.toggleRadioOrCheck label:has(input:where([type=checkbox],[type=radio])):has(input:disabled):before{background-color:var(--col_toggle-disabledBackground);color:var(--col_toggle-disabledText)}label.toggleRadioOrCheck:has(input:where([type=checkbox],[type=radio])):has(input:disabled):after,.toggleRadioOrCheck label:has(input:where([type=checkbox],[type=radio])):has(input:disabled):after{background-color:var(--col_toggle-disabledForeground);color:var(--col_toggle-disabledText)}label.toggleRadioOrCheck:has(input:where([type=checkbox],[type=radio])):not(:has(input:disabled)),.toggleRadioOrCheck label:has(input:where([type=checkbox],[type=radio])):not(:has(input:disabled)){cursor:pointer}
