Repository: Textualize/textual

Issue:
Compositor map not aware of widgets nested deep into the DOM on app startup
When working on #2031 we realised that there is an issue with the compositor `_full_map` on app startup, in that it does not contain the widgets that are nested within the DOM.

To reproduce:
 1. Run the app below and connect to the console.
 2. Press `P` after app startup and note the size of the map that is printed.
 3. Scroll the app to the very bottom.
 4. Press `P` again.
 5. Notice that the map that was printed now is *significantly* bigger.

<details>
<summary>App</summary>

```py
from textual.app import App, ComposeResult
from textual.containers import VerticalScroll
from textual.widgets import Label


class MyApp(App[None]):
    def compose(self) -> ComposeResult:
        with VerticalScroll():
            yield Label("v\n" * 500)
            with VerticalScroll():
                for i in range(15):
                    yield Label(str(i))
                with VerticalScroll():
                    for i in range(35):
                        yield Label(str(i))

    def key_p(self) -> None:
        print(self.screen._compositor._full_map)


if __name__ == "__main__":
    MyApp().run()
```

</details>


Discussion:
Unassigned myself from this. Up for grabs!

Resolving patch:
diff --git a/src/textual/_compositor.py b/src/textual/_compositor.py
--- a/src/textual/_compositor.py
+++ b/src/textual/_compositor.py
@@ -266,7 +266,6 @@ class Compositor:
 
     def __init__(self) -> None:
         # A mapping of Widget on to its "render location" (absolute position / depth)
-
         self._full_map: CompositorMap = {}
         self._full_map_invalidated = True
         self._visible_map: CompositorMap | None = None
@@ -358,7 +357,7 @@ def reflow(self, parent: Widget, size: Size) -> ReflowResult:
         old_map = self._full_map
         old_widgets = old_map.keys()
 
-        map, widgets = self._arrange_root(parent, size)
+        map, widgets = self._arrange_root(parent, size, visible_only=False)
 
         new_widgets = map.keys()
 
@@ -1021,11 +1020,12 @@ def __rich__(self) -> StripRenderable:
         return StripRenderable(self.render_strips())
 
     def update_widgets(self, widgets: set[Widget]) -> None:
-        """Update a given widget in the composition.
+        """Update the given widgets in the composition.
 
         Args:
             widgets: Set of Widgets to update.
         """
+
         # If there are any *new* widgets we need to invalidate the full map
         if not self._full_map_invalidated and not widgets.issubset(
             self.visible_widgets.keys()


Test patch:
diff --git a/tests/snapshot_tests/__snapshots__/test_snapshots.ambr b/tests/snapshot_tests/__snapshots__/test_snapshots.ambr
--- a/tests/snapshot_tests/__snapshots__/test_snapshots.ambr
+++ b/tests/snapshot_tests/__snapshots__/test_snapshots.ambr
@@ -22750,134 +22750,137 @@
           font-weight: 700;
       }
   
-      .terminal-1349433035-matrix {
+      .terminal-2224040135-matrix {
           font-family: Fira Code, monospace;
           font-size: 20px;
           line-height: 24.4px;
           font-variant-east-asian: full-width;
       }
   
-      .terminal-1349433035-title {
+      .terminal-2224040135-title {
           font-size: 18px;
           font-weight: bold;
           font-family: arial;
       }
   
-      .terminal-1349433035-r1 { fill: #004578 }
-  .terminal-1349433035-r2 { fill: #c5c8c6 }
-  .terminal-1349433035-r3 { fill: #e1e1e1 }
-  .terminal-1349433035-r4 { fill: #14191f }
+      .terminal-2224040135-r1 { fill: #e1e1e1 }
+  .terminal-2224040135-r2 { fill: #c5c8c6 }
+  .terminal-2224040135-r3 { fill: #004578 }
+  .terminal-2224040135-r4 { fill: #23568b }
+  .terminal-2224040135-r5 { fill: #fea62b }
+  .terminal-2224040135-r6 { fill: #cc555a }
+  .terminal-2224040135-r7 { fill: #14191f }
       </style>
   
       <defs>
-      <clipPath id="terminal-1349433035-clip-terminal">
+      <clipPath id="terminal-2224040135-clip-terminal">
         <rect x="0" y="0" width="975.0" height="584.5999999999999" />
       </clipPath>
-      <clipPath id="terminal-1349433035-line-0">
+      <clipPath id="terminal-2224040135-line-0">
       <rect x="0" y="1.5" width="976" height="24.65"/>
               </clipPath>
-  <clipPath id="terminal-1349433035-line-1">
+  <clipPath id="terminal-2224040135-line-1">
       <rect x="0" y="25.9" width="976" height="24.65"/>
               </clipPath>
-  <clipPath id="terminal-1349433035-line-2">
+  <clipPath id="terminal-2224040135-line-2">
       <rect x="0" y="50.3" width="976" height="24.65"/>
               </clipPath>
-  <clipPath id="terminal-1349433035-line-3">
+  <clipPath id="terminal-2224040135-line-3">
       <rect x="0" y="74.7" width="976" height="24.65"/>
               </clipPath>
-  <clipPath id="terminal-1349433035-line-4">
+  <clipPath id="terminal-2224040135-line-4">
       <rect x="0" y="99.1" width="976" height="24.65"/>
               </clipPath>
-  <clipPath id="terminal-1349433035-line-5">
+  <clipPath id="terminal-2224040135-line-5">
       <rect x="0" y="123.5" width="976" height="24.65"/>
               </clipPath>
-  <clipPath id="terminal-1349433035-line-6">
+  <clipPath id="terminal-2224040135-line-6">
       <rect x="0" y="147.9" width="976" height="24.65"/>
               </clipPath>
-  <clipPath id="terminal-1349433035-line-7">
+  <clipPath id="terminal-2224040135-line-7">
       <rect x="0" y="172.3" width="976" height="24.65"/>
               </clipPath>
-  <clipPath id="terminal-1349433035-line-8">
+  <clipPath id="terminal-2224040135-line-8">
       <rect x="0" y="196.7" width="976" height="24.65"/>
               </clipPath>
-  <clipPath id="terminal-1349433035-line-9">
+  <clipPath id="terminal-2224040135-line-9">
       <rect x="0" y="221.1" width="976" height="24.65"/>
               </clipPath>
-  <clipPath id="terminal-1349433035-line-10">
+  <clipPath id="terminal-2224040135-line-10">
       <rect x="0" y="245.5" width="976" height="24.65"/>
               </clipPath>
-  <clipPath id="terminal-1349433035-line-11">
+  <clipPath id="terminal-2224040135-line-11">
       <rect x="0" y="269.9" width="976" height="24.65"/>
               </clipPath>
-  <clipPath id="terminal-1349433035-line-12">
+  <clipPath id="terminal-2224040135-line-12">
       <rect x="0" y="294.3" width="976" height="24.65"/>
               </clipPath>
-  <clipPath id="terminal-1349433035-line-13">
+  <clipPath id="terminal-2224040135-line-13">
       <rect x="0" y="318.7" width="976" height="24.65"/>
               </clipPath>
-  <clipPath id="terminal-1349433035-line-14">
+  <clipPath id="terminal-2224040135-line-14">
       <rect x="0" y="343.1" width="976" height="24.65"/>
               </clipPath>
-  <clipPath id="terminal-1349433035-line-15">
+  <clipPath id="terminal-2224040135-line-15">
       <rect x="0" y="367.5" width="976" height="24.65"/>
               </clipPath>
-  <clipPath id="terminal-1349433035-line-16">
+  <clipPath id="terminal-2224040135-line-16">
       <rect x="0" y="391.9" width="976" height="24.65"/>
               </clipPath>
-  <clipPath id="terminal-1349433035-line-17">
+  <clipPath id="terminal-2224040135-line-17">
       <rect x="0" y="416.3" width="976" height="24.65"/>
               </clipPath>
-  <clipPath id="terminal-1349433035-line-18">
+  <clipPath id="terminal-2224040135-line-18">
       <rect x="0" y="440.7" width="976" height="24.65"/>
               </clipPath>
-  <clipPath id="terminal-1349433035-line-19">
+  <clipPath id="terminal-2224040135-line-19">
       <rect x="0" y="465.1" width="976" height="24.65"/>
               </clipPath>
-  <clipPath id="terminal-1349433035-line-20">
+  <clipPath id="terminal-2224040135-line-20">
       <rect x="0" y="489.5" width="976" height="24.65"/>
               </clipPath>
-  <clipPath id="terminal-1349433035-line-21">
+  <clipPath id="terminal-2224040135-line-21">
       <rect x="0" y="513.9" width="976" height="24.65"/>
               </clipPath>
-  <clipPath id="terminal-1349433035-line-22">
+  <clipPath id="terminal-2224040135-line-22">
       <rect x="0" y="538.3" width="976" height="24.65"/>
               </clipPath>
       </defs>
   
-      <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="992" height="633.6" rx="8"/><text class="terminal-1349433035-title" fill="#c5c8c6" text-anchor="middle" x="496" y="27">MyApp</text>
+      <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="992" height="633.6" rx="8"/><text class="terminal-2224040135-title" fill="#c5c8c6" text-anchor="middle" x="496" y="27">MyApp</text>
               <g transform="translate(26,22)">
               <circle cx="0" cy="0" r="7" fill="#ff5f57"/>
               <circle cx="22" cy="0" r="7" fill="#febc2e"/>
               <circle cx="44" cy="0" r="7" fill="#28c840"/>
               </g>
           
-      <g transform="translate(9, 41)" clip-path="url(#terminal-1349433035-clip-terminal)">
-      <rect fill="#1e1e1e" x="0" y="1.5" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="12.2" y="1.5" width="951.6" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="963.8" y="1.5" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="0" y="25.9" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="12.2" y="25.9" width="48.8" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="61" y="25.9" width="878.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#23568b" x="939.4" y="25.9" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="963.8" y="25.9" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="0" y="50.3" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="12.2" y="50.3" width="48.8" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="61" y="50.3" width="878.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#23568b" x="939.4" y="50.3" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="963.8" y="50.3" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="0" y="74.7" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="12.2" y="74.7" width="48.8" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="61" y="74.7" width="878.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#14191f" x="939.4" y="74.7" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="963.8" y="74.7" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="0" y="99.1" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="12.2" y="99.1" width="48.8" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="61" y="99.1" width="878.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#14191f" x="939.4" y="99.1" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="963.8" y="99.1" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="0" y="123.5" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="12.2" y="123.5" width="48.8" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="61" y="123.5" width="878.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#14191f" x="939.4" y="123.5" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="963.8" y="123.5" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="0" y="147.9" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="12.2" y="147.9" width="48.8" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="61" y="147.9" width="878.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#14191f" x="939.4" y="147.9" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="963.8" y="147.9" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="0" y="172.3" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="12.2" y="172.3" width="48.8" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="61" y="172.3" width="878.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#14191f" x="939.4" y="172.3" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="963.8" y="172.3" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="0" y="196.7" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="12.2" y="196.7" width="48.8" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="61" y="196.7" width="878.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#14191f" x="939.4" y="196.7" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="963.8" y="196.7" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="0" y="221.1" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="12.2" y="221.1" width="48.8" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="61" y="221.1" width="878.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#14191f" x="939.4" y="221.1" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="963.8" y="221.1" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="0" y="245.5" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="12.2" y="245.5" width="48.8" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="61" y="245.5" width="878.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#14191f" x="939.4" y="245.5" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="963.8" y="245.5" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="0" y="269.9" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="12.2" y="269.9" width="48.8" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="61" y="269.9" width="878.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#14191f" x="939.4" y="269.9" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="963.8" y="269.9" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="0" y="294.3" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="12.2" y="294.3" width="48.8" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="61" y="294.3" width="878.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#14191f" x="939.4" y="294.3" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="963.8" y="294.3" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="0" y="318.7" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="12.2" y="318.7" width="48.8" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="61" y="318.7" width="878.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#14191f" x="939.4" y="318.7" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="963.8" y="318.7" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="0" y="343.1" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="12.2" y="343.1" width="48.8" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="61" y="343.1" width="878.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#14191f" x="939.4" y="343.1" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="963.8" y="343.1" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="0" y="367.5" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="12.2" y="367.5" width="48.8" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="61" y="367.5" width="878.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#14191f" x="939.4" y="367.5" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="963.8" y="367.5" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="0" y="391.9" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="12.2" y="391.9" width="48.8" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="61" y="391.9" width="878.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#14191f" x="939.4" y="391.9" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="963.8" y="391.9" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="0" y="416.3" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="12.2" y="416.3" width="48.8" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="61" y="416.3" width="878.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#14191f" x="939.4" y="416.3" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="963.8" y="416.3" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="0" y="440.7" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="12.2" y="440.7" width="48.8" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="61" y="440.7" width="878.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#14191f" x="939.4" y="440.7" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="963.8" y="440.7" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="0" y="465.1" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="12.2" y="465.1" width="48.8" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="61" y="465.1" width="878.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#14191f" x="939.4" y="465.1" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="963.8" y="465.1" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="0" y="489.5" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="12.2" y="489.5" width="48.8" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="61" y="489.5" width="878.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#14191f" x="939.4" y="489.5" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="963.8" y="489.5" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="0" y="513.9" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="12.2" y="513.9" width="48.8" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="61" y="513.9" width="878.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#14191f" x="939.4" y="513.9" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="963.8" y="513.9" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="0" y="538.3" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="12.2" y="538.3" width="48.8" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="61" y="538.3" width="878.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#14191f" x="939.4" y="538.3" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="963.8" y="538.3" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="0" y="562.7" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="12.2" y="562.7" width="951.6" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="963.8" y="562.7" width="12.2" height="24.65" shape-rendering="crispEdges"/>
-      <g class="terminal-1349433035-matrix">
-      <text class="terminal-1349433035-r1" x="0" y="20" textLength="12.2" clip-path="url(#terminal-1349433035-line-0)">╭</text><text class="terminal-1349433035-r1" x="12.2" y="20" textLength="951.6" clip-path="url(#terminal-1349433035-line-0)">──────────────────────────────────────────────────────────────────────────────</text><text class="terminal-1349433035-r1" x="963.8" y="20" textLength="12.2" clip-path="url(#terminal-1349433035-line-0)">╮</text><text class="terminal-1349433035-r2" x="976" y="20" textLength="12.2" clip-path="url(#terminal-1349433035-line-0)">
-  </text><text class="terminal-1349433035-r1" x="0" y="44.4" textLength="12.2" clip-path="url(#terminal-1349433035-line-1)">│</text><text class="terminal-1349433035-r3" x="12.2" y="44.4" textLength="48.8" clip-path="url(#terminal-1349433035-line-1)">SPAM</text><text class="terminal-1349433035-r1" x="963.8" y="44.4" textLength="12.2" clip-path="url(#terminal-1349433035-line-1)">│</text><text class="terminal-1349433035-r2" x="976" y="44.4" textLength="12.2" clip-path="url(#terminal-1349433035-line-1)">
-  </text><text class="terminal-1349433035-r1" x="0" y="68.8" textLength="12.2" clip-path="url(#terminal-1349433035-line-2)">│</text><text class="terminal-1349433035-r3" x="12.2" y="68.8" textLength="48.8" clip-path="url(#terminal-1349433035-line-2)">SPAM</text><text class="terminal-1349433035-r4" x="939.4" y="68.8" textLength="24.4" clip-path="url(#terminal-1349433035-line-2)">▁▁</text><text class="terminal-1349433035-r1" x="963.8" y="68.8" textLength="12.2" clip-path="url(#terminal-1349433035-line-2)">│</text><text class="terminal-1349433035-r2" x="976" y="68.8" textLength="12.2" clip-path="url(#terminal-1349433035-line-2)">
-  </text><text class="terminal-1349433035-r1" x="0" y="93.2" textLength="12.2" clip-path="url(#terminal-1349433035-line-3)">│</text><text class="terminal-1349433035-r3" x="12.2" y="93.2" textLength="48.8" clip-path="url(#terminal-1349433035-line-3)">SPAM</text><text class="terminal-1349433035-r1" x="963.8" y="93.2" textLength="12.2" clip-path="url(#terminal-1349433035-line-3)">│</text><text class="terminal-1349433035-r2" x="976" y="93.2" textLength="12.2" clip-path="url(#terminal-1349433035-line-3)">
-  </text><text class="terminal-1349433035-r1" x="0" y="117.6" textLength="12.2" clip-path="url(#terminal-1349433035-line-4)">│</text><text class="terminal-1349433035-r3" x="12.2" y="117.6" textLength="48.8" clip-path="url(#terminal-1349433035-line-4)">SPAM</text><text class="terminal-1349433035-r1" x="963.8" y="117.6" textLength="12.2" clip-path="url(#terminal-1349433035-line-4)">│</text><text class="terminal-1349433035-r2" x="976" y="117.6" textLength="12.2" clip-path="url(#terminal-1349433035-line-4)">
-  </text><text class="terminal-1349433035-r1" x="0" y="142" textLength="12.2" clip-path="url(#terminal-1349433035-line-5)">│</text><text class="terminal-1349433035-r3" x="12.2" y="142" textLength="48.8" clip-path="url(#terminal-1349433035-line-5)">SPAM</text><text class="terminal-1349433035-r1" x="963.8" y="142" textLength="12.2" clip-path="url(#terminal-1349433035-line-5)">│</text><text class="terminal-1349433035-r2" x="976" y="142" textLength="12.2" clip-path="url(#terminal-1349433035-line-5)">
-  </text><text class="terminal-1349433035-r1" x="0" y="166.4" textLength="12.2" clip-path="url(#terminal-1349433035-line-6)">│</text><text class="terminal-1349433035-r3" x="12.2" y="166.4" textLength="48.8" clip-path="url(#terminal-1349433035-line-6)">SPAM</text><text class="terminal-1349433035-r1" x="963.8" y="166.4" textLength="12.2" clip-path="url(#terminal-1349433035-line-6)">│</text><text class="terminal-1349433035-r2" x="976" y="166.4" textLength="12.2" clip-path="url(#terminal-1349433035-line-6)">
-  </text><text class="terminal-1349433035-r1" x="0" y="190.8" textLength="12.2" clip-path="url(#terminal-1349433035-line-7)">│</text><text class="terminal-1349433035-r3" x="12.2" y="190.8" textLength="48.8" clip-path="url(#terminal-1349433035-line-7)">SPAM</text><text class="terminal-1349433035-r1" x="963.8" y="190.8" textLength="12.2" clip-path="url(#terminal-1349433035-line-7)">│</text><text class="terminal-1349433035-r2" x="976" y="190.8" textLength="12.2" clip-path="url(#terminal-1349433035-line-7)">
-  </text><text class="terminal-1349433035-r1" x="0" y="215.2" textLength="12.2" clip-path="url(#terminal-1349433035-line-8)">│</text><text class="terminal-1349433035-r3" x="12.2" y="215.2" textLength="48.8" clip-path="url(#terminal-1349433035-line-8)">SPAM</text><text class="terminal-1349433035-r1" x="963.8" y="215.2" textLength="12.2" clip-path="url(#terminal-1349433035-line-8)">│</text><text class="terminal-1349433035-r2" x="976" y="215.2" textLength="12.2" clip-path="url(#terminal-1349433035-line-8)">
-  </text><text class="terminal-1349433035-r1" x="0" y="239.6" textLength="12.2" clip-path="url(#terminal-1349433035-line-9)">│</text><text class="terminal-1349433035-r3" x="12.2" y="239.6" textLength="48.8" clip-path="url(#terminal-1349433035-line-9)">SPAM</text><text class="terminal-1349433035-r1" x="963.8" y="239.6" textLength="12.2" clip-path="url(#terminal-1349433035-line-9)">│</text><text class="terminal-1349433035-r2" x="976" y="239.6" textLength="12.2" clip-path="url(#terminal-1349433035-line-9)">
-  </text><text class="terminal-1349433035-r1" x="0" y="264" textLength="12.2" clip-path="url(#terminal-1349433035-line-10)">│</text><text class="terminal-1349433035-r3" x="12.2" y="264" textLength="48.8" clip-path="url(#terminal-1349433035-line-10)">SPAM</text><text class="terminal-1349433035-r1" x="963.8" y="264" textLength="12.2" clip-path="url(#terminal-1349433035-line-10)">│</text><text class="terminal-1349433035-r2" x="976" y="264" textLength="12.2" clip-path="url(#terminal-1349433035-line-10)">
-  </text><text class="terminal-1349433035-r1" x="0" y="288.4" textLength="12.2" clip-path="url(#terminal-1349433035-line-11)">│</text><text class="terminal-1349433035-r3" x="12.2" y="288.4" textLength="48.8" clip-path="url(#terminal-1349433035-line-11)">SPAM</text><text class="terminal-1349433035-r1" x="963.8" y="288.4" textLength="12.2" clip-path="url(#terminal-1349433035-line-11)">│</text><text class="terminal-1349433035-r2" x="976" y="288.4" textLength="12.2" clip-path="url(#terminal-1349433035-line-11)">
-  </text><text class="terminal-1349433035-r1" x="0" y="312.8" textLength="12.2" clip-path="url(#terminal-1349433035-line-12)">│</text><text class="terminal-1349433035-r3" x="12.2" y="312.8" textLength="48.8" clip-path="url(#terminal-1349433035-line-12)">SPAM</text><text class="terminal-1349433035-r1" x="963.8" y="312.8" textLength="12.2" clip-path="url(#terminal-1349433035-line-12)">│</text><text class="terminal-1349433035-r2" x="976" y="312.8" textLength="12.2" clip-path="url(#terminal-1349433035-line-12)">
-  </text><text class="terminal-1349433035-r1" x="0" y="337.2" textLength="12.2" clip-path="url(#terminal-1349433035-line-13)">│</text><text class="terminal-1349433035-r3" x="12.2" y="337.2" textLength="48.8" clip-path="url(#terminal-1349433035-line-13)">SPAM</text><text class="terminal-1349433035-r1" x="963.8" y="337.2" textLength="12.2" clip-path="url(#terminal-1349433035-line-13)">│</text><text class="terminal-1349433035-r2" x="976" y="337.2" textLength="12.2" clip-path="url(#terminal-1349433035-line-13)">
-  </text><text class="terminal-1349433035-r1" x="0" y="361.6" textLength="12.2" clip-path="url(#terminal-1349433035-line-14)">│</text><text class="terminal-1349433035-r3" x="12.2" y="361.6" textLength="48.8" clip-path="url(#terminal-1349433035-line-14)">SPAM</text><text class="terminal-1349433035-r1" x="963.8" y="361.6" textLength="12.2" clip-path="url(#terminal-1349433035-line-14)">│</text><text class="terminal-1349433035-r2" x="976" y="361.6" textLength="12.2" clip-path="url(#terminal-1349433035-line-14)">
-  </text><text class="terminal-1349433035-r1" x="0" y="386" textLength="12.2" clip-path="url(#terminal-1349433035-line-15)">│</text><text class="terminal-1349433035-r3" x="12.2" y="386" textLength="48.8" clip-path="url(#terminal-1349433035-line-15)">SPAM</text><text class="terminal-1349433035-r1" x="963.8" y="386" textLength="12.2" clip-path="url(#terminal-1349433035-line-15)">│</text><text class="terminal-1349433035-r2" x="976" y="386" textLength="12.2" clip-path="url(#terminal-1349433035-line-15)">
-  </text><text class="terminal-1349433035-r1" x="0" y="410.4" textLength="12.2" clip-path="url(#terminal-1349433035-line-16)">│</text><text class="terminal-1349433035-r3" x="12.2" y="410.4" textLength="48.8" clip-path="url(#terminal-1349433035-line-16)">SPAM</text><text class="terminal-1349433035-r1" x="963.8" y="410.4" textLength="12.2" clip-path="url(#terminal-1349433035-line-16)">│</text><text class="terminal-1349433035-r2" x="976" y="410.4" textLength="12.2" clip-path="url(#terminal-1349433035-line-16)">
-  </text><text class="terminal-1349433035-r1" x="0" y="434.8" textLength="12.2" clip-path="url(#terminal-1349433035-line-17)">│</text><text class="terminal-1349433035-r3" x="12.2" y="434.8" textLength="48.8" clip-path="url(#terminal-1349433035-line-17)">SPAM</text><text class="terminal-1349433035-r1" x="963.8" y="434.8" textLength="12.2" clip-path="url(#terminal-1349433035-line-17)">│</text><text class="terminal-1349433035-r2" x="976" y="434.8" textLength="12.2" clip-path="url(#terminal-1349433035-line-17)">
-  </text><text class="terminal-1349433035-r1" x="0" y="459.2" textLength="12.2" clip-path="url(#terminal-1349433035-line-18)">│</text><text class="terminal-1349433035-r3" x="12.2" y="459.2" textLength="48.8" clip-path="url(#terminal-1349433035-line-18)">SPAM</text><text class="terminal-1349433035-r1" x="963.8" y="459.2" textLength="12.2" clip-path="url(#terminal-1349433035-line-18)">│</text><text class="terminal-1349433035-r2" x="976" y="459.2" textLength="12.2" clip-path="url(#terminal-1349433035-line-18)">
-  </text><text class="terminal-1349433035-r1" x="0" y="483.6" textLength="12.2" clip-path="url(#terminal-1349433035-line-19)">│</text><text class="terminal-1349433035-r3" x="12.2" y="483.6" textLength="48.8" clip-path="url(#terminal-1349433035-line-19)">SPAM</text><text class="terminal-1349433035-r1" x="963.8" y="483.6" textLength="12.2" clip-path="url(#terminal-1349433035-line-19)">│</text><text class="terminal-1349433035-r2" x="976" y="483.6" textLength="12.2" clip-path="url(#terminal-1349433035-line-19)">
-  </text><text class="terminal-1349433035-r1" x="0" y="508" textLength="12.2" clip-path="url(#terminal-1349433035-line-20)">│</text><text class="terminal-1349433035-r3" x="12.2" y="508" textLength="48.8" clip-path="url(#terminal-1349433035-line-20)">SPAM</text><text class="terminal-1349433035-r1" x="963.8" y="508" textLength="12.2" clip-path="url(#terminal-1349433035-line-20)">│</text><text class="terminal-1349433035-r2" x="976" y="508" textLength="12.2" clip-path="url(#terminal-1349433035-line-20)">
-  </text><text class="terminal-1349433035-r1" x="0" y="532.4" textLength="12.2" clip-path="url(#terminal-1349433035-line-21)">│</text><text class="terminal-1349433035-r3" x="12.2" y="532.4" textLength="48.8" clip-path="url(#terminal-1349433035-line-21)">SPAM</text><text class="terminal-1349433035-r1" x="963.8" y="532.4" textLength="12.2" clip-path="url(#terminal-1349433035-line-21)">│</text><text class="terminal-1349433035-r2" x="976" y="532.4" textLength="12.2" clip-path="url(#terminal-1349433035-line-21)">
-  </text><text class="terminal-1349433035-r1" x="0" y="556.8" textLength="12.2" clip-path="url(#terminal-1349433035-line-22)">│</text><text class="terminal-1349433035-r3" x="12.2" y="556.8" textLength="48.8" clip-path="url(#terminal-1349433035-line-22)">SPAM</text><text class="terminal-1349433035-r1" x="963.8" y="556.8" textLength="12.2" clip-path="url(#terminal-1349433035-line-22)">│</text><text class="terminal-1349433035-r2" x="976" y="556.8" textLength="12.2" clip-path="url(#terminal-1349433035-line-22)">
-  </text><text class="terminal-1349433035-r1" x="0" y="581.2" textLength="12.2" clip-path="url(#terminal-1349433035-line-23)">╰</text><text class="terminal-1349433035-r1" x="12.2" y="581.2" textLength="951.6" clip-path="url(#terminal-1349433035-line-23)">──────────────────────────────────────────────────────────────────────────────</text><text class="terminal-1349433035-r1" x="963.8" y="581.2" textLength="12.2" clip-path="url(#terminal-1349433035-line-23)">╯</text>
+      <g transform="translate(9, 41)" clip-path="url(#terminal-2224040135-clip-terminal)">
+      <rect fill="#1e1e1e" x="0" y="1.5" width="48.8" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="48.8" y="1.5" width="902.8" height="24.65" shape-rendering="crispEdges"/><rect fill="#14191f" x="951.6" y="1.5" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="0" y="25.9" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="12.2" y="25.9" width="927.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="939.4" y="25.9" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#14191f" x="951.6" y="25.9" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="0" y="50.3" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="12.2" y="50.3" width="48.8" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="61" y="50.3" width="854" height="24.65" shape-rendering="crispEdges"/><rect fill="#14191f" x="915" y="50.3" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="939.4" y="50.3" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#14191f" x="951.6" y="50.3" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="0" y="74.7" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="12.2" y="74.7" width="48.8" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="61" y="74.7" width="854" height="24.65" shape-rendering="crispEdges"/><rect fill="#14191f" x="915" y="74.7" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="939.4" y="74.7" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#14191f" x="951.6" y="74.7" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="0" y="99.1" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="12.2" y="99.1" width="48.8" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="61" y="99.1" width="854" height="24.65" shape-rendering="crispEdges"/><rect fill="#14191f" x="915" y="99.1" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="939.4" y="99.1" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#14191f" x="951.6" y="99.1" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="0" y="123.5" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="12.2" y="123.5" width="48.8" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="61" y="123.5" width="854" height="24.65" shape-rendering="crispEdges"/><rect fill="#14191f" x="915" y="123.5" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="939.4" y="123.5" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#14191f" x="951.6" y="123.5" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="0" y="147.9" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="12.2" y="147.9" width="48.8" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="61" y="147.9" width="854" height="24.65" shape-rendering="crispEdges"/><rect fill="#14191f" x="915" y="147.9" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="939.4" y="147.9" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#14191f" x="951.6" y="147.9" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="0" y="172.3" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="12.2" y="172.3" width="48.8" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="61" y="172.3" width="854" height="24.65" shape-rendering="crispEdges"/><rect fill="#14191f" x="915" y="172.3" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="939.4" y="172.3" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#14191f" x="951.6" y="172.3" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="0" y="196.7" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="12.2" y="196.7" width="48.8" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="61" y="196.7" width="854" height="24.65" shape-rendering="crispEdges"/><rect fill="#14191f" x="915" y="196.7" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="939.4" y="196.7" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#14191f" x="951.6" y="196.7" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="0" y="221.1" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="12.2" y="221.1" width="48.8" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="61" y="221.1" width="854" height="24.65" shape-rendering="crispEdges"/><rect fill="#14191f" x="915" y="221.1" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="939.4" y="221.1" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#14191f" x="951.6" y="221.1" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="0" y="245.5" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="12.2" y="245.5" width="48.8" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="61" y="245.5" width="854" height="24.65" shape-rendering="crispEdges"/><rect fill="#14191f" x="915" y="245.5" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="939.4" y="245.5" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#23568b" x="951.6" y="245.5" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="0" y="269.9" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="12.2" y="269.9" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="24.4" y="269.9" width="878.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="902.8" y="269.9" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#23568b" x="915" y="269.9" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="939.4" y="269.9" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#23568b" x="951.6" y="269.9" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="0" y="294.3" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="12.2" y="294.3" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="24.4" y="294.3" width="378.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="402.6" y="294.3" width="146.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="549" y="294.3" width="353.8" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="902.8" y="294.3" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#23568b" x="915" y="294.3" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="939.4" y="294.3" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#23568b" x="951.6" y="294.3" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="0" y="318.7" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="12.2" y="318.7" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="24.4" y="318.7" width="878.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="902.8" y="318.7" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#23568b" x="915" y="318.7" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="939.4" y="318.7" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#23568b" x="951.6" y="318.7" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="0" y="343.1" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="12.2" y="343.1" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="24.4" y="343.1" width="878.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="902.8" y="343.1" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#14191f" x="915" y="343.1" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="939.4" y="343.1" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#23568b" x="951.6" y="343.1" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="0" y="367.5" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="12.2" y="367.5" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="24.4" y="367.5" width="878.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="902.8" y="367.5" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#14191f" x="915" y="367.5" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="939.4" y="367.5" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#14191f" x="951.6" y="367.5" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="0" y="391.9" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="12.2" y="391.9" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="24.4" y="391.9" width="878.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="902.8" y="391.9" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#14191f" x="915" y="391.9" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="939.4" y="391.9" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#14191f" x="951.6" y="391.9" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="0" y="416.3" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="12.2" y="416.3" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="24.4" y="416.3" width="878.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="902.8" y="416.3" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#14191f" x="915" y="416.3" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="939.4" y="416.3" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#14191f" x="951.6" y="416.3" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="0" y="440.7" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="12.2" y="440.7" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="24.4" y="440.7" width="878.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="902.8" y="440.7" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#14191f" x="915" y="440.7" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="939.4" y="440.7" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#14191f" x="951.6" y="440.7" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="0" y="465.1" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="12.2" y="465.1" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="24.4" y="465.1" width="878.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="902.8" y="465.1" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#14191f" x="915" y="465.1" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="939.4" y="465.1" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#14191f" x="951.6" y="465.1" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="0" y="489.5" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="12.2" y="489.5" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="24.4" y="489.5" width="878.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="902.8" y="489.5" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#14191f" x="915" y="489.5" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="939.4" y="489.5" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#14191f" x="951.6" y="489.5" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="0" y="513.9" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="12.2" y="513.9" width="927.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="939.4" y="513.9" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#14191f" x="951.6" y="513.9" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="0" y="538.3" width="48.8" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="48.8" y="538.3" width="902.8" height="24.65" shape-rendering="crispEdges"/><rect fill="#14191f" x="951.6" y="538.3" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="0" y="562.7" width="48.8" height="24.65" shape-rendering="crispEdges"/><rect fill="#1e1e1e" x="48.8" y="562.7" width="902.8" height="24.65" shape-rendering="crispEdges"/><rect fill="#14191f" x="951.6" y="562.7" width="24.4" height="24.65" shape-rendering="crispEdges"/>
+      <g class="terminal-2224040135-matrix">
+      <text class="terminal-2224040135-r1" x="0" y="20" textLength="48.8" clip-path="url(#terminal-2224040135-line-0)">SPAM</text><text class="terminal-2224040135-r2" x="976" y="20" textLength="12.2" clip-path="url(#terminal-2224040135-line-0)">
+  </text><text class="terminal-2224040135-r3" x="0" y="44.4" textLength="12.2" clip-path="url(#terminal-2224040135-line-1)">╭</text><text class="terminal-2224040135-r3" x="12.2" y="44.4" textLength="927.2" clip-path="url(#terminal-2224040135-line-1)">────────────────────────────────────────────────────────────────────────────</text><text class="terminal-2224040135-r3" x="939.4" y="44.4" textLength="12.2" clip-path="url(#terminal-2224040135-line-1)">╮</text><text class="terminal-2224040135-r2" x="976" y="44.4" textLength="12.2" clip-path="url(#terminal-2224040135-line-1)">
+  </text><text class="terminal-2224040135-r3" x="0" y="68.8" textLength="12.2" clip-path="url(#terminal-2224040135-line-2)">│</text><text class="terminal-2224040135-r1" x="12.2" y="68.8" textLength="48.8" clip-path="url(#terminal-2224040135-line-2)">SPAM</text><text class="terminal-2224040135-r3" x="939.4" y="68.8" textLength="12.2" clip-path="url(#terminal-2224040135-line-2)">│</text><text class="terminal-2224040135-r2" x="976" y="68.8" textLength="12.2" clip-path="url(#terminal-2224040135-line-2)">
+  </text><text class="terminal-2224040135-r3" x="0" y="93.2" textLength="12.2" clip-path="url(#terminal-2224040135-line-3)">│</text><text class="terminal-2224040135-r1" x="12.2" y="93.2" textLength="48.8" clip-path="url(#terminal-2224040135-line-3)">SPAM</text><text class="terminal-2224040135-r3" x="939.4" y="93.2" textLength="12.2" clip-path="url(#terminal-2224040135-line-3)">│</text><text class="terminal-2224040135-r2" x="976" y="93.2" textLength="12.2" clip-path="url(#terminal-2224040135-line-3)">
+  </text><text class="terminal-2224040135-r3" x="0" y="117.6" textLength="12.2" clip-path="url(#terminal-2224040135-line-4)">│</text><text class="terminal-2224040135-r1" x="12.2" y="117.6" textLength="48.8" clip-path="url(#terminal-2224040135-line-4)">SPAM</text><text class="terminal-2224040135-r3" x="939.4" y="117.6" textLength="12.2" clip-path="url(#terminal-2224040135-line-4)">│</text><text class="terminal-2224040135-r2" x="976" y="117.6" textLength="12.2" clip-path="url(#terminal-2224040135-line-4)">
+  </text><text class="terminal-2224040135-r3" x="0" y="142" textLength="12.2" clip-path="url(#terminal-2224040135-line-5)">│</text><text class="terminal-2224040135-r1" x="12.2" y="142" textLength="48.8" clip-path="url(#terminal-2224040135-line-5)">SPAM</text><text class="terminal-2224040135-r3" x="939.4" y="142" textLength="12.2" clip-path="url(#terminal-2224040135-line-5)">│</text><text class="terminal-2224040135-r2" x="976" y="142" textLength="12.2" clip-path="url(#terminal-2224040135-line-5)">
+  </text><text class="terminal-2224040135-r3" x="0" y="166.4" textLength="12.2" clip-path="url(#terminal-2224040135-line-6)">│</text><text class="terminal-2224040135-r1" x="12.2" y="166.4" textLength="48.8" clip-path="url(#terminal-2224040135-line-6)">SPAM</text><text class="terminal-2224040135-r3" x="939.4" y="166.4" textLength="12.2" clip-path="url(#terminal-2224040135-line-6)">│</text><text class="terminal-2224040135-r2" x="976" y="166.4" textLength="12.2" clip-path="url(#terminal-2224040135-line-6)">
+  </text><text class="terminal-2224040135-r3" x="0" y="190.8" textLength="12.2" clip-path="url(#terminal-2224040135-line-7)">│</text><text class="terminal-2224040135-r1" x="12.2" y="190.8" textLength="48.8" clip-path="url(#terminal-2224040135-line-7)">SPAM</text><text class="terminal-2224040135-r3" x="939.4" y="190.8" textLength="12.2" clip-path="url(#terminal-2224040135-line-7)">│</text><text class="terminal-2224040135-r2" x="976" y="190.8" textLength="12.2" clip-path="url(#terminal-2224040135-line-7)">
+  </text><text class="terminal-2224040135-r3" x="0" y="215.2" textLength="12.2" clip-path="url(#terminal-2224040135-line-8)">│</text><text class="terminal-2224040135-r1" x="12.2" y="215.2" textLength="48.8" clip-path="url(#terminal-2224040135-line-8)">SPAM</text><text class="terminal-2224040135-r3" x="939.4" y="215.2" textLength="12.2" clip-path="url(#terminal-2224040135-line-8)">│</text><text class="terminal-2224040135-r2" x="976" y="215.2" textLength="12.2" clip-path="url(#terminal-2224040135-line-8)">
+  </text><text class="terminal-2224040135-r3" x="0" y="239.6" textLength="12.2" clip-path="url(#terminal-2224040135-line-9)">│</text><text class="terminal-2224040135-r1" x="12.2" y="239.6" textLength="48.8" clip-path="url(#terminal-2224040135-line-9)">SPAM</text><text class="terminal-2224040135-r3" x="939.4" y="239.6" textLength="12.2" clip-path="url(#terminal-2224040135-line-9)">│</text><text class="terminal-2224040135-r4" x="951.6" y="239.6" textLength="24.4" clip-path="url(#terminal-2224040135-line-9)">▁▁</text><text class="terminal-2224040135-r2" x="976" y="239.6" textLength="12.2" clip-path="url(#terminal-2224040135-line-9)">
+  </text><text class="terminal-2224040135-r3" x="0" y="264" textLength="12.2" clip-path="url(#terminal-2224040135-line-10)">│</text><text class="terminal-2224040135-r1" x="12.2" y="264" textLength="48.8" clip-path="url(#terminal-2224040135-line-10)">SPAM</text><text class="terminal-2224040135-r4" x="915" y="264" textLength="24.4" clip-path="url(#terminal-2224040135-line-10)">▁▁</text><text class="terminal-2224040135-r3" x="939.4" y="264" textLength="12.2" clip-path="url(#terminal-2224040135-line-10)">│</text><text class="terminal-2224040135-r2" x="976" y="264" textLength="12.2" clip-path="url(#terminal-2224040135-line-10)">
+  </text><text class="terminal-2224040135-r3" x="0" y="288.4" textLength="12.2" clip-path="url(#terminal-2224040135-line-11)">│</text><text class="terminal-2224040135-r5" x="12.2" y="288.4" textLength="12.2" clip-path="url(#terminal-2224040135-line-11)">╭</text><text class="terminal-2224040135-r5" x="24.4" y="288.4" textLength="878.4" clip-path="url(#terminal-2224040135-line-11)">────────────────────────────────────────────────────────────────────────</text><text class="terminal-2224040135-r5" x="902.8" y="288.4" textLength="12.2" clip-path="url(#terminal-2224040135-line-11)">╮</text><text class="terminal-2224040135-r3" x="939.4" y="288.4" textLength="12.2" clip-path="url(#terminal-2224040135-line-11)">│</text><text class="terminal-2224040135-r2" x="976" y="288.4" textLength="12.2" clip-path="url(#terminal-2224040135-line-11)">
+  </text><text class="terminal-2224040135-r3" x="0" y="312.8" textLength="12.2" clip-path="url(#terminal-2224040135-line-12)">│</text><text class="terminal-2224040135-r5" x="12.2" y="312.8" textLength="12.2" clip-path="url(#terminal-2224040135-line-12)">│</text><text class="terminal-2224040135-r1" x="24.4" y="312.8" textLength="378.2" clip-path="url(#terminal-2224040135-line-12)">@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@</text><text class="terminal-2224040135-r6" x="402.6" y="312.8" textLength="146.4" clip-path="url(#terminal-2224040135-line-12)">&gt;&gt;bullseye&lt;&lt;</text><text class="terminal-2224040135-r1" x="549" y="312.8" textLength="353.8" clip-path="url(#terminal-2224040135-line-12)">@@@@@@@@@@@@@@@@@@@@@@@@@@@@@</text><text class="terminal-2224040135-r5" x="902.8" y="312.8" textLength="12.2" clip-path="url(#terminal-2224040135-line-12)">│</text><text class="terminal-2224040135-r3" x="939.4" y="312.8" textLength="12.2" clip-path="url(#terminal-2224040135-line-12)">│</text><text class="terminal-2224040135-r2" x="976" y="312.8" textLength="12.2" clip-path="url(#terminal-2224040135-line-12)">
+  </text><text class="terminal-2224040135-r3" x="0" y="337.2" textLength="12.2" clip-path="url(#terminal-2224040135-line-13)">│</text><text class="terminal-2224040135-r5" x="12.2" y="337.2" textLength="12.2" clip-path="url(#terminal-2224040135-line-13)">│</text><text class="terminal-2224040135-r5" x="902.8" y="337.2" textLength="12.2" clip-path="url(#terminal-2224040135-line-13)">│</text><text class="terminal-2224040135-r7" x="915" y="337.2" textLength="24.4" clip-path="url(#terminal-2224040135-line-13)">▅▅</text><text class="terminal-2224040135-r3" x="939.4" y="337.2" textLength="12.2" clip-path="url(#terminal-2224040135-line-13)">│</text><text class="terminal-2224040135-r2" x="976" y="337.2" textLength="12.2" clip-path="url(#terminal-2224040135-line-13)">
+  </text><text class="terminal-2224040135-r3" x="0" y="361.6" textLength="12.2" clip-path="url(#terminal-2224040135-line-14)">│</text><text class="terminal-2224040135-r5" x="12.2" y="361.6" textLength="12.2" clip-path="url(#terminal-2224040135-line-14)">│</text><text class="terminal-2224040135-r5" x="902.8" y="361.6" textLength="12.2" clip-path="url(#terminal-2224040135-line-14)">│</text><text class="terminal-2224040135-r3" x="939.4" y="361.6" textLength="12.2" clip-path="url(#terminal-2224040135-line-14)">│</text><text class="terminal-2224040135-r7" x="951.6" y="361.6" textLength="24.4" clip-path="url(#terminal-2224040135-line-14)">▄▄</text><text class="terminal-2224040135-r2" x="976" y="361.6" textLength="12.2" clip-path="url(#terminal-2224040135-line-14)">
+  </text><text class="terminal-2224040135-r3" x="0" y="386" textLength="12.2" clip-path="url(#terminal-2224040135-line-15)">│</text><text class="terminal-2224040135-r5" x="12.2" y="386" textLength="12.2" clip-path="url(#terminal-2224040135-line-15)">│</text><text class="terminal-2224040135-r5" x="902.8" y="386" textLength="12.2" clip-path="url(#terminal-2224040135-line-15)">│</text><text class="terminal-2224040135-r3" x="939.4" y="386" textLength="12.2" clip-path="url(#terminal-2224040135-line-15)">│</text><text class="terminal-2224040135-r2" x="976" y="386" textLength="12.2" clip-path="url(#terminal-2224040135-line-15)">
+  </text><text class="terminal-2224040135-r3" x="0" y="410.4" textLength="12.2" clip-path="url(#terminal-2224040135-line-16)">│</text><text class="terminal-2224040135-r5" x="12.2" y="410.4" textLength="12.2" clip-path="url(#terminal-2224040135-line-16)">│</text><text class="terminal-2224040135-r5" x="902.8" y="410.4" textLength="12.2" clip-path="url(#terminal-2224040135-line-16)">│</text><text class="terminal-2224040135-r3" x="939.4" y="410.4" textLength="12.2" clip-path="url(#terminal-2224040135-line-16)">│</text><text class="terminal-2224040135-r2" x="976" y="410.4" textLength="12.2" clip-path="url(#terminal-2224040135-line-16)">
+  </text><text class="terminal-2224040135-r3" x="0" y="434.8" textLength="12.2" clip-path="url(#terminal-2224040135-line-17)">│</text><text class="terminal-2224040135-r5" x="12.2" y="434.8" textLength="12.2" clip-path="url(#terminal-2224040135-line-17)">│</text><text class="terminal-2224040135-r5" x="902.8" y="434.8" textLength="12.2" clip-path="url(#terminal-2224040135-line-17)">│</text><text class="terminal-2224040135-r3" x="939.4" y="434.8" textLength="12.2" clip-path="url(#terminal-2224040135-line-17)">│</text><text class="terminal-2224040135-r2" x="976" y="434.8" textLength="12.2" clip-path="url(#terminal-2224040135-line-17)">
+  </text><text class="terminal-2224040135-r3" x="0" y="459.2" textLength="12.2" clip-path="url(#terminal-2224040135-line-18)">│</text><text class="terminal-2224040135-r5" x="12.2" y="459.2" textLength="12.2" clip-path="url(#terminal-2224040135-line-18)">│</text><text class="terminal-2224040135-r5" x="902.8" y="459.2" textLength="12.2" clip-path="url(#terminal-2224040135-line-18)">│</text><text class="terminal-2224040135-r3" x="939.4" y="459.2" textLength="12.2" clip-path="url(#terminal-2224040135-line-18)">│</text><text class="terminal-2224040135-r2" x="976" y="459.2" textLength="12.2" clip-path="url(#terminal-2224040135-line-18)">
+  </text><text class="terminal-2224040135-r3" x="0" y="483.6" textLength="12.2" clip-path="url(#terminal-2224040135-line-19)">│</text><text class="terminal-2224040135-r5" x="12.2" y="483.6" textLength="12.2" clip-path="url(#terminal-2224040135-line-19)">│</text><text class="terminal-2224040135-r5" x="902.8" y="483.6" textLength="12.2" clip-path="url(#terminal-2224040135-line-19)">│</text><text class="terminal-2224040135-r3" x="939.4" y="483.6" textLength="12.2" clip-path="url(#terminal-2224040135-line-19)">│</text><text class="terminal-2224040135-r2" x="976" y="483.6" textLength="12.2" clip-path="url(#terminal-2224040135-line-19)">
+  </text><text class="terminal-2224040135-r3" x="0" y="508" textLength="12.2" clip-path="url(#terminal-2224040135-line-20)">│</text><text class="terminal-2224040135-r5" x="12.2" y="508" textLength="12.2" clip-path="url(#terminal-2224040135-line-20)">│</text><text class="terminal-2224040135-r5" x="902.8" y="508" textLength="12.2" clip-path="url(#terminal-2224040135-line-20)">│</text><text class="terminal-2224040135-r3" x="939.4" y="508" textLength="12.2" clip-path="url(#terminal-2224040135-line-20)">│</text><text class="terminal-2224040135-r2" x="976" y="508" textLength="12.2" clip-path="url(#terminal-2224040135-line-20)">
+  </text><text class="terminal-2224040135-r3" x="0" y="532.4" textLength="12.2" clip-path="url(#terminal-2224040135-line-21)">╰</text><text class="terminal-2224040135-r3" x="12.2" y="532.4" textLength="927.2" clip-path="url(#terminal-2224040135-line-21)">────────────────────────────────────────────────────────────────────────────</text><text class="terminal-2224040135-r3" x="939.4" y="532.4" textLength="12.2" clip-path="url(#terminal-2224040135-line-21)">╯</text><text class="terminal-2224040135-r2" x="976" y="532.4" textLength="12.2" clip-path="url(#terminal-2224040135-line-21)">
+  </text><text class="terminal-2224040135-r1" x="0" y="556.8" textLength="48.8" clip-path="url(#terminal-2224040135-line-22)">SPAM</text><text class="terminal-2224040135-r2" x="976" y="556.8" textLength="12.2" clip-path="url(#terminal-2224040135-line-22)">
+  </text><text class="terminal-2224040135-r1" x="0" y="581.2" textLength="48.8" clip-path="url(#terminal-2224040135-line-23)">SPAM</text>
       </g>
       </g>
   </svg>
diff --git a/tests/snapshot_tests/snapshot_apps/scroll_to_center.py b/tests/snapshot_tests/snapshot_apps/scroll_to_center.py
--- a/tests/snapshot_tests/snapshot_apps/scroll_to_center.py
+++ b/tests/snapshot_tests/snapshot_apps/scroll_to_center.py
@@ -5,32 +5,33 @@
 
 class MyApp(App[None]):
     CSS = """
-    VerticalScroll, HorizontalScroll {
+    VerticalScroll {
         border: round $primary;
     }
     #vertical {
         height: 21;
     }
     HorizontalScroll {
+        border: round $secondary;
         height: auto;
     }
+    Label {
+        height: auto;
+        width: auto;
+    }
     """
 
     def compose(self) -> ComposeResult:
-        with VerticalScroll():
-            yield Label(("SPAM\n" * 205)[:-1])
-            with VerticalScroll():
-                yield Label(("SPAM\n" * 53)[:-1])
-                with VerticalScroll(id="vertical"):
-                    yield Label(("SPAM\n" * 78)[:-1])
-                    with HorizontalScroll():
-                        yield Label(("v\n" * 17)[:-1])
-                        yield Label("@" * 302)
-                        yield Label("[red]>>bullseye<<[/red]", id="bullseye")
-                        yield Label("@" * 99)
-                    yield Label(("SPAM\n" * 49)[:-1])
-                yield Label(("SPAM\n" * 51)[:-1])
-            yield Label(("SPAM\n" * 59)[:-1])
+        yield Label(("SPAM\n" * 53)[:-1])
+        with VerticalScroll(id="vertical"):
+            yield Label(("SPAM\n" * 78)[:-1])
+            with HorizontalScroll():
+                yield Label(("v\n" * 17)[:-1])
+                yield Label("@" * 302)
+                yield Label("[red]>>bullseye<<[/red]", id="bullseye")
+                yield Label("@" * 99)
+            yield Label(("SPAM\n" * 49)[:-1])
+        yield Label(("SPAM\n" * 51)[:-1])
 
     def key_s(self) -> None:
         self.screen.scroll_to_center(self.query_one("#bullseye"))
diff --git a/tests/snapshot_tests/test_snapshots.py b/tests/snapshot_tests/test_snapshots.py
--- a/tests/snapshot_tests/test_snapshots.py
+++ b/tests/snapshot_tests/test_snapshots.py
@@ -518,9 +518,6 @@ def test_scroll_visible(snap_compare):
     assert snap_compare(SNAPSHOT_APPS_DIR / "scroll_visible.py", press=["t"])
 
 
-@pytest.mark.xfail(
-    reason="Unpredictable while https://github.com/Textualize/textual/issues/2254 is open."
-)
 def test_scroll_to_center(snap_compare):
     # READ THIS IF THIS TEST FAILS:
     # While https://github.com/Textualize/textual/issues/2254 is open, the snapshot