/*
 * @file Reset.css
 * @copyright X Laboratory B.V - All Rights Reserved
 * Unauthorized copying of this file, via any medium is strictly prohibited
 * Proprietary and confidential
 * @author Andre Schiele <andre@deltaxlab.com>
 * @author Claude code
 * @date 2026/08/27
 * @brief Minimal, dependency-free normalisation. No third-party reset is used.
 */

*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  height: 100%;
}

body,
h1, h2, h3, h4,
p, figure, blockquote,
dl, dd, ol, ul {
  margin: 0;
  padding: 0;
}

ol, ul {
  list-style: none;
}

img,
video,
svg {
  display: block;
  max-width: 100%;
}

button,
input,
select,
textarea {
  font: inherit;
  color: inherit;
}

/*
 * Browsers give a button their own padding - 1px 6px in Chrome. On the menu
 * tiles, which are buttons, that inset the artwork from the tile edge by a few
 * pixels and made button tiles disagree with anchor tiles. Clear it here so a
 * tile's contents always reach its border exactly.
 */
button {
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  text-align: inherit;
}

a {
  color: inherit;
}

:focus-visible {
  outline: 3px solid var(--focus, #f0a500);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
