
	form.svelte-3c1fen {
		align-items: start;

		> [data-filter-group]:where(.svelte-3c1fen) {
			gap: 0.33em;

			&:is(fieldset:where(.svelte-3c1fen)) {
				border: none;
			}

			> legend:where(.svelte-3c1fen) {
				display: contents;
				text-transform: uppercase;
				letter-spacing: 0.05em;
				font-size: 0.75em;
				color: var(--text-secondary);
			}

			/* (empty) > .group {
			}*/

			> select[multiple]:where(.svelte-3c1fen) {
				min-height: 8em;
				padding: 0.25em;
				border: 1px solid rgba(255, 255, 255, 0.2);
				border-radius: 0.375em;
				background: rgba(0, 0, 0, 0.2);
				color: inherit;
				font-size: 0.875em;

				option:where(.svelte-3c1fen) {
					padding: 0.25em;
					background: var(--bg-primary);
					color: inherit;
				}
			}

			[data-filter]:where(.svelte-3c1fen),
			option {
				cursor: pointer;

				align-items: center;
				grid-template-columns: 1em 1fr auto;
				grid-auto-flow: column;

				transition-property: background-color, border-color, color;

				&:hover:not(.disabled) {
					background-color: rgba(255, 255, 255, 0.1);
				}

				&.disabled {
					cursor: not-allowed;
					opacity: 0.4;
				}

				&:has(input:where(.svelte-3c1fen):checked) {
					background-color: var(--accent-backgroundColor);
					border-color: var(--accent);
					color: var(--accent);
				}

				input[type="radio"]:where(.svelte-3c1fen),
				input[type="checkbox"]:where(.svelte-3c1fen) {
					display: none;
				}

				[data-icon]:where(.svelte-3c1fen) {
					--icon-size: 1.25em;
				}

				.label:where(.svelte-3c1fen) {
					text-align: left;
				}
			}
		}
	}

	.count.svelte-3c1fen {
		font-size: smaller;

		display: inline-flex;
		align-items: center;
		justify-content: center;

		background-color: var(--accent-backgroundColor);
		color: var(--accent);
		border-radius: 0.85em;
		padding: 0.3em 0.5em;
		line-height: 1;

		label:where(.svelte-3c1fen):has(input:where(.svelte-3c1fen):checked) &,
		option:where(.svelte-3c1fen):checked & {
			background-color: var(--accent);
			color: var(--accent-backgroundColor);
		}
	}

	/* Hide reset button when form is in default state */
	form.svelte-3c1fen:not(
		:has(
			:is(
				input[type="checkbox"],
				input[type="radio"]
			):is(
				[checked]:not(:checked),
				:not([checked]):checked
			),
			select option:is(
				[selected]:not(:checked),
				:not([selected]):checked
			)
		)
	) button[type="reset"]:where(.svelte-3c1fen) {
		display: none;
		opacity: 0;
	}

	.container.svelte-qusz4c {
		--table-backgroundColor: light-dark(#fdfdfd, #22242b);
		--table-outerBorderColor: var(--border-color);
		--table-innerBorderColor: color-mix(in oklch, var(--border-color) 50%, transparent);
		--table-outerBorderWidth: 1px;
		--table-innerBorderWidth: 1px;
		--table-cornerRadius: 1rem;
		--table-cell-verticalAlign: middle;
		--table-cell-padding: 0.75em;

		scroll-padding: var(--table-outerBorderWidth);

		background-color: var(--table-backgroundColor);
		box-shadow: 0 0 0 var(--table-outerBorderWidth) var(--table-outerBorderColor) inset;
		border-radius: calc(var(--table-cornerRadius) + var(--table-outerBorderWidth));

		clip-path: inset(
			0 0 0 0
			round calc(var(--table-cornerRadius) + var(--table-outerBorderWidth))
		);
	}

	:where(table.svelte-qusz4c) {
		min-width: 100%;
		width: -moz-max-content;
		width: max-content;
		/* margin-inline: calc(-1 * var(--table-borderWidth)); */

		border-collapse: separate;
		border-spacing: var(--table-innerBorderWidth);

		:where(thead:where(.svelte-qusz4c)) {
			font-size: 0.75em;
			text-wrap: nowrap;

			position: sticky;
			top: 0;
			z-index: 1;

			border-start-start-radius: calc(var(--table-cornerRadius) + var(--table-outerBorderWidth));
			border-start-end-radius: calc(var(--table-cornerRadius) + var(--table-outerBorderWidth));

			&[data-sticky] {
				/* Safari: apply `backdrop-filter` and `background-color` to `thead` instead of `thead::before` */
				@supports (hanging-punctuation: first) and (font: -apple-system-body) and (-webkit-appearance: none) {
					background-color: var(--sticky-backgroundColor);
					backdrop-filter: var(--sticky-backdropFilter);

					&::before {
						content: none !important;
					}
				}
			}

			@container scroll-state(not (stuck: none)) {
				border-start-start-radius: 0;
				border-start-end-radius: 0;
			}

			:where(tr:where(.svelte-qusz4c)) {
				:where(th:where(.svelte-qusz4c)) {
					&[data-header-level='0'] {
						font-weight: 700;
						font-size: 1.1em;
						background-color: color-mix(in oklch, var(--table-backgroundColor), white 2%);
					}
					&[data-header-level='1'] {
						font-weight: 600;
						font-size: 0.825em;
						background-color: color-mix(in oklch, var(--table-backgroundColor), white 1%);
					}
					&[data-header-level='2'] {
						font-weight: 500;
						font-size: 0.7em;
						background-color: color-mix(in oklch, var(--table-backgroundColor), white 0.5%);
					}
					&[data-header-level='3'] {
						font-weight: 400;
						font-size: 0.7em;
						background-color: color-mix(in oklch, var(--table-backgroundColor), white 0.25%);
					}

					> .header-cell-content:where(.svelte-qusz4c) {
						display: grid;
						grid-auto-flow: column;
						grid-template-columns: 1fr;
						grid-auto-columns: auto;
						align-items: center;
						gap: 0.25em;

						&[data-sticky-container] {
							--sticky-paddingInlineEnd: 0.5em;
						}

						> [data-sticky-container]:where(.svelte-qusz4c) {
							--sticky-paddingInlineEnd: 1em;
						}
					}

					&[data-sortable] {
						--column-sortIndicator-transform: perspective(1000px) scale(0);
						--column-sortIndicator-fontSize: 0;

						&[data-sort='asc'] {
							--column-sortIndicator-transform: perspective(1000px);
							--column-sortIndicator-fontSize: 1em;
						}

						&[data-sort='desc'] {
							--column-sortIndicator-transform: perspective(1000px) rotateX(180deg);
							--column-sortIndicator-fontSize: 1em;
						}

						&[data-sort] {
							filter: brightness(150%);
						}

						.sort-label:where(.svelte-qusz4c) {
							line-height: 1;

							display: flex;
							align-items: center;
							justify-content: center;
							cursor: pointer;

							padding: var(--table-cell-padding);

							.sort-button:where(.svelte-qusz4c) {
								margin-inline-start: 0.5em;
								display: inline-block;
								padding: 0;

								background-color: transparent;
								border: none;
								outline: none;

								&::after {
									content: '↑';

									display: inline-block;

									font-size: var(--column-sortIndicator-fontSize);

									transform: var(--column-sortIndicator-transform);

									transition-property: transform, font-size;
								}
							}
						}

						&:has(.sort-button:where(.svelte-qusz4c):focus) {
							outline: var(--table-outerBorderWidth) solid var(--accent);
							outline-offset: calc(-1 * var(--table-outerBorderWidth));
							border-radius: 0.5em;
						}

						.header-title:where(.svelte-qusz4c) {
							white-space: wrap;
							flex: 0 0 0;
							width: 0;
							min-width: -moz-fit-content;
							min-width: fit-content;
						}
					}

					&[data-expandable] {
						--isExpanded: 0;

						cursor: pointer;

						&[data-expanded] {
							--isExpanded: 1;
						}

						.expansion-button:where(.svelte-qusz4c),
						.header-extra:where(.svelte-qusz4c) .expansion-button {
							margin: var(--table-cell-padding);
							margin-inline-start: calc(-2 * var(--table-cell-padding));

							background-color: transparent;

							flex: 0 0 auto;
							font-size: 0.75em;
							padding: 0.33em;
							border: none;

							transition-property: background-color, transform, opacity;

							&:hover {
								background-color: rgba(255, 255, 255, 0.15);
							}

							&:after {
								content: '';
								width: 1em;
								height: 1em;
								background-color: currentColor;
								-webkit-mask-image: var(--icon-chevron);
								        mask-image: var(--icon-chevron);
								transform: perspective(100px) rotateX(calc(var(--isExpanded) * -180deg));
								transition-property: transform;
							}
						}

						.header-extra:where(.svelte-qusz4c) {
							display: flex;
							align-items: center;
						}
					}
				}

				&:first-child {
					border-start-start-radius: var(--table-cornerRadius) !important;
					border-start-end-radius: var(--table-cornerRadius) !important;

					:where(th:where(.svelte-qusz4c)) {
						&:first-child {
							border-start-start-radius: var(--table-cornerRadius) !important;
						}
						&:last-child {
							border-start-end-radius: var(--table-cornerRadius) !important;
						}
					}
				}

				@container scroll-state(not (stuck: none)) {
					&:first-child {
						border-start-start-radius: 0.5em !important;
						border-start-end-radius: 0.5em !important;

						:where(th:where(.svelte-qusz4c)) {
							&:first-child {
								border-start-start-radius: 0.5em !important;
							}
							&:last-child {
								border-start-end-radius: 0.5em !important;
							}
						}
					}
				}
			}
		}

		:where(tbody:where(.svelte-qusz4c)) {
			isolation: isolate;

			border-end-start-radius: calc(var(--table-cornerRadius) + var(--table-outerBorderWidth));
			border-end-end-radius: calc(var(--table-cornerRadius) + var(--table-outerBorderWidth));

			counter-reset: TableRowCount;

			:where(tr:where(.svelte-qusz4c)) {
				--table-row-backgroundColor: light-dark(rgba(133, 0, 126, 0.05), rgba(255, 255, 255, 0.03));

				&:not([data-disabled]) {
					counter-increment: TableRowCount;
				}

				counter-reset: TableColumnCount;

				box-shadow:
					0 var(--table-innerBorderWidth) var(--table-innerBorderColor),
					0 calc(-1 * var(--table-innerBorderWidth)) var(--table-innerBorderColor);

				&:nth-of-type(odd) {
					background-color: var(--table-row-backgroundColor);
				}

				&[data-pressable] {
					cursor: pointer;

					/* (unused) & td.sticky {
						transition: var(--pressable-transitionOutDuration) var(--pressable-transitionOutDuration)
							var(--transition-easeOutExpo);
					}*/

					&:hover {
						--table-row-backgroundColor: light-dark(rgba(255, 0, 208, 0.1), rgba(255, 255, 255, 0.05));
					}

					&:active:not(:has([tabindex='0']:active)) {
						&:active {
							--borderColor: transparent;
						}

						box-shadow: none;

						/* (unused) & td.sticky {
							backdrop-filter: none;
							transition:
								all var(--pressable-transitionInDuration),
								backdrop-filter 0s;
							opacity: 0;
							scale: 0.9;
						}*/
					}
				}

				&[data-disabled] {
					filter: grayscale();
					opacity: 0.3;
				}

				> :where(td:where(.svelte-qusz4c)) {
					box-shadow: var(--table-innerBorderWidth) 0 var(--table-row-backgroundColor);
					vertical-align: var(--table-cell-verticalAlign);

					counter-increment: TableColumnCount;

					/* When sorting a non-sticky column, fade cells from other non-sticky columns */
					tr:where(.svelte-qusz4c):has(:not([data-sticky])[data-sort]:where(.svelte-qusz4c)) &[data-sortable]:not([data-sort], [data-sticky], :hover, :focus-within) {
						opacity: 0.66;
					}
				}
			}

			/* &:last-child {
				:where(tr):last-child {
					border-end-start-radius: var(--table-cornerRadius);
					border-end-end-radius: var(--table-cornerRadius);

					:where(td) {
						&:first-child {
							border-end-start-radius: var(--table-cornerRadius);
						}
						&:last-child {
							border-end-end-radius: var(--table-cornerRadius);
						}
					}
				}
			} */
		}

		:where(
			th:where(.svelte-qusz4c),
			td:where(.svelte-qusz4c)
		) {
			&[data-column-align='start'] {
				text-align: start;
				transform-origin: left;
			}
			&[data-column-align='center'] {
				text-align: center;
				transform-origin: center;
			}
			&[data-column-align='end'] {
				text-align: end;
				transform-origin: right;
			}

			@container (width < 48rem) {
				&[data-sticky] {
					position: static !important;

					&:before {
						content: none !important;
					}
				}
			}
		}

		:where(th:where(.svelte-qusz4c)) {
			position: relative;
		}

		:where(td:where(.svelte-qusz4c)) {
			padding: var(--table-cell-padding);
		}
	}
