:root {
  --water: #557d83;
  --terrain: #7b8964;
  --v95-sea: #2c5962;
  --v95-grass: #7b8964;
  --v95-forest: #4d6848;
}

.v95-object-controls > b {
  display: block;
  margin: 11px 0 7px;
  font-size: 10px;
}

.v95-object-controls label {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 5px 10px;
  margin-top: 9px;
  font-size: 9px;
}

.v95-object-controls label input {
  grid-column: 1 / -1;
  width: 100%;
}

.v95-object-tabs,
.v95-rotate-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5px;
}

.v95-object-tabs button,
.v95-rotate-row button {
  min-height: 34px;
  padding: 6px;
  border: 1px solid #b9bab3;
  background: #faf9f4;
  color: #272d2a;
  cursor: pointer;
  font-size: 9px;
  font-weight: 700;
}

.v95-object-tabs button.selected {
  border-color: #2f5f68;
  background: #dfe9e6;
  color: #244a51;
}

.v95-rotate-row {
  margin-top: 11px;
}

#v95TransformStatus.warning {
  color: #8a4528;
}

#v95SweepStatus {
  min-height: 30px;
  padding-left: 8px;
  border-left: 2px solid #557d83;
}

#v95Walk.active {
  border-color: #d9efe9;
  background: #224f57;
  color: #fff;
}

.v95-walk-hud {
  position: absolute;
  z-index: 14;
  right: 18px;
  bottom: 54px;
  display: none;
  width: min(360px, calc(100% - 36px));
  padding: 12px 14px;
  border: 1px solid rgba(255, 255, 255, 0.34);
  background: rgba(22, 31, 30, 0.9);
  color: #fff;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.2);
  font-size: 10px;
}

.v95-walk-hud b,
.v95-walk-hud span {
  display: block;
}

.v95-walk-hud span {
  margin-top: 5px;
  color: #dce5df;
}

.v95-walk-hud button {
  margin-top: 10px;
  padding: 7px 11px;
  border: 1px solid rgba(255, 255, 255, 0.48);
  background: transparent;
  color: #fff;
  cursor: pointer;
  font-size: 9px;
}

.v95-crosshair {
  position: absolute;
  z-index: 13;
  left: 50%;
  top: 50%;
  display: none;
  width: 14px;
  height: 14px;
  margin: -7px 0 0 -7px;
  pointer-events: none;
}

.v95-crosshair::before,
.v95-crosshair::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.6);
}

.v95-crosshair::before {
  width: 14px;
  height: 1px;
  margin-left: -7px;
}

.v95-crosshair::after {
  width: 1px;
  height: 14px;
  margin-top: -7px;
}

body.v95-first-person .v95-walk-hud,
body.v95-first-person .v95-crosshair {
  display: block;
}

body.v95-first-person #viewport canvas {
  cursor: none;
}

@media (max-width: 1100px) {
  .v95-object-tabs,
  .v95-rotate-row {
    grid-template-columns: 1fr;
  }
}
