{}} />)
+ expect(screen.getByRole('checkbox')).toBeChecked()
+ })
+ })
+
+ describe('Disabled State', () => {
+ it('renders disabled checkbox', () => {
+ render()
+ expect(screen.getByRole('checkbox')).toBeDisabled()
+ })
+
+ it('does not toggle when disabled', async () => {
+ const user = userEvent.setup()
+ const handleChange = jest.fn()
+ render()
+
+ await user.click(screen.getByRole('checkbox'))
+ expect(handleChange).not.toHaveBeenCalled()
+ })
+ })
+
+ describe('Change Events', () => {
+ it('calls onChange when clicked', async () => {
+ const user = userEvent.setup()
+ const handleChange = jest.fn()
+ render()
+
+ await user.click(screen.getByRole('checkbox'))
+ expect(handleChange).toHaveBeenCalledTimes(1)
+ })
+
+ it('calls onChange with event object', async () => {
+ const user = userEvent.setup()
+ const handleChange = jest.fn()
+ render()
+
+ await user.click(screen.getByRole('checkbox'))
+ expect(handleChange).toHaveBeenCalledWith(expect.any(Object))
+ })
+
+ it('toggles checked state on each click', async () => {
+ const user = userEvent.setup()
+ const handleChange = jest.fn()
+ const { rerender } = render()
+
+ await user.click(screen.getByRole('checkbox'))
+ expect(handleChange).toHaveBeenCalledTimes(1)
+
+ rerender()
+ expect(screen.getByRole('checkbox')).toBeChecked()
+
+ await user.click(screen.getByRole('checkbox'))
+ expect(handleChange).toHaveBeenCalledTimes(2)
+ })
+ })
+
+ describe('Accessibility', () => {
+ it('supports aria-label', () => {
+ render()
+ expect(screen.getByLabelText('Remember me')).toBeInTheDocument()
+ })
+
+ it('associates with label element', () => {
+ render(
+
+
+
+ )
+ expect(screen.getByLabelText('I agree to terms')).toBeInTheDocument()
+ })
+
+ it('is keyboard accessible', async () => {
+ const user = userEvent.setup()
+ const handleChange = jest.fn()
+ render()
+
+ const checkbox = screen.getByRole('checkbox')
+ await user.tab()
+ expect(checkbox).toHaveFocus()
+
+ await user.keyboard(' ')
+ expect(handleChange).toHaveBeenCalled()
+ })
+
+ it('supports aria-describedby', () => {
+ render(
+
+
+ Check to subscribe
+
+ )
+ expect(screen.getByRole('checkbox')).toHaveAttribute('aria-describedby', 'help')
+ })
+
+ it('supports aria-required', () => {
+ render()
+ expect(screen.getByRole('checkbox')).toHaveAttribute('aria-required', 'true')
+ })
+ })
+
+ describe('HTML Attributes', () => {
+ it('accepts name attribute', () => {
+ render()
+ expect(screen.getByRole('checkbox')).toHaveAttribute('name', 'subscribe')
+ })
+
+ it('accepts id attribute', () => {
+ render()
+ expect(screen.getByRole('checkbox')).toHaveAttribute('id', 'accept-terms')
+ })
+
+ it('accepts data-testid', () => {
+ render()
+ expect(screen.getByTestId('terms-checkbox')).toBeInTheDocument()
+ })
+
+ it('accepts value attribute', () => {
+ render()
+ expect(screen.getByRole('checkbox')).toHaveAttribute('value', 'on')
+ })
+ })
+
+ describe('CSS Classes', () => {
+ it('applies custom className to container', () => {
+ const { container } = render()
+ // The className is applied to the container/wrapper
+ const wrapper = container.querySelector('.custom-checkbox')
+ expect(wrapper).toBeInTheDocument()
+ })
+ })
+
+ describe('Integration', () => {
+ it('works in a form context', () => {
+ const handleSubmit = jest.fn()
+ render(
+
+ )
+ expect(screen.getByRole('checkbox')).toBeInTheDocument()
+ expect(screen.getByRole('button', { name: /submit/i })).toBeInTheDocument()
+ })
+
+ it('works with multiple checkboxes', () => {
+ render(
+
+
+
+
+ )
+ expect(screen.getAllByRole('checkbox')).toHaveLength(2)
+ })
+ })
+})
diff --git a/src/components/ui/input.test.tsx b/src/components/ui/input.test.tsx
new file mode 100644
index 0000000..474d99e
--- /dev/null
+++ b/src/components/ui/input.test.tsx
@@ -0,0 +1,193 @@
+import React from 'react'
+import { render, screen } from '@/test-utils'
+import userEvent from '@testing-library/user-event'
+import { Input } from './input'
+
+describe('Input Component', () => {
+ describe('Rendering', () => {
+ it('renders input element', () => {
+ render()
+ expect(screen.getByRole('textbox')).toBeInTheDocument()
+ })
+
+ it('renders as text input by default', () => {
+ render()
+ const input = screen.getByRole('textbox')
+ expect(input).toHaveAttribute('type', 'text')
+ })
+ })
+
+ describe('Value Handling', () => {
+ it('accepts and displays value prop', () => {
+ render( {}} />)
+ expect(screen.getByRole('textbox')).toHaveValue('test value')
+ })
+
+ it('handles empty value', () => {
+ render( {}} />)
+ expect(screen.getByRole('textbox')).toHaveValue('')
+ })
+
+ it('updates value when prop changes', () => {
+ const { rerender } = render( {}} />)
+ expect(screen.getByRole('textbox')).toHaveValue('initial')
+
+ rerender( {}} />)
+ expect(screen.getByRole('textbox')).toHaveValue('updated')
+ })
+ })
+
+ describe('Placeholder', () => {
+ it('displays placeholder text', () => {
+ render()
+ expect(screen.getByPlaceholderText('Enter text...')).toBeInTheDocument()
+ })
+
+ it('placeholder has correct attribute', () => {
+ render()
+ expect(screen.getByRole('textbox')).toHaveAttribute('placeholder', 'Type here')
+ })
+ })
+
+ describe('Disabled State', () => {
+ it('renders disabled input', () => {
+ render()
+ expect(screen.getByRole('textbox')).toBeDisabled()
+ })
+
+ it('does not trigger onChange when disabled', async () => {
+ const user = userEvent.setup()
+ const handleChange = jest.fn()
+ render()
+
+ const input = screen.getByRole('textbox')
+ try {
+ await user.type(input, 'test')
+ } catch {
+ // Expected to fail on disabled input
+ }
+ expect(handleChange).not.toHaveBeenCalled()
+ })
+ })
+
+ describe('Type Attribute', () => {
+ it('supports email type', () => {
+ render()
+ expect(screen.getByRole('textbox')).toHaveAttribute('type', 'email')
+ })
+
+ it('supports password type', () => {
+ render()
+ const input = screen.getByDisplayValue('')
+ expect(input).toHaveAttribute('type', 'password')
+ })
+
+ it('supports number type', () => {
+ render()
+ expect(screen.getByRole('spinbutton')).toBeInTheDocument()
+ })
+ })
+
+ describe('User Input', () => {
+ it('handles onChange events', async () => {
+ const user = userEvent.setup()
+ const handleChange = jest.fn()
+ render()
+
+ await user.type(screen.getByRole('textbox'), 'hello')
+ expect(handleChange).toHaveBeenCalled()
+ })
+
+ it('calls onChange for each character typed', async () => {
+ const user = userEvent.setup()
+ const handleChange = jest.fn()
+ render()
+
+ await user.type(screen.getByRole('textbox'), 'test')
+ expect(handleChange).toHaveBeenCalledTimes(4)
+ })
+
+ it('handles paste events', async () => {
+ const user = userEvent.setup()
+ const handleChange = jest.fn()
+ render()
+
+ const input = screen.getByRole('textbox')
+ await user.click(input)
+ await user.paste('pasted text')
+ expect(handleChange).toHaveBeenCalled()
+ })
+
+ it('handles clear/backspace', async () => {
+ const user = userEvent.setup()
+ const handleChange = jest.fn()
+ render()
+
+ const input = screen.getByRole('textbox')
+ await user.click(input)
+ await user.keyboard('{Backspace}{Backspace}{Backspace}')
+ expect(handleChange).toHaveBeenCalled()
+ })
+ })
+
+ describe('Accessibility', () => {
+ it('supports aria-label', () => {
+ render()
+ expect(screen.getByLabelText('Username')).toBeInTheDocument()
+ })
+
+ it('supports aria-describedby', () => {
+ render(
+
+
+ This is a username field
+
+ )
+ expect(screen.getByRole('textbox')).toHaveAttribute('aria-describedby', 'help-text')
+ })
+
+ it('is keyboard focusable', async () => {
+ const user = userEvent.setup()
+ render()
+
+ const input = screen.getByRole('textbox')
+ await user.tab()
+ expect(input).toHaveFocus()
+ })
+ })
+
+ describe('CSS Classes', () => {
+ it('applies custom className', () => {
+ render()
+ expect(screen.getByRole('textbox')).toHaveClass('custom-class')
+ })
+
+ it('includes default classes', () => {
+ const { container } = render()
+ const input = container.querySelector('input')
+ expect(input).toBeInTheDocument()
+ })
+ })
+
+ describe('HTML Attributes', () => {
+ it('accepts data-testid', () => {
+ render()
+ expect(screen.getByTestId('username-input')).toBeInTheDocument()
+ })
+
+ it('accepts name attribute', () => {
+ render()
+ expect(screen.getByRole('textbox')).toHaveAttribute('name', 'email')
+ })
+
+ it('accepts id attribute', () => {
+ render()
+ expect(screen.getByRole('textbox')).toHaveAttribute('id', 'user-email')
+ })
+
+ it('accepts required attribute', () => {
+ render()
+ expect(screen.getByRole('textbox')).toBeRequired()
+ })
+ })
+})
diff --git a/test-results/.last-run.json b/test-results/.last-run.json
new file mode 100644
index 0000000..b37eb5b
--- /dev/null
+++ b/test-results/.last-run.json
@@ -0,0 +1,62 @@
+{
+ "status": "failed",
+ "failedTests": [
+ "de3fe77d9cd03b86108c-c5f5016478a1ae64c121",
+ "de3fe77d9cd03b86108c-78ed74c608489cc84277",
+ "4c417112e9b5ef367775-fe58820c58dd3305e2a5",
+ "4c417112e9b5ef367775-4913a861bcaa3a829041",
+ "4c417112e9b5ef367775-68c877516446fc09b6c2",
+ "4c417112e9b5ef367775-53ac6d43abf3ad4081f2",
+ "4c417112e9b5ef367775-d69aa086c3b4adbab0ed",
+ "4c417112e9b5ef367775-233190f40780aed70d99",
+ "4c417112e9b5ef367775-537bdd841164f2ec770c",
+ "67b17fe0f3941bca08c4-2305f8eda1d4c9b2e1b5",
+ "67b17fe0f3941bca08c4-4841ae67974c033665ca",
+ "e07c2e1d56f96b06ab18-58ee760e348a6356b90f",
+ "e07c2e1d56f96b06ab18-b1f33c3f07b1952dcda2",
+ "e07c2e1d56f96b06ab18-885512881ee38cd6724e",
+ "ff75c9407109e0c193c2-fcfe6f71301fe218a86f",
+ "76a364362bdc0a76e8d6-1c724a21147fac552955",
+ "76a364362bdc0a76e8d6-002154fd4cc225956a58",
+ "76a364362bdc0a76e8d6-7f547b4e5ccfe9727cdd",
+ "96c0a41bd2d5f4162bf1-7912e5ea857599c8876f",
+ "96c0a41bd2d5f4162bf1-01cc1c9878fa4dbb7528",
+ "96c0a41bd2d5f4162bf1-6bd04f251c609c8778f8",
+ "96c0a41bd2d5f4162bf1-bc21b2b42b3af961be35",
+ "96c0a41bd2d5f4162bf1-38743a316be02a58fe04",
+ "96c0a41bd2d5f4162bf1-e70130c0e6d76232e20c",
+ "96c0a41bd2d5f4162bf1-c25f6ec492802bf41b0c",
+ "96c0a41bd2d5f4162bf1-23d237f6e43abdc0a717",
+ "bdc79a5c09937ed58770-5b2aa558b471b145ac85",
+ "de3fe77d9cd03b86108c-7d43c9f74f57c5bad550",
+ "de3fe77d9cd03b86108c-e81702202ed9d93aee2d",
+ "4c417112e9b5ef367775-62005f34da468f758c19",
+ "4c417112e9b5ef367775-a6693d5156fc87b481e0",
+ "4c417112e9b5ef367775-a1674ff74a093614745c",
+ "4c417112e9b5ef367775-abed98b65e8825b43d2b",
+ "4c417112e9b5ef367775-95bc7a88bca4b6cc08b0",
+ "4c417112e9b5ef367775-f166d7b02b0d1b9a0b11",
+ "4c417112e9b5ef367775-ef8f9c409293f4e35cfb",
+ "67b17fe0f3941bca08c4-4ef5c7d447d2fa169c1e",
+ "67b17fe0f3941bca08c4-b42aa55ffe388efde511",
+ "e07c2e1d56f96b06ab18-8d94d35e3c3ba7a0107d",
+ "e07c2e1d56f96b06ab18-0a784b85e44aa51de254",
+ "e07c2e1d56f96b06ab18-22a011841492fd4b9889",
+ "ff75c9407109e0c193c2-a26d95ff1dc1b347998b",
+ "ff75c9407109e0c193c2-f87d8b25188f2f0dc2ff",
+ "76a364362bdc0a76e8d6-1cda7cfd78fe7706fdc4",
+ "76a364362bdc0a76e8d6-808fb3fe2cb3a617f000",
+ "76a364362bdc0a76e8d6-96d7166d491fe091481b",
+ "76a364362bdc0a76e8d6-b33ae57b82d2b20cd8c0",
+ "76a364362bdc0a76e8d6-306cf45be118676ff445",
+ "96c0a41bd2d5f4162bf1-d205193f474ce1d56974",
+ "96c0a41bd2d5f4162bf1-f19d6d21dbe009f7b10c",
+ "96c0a41bd2d5f4162bf1-84c7254980785ef5ecb0",
+ "96c0a41bd2d5f4162bf1-4e27f5cde924a466f1d1",
+ "96c0a41bd2d5f4162bf1-1233e03e8a2b259b548d",
+ "96c0a41bd2d5f4162bf1-9a20a4d45f182e7bd8a5",
+ "96c0a41bd2d5f4162bf1-8ebe47e8f62c7bed3856",
+ "96c0a41bd2d5f4162bf1-75172dd5ec728888fb94",
+ "bdc79a5c09937ed58770-e29dbfe4e63e7353feb1"
+ ]
+}
\ No newline at end of file
diff --git a/test-results/.playwright-artifacts-0/67b59de7de9f52f2ab836683eabb4599.webm b/test-results/.playwright-artifacts-0/67b59de7de9f52f2ab836683eabb4599.webm
deleted file mode 100644
index b6ef2d0..0000000
Binary files a/test-results/.playwright-artifacts-0/67b59de7de9f52f2ab836683eabb4599.webm and /dev/null differ
diff --git a/test-results/.playwright-artifacts-0/dca6cee0ad27034f81928822afa45fa4.webm b/test-results/.playwright-artifacts-0/dca6cee0ad27034f81928822afa45fa4.webm
deleted file mode 100644
index 7db1717..0000000
Binary files a/test-results/.playwright-artifacts-0/dca6cee0ad27034f81928822afa45fa4.webm and /dev/null differ
diff --git a/test-results/.playwright-artifacts-0/e684213bffc86c97b3a5684fde9a95b3.png b/test-results/.playwright-artifacts-0/e684213bffc86c97b3a5684fde9a95b3.png
deleted file mode 100644
index 60cbe2c..0000000
Binary files a/test-results/.playwright-artifacts-0/e684213bffc86c97b3a5684fde9a95b3.png and /dev/null differ
diff --git a/test-results/.playwright-artifacts-1/3153b542f0bac34e165e02dbb81b6b6c.png b/test-results/.playwright-artifacts-1/3153b542f0bac34e165e02dbb81b6b6c.png
deleted file mode 100644
index 60cbe2c..0000000
Binary files a/test-results/.playwright-artifacts-1/3153b542f0bac34e165e02dbb81b6b6c.png and /dev/null differ
diff --git a/test-results/.playwright-artifacts-1/34220e1d528f7d263b3cf2c6a40b2e22.webm b/test-results/.playwright-artifacts-1/34220e1d528f7d263b3cf2c6a40b2e22.webm
deleted file mode 100644
index 7078a89..0000000
Binary files a/test-results/.playwright-artifacts-1/34220e1d528f7d263b3cf2c6a40b2e22.webm and /dev/null differ
diff --git a/test-results/.playwright-artifacts-1/50190e0d8199b0698cd8fe72b74a8af5.webm b/test-results/.playwright-artifacts-1/50190e0d8199b0698cd8fe72b74a8af5.webm
deleted file mode 100644
index e20b027..0000000
Binary files a/test-results/.playwright-artifacts-1/50190e0d8199b0698cd8fe72b74a8af5.webm and /dev/null differ
diff --git a/test-results/.playwright-artifacts-1/95169a80a415ef2183641d99b912684d.webm b/test-results/.playwright-artifacts-1/95169a80a415ef2183641d99b912684d.webm
deleted file mode 100644
index e7e427b..0000000
Binary files a/test-results/.playwright-artifacts-1/95169a80a415ef2183641d99b912684d.webm and /dev/null differ
diff --git a/test-results/.playwright-artifacts-2/0133766c6b3b29e76498b3d6f41b4c28.webm b/test-results/.playwright-artifacts-2/0133766c6b3b29e76498b3d6f41b4c28.webm
deleted file mode 100644
index bc5fb73..0000000
Binary files a/test-results/.playwright-artifacts-2/0133766c6b3b29e76498b3d6f41b4c28.webm and /dev/null differ
diff --git a/test-results/.playwright-artifacts-2/8759461836cb9e451f1eeb84ae3ce4f4.webm b/test-results/.playwright-artifacts-2/8759461836cb9e451f1eeb84ae3ce4f4.webm
deleted file mode 100644
index 0d08555..0000000
Binary files a/test-results/.playwright-artifacts-2/8759461836cb9e451f1eeb84ae3ce4f4.webm and /dev/null differ
diff --git a/test-results/.playwright-artifacts-2/9dd7b2b90e99513bd7eb950fd4517c0a.png b/test-results/.playwright-artifacts-2/9dd7b2b90e99513bd7eb950fd4517c0a.png
deleted file mode 100644
index 60cbe2c..0000000
Binary files a/test-results/.playwright-artifacts-2/9dd7b2b90e99513bd7eb950fd4517c0a.png and /dev/null differ
diff --git a/test-results/.playwright-artifacts-2/add2fff75f0a62115513b97aa1032c67.png b/test-results/.playwright-artifacts-2/add2fff75f0a62115513b97aa1032c67.png
deleted file mode 100644
index aa74d27..0000000
Binary files a/test-results/.playwright-artifacts-2/add2fff75f0a62115513b97aa1032c67.png and /dev/null differ
diff --git a/test-results/.playwright-artifacts-5/3954aabad49ad53a95206d89d4b16475.webm b/test-results/.playwright-artifacts-5/3954aabad49ad53a95206d89d4b16475.webm
deleted file mode 100644
index de735da..0000000
Binary files a/test-results/.playwright-artifacts-5/3954aabad49ad53a95206d89d4b16475.webm and /dev/null differ
diff --git a/test-results/.playwright-artifacts-5/7733ec8c0b06d163fc4520f98ed41c60.webm b/test-results/.playwright-artifacts-5/7733ec8c0b06d163fc4520f98ed41c60.webm
deleted file mode 100644
index 71356d6..0000000
Binary files a/test-results/.playwright-artifacts-5/7733ec8c0b06d163fc4520f98ed41c60.webm and /dev/null differ
diff --git a/test-results/.playwright-artifacts-5/8c7fe70d73ec98e13d2e714ba51df592.webm b/test-results/.playwright-artifacts-5/8c7fe70d73ec98e13d2e714ba51df592.webm
deleted file mode 100644
index 41e36f3..0000000
Binary files a/test-results/.playwright-artifacts-5/8c7fe70d73ec98e13d2e714ba51df592.webm and /dev/null differ
diff --git a/test-results/.playwright-artifacts-5/aed852bdb125d411d2cc12b48c1a102a.png b/test-results/.playwright-artifacts-5/aed852bdb125d411d2cc12b48c1a102a.png
deleted file mode 100644
index 6ece240..0000000
Binary files a/test-results/.playwright-artifacts-5/aed852bdb125d411d2cc12b48c1a102a.png and /dev/null differ
diff --git a/test-results/.playwright-artifacts-5/bd0a76a711db9aff8c45a74c03ffa900.png b/test-results/.playwright-artifacts-5/bd0a76a711db9aff8c45a74c03ffa900.png
deleted file mode 100644
index 6ece240..0000000
Binary files a/test-results/.playwright-artifacts-5/bd0a76a711db9aff8c45a74c03ffa900.png and /dev/null differ
diff --git a/test-results/.playwright-artifacts-5/c6b70b9a0c9ae548292eb8b5f95479fa.png b/test-results/.playwright-artifacts-5/c6b70b9a0c9ae548292eb8b5f95479fa.png
deleted file mode 100644
index 6ece240..0000000
Binary files a/test-results/.playwright-artifacts-5/c6b70b9a0c9ae548292eb8b5f95479fa.png and /dev/null differ
diff --git a/test-results/.playwright-artifacts-5/d268a364645bf89fefbbe20f30157dff.png b/test-results/.playwright-artifacts-5/d268a364645bf89fefbbe20f30157dff.png
deleted file mode 100644
index 4e03e1d..0000000
Binary files a/test-results/.playwright-artifacts-5/d268a364645bf89fefbbe20f30157dff.png and /dev/null differ
diff --git a/test-results/.playwright-artifacts-6/3e49ae56561dd4c0db50fc5d2b67c812.png b/test-results/.playwright-artifacts-6/3e49ae56561dd4c0db50fc5d2b67c812.png
deleted file mode 100644
index c75476d..0000000
Binary files a/test-results/.playwright-artifacts-6/3e49ae56561dd4c0db50fc5d2b67c812.png and /dev/null differ
diff --git a/test-results/.playwright-artifacts-6/478160aaee269e54a325df324888bd1d.png b/test-results/.playwright-artifacts-6/478160aaee269e54a325df324888bd1d.png
deleted file mode 100644
index ba3dc65..0000000
Binary files a/test-results/.playwright-artifacts-6/478160aaee269e54a325df324888bd1d.png and /dev/null differ
diff --git a/test-results/.playwright-artifacts-6/6343408c0c843dda2186d9040858e053.webm b/test-results/.playwright-artifacts-6/6343408c0c843dda2186d9040858e053.webm
deleted file mode 100644
index ef09492..0000000
Binary files a/test-results/.playwright-artifacts-6/6343408c0c843dda2186d9040858e053.webm and /dev/null differ
diff --git a/test-results/.playwright-artifacts-6/6b19f3f33dafe33ee815bd0328a025e0.webm b/test-results/.playwright-artifacts-6/6b19f3f33dafe33ee815bd0328a025e0.webm
deleted file mode 100644
index 94bf9cf..0000000
Binary files a/test-results/.playwright-artifacts-6/6b19f3f33dafe33ee815bd0328a025e0.webm and /dev/null differ
diff --git a/test-results/.playwright-artifacts-6/74c9f434843d31071906b1709a8f9143.webm b/test-results/.playwright-artifacts-6/74c9f434843d31071906b1709a8f9143.webm
deleted file mode 100644
index 7ee2115..0000000
Binary files a/test-results/.playwright-artifacts-6/74c9f434843d31071906b1709a8f9143.webm and /dev/null differ
diff --git a/test-results/.playwright-artifacts-6/7a78550393c855609ff43b62c771da89.png b/test-results/.playwright-artifacts-6/7a78550393c855609ff43b62c771da89.png
deleted file mode 100644
index 6ece240..0000000
Binary files a/test-results/.playwright-artifacts-6/7a78550393c855609ff43b62c771da89.png and /dev/null differ
diff --git a/test-results/.playwright-artifacts-6/c1599e6eb296b2bbd1299672e5b880ab.webm b/test-results/.playwright-artifacts-6/c1599e6eb296b2bbd1299672e5b880ab.webm
deleted file mode 100644
index e63ed4b..0000000
Binary files a/test-results/.playwright-artifacts-6/c1599e6eb296b2bbd1299672e5b880ab.webm and /dev/null differ
diff --git a/test-results/.playwright-artifacts-6/c9cd6ee759b8083d9b3fa3daea20a2b7.png b/test-results/.playwright-artifacts-6/c9cd6ee759b8083d9b3fa3daea20a2b7.png
deleted file mode 100644
index 6ece240..0000000
Binary files a/test-results/.playwright-artifacts-6/c9cd6ee759b8083d9b3fa3daea20a2b7.png and /dev/null differ
diff --git a/test-results/.playwright-artifacts-7/f1cd173a8c0815383d44c81e4b8cf166.webm b/test-results/.playwright-artifacts-7/f1cd173a8c0815383d44c81e4b8cf166.webm
deleted file mode 100644
index 0081042..0000000
Binary files a/test-results/.playwright-artifacts-7/f1cd173a8c0815383d44c81e4b8cf166.webm and /dev/null differ
diff --git a/test-results/.playwright-artifacts-8/3a9813f45a7700cc30e63cf5aabbe2df.webm b/test-results/.playwright-artifacts-8/3a9813f45a7700cc30e63cf5aabbe2df.webm
deleted file mode 100644
index 59fd5c9..0000000
Binary files a/test-results/.playwright-artifacts-8/3a9813f45a7700cc30e63cf5aabbe2df.webm and /dev/null differ
diff --git a/test-results/.playwright-artifacts-8/fa2b178ff078b5f33f13b346280c666d.png b/test-results/.playwright-artifacts-8/fa2b178ff078b5f33f13b346280c666d.png
deleted file mode 100644
index 4e03e1d..0000000
Binary files a/test-results/.playwright-artifacts-8/fa2b178ff078b5f33f13b346280c666d.png and /dev/null differ
diff --git a/test-results/e2e-components-Component-S-79c35-menu-has-all-required-links-chromium-desktop/error-context.md b/test-results/e2e-components-Component-S-79c35-menu-has-all-required-links-chromium-desktop/error-context.md
deleted file mode 100644
index c61a7ec..0000000
--- a/test-results/e2e-components-Component-S-79c35-menu-has-all-required-links-chromium-desktop/error-context.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# Page snapshot
-
-```yaml
-- alert [ref=e1]
-```
\ No newline at end of file
diff --git a/test-results/e2e-components-Component-S-79c35-menu-has-all-required-links-chromium-desktop/video.webm b/test-results/e2e-components-Component-S-79c35-menu-has-all-required-links-chromium-desktop/video.webm
index eee4c8a..3b89262 100644
Binary files a/test-results/e2e-components-Component-S-79c35-menu-has-all-required-links-chromium-desktop/video.webm and b/test-results/e2e-components-Component-S-79c35-menu-has-all-required-links-chromium-desktop/video.webm differ
diff --git a/test-results/e2e-components-Component-S-79c35-menu-has-all-required-links-chromium-mobile/test-failed-1.png b/test-results/e2e-components-Component-S-79c35-menu-has-all-required-links-chromium-mobile/test-failed-1.png
new file mode 100644
index 0000000..4690d2d
Binary files /dev/null and b/test-results/e2e-components-Component-S-79c35-menu-has-all-required-links-chromium-mobile/test-failed-1.png differ
diff --git a/test-results/e2e-components-Component-S-79c35-menu-has-all-required-links-chromium-mobile/video.webm b/test-results/e2e-components-Component-S-79c35-menu-has-all-required-links-chromium-mobile/video.webm
new file mode 100644
index 0000000..114461d
Binary files /dev/null and b/test-results/e2e-components-Component-S-79c35-menu-has-all-required-links-chromium-mobile/video.webm differ
diff --git a/test-results/e2e-components-Component-S-a6b31-layout-has-proper-structure-chromium-desktop/error-context.md b/test-results/e2e-components-Component-S-a6b31-layout-has-proper-structure-chromium-desktop/error-context.md
index e2353e4..236df2d 100644
--- a/test-results/e2e-components-Component-S-a6b31-layout-has-proper-structure-chromium-desktop/error-context.md
+++ b/test-results/e2e-components-Component-S-a6b31-layout-has-proper-structure-chromium-desktop/error-context.md
@@ -1,9 +1,49 @@
# Page snapshot
```yaml
-- generic [active] [ref=e1]:
- - generic [ref=e3]:
- - heading "404" [level=1] [ref=e4]
- - heading "This page could not be found." [level=2] [ref=e6]
- - region "Notifications alt+T"
+- dialog "Unhandled Runtime Error" [ref=e3]:
+ - generic [ref=e4]:
+ - generic [ref=e5]:
+ - generic [ref=e6]:
+ - navigation [ref=e7]:
+ - button "previous" [disabled] [ref=e8]:
+ - img "previous" [ref=e9]
+ - button "next" [ref=e11] [cursor=pointer]:
+ - img "next" [ref=e12]
+ - generic [ref=e14]: 1 of 2 errors
+ - generic [ref=e15]:
+ - text: Next.js (15.1.3) is outdated
+ - link "(learn more)" [ref=e17] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/messages/version-staleness
+ - button "Close" [ref=e18] [cursor=pointer]:
+ - img [ref=e20]
+ - generic [ref=e23]:
+ - heading "Unhandled Runtime Error" [level=1] [ref=e24]
+ - generic [ref=e25]:
+ - button "Copy error stack" [ref=e26] [cursor=pointer]:
+ - img [ref=e27]
+ - link "Learn more about enabling Node.js inspector for server code with Chrome DevTools" [ref=e30] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/app/building-your-application/configuring/debugging#server-side-code
+ - img [ref=e31]
+ - paragraph [ref=e34]: "ReferenceError: Cannot access 'dynamic' before initialization"
+ - generic [ref=e35]:
+ - heading "Source" [level=2] [ref=e36]
+ - generic [ref=e37]:
+ - link "src/app/page.tsx (8:29) @ dynamic" [ref=e39] [cursor=pointer]:
+ - generic [ref=e40]: src/app/page.tsx (8:29) @ dynamic
+ - img [ref=e41]
+ - generic [ref=e45]: "6 | 7 | // Dynamically import SnippetManagerRedux to avoid SSR issues with Pyodide > 8 | const SnippetManagerRedux = dynamic( | ^ 9 | () => import('@/components/SnippetManagerRedux').then(mod => ({ default: mod.SnippetManagerRedux })), 10 | { ssr: false } 11 | );"
+ - generic [ref=e46]:
+ - heading "./src/app/page.tsx" [level=3] [ref=e47]
+ - generic [ref=e49]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/app/page.js (127:1)
+ - generic [ref=e50]:
+ - heading "options.factory" [level=3] [ref=e51]
+ - generic [ref=e53]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (712:31)
+ - generic [ref=e54]:
+ - heading "__webpack_require__" [level=3] [ref=e55]
+ - generic [ref=e57]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (37:33)
+ - generic [ref=e58]:
+ - heading "fn" [level=3] [ref=e59]
+ - generic [ref=e61]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (369:21)
+ - button "Show ignored frames" [ref=e62] [cursor=pointer]
```
\ No newline at end of file
diff --git a/test-results/e2e-components-Component-S-a6b31-layout-has-proper-structure-chromium-desktop/test-failed-1.png b/test-results/e2e-components-Component-S-a6b31-layout-has-proper-structure-chromium-desktop/test-failed-1.png
index ba3dc65..b7cf863 100644
Binary files a/test-results/e2e-components-Component-S-a6b31-layout-has-proper-structure-chromium-desktop/test-failed-1.png and b/test-results/e2e-components-Component-S-a6b31-layout-has-proper-structure-chromium-desktop/test-failed-1.png differ
diff --git a/test-results/e2e-components-Component-S-a6b31-layout-has-proper-structure-chromium-desktop/video.webm b/test-results/e2e-components-Component-S-a6b31-layout-has-proper-structure-chromium-desktop/video.webm
index 0081042..f1e42f6 100644
Binary files a/test-results/e2e-components-Component-S-a6b31-layout-has-proper-structure-chromium-desktop/video.webm and b/test-results/e2e-components-Component-S-a6b31-layout-has-proper-structure-chromium-desktop/video.webm differ
diff --git a/test-results/e2e-components-Component-S-a6b31-layout-has-proper-structure-chromium-mobile/error-context.md b/test-results/e2e-components-Component-S-a6b31-layout-has-proper-structure-chromium-mobile/error-context.md
new file mode 100644
index 0000000..236df2d
--- /dev/null
+++ b/test-results/e2e-components-Component-S-a6b31-layout-has-proper-structure-chromium-mobile/error-context.md
@@ -0,0 +1,49 @@
+# Page snapshot
+
+```yaml
+- dialog "Unhandled Runtime Error" [ref=e3]:
+ - generic [ref=e4]:
+ - generic [ref=e5]:
+ - generic [ref=e6]:
+ - navigation [ref=e7]:
+ - button "previous" [disabled] [ref=e8]:
+ - img "previous" [ref=e9]
+ - button "next" [ref=e11] [cursor=pointer]:
+ - img "next" [ref=e12]
+ - generic [ref=e14]: 1 of 2 errors
+ - generic [ref=e15]:
+ - text: Next.js (15.1.3) is outdated
+ - link "(learn more)" [ref=e17] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/messages/version-staleness
+ - button "Close" [ref=e18] [cursor=pointer]:
+ - img [ref=e20]
+ - generic [ref=e23]:
+ - heading "Unhandled Runtime Error" [level=1] [ref=e24]
+ - generic [ref=e25]:
+ - button "Copy error stack" [ref=e26] [cursor=pointer]:
+ - img [ref=e27]
+ - link "Learn more about enabling Node.js inspector for server code with Chrome DevTools" [ref=e30] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/app/building-your-application/configuring/debugging#server-side-code
+ - img [ref=e31]
+ - paragraph [ref=e34]: "ReferenceError: Cannot access 'dynamic' before initialization"
+ - generic [ref=e35]:
+ - heading "Source" [level=2] [ref=e36]
+ - generic [ref=e37]:
+ - link "src/app/page.tsx (8:29) @ dynamic" [ref=e39] [cursor=pointer]:
+ - generic [ref=e40]: src/app/page.tsx (8:29) @ dynamic
+ - img [ref=e41]
+ - generic [ref=e45]: "6 | 7 | // Dynamically import SnippetManagerRedux to avoid SSR issues with Pyodide > 8 | const SnippetManagerRedux = dynamic( | ^ 9 | () => import('@/components/SnippetManagerRedux').then(mod => ({ default: mod.SnippetManagerRedux })), 10 | { ssr: false } 11 | );"
+ - generic [ref=e46]:
+ - heading "./src/app/page.tsx" [level=3] [ref=e47]
+ - generic [ref=e49]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/app/page.js (127:1)
+ - generic [ref=e50]:
+ - heading "options.factory" [level=3] [ref=e51]
+ - generic [ref=e53]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (712:31)
+ - generic [ref=e54]:
+ - heading "__webpack_require__" [level=3] [ref=e55]
+ - generic [ref=e57]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (37:33)
+ - generic [ref=e58]:
+ - heading "fn" [level=3] [ref=e59]
+ - generic [ref=e61]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (369:21)
+ - button "Show ignored frames" [ref=e62] [cursor=pointer]
+```
\ No newline at end of file
diff --git a/test-results/e2e-components-Component-S-a6b31-layout-has-proper-structure-chromium-mobile/test-failed-1.png b/test-results/e2e-components-Component-S-a6b31-layout-has-proper-structure-chromium-mobile/test-failed-1.png
new file mode 100644
index 0000000..edc1d68
Binary files /dev/null and b/test-results/e2e-components-Component-S-a6b31-layout-has-proper-structure-chromium-mobile/test-failed-1.png differ
diff --git a/test-results/e2e-components-Component-S-a6b31-layout-has-proper-structure-chromium-mobile/video.webm b/test-results/e2e-components-Component-S-a6b31-layout-has-proper-structure-chromium-mobile/video.webm
new file mode 100644
index 0000000..03ff4d8
Binary files /dev/null and b/test-results/e2e-components-Component-S-a6b31-layout-has-proper-structure-chromium-mobile/video.webm differ
diff --git a/test-results/e2e-cross-platform-Cross-P-1336c-on-both-desktop-and-Android-chromium-desktop/error-context.md b/test-results/e2e-cross-platform-Cross-P-1336c-on-both-desktop-and-Android-chromium-desktop/error-context.md
index e2353e4..236df2d 100644
--- a/test-results/e2e-cross-platform-Cross-P-1336c-on-both-desktop-and-Android-chromium-desktop/error-context.md
+++ b/test-results/e2e-cross-platform-Cross-P-1336c-on-both-desktop-and-Android-chromium-desktop/error-context.md
@@ -1,9 +1,49 @@
# Page snapshot
```yaml
-- generic [active] [ref=e1]:
- - generic [ref=e3]:
- - heading "404" [level=1] [ref=e4]
- - heading "This page could not be found." [level=2] [ref=e6]
- - region "Notifications alt+T"
+- dialog "Unhandled Runtime Error" [ref=e3]:
+ - generic [ref=e4]:
+ - generic [ref=e5]:
+ - generic [ref=e6]:
+ - navigation [ref=e7]:
+ - button "previous" [disabled] [ref=e8]:
+ - img "previous" [ref=e9]
+ - button "next" [ref=e11] [cursor=pointer]:
+ - img "next" [ref=e12]
+ - generic [ref=e14]: 1 of 2 errors
+ - generic [ref=e15]:
+ - text: Next.js (15.1.3) is outdated
+ - link "(learn more)" [ref=e17] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/messages/version-staleness
+ - button "Close" [ref=e18] [cursor=pointer]:
+ - img [ref=e20]
+ - generic [ref=e23]:
+ - heading "Unhandled Runtime Error" [level=1] [ref=e24]
+ - generic [ref=e25]:
+ - button "Copy error stack" [ref=e26] [cursor=pointer]:
+ - img [ref=e27]
+ - link "Learn more about enabling Node.js inspector for server code with Chrome DevTools" [ref=e30] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/app/building-your-application/configuring/debugging#server-side-code
+ - img [ref=e31]
+ - paragraph [ref=e34]: "ReferenceError: Cannot access 'dynamic' before initialization"
+ - generic [ref=e35]:
+ - heading "Source" [level=2] [ref=e36]
+ - generic [ref=e37]:
+ - link "src/app/page.tsx (8:29) @ dynamic" [ref=e39] [cursor=pointer]:
+ - generic [ref=e40]: src/app/page.tsx (8:29) @ dynamic
+ - img [ref=e41]
+ - generic [ref=e45]: "6 | 7 | // Dynamically import SnippetManagerRedux to avoid SSR issues with Pyodide > 8 | const SnippetManagerRedux = dynamic( | ^ 9 | () => import('@/components/SnippetManagerRedux').then(mod => ({ default: mod.SnippetManagerRedux })), 10 | { ssr: false } 11 | );"
+ - generic [ref=e46]:
+ - heading "./src/app/page.tsx" [level=3] [ref=e47]
+ - generic [ref=e49]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/app/page.js (127:1)
+ - generic [ref=e50]:
+ - heading "options.factory" [level=3] [ref=e51]
+ - generic [ref=e53]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (712:31)
+ - generic [ref=e54]:
+ - heading "__webpack_require__" [level=3] [ref=e55]
+ - generic [ref=e57]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (37:33)
+ - generic [ref=e58]:
+ - heading "fn" [level=3] [ref=e59]
+ - generic [ref=e61]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (369:21)
+ - button "Show ignored frames" [ref=e62] [cursor=pointer]
```
\ No newline at end of file
diff --git a/test-results/e2e-cross-platform-Cross-P-1336c-on-both-desktop-and-Android-chromium-desktop/test-failed-1.png b/test-results/e2e-cross-platform-Cross-P-1336c-on-both-desktop-and-Android-chromium-desktop/test-failed-1.png
index ba3dc65..8b14eb9 100644
Binary files a/test-results/e2e-cross-platform-Cross-P-1336c-on-both-desktop-and-Android-chromium-desktop/test-failed-1.png and b/test-results/e2e-cross-platform-Cross-P-1336c-on-both-desktop-and-Android-chromium-desktop/test-failed-1.png differ
diff --git a/test-results/.playwright-artifacts-6/394331151de5d49ec73c900b55f30129.png b/test-results/e2e-cross-platform-Cross-P-1336c-on-both-desktop-and-Android-chromium-desktop/test-failed-2.png
similarity index 100%
rename from test-results/.playwright-artifacts-6/394331151de5d49ec73c900b55f30129.png
rename to test-results/e2e-cross-platform-Cross-P-1336c-on-both-desktop-and-Android-chromium-desktop/test-failed-2.png
diff --git a/test-results/e2e-cross-platform-Cross-P-1336c-on-both-desktop-and-Android-chromium-mobile/error-context.md b/test-results/e2e-cross-platform-Cross-P-1336c-on-both-desktop-and-Android-chromium-mobile/error-context.md
new file mode 100644
index 0000000..236df2d
--- /dev/null
+++ b/test-results/e2e-cross-platform-Cross-P-1336c-on-both-desktop-and-Android-chromium-mobile/error-context.md
@@ -0,0 +1,49 @@
+# Page snapshot
+
+```yaml
+- dialog "Unhandled Runtime Error" [ref=e3]:
+ - generic [ref=e4]:
+ - generic [ref=e5]:
+ - generic [ref=e6]:
+ - navigation [ref=e7]:
+ - button "previous" [disabled] [ref=e8]:
+ - img "previous" [ref=e9]
+ - button "next" [ref=e11] [cursor=pointer]:
+ - img "next" [ref=e12]
+ - generic [ref=e14]: 1 of 2 errors
+ - generic [ref=e15]:
+ - text: Next.js (15.1.3) is outdated
+ - link "(learn more)" [ref=e17] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/messages/version-staleness
+ - button "Close" [ref=e18] [cursor=pointer]:
+ - img [ref=e20]
+ - generic [ref=e23]:
+ - heading "Unhandled Runtime Error" [level=1] [ref=e24]
+ - generic [ref=e25]:
+ - button "Copy error stack" [ref=e26] [cursor=pointer]:
+ - img [ref=e27]
+ - link "Learn more about enabling Node.js inspector for server code with Chrome DevTools" [ref=e30] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/app/building-your-application/configuring/debugging#server-side-code
+ - img [ref=e31]
+ - paragraph [ref=e34]: "ReferenceError: Cannot access 'dynamic' before initialization"
+ - generic [ref=e35]:
+ - heading "Source" [level=2] [ref=e36]
+ - generic [ref=e37]:
+ - link "src/app/page.tsx (8:29) @ dynamic" [ref=e39] [cursor=pointer]:
+ - generic [ref=e40]: src/app/page.tsx (8:29) @ dynamic
+ - img [ref=e41]
+ - generic [ref=e45]: "6 | 7 | // Dynamically import SnippetManagerRedux to avoid SSR issues with Pyodide > 8 | const SnippetManagerRedux = dynamic( | ^ 9 | () => import('@/components/SnippetManagerRedux').then(mod => ({ default: mod.SnippetManagerRedux })), 10 | { ssr: false } 11 | );"
+ - generic [ref=e46]:
+ - heading "./src/app/page.tsx" [level=3] [ref=e47]
+ - generic [ref=e49]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/app/page.js (127:1)
+ - generic [ref=e50]:
+ - heading "options.factory" [level=3] [ref=e51]
+ - generic [ref=e53]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (712:31)
+ - generic [ref=e54]:
+ - heading "__webpack_require__" [level=3] [ref=e55]
+ - generic [ref=e57]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (37:33)
+ - generic [ref=e58]:
+ - heading "fn" [level=3] [ref=e59]
+ - generic [ref=e61]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (369:21)
+ - button "Show ignored frames" [ref=e62] [cursor=pointer]
+```
\ No newline at end of file
diff --git a/test-results/e2e-cross-platform-Cross-P-1336c-on-both-desktop-and-Android-chromium-mobile/test-failed-1.png b/test-results/e2e-cross-platform-Cross-P-1336c-on-both-desktop-and-Android-chromium-mobile/test-failed-1.png
new file mode 100644
index 0000000..5e7030b
Binary files /dev/null and b/test-results/e2e-cross-platform-Cross-P-1336c-on-both-desktop-and-Android-chromium-mobile/test-failed-1.png differ
diff --git a/test-results/e2e-cross-platform-Cross-P-1336c-on-both-desktop-and-Android-chromium-mobile/test-failed-2.png b/test-results/e2e-cross-platform-Cross-P-1336c-on-both-desktop-and-Android-chromium-mobile/test-failed-2.png
new file mode 100644
index 0000000..678296a
Binary files /dev/null and b/test-results/e2e-cross-platform-Cross-P-1336c-on-both-desktop-and-Android-chromium-mobile/test-failed-2.png differ
diff --git a/test-results/e2e-cross-platform-Cross-P-1f583-ssfully-on-Android-viewport-chromium-desktop/error-context.md b/test-results/e2e-cross-platform-Cross-P-1f583-ssfully-on-Android-viewport-chromium-desktop/error-context.md
index e2353e4..236df2d 100644
--- a/test-results/e2e-cross-platform-Cross-P-1f583-ssfully-on-Android-viewport-chromium-desktop/error-context.md
+++ b/test-results/e2e-cross-platform-Cross-P-1f583-ssfully-on-Android-viewport-chromium-desktop/error-context.md
@@ -1,9 +1,49 @@
# Page snapshot
```yaml
-- generic [active] [ref=e1]:
- - generic [ref=e3]:
- - heading "404" [level=1] [ref=e4]
- - heading "This page could not be found." [level=2] [ref=e6]
- - region "Notifications alt+T"
+- dialog "Unhandled Runtime Error" [ref=e3]:
+ - generic [ref=e4]:
+ - generic [ref=e5]:
+ - generic [ref=e6]:
+ - navigation [ref=e7]:
+ - button "previous" [disabled] [ref=e8]:
+ - img "previous" [ref=e9]
+ - button "next" [ref=e11] [cursor=pointer]:
+ - img "next" [ref=e12]
+ - generic [ref=e14]: 1 of 2 errors
+ - generic [ref=e15]:
+ - text: Next.js (15.1.3) is outdated
+ - link "(learn more)" [ref=e17] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/messages/version-staleness
+ - button "Close" [ref=e18] [cursor=pointer]:
+ - img [ref=e20]
+ - generic [ref=e23]:
+ - heading "Unhandled Runtime Error" [level=1] [ref=e24]
+ - generic [ref=e25]:
+ - button "Copy error stack" [ref=e26] [cursor=pointer]:
+ - img [ref=e27]
+ - link "Learn more about enabling Node.js inspector for server code with Chrome DevTools" [ref=e30] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/app/building-your-application/configuring/debugging#server-side-code
+ - img [ref=e31]
+ - paragraph [ref=e34]: "ReferenceError: Cannot access 'dynamic' before initialization"
+ - generic [ref=e35]:
+ - heading "Source" [level=2] [ref=e36]
+ - generic [ref=e37]:
+ - link "src/app/page.tsx (8:29) @ dynamic" [ref=e39] [cursor=pointer]:
+ - generic [ref=e40]: src/app/page.tsx (8:29) @ dynamic
+ - img [ref=e41]
+ - generic [ref=e45]: "6 | 7 | // Dynamically import SnippetManagerRedux to avoid SSR issues with Pyodide > 8 | const SnippetManagerRedux = dynamic( | ^ 9 | () => import('@/components/SnippetManagerRedux').then(mod => ({ default: mod.SnippetManagerRedux })), 10 | { ssr: false } 11 | );"
+ - generic [ref=e46]:
+ - heading "./src/app/page.tsx" [level=3] [ref=e47]
+ - generic [ref=e49]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/app/page.js (127:1)
+ - generic [ref=e50]:
+ - heading "options.factory" [level=3] [ref=e51]
+ - generic [ref=e53]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (712:31)
+ - generic [ref=e54]:
+ - heading "__webpack_require__" [level=3] [ref=e55]
+ - generic [ref=e57]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (37:33)
+ - generic [ref=e58]:
+ - heading "fn" [level=3] [ref=e59]
+ - generic [ref=e61]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (369:21)
+ - button "Show ignored frames" [ref=e62] [cursor=pointer]
```
\ No newline at end of file
diff --git a/test-results/e2e-cross-platform-Cross-P-1f583-ssfully-on-Android-viewport-chromium-desktop/test-failed-1.png b/test-results/e2e-cross-platform-Cross-P-1f583-ssfully-on-Android-viewport-chromium-desktop/test-failed-1.png
index 4e03e1d..8b14eb9 100644
Binary files a/test-results/e2e-cross-platform-Cross-P-1f583-ssfully-on-Android-viewport-chromium-desktop/test-failed-1.png and b/test-results/e2e-cross-platform-Cross-P-1f583-ssfully-on-Android-viewport-chromium-desktop/test-failed-1.png differ
diff --git a/test-results/e2e-cross-platform-Cross-P-1f583-ssfully-on-Android-viewport-chromium-desktop/video.webm b/test-results/e2e-cross-platform-Cross-P-1f583-ssfully-on-Android-viewport-chromium-desktop/video.webm
deleted file mode 100644
index 7078a89..0000000
Binary files a/test-results/e2e-cross-platform-Cross-P-1f583-ssfully-on-Android-viewport-chromium-desktop/video.webm and /dev/null differ
diff --git a/test-results/e2e-cross-platform-Cross-P-1f583-ssfully-on-Android-viewport-chromium-mobile/error-context.md b/test-results/e2e-cross-platform-Cross-P-1f583-ssfully-on-Android-viewport-chromium-mobile/error-context.md
new file mode 100644
index 0000000..236df2d
--- /dev/null
+++ b/test-results/e2e-cross-platform-Cross-P-1f583-ssfully-on-Android-viewport-chromium-mobile/error-context.md
@@ -0,0 +1,49 @@
+# Page snapshot
+
+```yaml
+- dialog "Unhandled Runtime Error" [ref=e3]:
+ - generic [ref=e4]:
+ - generic [ref=e5]:
+ - generic [ref=e6]:
+ - navigation [ref=e7]:
+ - button "previous" [disabled] [ref=e8]:
+ - img "previous" [ref=e9]
+ - button "next" [ref=e11] [cursor=pointer]:
+ - img "next" [ref=e12]
+ - generic [ref=e14]: 1 of 2 errors
+ - generic [ref=e15]:
+ - text: Next.js (15.1.3) is outdated
+ - link "(learn more)" [ref=e17] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/messages/version-staleness
+ - button "Close" [ref=e18] [cursor=pointer]:
+ - img [ref=e20]
+ - generic [ref=e23]:
+ - heading "Unhandled Runtime Error" [level=1] [ref=e24]
+ - generic [ref=e25]:
+ - button "Copy error stack" [ref=e26] [cursor=pointer]:
+ - img [ref=e27]
+ - link "Learn more about enabling Node.js inspector for server code with Chrome DevTools" [ref=e30] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/app/building-your-application/configuring/debugging#server-side-code
+ - img [ref=e31]
+ - paragraph [ref=e34]: "ReferenceError: Cannot access 'dynamic' before initialization"
+ - generic [ref=e35]:
+ - heading "Source" [level=2] [ref=e36]
+ - generic [ref=e37]:
+ - link "src/app/page.tsx (8:29) @ dynamic" [ref=e39] [cursor=pointer]:
+ - generic [ref=e40]: src/app/page.tsx (8:29) @ dynamic
+ - img [ref=e41]
+ - generic [ref=e45]: "6 | 7 | // Dynamically import SnippetManagerRedux to avoid SSR issues with Pyodide > 8 | const SnippetManagerRedux = dynamic( | ^ 9 | () => import('@/components/SnippetManagerRedux').then(mod => ({ default: mod.SnippetManagerRedux })), 10 | { ssr: false } 11 | );"
+ - generic [ref=e46]:
+ - heading "./src/app/page.tsx" [level=3] [ref=e47]
+ - generic [ref=e49]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/app/page.js (127:1)
+ - generic [ref=e50]:
+ - heading "options.factory" [level=3] [ref=e51]
+ - generic [ref=e53]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (712:31)
+ - generic [ref=e54]:
+ - heading "__webpack_require__" [level=3] [ref=e55]
+ - generic [ref=e57]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (37:33)
+ - generic [ref=e58]:
+ - heading "fn" [level=3] [ref=e59]
+ - generic [ref=e61]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (369:21)
+ - button "Show ignored frames" [ref=e62] [cursor=pointer]
+```
\ No newline at end of file
diff --git a/test-results/e2e-cross-platform-Cross-P-1f583-ssfully-on-Android-viewport-chromium-mobile/test-failed-1.png b/test-results/e2e-cross-platform-Cross-P-1f583-ssfully-on-Android-viewport-chromium-mobile/test-failed-1.png
new file mode 100644
index 0000000..5e7030b
Binary files /dev/null and b/test-results/e2e-cross-platform-Cross-P-1f583-ssfully-on-Android-viewport-chromium-mobile/test-failed-1.png differ
diff --git a/test-results/e2e-cross-platform-Cross-P-1f583-ssfully-on-Android-viewport-chromium-mobile/video.webm b/test-results/e2e-cross-platform-Cross-P-1f583-ssfully-on-Android-viewport-chromium-mobile/video.webm
new file mode 100644
index 0000000..93b6961
Binary files /dev/null and b/test-results/e2e-cross-platform-Cross-P-1f583-ssfully-on-Android-viewport-chromium-mobile/video.webm differ
diff --git a/test-results/e2e-cross-platform-Cross-P-78f2f-ion-works-on-both-platforms-chromium-desktop/test-failed-1.png b/test-results/e2e-cross-platform-Cross-P-29423-ropriately-across-platforms-chromium-desktop/test-failed-1.png
similarity index 100%
rename from test-results/e2e-cross-platform-Cross-P-78f2f-ion-works-on-both-platforms-chromium-desktop/test-failed-1.png
rename to test-results/e2e-cross-platform-Cross-P-29423-ropriately-across-platforms-chromium-desktop/test-failed-1.png
diff --git a/test-results/.playwright-artifacts-5/2ae6f2c979590bfb6ee3b4edefcd42b7.png b/test-results/e2e-cross-platform-Cross-P-29423-ropriately-across-platforms-chromium-desktop/test-failed-2.png
similarity index 100%
rename from test-results/.playwright-artifacts-5/2ae6f2c979590bfb6ee3b4edefcd42b7.png
rename to test-results/e2e-cross-platform-Cross-P-29423-ropriately-across-platforms-chromium-desktop/test-failed-2.png
diff --git a/test-results/e2e-cross-platform-Cross-P-29423-ropriately-across-platforms-chromium-mobile/test-failed-1.png b/test-results/e2e-cross-platform-Cross-P-29423-ropriately-across-platforms-chromium-mobile/test-failed-1.png
new file mode 100644
index 0000000..5a70685
Binary files /dev/null and b/test-results/e2e-cross-platform-Cross-P-29423-ropriately-across-platforms-chromium-mobile/test-failed-1.png differ
diff --git a/test-results/e2e-cross-platform-Cross-P-29423-ropriately-across-platforms-chromium-mobile/test-failed-2.png b/test-results/e2e-cross-platform-Cross-P-29423-ropriately-across-platforms-chromium-mobile/test-failed-2.png
new file mode 100644
index 0000000..8ecfd25
Binary files /dev/null and b/test-results/e2e-cross-platform-Cross-P-29423-ropriately-across-platforms-chromium-mobile/test-failed-2.png differ
diff --git a/test-results/e2e-cross-platform-Cross-P-33ce8-opriate-on-all-screen-sizes-chromium-desktop/error-context.md b/test-results/e2e-cross-platform-Cross-P-33ce8-opriate-on-all-screen-sizes-chromium-desktop/error-context.md
new file mode 100644
index 0000000..236df2d
--- /dev/null
+++ b/test-results/e2e-cross-platform-Cross-P-33ce8-opriate-on-all-screen-sizes-chromium-desktop/error-context.md
@@ -0,0 +1,49 @@
+# Page snapshot
+
+```yaml
+- dialog "Unhandled Runtime Error" [ref=e3]:
+ - generic [ref=e4]:
+ - generic [ref=e5]:
+ - generic [ref=e6]:
+ - navigation [ref=e7]:
+ - button "previous" [disabled] [ref=e8]:
+ - img "previous" [ref=e9]
+ - button "next" [ref=e11] [cursor=pointer]:
+ - img "next" [ref=e12]
+ - generic [ref=e14]: 1 of 2 errors
+ - generic [ref=e15]:
+ - text: Next.js (15.1.3) is outdated
+ - link "(learn more)" [ref=e17] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/messages/version-staleness
+ - button "Close" [ref=e18] [cursor=pointer]:
+ - img [ref=e20]
+ - generic [ref=e23]:
+ - heading "Unhandled Runtime Error" [level=1] [ref=e24]
+ - generic [ref=e25]:
+ - button "Copy error stack" [ref=e26] [cursor=pointer]:
+ - img [ref=e27]
+ - link "Learn more about enabling Node.js inspector for server code with Chrome DevTools" [ref=e30] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/app/building-your-application/configuring/debugging#server-side-code
+ - img [ref=e31]
+ - paragraph [ref=e34]: "ReferenceError: Cannot access 'dynamic' before initialization"
+ - generic [ref=e35]:
+ - heading "Source" [level=2] [ref=e36]
+ - generic [ref=e37]:
+ - link "src/app/page.tsx (8:29) @ dynamic" [ref=e39] [cursor=pointer]:
+ - generic [ref=e40]: src/app/page.tsx (8:29) @ dynamic
+ - img [ref=e41]
+ - generic [ref=e45]: "6 | 7 | // Dynamically import SnippetManagerRedux to avoid SSR issues with Pyodide > 8 | const SnippetManagerRedux = dynamic( | ^ 9 | () => import('@/components/SnippetManagerRedux').then(mod => ({ default: mod.SnippetManagerRedux })), 10 | { ssr: false } 11 | );"
+ - generic [ref=e46]:
+ - heading "./src/app/page.tsx" [level=3] [ref=e47]
+ - generic [ref=e49]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/app/page.js (127:1)
+ - generic [ref=e50]:
+ - heading "options.factory" [level=3] [ref=e51]
+ - generic [ref=e53]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (712:31)
+ - generic [ref=e54]:
+ - heading "__webpack_require__" [level=3] [ref=e55]
+ - generic [ref=e57]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (37:33)
+ - generic [ref=e58]:
+ - heading "fn" [level=3] [ref=e59]
+ - generic [ref=e61]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (369:21)
+ - button "Show ignored frames" [ref=e62] [cursor=pointer]
+```
\ No newline at end of file
diff --git a/test-results/e2e-cross-platform-Cross-P-33ce8-opriate-on-all-screen-sizes-chromium-desktop/test-failed-1.png b/test-results/e2e-cross-platform-Cross-P-33ce8-opriate-on-all-screen-sizes-chromium-desktop/test-failed-1.png
index 6ece240..b7cf863 100644
Binary files a/test-results/e2e-cross-platform-Cross-P-33ce8-opriate-on-all-screen-sizes-chromium-desktop/test-failed-1.png and b/test-results/e2e-cross-platform-Cross-P-33ce8-opriate-on-all-screen-sizes-chromium-desktop/test-failed-1.png differ
diff --git a/test-results/e2e-cross-platform-Cross-P-33ce8-opriate-on-all-screen-sizes-chromium-mobile/error-context.md b/test-results/e2e-cross-platform-Cross-P-33ce8-opriate-on-all-screen-sizes-chromium-mobile/error-context.md
new file mode 100644
index 0000000..236df2d
--- /dev/null
+++ b/test-results/e2e-cross-platform-Cross-P-33ce8-opriate-on-all-screen-sizes-chromium-mobile/error-context.md
@@ -0,0 +1,49 @@
+# Page snapshot
+
+```yaml
+- dialog "Unhandled Runtime Error" [ref=e3]:
+ - generic [ref=e4]:
+ - generic [ref=e5]:
+ - generic [ref=e6]:
+ - navigation [ref=e7]:
+ - button "previous" [disabled] [ref=e8]:
+ - img "previous" [ref=e9]
+ - button "next" [ref=e11] [cursor=pointer]:
+ - img "next" [ref=e12]
+ - generic [ref=e14]: 1 of 2 errors
+ - generic [ref=e15]:
+ - text: Next.js (15.1.3) is outdated
+ - link "(learn more)" [ref=e17] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/messages/version-staleness
+ - button "Close" [ref=e18] [cursor=pointer]:
+ - img [ref=e20]
+ - generic [ref=e23]:
+ - heading "Unhandled Runtime Error" [level=1] [ref=e24]
+ - generic [ref=e25]:
+ - button "Copy error stack" [ref=e26] [cursor=pointer]:
+ - img [ref=e27]
+ - link "Learn more about enabling Node.js inspector for server code with Chrome DevTools" [ref=e30] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/app/building-your-application/configuring/debugging#server-side-code
+ - img [ref=e31]
+ - paragraph [ref=e34]: "ReferenceError: Cannot access 'dynamic' before initialization"
+ - generic [ref=e35]:
+ - heading "Source" [level=2] [ref=e36]
+ - generic [ref=e37]:
+ - link "src/app/page.tsx (8:29) @ dynamic" [ref=e39] [cursor=pointer]:
+ - generic [ref=e40]: src/app/page.tsx (8:29) @ dynamic
+ - img [ref=e41]
+ - generic [ref=e45]: "6 | 7 | // Dynamically import SnippetManagerRedux to avoid SSR issues with Pyodide > 8 | const SnippetManagerRedux = dynamic( | ^ 9 | () => import('@/components/SnippetManagerRedux').then(mod => ({ default: mod.SnippetManagerRedux })), 10 | { ssr: false } 11 | );"
+ - generic [ref=e46]:
+ - heading "./src/app/page.tsx" [level=3] [ref=e47]
+ - generic [ref=e49]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/app/page.js (127:1)
+ - generic [ref=e50]:
+ - heading "options.factory" [level=3] [ref=e51]
+ - generic [ref=e53]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (712:31)
+ - generic [ref=e54]:
+ - heading "__webpack_require__" [level=3] [ref=e55]
+ - generic [ref=e57]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (37:33)
+ - generic [ref=e58]:
+ - heading "fn" [level=3] [ref=e59]
+ - generic [ref=e61]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (369:21)
+ - button "Show ignored frames" [ref=e62] [cursor=pointer]
+```
\ No newline at end of file
diff --git a/test-results/e2e-cross-platform-Cross-P-33ce8-opriate-on-all-screen-sizes-chromium-mobile/test-failed-1.png b/test-results/e2e-cross-platform-Cross-P-33ce8-opriate-on-all-screen-sizes-chromium-mobile/test-failed-1.png
new file mode 100644
index 0000000..678296a
Binary files /dev/null and b/test-results/e2e-cross-platform-Cross-P-33ce8-opriate-on-all-screen-sizes-chromium-mobile/test-failed-1.png differ
diff --git a/test-results/e2e-cross-platform-Cross-P-6cbef-cally-on-desktop-and-mobile-chromium-mobile/test-failed-1.png b/test-results/e2e-cross-platform-Cross-P-6cbef-cally-on-desktop-and-mobile-chromium-mobile/test-failed-1.png
new file mode 100644
index 0000000..8ecfd25
Binary files /dev/null and b/test-results/e2e-cross-platform-Cross-P-6cbef-cally-on-desktop-and-mobile-chromium-mobile/test-failed-1.png differ
diff --git a/test-results/e2e-cross-platform-Cross-P-6cbef-cally-on-desktop-and-mobile-chromium-mobile/test-failed-2.png b/test-results/e2e-cross-platform-Cross-P-6cbef-cally-on-desktop-and-mobile-chromium-mobile/test-failed-2.png
new file mode 100644
index 0000000..26e7df9
Binary files /dev/null and b/test-results/e2e-cross-platform-Cross-P-6cbef-cally-on-desktop-and-mobile-chromium-mobile/test-failed-2.png differ
diff --git a/test-results/e2e-cross-platform-Cross-P-c265e-on-Android-without-breaking-chromium-desktop/error-context.md b/test-results/e2e-cross-platform-Cross-P-c265e-on-Android-without-breaking-chromium-desktop/error-context.md
new file mode 100644
index 0000000..236df2d
--- /dev/null
+++ b/test-results/e2e-cross-platform-Cross-P-c265e-on-Android-without-breaking-chromium-desktop/error-context.md
@@ -0,0 +1,49 @@
+# Page snapshot
+
+```yaml
+- dialog "Unhandled Runtime Error" [ref=e3]:
+ - generic [ref=e4]:
+ - generic [ref=e5]:
+ - generic [ref=e6]:
+ - navigation [ref=e7]:
+ - button "previous" [disabled] [ref=e8]:
+ - img "previous" [ref=e9]
+ - button "next" [ref=e11] [cursor=pointer]:
+ - img "next" [ref=e12]
+ - generic [ref=e14]: 1 of 2 errors
+ - generic [ref=e15]:
+ - text: Next.js (15.1.3) is outdated
+ - link "(learn more)" [ref=e17] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/messages/version-staleness
+ - button "Close" [ref=e18] [cursor=pointer]:
+ - img [ref=e20]
+ - generic [ref=e23]:
+ - heading "Unhandled Runtime Error" [level=1] [ref=e24]
+ - generic [ref=e25]:
+ - button "Copy error stack" [ref=e26] [cursor=pointer]:
+ - img [ref=e27]
+ - link "Learn more about enabling Node.js inspector for server code with Chrome DevTools" [ref=e30] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/app/building-your-application/configuring/debugging#server-side-code
+ - img [ref=e31]
+ - paragraph [ref=e34]: "ReferenceError: Cannot access 'dynamic' before initialization"
+ - generic [ref=e35]:
+ - heading "Source" [level=2] [ref=e36]
+ - generic [ref=e37]:
+ - link "src/app/page.tsx (8:29) @ dynamic" [ref=e39] [cursor=pointer]:
+ - generic [ref=e40]: src/app/page.tsx (8:29) @ dynamic
+ - img [ref=e41]
+ - generic [ref=e45]: "6 | 7 | // Dynamically import SnippetManagerRedux to avoid SSR issues with Pyodide > 8 | const SnippetManagerRedux = dynamic( | ^ 9 | () => import('@/components/SnippetManagerRedux').then(mod => ({ default: mod.SnippetManagerRedux })), 10 | { ssr: false } 11 | );"
+ - generic [ref=e46]:
+ - heading "./src/app/page.tsx" [level=3] [ref=e47]
+ - generic [ref=e49]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/app/page.js (127:1)
+ - generic [ref=e50]:
+ - heading "options.factory" [level=3] [ref=e51]
+ - generic [ref=e53]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (712:31)
+ - generic [ref=e54]:
+ - heading "__webpack_require__" [level=3] [ref=e55]
+ - generic [ref=e57]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (37:33)
+ - generic [ref=e58]:
+ - heading "fn" [level=3] [ref=e59]
+ - generic [ref=e61]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (369:21)
+ - button "Show ignored frames" [ref=e62] [cursor=pointer]
+```
\ No newline at end of file
diff --git a/test-results/e2e-cross-platform-Cross-P-c265e-on-Android-without-breaking-chromium-desktop/test-failed-1.png b/test-results/e2e-cross-platform-Cross-P-c265e-on-Android-without-breaking-chromium-desktop/test-failed-1.png
index c75476d..8b14eb9 100644
Binary files a/test-results/e2e-cross-platform-Cross-P-c265e-on-Android-without-breaking-chromium-desktop/test-failed-1.png and b/test-results/e2e-cross-platform-Cross-P-c265e-on-Android-without-breaking-chromium-desktop/test-failed-1.png differ
diff --git a/test-results/e2e-cross-platform-Cross-P-c265e-on-Android-without-breaking-chromium-mobile/error-context.md b/test-results/e2e-cross-platform-Cross-P-c265e-on-Android-without-breaking-chromium-mobile/error-context.md
new file mode 100644
index 0000000..236df2d
--- /dev/null
+++ b/test-results/e2e-cross-platform-Cross-P-c265e-on-Android-without-breaking-chromium-mobile/error-context.md
@@ -0,0 +1,49 @@
+# Page snapshot
+
+```yaml
+- dialog "Unhandled Runtime Error" [ref=e3]:
+ - generic [ref=e4]:
+ - generic [ref=e5]:
+ - generic [ref=e6]:
+ - navigation [ref=e7]:
+ - button "previous" [disabled] [ref=e8]:
+ - img "previous" [ref=e9]
+ - button "next" [ref=e11] [cursor=pointer]:
+ - img "next" [ref=e12]
+ - generic [ref=e14]: 1 of 2 errors
+ - generic [ref=e15]:
+ - text: Next.js (15.1.3) is outdated
+ - link "(learn more)" [ref=e17] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/messages/version-staleness
+ - button "Close" [ref=e18] [cursor=pointer]:
+ - img [ref=e20]
+ - generic [ref=e23]:
+ - heading "Unhandled Runtime Error" [level=1] [ref=e24]
+ - generic [ref=e25]:
+ - button "Copy error stack" [ref=e26] [cursor=pointer]:
+ - img [ref=e27]
+ - link "Learn more about enabling Node.js inspector for server code with Chrome DevTools" [ref=e30] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/app/building-your-application/configuring/debugging#server-side-code
+ - img [ref=e31]
+ - paragraph [ref=e34]: "ReferenceError: Cannot access 'dynamic' before initialization"
+ - generic [ref=e35]:
+ - heading "Source" [level=2] [ref=e36]
+ - generic [ref=e37]:
+ - link "src/app/page.tsx (8:29) @ dynamic" [ref=e39] [cursor=pointer]:
+ - generic [ref=e40]: src/app/page.tsx (8:29) @ dynamic
+ - img [ref=e41]
+ - generic [ref=e45]: "6 | 7 | // Dynamically import SnippetManagerRedux to avoid SSR issues with Pyodide > 8 | const SnippetManagerRedux = dynamic( | ^ 9 | () => import('@/components/SnippetManagerRedux').then(mod => ({ default: mod.SnippetManagerRedux })), 10 | { ssr: false } 11 | );"
+ - generic [ref=e46]:
+ - heading "./src/app/page.tsx" [level=3] [ref=e47]
+ - generic [ref=e49]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/app/page.js (127:1)
+ - generic [ref=e50]:
+ - heading "options.factory" [level=3] [ref=e51]
+ - generic [ref=e53]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (712:31)
+ - generic [ref=e54]:
+ - heading "__webpack_require__" [level=3] [ref=e55]
+ - generic [ref=e57]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (37:33)
+ - generic [ref=e58]:
+ - heading "fn" [level=3] [ref=e59]
+ - generic [ref=e61]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (369:21)
+ - button "Show ignored frames" [ref=e62] [cursor=pointer]
+```
\ No newline at end of file
diff --git a/test-results/e2e-cross-platform-Cross-P-c265e-on-Android-without-breaking-chromium-mobile/test-failed-1.png b/test-results/e2e-cross-platform-Cross-P-c265e-on-Android-without-breaking-chromium-mobile/test-failed-1.png
new file mode 100644
index 0000000..5e7030b
Binary files /dev/null and b/test-results/e2e-cross-platform-Cross-P-c265e-on-Android-without-breaking-chromium-mobile/test-failed-1.png differ
diff --git a/test-results/e2e-cross-platform-Cross-P-cc73e-dentically-on-all-platforms-chromium-desktop/test-failed-1.png b/test-results/e2e-cross-platform-Cross-P-cc73e-dentically-on-all-platforms-chromium-desktop/test-failed-1.png
deleted file mode 100644
index c75476d..0000000
Binary files a/test-results/e2e-cross-platform-Cross-P-cc73e-dentically-on-all-platforms-chromium-desktop/test-failed-1.png and /dev/null differ
diff --git a/test-results/e2e-cross-platform-Cross-P-cc73e-dentically-on-all-platforms-chromium-desktop/test-failed-2.png b/test-results/e2e-cross-platform-Cross-P-cc73e-dentically-on-all-platforms-chromium-desktop/test-failed-2.png
deleted file mode 100644
index 6ece240..0000000
Binary files a/test-results/e2e-cross-platform-Cross-P-cc73e-dentically-on-all-platforms-chromium-desktop/test-failed-2.png and /dev/null differ
diff --git a/test-results/e2e-cross-platform-Cross-P-d2202-ts-don-t-overlap-on-Android-chromium-desktop/error-context.md b/test-results/e2e-cross-platform-Cross-P-d2202-ts-don-t-overlap-on-Android-chromium-desktop/error-context.md
new file mode 100644
index 0000000..236df2d
--- /dev/null
+++ b/test-results/e2e-cross-platform-Cross-P-d2202-ts-don-t-overlap-on-Android-chromium-desktop/error-context.md
@@ -0,0 +1,49 @@
+# Page snapshot
+
+```yaml
+- dialog "Unhandled Runtime Error" [ref=e3]:
+ - generic [ref=e4]:
+ - generic [ref=e5]:
+ - generic [ref=e6]:
+ - navigation [ref=e7]:
+ - button "previous" [disabled] [ref=e8]:
+ - img "previous" [ref=e9]
+ - button "next" [ref=e11] [cursor=pointer]:
+ - img "next" [ref=e12]
+ - generic [ref=e14]: 1 of 2 errors
+ - generic [ref=e15]:
+ - text: Next.js (15.1.3) is outdated
+ - link "(learn more)" [ref=e17] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/messages/version-staleness
+ - button "Close" [ref=e18] [cursor=pointer]:
+ - img [ref=e20]
+ - generic [ref=e23]:
+ - heading "Unhandled Runtime Error" [level=1] [ref=e24]
+ - generic [ref=e25]:
+ - button "Copy error stack" [ref=e26] [cursor=pointer]:
+ - img [ref=e27]
+ - link "Learn more about enabling Node.js inspector for server code with Chrome DevTools" [ref=e30] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/app/building-your-application/configuring/debugging#server-side-code
+ - img [ref=e31]
+ - paragraph [ref=e34]: "ReferenceError: Cannot access 'dynamic' before initialization"
+ - generic [ref=e35]:
+ - heading "Source" [level=2] [ref=e36]
+ - generic [ref=e37]:
+ - link "src/app/page.tsx (8:29) @ dynamic" [ref=e39] [cursor=pointer]:
+ - generic [ref=e40]: src/app/page.tsx (8:29) @ dynamic
+ - img [ref=e41]
+ - generic [ref=e45]: "6 | 7 | // Dynamically import SnippetManagerRedux to avoid SSR issues with Pyodide > 8 | const SnippetManagerRedux = dynamic( | ^ 9 | () => import('@/components/SnippetManagerRedux').then(mod => ({ default: mod.SnippetManagerRedux })), 10 | { ssr: false } 11 | );"
+ - generic [ref=e46]:
+ - heading "./src/app/page.tsx" [level=3] [ref=e47]
+ - generic [ref=e49]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/app/page.js (127:1)
+ - generic [ref=e50]:
+ - heading "options.factory" [level=3] [ref=e51]
+ - generic [ref=e53]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (712:31)
+ - generic [ref=e54]:
+ - heading "__webpack_require__" [level=3] [ref=e55]
+ - generic [ref=e57]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (37:33)
+ - generic [ref=e58]:
+ - heading "fn" [level=3] [ref=e59]
+ - generic [ref=e61]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (369:21)
+ - button "Show ignored frames" [ref=e62] [cursor=pointer]
+```
\ No newline at end of file
diff --git a/test-results/e2e-cross-platform-Cross-P-d2202-ts-don-t-overlap-on-Android-chromium-desktop/test-failed-1.png b/test-results/e2e-cross-platform-Cross-P-d2202-ts-don-t-overlap-on-Android-chromium-desktop/test-failed-1.png
new file mode 100644
index 0000000..8b14eb9
Binary files /dev/null and b/test-results/e2e-cross-platform-Cross-P-d2202-ts-don-t-overlap-on-Android-chromium-desktop/test-failed-1.png differ
diff --git a/test-results/e2e-cross-platform-Cross-P-d2202-ts-don-t-overlap-on-Android-chromium-desktop/video.webm b/test-results/e2e-cross-platform-Cross-P-d2202-ts-don-t-overlap-on-Android-chromium-desktop/video.webm
new file mode 100644
index 0000000..143929a
Binary files /dev/null and b/test-results/e2e-cross-platform-Cross-P-d2202-ts-don-t-overlap-on-Android-chromium-desktop/video.webm differ
diff --git a/test-results/e2e-cross-platform-Cross-P-d2202-ts-don-t-overlap-on-Android-chromium-mobile/error-context.md b/test-results/e2e-cross-platform-Cross-P-d2202-ts-don-t-overlap-on-Android-chromium-mobile/error-context.md
new file mode 100644
index 0000000..236df2d
--- /dev/null
+++ b/test-results/e2e-cross-platform-Cross-P-d2202-ts-don-t-overlap-on-Android-chromium-mobile/error-context.md
@@ -0,0 +1,49 @@
+# Page snapshot
+
+```yaml
+- dialog "Unhandled Runtime Error" [ref=e3]:
+ - generic [ref=e4]:
+ - generic [ref=e5]:
+ - generic [ref=e6]:
+ - navigation [ref=e7]:
+ - button "previous" [disabled] [ref=e8]:
+ - img "previous" [ref=e9]
+ - button "next" [ref=e11] [cursor=pointer]:
+ - img "next" [ref=e12]
+ - generic [ref=e14]: 1 of 2 errors
+ - generic [ref=e15]:
+ - text: Next.js (15.1.3) is outdated
+ - link "(learn more)" [ref=e17] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/messages/version-staleness
+ - button "Close" [ref=e18] [cursor=pointer]:
+ - img [ref=e20]
+ - generic [ref=e23]:
+ - heading "Unhandled Runtime Error" [level=1] [ref=e24]
+ - generic [ref=e25]:
+ - button "Copy error stack" [ref=e26] [cursor=pointer]:
+ - img [ref=e27]
+ - link "Learn more about enabling Node.js inspector for server code with Chrome DevTools" [ref=e30] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/app/building-your-application/configuring/debugging#server-side-code
+ - img [ref=e31]
+ - paragraph [ref=e34]: "ReferenceError: Cannot access 'dynamic' before initialization"
+ - generic [ref=e35]:
+ - heading "Source" [level=2] [ref=e36]
+ - generic [ref=e37]:
+ - link "src/app/page.tsx (8:29) @ dynamic" [ref=e39] [cursor=pointer]:
+ - generic [ref=e40]: src/app/page.tsx (8:29) @ dynamic
+ - img [ref=e41]
+ - generic [ref=e45]: "6 | 7 | // Dynamically import SnippetManagerRedux to avoid SSR issues with Pyodide > 8 | const SnippetManagerRedux = dynamic( | ^ 9 | () => import('@/components/SnippetManagerRedux').then(mod => ({ default: mod.SnippetManagerRedux })), 10 | { ssr: false } 11 | );"
+ - generic [ref=e46]:
+ - heading "./src/app/page.tsx" [level=3] [ref=e47]
+ - generic [ref=e49]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/app/page.js (127:1)
+ - generic [ref=e50]:
+ - heading "options.factory" [level=3] [ref=e51]
+ - generic [ref=e53]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (712:31)
+ - generic [ref=e54]:
+ - heading "__webpack_require__" [level=3] [ref=e55]
+ - generic [ref=e57]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (37:33)
+ - generic [ref=e58]:
+ - heading "fn" [level=3] [ref=e59]
+ - generic [ref=e61]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (369:21)
+ - button "Show ignored frames" [ref=e62] [cursor=pointer]
+```
\ No newline at end of file
diff --git a/test-results/e2e-cross-platform-Cross-P-d2202-ts-don-t-overlap-on-Android-chromium-mobile/test-failed-1.png b/test-results/e2e-cross-platform-Cross-P-d2202-ts-don-t-overlap-on-Android-chromium-mobile/test-failed-1.png
new file mode 100644
index 0000000..5e7030b
Binary files /dev/null and b/test-results/e2e-cross-platform-Cross-P-d2202-ts-don-t-overlap-on-Android-chromium-mobile/test-failed-1.png differ
diff --git a/test-results/e2e-cross-platform-Cross-P-d2202-ts-don-t-overlap-on-Android-chromium-mobile/video.webm b/test-results/e2e-cross-platform-Cross-P-d2202-ts-don-t-overlap-on-Android-chromium-mobile/video.webm
new file mode 100644
index 0000000..f879c3e
Binary files /dev/null and b/test-results/e2e-cross-platform-Cross-P-d2202-ts-don-t-overlap-on-Android-chromium-mobile/video.webm differ
diff --git a/test-results/.playwright-artifacts-0/c731e5fc1964cd0431af6d2f1b196733.png b/test-results/e2e-css-styling-Advanced-S-396bd--t-cause-readability-issues-chromium-desktop/test-failed-1.png
similarity index 100%
rename from test-results/.playwright-artifacts-0/c731e5fc1964cd0431af6d2f1b196733.png
rename to test-results/e2e-css-styling-Advanced-S-396bd--t-cause-readability-issues-chromium-desktop/test-failed-1.png
diff --git a/test-results/.playwright-artifacts-5/73b7e4ebfce41b8401f20c11fb27613f.webm b/test-results/e2e-css-styling-Advanced-S-396bd--t-cause-readability-issues-chromium-desktop/video.webm
similarity index 82%
rename from test-results/.playwright-artifacts-5/73b7e4ebfce41b8401f20c11fb27613f.webm
rename to test-results/e2e-css-styling-Advanced-S-396bd--t-cause-readability-issues-chromium-desktop/video.webm
index 383bbda..6dcf022 100644
Binary files a/test-results/.playwright-artifacts-5/73b7e4ebfce41b8401f20c11fb27613f.webm and b/test-results/e2e-css-styling-Advanced-S-396bd--t-cause-readability-issues-chromium-desktop/video.webm differ
diff --git a/test-results/e2e-css-styling-Advanced-S-396bd--t-cause-readability-issues-chromium-mobile/error-context.md b/test-results/e2e-css-styling-Advanced-S-396bd--t-cause-readability-issues-chromium-mobile/error-context.md
new file mode 100644
index 0000000..d393bfa
--- /dev/null
+++ b/test-results/e2e-css-styling-Advanced-S-396bd--t-cause-readability-issues-chromium-mobile/error-context.md
@@ -0,0 +1,49 @@
+# Page snapshot
+
+```yaml
+- dialog "Unhandled Runtime Error" [ref=e3]:
+ - generic [ref=e4]:
+ - generic [ref=e5]:
+ - generic [ref=e6]:
+ - navigation [ref=e7]:
+ - button "previous" [disabled] [ref=e8]:
+ - img "previous" [ref=e9]
+ - button "next" [disabled] [ref=e11]:
+ - img "next" [ref=e12]
+ - generic [ref=e14]: 1 of 1 error
+ - generic [ref=e15]:
+ - text: Next.js (15.1.3) is outdated
+ - link "(learn more)" [ref=e17] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/messages/version-staleness
+ - button "Close" [ref=e18] [cursor=pointer]:
+ - img [ref=e20]
+ - generic [ref=e23]:
+ - heading "Unhandled Runtime Error" [level=1] [ref=e24]
+ - generic [ref=e25]:
+ - button "Copy error stack" [ref=e26] [cursor=pointer]:
+ - img [ref=e27]
+ - link "Learn more about enabling Node.js inspector for server code with Chrome DevTools" [ref=e30] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/app/building-your-application/configuring/debugging#server-side-code
+ - img [ref=e31]
+ - paragraph [ref=e34]: "ReferenceError: Cannot access 'dynamic' before initialization"
+ - generic [ref=e35]:
+ - heading "Source" [level=2] [ref=e36]
+ - generic [ref=e37]:
+ - link "src/app/page.tsx (8:29) @ dynamic" [ref=e39] [cursor=pointer]:
+ - generic [ref=e40]: src/app/page.tsx (8:29) @ dynamic
+ - img [ref=e41]
+ - generic [ref=e45]: "6 | 7 | // Dynamically import SnippetManagerRedux to avoid SSR issues with Pyodide > 8 | const SnippetManagerRedux = dynamic( | ^ 9 | () => import('@/components/SnippetManagerRedux').then(mod => ({ default: mod.SnippetManagerRedux })), 10 | { ssr: false } 11 | );"
+ - generic [ref=e46]:
+ - heading "./src/app/page.tsx" [level=3] [ref=e47]
+ - generic [ref=e49]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/app/page.js (127:1)
+ - generic [ref=e50]:
+ - heading "options.factory" [level=3] [ref=e51]
+ - generic [ref=e53]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (712:31)
+ - generic [ref=e54]:
+ - heading "__webpack_require__" [level=3] [ref=e55]
+ - generic [ref=e57]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (37:33)
+ - generic [ref=e58]:
+ - heading "fn" [level=3] [ref=e59]
+ - generic [ref=e61]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (369:21)
+ - button "Show ignored frames" [ref=e62] [cursor=pointer]
+```
\ No newline at end of file
diff --git a/test-results/e2e-css-styling-Advanced-S-396bd--t-cause-readability-issues-chromium-mobile/test-failed-1.png b/test-results/e2e-css-styling-Advanced-S-396bd--t-cause-readability-issues-chromium-mobile/test-failed-1.png
new file mode 100644
index 0000000..4690d2d
Binary files /dev/null and b/test-results/e2e-css-styling-Advanced-S-396bd--t-cause-readability-issues-chromium-mobile/test-failed-1.png differ
diff --git a/test-results/e2e-css-styling-Advanced-S-396bd--t-cause-readability-issues-chromium-mobile/video.webm b/test-results/e2e-css-styling-Advanced-S-396bd--t-cause-readability-issues-chromium-mobile/video.webm
new file mode 100644
index 0000000..d0c3aa0
Binary files /dev/null and b/test-results/e2e-css-styling-Advanced-S-396bd--t-cause-readability-issues-chromium-mobile/video.webm differ
diff --git a/test-results/.playwright-artifacts-1/093949943571ce19b8ec8b93b1eaffb6.png b/test-results/e2e-css-styling-Advanced-S-995bd-don-t-have-misaligned-items-chromium-desktop/test-failed-1.png
similarity index 100%
rename from test-results/.playwright-artifacts-1/093949943571ce19b8ec8b93b1eaffb6.png
rename to test-results/e2e-css-styling-Advanced-S-995bd-don-t-have-misaligned-items-chromium-desktop/test-failed-1.png
diff --git a/test-results/.playwright-artifacts-5/3b27d0f67d632c909b754482fba4b794.webm b/test-results/e2e-css-styling-Advanced-S-995bd-don-t-have-misaligned-items-chromium-desktop/video.webm
similarity index 74%
rename from test-results/.playwright-artifacts-5/3b27d0f67d632c909b754482fba4b794.webm
rename to test-results/e2e-css-styling-Advanced-S-995bd-don-t-have-misaligned-items-chromium-desktop/video.webm
index ec9adda..61ace74 100644
Binary files a/test-results/.playwright-artifacts-5/3b27d0f67d632c909b754482fba4b794.webm and b/test-results/e2e-css-styling-Advanced-S-995bd-don-t-have-misaligned-items-chromium-desktop/video.webm differ
diff --git a/test-results/e2e-css-styling-Advanced-S-995bd-don-t-have-misaligned-items-chromium-mobile/error-context.md b/test-results/e2e-css-styling-Advanced-S-995bd-don-t-have-misaligned-items-chromium-mobile/error-context.md
new file mode 100644
index 0000000..236df2d
--- /dev/null
+++ b/test-results/e2e-css-styling-Advanced-S-995bd-don-t-have-misaligned-items-chromium-mobile/error-context.md
@@ -0,0 +1,49 @@
+# Page snapshot
+
+```yaml
+- dialog "Unhandled Runtime Error" [ref=e3]:
+ - generic [ref=e4]:
+ - generic [ref=e5]:
+ - generic [ref=e6]:
+ - navigation [ref=e7]:
+ - button "previous" [disabled] [ref=e8]:
+ - img "previous" [ref=e9]
+ - button "next" [ref=e11] [cursor=pointer]:
+ - img "next" [ref=e12]
+ - generic [ref=e14]: 1 of 2 errors
+ - generic [ref=e15]:
+ - text: Next.js (15.1.3) is outdated
+ - link "(learn more)" [ref=e17] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/messages/version-staleness
+ - button "Close" [ref=e18] [cursor=pointer]:
+ - img [ref=e20]
+ - generic [ref=e23]:
+ - heading "Unhandled Runtime Error" [level=1] [ref=e24]
+ - generic [ref=e25]:
+ - button "Copy error stack" [ref=e26] [cursor=pointer]:
+ - img [ref=e27]
+ - link "Learn more about enabling Node.js inspector for server code with Chrome DevTools" [ref=e30] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/app/building-your-application/configuring/debugging#server-side-code
+ - img [ref=e31]
+ - paragraph [ref=e34]: "ReferenceError: Cannot access 'dynamic' before initialization"
+ - generic [ref=e35]:
+ - heading "Source" [level=2] [ref=e36]
+ - generic [ref=e37]:
+ - link "src/app/page.tsx (8:29) @ dynamic" [ref=e39] [cursor=pointer]:
+ - generic [ref=e40]: src/app/page.tsx (8:29) @ dynamic
+ - img [ref=e41]
+ - generic [ref=e45]: "6 | 7 | // Dynamically import SnippetManagerRedux to avoid SSR issues with Pyodide > 8 | const SnippetManagerRedux = dynamic( | ^ 9 | () => import('@/components/SnippetManagerRedux').then(mod => ({ default: mod.SnippetManagerRedux })), 10 | { ssr: false } 11 | );"
+ - generic [ref=e46]:
+ - heading "./src/app/page.tsx" [level=3] [ref=e47]
+ - generic [ref=e49]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/app/page.js (127:1)
+ - generic [ref=e50]:
+ - heading "options.factory" [level=3] [ref=e51]
+ - generic [ref=e53]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (712:31)
+ - generic [ref=e54]:
+ - heading "__webpack_require__" [level=3] [ref=e55]
+ - generic [ref=e57]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (37:33)
+ - generic [ref=e58]:
+ - heading "fn" [level=3] [ref=e59]
+ - generic [ref=e61]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (369:21)
+ - button "Show ignored frames" [ref=e62] [cursor=pointer]
+```
\ No newline at end of file
diff --git a/test-results/e2e-css-styling-Advanced-S-995bd-don-t-have-misaligned-items-chromium-mobile/test-failed-1.png b/test-results/e2e-css-styling-Advanced-S-995bd-don-t-have-misaligned-items-chromium-mobile/test-failed-1.png
new file mode 100644
index 0000000..4690d2d
Binary files /dev/null and b/test-results/e2e-css-styling-Advanced-S-995bd-don-t-have-misaligned-items-chromium-mobile/test-failed-1.png differ
diff --git a/test-results/e2e-css-styling-Advanced-S-995bd-don-t-have-misaligned-items-chromium-mobile/video.webm b/test-results/e2e-css-styling-Advanced-S-995bd-don-t-have-misaligned-items-chromium-mobile/video.webm
new file mode 100644
index 0000000..a924cf1
Binary files /dev/null and b/test-results/e2e-css-styling-Advanced-S-995bd-don-t-have-misaligned-items-chromium-mobile/video.webm differ
diff --git a/test-results/e2e-functionality-Function-35807-emains-sticky-during-scroll-chromium-desktop/error-context.md b/test-results/e2e-functionality-Function-35807-emains-sticky-during-scroll-chromium-desktop/error-context.md
new file mode 100644
index 0000000..236df2d
--- /dev/null
+++ b/test-results/e2e-functionality-Function-35807-emains-sticky-during-scroll-chromium-desktop/error-context.md
@@ -0,0 +1,49 @@
+# Page snapshot
+
+```yaml
+- dialog "Unhandled Runtime Error" [ref=e3]:
+ - generic [ref=e4]:
+ - generic [ref=e5]:
+ - generic [ref=e6]:
+ - navigation [ref=e7]:
+ - button "previous" [disabled] [ref=e8]:
+ - img "previous" [ref=e9]
+ - button "next" [ref=e11] [cursor=pointer]:
+ - img "next" [ref=e12]
+ - generic [ref=e14]: 1 of 2 errors
+ - generic [ref=e15]:
+ - text: Next.js (15.1.3) is outdated
+ - link "(learn more)" [ref=e17] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/messages/version-staleness
+ - button "Close" [ref=e18] [cursor=pointer]:
+ - img [ref=e20]
+ - generic [ref=e23]:
+ - heading "Unhandled Runtime Error" [level=1] [ref=e24]
+ - generic [ref=e25]:
+ - button "Copy error stack" [ref=e26] [cursor=pointer]:
+ - img [ref=e27]
+ - link "Learn more about enabling Node.js inspector for server code with Chrome DevTools" [ref=e30] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/app/building-your-application/configuring/debugging#server-side-code
+ - img [ref=e31]
+ - paragraph [ref=e34]: "ReferenceError: Cannot access 'dynamic' before initialization"
+ - generic [ref=e35]:
+ - heading "Source" [level=2] [ref=e36]
+ - generic [ref=e37]:
+ - link "src/app/page.tsx (8:29) @ dynamic" [ref=e39] [cursor=pointer]:
+ - generic [ref=e40]: src/app/page.tsx (8:29) @ dynamic
+ - img [ref=e41]
+ - generic [ref=e45]: "6 | 7 | // Dynamically import SnippetManagerRedux to avoid SSR issues with Pyodide > 8 | const SnippetManagerRedux = dynamic( | ^ 9 | () => import('@/components/SnippetManagerRedux').then(mod => ({ default: mod.SnippetManagerRedux })), 10 | { ssr: false } 11 | );"
+ - generic [ref=e46]:
+ - heading "./src/app/page.tsx" [level=3] [ref=e47]
+ - generic [ref=e49]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/app/page.js (127:1)
+ - generic [ref=e50]:
+ - heading "options.factory" [level=3] [ref=e51]
+ - generic [ref=e53]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (712:31)
+ - generic [ref=e54]:
+ - heading "__webpack_require__" [level=3] [ref=e55]
+ - generic [ref=e57]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (37:33)
+ - generic [ref=e58]:
+ - heading "fn" [level=3] [ref=e59]
+ - generic [ref=e61]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (369:21)
+ - button "Show ignored frames" [ref=e62] [cursor=pointer]
+```
\ No newline at end of file
diff --git a/test-results/.playwright-artifacts-6/971f84fb35d85545c5cf653396efb317.png b/test-results/e2e-functionality-Function-35807-emains-sticky-during-scroll-chromium-desktop/test-failed-1.png
similarity index 100%
rename from test-results/.playwright-artifacts-6/971f84fb35d85545c5cf653396efb317.png
rename to test-results/e2e-functionality-Function-35807-emains-sticky-during-scroll-chromium-desktop/test-failed-1.png
diff --git a/test-results/e2e-functionality-Function-35807-emains-sticky-during-scroll-chromium-desktop/video.webm b/test-results/e2e-functionality-Function-35807-emains-sticky-during-scroll-chromium-desktop/video.webm
new file mode 100644
index 0000000..116ce75
Binary files /dev/null and b/test-results/e2e-functionality-Function-35807-emains-sticky-during-scroll-chromium-desktop/video.webm differ
diff --git a/test-results/e2e-functionality-Function-35807-emains-sticky-during-scroll-chromium-mobile/error-context.md b/test-results/e2e-functionality-Function-35807-emains-sticky-during-scroll-chromium-mobile/error-context.md
new file mode 100644
index 0000000..236df2d
--- /dev/null
+++ b/test-results/e2e-functionality-Function-35807-emains-sticky-during-scroll-chromium-mobile/error-context.md
@@ -0,0 +1,49 @@
+# Page snapshot
+
+```yaml
+- dialog "Unhandled Runtime Error" [ref=e3]:
+ - generic [ref=e4]:
+ - generic [ref=e5]:
+ - generic [ref=e6]:
+ - navigation [ref=e7]:
+ - button "previous" [disabled] [ref=e8]:
+ - img "previous" [ref=e9]
+ - button "next" [ref=e11] [cursor=pointer]:
+ - img "next" [ref=e12]
+ - generic [ref=e14]: 1 of 2 errors
+ - generic [ref=e15]:
+ - text: Next.js (15.1.3) is outdated
+ - link "(learn more)" [ref=e17] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/messages/version-staleness
+ - button "Close" [ref=e18] [cursor=pointer]:
+ - img [ref=e20]
+ - generic [ref=e23]:
+ - heading "Unhandled Runtime Error" [level=1] [ref=e24]
+ - generic [ref=e25]:
+ - button "Copy error stack" [ref=e26] [cursor=pointer]:
+ - img [ref=e27]
+ - link "Learn more about enabling Node.js inspector for server code with Chrome DevTools" [ref=e30] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/app/building-your-application/configuring/debugging#server-side-code
+ - img [ref=e31]
+ - paragraph [ref=e34]: "ReferenceError: Cannot access 'dynamic' before initialization"
+ - generic [ref=e35]:
+ - heading "Source" [level=2] [ref=e36]
+ - generic [ref=e37]:
+ - link "src/app/page.tsx (8:29) @ dynamic" [ref=e39] [cursor=pointer]:
+ - generic [ref=e40]: src/app/page.tsx (8:29) @ dynamic
+ - img [ref=e41]
+ - generic [ref=e45]: "6 | 7 | // Dynamically import SnippetManagerRedux to avoid SSR issues with Pyodide > 8 | const SnippetManagerRedux = dynamic( | ^ 9 | () => import('@/components/SnippetManagerRedux').then(mod => ({ default: mod.SnippetManagerRedux })), 10 | { ssr: false } 11 | );"
+ - generic [ref=e46]:
+ - heading "./src/app/page.tsx" [level=3] [ref=e47]
+ - generic [ref=e49]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/app/page.js (127:1)
+ - generic [ref=e50]:
+ - heading "options.factory" [level=3] [ref=e51]
+ - generic [ref=e53]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (712:31)
+ - generic [ref=e54]:
+ - heading "__webpack_require__" [level=3] [ref=e55]
+ - generic [ref=e57]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (37:33)
+ - generic [ref=e58]:
+ - heading "fn" [level=3] [ref=e59]
+ - generic [ref=e61]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (369:21)
+ - button "Show ignored frames" [ref=e62] [cursor=pointer]
+```
\ No newline at end of file
diff --git a/test-results/e2e-functionality-Function-35807-emains-sticky-during-scroll-chromium-mobile/test-failed-1.png b/test-results/e2e-functionality-Function-35807-emains-sticky-during-scroll-chromium-mobile/test-failed-1.png
new file mode 100644
index 0000000..edc1d68
Binary files /dev/null and b/test-results/e2e-functionality-Function-35807-emains-sticky-during-scroll-chromium-mobile/test-failed-1.png differ
diff --git a/test-results/e2e-functionality-Function-35807-emains-sticky-during-scroll-chromium-mobile/video.webm b/test-results/e2e-functionality-Function-35807-emains-sticky-during-scroll-chromium-mobile/video.webm
new file mode 100644
index 0000000..4b42069
Binary files /dev/null and b/test-results/e2e-functionality-Function-35807-emains-sticky-during-scroll-chromium-mobile/video.webm differ
diff --git a/test-results/e2e-functionality-Function-6d341--main-routes-without-errors-chromium-desktop/error-context.md b/test-results/e2e-functionality-Function-6d341--main-routes-without-errors-chromium-desktop/error-context.md
new file mode 100644
index 0000000..4c477c2
--- /dev/null
+++ b/test-results/e2e-functionality-Function-6d341--main-routes-without-errors-chromium-desktop/error-context.md
@@ -0,0 +1,191 @@
+# Page snapshot
+
+```yaml
+- generic [active] [ref=e1]:
+ - generic [ref=e3]:
+ - banner [ref=e4]:
+ - generic [ref=e6]:
+ - generic [ref=e7]:
+ - button "Toggle navigation menu" [ref=e8]:
+ - img [ref=e9]
+ - img [ref=e12]
+ - text: CodeSnippet
+ - generic [ref=e15]:
+ - img [ref=e16]
+ - generic [ref=e18]: Local
+ - main [ref=e19]:
+ - generic [ref=e21]:
+ - alert [ref=e22]:
+ - img [ref=e23]
+ - heading "Workspace ready" [level=5] [ref=e25]
+ - generic [ref=e26]: Running in local-first mode so you can work offline without a backend.
+ - alert [ref=e27]:
+ - img [ref=e28]
+ - heading "Cloud backend unavailable" [level=5] [ref=e30]
+ - generic [ref=e31]: No Flask backend detected. Saving and loading will stay on this device until a server URL is configured.
+ - generic [ref=e32]:
+ - generic [ref=e33]:
+ - heading "Settings" [level=2] [ref=e34]
+ - paragraph [ref=e35]: Manage your database and application settings
+ - generic [ref=e36]:
+ - generic [ref=e37]:
+ - generic [ref=e38]:
+ - generic [ref=e39]:
+ - img [ref=e40]
+ - heading "OpenAI API Settings" [level=3] [ref=e43]
+ - paragraph [ref=e44]: Configure your OpenAI API key for AI-powered error analysis. Your key is stored locally in your browser.
+ - generic [ref=e45]:
+ - generic [ref=e46]:
+ - text: OpenAI API Key
+ - generic [ref=e48]:
+ - textbox "OpenAI API key" [ref=e49]:
+ - /placeholder: sk-...
+ - button "Show API key" [ref=e50]:
+ - img [ref=e51]
+ - paragraph [ref=e53]:
+ - text: Get your API key from
+ - link "OpenAI Platform" [ref=e54] [cursor=pointer]:
+ - /url: https://platform.openai.com/api-keys
+ - button "Save API Key" [disabled] [ref=e56]
+ - generic [ref=e57]:
+ - generic [ref=e59]:
+ - img [ref=e61]
+ - generic [ref=e64]:
+ - heading "Redux Persistence" [level=3] [ref=e65]
+ - paragraph [ref=e66]: Automatic database synchronization for Redux state
+ - generic [ref=e67]:
+ - generic [ref=e68]:
+ - generic [ref=e69]:
+ - text: Auto-Save Enabled
+ - paragraph [ref=e70]: Automatically sync Redux state changes to database
+ - switch "Auto-Save Enabled" [checked] [ref=e72]:
+ - switch "Auto-Save Enabled" [checked] [ref=e73]
+ - generic [ref=e74]:
+ - generic [ref=e75]:
+ - generic [ref=e76]:
+ - text: Debug Logging
+ - img [ref=e77]
+ - paragraph [ref=e79]: Log persistence operations to console
+ - switch "Debug Logging" [checked] [ref=e81]:
+ - switch "Debug Logging" [checked] [ref=e82]
+ - generic [ref=e83]:
+ - generic [ref=e84]:
+ - generic [ref=e85]:
+ - text: Save Delay
+ - img [ref=e86]
+ - generic [ref=e88]: 100ms
+ - generic [ref=e89]:
+ - slider "Save Delay" [ref=e91]: "100"
+ - paragraph [ref=e92]: Delay between rapid actions and database save (0-1000ms)
+ - generic [ref=e93]:
+ - generic [ref=e94]:
+ - generic [ref=e95]: Monitored Actions
+ - generic [ref=e96]: "6"
+ - generic [ref=e97]:
+ - generic [ref=e98]: fulfilled
+ - generic [ref=e99]: fulfilled
+ - generic [ref=e100]: fulfilled
+ - generic [ref=e101]: fulfilled
+ - generic [ref=e102]: fulfilled
+ - generic [ref=e103]: fulfilled
+ - generic [ref=e104]:
+ - generic [ref=e105]: Retry Settings
+ - generic [ref=e106]:
+ - generic [ref=e107]:
+ - generic [ref=e108]: Retry on Failure
+ - generic [ref=e109]: "Yes"
+ - generic [ref=e110]:
+ - generic [ref=e111]: Max Retries
+ - generic [ref=e112]: "3"
+ - generic [ref=e113]:
+ - generic [ref=e114]: Retry Delay
+ - generic [ref=e115]: 1000ms
+ - generic [ref=e117]:
+ - heading "Schema Healthy" [level=3] [ref=e118]:
+ - img [ref=e119]
+ - text: Schema Healthy
+ - paragraph [ref=e121]: Your database schema is up to date and functioning correctly
+ - generic [ref=e122]:
+ - generic [ref=e123]:
+ - heading "Storage Backend" [level=3] [ref=e124]:
+ - img [ref=e125]
+ - text: Storage Backend
+ - paragraph [ref=e128]: Choose where your snippets are stored
+ - generic [ref=e129]:
+ - radiogroup [ref=e130]:
+ - generic [ref=e131]:
+ - radio "IndexedDB (Local Browser Storage)" [checked] [ref=e134]
+ - generic [ref=e135]:
+ - text: IndexedDB (Local Browser Storage)
+ - paragraph [ref=e136]: Store snippets locally in your browser. Data persists on this device only.
+ - generic [ref=e137]:
+ - radio "Flask Backend (Remote Server)" [ref=e140]
+ - generic [ref=e141]:
+ - text: Flask Backend (Remote Server)
+ - paragraph [ref=e142]: Store snippets on a Flask backend server. Data is accessible from any device.
+ - button "Save Storage Settings" [ref=e144] [cursor=pointer]:
+ - img [ref=e145]
+ - text: Save Storage Settings
+ - generic [ref=e147]:
+ - generic [ref=e148]:
+ - heading "Database Statistics" [level=3] [ref=e149]:
+ - img [ref=e150]
+ - text: Database Statistics
+ - paragraph [ref=e153]: Information about your local database storage
+ - generic [ref=e155]:
+ - generic [ref=e156]:
+ - generic [ref=e157]: Snippets
+ - generic [ref=e158]: "0"
+ - generic [ref=e159]:
+ - generic [ref=e160]: Templates
+ - generic [ref=e161]: "0"
+ - generic [ref=e162]:
+ - generic [ref=e163]: Storage Type
+ - generic [ref=e164]: indexeddb
+ - generic [ref=e165]:
+ - generic [ref=e166]: Database Size
+ - generic [ref=e167]: 0 Bytes
+ - generic [ref=e168]:
+ - generic [ref=e169]:
+ - heading "Storage Information" [level=3] [ref=e170]
+ - paragraph [ref=e171]: How your data is stored
+ - alert [ref=e173]:
+ - generic [ref=e174]:
+ - strong [ref=e175]: IndexedDB
+ - text: is being used for storage. This provides better performance and larger storage capacity compared to localStorage. Your data persists locally in your browser.
+ - generic [ref=e176]:
+ - generic [ref=e177]:
+ - heading "Database Actions" [level=3] [ref=e178]
+ - paragraph [ref=e179]: Backup, restore, or reset your database
+ - generic [ref=e180]:
+ - generic [ref=e181]:
+ - heading "Export Database" [level=3] [ref=e182]
+ - paragraph [ref=e183]: Download your database as a file for backup or transfer to another device
+ - button "Export Database" [ref=e184] [cursor=pointer]:
+ - img [ref=e185]
+ - text: Export Database
+ - generic [ref=e187]:
+ - heading "Import Database" [level=3] [ref=e188]
+ - paragraph [ref=e189]: Restore a previously exported database file
+ - generic [ref=e192] [cursor=pointer]:
+ - img [ref=e193]
+ - text: Import Database
+ - generic [ref=e195]:
+ - heading "Sample Data" [level=3] [ref=e196]
+ - paragraph [ref=e197]: Add sample code snippets to get started (only if database is empty)
+ - button "Add Sample Data" [ref=e198] [cursor=pointer]:
+ - img [ref=e199]
+ - text: Add Sample Data
+ - generic [ref=e201]:
+ - heading "Clear All Data" [level=3] [ref=e202]
+ - paragraph [ref=e203]: Permanently delete all snippets and templates. This cannot be undone.
+ - button "Clear Database" [ref=e204] [cursor=pointer]:
+ - img [ref=e205]
+ - text: Clear Database
+ - contentinfo [ref=e207]:
+ - generic [ref=e209]:
+ - paragraph [ref=e210]: Save, organize, and share your code snippets with beautiful syntax highlighting and live execution
+ - paragraph [ref=e211]: Supports React preview and Python execution via Pyodide
+ - region "Notifications alt+T"
+ - alert [ref=e212]
+```
\ No newline at end of file
diff --git a/test-results/e2e-functionality-Function-6d341--main-routes-without-errors-chromium-desktop/test-failed-1.png b/test-results/e2e-functionality-Function-6d341--main-routes-without-errors-chromium-desktop/test-failed-1.png
new file mode 100644
index 0000000..b851944
Binary files /dev/null and b/test-results/e2e-functionality-Function-6d341--main-routes-without-errors-chromium-desktop/test-failed-1.png differ
diff --git a/test-results/e2e-functionality-Function-6d341--main-routes-without-errors-chromium-desktop/video.webm b/test-results/e2e-functionality-Function-6d341--main-routes-without-errors-chromium-desktop/video.webm
new file mode 100644
index 0000000..d7ee125
Binary files /dev/null and b/test-results/e2e-functionality-Function-6d341--main-routes-without-errors-chromium-desktop/video.webm differ
diff --git a/test-results/e2e-functionality-Function-6d341--main-routes-without-errors-chromium-mobile/error-context.md b/test-results/e2e-functionality-Function-6d341--main-routes-without-errors-chromium-mobile/error-context.md
new file mode 100644
index 0000000..76ef3b8
--- /dev/null
+++ b/test-results/e2e-functionality-Function-6d341--main-routes-without-errors-chromium-mobile/error-context.md
@@ -0,0 +1,252 @@
+# Page snapshot
+
+```yaml
+- generic [active] [ref=e1]:
+ - generic [ref=e3]:
+ - banner [ref=e4]:
+ - generic [ref=e6]:
+ - generic [ref=e7]:
+ - button "Toggle navigation menu" [ref=e8]:
+ - img [ref=e9]
+ - img [ref=e12]
+ - text: CodeSnippet
+ - generic [ref=e15]:
+ - img [ref=e16]
+ - generic [ref=e18]: Local
+ - main [ref=e19]:
+ - generic [ref=e21]:
+ - alert [ref=e22]:
+ - img [ref=e23]
+ - heading "Workspace ready" [level=5] [ref=e25]
+ - generic [ref=e26]: Running in local-first mode so you can work offline without a backend.
+ - alert [ref=e27]:
+ - img [ref=e28]
+ - heading "Cloud backend unavailable" [level=5] [ref=e30]
+ - generic [ref=e31]: No Flask backend detected. Saving and loading will stay on this device until a server URL is configured.
+ - generic [ref=e32]:
+ - generic [ref=e33]:
+ - heading "Templates" [level=2] [ref=e34]
+ - paragraph [ref=e35]: Page-level layouts that combine organisms into complete interfaces
+ - generic [ref=e36]:
+ - generic [ref=e37]:
+ - generic [ref=e38]:
+ - heading "Dashboard Layout" [level=2] [ref=e39]
+ - paragraph [ref=e40]: Complete dashboard with sidebar, stats, and content areas
+ - generic [ref=e41]:
+ - button "Save as Snippet" [ref=e43] [cursor=pointer]:
+ - img [ref=e44]
+ - text: Save as Snippet
+ - generic [ref=e46]:
+ - generic [ref=e48]:
+ - heading "Dashboard" [level=3] [ref=e50]
+ - generic [ref=e51]:
+ - button [ref=e52] [cursor=pointer]:
+ - img [ref=e53]
+ - button [ref=e55] [cursor=pointer]:
+ - img [ref=e56]
+ - generic [ref=e58]:
+ - img [ref=e59]
+ - generic [ref=e60]: U
+ - main [ref=e62]:
+ - generic [ref=e63]:
+ - generic [ref=e64]:
+ - generic [ref=e65]:
+ - heading "Overview" [level=1] [ref=e66]
+ - paragraph [ref=e67]: Welcome back, here's what's happening
+ - button "New Project" [ref=e68] [cursor=pointer]:
+ - img [ref=e69]
+ - text: New Project
+ - generic [ref=e71]:
+ - generic [ref=e74]:
+ - paragraph [ref=e75]: Total Revenue
+ - paragraph [ref=e76]: $45,231
+ - paragraph [ref=e77]:
+ - img [ref=e78]
+ - text: +20.1% from last month
+ - generic [ref=e82]:
+ - paragraph [ref=e83]: Active Users
+ - paragraph [ref=e84]: 2,350
+ - paragraph [ref=e85]:
+ - img [ref=e86]
+ - text: +12.5% from last month
+ - generic [ref=e90]:
+ - paragraph [ref=e91]: Total Orders
+ - paragraph [ref=e92]: 1,234
+ - paragraph [ref=e93]:
+ - img [ref=e94]
+ - text: +8.2% from last month
+ - generic [ref=e96]:
+ - generic [ref=e97]:
+ - heading "Recent Activity" [level=3] [ref=e99]
+ - generic [ref=e100]:
+ - generic [ref=e101]:
+ - generic [ref=e102]:
+ - img [ref=e103]
+ - generic [ref=e104]: U
+ - generic [ref=e105]:
+ - paragraph [ref=e106]:
+ - generic [ref=e107]: User 1
+ - text: completed a task
+ - paragraph [ref=e108]: 2 hours ago
+ - generic [ref=e109]:
+ - generic [ref=e110]:
+ - img [ref=e111]
+ - generic [ref=e112]: U
+ - generic [ref=e113]:
+ - paragraph [ref=e114]:
+ - generic [ref=e115]: User 2
+ - text: completed a task
+ - paragraph [ref=e116]: 2 hours ago
+ - generic [ref=e117]:
+ - generic [ref=e118]:
+ - img [ref=e119]
+ - generic [ref=e120]: U
+ - generic [ref=e121]:
+ - paragraph [ref=e122]:
+ - generic [ref=e123]: User 3
+ - text: completed a task
+ - paragraph [ref=e124]: 2 hours ago
+ - generic [ref=e125]:
+ - heading "Quick Actions" [level=3] [ref=e127]
+ - generic [ref=e128]:
+ - button "Create New Project" [ref=e129] [cursor=pointer]:
+ - img [ref=e130]
+ - text: Create New Project
+ - button "Invite Team Members" [ref=e132] [cursor=pointer]:
+ - img [ref=e133]
+ - text: Invite Team Members
+ - button "Browse Templates" [ref=e135] [cursor=pointer]:
+ - img [ref=e136]
+ - text: Browse Templates
+ - generic [ref=e138]:
+ - generic [ref=e139]:
+ - heading "Landing Page" [level=2] [ref=e140]
+ - paragraph [ref=e141]: Marketing page with hero, features, and CTA sections
+ - generic [ref=e142]:
+ - button "Save as Snippet" [ref=e144] [cursor=pointer]:
+ - img [ref=e145]
+ - text: Save as Snippet
+ - generic [ref=e147]:
+ - generic [ref=e149]:
+ - heading "ProductName" [level=3] [ref=e152]
+ - generic [ref=e153]:
+ - button "Features" [ref=e154] [cursor=pointer]
+ - button "Pricing" [ref=e155] [cursor=pointer]
+ - button "About" [ref=e156] [cursor=pointer]
+ - button "Sign Up" [ref=e157] [cursor=pointer]
+ - generic [ref=e158]:
+ - generic [ref=e159]: New Release
+ - heading "Build Amazing Products Faster" [level=1] [ref=e160]
+ - paragraph [ref=e161]: The complete toolkit for modern product development. Ship faster with our component library and design system.
+ - generic [ref=e162]:
+ - button "Get Started" [ref=e163] [cursor=pointer]:
+ - text: Get Started
+ - img [ref=e164]
+ - button "View Demo" [ref=e166] [cursor=pointer]
+ - generic [ref=e167]:
+ - generic [ref=e168]:
+ - heading "Features" [level=2] [ref=e169]
+ - paragraph [ref=e170]: Everything you need to build production-ready applications
+ - generic [ref=e171]:
+ - generic [ref=e172]:
+ - img [ref=e174]
+ - heading "Analytics" [level=3] [ref=e176]
+ - paragraph [ref=e177]: Track and analyze your product metrics in real-time
+ - generic [ref=e178]:
+ - img [ref=e180]
+ - heading "Collaboration" [level=3] [ref=e182]
+ - paragraph [ref=e183]: Work together with your team seamlessly
+ - generic [ref=e184]:
+ - img [ref=e186]
+ - heading "Customizable" [level=3] [ref=e188]
+ - paragraph [ref=e189]: Adapt the platform to your specific needs
+ - generic [ref=e190]:
+ - heading "Ready to get started?" [level=2] [ref=e191]
+ - paragraph [ref=e192]: Join thousands of teams already building with our platform
+ - button "Start Free Trial" [ref=e193] [cursor=pointer]:
+ - text: Start Free Trial
+ - img [ref=e194]
+ - generic [ref=e196]:
+ - generic [ref=e197]:
+ - heading "E-commerce Product Page" [level=2] [ref=e198]
+ - paragraph [ref=e199]: Product detail page with images, info, and purchase options
+ - generic [ref=e200]:
+ - button "Save as Snippet" [ref=e202] [cursor=pointer]:
+ - img [ref=e203]
+ - text: Save as Snippet
+ - generic [ref=e205]:
+ - generic [ref=e207]:
+ - heading "Store" [level=3] [ref=e209]
+ - generic [ref=e210]:
+ - button [ref=e211] [cursor=pointer]:
+ - img [ref=e212]
+ - generic [ref=e215]: U
+ - generic [ref=e225]:
+ - generic [ref=e226]:
+ - generic [ref=e227]: New Arrival
+ - heading "Premium Product Name" [level=1] [ref=e228]
+ - generic [ref=e229]:
+ - generic [ref=e230]: $299.00
+ - generic [ref=e231]: $399.00
+ - generic [ref=e232]:
+ - heading "Description" [level=3] [ref=e233]
+ - paragraph [ref=e234]: Experience premium quality with this exceptional product. Crafted with attention to detail and designed for those who demand excellence.
+ - generic [ref=e235]:
+ - heading "Features" [level=3] [ref=e236]
+ - list [ref=e237]:
+ - listitem [ref=e238]: • Premium materials and construction
+ - listitem [ref=e239]: • Industry-leading performance
+ - listitem [ref=e240]: • 2-year warranty included
+ - listitem [ref=e241]: • Free shipping on orders over $50
+ - generic [ref=e242]:
+ - button "Add to Cart" [ref=e243] [cursor=pointer]:
+ - img [ref=e244]
+ - text: Add to Cart
+ - button "Add to Wishlist" [ref=e246] [cursor=pointer]
+ - generic [ref=e247]:
+ - generic [ref=e248]:
+ - heading "Blog Article" [level=2] [ref=e249]
+ - paragraph [ref=e250]: Article layout with header, content, and sidebar
+ - generic [ref=e251]:
+ - button "Save as Snippet" [ref=e253] [cursor=pointer]:
+ - img [ref=e254]
+ - text: Save as Snippet
+ - generic [ref=e256]:
+ - generic [ref=e258]:
+ - heading "Blog" [level=3] [ref=e259]
+ - generic [ref=e260]:
+ - button "Articles" [ref=e261] [cursor=pointer]
+ - button "Tutorials" [ref=e262] [cursor=pointer]
+ - button "About" [ref=e263] [cursor=pointer]
+ - generic [ref=e265]:
+ - generic [ref=e266]:
+ - generic [ref=e267]:
+ - generic [ref=e268]: Design
+ - generic [ref=e269]: Tutorial
+ - heading "Building a Comprehensive Component Library" [level=1] [ref=e270]
+ - generic [ref=e271]:
+ - generic [ref=e272]:
+ - img [ref=e273]
+ - generic [ref=e274]: AW
+ - generic [ref=e275]:
+ - paragraph [ref=e276]: Alex Writer
+ - paragraph [ref=e277]: March 15, 2024 · 10 min read
+ - generic [ref=e278]:
+ - paragraph [ref=e280]: Design systems have become an essential part of modern product development. They provide consistency, improve efficiency, and create a shared language between designers and developers.
+ - heading "Understanding Atomic Design" [level=2] [ref=e281]
+ - paragraph [ref=e282]: "The atomic design methodology consists of five distinct stages: atoms, molecules, organisms, templates, and pages. Each stage builds upon the previous, creating a comprehensive system that scales with your needs."
+ - paragraph [ref=e284]: "\"A design system is never complete. It's a living, breathing ecosystem that evolves with your product and team.\""
+ - heading "Getting Started" [level=2] [ref=e285]
+ - paragraph [ref=e286]: Begin by identifying the core components your product needs. Start small with basic atoms like buttons and inputs, then gradually build up to more complex organisms and templates.
+ - generic [ref=e287]:
+ - button "Previous Article" [ref=e288] [cursor=pointer]
+ - button "Next Article" [ref=e289] [cursor=pointer]:
+ - text: Next Article
+ - img [ref=e290]
+ - contentinfo [ref=e292]:
+ - generic [ref=e294]:
+ - paragraph [ref=e295]: Save, organize, and share your code snippets with beautiful syntax highlighting and live execution
+ - paragraph [ref=e296]: Supports React preview and Python execution via Pyodide
+ - region "Notifications alt+T"
+ - alert [ref=e297]
+```
\ No newline at end of file
diff --git a/test-results/e2e-functionality-Function-6d341--main-routes-without-errors-chromium-mobile/test-failed-1.png b/test-results/e2e-functionality-Function-6d341--main-routes-without-errors-chromium-mobile/test-failed-1.png
new file mode 100644
index 0000000..a7d4293
Binary files /dev/null and b/test-results/e2e-functionality-Function-6d341--main-routes-without-errors-chromium-mobile/test-failed-1.png differ
diff --git a/test-results/e2e-functionality-Function-6d341--main-routes-without-errors-chromium-mobile/video.webm b/test-results/e2e-functionality-Function-6d341--main-routes-without-errors-chromium-mobile/video.webm
new file mode 100644
index 0000000..e72d86e
Binary files /dev/null and b/test-results/e2e-functionality-Function-6d341--main-routes-without-errors-chromium-mobile/video.webm differ
diff --git a/test-results/.playwright-artifacts-5/20fbd8c98f08bd9c1b48821f9531c89b.png b/test-results/e2e-functionality-Function-a4271-s-missing-images-gracefully-chromium-desktop/test-failed-1.png
similarity index 100%
rename from test-results/.playwright-artifacts-5/20fbd8c98f08bd9c1b48821f9531c89b.png
rename to test-results/e2e-functionality-Function-a4271-s-missing-images-gracefully-chromium-desktop/test-failed-1.png
diff --git a/test-results/e2e-functionality-Function-a4271-s-missing-images-gracefully-chromium-desktop/video.webm b/test-results/e2e-functionality-Function-a4271-s-missing-images-gracefully-chromium-desktop/video.webm
new file mode 100644
index 0000000..9547aba
Binary files /dev/null and b/test-results/e2e-functionality-Function-a4271-s-missing-images-gracefully-chromium-desktop/video.webm differ
diff --git a/test-results/e2e-functionality-Function-a4271-s-missing-images-gracefully-chromium-mobile/error-context.md b/test-results/e2e-functionality-Function-a4271-s-missing-images-gracefully-chromium-mobile/error-context.md
new file mode 100644
index 0000000..236df2d
--- /dev/null
+++ b/test-results/e2e-functionality-Function-a4271-s-missing-images-gracefully-chromium-mobile/error-context.md
@@ -0,0 +1,49 @@
+# Page snapshot
+
+```yaml
+- dialog "Unhandled Runtime Error" [ref=e3]:
+ - generic [ref=e4]:
+ - generic [ref=e5]:
+ - generic [ref=e6]:
+ - navigation [ref=e7]:
+ - button "previous" [disabled] [ref=e8]:
+ - img "previous" [ref=e9]
+ - button "next" [ref=e11] [cursor=pointer]:
+ - img "next" [ref=e12]
+ - generic [ref=e14]: 1 of 2 errors
+ - generic [ref=e15]:
+ - text: Next.js (15.1.3) is outdated
+ - link "(learn more)" [ref=e17] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/messages/version-staleness
+ - button "Close" [ref=e18] [cursor=pointer]:
+ - img [ref=e20]
+ - generic [ref=e23]:
+ - heading "Unhandled Runtime Error" [level=1] [ref=e24]
+ - generic [ref=e25]:
+ - button "Copy error stack" [ref=e26] [cursor=pointer]:
+ - img [ref=e27]
+ - link "Learn more about enabling Node.js inspector for server code with Chrome DevTools" [ref=e30] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/app/building-your-application/configuring/debugging#server-side-code
+ - img [ref=e31]
+ - paragraph [ref=e34]: "ReferenceError: Cannot access 'dynamic' before initialization"
+ - generic [ref=e35]:
+ - heading "Source" [level=2] [ref=e36]
+ - generic [ref=e37]:
+ - link "src/app/page.tsx (8:29) @ dynamic" [ref=e39] [cursor=pointer]:
+ - generic [ref=e40]: src/app/page.tsx (8:29) @ dynamic
+ - img [ref=e41]
+ - generic [ref=e45]: "6 | 7 | // Dynamically import SnippetManagerRedux to avoid SSR issues with Pyodide > 8 | const SnippetManagerRedux = dynamic( | ^ 9 | () => import('@/components/SnippetManagerRedux').then(mod => ({ default: mod.SnippetManagerRedux })), 10 | { ssr: false } 11 | );"
+ - generic [ref=e46]:
+ - heading "./src/app/page.tsx" [level=3] [ref=e47]
+ - generic [ref=e49]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/app/page.js (127:1)
+ - generic [ref=e50]:
+ - heading "options.factory" [level=3] [ref=e51]
+ - generic [ref=e53]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (712:31)
+ - generic [ref=e54]:
+ - heading "__webpack_require__" [level=3] [ref=e55]
+ - generic [ref=e57]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (37:33)
+ - generic [ref=e58]:
+ - heading "fn" [level=3] [ref=e59]
+ - generic [ref=e61]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (369:21)
+ - button "Show ignored frames" [ref=e62] [cursor=pointer]
+```
\ No newline at end of file
diff --git a/test-results/e2e-functionality-Function-a4271-s-missing-images-gracefully-chromium-mobile/test-failed-1.png b/test-results/e2e-functionality-Function-a4271-s-missing-images-gracefully-chromium-mobile/test-failed-1.png
new file mode 100644
index 0000000..edc1d68
Binary files /dev/null and b/test-results/e2e-functionality-Function-a4271-s-missing-images-gracefully-chromium-mobile/test-failed-1.png differ
diff --git a/test-results/e2e-functionality-Function-a4271-s-missing-images-gracefully-chromium-mobile/video.webm b/test-results/e2e-functionality-Function-a4271-s-missing-images-gracefully-chromium-mobile/video.webm
new file mode 100644
index 0000000..9274c31
Binary files /dev/null and b/test-results/e2e-functionality-Function-a4271-s-missing-images-gracefully-chromium-mobile/video.webm differ
diff --git a/test-results/e2e-home-home-page-renders-51aff-ions-without-console-errors-chromium-desktop/error-context.md b/test-results/e2e-home-home-page-renders-51aff-ions-without-console-errors-chromium-desktop/error-context.md
new file mode 100644
index 0000000..236df2d
--- /dev/null
+++ b/test-results/e2e-home-home-page-renders-51aff-ions-without-console-errors-chromium-desktop/error-context.md
@@ -0,0 +1,49 @@
+# Page snapshot
+
+```yaml
+- dialog "Unhandled Runtime Error" [ref=e3]:
+ - generic [ref=e4]:
+ - generic [ref=e5]:
+ - generic [ref=e6]:
+ - navigation [ref=e7]:
+ - button "previous" [disabled] [ref=e8]:
+ - img "previous" [ref=e9]
+ - button "next" [ref=e11] [cursor=pointer]:
+ - img "next" [ref=e12]
+ - generic [ref=e14]: 1 of 2 errors
+ - generic [ref=e15]:
+ - text: Next.js (15.1.3) is outdated
+ - link "(learn more)" [ref=e17] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/messages/version-staleness
+ - button "Close" [ref=e18] [cursor=pointer]:
+ - img [ref=e20]
+ - generic [ref=e23]:
+ - heading "Unhandled Runtime Error" [level=1] [ref=e24]
+ - generic [ref=e25]:
+ - button "Copy error stack" [ref=e26] [cursor=pointer]:
+ - img [ref=e27]
+ - link "Learn more about enabling Node.js inspector for server code with Chrome DevTools" [ref=e30] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/app/building-your-application/configuring/debugging#server-side-code
+ - img [ref=e31]
+ - paragraph [ref=e34]: "ReferenceError: Cannot access 'dynamic' before initialization"
+ - generic [ref=e35]:
+ - heading "Source" [level=2] [ref=e36]
+ - generic [ref=e37]:
+ - link "src/app/page.tsx (8:29) @ dynamic" [ref=e39] [cursor=pointer]:
+ - generic [ref=e40]: src/app/page.tsx (8:29) @ dynamic
+ - img [ref=e41]
+ - generic [ref=e45]: "6 | 7 | // Dynamically import SnippetManagerRedux to avoid SSR issues with Pyodide > 8 | const SnippetManagerRedux = dynamic( | ^ 9 | () => import('@/components/SnippetManagerRedux').then(mod => ({ default: mod.SnippetManagerRedux })), 10 | { ssr: false } 11 | );"
+ - generic [ref=e46]:
+ - heading "./src/app/page.tsx" [level=3] [ref=e47]
+ - generic [ref=e49]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/app/page.js (127:1)
+ - generic [ref=e50]:
+ - heading "options.factory" [level=3] [ref=e51]
+ - generic [ref=e53]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (712:31)
+ - generic [ref=e54]:
+ - heading "__webpack_require__" [level=3] [ref=e55]
+ - generic [ref=e57]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (37:33)
+ - generic [ref=e58]:
+ - heading "fn" [level=3] [ref=e59]
+ - generic [ref=e61]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (369:21)
+ - button "Show ignored frames" [ref=e62] [cursor=pointer]
+```
\ No newline at end of file
diff --git a/test-results/e2e-home-home-page-renders-51aff-ions-without-console-errors-chromium-desktop/test-failed-1.png b/test-results/e2e-home-home-page-renders-51aff-ions-without-console-errors-chromium-desktop/test-failed-1.png
new file mode 100644
index 0000000..b7cf863
Binary files /dev/null and b/test-results/e2e-home-home-page-renders-51aff-ions-without-console-errors-chromium-desktop/test-failed-1.png differ
diff --git a/test-results/e2e-home-home-page-renders-51aff-ions-without-console-errors-chromium-desktop/video.webm b/test-results/e2e-home-home-page-renders-51aff-ions-without-console-errors-chromium-desktop/video.webm
new file mode 100644
index 0000000..b228bdf
Binary files /dev/null and b/test-results/e2e-home-home-page-renders-51aff-ions-without-console-errors-chromium-desktop/video.webm differ
diff --git a/test-results/e2e-home-home-page-renders-51aff-ions-without-console-errors-chromium-mobile/error-context.md b/test-results/e2e-home-home-page-renders-51aff-ions-without-console-errors-chromium-mobile/error-context.md
new file mode 100644
index 0000000..236df2d
--- /dev/null
+++ b/test-results/e2e-home-home-page-renders-51aff-ions-without-console-errors-chromium-mobile/error-context.md
@@ -0,0 +1,49 @@
+# Page snapshot
+
+```yaml
+- dialog "Unhandled Runtime Error" [ref=e3]:
+ - generic [ref=e4]:
+ - generic [ref=e5]:
+ - generic [ref=e6]:
+ - navigation [ref=e7]:
+ - button "previous" [disabled] [ref=e8]:
+ - img "previous" [ref=e9]
+ - button "next" [ref=e11] [cursor=pointer]:
+ - img "next" [ref=e12]
+ - generic [ref=e14]: 1 of 2 errors
+ - generic [ref=e15]:
+ - text: Next.js (15.1.3) is outdated
+ - link "(learn more)" [ref=e17] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/messages/version-staleness
+ - button "Close" [ref=e18] [cursor=pointer]:
+ - img [ref=e20]
+ - generic [ref=e23]:
+ - heading "Unhandled Runtime Error" [level=1] [ref=e24]
+ - generic [ref=e25]:
+ - button "Copy error stack" [ref=e26] [cursor=pointer]:
+ - img [ref=e27]
+ - link "Learn more about enabling Node.js inspector for server code with Chrome DevTools" [ref=e30] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/app/building-your-application/configuring/debugging#server-side-code
+ - img [ref=e31]
+ - paragraph [ref=e34]: "ReferenceError: Cannot access 'dynamic' before initialization"
+ - generic [ref=e35]:
+ - heading "Source" [level=2] [ref=e36]
+ - generic [ref=e37]:
+ - link "src/app/page.tsx (8:29) @ dynamic" [ref=e39] [cursor=pointer]:
+ - generic [ref=e40]: src/app/page.tsx (8:29) @ dynamic
+ - img [ref=e41]
+ - generic [ref=e45]: "6 | 7 | // Dynamically import SnippetManagerRedux to avoid SSR issues with Pyodide > 8 | const SnippetManagerRedux = dynamic( | ^ 9 | () => import('@/components/SnippetManagerRedux').then(mod => ({ default: mod.SnippetManagerRedux })), 10 | { ssr: false } 11 | );"
+ - generic [ref=e46]:
+ - heading "./src/app/page.tsx" [level=3] [ref=e47]
+ - generic [ref=e49]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/app/page.js (127:1)
+ - generic [ref=e50]:
+ - heading "options.factory" [level=3] [ref=e51]
+ - generic [ref=e53]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (712:31)
+ - generic [ref=e54]:
+ - heading "__webpack_require__" [level=3] [ref=e55]
+ - generic [ref=e57]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (37:33)
+ - generic [ref=e58]:
+ - heading "fn" [level=3] [ref=e59]
+ - generic [ref=e61]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (369:21)
+ - button "Show ignored frames" [ref=e62] [cursor=pointer]
+```
\ No newline at end of file
diff --git a/test-results/e2e-home-home-page-renders-51aff-ions-without-console-errors-chromium-mobile/test-failed-1.png b/test-results/e2e-home-home-page-renders-51aff-ions-without-console-errors-chromium-mobile/test-failed-1.png
new file mode 100644
index 0000000..edc1d68
Binary files /dev/null and b/test-results/e2e-home-home-page-renders-51aff-ions-without-console-errors-chromium-mobile/test-failed-1.png differ
diff --git a/test-results/e2e-home-home-page-renders-51aff-ions-without-console-errors-chromium-mobile/video.webm b/test-results/e2e-home-home-page-renders-51aff-ions-without-console-errors-chromium-mobile/video.webm
new file mode 100644
index 0000000..b14cdd8
Binary files /dev/null and b/test-results/e2e-home-home-page-renders-51aff-ions-without-console-errors-chromium-mobile/video.webm differ
diff --git a/test-results/e2e-home-home-page-stays-w-0b7cf-ile-no-horizontal-overflow--chromium-mobile/error-context.md b/test-results/e2e-home-home-page-stays-w-0b7cf-ile-no-horizontal-overflow--chromium-mobile/error-context.md
new file mode 100644
index 0000000..236df2d
--- /dev/null
+++ b/test-results/e2e-home-home-page-stays-w-0b7cf-ile-no-horizontal-overflow--chromium-mobile/error-context.md
@@ -0,0 +1,49 @@
+# Page snapshot
+
+```yaml
+- dialog "Unhandled Runtime Error" [ref=e3]:
+ - generic [ref=e4]:
+ - generic [ref=e5]:
+ - generic [ref=e6]:
+ - navigation [ref=e7]:
+ - button "previous" [disabled] [ref=e8]:
+ - img "previous" [ref=e9]
+ - button "next" [ref=e11] [cursor=pointer]:
+ - img "next" [ref=e12]
+ - generic [ref=e14]: 1 of 2 errors
+ - generic [ref=e15]:
+ - text: Next.js (15.1.3) is outdated
+ - link "(learn more)" [ref=e17] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/messages/version-staleness
+ - button "Close" [ref=e18] [cursor=pointer]:
+ - img [ref=e20]
+ - generic [ref=e23]:
+ - heading "Unhandled Runtime Error" [level=1] [ref=e24]
+ - generic [ref=e25]:
+ - button "Copy error stack" [ref=e26] [cursor=pointer]:
+ - img [ref=e27]
+ - link "Learn more about enabling Node.js inspector for server code with Chrome DevTools" [ref=e30] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/app/building-your-application/configuring/debugging#server-side-code
+ - img [ref=e31]
+ - paragraph [ref=e34]: "ReferenceError: Cannot access 'dynamic' before initialization"
+ - generic [ref=e35]:
+ - heading "Source" [level=2] [ref=e36]
+ - generic [ref=e37]:
+ - link "src/app/page.tsx (8:29) @ dynamic" [ref=e39] [cursor=pointer]:
+ - generic [ref=e40]: src/app/page.tsx (8:29) @ dynamic
+ - img [ref=e41]
+ - generic [ref=e45]: "6 | 7 | // Dynamically import SnippetManagerRedux to avoid SSR issues with Pyodide > 8 | const SnippetManagerRedux = dynamic( | ^ 9 | () => import('@/components/SnippetManagerRedux').then(mod => ({ default: mod.SnippetManagerRedux })), 10 | { ssr: false } 11 | );"
+ - generic [ref=e46]:
+ - heading "./src/app/page.tsx" [level=3] [ref=e47]
+ - generic [ref=e49]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/app/page.js (127:1)
+ - generic [ref=e50]:
+ - heading "options.factory" [level=3] [ref=e51]
+ - generic [ref=e53]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (712:31)
+ - generic [ref=e54]:
+ - heading "__webpack_require__" [level=3] [ref=e55]
+ - generic [ref=e57]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (37:33)
+ - generic [ref=e58]:
+ - heading "fn" [level=3] [ref=e59]
+ - generic [ref=e61]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (369:21)
+ - button "Show ignored frames" [ref=e62] [cursor=pointer]
+```
\ No newline at end of file
diff --git a/test-results/e2e-home-home-page-stays-w-0b7cf-ile-no-horizontal-overflow--chromium-mobile/test-failed-1.png b/test-results/e2e-home-home-page-stays-w-0b7cf-ile-no-horizontal-overflow--chromium-mobile/test-failed-1.png
new file mode 100644
index 0000000..edc1d68
Binary files /dev/null and b/test-results/e2e-home-home-page-stays-w-0b7cf-ile-no-horizontal-overflow--chromium-mobile/test-failed-1.png differ
diff --git a/test-results/e2e-home-home-page-stays-w-0b7cf-ile-no-horizontal-overflow--chromium-mobile/video.webm b/test-results/e2e-home-home-page-stays-w-0b7cf-ile-no-horizontal-overflow--chromium-mobile/video.webm
new file mode 100644
index 0000000..50330ad
Binary files /dev/null and b/test-results/e2e-home-home-page-stays-w-0b7cf-ile-no-horizontal-overflow--chromium-mobile/video.webm differ
diff --git a/test-results/e2e-mobile-responsive-Mobi-354ac-cause-unintended-navigation-chromium-mobile/error-context.md b/test-results/e2e-mobile-responsive-Mobi-354ac-cause-unintended-navigation-chromium-mobile/error-context.md
new file mode 100644
index 0000000..d99859e
--- /dev/null
+++ b/test-results/e2e-mobile-responsive-Mobi-354ac-cause-unintended-navigation-chromium-mobile/error-context.md
@@ -0,0 +1,210 @@
+# Page snapshot
+
+```yaml
+- generic [active] [ref=e1]:
+ - generic [ref=e3]:
+ - banner [ref=e4]:
+ - generic [ref=e6]:
+ - generic [ref=e7]:
+ - button "Toggle navigation menu" [ref=e8]:
+ - img [ref=e9]
+ - img [ref=e12]
+ - text: CodeSnippet
+ - generic [ref=e15]:
+ - img [ref=e16]
+ - generic [ref=e18]: Local
+ - main [ref=e19]:
+ - generic [ref=e21]:
+ - alert [ref=e22]:
+ - img [ref=e23]
+ - heading "Workspace ready" [level=5] [ref=e25]
+ - generic [ref=e26]: Running in local-first mode so you can work offline without a backend.
+ - alert [ref=e27]:
+ - img [ref=e28]
+ - heading "Cloud backend unavailable" [level=5] [ref=e30]
+ - generic [ref=e31]: No Flask backend detected. Saving and loading will stay on this device until a server URL is configured.
+ - generic [ref=e32]:
+ - generic [ref=e33]:
+ - heading "Atoms" [level=2] [ref=e34]
+ - paragraph [ref=e35]: Fundamental building blocks - basic HTML elements styled as reusable components
+ - generic [ref=e36]:
+ - generic [ref=e37]:
+ - generic [ref=e38]:
+ - heading "Buttons" [level=2] [ref=e39]
+ - paragraph [ref=e40]: Interactive controls with multiple variants and states
+ - generic [ref=e41]:
+ - button "Save as Snippet" [ref=e43] [cursor=pointer]:
+ - img [ref=e44]
+ - text: Save as Snippet
+ - generic [ref=e47]:
+ - generic [ref=e48]:
+ - heading "Variants" [level=3] [ref=e49]
+ - generic [ref=e50]:
+ - button "Default" [ref=e51] [cursor=pointer]
+ - button "Secondary" [ref=e52] [cursor=pointer]
+ - button "Destructive" [ref=e53] [cursor=pointer]
+ - button "Outline" [ref=e54] [cursor=pointer]
+ - button "Ghost" [ref=e55] [cursor=pointer]
+ - button "Link" [ref=e56] [cursor=pointer]
+ - generic [ref=e57]:
+ - heading "Sizes" [level=3] [ref=e58]
+ - generic [ref=e59]:
+ - button "Small" [ref=e60] [cursor=pointer]
+ - button "Default" [ref=e61] [cursor=pointer]
+ - button "Large" [ref=e62] [cursor=pointer]
+ - button [ref=e63] [cursor=pointer]:
+ - img [ref=e64]
+ - generic [ref=e66]:
+ - heading "With Icons" [level=3] [ref=e67]
+ - generic [ref=e68]:
+ - button "Favorite" [ref=e69] [cursor=pointer]:
+ - img [ref=e70]
+ - text: Favorite
+ - button "Add Item" [ref=e72] [cursor=pointer]:
+ - img [ref=e73]
+ - text: Add Item
+ - button "Quick Action" [ref=e75] [cursor=pointer]:
+ - img [ref=e76]
+ - text: Quick Action
+ - generic [ref=e78]:
+ - heading "States" [level=3] [ref=e79]
+ - generic [ref=e80]:
+ - button "Disabled" [disabled] [ref=e81]
+ - button "Disabled Outline" [disabled] [ref=e82]
+ - generic [ref=e83]:
+ - generic [ref=e84]:
+ - heading "Badges" [level=2] [ref=e85]
+ - paragraph [ref=e86]: Small status indicators and labels
+ - generic [ref=e87]:
+ - button "Save as Snippet" [ref=e89] [cursor=pointer]:
+ - img [ref=e90]
+ - text: Save as Snippet
+ - generic [ref=e93]:
+ - generic [ref=e94]:
+ - heading "Variants" [level=3] [ref=e95]
+ - generic [ref=e96]:
+ - generic [ref=e97]: Default
+ - generic [ref=e98]: Secondary
+ - generic [ref=e99]: Destructive
+ - generic [ref=e100]: Outline
+ - generic [ref=e101]:
+ - heading "With Icons" [level=3] [ref=e102]
+ - generic [ref=e103]:
+ - generic [ref=e104]:
+ - img [ref=e105]
+ - text: Completed
+ - generic [ref=e107]:
+ - img [ref=e108]
+ - text: Failed
+ - generic [ref=e110]:
+ - img [ref=e111]
+ - text: Featured
+ - generic [ref=e113]:
+ - generic [ref=e114]:
+ - heading "Inputs" [level=2] [ref=e115]
+ - paragraph [ref=e116]: Form input fields for user data entry
+ - generic [ref=e117]:
+ - button "Save as Snippet" [ref=e119] [cursor=pointer]:
+ - img [ref=e120]
+ - text: Save as Snippet
+ - generic [ref=e123]:
+ - generic [ref=e124]:
+ - heading "States" [level=3] [ref=e125]
+ - generic [ref=e126]:
+ - textbox "Default input" [ref=e127]
+ - textbox "Disabled input" [disabled] [ref=e128]
+ - generic [ref=e129]:
+ - img [ref=e130]
+ - textbox "Search..." [ref=e132]
+ - generic [ref=e133]:
+ - heading "Types" [level=3] [ref=e134]
+ - generic [ref=e135]:
+ - textbox "Text input" [ref=e136]
+ - textbox "email@example.com" [ref=e137]
+ - textbox "Password" [ref=e138]
+ - spinbutton [ref=e139]
+ - generic [ref=e140]:
+ - generic [ref=e141]:
+ - heading "Typography" [level=2] [ref=e142]
+ - paragraph [ref=e143]: Text styles and hierarchical type scale
+ - generic [ref=e145]:
+ - generic [ref=e146]:
+ - heading "Heading 1" [level=1] [ref=e147]
+ - paragraph [ref=e148]: Bricolage Grotesque Bold / 48px
+ - generic [ref=e149]:
+ - heading "Heading 2" [level=2] [ref=e150]
+ - paragraph [ref=e151]: Bricolage Grotesque Semibold / 36px
+ - generic [ref=e152]:
+ - heading "Heading 3" [level=3] [ref=e153]
+ - paragraph [ref=e154]: Bricolage Grotesque Semibold / 30px
+ - generic [ref=e155]:
+ - heading "Heading 4" [level=4] [ref=e156]
+ - paragraph [ref=e157]: Bricolage Grotesque Medium / 24px
+ - generic [ref=e158]:
+ - paragraph [ref=e159]: Body text - The quick brown fox jumps over the lazy dog. This is regular body text used for paragraphs and general content.
+ - paragraph [ref=e160]: Inter Regular / 16px
+ - generic [ref=e161]:
+ - paragraph [ref=e162]: Small text - Additional information, captions, and secondary content.
+ - paragraph [ref=e163]: Inter Regular / 14px
+ - generic [ref=e164]:
+ - code [ref=e165]: const example = "code text";
+ - paragraph [ref=e166]: JetBrains Mono Regular / 14px
+ - generic [ref=e167]:
+ - generic [ref=e168]:
+ - heading "Icons" [level=2] [ref=e169]
+ - paragraph [ref=e170]: Phosphor icon set with multiple weights
+ - generic [ref=e172]:
+ - generic [ref=e173]:
+ - img [ref=e174]
+ - generic [ref=e176]: Heart
+ - generic [ref=e177]:
+ - img [ref=e178]
+ - generic [ref=e180]: Star
+ - generic [ref=e181]:
+ - img [ref=e182]
+ - generic [ref=e184]: Lightning
+ - generic [ref=e185]:
+ - img [ref=e186]
+ - generic [ref=e188]: Check
+ - generic [ref=e189]:
+ - img [ref=e190]
+ - generic [ref=e192]: X
+ - generic [ref=e193]:
+ - img [ref=e194]
+ - generic [ref=e196]: Plus
+ - generic [ref=e197]:
+ - img [ref=e198]
+ - generic [ref=e200]: Minus
+ - generic [ref=e201]:
+ - img [ref=e202]
+ - generic [ref=e204]: Search
+ - generic [ref=e205]:
+ - generic [ref=e206]:
+ - heading "Colors" [level=2] [ref=e207]
+ - paragraph [ref=e208]: Semantic color palette with accessibility in mind
+ - generic [ref=e210]:
+ - generic [ref=e212]:
+ - paragraph [ref=e213]: Primary
+ - code [ref=e214]: oklch(0.50 0.18 310)
+ - generic [ref=e216]:
+ - paragraph [ref=e217]: Secondary
+ - code [ref=e218]: oklch(0.30 0.08 310)
+ - generic [ref=e220]:
+ - paragraph [ref=e221]: Accent
+ - code [ref=e222]: oklch(0.72 0.20 25)
+ - generic [ref=e224]:
+ - paragraph [ref=e225]: Destructive
+ - code [ref=e226]: oklch(0.577 0.245 27.325)
+ - generic [ref=e228]:
+ - paragraph [ref=e229]: Muted
+ - code [ref=e230]: oklch(0.25 0.06 310)
+ - generic [ref=e233]:
+ - paragraph [ref=e234]: Card
+ - code [ref=e235]: oklch(0.20 0.12 310)
+ - contentinfo [ref=e236]:
+ - generic [ref=e238]:
+ - paragraph [ref=e239]: Save, organize, and share your code snippets with beautiful syntax highlighting and live execution
+ - paragraph [ref=e240]: Supports React preview and Python execution via Pyodide
+ - region "Notifications alt+T"
+ - alert [ref=e241]
+```
\ No newline at end of file
diff --git a/test-results/e2e-mobile-responsive-Mobi-354ac-cause-unintended-navigation-chromium-mobile/test-failed-1.png b/test-results/e2e-mobile-responsive-Mobi-354ac-cause-unintended-navigation-chromium-mobile/test-failed-1.png
new file mode 100644
index 0000000..e376011
Binary files /dev/null and b/test-results/e2e-mobile-responsive-Mobi-354ac-cause-unintended-navigation-chromium-mobile/test-failed-1.png differ
diff --git a/test-results/e2e-mobile-responsive-Mobi-354ac-cause-unintended-navigation-chromium-mobile/video.webm b/test-results/e2e-mobile-responsive-Mobi-354ac-cause-unintended-navigation-chromium-mobile/video.webm
new file mode 100644
index 0000000..fdab250
Binary files /dev/null and b/test-results/e2e-mobile-responsive-Mobi-354ac-cause-unintended-navigation-chromium-mobile/video.webm differ
diff --git a/test-results/e2e-mobile-responsive-Mobi-47e69-touch-targets-don-t-overlap-chromium-mobile/error-context.md b/test-results/e2e-mobile-responsive-Mobi-47e69-touch-targets-don-t-overlap-chromium-mobile/error-context.md
new file mode 100644
index 0000000..236df2d
--- /dev/null
+++ b/test-results/e2e-mobile-responsive-Mobi-47e69-touch-targets-don-t-overlap-chromium-mobile/error-context.md
@@ -0,0 +1,49 @@
+# Page snapshot
+
+```yaml
+- dialog "Unhandled Runtime Error" [ref=e3]:
+ - generic [ref=e4]:
+ - generic [ref=e5]:
+ - generic [ref=e6]:
+ - navigation [ref=e7]:
+ - button "previous" [disabled] [ref=e8]:
+ - img "previous" [ref=e9]
+ - button "next" [ref=e11] [cursor=pointer]:
+ - img "next" [ref=e12]
+ - generic [ref=e14]: 1 of 2 errors
+ - generic [ref=e15]:
+ - text: Next.js (15.1.3) is outdated
+ - link "(learn more)" [ref=e17] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/messages/version-staleness
+ - button "Close" [ref=e18] [cursor=pointer]:
+ - img [ref=e20]
+ - generic [ref=e23]:
+ - heading "Unhandled Runtime Error" [level=1] [ref=e24]
+ - generic [ref=e25]:
+ - button "Copy error stack" [ref=e26] [cursor=pointer]:
+ - img [ref=e27]
+ - link "Learn more about enabling Node.js inspector for server code with Chrome DevTools" [ref=e30] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/app/building-your-application/configuring/debugging#server-side-code
+ - img [ref=e31]
+ - paragraph [ref=e34]: "ReferenceError: Cannot access 'dynamic' before initialization"
+ - generic [ref=e35]:
+ - heading "Source" [level=2] [ref=e36]
+ - generic [ref=e37]:
+ - link "src/app/page.tsx (8:29) @ dynamic" [ref=e39] [cursor=pointer]:
+ - generic [ref=e40]: src/app/page.tsx (8:29) @ dynamic
+ - img [ref=e41]
+ - generic [ref=e45]: "6 | 7 | // Dynamically import SnippetManagerRedux to avoid SSR issues with Pyodide > 8 | const SnippetManagerRedux = dynamic( | ^ 9 | () => import('@/components/SnippetManagerRedux').then(mod => ({ default: mod.SnippetManagerRedux })), 10 | { ssr: false } 11 | );"
+ - generic [ref=e46]:
+ - heading "./src/app/page.tsx" [level=3] [ref=e47]
+ - generic [ref=e49]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/app/page.js (127:1)
+ - generic [ref=e50]:
+ - heading "options.factory" [level=3] [ref=e51]
+ - generic [ref=e53]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (712:31)
+ - generic [ref=e54]:
+ - heading "__webpack_require__" [level=3] [ref=e55]
+ - generic [ref=e57]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (37:33)
+ - generic [ref=e58]:
+ - heading "fn" [level=3] [ref=e59]
+ - generic [ref=e61]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (369:21)
+ - button "Show ignored frames" [ref=e62] [cursor=pointer]
+```
\ No newline at end of file
diff --git a/test-results/e2e-mobile-responsive-Mobi-47e69-touch-targets-don-t-overlap-chromium-mobile/test-failed-1.png b/test-results/e2e-mobile-responsive-Mobi-47e69-touch-targets-don-t-overlap-chromium-mobile/test-failed-1.png
new file mode 100644
index 0000000..edc1d68
Binary files /dev/null and b/test-results/e2e-mobile-responsive-Mobi-47e69-touch-targets-don-t-overlap-chromium-mobile/test-failed-1.png differ
diff --git a/test-results/e2e-mobile-responsive-Mobi-47e69-touch-targets-don-t-overlap-chromium-mobile/video.webm b/test-results/e2e-mobile-responsive-Mobi-47e69-touch-targets-don-t-overlap-chromium-mobile/video.webm
new file mode 100644
index 0000000..e78de33
Binary files /dev/null and b/test-results/e2e-mobile-responsive-Mobi-47e69-touch-targets-don-t-overlap-chromium-mobile/video.webm differ
diff --git a/test-results/e2e-mobile-responsive-Mobi-4f81a-lumn-layout-works-on-tablet-chromium-desktop/error-context.md b/test-results/e2e-mobile-responsive-Mobi-4f81a-lumn-layout-works-on-tablet-chromium-desktop/error-context.md
new file mode 100644
index 0000000..236df2d
--- /dev/null
+++ b/test-results/e2e-mobile-responsive-Mobi-4f81a-lumn-layout-works-on-tablet-chromium-desktop/error-context.md
@@ -0,0 +1,49 @@
+# Page snapshot
+
+```yaml
+- dialog "Unhandled Runtime Error" [ref=e3]:
+ - generic [ref=e4]:
+ - generic [ref=e5]:
+ - generic [ref=e6]:
+ - navigation [ref=e7]:
+ - button "previous" [disabled] [ref=e8]:
+ - img "previous" [ref=e9]
+ - button "next" [ref=e11] [cursor=pointer]:
+ - img "next" [ref=e12]
+ - generic [ref=e14]: 1 of 2 errors
+ - generic [ref=e15]:
+ - text: Next.js (15.1.3) is outdated
+ - link "(learn more)" [ref=e17] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/messages/version-staleness
+ - button "Close" [ref=e18] [cursor=pointer]:
+ - img [ref=e20]
+ - generic [ref=e23]:
+ - heading "Unhandled Runtime Error" [level=1] [ref=e24]
+ - generic [ref=e25]:
+ - button "Copy error stack" [ref=e26] [cursor=pointer]:
+ - img [ref=e27]
+ - link "Learn more about enabling Node.js inspector for server code with Chrome DevTools" [ref=e30] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/app/building-your-application/configuring/debugging#server-side-code
+ - img [ref=e31]
+ - paragraph [ref=e34]: "ReferenceError: Cannot access 'dynamic' before initialization"
+ - generic [ref=e35]:
+ - heading "Source" [level=2] [ref=e36]
+ - generic [ref=e37]:
+ - link "src/app/page.tsx (8:29) @ dynamic" [ref=e39] [cursor=pointer]:
+ - generic [ref=e40]: src/app/page.tsx (8:29) @ dynamic
+ - img [ref=e41]
+ - generic [ref=e45]: "6 | 7 | // Dynamically import SnippetManagerRedux to avoid SSR issues with Pyodide > 8 | const SnippetManagerRedux = dynamic( | ^ 9 | () => import('@/components/SnippetManagerRedux').then(mod => ({ default: mod.SnippetManagerRedux })), 10 | { ssr: false } 11 | );"
+ - generic [ref=e46]:
+ - heading "./src/app/page.tsx" [level=3] [ref=e47]
+ - generic [ref=e49]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/app/page.js (127:1)
+ - generic [ref=e50]:
+ - heading "options.factory" [level=3] [ref=e51]
+ - generic [ref=e53]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (712:31)
+ - generic [ref=e54]:
+ - heading "__webpack_require__" [level=3] [ref=e55]
+ - generic [ref=e57]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (37:33)
+ - generic [ref=e58]:
+ - heading "fn" [level=3] [ref=e59]
+ - generic [ref=e61]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (369:21)
+ - button "Show ignored frames" [ref=e62] [cursor=pointer]
+```
\ No newline at end of file
diff --git a/test-results/e2e-mobile-responsive-Mobi-4f81a-lumn-layout-works-on-tablet-chromium-desktop/test-failed-1.png b/test-results/e2e-mobile-responsive-Mobi-4f81a-lumn-layout-works-on-tablet-chromium-desktop/test-failed-1.png
new file mode 100644
index 0000000..9c3f246
Binary files /dev/null and b/test-results/e2e-mobile-responsive-Mobi-4f81a-lumn-layout-works-on-tablet-chromium-desktop/test-failed-1.png differ
diff --git a/test-results/e2e-mobile-responsive-Mobi-4f81a-lumn-layout-works-on-tablet-chromium-mobile/error-context.md b/test-results/e2e-mobile-responsive-Mobi-4f81a-lumn-layout-works-on-tablet-chromium-mobile/error-context.md
new file mode 100644
index 0000000..236df2d
--- /dev/null
+++ b/test-results/e2e-mobile-responsive-Mobi-4f81a-lumn-layout-works-on-tablet-chromium-mobile/error-context.md
@@ -0,0 +1,49 @@
+# Page snapshot
+
+```yaml
+- dialog "Unhandled Runtime Error" [ref=e3]:
+ - generic [ref=e4]:
+ - generic [ref=e5]:
+ - generic [ref=e6]:
+ - navigation [ref=e7]:
+ - button "previous" [disabled] [ref=e8]:
+ - img "previous" [ref=e9]
+ - button "next" [ref=e11] [cursor=pointer]:
+ - img "next" [ref=e12]
+ - generic [ref=e14]: 1 of 2 errors
+ - generic [ref=e15]:
+ - text: Next.js (15.1.3) is outdated
+ - link "(learn more)" [ref=e17] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/messages/version-staleness
+ - button "Close" [ref=e18] [cursor=pointer]:
+ - img [ref=e20]
+ - generic [ref=e23]:
+ - heading "Unhandled Runtime Error" [level=1] [ref=e24]
+ - generic [ref=e25]:
+ - button "Copy error stack" [ref=e26] [cursor=pointer]:
+ - img [ref=e27]
+ - link "Learn more about enabling Node.js inspector for server code with Chrome DevTools" [ref=e30] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/app/building-your-application/configuring/debugging#server-side-code
+ - img [ref=e31]
+ - paragraph [ref=e34]: "ReferenceError: Cannot access 'dynamic' before initialization"
+ - generic [ref=e35]:
+ - heading "Source" [level=2] [ref=e36]
+ - generic [ref=e37]:
+ - link "src/app/page.tsx (8:29) @ dynamic" [ref=e39] [cursor=pointer]:
+ - generic [ref=e40]: src/app/page.tsx (8:29) @ dynamic
+ - img [ref=e41]
+ - generic [ref=e45]: "6 | 7 | // Dynamically import SnippetManagerRedux to avoid SSR issues with Pyodide > 8 | const SnippetManagerRedux = dynamic( | ^ 9 | () => import('@/components/SnippetManagerRedux').then(mod => ({ default: mod.SnippetManagerRedux })), 10 | { ssr: false } 11 | );"
+ - generic [ref=e46]:
+ - heading "./src/app/page.tsx" [level=3] [ref=e47]
+ - generic [ref=e49]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/app/page.js (127:1)
+ - generic [ref=e50]:
+ - heading "options.factory" [level=3] [ref=e51]
+ - generic [ref=e53]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (712:31)
+ - generic [ref=e54]:
+ - heading "__webpack_require__" [level=3] [ref=e55]
+ - generic [ref=e57]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (37:33)
+ - generic [ref=e58]:
+ - heading "fn" [level=3] [ref=e59]
+ - generic [ref=e61]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (369:21)
+ - button "Show ignored frames" [ref=e62] [cursor=pointer]
+```
\ No newline at end of file
diff --git a/test-results/e2e-mobile-responsive-Mobi-4f81a-lumn-layout-works-on-tablet-chromium-mobile/test-failed-1.png b/test-results/e2e-mobile-responsive-Mobi-4f81a-lumn-layout-works-on-tablet-chromium-mobile/test-failed-1.png
new file mode 100644
index 0000000..88bc6c5
Binary files /dev/null and b/test-results/e2e-mobile-responsive-Mobi-4f81a-lumn-layout-works-on-tablet-chromium-mobile/test-failed-1.png differ
diff --git a/test-results/e2e-mobile-responsive-Mobi-adbe1-area-is-respected-on-mobile-chromium-desktop/error-context.md b/test-results/e2e-mobile-responsive-Mobi-adbe1-area-is-respected-on-mobile-chromium-desktop/error-context.md
new file mode 100644
index 0000000..236df2d
--- /dev/null
+++ b/test-results/e2e-mobile-responsive-Mobi-adbe1-area-is-respected-on-mobile-chromium-desktop/error-context.md
@@ -0,0 +1,49 @@
+# Page snapshot
+
+```yaml
+- dialog "Unhandled Runtime Error" [ref=e3]:
+ - generic [ref=e4]:
+ - generic [ref=e5]:
+ - generic [ref=e6]:
+ - navigation [ref=e7]:
+ - button "previous" [disabled] [ref=e8]:
+ - img "previous" [ref=e9]
+ - button "next" [ref=e11] [cursor=pointer]:
+ - img "next" [ref=e12]
+ - generic [ref=e14]: 1 of 2 errors
+ - generic [ref=e15]:
+ - text: Next.js (15.1.3) is outdated
+ - link "(learn more)" [ref=e17] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/messages/version-staleness
+ - button "Close" [ref=e18] [cursor=pointer]:
+ - img [ref=e20]
+ - generic [ref=e23]:
+ - heading "Unhandled Runtime Error" [level=1] [ref=e24]
+ - generic [ref=e25]:
+ - button "Copy error stack" [ref=e26] [cursor=pointer]:
+ - img [ref=e27]
+ - link "Learn more about enabling Node.js inspector for server code with Chrome DevTools" [ref=e30] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/app/building-your-application/configuring/debugging#server-side-code
+ - img [ref=e31]
+ - paragraph [ref=e34]: "ReferenceError: Cannot access 'dynamic' before initialization"
+ - generic [ref=e35]:
+ - heading "Source" [level=2] [ref=e36]
+ - generic [ref=e37]:
+ - link "src/app/page.tsx (8:29) @ dynamic" [ref=e39] [cursor=pointer]:
+ - generic [ref=e40]: src/app/page.tsx (8:29) @ dynamic
+ - img [ref=e41]
+ - generic [ref=e45]: "6 | 7 | // Dynamically import SnippetManagerRedux to avoid SSR issues with Pyodide > 8 | const SnippetManagerRedux = dynamic( | ^ 9 | () => import('@/components/SnippetManagerRedux').then(mod => ({ default: mod.SnippetManagerRedux })), 10 | { ssr: false } 11 | );"
+ - generic [ref=e46]:
+ - heading "./src/app/page.tsx" [level=3] [ref=e47]
+ - generic [ref=e49]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/app/page.js (127:1)
+ - generic [ref=e50]:
+ - heading "options.factory" [level=3] [ref=e51]
+ - generic [ref=e53]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (712:31)
+ - generic [ref=e54]:
+ - heading "__webpack_require__" [level=3] [ref=e55]
+ - generic [ref=e57]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (37:33)
+ - generic [ref=e58]:
+ - heading "fn" [level=3] [ref=e59]
+ - generic [ref=e61]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (369:21)
+ - button "Show ignored frames" [ref=e62] [cursor=pointer]
+```
\ No newline at end of file
diff --git a/test-results/e2e-mobile-responsive-Mobi-adbe1-area-is-respected-on-mobile-chromium-desktop/test-failed-1.png b/test-results/e2e-mobile-responsive-Mobi-adbe1-area-is-respected-on-mobile-chromium-desktop/test-failed-1.png
new file mode 100644
index 0000000..54eb264
Binary files /dev/null and b/test-results/e2e-mobile-responsive-Mobi-adbe1-area-is-respected-on-mobile-chromium-desktop/test-failed-1.png differ
diff --git a/test-results/e2e-mobile-responsive-Mobi-adbe1-area-is-respected-on-mobile-chromium-mobile/error-context.md b/test-results/e2e-mobile-responsive-Mobi-adbe1-area-is-respected-on-mobile-chromium-mobile/error-context.md
new file mode 100644
index 0000000..236df2d
--- /dev/null
+++ b/test-results/e2e-mobile-responsive-Mobi-adbe1-area-is-respected-on-mobile-chromium-mobile/error-context.md
@@ -0,0 +1,49 @@
+# Page snapshot
+
+```yaml
+- dialog "Unhandled Runtime Error" [ref=e3]:
+ - generic [ref=e4]:
+ - generic [ref=e5]:
+ - generic [ref=e6]:
+ - navigation [ref=e7]:
+ - button "previous" [disabled] [ref=e8]:
+ - img "previous" [ref=e9]
+ - button "next" [ref=e11] [cursor=pointer]:
+ - img "next" [ref=e12]
+ - generic [ref=e14]: 1 of 2 errors
+ - generic [ref=e15]:
+ - text: Next.js (15.1.3) is outdated
+ - link "(learn more)" [ref=e17] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/messages/version-staleness
+ - button "Close" [ref=e18] [cursor=pointer]:
+ - img [ref=e20]
+ - generic [ref=e23]:
+ - heading "Unhandled Runtime Error" [level=1] [ref=e24]
+ - generic [ref=e25]:
+ - button "Copy error stack" [ref=e26] [cursor=pointer]:
+ - img [ref=e27]
+ - link "Learn more about enabling Node.js inspector for server code with Chrome DevTools" [ref=e30] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/app/building-your-application/configuring/debugging#server-side-code
+ - img [ref=e31]
+ - paragraph [ref=e34]: "ReferenceError: Cannot access 'dynamic' before initialization"
+ - generic [ref=e35]:
+ - heading "Source" [level=2] [ref=e36]
+ - generic [ref=e37]:
+ - link "src/app/page.tsx (8:29) @ dynamic" [ref=e39] [cursor=pointer]:
+ - generic [ref=e40]: src/app/page.tsx (8:29) @ dynamic
+ - img [ref=e41]
+ - generic [ref=e45]: "6 | 7 | // Dynamically import SnippetManagerRedux to avoid SSR issues with Pyodide > 8 | const SnippetManagerRedux = dynamic( | ^ 9 | () => import('@/components/SnippetManagerRedux').then(mod => ({ default: mod.SnippetManagerRedux })), 10 | { ssr: false } 11 | );"
+ - generic [ref=e46]:
+ - heading "./src/app/page.tsx" [level=3] [ref=e47]
+ - generic [ref=e49]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/app/page.js (127:1)
+ - generic [ref=e50]:
+ - heading "options.factory" [level=3] [ref=e51]
+ - generic [ref=e53]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (712:31)
+ - generic [ref=e54]:
+ - heading "__webpack_require__" [level=3] [ref=e55]
+ - generic [ref=e57]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (37:33)
+ - generic [ref=e58]:
+ - heading "fn" [level=3] [ref=e59]
+ - generic [ref=e61]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (369:21)
+ - button "Show ignored frames" [ref=e62] [cursor=pointer]
+```
\ No newline at end of file
diff --git a/test-results/e2e-mobile-responsive-Mobi-adbe1-area-is-respected-on-mobile-chromium-mobile/test-failed-1.png b/test-results/e2e-mobile-responsive-Mobi-adbe1-area-is-respected-on-mobile-chromium-mobile/test-failed-1.png
new file mode 100644
index 0000000..822526e
Binary files /dev/null and b/test-results/e2e-mobile-responsive-Mobi-adbe1-area-is-respected-on-mobile-chromium-mobile/test-failed-1.png differ
diff --git a/test-results/e2e-mobile-responsive-Mobi-b47d3-s-to-short-viewport-heights-chromium-desktop/error-context.md b/test-results/e2e-mobile-responsive-Mobi-b47d3-s-to-short-viewport-heights-chromium-desktop/error-context.md
new file mode 100644
index 0000000..236df2d
--- /dev/null
+++ b/test-results/e2e-mobile-responsive-Mobi-b47d3-s-to-short-viewport-heights-chromium-desktop/error-context.md
@@ -0,0 +1,49 @@
+# Page snapshot
+
+```yaml
+- dialog "Unhandled Runtime Error" [ref=e3]:
+ - generic [ref=e4]:
+ - generic [ref=e5]:
+ - generic [ref=e6]:
+ - navigation [ref=e7]:
+ - button "previous" [disabled] [ref=e8]:
+ - img "previous" [ref=e9]
+ - button "next" [ref=e11] [cursor=pointer]:
+ - img "next" [ref=e12]
+ - generic [ref=e14]: 1 of 2 errors
+ - generic [ref=e15]:
+ - text: Next.js (15.1.3) is outdated
+ - link "(learn more)" [ref=e17] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/messages/version-staleness
+ - button "Close" [ref=e18] [cursor=pointer]:
+ - img [ref=e20]
+ - generic [ref=e23]:
+ - heading "Unhandled Runtime Error" [level=1] [ref=e24]
+ - generic [ref=e25]:
+ - button "Copy error stack" [ref=e26] [cursor=pointer]:
+ - img [ref=e27]
+ - link "Learn more about enabling Node.js inspector for server code with Chrome DevTools" [ref=e30] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/app/building-your-application/configuring/debugging#server-side-code
+ - img [ref=e31]
+ - paragraph [ref=e34]: "ReferenceError: Cannot access 'dynamic' before initialization"
+ - generic [ref=e35]:
+ - heading "Source" [level=2] [ref=e36]
+ - generic [ref=e37]:
+ - link "src/app/page.tsx (8:29) @ dynamic" [ref=e39] [cursor=pointer]:
+ - generic [ref=e40]: src/app/page.tsx (8:29) @ dynamic
+ - img [ref=e41]
+ - generic [ref=e45]: "6 | 7 | // Dynamically import SnippetManagerRedux to avoid SSR issues with Pyodide > 8 | const SnippetManagerRedux = dynamic( | ^ 9 | () => import('@/components/SnippetManagerRedux').then(mod => ({ default: mod.SnippetManagerRedux })), 10 | { ssr: false } 11 | );"
+ - generic [ref=e46]:
+ - heading "./src/app/page.tsx" [level=3] [ref=e47]
+ - generic [ref=e49]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/app/page.js (127:1)
+ - generic [ref=e50]:
+ - heading "options.factory" [level=3] [ref=e51]
+ - generic [ref=e53]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (712:31)
+ - generic [ref=e54]:
+ - heading "__webpack_require__" [level=3] [ref=e55]
+ - generic [ref=e57]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (37:33)
+ - generic [ref=e58]:
+ - heading "fn" [level=3] [ref=e59]
+ - generic [ref=e61]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (369:21)
+ - button "Show ignored frames" [ref=e62] [cursor=pointer]
+```
\ No newline at end of file
diff --git a/test-results/e2e-mobile-responsive-Mobi-b47d3-s-to-short-viewport-heights-chromium-desktop/test-failed-1.png b/test-results/e2e-mobile-responsive-Mobi-b47d3-s-to-short-viewport-heights-chromium-desktop/test-failed-1.png
new file mode 100644
index 0000000..18ad825
Binary files /dev/null and b/test-results/e2e-mobile-responsive-Mobi-b47d3-s-to-short-viewport-heights-chromium-desktop/test-failed-1.png differ
diff --git a/test-results/e2e-mobile-responsive-Mobi-b47d3-s-to-short-viewport-heights-chromium-mobile/error-context.md b/test-results/e2e-mobile-responsive-Mobi-b47d3-s-to-short-viewport-heights-chromium-mobile/error-context.md
new file mode 100644
index 0000000..236df2d
--- /dev/null
+++ b/test-results/e2e-mobile-responsive-Mobi-b47d3-s-to-short-viewport-heights-chromium-mobile/error-context.md
@@ -0,0 +1,49 @@
+# Page snapshot
+
+```yaml
+- dialog "Unhandled Runtime Error" [ref=e3]:
+ - generic [ref=e4]:
+ - generic [ref=e5]:
+ - generic [ref=e6]:
+ - navigation [ref=e7]:
+ - button "previous" [disabled] [ref=e8]:
+ - img "previous" [ref=e9]
+ - button "next" [ref=e11] [cursor=pointer]:
+ - img "next" [ref=e12]
+ - generic [ref=e14]: 1 of 2 errors
+ - generic [ref=e15]:
+ - text: Next.js (15.1.3) is outdated
+ - link "(learn more)" [ref=e17] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/messages/version-staleness
+ - button "Close" [ref=e18] [cursor=pointer]:
+ - img [ref=e20]
+ - generic [ref=e23]:
+ - heading "Unhandled Runtime Error" [level=1] [ref=e24]
+ - generic [ref=e25]:
+ - button "Copy error stack" [ref=e26] [cursor=pointer]:
+ - img [ref=e27]
+ - link "Learn more about enabling Node.js inspector for server code with Chrome DevTools" [ref=e30] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/app/building-your-application/configuring/debugging#server-side-code
+ - img [ref=e31]
+ - paragraph [ref=e34]: "ReferenceError: Cannot access 'dynamic' before initialization"
+ - generic [ref=e35]:
+ - heading "Source" [level=2] [ref=e36]
+ - generic [ref=e37]:
+ - link "src/app/page.tsx (8:29) @ dynamic" [ref=e39] [cursor=pointer]:
+ - generic [ref=e40]: src/app/page.tsx (8:29) @ dynamic
+ - img [ref=e41]
+ - generic [ref=e45]: "6 | 7 | // Dynamically import SnippetManagerRedux to avoid SSR issues with Pyodide > 8 | const SnippetManagerRedux = dynamic( | ^ 9 | () => import('@/components/SnippetManagerRedux').then(mod => ({ default: mod.SnippetManagerRedux })), 10 | { ssr: false } 11 | );"
+ - generic [ref=e46]:
+ - heading "./src/app/page.tsx" [level=3] [ref=e47]
+ - generic [ref=e49]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/app/page.js (127:1)
+ - generic [ref=e50]:
+ - heading "options.factory" [level=3] [ref=e51]
+ - generic [ref=e53]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (712:31)
+ - generic [ref=e54]:
+ - heading "__webpack_require__" [level=3] [ref=e55]
+ - generic [ref=e57]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (37:33)
+ - generic [ref=e58]:
+ - heading "fn" [level=3] [ref=e59]
+ - generic [ref=e61]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (369:21)
+ - button "Show ignored frames" [ref=e62] [cursor=pointer]
+```
\ No newline at end of file
diff --git a/test-results/e2e-mobile-responsive-Mobi-b47d3-s-to-short-viewport-heights-chromium-mobile/test-failed-1.png b/test-results/e2e-mobile-responsive-Mobi-b47d3-s-to-short-viewport-heights-chromium-mobile/test-failed-1.png
new file mode 100644
index 0000000..7e5d35c
Binary files /dev/null and b/test-results/e2e-mobile-responsive-Mobi-b47d3-s-to-short-viewport-heights-chromium-mobile/test-failed-1.png differ
diff --git a/test-results/e2e-visual-regression-Visu-0f72e--header-styling-consistency-chromium-desktop/error-context.md b/test-results/e2e-visual-regression-Visu-0f72e--header-styling-consistency-chromium-desktop/error-context.md
new file mode 100644
index 0000000..236df2d
--- /dev/null
+++ b/test-results/e2e-visual-regression-Visu-0f72e--header-styling-consistency-chromium-desktop/error-context.md
@@ -0,0 +1,49 @@
+# Page snapshot
+
+```yaml
+- dialog "Unhandled Runtime Error" [ref=e3]:
+ - generic [ref=e4]:
+ - generic [ref=e5]:
+ - generic [ref=e6]:
+ - navigation [ref=e7]:
+ - button "previous" [disabled] [ref=e8]:
+ - img "previous" [ref=e9]
+ - button "next" [ref=e11] [cursor=pointer]:
+ - img "next" [ref=e12]
+ - generic [ref=e14]: 1 of 2 errors
+ - generic [ref=e15]:
+ - text: Next.js (15.1.3) is outdated
+ - link "(learn more)" [ref=e17] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/messages/version-staleness
+ - button "Close" [ref=e18] [cursor=pointer]:
+ - img [ref=e20]
+ - generic [ref=e23]:
+ - heading "Unhandled Runtime Error" [level=1] [ref=e24]
+ - generic [ref=e25]:
+ - button "Copy error stack" [ref=e26] [cursor=pointer]:
+ - img [ref=e27]
+ - link "Learn more about enabling Node.js inspector for server code with Chrome DevTools" [ref=e30] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/app/building-your-application/configuring/debugging#server-side-code
+ - img [ref=e31]
+ - paragraph [ref=e34]: "ReferenceError: Cannot access 'dynamic' before initialization"
+ - generic [ref=e35]:
+ - heading "Source" [level=2] [ref=e36]
+ - generic [ref=e37]:
+ - link "src/app/page.tsx (8:29) @ dynamic" [ref=e39] [cursor=pointer]:
+ - generic [ref=e40]: src/app/page.tsx (8:29) @ dynamic
+ - img [ref=e41]
+ - generic [ref=e45]: "6 | 7 | // Dynamically import SnippetManagerRedux to avoid SSR issues with Pyodide > 8 | const SnippetManagerRedux = dynamic( | ^ 9 | () => import('@/components/SnippetManagerRedux').then(mod => ({ default: mod.SnippetManagerRedux })), 10 | { ssr: false } 11 | );"
+ - generic [ref=e46]:
+ - heading "./src/app/page.tsx" [level=3] [ref=e47]
+ - generic [ref=e49]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/app/page.js (127:1)
+ - generic [ref=e50]:
+ - heading "options.factory" [level=3] [ref=e51]
+ - generic [ref=e53]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (712:31)
+ - generic [ref=e54]:
+ - heading "__webpack_require__" [level=3] [ref=e55]
+ - generic [ref=e57]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (37:33)
+ - generic [ref=e58]:
+ - heading "fn" [level=3] [ref=e59]
+ - generic [ref=e61]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (369:21)
+ - button "Show ignored frames" [ref=e62] [cursor=pointer]
+```
\ No newline at end of file
diff --git a/test-results/e2e-visual-regression-Visu-0f72e--header-styling-consistency-chromium-desktop/test-failed-1.png b/test-results/e2e-visual-regression-Visu-0f72e--header-styling-consistency-chromium-desktop/test-failed-1.png
new file mode 100644
index 0000000..b7cf863
Binary files /dev/null and b/test-results/e2e-visual-regression-Visu-0f72e--header-styling-consistency-chromium-desktop/test-failed-1.png differ
diff --git a/test-results/e2e-visual-regression-Visu-0f72e--header-styling-consistency-chromium-desktop/video.webm b/test-results/e2e-visual-regression-Visu-0f72e--header-styling-consistency-chromium-desktop/video.webm
new file mode 100644
index 0000000..5d3c4c6
Binary files /dev/null and b/test-results/e2e-visual-regression-Visu-0f72e--header-styling-consistency-chromium-desktop/video.webm differ
diff --git a/test-results/e2e-visual-regression-Visu-0f72e--header-styling-consistency-chromium-mobile/error-context.md b/test-results/e2e-visual-regression-Visu-0f72e--header-styling-consistency-chromium-mobile/error-context.md
new file mode 100644
index 0000000..236df2d
--- /dev/null
+++ b/test-results/e2e-visual-regression-Visu-0f72e--header-styling-consistency-chromium-mobile/error-context.md
@@ -0,0 +1,49 @@
+# Page snapshot
+
+```yaml
+- dialog "Unhandled Runtime Error" [ref=e3]:
+ - generic [ref=e4]:
+ - generic [ref=e5]:
+ - generic [ref=e6]:
+ - navigation [ref=e7]:
+ - button "previous" [disabled] [ref=e8]:
+ - img "previous" [ref=e9]
+ - button "next" [ref=e11] [cursor=pointer]:
+ - img "next" [ref=e12]
+ - generic [ref=e14]: 1 of 2 errors
+ - generic [ref=e15]:
+ - text: Next.js (15.1.3) is outdated
+ - link "(learn more)" [ref=e17] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/messages/version-staleness
+ - button "Close" [ref=e18] [cursor=pointer]:
+ - img [ref=e20]
+ - generic [ref=e23]:
+ - heading "Unhandled Runtime Error" [level=1] [ref=e24]
+ - generic [ref=e25]:
+ - button "Copy error stack" [ref=e26] [cursor=pointer]:
+ - img [ref=e27]
+ - link "Learn more about enabling Node.js inspector for server code with Chrome DevTools" [ref=e30] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/app/building-your-application/configuring/debugging#server-side-code
+ - img [ref=e31]
+ - paragraph [ref=e34]: "ReferenceError: Cannot access 'dynamic' before initialization"
+ - generic [ref=e35]:
+ - heading "Source" [level=2] [ref=e36]
+ - generic [ref=e37]:
+ - link "src/app/page.tsx (8:29) @ dynamic" [ref=e39] [cursor=pointer]:
+ - generic [ref=e40]: src/app/page.tsx (8:29) @ dynamic
+ - img [ref=e41]
+ - generic [ref=e45]: "6 | 7 | // Dynamically import SnippetManagerRedux to avoid SSR issues with Pyodide > 8 | const SnippetManagerRedux = dynamic( | ^ 9 | () => import('@/components/SnippetManagerRedux').then(mod => ({ default: mod.SnippetManagerRedux })), 10 | { ssr: false } 11 | );"
+ - generic [ref=e46]:
+ - heading "./src/app/page.tsx" [level=3] [ref=e47]
+ - generic [ref=e49]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/app/page.js (127:1)
+ - generic [ref=e50]:
+ - heading "options.factory" [level=3] [ref=e51]
+ - generic [ref=e53]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (712:31)
+ - generic [ref=e54]:
+ - heading "__webpack_require__" [level=3] [ref=e55]
+ - generic [ref=e57]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (37:33)
+ - generic [ref=e58]:
+ - heading "fn" [level=3] [ref=e59]
+ - generic [ref=e61]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (369:21)
+ - button "Show ignored frames" [ref=e62] [cursor=pointer]
+```
\ No newline at end of file
diff --git a/test-results/e2e-visual-regression-Visu-0f72e--header-styling-consistency-chromium-mobile/test-failed-1.png b/test-results/e2e-visual-regression-Visu-0f72e--header-styling-consistency-chromium-mobile/test-failed-1.png
new file mode 100644
index 0000000..edc1d68
Binary files /dev/null and b/test-results/e2e-visual-regression-Visu-0f72e--header-styling-consistency-chromium-mobile/test-failed-1.png differ
diff --git a/test-results/e2e-visual-regression-Visu-0f72e--header-styling-consistency-chromium-mobile/video.webm b/test-results/e2e-visual-regression-Visu-0f72e--header-styling-consistency-chromium-mobile/video.webm
new file mode 100644
index 0000000..665867e
Binary files /dev/null and b/test-results/e2e-visual-regression-Visu-0f72e--header-styling-consistency-chromium-mobile/video.webm differ
diff --git a/test-results/e2e-visual-regression-Visu-1101c--visible-at-all-zoom-levels-chromium-desktop/error-context.md b/test-results/e2e-visual-regression-Visu-1101c--visible-at-all-zoom-levels-chromium-desktop/error-context.md
new file mode 100644
index 0000000..236df2d
--- /dev/null
+++ b/test-results/e2e-visual-regression-Visu-1101c--visible-at-all-zoom-levels-chromium-desktop/error-context.md
@@ -0,0 +1,49 @@
+# Page snapshot
+
+```yaml
+- dialog "Unhandled Runtime Error" [ref=e3]:
+ - generic [ref=e4]:
+ - generic [ref=e5]:
+ - generic [ref=e6]:
+ - navigation [ref=e7]:
+ - button "previous" [disabled] [ref=e8]:
+ - img "previous" [ref=e9]
+ - button "next" [ref=e11] [cursor=pointer]:
+ - img "next" [ref=e12]
+ - generic [ref=e14]: 1 of 2 errors
+ - generic [ref=e15]:
+ - text: Next.js (15.1.3) is outdated
+ - link "(learn more)" [ref=e17] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/messages/version-staleness
+ - button "Close" [ref=e18] [cursor=pointer]:
+ - img [ref=e20]
+ - generic [ref=e23]:
+ - heading "Unhandled Runtime Error" [level=1] [ref=e24]
+ - generic [ref=e25]:
+ - button "Copy error stack" [ref=e26] [cursor=pointer]:
+ - img [ref=e27]
+ - link "Learn more about enabling Node.js inspector for server code with Chrome DevTools" [ref=e30] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/app/building-your-application/configuring/debugging#server-side-code
+ - img [ref=e31]
+ - paragraph [ref=e34]: "ReferenceError: Cannot access 'dynamic' before initialization"
+ - generic [ref=e35]:
+ - heading "Source" [level=2] [ref=e36]
+ - generic [ref=e37]:
+ - link "src/app/page.tsx (8:29) @ dynamic" [ref=e39] [cursor=pointer]:
+ - generic [ref=e40]: src/app/page.tsx (8:29) @ dynamic
+ - img [ref=e41]
+ - generic [ref=e45]: "6 | 7 | // Dynamically import SnippetManagerRedux to avoid SSR issues with Pyodide > 8 | const SnippetManagerRedux = dynamic( | ^ 9 | () => import('@/components/SnippetManagerRedux').then(mod => ({ default: mod.SnippetManagerRedux })), 10 | { ssr: false } 11 | );"
+ - generic [ref=e46]:
+ - heading "./src/app/page.tsx" [level=3] [ref=e47]
+ - generic [ref=e49]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/app/page.js (127:1)
+ - generic [ref=e50]:
+ - heading "options.factory" [level=3] [ref=e51]
+ - generic [ref=e53]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (712:31)
+ - generic [ref=e54]:
+ - heading "__webpack_require__" [level=3] [ref=e55]
+ - generic [ref=e57]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (37:33)
+ - generic [ref=e58]:
+ - heading "fn" [level=3] [ref=e59]
+ - generic [ref=e61]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (369:21)
+ - button "Show ignored frames" [ref=e62] [cursor=pointer]
+```
\ No newline at end of file
diff --git a/test-results/e2e-visual-regression-Visu-1101c--visible-at-all-zoom-levels-chromium-desktop/test-failed-1.png b/test-results/e2e-visual-regression-Visu-1101c--visible-at-all-zoom-levels-chromium-desktop/test-failed-1.png
new file mode 100644
index 0000000..faea79f
Binary files /dev/null and b/test-results/e2e-visual-regression-Visu-1101c--visible-at-all-zoom-levels-chromium-desktop/test-failed-1.png differ
diff --git a/test-results/e2e-visual-regression-Visu-1101c--visible-at-all-zoom-levels-chromium-desktop/video.webm b/test-results/e2e-visual-regression-Visu-1101c--visible-at-all-zoom-levels-chromium-desktop/video.webm
new file mode 100644
index 0000000..102a91c
Binary files /dev/null and b/test-results/e2e-visual-regression-Visu-1101c--visible-at-all-zoom-levels-chromium-desktop/video.webm differ
diff --git a/test-results/e2e-visual-regression-Visu-1101c--visible-at-all-zoom-levels-chromium-mobile/error-context.md b/test-results/e2e-visual-regression-Visu-1101c--visible-at-all-zoom-levels-chromium-mobile/error-context.md
new file mode 100644
index 0000000..236df2d
--- /dev/null
+++ b/test-results/e2e-visual-regression-Visu-1101c--visible-at-all-zoom-levels-chromium-mobile/error-context.md
@@ -0,0 +1,49 @@
+# Page snapshot
+
+```yaml
+- dialog "Unhandled Runtime Error" [ref=e3]:
+ - generic [ref=e4]:
+ - generic [ref=e5]:
+ - generic [ref=e6]:
+ - navigation [ref=e7]:
+ - button "previous" [disabled] [ref=e8]:
+ - img "previous" [ref=e9]
+ - button "next" [ref=e11] [cursor=pointer]:
+ - img "next" [ref=e12]
+ - generic [ref=e14]: 1 of 2 errors
+ - generic [ref=e15]:
+ - text: Next.js (15.1.3) is outdated
+ - link "(learn more)" [ref=e17] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/messages/version-staleness
+ - button "Close" [ref=e18] [cursor=pointer]:
+ - img [ref=e20]
+ - generic [ref=e23]:
+ - heading "Unhandled Runtime Error" [level=1] [ref=e24]
+ - generic [ref=e25]:
+ - button "Copy error stack" [ref=e26] [cursor=pointer]:
+ - img [ref=e27]
+ - link "Learn more about enabling Node.js inspector for server code with Chrome DevTools" [ref=e30] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/app/building-your-application/configuring/debugging#server-side-code
+ - img [ref=e31]
+ - paragraph [ref=e34]: "ReferenceError: Cannot access 'dynamic' before initialization"
+ - generic [ref=e35]:
+ - heading "Source" [level=2] [ref=e36]
+ - generic [ref=e37]:
+ - link "src/app/page.tsx (8:29) @ dynamic" [ref=e39] [cursor=pointer]:
+ - generic [ref=e40]: src/app/page.tsx (8:29) @ dynamic
+ - img [ref=e41]
+ - generic [ref=e45]: "6 | 7 | // Dynamically import SnippetManagerRedux to avoid SSR issues with Pyodide > 8 | const SnippetManagerRedux = dynamic( | ^ 9 | () => import('@/components/SnippetManagerRedux').then(mod => ({ default: mod.SnippetManagerRedux })), 10 | { ssr: false } 11 | );"
+ - generic [ref=e46]:
+ - heading "./src/app/page.tsx" [level=3] [ref=e47]
+ - generic [ref=e49]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/app/page.js (127:1)
+ - generic [ref=e50]:
+ - heading "options.factory" [level=3] [ref=e51]
+ - generic [ref=e53]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (712:31)
+ - generic [ref=e54]:
+ - heading "__webpack_require__" [level=3] [ref=e55]
+ - generic [ref=e57]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (37:33)
+ - generic [ref=e58]:
+ - heading "fn" [level=3] [ref=e59]
+ - generic [ref=e61]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (369:21)
+ - button "Show ignored frames" [ref=e62] [cursor=pointer]
+```
\ No newline at end of file
diff --git a/test-results/e2e-visual-regression-Visu-1101c--visible-at-all-zoom-levels-chromium-mobile/test-failed-1.png b/test-results/e2e-visual-regression-Visu-1101c--visible-at-all-zoom-levels-chromium-mobile/test-failed-1.png
new file mode 100644
index 0000000..a2664f3
Binary files /dev/null and b/test-results/e2e-visual-regression-Visu-1101c--visible-at-all-zoom-levels-chromium-mobile/test-failed-1.png differ
diff --git a/test-results/e2e-visual-regression-Visu-1101c--visible-at-all-zoom-levels-chromium-mobile/video.webm b/test-results/e2e-visual-regression-Visu-1101c--visible-at-all-zoom-levels-chromium-mobile/video.webm
new file mode 100644
index 0000000..a8b4a96
Binary files /dev/null and b/test-results/e2e-visual-regression-Visu-1101c--visible-at-all-zoom-levels-chromium-mobile/video.webm differ
diff --git a/test-results/e2e-visual-regression-Visu-1ae34-full-page-snapshot---mobile-chromium-mobile/error-context.md b/test-results/e2e-visual-regression-Visu-1ae34-full-page-snapshot---mobile-chromium-mobile/error-context.md
new file mode 100644
index 0000000..236df2d
--- /dev/null
+++ b/test-results/e2e-visual-regression-Visu-1ae34-full-page-snapshot---mobile-chromium-mobile/error-context.md
@@ -0,0 +1,49 @@
+# Page snapshot
+
+```yaml
+- dialog "Unhandled Runtime Error" [ref=e3]:
+ - generic [ref=e4]:
+ - generic [ref=e5]:
+ - generic [ref=e6]:
+ - navigation [ref=e7]:
+ - button "previous" [disabled] [ref=e8]:
+ - img "previous" [ref=e9]
+ - button "next" [ref=e11] [cursor=pointer]:
+ - img "next" [ref=e12]
+ - generic [ref=e14]: 1 of 2 errors
+ - generic [ref=e15]:
+ - text: Next.js (15.1.3) is outdated
+ - link "(learn more)" [ref=e17] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/messages/version-staleness
+ - button "Close" [ref=e18] [cursor=pointer]:
+ - img [ref=e20]
+ - generic [ref=e23]:
+ - heading "Unhandled Runtime Error" [level=1] [ref=e24]
+ - generic [ref=e25]:
+ - button "Copy error stack" [ref=e26] [cursor=pointer]:
+ - img [ref=e27]
+ - link "Learn more about enabling Node.js inspector for server code with Chrome DevTools" [ref=e30] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/app/building-your-application/configuring/debugging#server-side-code
+ - img [ref=e31]
+ - paragraph [ref=e34]: "ReferenceError: Cannot access 'dynamic' before initialization"
+ - generic [ref=e35]:
+ - heading "Source" [level=2] [ref=e36]
+ - generic [ref=e37]:
+ - link "src/app/page.tsx (8:29) @ dynamic" [ref=e39] [cursor=pointer]:
+ - generic [ref=e40]: src/app/page.tsx (8:29) @ dynamic
+ - img [ref=e41]
+ - generic [ref=e45]: "6 | 7 | // Dynamically import SnippetManagerRedux to avoid SSR issues with Pyodide > 8 | const SnippetManagerRedux = dynamic( | ^ 9 | () => import('@/components/SnippetManagerRedux').then(mod => ({ default: mod.SnippetManagerRedux })), 10 | { ssr: false } 11 | );"
+ - generic [ref=e46]:
+ - heading "./src/app/page.tsx" [level=3] [ref=e47]
+ - generic [ref=e49]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/app/page.js (127:1)
+ - generic [ref=e50]:
+ - heading "options.factory" [level=3] [ref=e51]
+ - generic [ref=e53]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (712:31)
+ - generic [ref=e54]:
+ - heading "__webpack_require__" [level=3] [ref=e55]
+ - generic [ref=e57]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (37:33)
+ - generic [ref=e58]:
+ - heading "fn" [level=3] [ref=e59]
+ - generic [ref=e61]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (369:21)
+ - button "Show ignored frames" [ref=e62] [cursor=pointer]
+```
\ No newline at end of file
diff --git a/test-results/e2e-visual-regression-Visu-1ae34-full-page-snapshot---mobile-chromium-mobile/home-page-full-mobile-actual.png b/test-results/e2e-visual-regression-Visu-1ae34-full-page-snapshot---mobile-chromium-mobile/home-page-full-mobile-actual.png
new file mode 100644
index 0000000..2d7ddcf
Binary files /dev/null and b/test-results/e2e-visual-regression-Visu-1ae34-full-page-snapshot---mobile-chromium-mobile/home-page-full-mobile-actual.png differ
diff --git a/test-results/e2e-visual-regression-Visu-1ae34-full-page-snapshot---mobile-chromium-mobile/home-page-full-mobile-diff.png b/test-results/e2e-visual-regression-Visu-1ae34-full-page-snapshot---mobile-chromium-mobile/home-page-full-mobile-diff.png
new file mode 100644
index 0000000..ce807fe
Binary files /dev/null and b/test-results/e2e-visual-regression-Visu-1ae34-full-page-snapshot---mobile-chromium-mobile/home-page-full-mobile-diff.png differ
diff --git a/test-results/e2e-visual-regression-Visu-1ae34-full-page-snapshot---mobile-chromium-mobile/home-page-full-mobile-expected.png b/test-results/e2e-visual-regression-Visu-1ae34-full-page-snapshot---mobile-chromium-mobile/home-page-full-mobile-expected.png
new file mode 100644
index 0000000..d97e309
Binary files /dev/null and b/test-results/e2e-visual-regression-Visu-1ae34-full-page-snapshot---mobile-chromium-mobile/home-page-full-mobile-expected.png differ
diff --git a/test-results/e2e-visual-regression-Visu-1ae34-full-page-snapshot---mobile-chromium-mobile/test-failed-1.png b/test-results/e2e-visual-regression-Visu-1ae34-full-page-snapshot---mobile-chromium-mobile/test-failed-1.png
new file mode 100644
index 0000000..edc1d68
Binary files /dev/null and b/test-results/e2e-visual-regression-Visu-1ae34-full-page-snapshot---mobile-chromium-mobile/test-failed-1.png differ
diff --git a/test-results/e2e-visual-regression-Visu-1ae34-full-page-snapshot---mobile-chromium-mobile/video.webm b/test-results/e2e-visual-regression-Visu-1ae34-full-page-snapshot---mobile-chromium-mobile/video.webm
new file mode 100644
index 0000000..04c56da
Binary files /dev/null and b/test-results/e2e-visual-regression-Visu-1ae34-full-page-snapshot---mobile-chromium-mobile/video.webm differ
diff --git a/test-results/e2e-visual-regression-Visu-29c8c-ter-styling-and-positioning-chromium-desktop/error-context.md b/test-results/e2e-visual-regression-Visu-29c8c-ter-styling-and-positioning-chromium-desktop/error-context.md
new file mode 100644
index 0000000..236df2d
--- /dev/null
+++ b/test-results/e2e-visual-regression-Visu-29c8c-ter-styling-and-positioning-chromium-desktop/error-context.md
@@ -0,0 +1,49 @@
+# Page snapshot
+
+```yaml
+- dialog "Unhandled Runtime Error" [ref=e3]:
+ - generic [ref=e4]:
+ - generic [ref=e5]:
+ - generic [ref=e6]:
+ - navigation [ref=e7]:
+ - button "previous" [disabled] [ref=e8]:
+ - img "previous" [ref=e9]
+ - button "next" [ref=e11] [cursor=pointer]:
+ - img "next" [ref=e12]
+ - generic [ref=e14]: 1 of 2 errors
+ - generic [ref=e15]:
+ - text: Next.js (15.1.3) is outdated
+ - link "(learn more)" [ref=e17] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/messages/version-staleness
+ - button "Close" [ref=e18] [cursor=pointer]:
+ - img [ref=e20]
+ - generic [ref=e23]:
+ - heading "Unhandled Runtime Error" [level=1] [ref=e24]
+ - generic [ref=e25]:
+ - button "Copy error stack" [ref=e26] [cursor=pointer]:
+ - img [ref=e27]
+ - link "Learn more about enabling Node.js inspector for server code with Chrome DevTools" [ref=e30] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/app/building-your-application/configuring/debugging#server-side-code
+ - img [ref=e31]
+ - paragraph [ref=e34]: "ReferenceError: Cannot access 'dynamic' before initialization"
+ - generic [ref=e35]:
+ - heading "Source" [level=2] [ref=e36]
+ - generic [ref=e37]:
+ - link "src/app/page.tsx (8:29) @ dynamic" [ref=e39] [cursor=pointer]:
+ - generic [ref=e40]: src/app/page.tsx (8:29) @ dynamic
+ - img [ref=e41]
+ - generic [ref=e45]: "6 | 7 | // Dynamically import SnippetManagerRedux to avoid SSR issues with Pyodide > 8 | const SnippetManagerRedux = dynamic( | ^ 9 | () => import('@/components/SnippetManagerRedux').then(mod => ({ default: mod.SnippetManagerRedux })), 10 | { ssr: false } 11 | );"
+ - generic [ref=e46]:
+ - heading "./src/app/page.tsx" [level=3] [ref=e47]
+ - generic [ref=e49]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/app/page.js (127:1)
+ - generic [ref=e50]:
+ - heading "options.factory" [level=3] [ref=e51]
+ - generic [ref=e53]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (712:31)
+ - generic [ref=e54]:
+ - heading "__webpack_require__" [level=3] [ref=e55]
+ - generic [ref=e57]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (37:33)
+ - generic [ref=e58]:
+ - heading "fn" [level=3] [ref=e59]
+ - generic [ref=e61]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (369:21)
+ - button "Show ignored frames" [ref=e62] [cursor=pointer]
+```
\ No newline at end of file
diff --git a/test-results/e2e-visual-regression-Visu-29c8c-ter-styling-and-positioning-chromium-desktop/test-failed-1.png b/test-results/e2e-visual-regression-Visu-29c8c-ter-styling-and-positioning-chromium-desktop/test-failed-1.png
new file mode 100644
index 0000000..b7cf863
Binary files /dev/null and b/test-results/e2e-visual-regression-Visu-29c8c-ter-styling-and-positioning-chromium-desktop/test-failed-1.png differ
diff --git a/test-results/e2e-visual-regression-Visu-29c8c-ter-styling-and-positioning-chromium-desktop/video.webm b/test-results/e2e-visual-regression-Visu-29c8c-ter-styling-and-positioning-chromium-desktop/video.webm
new file mode 100644
index 0000000..fb01783
Binary files /dev/null and b/test-results/e2e-visual-regression-Visu-29c8c-ter-styling-and-positioning-chromium-desktop/video.webm differ
diff --git a/test-results/e2e-visual-regression-Visu-29c8c-ter-styling-and-positioning-chromium-mobile/error-context.md b/test-results/e2e-visual-regression-Visu-29c8c-ter-styling-and-positioning-chromium-mobile/error-context.md
new file mode 100644
index 0000000..236df2d
--- /dev/null
+++ b/test-results/e2e-visual-regression-Visu-29c8c-ter-styling-and-positioning-chromium-mobile/error-context.md
@@ -0,0 +1,49 @@
+# Page snapshot
+
+```yaml
+- dialog "Unhandled Runtime Error" [ref=e3]:
+ - generic [ref=e4]:
+ - generic [ref=e5]:
+ - generic [ref=e6]:
+ - navigation [ref=e7]:
+ - button "previous" [disabled] [ref=e8]:
+ - img "previous" [ref=e9]
+ - button "next" [ref=e11] [cursor=pointer]:
+ - img "next" [ref=e12]
+ - generic [ref=e14]: 1 of 2 errors
+ - generic [ref=e15]:
+ - text: Next.js (15.1.3) is outdated
+ - link "(learn more)" [ref=e17] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/messages/version-staleness
+ - button "Close" [ref=e18] [cursor=pointer]:
+ - img [ref=e20]
+ - generic [ref=e23]:
+ - heading "Unhandled Runtime Error" [level=1] [ref=e24]
+ - generic [ref=e25]:
+ - button "Copy error stack" [ref=e26] [cursor=pointer]:
+ - img [ref=e27]
+ - link "Learn more about enabling Node.js inspector for server code with Chrome DevTools" [ref=e30] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/app/building-your-application/configuring/debugging#server-side-code
+ - img [ref=e31]
+ - paragraph [ref=e34]: "ReferenceError: Cannot access 'dynamic' before initialization"
+ - generic [ref=e35]:
+ - heading "Source" [level=2] [ref=e36]
+ - generic [ref=e37]:
+ - link "src/app/page.tsx (8:29) @ dynamic" [ref=e39] [cursor=pointer]:
+ - generic [ref=e40]: src/app/page.tsx (8:29) @ dynamic
+ - img [ref=e41]
+ - generic [ref=e45]: "6 | 7 | // Dynamically import SnippetManagerRedux to avoid SSR issues with Pyodide > 8 | const SnippetManagerRedux = dynamic( | ^ 9 | () => import('@/components/SnippetManagerRedux').then(mod => ({ default: mod.SnippetManagerRedux })), 10 | { ssr: false } 11 | );"
+ - generic [ref=e46]:
+ - heading "./src/app/page.tsx" [level=3] [ref=e47]
+ - generic [ref=e49]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/app/page.js (127:1)
+ - generic [ref=e50]:
+ - heading "options.factory" [level=3] [ref=e51]
+ - generic [ref=e53]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (712:31)
+ - generic [ref=e54]:
+ - heading "__webpack_require__" [level=3] [ref=e55]
+ - generic [ref=e57]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (37:33)
+ - generic [ref=e58]:
+ - heading "fn" [level=3] [ref=e59]
+ - generic [ref=e61]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (369:21)
+ - button "Show ignored frames" [ref=e62] [cursor=pointer]
+```
\ No newline at end of file
diff --git a/test-results/e2e-visual-regression-Visu-29c8c-ter-styling-and-positioning-chromium-mobile/test-failed-1.png b/test-results/e2e-visual-regression-Visu-29c8c-ter-styling-and-positioning-chromium-mobile/test-failed-1.png
new file mode 100644
index 0000000..edc1d68
Binary files /dev/null and b/test-results/e2e-visual-regression-Visu-29c8c-ter-styling-and-positioning-chromium-mobile/test-failed-1.png differ
diff --git a/test-results/e2e-visual-regression-Visu-29c8c-ter-styling-and-positioning-chromium-mobile/video.webm b/test-results/e2e-visual-regression-Visu-29c8c-ter-styling-and-positioning-chromium-mobile/video.webm
new file mode 100644
index 0000000..bf41333
Binary files /dev/null and b/test-results/e2e-visual-regression-Visu-29c8c-ter-styling-and-positioning-chromium-mobile/video.webm differ
diff --git a/test-results/.playwright-artifacts-5/71853fd82871a12591917bfb398b91ac.png b/test-results/e2e-visual-regression-Visu-319de-ight-mode-class-application-chromium-desktop/test-failed-1.png
similarity index 100%
rename from test-results/.playwright-artifacts-5/71853fd82871a12591917bfb398b91ac.png
rename to test-results/e2e-visual-regression-Visu-319de-ight-mode-class-application-chromium-desktop/test-failed-1.png
diff --git a/test-results/.playwright-artifacts-5/0263ef044cb6d869e6e42896d94b5c7f.webm b/test-results/e2e-visual-regression-Visu-319de-ight-mode-class-application-chromium-desktop/video.webm
similarity index 78%
rename from test-results/.playwright-artifacts-5/0263ef044cb6d869e6e42896d94b5c7f.webm
rename to test-results/e2e-visual-regression-Visu-319de-ight-mode-class-application-chromium-desktop/video.webm
index 40d7d7f..99e553c 100644
Binary files a/test-results/.playwright-artifacts-5/0263ef044cb6d869e6e42896d94b5c7f.webm and b/test-results/e2e-visual-regression-Visu-319de-ight-mode-class-application-chromium-desktop/video.webm differ
diff --git a/test-results/e2e-visual-regression-Visu-319de-ight-mode-class-application-chromium-mobile/error-context.md b/test-results/e2e-visual-regression-Visu-319de-ight-mode-class-application-chromium-mobile/error-context.md
new file mode 100644
index 0000000..236df2d
--- /dev/null
+++ b/test-results/e2e-visual-regression-Visu-319de-ight-mode-class-application-chromium-mobile/error-context.md
@@ -0,0 +1,49 @@
+# Page snapshot
+
+```yaml
+- dialog "Unhandled Runtime Error" [ref=e3]:
+ - generic [ref=e4]:
+ - generic [ref=e5]:
+ - generic [ref=e6]:
+ - navigation [ref=e7]:
+ - button "previous" [disabled] [ref=e8]:
+ - img "previous" [ref=e9]
+ - button "next" [ref=e11] [cursor=pointer]:
+ - img "next" [ref=e12]
+ - generic [ref=e14]: 1 of 2 errors
+ - generic [ref=e15]:
+ - text: Next.js (15.1.3) is outdated
+ - link "(learn more)" [ref=e17] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/messages/version-staleness
+ - button "Close" [ref=e18] [cursor=pointer]:
+ - img [ref=e20]
+ - generic [ref=e23]:
+ - heading "Unhandled Runtime Error" [level=1] [ref=e24]
+ - generic [ref=e25]:
+ - button "Copy error stack" [ref=e26] [cursor=pointer]:
+ - img [ref=e27]
+ - link "Learn more about enabling Node.js inspector for server code with Chrome DevTools" [ref=e30] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/app/building-your-application/configuring/debugging#server-side-code
+ - img [ref=e31]
+ - paragraph [ref=e34]: "ReferenceError: Cannot access 'dynamic' before initialization"
+ - generic [ref=e35]:
+ - heading "Source" [level=2] [ref=e36]
+ - generic [ref=e37]:
+ - link "src/app/page.tsx (8:29) @ dynamic" [ref=e39] [cursor=pointer]:
+ - generic [ref=e40]: src/app/page.tsx (8:29) @ dynamic
+ - img [ref=e41]
+ - generic [ref=e45]: "6 | 7 | // Dynamically import SnippetManagerRedux to avoid SSR issues with Pyodide > 8 | const SnippetManagerRedux = dynamic( | ^ 9 | () => import('@/components/SnippetManagerRedux').then(mod => ({ default: mod.SnippetManagerRedux })), 10 | { ssr: false } 11 | );"
+ - generic [ref=e46]:
+ - heading "./src/app/page.tsx" [level=3] [ref=e47]
+ - generic [ref=e49]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/app/page.js (127:1)
+ - generic [ref=e50]:
+ - heading "options.factory" [level=3] [ref=e51]
+ - generic [ref=e53]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (712:31)
+ - generic [ref=e54]:
+ - heading "__webpack_require__" [level=3] [ref=e55]
+ - generic [ref=e57]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (37:33)
+ - generic [ref=e58]:
+ - heading "fn" [level=3] [ref=e59]
+ - generic [ref=e61]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (369:21)
+ - button "Show ignored frames" [ref=e62] [cursor=pointer]
+```
\ No newline at end of file
diff --git a/test-results/e2e-visual-regression-Visu-319de-ight-mode-class-application-chromium-mobile/test-failed-1.png b/test-results/e2e-visual-regression-Visu-319de-ight-mode-class-application-chromium-mobile/test-failed-1.png
new file mode 100644
index 0000000..edc1d68
Binary files /dev/null and b/test-results/e2e-visual-regression-Visu-319de-ight-mode-class-application-chromium-mobile/test-failed-1.png differ
diff --git a/test-results/e2e-visual-regression-Visu-319de-ight-mode-class-application-chromium-mobile/video.webm b/test-results/e2e-visual-regression-Visu-319de-ight-mode-class-application-chromium-mobile/video.webm
new file mode 100644
index 0000000..bc1fc91
Binary files /dev/null and b/test-results/e2e-visual-regression-Visu-319de-ight-mode-class-application-chromium-mobile/video.webm differ
diff --git a/test-results/e2e-visual-regression-Visu-37698-ent-area-has-proper-spacing-chromium-desktop/error-context.md b/test-results/e2e-visual-regression-Visu-37698-ent-area-has-proper-spacing-chromium-desktop/error-context.md
new file mode 100644
index 0000000..236df2d
--- /dev/null
+++ b/test-results/e2e-visual-regression-Visu-37698-ent-area-has-proper-spacing-chromium-desktop/error-context.md
@@ -0,0 +1,49 @@
+# Page snapshot
+
+```yaml
+- dialog "Unhandled Runtime Error" [ref=e3]:
+ - generic [ref=e4]:
+ - generic [ref=e5]:
+ - generic [ref=e6]:
+ - navigation [ref=e7]:
+ - button "previous" [disabled] [ref=e8]:
+ - img "previous" [ref=e9]
+ - button "next" [ref=e11] [cursor=pointer]:
+ - img "next" [ref=e12]
+ - generic [ref=e14]: 1 of 2 errors
+ - generic [ref=e15]:
+ - text: Next.js (15.1.3) is outdated
+ - link "(learn more)" [ref=e17] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/messages/version-staleness
+ - button "Close" [ref=e18] [cursor=pointer]:
+ - img [ref=e20]
+ - generic [ref=e23]:
+ - heading "Unhandled Runtime Error" [level=1] [ref=e24]
+ - generic [ref=e25]:
+ - button "Copy error stack" [ref=e26] [cursor=pointer]:
+ - img [ref=e27]
+ - link "Learn more about enabling Node.js inspector for server code with Chrome DevTools" [ref=e30] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/app/building-your-application/configuring/debugging#server-side-code
+ - img [ref=e31]
+ - paragraph [ref=e34]: "ReferenceError: Cannot access 'dynamic' before initialization"
+ - generic [ref=e35]:
+ - heading "Source" [level=2] [ref=e36]
+ - generic [ref=e37]:
+ - link "src/app/page.tsx (8:29) @ dynamic" [ref=e39] [cursor=pointer]:
+ - generic [ref=e40]: src/app/page.tsx (8:29) @ dynamic
+ - img [ref=e41]
+ - generic [ref=e45]: "6 | 7 | // Dynamically import SnippetManagerRedux to avoid SSR issues with Pyodide > 8 | const SnippetManagerRedux = dynamic( | ^ 9 | () => import('@/components/SnippetManagerRedux').then(mod => ({ default: mod.SnippetManagerRedux })), 10 | { ssr: false } 11 | );"
+ - generic [ref=e46]:
+ - heading "./src/app/page.tsx" [level=3] [ref=e47]
+ - generic [ref=e49]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/app/page.js (127:1)
+ - generic [ref=e50]:
+ - heading "options.factory" [level=3] [ref=e51]
+ - generic [ref=e53]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (712:31)
+ - generic [ref=e54]:
+ - heading "__webpack_require__" [level=3] [ref=e55]
+ - generic [ref=e57]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (37:33)
+ - generic [ref=e58]:
+ - heading "fn" [level=3] [ref=e59]
+ - generic [ref=e61]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (369:21)
+ - button "Show ignored frames" [ref=e62] [cursor=pointer]
+```
\ No newline at end of file
diff --git a/test-results/e2e-visual-regression-Visu-37698-ent-area-has-proper-spacing-chromium-desktop/test-failed-1.png b/test-results/e2e-visual-regression-Visu-37698-ent-area-has-proper-spacing-chromium-desktop/test-failed-1.png
new file mode 100644
index 0000000..b7cf863
Binary files /dev/null and b/test-results/e2e-visual-regression-Visu-37698-ent-area-has-proper-spacing-chromium-desktop/test-failed-1.png differ
diff --git a/test-results/e2e-visual-regression-Visu-37698-ent-area-has-proper-spacing-chromium-desktop/video.webm b/test-results/e2e-visual-regression-Visu-37698-ent-area-has-proper-spacing-chromium-desktop/video.webm
new file mode 100644
index 0000000..c318d9a
Binary files /dev/null and b/test-results/e2e-visual-regression-Visu-37698-ent-area-has-proper-spacing-chromium-desktop/video.webm differ
diff --git a/test-results/e2e-visual-regression-Visu-37698-ent-area-has-proper-spacing-chromium-mobile/error-context.md b/test-results/e2e-visual-regression-Visu-37698-ent-area-has-proper-spacing-chromium-mobile/error-context.md
new file mode 100644
index 0000000..236df2d
--- /dev/null
+++ b/test-results/e2e-visual-regression-Visu-37698-ent-area-has-proper-spacing-chromium-mobile/error-context.md
@@ -0,0 +1,49 @@
+# Page snapshot
+
+```yaml
+- dialog "Unhandled Runtime Error" [ref=e3]:
+ - generic [ref=e4]:
+ - generic [ref=e5]:
+ - generic [ref=e6]:
+ - navigation [ref=e7]:
+ - button "previous" [disabled] [ref=e8]:
+ - img "previous" [ref=e9]
+ - button "next" [ref=e11] [cursor=pointer]:
+ - img "next" [ref=e12]
+ - generic [ref=e14]: 1 of 2 errors
+ - generic [ref=e15]:
+ - text: Next.js (15.1.3) is outdated
+ - link "(learn more)" [ref=e17] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/messages/version-staleness
+ - button "Close" [ref=e18] [cursor=pointer]:
+ - img [ref=e20]
+ - generic [ref=e23]:
+ - heading "Unhandled Runtime Error" [level=1] [ref=e24]
+ - generic [ref=e25]:
+ - button "Copy error stack" [ref=e26] [cursor=pointer]:
+ - img [ref=e27]
+ - link "Learn more about enabling Node.js inspector for server code with Chrome DevTools" [ref=e30] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/app/building-your-application/configuring/debugging#server-side-code
+ - img [ref=e31]
+ - paragraph [ref=e34]: "ReferenceError: Cannot access 'dynamic' before initialization"
+ - generic [ref=e35]:
+ - heading "Source" [level=2] [ref=e36]
+ - generic [ref=e37]:
+ - link "src/app/page.tsx (8:29) @ dynamic" [ref=e39] [cursor=pointer]:
+ - generic [ref=e40]: src/app/page.tsx (8:29) @ dynamic
+ - img [ref=e41]
+ - generic [ref=e45]: "6 | 7 | // Dynamically import SnippetManagerRedux to avoid SSR issues with Pyodide > 8 | const SnippetManagerRedux = dynamic( | ^ 9 | () => import('@/components/SnippetManagerRedux').then(mod => ({ default: mod.SnippetManagerRedux })), 10 | { ssr: false } 11 | );"
+ - generic [ref=e46]:
+ - heading "./src/app/page.tsx" [level=3] [ref=e47]
+ - generic [ref=e49]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/app/page.js (127:1)
+ - generic [ref=e50]:
+ - heading "options.factory" [level=3] [ref=e51]
+ - generic [ref=e53]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (712:31)
+ - generic [ref=e54]:
+ - heading "__webpack_require__" [level=3] [ref=e55]
+ - generic [ref=e57]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (37:33)
+ - generic [ref=e58]:
+ - heading "fn" [level=3] [ref=e59]
+ - generic [ref=e61]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (369:21)
+ - button "Show ignored frames" [ref=e62] [cursor=pointer]
+```
\ No newline at end of file
diff --git a/test-results/e2e-visual-regression-Visu-37698-ent-area-has-proper-spacing-chromium-mobile/test-failed-1.png b/test-results/e2e-visual-regression-Visu-37698-ent-area-has-proper-spacing-chromium-mobile/test-failed-1.png
new file mode 100644
index 0000000..edc1d68
Binary files /dev/null and b/test-results/e2e-visual-regression-Visu-37698-ent-area-has-proper-spacing-chromium-mobile/test-failed-1.png differ
diff --git a/test-results/e2e-visual-regression-Visu-37698-ent-area-has-proper-spacing-chromium-mobile/video.webm b/test-results/e2e-visual-regression-Visu-37698-ent-area-has-proper-spacing-chromium-mobile/video.webm
new file mode 100644
index 0000000..0c4e2c6
Binary files /dev/null and b/test-results/e2e-visual-regression-Visu-37698-ent-area-has-proper-spacing-chromium-mobile/video.webm differ
diff --git a/test-results/e2e-visual-regression-Visu-3cc97-rs-are-applied-consistently-chromium-desktop/error-context.md b/test-results/e2e-visual-regression-Visu-3cc97-rs-are-applied-consistently-chromium-desktop/error-context.md
new file mode 100644
index 0000000..236df2d
--- /dev/null
+++ b/test-results/e2e-visual-regression-Visu-3cc97-rs-are-applied-consistently-chromium-desktop/error-context.md
@@ -0,0 +1,49 @@
+# Page snapshot
+
+```yaml
+- dialog "Unhandled Runtime Error" [ref=e3]:
+ - generic [ref=e4]:
+ - generic [ref=e5]:
+ - generic [ref=e6]:
+ - navigation [ref=e7]:
+ - button "previous" [disabled] [ref=e8]:
+ - img "previous" [ref=e9]
+ - button "next" [ref=e11] [cursor=pointer]:
+ - img "next" [ref=e12]
+ - generic [ref=e14]: 1 of 2 errors
+ - generic [ref=e15]:
+ - text: Next.js (15.1.3) is outdated
+ - link "(learn more)" [ref=e17] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/messages/version-staleness
+ - button "Close" [ref=e18] [cursor=pointer]:
+ - img [ref=e20]
+ - generic [ref=e23]:
+ - heading "Unhandled Runtime Error" [level=1] [ref=e24]
+ - generic [ref=e25]:
+ - button "Copy error stack" [ref=e26] [cursor=pointer]:
+ - img [ref=e27]
+ - link "Learn more about enabling Node.js inspector for server code with Chrome DevTools" [ref=e30] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/app/building-your-application/configuring/debugging#server-side-code
+ - img [ref=e31]
+ - paragraph [ref=e34]: "ReferenceError: Cannot access 'dynamic' before initialization"
+ - generic [ref=e35]:
+ - heading "Source" [level=2] [ref=e36]
+ - generic [ref=e37]:
+ - link "src/app/page.tsx (8:29) @ dynamic" [ref=e39] [cursor=pointer]:
+ - generic [ref=e40]: src/app/page.tsx (8:29) @ dynamic
+ - img [ref=e41]
+ - generic [ref=e45]: "6 | 7 | // Dynamically import SnippetManagerRedux to avoid SSR issues with Pyodide > 8 | const SnippetManagerRedux = dynamic( | ^ 9 | () => import('@/components/SnippetManagerRedux').then(mod => ({ default: mod.SnippetManagerRedux })), 10 | { ssr: false } 11 | );"
+ - generic [ref=e46]:
+ - heading "./src/app/page.tsx" [level=3] [ref=e47]
+ - generic [ref=e49]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/app/page.js (127:1)
+ - generic [ref=e50]:
+ - heading "options.factory" [level=3] [ref=e51]
+ - generic [ref=e53]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (712:31)
+ - generic [ref=e54]:
+ - heading "__webpack_require__" [level=3] [ref=e55]
+ - generic [ref=e57]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (37:33)
+ - generic [ref=e58]:
+ - heading "fn" [level=3] [ref=e59]
+ - generic [ref=e61]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (369:21)
+ - button "Show ignored frames" [ref=e62] [cursor=pointer]
+```
\ No newline at end of file
diff --git a/test-results/.playwright-artifacts-5/a11a93293336f9625d9af63d1b174677.png b/test-results/e2e-visual-regression-Visu-3cc97-rs-are-applied-consistently-chromium-desktop/test-failed-1.png
similarity index 100%
rename from test-results/.playwright-artifacts-5/a11a93293336f9625d9af63d1b174677.png
rename to test-results/e2e-visual-regression-Visu-3cc97-rs-are-applied-consistently-chromium-desktop/test-failed-1.png
diff --git a/test-results/.playwright-artifacts-6/b1b2474f1c2e2067bd4652b36ed78e88.webm b/test-results/e2e-visual-regression-Visu-3cc97-rs-are-applied-consistently-chromium-desktop/video.webm
similarity index 80%
rename from test-results/.playwright-artifacts-6/b1b2474f1c2e2067bd4652b36ed78e88.webm
rename to test-results/e2e-visual-regression-Visu-3cc97-rs-are-applied-consistently-chromium-desktop/video.webm
index 1d8715f..d7f338c 100644
Binary files a/test-results/.playwright-artifacts-6/b1b2474f1c2e2067bd4652b36ed78e88.webm and b/test-results/e2e-visual-regression-Visu-3cc97-rs-are-applied-consistently-chromium-desktop/video.webm differ
diff --git a/test-results/e2e-visual-regression-Visu-3cc97-rs-are-applied-consistently-chromium-mobile/error-context.md b/test-results/e2e-visual-regression-Visu-3cc97-rs-are-applied-consistently-chromium-mobile/error-context.md
new file mode 100644
index 0000000..236df2d
--- /dev/null
+++ b/test-results/e2e-visual-regression-Visu-3cc97-rs-are-applied-consistently-chromium-mobile/error-context.md
@@ -0,0 +1,49 @@
+# Page snapshot
+
+```yaml
+- dialog "Unhandled Runtime Error" [ref=e3]:
+ - generic [ref=e4]:
+ - generic [ref=e5]:
+ - generic [ref=e6]:
+ - navigation [ref=e7]:
+ - button "previous" [disabled] [ref=e8]:
+ - img "previous" [ref=e9]
+ - button "next" [ref=e11] [cursor=pointer]:
+ - img "next" [ref=e12]
+ - generic [ref=e14]: 1 of 2 errors
+ - generic [ref=e15]:
+ - text: Next.js (15.1.3) is outdated
+ - link "(learn more)" [ref=e17] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/messages/version-staleness
+ - button "Close" [ref=e18] [cursor=pointer]:
+ - img [ref=e20]
+ - generic [ref=e23]:
+ - heading "Unhandled Runtime Error" [level=1] [ref=e24]
+ - generic [ref=e25]:
+ - button "Copy error stack" [ref=e26] [cursor=pointer]:
+ - img [ref=e27]
+ - link "Learn more about enabling Node.js inspector for server code with Chrome DevTools" [ref=e30] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/app/building-your-application/configuring/debugging#server-side-code
+ - img [ref=e31]
+ - paragraph [ref=e34]: "ReferenceError: Cannot access 'dynamic' before initialization"
+ - generic [ref=e35]:
+ - heading "Source" [level=2] [ref=e36]
+ - generic [ref=e37]:
+ - link "src/app/page.tsx (8:29) @ dynamic" [ref=e39] [cursor=pointer]:
+ - generic [ref=e40]: src/app/page.tsx (8:29) @ dynamic
+ - img [ref=e41]
+ - generic [ref=e45]: "6 | 7 | // Dynamically import SnippetManagerRedux to avoid SSR issues with Pyodide > 8 | const SnippetManagerRedux = dynamic( | ^ 9 | () => import('@/components/SnippetManagerRedux').then(mod => ({ default: mod.SnippetManagerRedux })), 10 | { ssr: false } 11 | );"
+ - generic [ref=e46]:
+ - heading "./src/app/page.tsx" [level=3] [ref=e47]
+ - generic [ref=e49]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/app/page.js (127:1)
+ - generic [ref=e50]:
+ - heading "options.factory" [level=3] [ref=e51]
+ - generic [ref=e53]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (712:31)
+ - generic [ref=e54]:
+ - heading "__webpack_require__" [level=3] [ref=e55]
+ - generic [ref=e57]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (37:33)
+ - generic [ref=e58]:
+ - heading "fn" [level=3] [ref=e59]
+ - generic [ref=e61]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (369:21)
+ - button "Show ignored frames" [ref=e62] [cursor=pointer]
+```
\ No newline at end of file
diff --git a/test-results/e2e-visual-regression-Visu-3cc97-rs-are-applied-consistently-chromium-mobile/test-failed-1.png b/test-results/e2e-visual-regression-Visu-3cc97-rs-are-applied-consistently-chromium-mobile/test-failed-1.png
new file mode 100644
index 0000000..4690d2d
Binary files /dev/null and b/test-results/e2e-visual-regression-Visu-3cc97-rs-are-applied-consistently-chromium-mobile/test-failed-1.png differ
diff --git a/test-results/e2e-visual-regression-Visu-3cc97-rs-are-applied-consistently-chromium-mobile/video.webm b/test-results/e2e-visual-regression-Visu-3cc97-rs-are-applied-consistently-chromium-mobile/video.webm
new file mode 100644
index 0000000..78e9795
Binary files /dev/null and b/test-results/e2e-visual-regression-Visu-3cc97-rs-are-applied-consistently-chromium-mobile/video.webm differ
diff --git a/test-results/e2e-visual-regression-Visu-b0ce7-ull-page-snapshot---desktop-chromium-desktop/error-context.md b/test-results/e2e-visual-regression-Visu-b0ce7-ull-page-snapshot---desktop-chromium-desktop/error-context.md
new file mode 100644
index 0000000..236df2d
--- /dev/null
+++ b/test-results/e2e-visual-regression-Visu-b0ce7-ull-page-snapshot---desktop-chromium-desktop/error-context.md
@@ -0,0 +1,49 @@
+# Page snapshot
+
+```yaml
+- dialog "Unhandled Runtime Error" [ref=e3]:
+ - generic [ref=e4]:
+ - generic [ref=e5]:
+ - generic [ref=e6]:
+ - navigation [ref=e7]:
+ - button "previous" [disabled] [ref=e8]:
+ - img "previous" [ref=e9]
+ - button "next" [ref=e11] [cursor=pointer]:
+ - img "next" [ref=e12]
+ - generic [ref=e14]: 1 of 2 errors
+ - generic [ref=e15]:
+ - text: Next.js (15.1.3) is outdated
+ - link "(learn more)" [ref=e17] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/messages/version-staleness
+ - button "Close" [ref=e18] [cursor=pointer]:
+ - img [ref=e20]
+ - generic [ref=e23]:
+ - heading "Unhandled Runtime Error" [level=1] [ref=e24]
+ - generic [ref=e25]:
+ - button "Copy error stack" [ref=e26] [cursor=pointer]:
+ - img [ref=e27]
+ - link "Learn more about enabling Node.js inspector for server code with Chrome DevTools" [ref=e30] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/app/building-your-application/configuring/debugging#server-side-code
+ - img [ref=e31]
+ - paragraph [ref=e34]: "ReferenceError: Cannot access 'dynamic' before initialization"
+ - generic [ref=e35]:
+ - heading "Source" [level=2] [ref=e36]
+ - generic [ref=e37]:
+ - link "src/app/page.tsx (8:29) @ dynamic" [ref=e39] [cursor=pointer]:
+ - generic [ref=e40]: src/app/page.tsx (8:29) @ dynamic
+ - img [ref=e41]
+ - generic [ref=e45]: "6 | 7 | // Dynamically import SnippetManagerRedux to avoid SSR issues with Pyodide > 8 | const SnippetManagerRedux = dynamic( | ^ 9 | () => import('@/components/SnippetManagerRedux').then(mod => ({ default: mod.SnippetManagerRedux })), 10 | { ssr: false } 11 | );"
+ - generic [ref=e46]:
+ - heading "./src/app/page.tsx" [level=3] [ref=e47]
+ - generic [ref=e49]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/app/page.js (127:1)
+ - generic [ref=e50]:
+ - heading "options.factory" [level=3] [ref=e51]
+ - generic [ref=e53]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (712:31)
+ - generic [ref=e54]:
+ - heading "__webpack_require__" [level=3] [ref=e55]
+ - generic [ref=e57]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (37:33)
+ - generic [ref=e58]:
+ - heading "fn" [level=3] [ref=e59]
+ - generic [ref=e61]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (369:21)
+ - button "Show ignored frames" [ref=e62] [cursor=pointer]
+```
\ No newline at end of file
diff --git a/test-results/.playwright-artifacts-5/18d40010409fbdf494faa6df53faa7a8.png b/test-results/e2e-visual-regression-Visu-b0ce7-ull-page-snapshot---desktop-chromium-desktop/home-page-full-desktop-actual.png
similarity index 100%
rename from test-results/.playwright-artifacts-5/18d40010409fbdf494faa6df53faa7a8.png
rename to test-results/e2e-visual-regression-Visu-b0ce7-ull-page-snapshot---desktop-chromium-desktop/home-page-full-desktop-actual.png
diff --git a/test-results/e2e-visual-regression-Visu-b0ce7-ull-page-snapshot---desktop-chromium-desktop/home-page-full-desktop-diff.png b/test-results/e2e-visual-regression-Visu-b0ce7-ull-page-snapshot---desktop-chromium-desktop/home-page-full-desktop-diff.png
new file mode 100644
index 0000000..39af5fa
Binary files /dev/null and b/test-results/e2e-visual-regression-Visu-b0ce7-ull-page-snapshot---desktop-chromium-desktop/home-page-full-desktop-diff.png differ
diff --git a/test-results/e2e-visual-regression-Visu-b0ce7-ull-page-snapshot---desktop-chromium-desktop/home-page-full-desktop-expected.png b/test-results/e2e-visual-regression-Visu-b0ce7-ull-page-snapshot---desktop-chromium-desktop/home-page-full-desktop-expected.png
new file mode 100644
index 0000000..5a0517e
Binary files /dev/null and b/test-results/e2e-visual-regression-Visu-b0ce7-ull-page-snapshot---desktop-chromium-desktop/home-page-full-desktop-expected.png differ
diff --git a/test-results/.playwright-artifacts-6/75b9c9d49e507e9c32637a8043950622.png b/test-results/e2e-visual-regression-Visu-b0ce7-ull-page-snapshot---desktop-chromium-desktop/test-failed-1.png
similarity index 100%
rename from test-results/.playwright-artifacts-6/75b9c9d49e507e9c32637a8043950622.png
rename to test-results/e2e-visual-regression-Visu-b0ce7-ull-page-snapshot---desktop-chromium-desktop/test-failed-1.png
diff --git a/test-results/e2e-visual-regression-Visu-b0ce7-ull-page-snapshot---desktop-chromium-desktop/video.webm b/test-results/e2e-visual-regression-Visu-b0ce7-ull-page-snapshot---desktop-chromium-desktop/video.webm
new file mode 100644
index 0000000..97d5253
Binary files /dev/null and b/test-results/e2e-visual-regression-Visu-b0ce7-ull-page-snapshot---desktop-chromium-desktop/video.webm differ
diff --git a/test-results/e2e-visual-regression-Visu-ce259-g-heading-sizes-are-correct-chromium-desktop/error-context.md b/test-results/e2e-visual-regression-Visu-ce259-g-heading-sizes-are-correct-chromium-desktop/error-context.md
new file mode 100644
index 0000000..236df2d
--- /dev/null
+++ b/test-results/e2e-visual-regression-Visu-ce259-g-heading-sizes-are-correct-chromium-desktop/error-context.md
@@ -0,0 +1,49 @@
+# Page snapshot
+
+```yaml
+- dialog "Unhandled Runtime Error" [ref=e3]:
+ - generic [ref=e4]:
+ - generic [ref=e5]:
+ - generic [ref=e6]:
+ - navigation [ref=e7]:
+ - button "previous" [disabled] [ref=e8]:
+ - img "previous" [ref=e9]
+ - button "next" [ref=e11] [cursor=pointer]:
+ - img "next" [ref=e12]
+ - generic [ref=e14]: 1 of 2 errors
+ - generic [ref=e15]:
+ - text: Next.js (15.1.3) is outdated
+ - link "(learn more)" [ref=e17] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/messages/version-staleness
+ - button "Close" [ref=e18] [cursor=pointer]:
+ - img [ref=e20]
+ - generic [ref=e23]:
+ - heading "Unhandled Runtime Error" [level=1] [ref=e24]
+ - generic [ref=e25]:
+ - button "Copy error stack" [ref=e26] [cursor=pointer]:
+ - img [ref=e27]
+ - link "Learn more about enabling Node.js inspector for server code with Chrome DevTools" [ref=e30] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/app/building-your-application/configuring/debugging#server-side-code
+ - img [ref=e31]
+ - paragraph [ref=e34]: "ReferenceError: Cannot access 'dynamic' before initialization"
+ - generic [ref=e35]:
+ - heading "Source" [level=2] [ref=e36]
+ - generic [ref=e37]:
+ - link "src/app/page.tsx (8:29) @ dynamic" [ref=e39] [cursor=pointer]:
+ - generic [ref=e40]: src/app/page.tsx (8:29) @ dynamic
+ - img [ref=e41]
+ - generic [ref=e45]: "6 | 7 | // Dynamically import SnippetManagerRedux to avoid SSR issues with Pyodide > 8 | const SnippetManagerRedux = dynamic( | ^ 9 | () => import('@/components/SnippetManagerRedux').then(mod => ({ default: mod.SnippetManagerRedux })), 10 | { ssr: false } 11 | );"
+ - generic [ref=e46]:
+ - heading "./src/app/page.tsx" [level=3] [ref=e47]
+ - generic [ref=e49]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/app/page.js (127:1)
+ - generic [ref=e50]:
+ - heading "options.factory" [level=3] [ref=e51]
+ - generic [ref=e53]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (712:31)
+ - generic [ref=e54]:
+ - heading "__webpack_require__" [level=3] [ref=e55]
+ - generic [ref=e57]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (37:33)
+ - generic [ref=e58]:
+ - heading "fn" [level=3] [ref=e59]
+ - generic [ref=e61]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (369:21)
+ - button "Show ignored frames" [ref=e62] [cursor=pointer]
+```
\ No newline at end of file
diff --git a/test-results/e2e-visual-regression-Visu-ce259-g-heading-sizes-are-correct-chromium-desktop/test-failed-1.png b/test-results/e2e-visual-regression-Visu-ce259-g-heading-sizes-are-correct-chromium-desktop/test-failed-1.png
new file mode 100644
index 0000000..5bb9d31
Binary files /dev/null and b/test-results/e2e-visual-regression-Visu-ce259-g-heading-sizes-are-correct-chromium-desktop/test-failed-1.png differ
diff --git a/test-results/e2e-visual-regression-Visu-ce259-g-heading-sizes-are-correct-chromium-desktop/video.webm b/test-results/e2e-visual-regression-Visu-ce259-g-heading-sizes-are-correct-chromium-desktop/video.webm
new file mode 100644
index 0000000..8e28135
Binary files /dev/null and b/test-results/e2e-visual-regression-Visu-ce259-g-heading-sizes-are-correct-chromium-desktop/video.webm differ
diff --git a/test-results/e2e-visual-regression-Visu-ce259-g-heading-sizes-are-correct-chromium-mobile/error-context.md b/test-results/e2e-visual-regression-Visu-ce259-g-heading-sizes-are-correct-chromium-mobile/error-context.md
new file mode 100644
index 0000000..236df2d
--- /dev/null
+++ b/test-results/e2e-visual-regression-Visu-ce259-g-heading-sizes-are-correct-chromium-mobile/error-context.md
@@ -0,0 +1,49 @@
+# Page snapshot
+
+```yaml
+- dialog "Unhandled Runtime Error" [ref=e3]:
+ - generic [ref=e4]:
+ - generic [ref=e5]:
+ - generic [ref=e6]:
+ - navigation [ref=e7]:
+ - button "previous" [disabled] [ref=e8]:
+ - img "previous" [ref=e9]
+ - button "next" [ref=e11] [cursor=pointer]:
+ - img "next" [ref=e12]
+ - generic [ref=e14]: 1 of 2 errors
+ - generic [ref=e15]:
+ - text: Next.js (15.1.3) is outdated
+ - link "(learn more)" [ref=e17] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/messages/version-staleness
+ - button "Close" [ref=e18] [cursor=pointer]:
+ - img [ref=e20]
+ - generic [ref=e23]:
+ - heading "Unhandled Runtime Error" [level=1] [ref=e24]
+ - generic [ref=e25]:
+ - button "Copy error stack" [ref=e26] [cursor=pointer]:
+ - img [ref=e27]
+ - link "Learn more about enabling Node.js inspector for server code with Chrome DevTools" [ref=e30] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/app/building-your-application/configuring/debugging#server-side-code
+ - img [ref=e31]
+ - paragraph [ref=e34]: "ReferenceError: Cannot access 'dynamic' before initialization"
+ - generic [ref=e35]:
+ - heading "Source" [level=2] [ref=e36]
+ - generic [ref=e37]:
+ - link "src/app/page.tsx (8:29) @ dynamic" [ref=e39] [cursor=pointer]:
+ - generic [ref=e40]: src/app/page.tsx (8:29) @ dynamic
+ - img [ref=e41]
+ - generic [ref=e45]: "6 | 7 | // Dynamically import SnippetManagerRedux to avoid SSR issues with Pyodide > 8 | const SnippetManagerRedux = dynamic( | ^ 9 | () => import('@/components/SnippetManagerRedux').then(mod => ({ default: mod.SnippetManagerRedux })), 10 | { ssr: false } 11 | );"
+ - generic [ref=e46]:
+ - heading "./src/app/page.tsx" [level=3] [ref=e47]
+ - generic [ref=e49]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/app/page.js (127:1)
+ - generic [ref=e50]:
+ - heading "options.factory" [level=3] [ref=e51]
+ - generic [ref=e53]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (712:31)
+ - generic [ref=e54]:
+ - heading "__webpack_require__" [level=3] [ref=e55]
+ - generic [ref=e57]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (37:33)
+ - generic [ref=e58]:
+ - heading "fn" [level=3] [ref=e59]
+ - generic [ref=e61]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (369:21)
+ - button "Show ignored frames" [ref=e62] [cursor=pointer]
+```
\ No newline at end of file
diff --git a/test-results/e2e-visual-regression-Visu-ce259-g-heading-sizes-are-correct-chromium-mobile/test-failed-1.png b/test-results/e2e-visual-regression-Visu-ce259-g-heading-sizes-are-correct-chromium-mobile/test-failed-1.png
new file mode 100644
index 0000000..edc1d68
Binary files /dev/null and b/test-results/e2e-visual-regression-Visu-ce259-g-heading-sizes-are-correct-chromium-mobile/test-failed-1.png differ
diff --git a/test-results/e2e-visual-regression-Visu-ce259-g-heading-sizes-are-correct-chromium-mobile/video.webm b/test-results/e2e-visual-regression-Visu-ce259-g-heading-sizes-are-correct-chromium-mobile/video.webm
new file mode 100644
index 0000000..961fc67
Binary files /dev/null and b/test-results/e2e-visual-regression-Visu-ce259-g-heading-sizes-are-correct-chromium-mobile/video.webm differ
diff --git a/test-results/md3-md3-MD3-Framework-Tests-Dialogs-dialog-traps-focus-chromium-desktop/error-context.md b/test-results/md3-md3-MD3-Framework-Tests-Dialogs-dialog-traps-focus-chromium-desktop/error-context.md
new file mode 100644
index 0000000..236df2d
--- /dev/null
+++ b/test-results/md3-md3-MD3-Framework-Tests-Dialogs-dialog-traps-focus-chromium-desktop/error-context.md
@@ -0,0 +1,49 @@
+# Page snapshot
+
+```yaml
+- dialog "Unhandled Runtime Error" [ref=e3]:
+ - generic [ref=e4]:
+ - generic [ref=e5]:
+ - generic [ref=e6]:
+ - navigation [ref=e7]:
+ - button "previous" [disabled] [ref=e8]:
+ - img "previous" [ref=e9]
+ - button "next" [ref=e11] [cursor=pointer]:
+ - img "next" [ref=e12]
+ - generic [ref=e14]: 1 of 2 errors
+ - generic [ref=e15]:
+ - text: Next.js (15.1.3) is outdated
+ - link "(learn more)" [ref=e17] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/messages/version-staleness
+ - button "Close" [ref=e18] [cursor=pointer]:
+ - img [ref=e20]
+ - generic [ref=e23]:
+ - heading "Unhandled Runtime Error" [level=1] [ref=e24]
+ - generic [ref=e25]:
+ - button "Copy error stack" [ref=e26] [cursor=pointer]:
+ - img [ref=e27]
+ - link "Learn more about enabling Node.js inspector for server code with Chrome DevTools" [ref=e30] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/app/building-your-application/configuring/debugging#server-side-code
+ - img [ref=e31]
+ - paragraph [ref=e34]: "ReferenceError: Cannot access 'dynamic' before initialization"
+ - generic [ref=e35]:
+ - heading "Source" [level=2] [ref=e36]
+ - generic [ref=e37]:
+ - link "src/app/page.tsx (8:29) @ dynamic" [ref=e39] [cursor=pointer]:
+ - generic [ref=e40]: src/app/page.tsx (8:29) @ dynamic
+ - img [ref=e41]
+ - generic [ref=e45]: "6 | 7 | // Dynamically import SnippetManagerRedux to avoid SSR issues with Pyodide > 8 | const SnippetManagerRedux = dynamic( | ^ 9 | () => import('@/components/SnippetManagerRedux').then(mod => ({ default: mod.SnippetManagerRedux })), 10 | { ssr: false } 11 | );"
+ - generic [ref=e46]:
+ - heading "./src/app/page.tsx" [level=3] [ref=e47]
+ - generic [ref=e49]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/app/page.js (127:1)
+ - generic [ref=e50]:
+ - heading "options.factory" [level=3] [ref=e51]
+ - generic [ref=e53]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (712:31)
+ - generic [ref=e54]:
+ - heading "__webpack_require__" [level=3] [ref=e55]
+ - generic [ref=e57]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (37:33)
+ - generic [ref=e58]:
+ - heading "fn" [level=3] [ref=e59]
+ - generic [ref=e61]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (369:21)
+ - button "Show ignored frames" [ref=e62] [cursor=pointer]
+```
\ No newline at end of file
diff --git a/test-results/md3-md3-MD3-Framework-Tests-Dialogs-dialog-traps-focus-chromium-desktop/test-failed-1.png b/test-results/md3-md3-MD3-Framework-Tests-Dialogs-dialog-traps-focus-chromium-desktop/test-failed-1.png
new file mode 100644
index 0000000..5bb9d31
Binary files /dev/null and b/test-results/md3-md3-MD3-Framework-Tests-Dialogs-dialog-traps-focus-chromium-desktop/test-failed-1.png differ
diff --git a/test-results/md3-md3-MD3-Framework-Tests-Dialogs-dialog-traps-focus-chromium-desktop/video.webm b/test-results/md3-md3-MD3-Framework-Tests-Dialogs-dialog-traps-focus-chromium-desktop/video.webm
new file mode 100644
index 0000000..f6a9223
Binary files /dev/null and b/test-results/md3-md3-MD3-Framework-Tests-Dialogs-dialog-traps-focus-chromium-desktop/video.webm differ
diff --git a/test-results/md3-md3-MD3-Framework-Tests-Dialogs-dialog-traps-focus-chromium-mobile/error-context.md b/test-results/md3-md3-MD3-Framework-Tests-Dialogs-dialog-traps-focus-chromium-mobile/error-context.md
new file mode 100644
index 0000000..236df2d
--- /dev/null
+++ b/test-results/md3-md3-MD3-Framework-Tests-Dialogs-dialog-traps-focus-chromium-mobile/error-context.md
@@ -0,0 +1,49 @@
+# Page snapshot
+
+```yaml
+- dialog "Unhandled Runtime Error" [ref=e3]:
+ - generic [ref=e4]:
+ - generic [ref=e5]:
+ - generic [ref=e6]:
+ - navigation [ref=e7]:
+ - button "previous" [disabled] [ref=e8]:
+ - img "previous" [ref=e9]
+ - button "next" [ref=e11] [cursor=pointer]:
+ - img "next" [ref=e12]
+ - generic [ref=e14]: 1 of 2 errors
+ - generic [ref=e15]:
+ - text: Next.js (15.1.3) is outdated
+ - link "(learn more)" [ref=e17] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/messages/version-staleness
+ - button "Close" [ref=e18] [cursor=pointer]:
+ - img [ref=e20]
+ - generic [ref=e23]:
+ - heading "Unhandled Runtime Error" [level=1] [ref=e24]
+ - generic [ref=e25]:
+ - button "Copy error stack" [ref=e26] [cursor=pointer]:
+ - img [ref=e27]
+ - link "Learn more about enabling Node.js inspector for server code with Chrome DevTools" [ref=e30] [cursor=pointer]:
+ - /url: https://nextjs.org/docs/app/building-your-application/configuring/debugging#server-side-code
+ - img [ref=e31]
+ - paragraph [ref=e34]: "ReferenceError: Cannot access 'dynamic' before initialization"
+ - generic [ref=e35]:
+ - heading "Source" [level=2] [ref=e36]
+ - generic [ref=e37]:
+ - link "src/app/page.tsx (8:29) @ dynamic" [ref=e39] [cursor=pointer]:
+ - generic [ref=e40]: src/app/page.tsx (8:29) @ dynamic
+ - img [ref=e41]
+ - generic [ref=e45]: "6 | 7 | // Dynamically import SnippetManagerRedux to avoid SSR issues with Pyodide > 8 | const SnippetManagerRedux = dynamic( | ^ 9 | () => import('@/components/SnippetManagerRedux').then(mod => ({ default: mod.SnippetManagerRedux })), 10 | { ssr: false } 11 | );"
+ - generic [ref=e46]:
+ - heading "./src/app/page.tsx" [level=3] [ref=e47]
+ - generic [ref=e49]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/app/page.js (127:1)
+ - generic [ref=e50]:
+ - heading "options.factory" [level=3] [ref=e51]
+ - generic [ref=e53]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (712:31)
+ - generic [ref=e54]:
+ - heading "__webpack_require__" [level=3] [ref=e55]
+ - generic [ref=e57]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (37:33)
+ - generic [ref=e58]:
+ - heading "fn" [level=3] [ref=e59]
+ - generic [ref=e61]: file:///Users/rmac/Documents/GitHub/snippet-pastebin/.next/static/chunks/webpack.js (369:21)
+ - button "Show ignored frames" [ref=e62] [cursor=pointer]
+```
\ No newline at end of file
diff --git a/test-results/md3-md3-MD3-Framework-Tests-Dialogs-dialog-traps-focus-chromium-mobile/test-failed-1.png b/test-results/md3-md3-MD3-Framework-Tests-Dialogs-dialog-traps-focus-chromium-mobile/test-failed-1.png
new file mode 100644
index 0000000..edc1d68
Binary files /dev/null and b/test-results/md3-md3-MD3-Framework-Tests-Dialogs-dialog-traps-focus-chromium-mobile/test-failed-1.png differ
diff --git a/test-results/md3-md3-MD3-Framework-Tests-Dialogs-dialog-traps-focus-chromium-mobile/video.webm b/test-results/md3-md3-MD3-Framework-Tests-Dialogs-dialog-traps-focus-chromium-mobile/video.webm
new file mode 100644
index 0000000..0c9b5e7
Binary files /dev/null and b/test-results/md3-md3-MD3-Framework-Tests-Dialogs-dialog-traps-focus-chromium-mobile/video.webm differ