css/pico-theme-switcher.css
/* Стили кнопки смены полностью взяты с оф. сайта */

.switcher {
	position: fixed;
	right: calc(var(--spacing)/ 2 + var(--scrollbar-width, 0px));
	bottom: var(--spacing);
	width: auto;
	margin-bottom: 0;
	padding: .75rem;
	border-radius: 2rem;
	box-shadow: var(--card-box-shadow);
	line-height: 1;
	text-align: right
}

.switcher::after {
	display: inline-block;
	width: 1rem;
	height: 1rem;
	border: .15rem solid currentColor;
	border-radius: 50%;
	background: linear-gradient(to right, currentColor 0, currentColor 50%, transparent 50%);
	content: "";
	vertical-align: bottom;
	transition: transform var(--transition)
}

.switcher i {
	display: inline-block;
	max-width: 0;
	padding: 0;
	overflow: hidden;
	font-style: normal;
	font-size: .875rem;
	white-space: nowrap
}

.switcher:focus,
.switcher:hover {
	max-width: 100%;
	transition: background-color var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition)
}

.switcher:hover::after {
	transform: rotate(180deg)
}

.switcher:hover i {
	max-width: 100%;
	padding: 0 calc(var(--spacing)/ 2) 0 calc(var(--spacing)/ 4);
	transition: max-width var(--transition), padding var(--transition)
}

.switcher:focus {
	box-shadow: var(--card-box-shadow), 0 0 0 .2rem var(--secondary-focus)
}

@media (min-width:576px) {
	.switcher {
		right: calc(var(--spacing) + var(--scrollbar-width, 0px))
	}
}

:root {
    --icon-external: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(115, 130, 140)' opacity='0.66' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'%3E%3C/path%3E%3Cpolyline points='15 3 21 3 21 9'%3E%3C/polyline%3E%3Cline x1='10' y1='14' x2='21' y2='3'%3E%3C/line%3E%3C/svg%3E");
    --icon-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
    --icon-check-dark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgba(0, 0, 0, 0.75)' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
}