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

html, body {
  height: 100%;
  font-family: system-ui, -apple-system, sans-serif;
}

.toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: flex-end;
  padding: 12px 16px;
  background: #1a1a1a;
  color: #fff;
}

.field {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 0.8rem;
}

.field label {
  color: #aaa;
}

.field input[type="text"] {
  padding: 8px 10px;
  border-radius: 6px;
  border: none;
  font-size: 0.9rem;
  min-width: 200px;
}

.opacity-field {
  min-width: 220px;
}

#mapWrapper {
  position: relative;
  width: 100%;
  height: calc(100vh - 74px);
  overflow: hidden;
  background: #ddd;
}

#mapA {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#overlayContainer {
  position: absolute;
  top: 60px;
  left: 60px;
  width: 70%;
  height: 70%;
  min-width: 200px;
  min-height: 200px;
  border: 3px solid #ff5a36;
  box-shadow: 0 4px 20px rgba(0,0,0,0.4);
  z-index: 500;
}

#dragHandle {
  position: absolute;
  top: -28px;
  left: 0;
  right: 0;
  height: 26px;
  background: #ff5a36;
  color: #fff;
  font-size: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: move;
  user-select: none;
  border-radius: 4px 4px 0 0;
}

#mapB {
  width: 100%;
  height: 100%;
}

#resizeHandle {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 18px;
  height: 18px;
  background: #ff5a36;
  cursor: nwse-resize;
  z-index: 501;
}
