*, *::before, *::after { box-sizing: border-box; }
html { color-scheme: light; scroll-behavior: smooth; }
body {
	min-height: 100vh;
	margin: 0;
	background: var(--vp-color-bg);
	color: var(--vp-color-text);
	font-family: var(--vp-font-family);
	font-size: var(--vp-font-size-md);
	font-weight: var(--vp-font-weight-regular);
	line-height: var(--vp-line-height-body);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
body.vpt-site { display: flex; flex-direction: column; }
img, svg { display: block; max-width: 100%; }
button, input, select, textarea { font: inherit; }
a {
	color: var(--vp-color-link);
	text-decoration-thickness: 0.075em;
	text-underline-offset: 0.18em;
}
a:hover { text-decoration-thickness: 0.12em; }
h1, h2, h3, h4, h5, h6 {
	margin-block: 0 var(--vp-space-4);
	color: var(--vp-color-text-strong);
	font-weight: var(--vp-font-weight-bold);
	line-height: var(--vp-line-height-heading);
	letter-spacing: -0.016em;
}
h1 { line-height: var(--vp-line-height-tight); }
p { margin-block: 0 var(--vp-space-4); }
hr { border: 0; border-top: 1px solid var(--vp-color-border); }
::selection { background: var(--vp-color-surface-selected); }
.vpt-page-title { max-width: 19ch; font-size: var(--vp-font-size-page); }
.vpt-main { flex: 1 0 auto; min-height: 60vh; }
.vpt-entry__content > :last-child { margin-bottom: 0; }
