@charset "UTF-8";
i[data-icon] {
  display: inline-block;
  width: 1em;
  height: 1em;
  flex-shrink: 0;
  position: relative;
  box-sizing: content-box;
}
i[data-icon]::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  mask-size: contain;
  mask-position: center;
  mask-repeat: no-repeat;
  background-color: currentColor;
}
i[data-icon=git]::before {
  mask-image: url("./icons/git.svg");
}
i[data-icon=mastodon]::before {
  mask-image: url("./icons/mastodon.svg");
}
i[data-icon=shield]::before {
  mask-image: url("./icons/shield.svg");
}
i[data-icon=info]::before {
  mask-image: url("./icons/info.svg");
}
i[data-icon=gavel]::before {
  mask-image: url("./icons/gavel.svg");
}

:root {
  --line-height-loose: 1.4;
  --line-height-relaxed: 1.3;
  --line-height-base: 1.2;
  --line-height-snug: 1.1;
  --line-height-tight: 1;
  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.25rem;
  --text-2xl: 1.5rem;
  --text-3xl: 1.875rem;
  --text-4xl: 2.25rem;
  --text-5xl: 3rem;
  --text-6xl: 3.75rem;
  --text-7xl: 4.5rem;
  --container-3xs: 16rem;
  --container-2xs: 18rem;
  --container-xs: 20rem;
  --container-sm: 24rem;
  --container-md: 28rem;
  --container-lg: 32rem;
  --container-xl: 36rem;
  --container-2xl: 42rem;
  --container-3xl: 48rem;
  --container-4xl: 56rem;
  --container-5xl: 64rem;
  --container-6xl: 72rem;
  --container-7xl: 80rem;
  --radius: 0.5rem;
}

.dark {
  --color-foreground: var(--color-dark-foreground, var(--color-light-foreground, var(--default-color-dark-foreground)));
  --color-background: var(--color-dark-background, var(--color-light-background, var(--default-color-dark-background)));
  --background: var(--background-dark, var(--background-light, var(--color-background)));
  --background-blend: var(--background-dark-blend, var(--background-light-blend, normal));
  --color-shade-1: var(--color-dark-shade-1, var(--color-light-shade-1, var(--default-color-dark-shade-1)));
  --color-shade-2: var(--color-dark-shade-2, var(--color-light-shade-2, var(--default-color-dark-shade-2)));
  --color-shade-3: var(--color-dark-shade-3, var(--color-light-shade-3, var(--default-color-dark-shade-3)));
  --color-shade-4: var(--color-dark-shade-4, var(--color-light-shade-4, var(--default-color-dark-shade-4)));
  --color-text-1: var(--color-dark-text-1, var(--color-light-text-1, var(--default-color-dark-text-1)));
  --color-text-2: var(--color-dark-text-2, var(--color-light-text-2, var(--default-color-dark-text-2)));
  --color-text-3: var(--color-dark-text-3, var(--color-light-text-3, var(--default-color-dark-text-3)));
  --color-text-4: var(--color-dark-text-4, var(--color-light-text-4, var(--default-color-dark-text-4)));
  --color-primary: var(--color-dark-primary, var(--color-light-primary, var(--default-color-dark-primary)));
  --color-error: var(--color-dark-error, var(--color-light-error, var(--default-color-dark-error)));
  --color-success: var(--color-dark-success, var(--color-light-success, var(--default-color-dark-success)));
  --color-warning: var(--color-dark-warning, var(--color-light-warning, var(--default-color-dark-warning)));
  --color-accent-1: var(--color-dark-accent-1, var(--color-light-accent-1, var(--default-color-dark-accent-1)));
  --color-accent-2: var(--color-dark-accent-2, var(--color-light-accent-2, var(--default-color-dark-accent-2)));
  --color-accent-3: var(--color-dark-accent-3, var(--color-light-accent-3, var(--default-color-dark-accent-3)));
  --color-highlight-1: var(
    --color-dark-highlight-1,
    var(--color-light-highlight-1, var(--default-color-dark-highlight-1))
  );
  --color-highlight-2: var(
    --color-dark-highlight-2,
    var(--color-light-highlight-2, var(--default-color-dark-highlight-2))
  );
  --color-highlight-3: var(
    --color-dark-highlight-3,
    var(--color-light-highlight-3, var(--default-color-dark-highlight-3))
  );
  --color-highlight-4: var(
    --color-dark-highlight-4,
    var(--color-light-highlight-4, var(--default-color-dark-highlight-4))
  );
  --color-highlight-5: var(
    --color-dark-highlight-5,
    var(--color-light-highlight-5, var(--default-color-dark-highlight-5))
  );
  --color-highlight-6: var(
    --color-dark-highlight-6,
    var(--color-light-highlight-6, var(--default-color-dark-highlight-6))
  );
  --text-glow-primary: var(
    --effect-dark-filter-text,
    var(--effect-light-filter-text, var(--default-effect-dark-filter-text))
  );
  --filter-glow-primary: var(--effect-dark-filter, var(--effect-light-filter, var(--default-effect-dark-filter)));
  --color-effect-foreground: var(
    --color-dark-effect-foreground,
    var(--color-light-effect-foreground, var(--default-color-dark-effect-foreground, var(--color-primary)))
  );
  --color-effect-background: var(--color-dark-effect-background, var(--default-color-dark-effect-background));
  --transition-glow: var(
    --effect-dark-transition,
    var(--effect-light-transition, var(--default-effect-dark-transition))
  );
  --effect-padding: var(--effect-dark-padding, var(--effect-light-padding, var(--default-effect-dark-padding)));
}
@media (prefers-reduced-motion) {
  .dark {
    --transition-glow: var(
      --effect-dark-transition-reduced,
      var(--effect-light-transition-reduced, var(--default-effect-dark-transition-reduced))
    );
  }
}

.light {
  --color-foreground: var(--color-light-foreground, var(--default-color-light-foreground));
  --color-background: var(--color-light-background, var(--default-color-light-background));
  --background: var(--background-light, var(--color-background));
  --background-blend: var(--background-light-blend, normal);
  --color-shade-1: var(--color-light-shade-1, var(--default-color-light-shade-1));
  --color-shade-2: var(--color-light-shade-2, var(--default-color-light-shade-2));
  --color-shade-3: var(--color-light-shade-3, var(--default-color-light-shade-3));
  --color-shade-4: var(--color-light-shade-4, var(--default-color-light-shade-4));
  --color-text-1: var(--color-light-text-1, var(--default-color-light-text-1));
  --color-text-2: var(--color-light-text-2, var(--default-color-light-text-2));
  --color-text-3: var(--color-light-text-3, var(--default-color-light-text-3));
  --color-text-4: var(--color-light-text-4, var(--default-color-light-text-4));
  --color-primary: var(--color-light-primary, var(--default-color-light-primary));
  --color-error: var(--color-light-error, var(--default-color-light-error));
  --color-success: var(--color-light-success, var(--default-color-light-success));
  --color-warning: var(--color-light-warning, var(--default-color-light-warning));
  --color-accent-1: var(--color-light-accent-1, var(--default-color-light-accent-1));
  --color-accent-2: var(--color-light-accent-2, var(--default-color-light-accent-2));
  --color-accent-3: var(--color-light-accent-3, var(--default-color-light-accent-3));
  --color-highlight-1: var(--color-light-highlight-1, var(--default-color-light-highlight-1));
  --color-highlight-2: var(--color-light-highlight-2, var(--default-color-light-highlight-2));
  --color-highlight-3: var(--color-light-highlight-3, var(--default-color-light-highlight-3));
  --color-highlight-4: var(--color-light-highlight-4, var(--default-color-light-highlight-4));
  --color-highlight-5: var(--color-light-highlight-5, var(--default-color-light-highlight-5));
  --color-highlight-6: var(--color-light-highlight-6, var(--default-color-light-highlight-6));
  --text-glow-primary: var(--effect-light-filter-text, var(--default-effect-light-filter-text));
  --filter-glow-primary: var(--effect-light-filter, var(--default-effect-light-filter));
  --color-effect-foreground: var(
    --color-light-effect-foreground,
    var(--default-color-light-effect-foreground, var(--color-primary))
  );
  --color-effect-background: var(--color-light-effect-background, var(--default-color-light-effect-background));
  --transition-glow: var(--effect-light-transition, var(--default-effect-light-transition));
  --effect-padding: var(--effect-light-padding, var(--default-effect-light-padding));
}
@media (prefers-reduced-motion) {
  .light {
    --transition-glow: var(--effect-light-transition-reduced, var(--default-effect-light-transition-reduced));
  }
}

@media (prefers-color-scheme: dark) {
  html {
    --color-foreground: var(--color-dark-foreground, var(--color-light-foreground, var(--default-color-dark-foreground)));
    --color-background: var(--color-dark-background, var(--color-light-background, var(--default-color-dark-background)));
    --background: var(--background-dark, var(--background-light, var(--color-background)));
    --background-blend: var(--background-dark-blend, var(--background-light-blend, normal));
    --color-shade-1: var(--color-dark-shade-1, var(--color-light-shade-1, var(--default-color-dark-shade-1)));
    --color-shade-2: var(--color-dark-shade-2, var(--color-light-shade-2, var(--default-color-dark-shade-2)));
    --color-shade-3: var(--color-dark-shade-3, var(--color-light-shade-3, var(--default-color-dark-shade-3)));
    --color-shade-4: var(--color-dark-shade-4, var(--color-light-shade-4, var(--default-color-dark-shade-4)));
    --color-text-1: var(--color-dark-text-1, var(--color-light-text-1, var(--default-color-dark-text-1)));
    --color-text-2: var(--color-dark-text-2, var(--color-light-text-2, var(--default-color-dark-text-2)));
    --color-text-3: var(--color-dark-text-3, var(--color-light-text-3, var(--default-color-dark-text-3)));
    --color-text-4: var(--color-dark-text-4, var(--color-light-text-4, var(--default-color-dark-text-4)));
    --color-primary: var(--color-dark-primary, var(--color-light-primary, var(--default-color-dark-primary)));
    --color-error: var(--color-dark-error, var(--color-light-error, var(--default-color-dark-error)));
    --color-success: var(--color-dark-success, var(--color-light-success, var(--default-color-dark-success)));
    --color-warning: var(--color-dark-warning, var(--color-light-warning, var(--default-color-dark-warning)));
    --color-accent-1: var(--color-dark-accent-1, var(--color-light-accent-1, var(--default-color-dark-accent-1)));
    --color-accent-2: var(--color-dark-accent-2, var(--color-light-accent-2, var(--default-color-dark-accent-2)));
    --color-accent-3: var(--color-dark-accent-3, var(--color-light-accent-3, var(--default-color-dark-accent-3)));
    --color-highlight-1: var(
      --color-dark-highlight-1,
      var(--color-light-highlight-1, var(--default-color-dark-highlight-1))
    );
    --color-highlight-2: var(
      --color-dark-highlight-2,
      var(--color-light-highlight-2, var(--default-color-dark-highlight-2))
    );
    --color-highlight-3: var(
      --color-dark-highlight-3,
      var(--color-light-highlight-3, var(--default-color-dark-highlight-3))
    );
    --color-highlight-4: var(
      --color-dark-highlight-4,
      var(--color-light-highlight-4, var(--default-color-dark-highlight-4))
    );
    --color-highlight-5: var(
      --color-dark-highlight-5,
      var(--color-light-highlight-5, var(--default-color-dark-highlight-5))
    );
    --color-highlight-6: var(
      --color-dark-highlight-6,
      var(--color-light-highlight-6, var(--default-color-dark-highlight-6))
    );
    --text-glow-primary: var(
      --effect-dark-filter-text,
      var(--effect-light-filter-text, var(--default-effect-dark-filter-text))
    );
    --filter-glow-primary: var(--effect-dark-filter, var(--effect-light-filter, var(--default-effect-dark-filter)));
    --color-effect-foreground: var(
      --color-dark-effect-foreground,
      var(--color-light-effect-foreground, var(--default-color-dark-effect-foreground, var(--color-primary)))
    );
    --color-effect-background: var(--color-dark-effect-background, var(--default-color-dark-effect-background));
    --transition-glow: var(
      --effect-dark-transition,
      var(--effect-light-transition, var(--default-effect-dark-transition))
    );
    --effect-padding: var(--effect-dark-padding, var(--effect-light-padding, var(--default-effect-dark-padding)));
  }
}
@media (prefers-color-scheme: dark) and (prefers-reduced-motion) {
  html {
    --transition-glow: var(
      --effect-dark-transition-reduced,
      var(--effect-light-transition-reduced, var(--default-effect-dark-transition-reduced))
    );
  }
}
@media (prefers-color-scheme: light) {
  html {
    --color-foreground: var(--color-light-foreground, var(--default-color-light-foreground));
    --color-background: var(--color-light-background, var(--default-color-light-background));
    --background: var(--background-light, var(--color-background));
    --background-blend: var(--background-light-blend, normal);
    --color-shade-1: var(--color-light-shade-1, var(--default-color-light-shade-1));
    --color-shade-2: var(--color-light-shade-2, var(--default-color-light-shade-2));
    --color-shade-3: var(--color-light-shade-3, var(--default-color-light-shade-3));
    --color-shade-4: var(--color-light-shade-4, var(--default-color-light-shade-4));
    --color-text-1: var(--color-light-text-1, var(--default-color-light-text-1));
    --color-text-2: var(--color-light-text-2, var(--default-color-light-text-2));
    --color-text-3: var(--color-light-text-3, var(--default-color-light-text-3));
    --color-text-4: var(--color-light-text-4, var(--default-color-light-text-4));
    --color-primary: var(--color-light-primary, var(--default-color-light-primary));
    --color-error: var(--color-light-error, var(--default-color-light-error));
    --color-success: var(--color-light-success, var(--default-color-light-success));
    --color-warning: var(--color-light-warning, var(--default-color-light-warning));
    --color-accent-1: var(--color-light-accent-1, var(--default-color-light-accent-1));
    --color-accent-2: var(--color-light-accent-2, var(--default-color-light-accent-2));
    --color-accent-3: var(--color-light-accent-3, var(--default-color-light-accent-3));
    --color-highlight-1: var(--color-light-highlight-1, var(--default-color-light-highlight-1));
    --color-highlight-2: var(--color-light-highlight-2, var(--default-color-light-highlight-2));
    --color-highlight-3: var(--color-light-highlight-3, var(--default-color-light-highlight-3));
    --color-highlight-4: var(--color-light-highlight-4, var(--default-color-light-highlight-4));
    --color-highlight-5: var(--color-light-highlight-5, var(--default-color-light-highlight-5));
    --color-highlight-6: var(--color-light-highlight-6, var(--default-color-light-highlight-6));
    --text-glow-primary: var(--effect-light-filter-text, var(--default-effect-light-filter-text));
    --filter-glow-primary: var(--effect-light-filter, var(--default-effect-light-filter));
    --color-effect-foreground: var(
      --color-light-effect-foreground,
      var(--default-color-light-effect-foreground, var(--color-primary))
    );
    --color-effect-background: var(--color-light-effect-background, var(--default-color-light-effect-background));
    --transition-glow: var(--effect-light-transition, var(--default-effect-light-transition));
    --effect-padding: var(--effect-light-padding, var(--default-effect-light-padding));
  }
}
@media (prefers-color-scheme: light) and (prefers-reduced-motion) {
  html {
    --transition-glow: var(--effect-light-transition-reduced, var(--default-effect-light-transition-reduced));
  }
}
* {
  box-sizing: border-box;
}

:root {
  font-size: 1rem;
}

body {
  background: var(--background);
  background-blend-mode: var(--background-blend);
  color: var(--color-foreground);
  font-family: var(--font-text), sans-serif;
  line-height: var(--line-height-base);
  margin: 0;
  min-height: 100vh;
  width: 100%;
  display: flex;
  flex-direction: column;
  position: relative;
  overflow-y: scroll;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-headings), sans-serif;
  text-transform: var(--font-headings-transform, initial);
  font-weight: 400;
  margin: 1rem 0;
  font-variation-settings: var(--font-headings-variation);
}

h1,
h2,
h3,
h4 {
  filter: var(--text-glow-primary);
  color: var(--color-effect-foreground);
  background-color: var(--color-effect-background);
  padding: var(--effect-padding);
  display: block;
  width: fit-content;
}

h1 {
  font-size: var(--text-5xl);
  line-height: var(--line-height-base);
  margin: 1rem auto;
}

h2 {
  font-size: var(--text-4xl);
  line-height: var(--line-height-base);
}

h3 {
  font-size: var(--text-3xl);
  line-height: var(--line-height-base);
}

h4 {
  font-size: var(--text-2xl);
  line-height: var(--line-height-loose);
}

h5 {
  font-size: var(--text-xl);
  line-height: var(--line-height-loose);
}

h6 {
  font-size: var(--text-lg);
  line-height: var(--line-height-loose);
}

a {
  color: var(--color-accent-1);
  text-decoration: underline;
  text-decoration-thickness: 2px;
}
a:hover, a:active, a:focus {
  color: var(--color-accent-2);
  text-decoration: none;
}
a:visited {
  color: var(--color-accent-3);
}
a:visited:hover, a:visited:active, a:visited:focus {
  color: var(--color-accent-2);
  text-decoration-line: none;
}

figure {
  display: flex;
  flex-direction: column;
  align-items: center;
}
figure img {
  width: 100%;
  max-height: 30vh;
  object-fit: contain;
  object-position: center;
}

img {
  width: 80%;
  max-height: 30vh;
  object-fit: contain;
  object-position: center;
  margin: 0 auto;
}

ol.footnotes {
  counter-reset: footnote-counter;
  list-style-type: none;
}
ol.footnotes > li:before {
  content: "[" counter(footnote-counter) "]";
  counter-increment: footnote-counter;
}
ol.footnotes > li:target {
  animation: highlight 1.5s;
  animation-timing-function: steps(1);
}
@media (prefers-reduced-motion: no-preference) {
  ol.footnotes > li:target {
    animation: highlight 3s;
    animation-timing-function: ease;
  }
}
@keyframes highlight {
  0% {
    background: var(--color-shade-1);
    outline: 2px var(--color-shade-3) solid;
  }
  100% {
    background: none;
    outline: 2px transparent solid;
  }
}

.alert {
  background-color: var(--color-shade-1);
  padding: 1rem 1.5rem;
  border-radius: var(--radius);
  position: relative;
  display: flex;
  flex-direction: row;
  gap: 1.5rem;
  margin: 2rem 0;
}
.alert i[data-icon] {
  font-size: var(--text-5xl);
  filter: var(--filter-glow-primary);
  color: var(--color-effect-foreground);
}
.alert strong {
  font-size: var(--text-xl);
  display: block;
}
.alert p {
  margin: 0;
}
.alert::before {
  content: "";
  pointer-events: none;
  position: absolute;
  inset: 0;
  border-radius: var(--radius);
  border: solid 0.125rem var(--color-effect-foreground);
  filter: var(--filter-glow-primary);
}

.container {
  width: 100%;
  max-width: 1024px;
  margin: 0 auto;
}

#intro {
  margin-bottom: 1rem;
}

div:has(> ol.footnotes) {
  margin-top: 5rem;
}

.center {
  margin: 0 auto;
}

tbody.fixBorder td {
  height: 0;
  padding: 0;
}

.flex-wrap-md {
  display: flex;
  align-items: center;
}
.flex-wrap-md > .family-description {
  max-width: 75ch;
}
.flex-wrap-md:has(> .family-description) {
  margin-bottom: 1rem;
}
.flex-wrap-md > * {
  width: 100%;
}
@media (max-width: 80rem) {
  .flex-wrap-md {
    flex-wrap: wrap;
    justify-content: center;
  }
  .flex-wrap-md > * {
    width: 100%;
  }
}

header,
main,
footer {
  padding: 0 1rem;
}

main {
  flex-grow: 1;
}
main > div#intro {
  width: 100%;
  max-width: 1024px;
  margin: 0 auto 1rem;
  position: sticky;
  left: 0;
}

header {
  background-color: var(--color-shade-1);
  min-height: 2em;
  display: flex;
  flex-direction: column;
  align-items: center;
}
header .headerContainer {
  flex-grow: 1;
  width: 100%;
  max-width: 1024px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

footer {
  background: var(--color-shade-1);
  padding: 1em;
}
footer > div {
  max-width: 1024px;
  margin: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0.5em;
}
footer p {
  margin: 0;
}
footer .footerLinks {
  display: flex;
  align-items: center;
  gap: 1em;
}
footer .footerLinks > * {
  display: flex;
  align-items: center;
  gap: 0.2em;
}
footer .footerDisclaimer {
  color: var(--color-text-4);
}
footer .footerDisclaimer a {
  color: var(--color-text-4);
}

.hidden:not([data-show=true]) {
  display: none !important;
}

.table-container {
  overflow-x: auto;
  width: 100%;
}

table {
  --border-width: 6px;
  --border-thin-width: 1px;
  width: fit-content;
  border-collapse: collapse;
  user-select: none;
  border: solid var(--border-width) var(--color-shade-2);
}
table tr th {
  text-align: left;
  background-color: var(--color-shade-1);
}
table thead {
  position: sticky;
  z-index: 10;
  top: 0;
  background-color: var(--color-background);
  outline: solid var(--border-width) var(--color-shade-2);
  outline-offset: calc(var(--border-width) / 2 * -1);
}
@media (min-width: 48rem) {
  table thead {
    top: 0;
  }
}
table thead tr > th {
  outline-offset: -0.05em;
  outline: solid var(--border-thin-width) var(--color-shade-2);
}
table thead tr:first-child > th {
  background-color: var(--color-shade-2);
}
table thead tr:first-child > th > div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  justify-items: center;
  color: var(--color-primary);
}
table thead tr:first-child > th > div > .eventTitle {
  color: var(--color-primary) !important;
  grid-column: 2;
}
table thead tr:first-child > th > div .date {
  color: var(--color-text-3);
  font-weight: 200;
  place-self: end;
}
table thead.currentEvent tr > th {
  outline-color: var(--color-primary);
}
table thead.currentEvent {
  outline-color: var(--color-primary);
}
table thead.currentEvent tr:first-child > th {
  background-color: var(--color-primary);
}
table thead.currentEvent tr:first-child > th > div > .eventTitle {
  font-weight: 900;
}
table thead.currentEvent tr:first-child > th > div > .date,
table thead.currentEvent tr:first-child > th > div > .eventTitle {
  color: var(--color-background) !important;
}
table tbody {
  border-top: solid var(--border-width) var(--color-shade-2);
}
table tbody.currentEvent {
  border: solid var(--border-width) var(--color-primary);
}
table tbody.filtered {
  display: none;
}
table tbody tr.filteredRow {
  color: var(--color-text-3);
}
table tbody tr:first-of-type :first-child div {
  display: flex;
  flex-direction: column;
}
table tbody .buttonCollapse,
table tbody .buttonExpand {
  width: fit-content;
  margin: 1em auto 0;
}
table tbody > tr > th,
table thead > tr > th,
table td {
  text-align: center;
}
table tbody > tr > th[data-col] {
  font-size: x-small;
  font-weight: normal;
}
table tbody > tr > th[data-col].hover {
  background-color: var(--color-shade-3);
}
table th,
table td {
  padding: 0.25rem 0.5rem;
  border: solid var(--border-thin-width) var(--color-shade-2);
  min-width: 6ch;
}
table th.hover,
table td.hover {
  background-color: var(--color-shade-1);
}
table th.fade:not(.highlighted),
table td.fade:not(.highlighted) {
  color: var(--color-text-4);
}
table td.unknown {
  color: var(--color-text-3);
}
table td.val {
  font-family: var(--font-numbers), monospace;
}
table td.val.hover {
  background-color: transparent;
}
table td.val:not(.empty) {
  cursor: pointer;
}
table td.val:not(.empty).hover {
  background-color: var(--color-shade-1);
}
table td.val:not(.empty):hover {
  background-color: var(--color-shade-3);
}
table td.val.highlighted[data-dim=A] {
  background-color: var(--color-highlight-1);
}
table td.val.highlighted[data-dim=B] {
  background-color: var(--color-highlight-2);
}
table td.val.highlighted[data-dim=C] {
  background-color: var(--color-highlight-3);
}
table td.val.highlighted[data-dim=D] {
  background-color: var(--color-highlight-4);
}
table td.val.highlighted[data-dim=E] {
  background-color: var(--color-highlight-5);
}
table td.val.highlighted[data-dim=F] {
  background-color: var(--color-highlight-6);
}
table td.val.currentDimension:not(.hover):not(.highlighted) {
  background-color: var(--color-shade-2);
}
table td.val:not([data-diff=""])::after {
  content: attr(data-diff);
  display: block;
  font-size: 0.8em;
  background-color: var(--custom-color);
  color: var(--color-foreground);
  width: calc(100% + 1rem);
  height: 1lh;
  position: relative;
  left: -0.5rem;
  top: 0.25rem;
  margin-top: -0.25rem;
}
table td.val[data-diff=""]::after {
  content: "";
  display: block;
  font-size: 0.8em;
  background-color: transparent;
  width: calc(100% + 1rem);
  height: 1lh;
  position: relative;
  left: -0.5rem;
  top: 0.25rem;
  margin-top: -0.25rem;
}
table td.dimension.hover {
  background-color: var(--color-shade-3);
}
table td.dimension.currentDimension::after {
  content: ">";
  font-family: var(--font-numbers), monospace;
  position: relative;
  right: calc(-0.5rem - 0.5ch);
  margin-left: -1ch;
  font-weight: bold;
}

div.filterBox {
  border: solid 4px var(--color-foreground);
  margin: 2rem auto;
  padding: 1rem;
  position: relative;
  font-family: var(--font-numbers), monospace;
  display: flex;
  flex-wrap: wrap;
  column-gap: 4rem;
  row-gap: 2rem;
  width: fit-content;
}
div.filterBox::before {
  content: "filter";
  position: absolute;
  top: -0.6lh;
  background-color: var(--color-background);
  padding: 0 0.5rem;
}
div.filterBox > div {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  font-size: 1.2rem;
}
div.filterBox > div label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
div.filterBox > div label input[type=checkbox] {
  appearance: none;
  background-color: var(--color-shade-1);
  margin: 0;
  color: currentColor;
  width: 1.8em;
  height: 1.8em;
  border: 0.3em solid var(--color-shade-4);
  border-radius: var(--radius);
  transform: translateY(-0.075em);
  position: relative;
  font-family: inherit;
}
div.filterBox > div label input[type=checkbox]::before {
  position: absolute;
  inset: 0;
  content: "x";
  text-align: center;
  font-size: 1.2rem;
  line-height: 0.7;
  transform: scale(0);
  transition: 120ms transform ease-in-out;
}
div.filterBox > div label input[type=checkbox]:checked::before {
  transform: scale(1);
}

details summary {
  list-style: none;
  cursor: pointer;
}
details summary::-webkit-details-marker {
  display: none;
}
details summary h3::after {
  font-family: var(--font-headings), sans-serif;
  text-transform: var(--font-headings-transform, initial);
  content: "+";
  transform: rotate(-90deg);
  color: var(--color-effect-foreground);
  display: inline-block;
  width: 1ch;
  height: 1ch;
  line-height: 1ch;
  margin-left: 0.5ch;
  text-align: center;
}
@media (prefers-reduced-motion: no-preference) {
  details summary h3::after {
    transition: transform 300ms;
  }
}
details:open summary h3::after {
  content: "–";
  transform: rotate(0deg);
}

div[role=tooltip] {
  pointer-events: none;
  user-select: none;
  opacity: 0;
  transition: opacity 0.2s ease, transform 0.2s ease;
  position: absolute;
  right: 0;
  z-index: 30;
  inline-size: max-content;
  max-inline-size: 25ch;
  text-align: start;
  font-size: 1rem;
  font-weight: normal;
  line-height: initial;
  padding: 0.5em;
  margin: 0;
  border-radius: var(--radius);
  background: var(--color-shade-2);
  will-change: filter;
  filter: drop-shadow(0 3px 3px hsla(0, 0%, 0%, 0.5)) drop-shadow(0 12px 12px hsla(0, 0%, 0%, 0.5));
  font-family: var(--font-text), sans-serif;
  color: var(--color-foreground);
  /* tooltip shape is a pseudo element so we can cast a shadow */
}
div[role=tooltip]::after {
  content: "";
  background: var(--_bg);
  position: absolute;
  z-index: -1;
  inset: 0;
  mask: conic-gradient(from -30deg at bottom, rgba(0, 0, 0, 0), #000 1deg 60deg, rgba(0, 0, 0, 0) 61deg) bottom/100% 50% no-repeat;
}

/* create a stacking context for elements with > tool-tips */
:has(> div[role=tooltip]) {
  position: relative;
}

/* when those parent elements have focus, hover, etc */
:has(> div[role=tooltip]):is(:hover, :focus-visible, :active) > div[role=tooltip] {
  opacity: 1;
}

.eventOverview {
  display: grid;
  gap: 1em;
}
@media (min-width: 40rem) {
  .eventOverview {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}
@media (min-width: 40rem) and (max-width: 48rem) {
  .eventOverview {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 48rem) and (max-width: 64rem) {
  .eventOverview {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (min-width: 48rem) {
  .eventOverview {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
.eventOverview a {
  background-color: var(--color-shade-2);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 1em;
  border-radius: var(--radius);
  min-height: 5em;
  gap: 1em;
  transition: background-color 200ms;
}
.eventOverview a:hover {
  background-color: var(--color-shade-3);
}
.eventOverview a img {
  width: 200px;
  max-width: 100%;
  height: 100px;
  object-fit: contain;
  text-align: center;
}

button {
  cursor: pointer;
  font-size: 1rem;
  border-radius: var(--radius);
  color: var(--color-foreground);
  background-color: var(--color-shade-1);
  border: solid 2px var(--color-primary);
  padding: 0.2rem 0.4rem;
}
button:hover {
  color: var(--color-primary);
  background-color: var(--color-shade-3);
  border-color: var(--color-primary);
}
button#openGuide {
  padding: 1rem 2rem;
  font-size: 2em;
}

dialog {
  background-color: var(--color-shade-1);
  color: var(--color-foreground);
  border: none;
}

::backdrop {
  background-color: var(--color-background);
  opacity: 0.75;
}

/*# sourceMappingURL=style.css.map */
