/* Critical base styles shared across pages */
*,
::before,
::after {
  box-sizing: border-box;
  border-width: 0;
  border-style: solid;
  border-color: #e5e7eb;
}

html {
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
    "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
}

body {
  margin: 0;
  font-family: inherit;
  line-height: inherit;
  background-color: #111827;
  color: #f3f4f6;
}

body:not(.loaded) {
  opacity: 0;
  transition: opacity 0.2s ease-in;
}

body.loaded {
  opacity: 1;
}

custom-navbar,
custom-footer {
  display: block;
  min-height: 60px;
}

custom-navbar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  background-color: rgba(17, 24, 39, 0.8);
  backdrop-filter: blur(10px);
}
