/* --- CSS Reset & Base Styles for Consistency --- */
html, body {
  height: 100%;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI',
    Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
  font-size: 16px;
  background: #fff;
  color: #111;
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow: hidden;
  overscroll-behavior: none;
  touch-action: none;
  -ms-touch-action: none;
  -webkit-user-select: none;
  user-select: none;
  -webkit-overflow-scrolling: auto;
}

*, *::before, *::after {
  box-sizing: inherit;
  user-select: none;
  -webkit-user-select: none;
  touch-action: none;
  -ms-touch-action: none;
}

/* Remove tap highlight on mobile */
a, button {
  -webkit-tap-highlight-color: transparent;
}

/* Remove default button styles and normalize appearance */
button, input[type="button"], input[type="submit"], input[type="reset"] {
  appearance: none;
  -webkit-appearance: none;
  background: #eee;
  color: #111;
  border: 1px solid #bbb;
  border-radius: 4px;
  padding: 0.5em 1em;
  font: inherit;
  cursor: pointer;
  transition: background 0.2s, border 0.2s;
  outline: none;
}
button:focus, input[type="button"]:focus, input[type="submit"]:focus, input[type="reset"]:focus {
  border-color: #0078d4;
  box-shadow: 0 0 0 2px #0078d433;
}
button:active, input[type="button"]:active, input[type="submit"]:active, input[type="reset"]:active {
  background: #ddd;
}

/* Remove link underline and inherit color */
a {
  color: inherit;
  text-decoration: none;
}
a:focus {
  outline: 2px solid #0078d4;
  outline-offset: 2px;
}

/* Images and media responsive by default */
img, video, canvas, svg {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Remove list styles */
ul, ol {
  padding-left: 1.5em;
  margin: 1em 0;
}
li {
  margin: 0.25em 0;
}

/* Headings spacing */
h1, h2, h3, h4, h5, h6 {
  margin: 1.2em 0 0.5em 0;
  font-weight: 600;
}

p {
  margin: 0.75em 0;
}
