/* Base variables */
:root {
	--bg: #ffffff;
	--bg-alt: #f6f7f9;
	--text: #222;
	--text-muted: #666;
	--border: #e2e5e9;
	--hover: #eef4ff;
	--accent: #3b82f6;
}

/* Auto dark mode */
@media (prefers-color-scheme: dark) {
	:root {
		--bg: #1e1f23;
		--bg-alt: #26282d;
		--text: #e6e6e6;
		--text-muted: #9aa0a6;
		--border: #3a3d44;
		--hover: #2f3440;
		--accent: #5aa2ff;
	}
	table img.back {
		filter: invert(1);
	}
}
body {
	background: var(--bg);
	color: var(--text);
	font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
}
table {
	width: 100%;
	border-collapse: collapse;
	background: var(--bg);
	color: var(--text);
	font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
	font-size: 14px;
}
table th {
	text-align: left;
	padding: 10px 12px;
	font-weight: 600;
	color: var(--text-muted);
	user-select: none;
}
table tr {
	transition: background 0.15s ease;
}
table tr:nth-child(even) {
	background: var(--bg-alt);
}
table tr:hover {
	background: var(--hover);
}
table td {
	padding: 9px 12px;
	vertical-align: middle;
}
table td.name {
	font-weight: 500;
}
table .icon {
	width: 22px;
	padding-right: 0;
}
table .size, table .date {
	text-align: right;
	color: var(--text-muted);
	white-space: nowrap;
}
table img, img.icon {
	width: 22px;
	height: 22px;
}
a {
	color: inherit;
	text-decoration: none;
}
a:hover {
	color: var(--accent);
}
.zipdesc, .zipdesc > a {
	display: flex;
	align-items: center;
}
.zipdesc img {
	margin: 0 2px 0 6px;
}