:root {
  --orb-stage-panel-height: 800px;
}

html,
body {
  height: 100%;
  margin: 0;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

body {
  min-height: 100vh;
}

.orbStage {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  height: 100%;
  min-height: 100%;
  box-sizing: border-box;
  padding: 0;
}

.orbStageCard {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  height: 100%;
  min-height: var(--orb-stage-panel-height);
  padding: 14px 14px 16px;
  overflow: hidden;
}

.physStage {
  position: relative;
  flex: 1 1 auto;
  min-height: 0;
  border: 1px solid var(--frame);
  border-radius: 14px;
  background: #000;
  overflow: hidden;
}

.orbStageViewportLabel {
  position: absolute;
  top: 12px;
  left: 14px;
  z-index: 8;
  display: inline-flex;
  flex-direction: column;
  gap: 4px;
  font-weight: 900;
  letter-spacing: .3px;
  color: var(--text-strong);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.65);
  pointer-events: none;
}

.orbStageViewportTitle {
  font-size: 15px;
  font-weight: 900;
  line-height: 1.1;
}

.orbStageViewportMeta,
.orbStageDepthReadout {
  font-size: 11px;
  font-weight: 800;
  color: var(--muted);
  letter-spacing: 0;
  line-height: 1.2;
}

.orbStageWorldDock {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: 1;
}

.orbStageDepth3dLayer {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
}

.orbStageDepth3dLayer canvas {
  display: block;
  width: 100%;
  height: 100%;
}

.orbStageWorld {
  position: absolute;
  left: 0;
  top: 0;
  width: var(--level-world-width, var(--orb-stage-world-width, 8192px));
  height: var(--level-world-height, var(--orb-stage-world-height, 8192px));
  transform-origin: 0 0;
  transform:
    translate3d(
      var(--level-world-x, var(--orb-stage-world-x, 0px)),
      var(--level-world-y, var(--orb-stage-world-y, 0px)),
      0
    )
    scale(var(--level-world-zoom, var(--orb-stage-world-zoom, 1)));
  will-change: transform;
}

.orbStageWorldOverlay {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.authoredStarsFieldLayer {
  pointer-events: none;
}

.deathPanel {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,0.55);
  z-index: 30;
  pointer-events: auto;
}

.deathPanel.off {
  display: none;
}

.deathCard {
  width: min(360px, 80%);
  text-align: center;
  padding: 16px 14px;
}

.deathTitle {
  font-weight: 1000;
  letter-spacing: .10em;
  text-transform: uppercase;
  margin-bottom: 12px;
  font-size: 20px;
  color: var(--text-strong);
}

.stageButton {
  margin-top: 16px;
  padding: 14px 24px;
  border-radius: 14px;
  font-weight: 1000;
  letter-spacing: .12em;
  text-transform: uppercase;
}
