.lin-wrap {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.lin-canvas-box {
  position: relative;
  width: 100%;
  max-width: 864px;
  margin: 0 auto;
  border-radius: 12px;
  overflow: hidden;
  border: 3px solid #5c3a1e;
  box-shadow:
    inset 0 0 0 2px #c9a06a,
    0 12px 36px rgba(0, 0, 0, 0.35);
  background: #2f6fbf;
}

.lin-canvas-box canvas {
  display: block;
  width: 100%;
  height: auto;
  cursor: crosshair;
  touch-action: none;
}

.lin-hud {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.25rem;
  justify-content: space-between;
  align-items: flex-start;
  font-size: 0.95rem;
}

.lin-hud strong {
  font-size: 1.05rem;
}

.lin-status {
  min-height: 1.4em;
  text-align: center;
  font-weight: 600;
}

.lin-status.ok {
  color: #2d6a2d;
}

.lin-status.err {
  color: #a33;
}

.lin-controls {
  display: grid;
  gap: 0.65rem;
}

.lin-controls .row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}

.lin-options {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.25rem;
  font-size: 0.9rem;
}

.lin-options label {
  display: inline-flex;
  gap: 0.35rem;
  align-items: center;
}

.lin-setup label {
  display: block;
  margin-top: 0.5rem;
}

.lin-setup select,
.lin-setup input[type="text"] {
  max-width: 16rem;
}

.lin-setup .row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}
