@import url(base-styles.css);
@import url(fonts/inter/inter.css);
@import url(fonts/inconsolata/inconsolata.css);
@import url(fonts/monospec/css/mono-spec.css);
@import url(fonts/univers/univers.css);

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

html, body {
  height: 100%;
  overflow: hidden;
  font-family: sans-serif;
  background: #111;
  color: #eee;
}

#scene-container {
  position: fixed;
  inset: 0;
  z-index: 0;
}

#content-container {
  position: fixed;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}

#ui-overlay {
  position: fixed;
  inset: 0;
  z-index: 2;
  pointer-events: none;
}
#ui-overlay svg {
  width: 100%;
  height: 100%;
  display: block;
}
#fullscreen-btn {
  position: fixed;
  bottom: 16px;
  right: 16px;
  width: 36px;
  height: 36px;
  z-index: 3;
  pointer-events: auto;
  cursor: pointer;
  background: rgba(255,255,255,0.1);
  border: 1px solid rgba(255,255,255,0.25);
  border-radius: 6px;
  opacity: 0.5;
  transition: opacity 0.2s;
}
#fullscreen-btn:hover,
#fullscreen-btn:active {
  opacity: 1;
}
#fullscreen-btn::after {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'%3E%3Cpath d='M8 3H5a2 2 0 0 0-2 2v3m18 0V5a2 2 0 0 0-2-2h-3m0 18h3a2 2 0 0 0 2-2v-3M3 16v3a2 2 0 0 0 2 2h3'/%3E%3C/svg%3E") center/18px no-repeat;
}

#effects-overlay {
  position: fixed;
  inset: 0;
  z-index: 10;
  pointer-events: none;
}

#effects-overlay::before {
  --corner-opacity: 0.45;
  content: '';
  position: fixed;
  inset: 0;
  background:
    radial-gradient(ellipse at center, transparent 65%, rgba(0,0,0,0.25) 85%, rgba(0,0,0,var(--corner-opacity)) 100%),
    repeating-linear-gradient(0deg, rgba(0,0,0,0.12) 0px, rgba(0,0,0,0.22) 2px, transparent 2px, transparent 4px);
}


