:root {
    --background-color: #000;
    --foreground-color: #fff;
    --icon-size: 48px;
    --border-color: #333333;
    --active-color: #008BD2;
}

[data-theme="light"] {
    --background-color: #fff;
    --foreground-color: #000;
    --border-color: #cccccc;
}

[data-iconSize="s"] {
  --icon-size: 16px;
}

[data-iconSize="m"] {
  --icon-size: 24px;
}

[data-iconSize="l"] {
  --icon-size: 32px;
}

[data-iconSize="xl"] {
  --icon-size: 40px;
}

body {
    background-color: var(--background-color);
    color: var(--foreground-color);
    display: flex;
    flex-direction: column;
    align-items: center;
    font-family: sans-serif;
}

.header {
  align-items: center;
  display: flex;
  width: 70%;
  font-size: 18px;
  padding: 20px;
}

.header > *:first-of-type {
  margin-right: 20px;
}

.icon-list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 70%;
    margin-top: 20px;
    padding-bottom: 70px;
}

.icon-card {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    margin: 10px;
    padding: 10px;
    cursor: pointer;
    border: 1px solid var(--border-color);
    border-radius: 5px;
}

.icon-card svg {
    height: var(--icon-size);
    width: var(--icon-size);
}

.icon-card--active {
  border-color: var(--active-color);
}

.icon-title {
  color: #fff;
  display: none;
  position: fixed;
  background: var(--active-color);
  z-index: 999;
  bottom: 0px;
  z-index: 999;
  padding: 20px;
  left: 0;
  width: 100vw;
  text-align: center;
}

.icon-card--active .icon-title{
  display: block;
}