:root {
  color-scheme: light dark;
  --background: light-dark(#eee, #222);
  --color: light-dark(#000, #fff);
  --accent-color: #fff;
  --accent-background: hsl(209, 100%, 50%);
  --beer-background: #fbb117;
  --beer-color: color-mix(in oklab, var(--beer-background), #000);
}

body {
  font-family: system-ui, 'Segoe UI', 'Roboto', Arial, sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  background-color: var(--background);
  color: var(--color);
  margin: 1rem;
}

main {
  margin: 0 auto;
  max-width: 50rem;
}

* {
  box-sizing: border-box;
}

img.qr-code {
  width: 100%;
  max-height: 50vh;
}

details {
  margin-bottom: 2rem;

  summary {
    display: inline-block;
    border-radius: 0.25rem;
    padding: 0.5rem 1rem;
    color: var(--accent-color);
    background-color: var(--accent-background);
    user-select: none;
  }
}

ul {
  list-style: none;
  margin: 0;
  padding: 0;
  border-radius: 0.25rem;
  overflow: hidden;
  border: 1px solid color-mix(in oklab, var(--background) 95%, var(--color) 5%);

  li {
    display: flex;
    cursor: pointer;
    position: relative;
    padding: 0.5rem 1rem;
    background: var(--stripe-background);
    --alt-background: color-mix(in oklab, var(--background) 95%, var(--color) 5%);
    --stripe-background: var(--background);
    color: var(--color);
    font-size: 1.5rem;
    user-select: none;

    &::before {
      content: '🍺';
      text-shadow: 0 0 1rem rgba(0, 0, 0, 0.5);
      opacity: 0;
      margin-right: 1rem;
    }

    span {
      pointer-events: none;
    }

    &:nth-child(even) {
      --stripe-background: var(--alt-background);
    }

    & > span {
      flex: 1;
      pointer-events: none;
    }

    a.geo {
      display: inline-block;
      width: 2rem;
      height: 2rem;
      min-width: 2rem;
      background-color: var(--color);
      mask-image: url('location-outline.svg');

      text-decoration: none;

      span {
        display: none;
      }
    }

    &.checked {
      --background: var(--beer-background);
      --alt-background: color-mix(in oklab, var(--background) 95%, var(--color) 10%);
      --color: var(--beer-color);

      &::before {
        opacity: 1;
      }

      span.name {
        text-decoration: line-through;
      }
    }
  }
}
