We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Text within MultilineTextInput remains black in macOS Dark Mode
### Describe the bug

When using macOS in dark mode, the text within MultilineTextInput widgets remains black, making it difficult to read.

### Steps to reproduce

1. Add a MultilineTextInput widget to an app
2. Ensure macOS dark mode is enabled
3. View the app in dev mode or run the app 
4. Type text into the MultilineTextInput widget
5. See error


### Expected behavior

The color of the text within the MultilineTextInput widget should be white when in dark mode and black in light mode. This works as expected with TextInput widget.

### Screenshots

<img width="270" alt="Screenshot 2023-02-16 at 1 44 35 PM" src="https://user-images.githubusercontent.com/42925864/219470705-d344d219-f0c1-46ed-8fd9-085fccfef03f.png">


### Environment

- Operating System: macOS 13.1
- Python version: 11
- Software versions:
  - Briefcase: 0.3.12
  - Toga: 0.3.0


### Logs

```

```


### Additional context

_No response_

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `cocoa/src/toga_cocoa/widgets/multilinetextinput.py`
Content:
```
1 from travertino.size import at_least
2 
3 from toga_cocoa.colors import native_color
4 from toga_cocoa.libs import (
5     NSBezelBorder,
6     NSScrollView,
7     NSTextView,
8     NSViewWidthSizable,
9     objc_method,
10 )
11 
12 from .base import Widget
13 
14 
15 class TogaTextView(NSTextView):
16     @objc_method
17     def touchBar(self):
18         # Disable the touchbar.
19         return None
20 
21 
22 class MultilineTextInput(Widget):
23     def create(self):
24         # Create a multiline view, and put it in a scroll view.
25         # The scroll view is the native, because it's the outer container.
26         self.native = NSScrollView.alloc().init()
27         self.native.hasVerticalScroller = True
28         self.native.hasHorizontalScroller = False
29         self.native.autohidesScrollers = False
30         self.native.borderType = NSBezelBorder
31 
32         # Disable all autolayout functionality on the outer widget
33         self.native.translatesAutoresizingMaskIntoConstraints = False
34 
35         # Create the actual text widget
36         self.text = TogaTextView.alloc().init()
37         self.text.editable = True
38         self.text.selectable = True
39         self.text.verticallyResizable = True
40         self.text.horizontallyResizable = False
41 
42         self.text.autoresizingMask = NSViewWidthSizable
43 
44         # Put the text view in the scroll window.
45         self.native.documentView = self.text
46 
47         # Add the layout constraints
48         self.add_constraints()
49 
50     def set_placeholder(self, value):
51         self.text.placeholderString = self.interface.placeholder
52 
53     def set_readonly(self, value):
54         self.text.editable = not self.interface.readonly
55 
56     def get_value(self):
57         return self.text.string
58 
59     def set_value(self, value):
60         self.text.string = value
61 
62     def set_color(self, value):
63         self.text.textColor = native_color(value)
64 
65     def set_font(self, font):
66         if font:
67             self.text.font = font._impl.native
68 
69     def rehint(self):
70         self.interface.intrinsic.width = at_least(self.interface.MIN_WIDTH)
71         self.interface.intrinsic.height = at_least(self.interface.MIN_HEIGHT)
72 
73     def set_on_change(self, handler):
74         self.interface.factory.not_implemented("MultilineTextInput.set_on_change()")
75 
76     def scroll_to_bottom(self):
77         self.text.scrollToEndOfDocument(None)
78 
79     def scroll_to_top(self):
80         self.text.scrollToBeginningOfDocument(None)
81
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/cocoa/src/toga_cocoa/widgets/multilinetextinput.py b/cocoa/src/toga_cocoa/widgets/multilinetextinput.py
--- a/cocoa/src/toga_cocoa/widgets/multilinetextinput.py
+++ b/cocoa/src/toga_cocoa/widgets/multilinetextinput.py
@@ -38,6 +38,7 @@
         self.text.selectable = True
         self.text.verticallyResizable = True
         self.text.horizontallyResizable = False
+        self.text.usesAdaptiveColorMappingForDarkAppearance = True
 
         self.text.autoresizingMask = NSViewWidthSizable

{"golden_diff": "diff --git a/cocoa/src/toga_cocoa/widgets/multilinetextinput.py b/cocoa/src/toga_cocoa/widgets/multilinetextinput.py\n--- a/cocoa/src/toga_cocoa/widgets/multilinetextinput.py\n+++ b/cocoa/src/toga_cocoa/widgets/multilinetextinput.py\n@@ -38,6 +38,7 @@\n         self.text.selectable = True\n         self.text.verticallyResizable = True\n         self.text.horizontallyResizable = False\n+        self.text.usesAdaptiveColorMappingForDarkAppearance = True\n \n         self.text.autoresizingMask = NSViewWidthSizable\n", "issue": "Text within MultilineTextInput remains black in macOS Dark Mode\n### Describe the bug\n\nWhen using macOS in dark mode, the text within MultilineTextInput widgets remains black, making it difficult to read.\n\n### Steps to reproduce\n\n1. Add a MultilineTextInput widget to an app\r\n2. Ensure macOS dark mode is enabled\r\n3. View the app in dev mode or run the app \r\n4. Type text into the MultilineTextInput widget\r\n5. See error\r\n\n\n### Expected behavior\n\nThe color of the text within the MultilineTextInput widget should be white when in dark mode and black in light mode. This works as expected with TextInput widget.\n\n### Screenshots\n\n<img width=\"270\" alt=\"Screenshot 2023-02-16 at 1 44 35 PM\" src=\"https://user-images.githubusercontent.com/42925864/219470705-d344d219-f0c1-46ed-8fd9-085fccfef03f.png\">\r\n\n\n### Environment\n\n- Operating System: macOS 13.1\r\n- Python version: 11\r\n- Software versions:\r\n  - Briefcase: 0.3.12\r\n  - Toga: 0.3.0\r\n\n\n### Logs\n\n```\r\n\r\n```\r\n\n\n### Additional context\n\n_No response_\n", "before_files": [{"content": "from travertino.size import at_least\n\nfrom toga_cocoa.colors import native_color\nfrom toga_cocoa.libs import (\n    NSBezelBorder,\n    NSScrollView,\n    NSTextView,\n    NSViewWidthSizable,\n    objc_method,\n)\n\nfrom .base import Widget\n\n\nclass TogaTextView(NSTextView):\n    @objc_method\n    def touchBar(self):\n        # Disable the touchbar.\n        return None\n\n\nclass MultilineTextInput(Widget):\n    def create(self):\n        # Create a multiline view, and put it in a scroll view.\n        # The scroll view is the native, because it's the outer container.\n        self.native = NSScrollView.alloc().init()\n        self.native.hasVerticalScroller = True\n        self.native.hasHorizontalScroller = False\n        self.native.autohidesScrollers = False\n        self.native.borderType = NSBezelBorder\n\n        # Disable all autolayout functionality on the outer widget\n        self.native.translatesAutoresizingMaskIntoConstraints = False\n\n        # Create the actual text widget\n        self.text = TogaTextView.alloc().init()\n        self.text.editable = True\n        self.text.selectable = True\n        self.text.verticallyResizable = True\n        self.text.horizontallyResizable = False\n\n        self.text.autoresizingMask = NSViewWidthSizable\n\n        # Put the text view in the scroll window.\n        self.native.documentView = self.text\n\n        # Add the layout constraints\n        self.add_constraints()\n\n    def set_placeholder(self, value):\n        self.text.placeholderString = self.interface.placeholder\n\n    def set_readonly(self, value):\n        self.text.editable = not self.interface.readonly\n\n    def get_value(self):\n        return self.text.string\n\n    def set_value(self, value):\n        self.text.string = value\n\n    def set_color(self, value):\n        self.text.textColor = native_color(value)\n\n    def set_font(self, font):\n        if font:\n            self.text.font = font._impl.native\n\n    def rehint(self):\n        self.interface.intrinsic.width = at_least(self.interface.MIN_WIDTH)\n        self.interface.intrinsic.height = at_least(self.interface.MIN_HEIGHT)\n\n    def set_on_change(self, handler):\n        self.interface.factory.not_implemented(\"MultilineTextInput.set_on_change()\")\n\n    def scroll_to_bottom(self):\n        self.text.scrollToEndOfDocument(None)\n\n    def scroll_to_top(self):\n        self.text.scrollToBeginningOfDocument(None)\n", "path": "cocoa/src/toga_cocoa/widgets/multilinetextinput.py"}], "after_files": [{"content": "from travertino.size import at_least\n\nfrom toga_cocoa.colors import native_color\nfrom toga_cocoa.libs import (\n    NSBezelBorder,\n    NSScrollView,\n    NSTextView,\n    NSViewWidthSizable,\n    objc_method,\n)\n\nfrom .base import Widget\n\n\nclass TogaTextView(NSTextView):\n    @objc_method\n    def touchBar(self):\n        # Disable the touchbar.\n        return None\n\n\nclass MultilineTextInput(Widget):\n    def create(self):\n        # Create a multiline view, and put it in a scroll view.\n        # The scroll view is the native, because it's the outer container.\n        self.native = NSScrollView.alloc().init()\n        self.native.hasVerticalScroller = True\n        self.native.hasHorizontalScroller = False\n        self.native.autohidesScrollers = False\n        self.native.borderType = NSBezelBorder\n\n        # Disable all autolayout functionality on the outer widget\n        self.native.translatesAutoresizingMaskIntoConstraints = False\n\n        # Create the actual text widget\n        self.text = TogaTextView.alloc().init()\n        self.text.editable = True\n        self.text.selectable = True\n        self.text.verticallyResizable = True\n        self.text.horizontallyResizable = False\n        self.text.usesAdaptiveColorMappingForDarkAppearance = True\n\n        self.text.autoresizingMask = NSViewWidthSizable\n\n        # Put the text view in the scroll window.\n        self.native.documentView = self.text\n\n        # Add the layout constraints\n        self.add_constraints()\n\n    def set_placeholder(self, value):\n        self.text.placeholderString = self.interface.placeholder\n\n    def set_readonly(self, value):\n        self.text.editable = not self.interface.readonly\n\n    def get_value(self):\n        return self.text.string\n\n    def set_value(self, value):\n        self.text.string = value\n\n    def set_color(self, value):\n        self.text.textColor = native_color(value)\n\n    def set_font(self, font):\n        if font:\n            self.text.font = font._impl.native\n\n    def rehint(self):\n        self.interface.intrinsic.width = at_least(self.interface.MIN_WIDTH)\n        self.interface.intrinsic.height = at_least(self.interface.MIN_HEIGHT)\n\n    def set_on_change(self, handler):\n        self.interface.factory.not_implemented(\"MultilineTextInput.set_on_change()\")\n\n    def scroll_to_bottom(self):\n        self.text.scrollToEndOfDocument(None)\n\n    def scroll_to_top(self):\n        self.text.scrollToBeginningOfDocument(None)\n", "path": "cocoa/src/toga_cocoa/widgets/multilinetextinput.py"}]}