:root {
	--red: #e67e80; --red-bg: #4c3743;
	--orange: #e69875;
	--orange-bg: #493b40;
	--yellow: #dbbc7f;
	--yellow-bg: #45443c;
	--green: #a7c080;
	--green-bg: #3c4841;
	--aqua: #83c092;
	--aqua-bg: var(--green-bg);
	--blue: #7fbbb3;
	--blue-bg: #384b55;
}

.red {
	--highlight: var(--red-bg);
	--outline: var(--red);
}

.orange {
	--highlight: var(--orange-bg);
	--outline: var(--orange); }

.yellow {
	--highlight: var(--yellow-bg);
	--outline: var(--yellow);
}

.green {
	--highlight: var(--green-bg);
	--outline: var(--green);
}

.aqua {
	--highlight: var(--aqua-bg);
	--outline: var(--aqua);
}

.blue {
	--highlight: var(--blue-bg);
	--outline: var(--blue);
}

html {
	background: var(--bg1) !important;
	color: var(--fg0);
	font-size: 1.5em;
  min-height: 100vh;
}

body {
  background: transparent;
  min-height: 100vh;
  margin: 1em;
  margin-top: 0;
  margin-bottom: 0;
  display: flex;
}

#content {
	width: min(40em, 100%);
  height: 100%;
  margin: auto;
}

#cards {
	display: grid;
	gap: 0.75rem;
	grid-template-columns: repeat(auto-fill, minmax(148px, 1fr));
	grid-auto-rows: 1fr;
}

#cards::before {
  content: '';
  width: 0;
  padding-bottom: 100%;
  grid-row: 1 / 1;
  grid-column: 1 / 1;
}

#cards > :first-child{
  grid-row: 1 / 1;
  grid-column: 1 / 1;
}

#cards > a {
	color: inherit;
	text-decoration: none;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background: linear-gradient(var(--bg2), var(--bg2), var(--highlight, var(--bg2)));
	font-size: 2em;
	outline: 1px solid var(--outline, var(--bg0));
	border-radius: 2px;
  transition: 0.25s transform;
  user-select: none;
}

#cards > a > * {
  color: white;
  display: inline;
	height: 1em;
}

#cards > a:hover, #cards > a:focus {
	outline-width: 2px;
	outline-color: var(--outline);
}

#cards > a:focus {
  background: var(--highlight);
  transform: translateY(-0.25rem);
}

#cards > a:hover *, #cards > a:focus * {
	font-size: 1.0625em;
}
