:root {
	--font-family-text:
		"Helvetica Neue",
		Helvetica,
		"FreeSans",
		"Nimbus Sans L",
		system-ui,
		sans-serif;

	--body-width: 28rem;
}

html {
	font: 16px/1.5 var(--font-family-text);
	-webkit-text-size-adjust: 100%;
	tab-size: 4;
	color: oklch(0.20 0 0);
}

body {
  margin: 0;
  padding-inline: 2rem;
  max-inline-size: var(--body-width);
}

header, footer {
  margin-block: 2rem;
}

section + section {
  margin-block-start: 2rem;
}


h1,
h2,
h3,
h4,
h5,
h6 {
	margin-block-end: 0.5em;
	text-wrap: balance;
}

h1 {
	font-size: 150%;
}

h2 {
	font-size: 100%;
	font-weight: bold;
}

h3 {
	font-size: 100%;
	font-weight: normal;
}

a {
	color: oklch(0.55 0.2 131.684);
}

a:hover {
	color: oklch(0.55 0.2 32.98);
}


#flashlight {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 9999;
  background: radial-gradient(circle 240px at var(--x, 50%) var(--y, 50%),
      transparent 0%,
      rgba(0, 0, 0, 0.98) 100%);
}

.theme-toggle {
  position: absolute;
  right: 2rem;
  top: 2rem;
  margin-left: auto;
  background: none;
  border: none;
  padding: 0;
  font-size: 0.75rem;
  text-decoration: underline;
  cursor: pointer;
  color: #000000;
  line-height: 1.5rem;
}

.theme-toggle:hover {
  text-decoration: none;
}
