:not(:defined) > * {
  display: none;
}

html {
  height: 100%;
}

body {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
}

model-viewer {
  width: 100%;
  height: 90%;
  background-color: #ffffff;
}

#ar-button,
model-viewer::part(default-ar-button) {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 10;
  pointer-events: none;
  background:
    repeating-linear-gradient(
      to bottom,
      rgba(0, 0, 0, 0) 0px,
      rgba(0, 0, 0, 0) 1px,
      rgba(0, 0, 0, 0.28) 2px,
      rgba(0, 0, 0, 0.28) 3px
    ),
    repeating-linear-gradient(
      to right,
      rgba(255, 0, 0, 0.06) 0px,
      rgba(0, 255, 0, 0.06) 1px,
      rgba(0, 0, 255, 0.06) 2px
    );
  mix-blend-mode: multiply;
  animation: crt-flicker 0.15s infinite;
}

body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 11;
  pointer-events: none;
  background: radial-gradient(
    ellipse at center,
    rgba(0, 0, 0, 0) 65%,
    rgba(0, 0, 0, 0.22) 100%
  );
  box-shadow: inset 0 0 120px 40px rgba(0, 0, 0, 0.35);
}

@keyframes crt-flicker {
  0% { opacity: 0.92; }
  50% { opacity: 1; }
  100% { opacity: 0.94; }
}


#bootline {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 20;
  box-sizing: border-box;
  padding: 6px 14px;
  font-family: "SF Mono", "Menlo", "Consolas", "Courier New", monospace;
  font-size: 14px;
  line-height: 1.4;
  color: #7dffb0;
  background: rgba(0, 0, 0, 0.82);
  text-shadow: 0 0 4px rgba(125, 255, 176, 0.65);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: center;
}

#bootinner {
  display: inline-flex;
  align-items: baseline;
  white-space: nowrap;
}

#bootmsg {
  display: inline-block;
  min-width: 40ch;
  text-align: left;
}

#bootline .prompt {
  color: #4ea0ff;
  margin-right: 8px;
}

#bootline .spin {
  display: inline-block;
  min-width: 3ch;
  color: inherit;
  text-shadow: inherit;
}

#bootline .cursor {
  animation: boot-cursor 1s steps(1) infinite;
}

#bootline.done {
  color: #7dffb0;
}

@keyframes boot-cursor {
  0%, 50% { opacity: 1; }
  51%, 100% { opacity: 0; }
}

.progress-bar {
  display: block;
  width: 33%;
  height: 10%;
  max-height: 2%;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate3d(-50%, -50%, 0);
  border-radius: 25px;
  box-shadow: 0px 3px 10px 3px rgba(0, 0, 0, 0.5), 0px 0px 5px 1px rgba(0, 0, 0, 0.6);
  border: 1px solid rgba(255, 255, 255, 0.9);
  background-color: rgba(0, 0, 0, 0.5);
}

.progress-bar.hide {
  visibility: hidden;
  transition: visibility 0.3s;
}

.update-bar {
  background-color: rgba(255, 255, 255, 0.9);
  width: 0%;
  height: 100%;
  border-radius: 25px;
  float: left;
  transition: width 0.3s;
}