:root {
	--accent-1:#61a7e1ff; /* light blue */
	--accent-2:#59e993ff; /* seafoam */
	--bloom-rest: 2px;   /* thin line at rest */
	--bloom-grow: 2px;   /* bloom thickness on hover/focus (same everywhere) */
}

body {
	background: #fff;
	color: #111;
	transition: background .25s, color .25s;
	font-family: 'Cantarell', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	font-size: 16px;
	line-height: 1.5;
}

a {
	text-decoration: none;
	background:
		linear-gradient(90deg,var(--accent-1),var(--accent-2))
		50% 100% / 0 var(--bloom-rest) no-repeat;
	padding-bottom: .12rem;
	-webkit-box-decoration-break: clone;
    box-decoration-break: clone;
	transition: background-size .2s cubic-bezier(.2,.8,.2,1);
}

a:hover,
a:focus-visible {
	background-size: 100% var(--bloom-grow); /* center → edges with fixed px height */
}

@media (prefers-reduced-motion: reduce){
	a { transition:none; }
}

a, a:visited {
	color: #0000ee;
}

.dark a,
.dark a:visited { color: #8ab4ff; } /* pick your blue */

.badges {
	display: inline-flex;
	gap: 0.4rem; /* space between pills */
	margin-top: 0.3rem;
	color: inherit;
	flex-wrap: wrap;
}

a.badge {
	display: inline-block;
	padding: 0rem 0.4rem;
	font-size: 0.8rem;
	border-radius: 9999px;   /* full pill */
	background: #f0f0f0;
	color: #333;
	text-decoration: none;
	border: 1px solid #ccc;
	transition: background 0.2s, color 0.2s;
}

a.badge:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

.dark a.badge {
	background: #333;
	color: #eee;
	border-color: #555;
}

@media (hover: hover) {
	a.badge:hover {
		background: #666;
		color: #fff;
		border-color: #333;
	}
}

header,
main {
	max-width: 60ch;
	margin: 0 auto;
	padding-inline: 1rem;
	padding-bottom: 2rem;
}

header {
	padding-top: 2rem;
	padding-bottom:0;
}

ul {
		padding-left: 1.5rem;
}

li {
		padding: 0;
}

ul.sublist {
		padding: 0;
		margin-bottom: .8rem;
		/* margin: 0; */
}

ul.sublist > li {
		list-style: none;
		margin-bottom: .2rem;
}

.dark body { background: #121212; color: #eee; }

#theme-btn {
	position: fixed; right: 16px; bottom: 16px;
	width: 5vh; height: 5vh;
	display: inline-flex; align-items: center; justify-content: center;
	border: 0; border-radius: 50%;
	background: rgba(0,0,0,.06);
	box-shadow: 0 1px 4px rgba(0,0,0,.12);
	font-size: 3vh; cursor: pointer;
	transition: transform .12s, background .2s;
}
#theme-btn:active {
	transform: scale(.96);
}

.dark #theme-btn {
	background: rgba(255,255,255,.12);
}

@media (prefers-reduced-motion: reduce) {
	* { transition: none !important; }
}

h1 { font-size: 1.75rem; margin: 0 0 1rem; font-weight: 700; }
h2 { font-size: 1.25rem; margin: 2rem 0 0.5rem; font-weight: 600; }
h3 { font-size: 1rem; margin: 1.5rem 0 0.25rem; font-weight: 500; }
/* This file was automatically generated by GlyphHanger 5.0.0 */

