diff --git a/.gitea/README.md b/.gitea/README.md
deleted file mode 100644
index 8471c1f..0000000
--- a/.gitea/README.md
+++ /dev/null
@@ -1,562 +0,0 @@
-# Gitea Actions CI/CD Setup
-
-This document describes the CI/CD pipeline configuration for the GlyphDiff project using Gitea Actions (GitHub Actions compatible).
-
-## Table of Contents
-
-- [Overview](#overview)
-- [Workflow Files](#workflow-files)
-- [Workflow Triggers](#workflow-triggers)
-- [Setup Instructions](#setup-instructions)
-- [Self-Hosted Runner Setup](#self-hosted-runner-setup)
-- [Caching Strategy](#caching-strategy)
-- [Environment Variables](#environment-variables)
-- [Troubleshooting](#troubleshooting)
-
-## Overview
-
-The CI/CD pipeline consists of four main workflows:
-
-1. **Lint** - Code quality checks (oxlint, dprint formatting)
-2. **Test** - Type checking and E2E tests (Playwright)
-3. **Build** - Production build verification
-4. **Deploy** - Deployment automation (optional/template)
-
-All workflows are designed to run on both push and pull request events, with appropriate branch filtering and concurrency controls.
-
-## Workflow Files
-
-### `.gitea/workflows/lint.yml`
-
-**Purpose**: Run code quality checks to ensure code style and formatting standards.
-
-**Checks performed**:
-
-- `oxlint` - Fast JavaScript/TypeScript linter
-- `dprint check` - Code formatting verification
-
-**Triggers**:
-
-- Push to `main`, `develop`, `feature/*` branches
-- Pull requests to `main` or `develop`
-- Manual workflow dispatch
-
-**Cache**: Node modules and Yarn cache
-
-**Concurrency**: Cancels in-progress runs for the same branch when a new commit is pushed.
-
----
-
-### `.gitea/workflows/test.yml`
-
-**Purpose**: Run type checking and end-to-end tests.
-
-**Jobs**:
-
-#### 1. `type-check` job
-
-- `tsc --noEmit` - TypeScript type checking
-- `svelte-check --threshold warning` - Svelte component type checking
-
-#### 2. `e2e-tests` job
-
-- Installs Playwright browsers with system dependencies
-- Runs E2E tests using Playwright
-- Uploads test report artifacts (retained for 7 days)
-- Uploads screenshots on test failure for debugging
-
-**Triggers**: Same as lint workflow
-
-**Cache**: Node modules and Yarn cache
-
-**Artifacts**:
-
-- `playwright-report` - Test execution report
-- `playwright-screenshots` - Screenshots from failed tests
-
----
-
-### `.gitea/workflows/build.yml`
-
-**Purpose**: Verify that the production build completes successfully.
-
-**Steps**:
-
-1. Checkout repository
-2. Setup Node.js v20 with Yarn caching
-3. Install dependencies with `--frozen-lockfile`
-4. Run `svelte-kit sync` to prepare SvelteKit
-5. Build the project with `NODE_ENV=production`
-6. Upload build artifacts (`.svelte-kit/output`, `.svelte-kit/build`)
-7. Run the preview server and verify it responds (health check)
-
-**Triggers**:
-
-- Push to `main` or `develop` branches
-- Pull requests to `main` or `develop`
-- Manual workflow dispatch
-
-**Cache**: Node modules and Yarn cache
-
-**Artifacts**:
-
-- `build-artifacts` - Compiled SvelteKit output (retained for 7 days)
-
----
-
-### `.gitea/workflows/deploy.yml`
-
-**Purpose**: Automated deployment pipeline (template configuration).
-
-**Current state**: Placeholder configuration. Uncomment and customize one of the deployment examples.
-
-**Pre-deployment checks**:
-
-- Must pass linting workflow
-- Must pass testing workflow
-- Must pass build workflow
-
-**Deployment examples included**:
-
-1. **Docker container registry** - Build and push Docker image
-2. **SSH deployment** - Deploy to server via SSH
-3. **Vercel** - Deploy to Vercel platform
-
-**Triggers**:
-
-- Push to `main` branch
-- Manual workflow dispatch with environment selection (staging/production)
-
-**Secrets required** (configure in Gitea):
-
-- For Docker: `REGISTRY_URL`, `REGISTRY_USERNAME`, `REGISTRY_PASSWORD`
-- For SSH: `DEPLOY_HOST`, `DEPLOY_USER`, `DEPLOY_SSH_KEY`
-- For Vercel: `VERCEL_TOKEN`, `VERCEL_ORG_ID`, `VERCEL_PROJECT_ID`
-
-## Workflow Triggers
-
-### Branch-Specific Behavior
-
-| Workflow | Push Triggers | PR Triggers | Runs on Merge |
-| -------- | ------------------------------ | -------------------- | ------------- |
-| Lint | `main`, `develop`, `feature/*` | To `main`, `develop` | Yes |
-| Test | `main`, `develop`, `feature/*` | To `main`, `develop` | Yes |
-| Build | `main`, `develop` | To `main`, `develop` | Yes |
-| Deploy | `main` only | None | Yes |
-
-### Concurrency Strategy
-
-All workflows use concurrency groups based on the workflow name and branch reference:
-
-```yaml
-concurrency:
- group: ${{ github.workflow }}-${{ github.ref }}
- cancel-in-progress: true # or false for deploy workflow
-```
-
-This ensures:
-
-- For lint/test/build: New commits cancel in-progress runs (saves resources)
-- For deploy: Prevents concurrent deployments (ensures safety)
-
-## Setup Instructions
-
-### Step 1: Verify Gitea Actions is Enabled
-
-1. Navigate to your Gitea instance
-2. Go to **Site Administration** → **Actions**
-3. Ensure Actions is enabled
-4. Configure default runner settings if needed
-
-### Step 2: Configure Repository Settings
-
-1. Go to your repository in Gitea
-2. Click **Settings** → **Actions**
-3. Enable Actions for the repository if not already enabled
-4. Set appropriate permissions for read/write access
-
-### Step 3: Push Workflows to Repository
-
-The workflow files are already in `.gitea/workflows/`. Commit and push them:
-
-```bash
-git add .gitea/workflows/
-git commit -m "Add Gitea Actions CI/CD workflows"
-git push origin main
-```
-
-### Step 4: Verify Workflows Run
-
-1. Navigate to **Actions** tab in your repository
-2. You should see the workflows trigger on the next push
-3. Click into a workflow run to view logs and status
-
-### Step 5: Configure Secrets (Optional - for deployment)
-
-1. Go to repository **Settings** → **Secrets** → **Actions**
-2. Click **Add New Secret**
-3. Add secrets required for your deployment method
-
-Example secrets for SSH deployment:
-
-```
-DEPLOY_HOST=your-server.com
-DEPLOY_USER=deploy
-DEPLOY_SSH_KEY=-----BEGIN OPENSSH PRIVATE KEY-----
-...
------END OPENSSH PRIVATE KEY-----
-```
-
-## Self-Hosted Runner Setup
-
-### Option 1: Using Gitea's Built-in Act Runner (Recommended)
-
-Gitea provides `act_runner` (compatible with GitHub Actions runner).
-
-#### Install act_runner
-
-On Linux (Debian/Ubuntu):
-
-```bash
-wget -O /usr/local/bin/act_runner https://gitea.com/act_runner/releases/download/v0.2.11/act_runner-0.2.11-linux-amd64
-chmod +x /usr/local/bin/act_runner
-```
-
-Verify installation:
-
-```bash
-act_runner --version
-```
-
-#### Register the Runner
-
-1. In Gitea, navigate to repository **Settings** → **Actions** → **Runners**
-2. Click **New Runner**
-3. Copy the registration token
-4. Run the registration command:
-
-```bash
-act_runner register \
- --instance https://your-gitea-instance.com \
- --token YOUR_REGISTRATION_TOKEN \
- --name "linux-runner-1" \
- --labels ubuntu-latest,linux,docker \
- --no-interactive
-```
-
-#### Start the Runner as a Service
-
-Create a systemd service file at `/etc/systemd/system/gitea-runner.service`:
-
-```ini
-[Unit]
-Description=Gitea Actions Runner
-After=network.target
-
-[Service]
-Type=simple
-User=git
-WorkingDirectory=/var/lib/gitea-runner
-ExecStart=/usr/local/bin/act_runner daemon
-Restart=always
-RestartSec=5s
-
-[Install]
-WantedBy=multi-user.target
-```
-
-Enable and start the service:
-
-```bash
-sudo systemctl daemon-reload
-sudo systemctl enable gitea-runner
-sudo systemctl start gitea-runner
-```
-
-#### Check Runner Status
-
-```bash
-sudo systemctl status gitea-runner
-```
-
-Verify in Gitea: The runner should appear as **Online** with the `ubuntu-latest` label.
-
-### Option 2: Using Self-Hosted Runners with Docker
-
-If you prefer Docker-based execution:
-
-#### Install Docker
-
-```bash
-curl -fsSL https://get.docker.com -o get-docker.sh
-sudo sh get-docker.sh
-sudo usermod -aG docker $USER
-```
-
-#### Configure Runner to Use Docker
-
-Ensure the runner has access to the Docker socket:
-
-```bash
-sudo usermod -aG docker act_runner_user
-```
-
-The workflows will now run containers inside the runner's Docker environment.
-
-### Option 3: Using External Runners (GitHub Actions Runner Compatible)
-
-If you want to use standard GitHub Actions runners:
-
-```bash
-# Download and configure GitHub Actions runner
-mkdir actions-runner && cd actions-runner
-curl -o actions-runner-linux-x64-2.311.0.tar.gz -L https://github.com/actions/runner/releases/download/v2.311.0/actions-runner-linux-x64-2.311.0.tar.gz
-tar xzf ./actions-runner-linux-x64-2.311.0.tar.gz
-
-# Configure to point to Gitea instance
-./config.sh --url https://your-gitea-instance.com --token YOUR_TOKEN
-```
-
-## Caching Strategy
-
-### Node.js and Yarn Cache
-
-All workflows use `actions/setup-node@v4` with built-in caching:
-
-```yaml
-- name: Setup Node.js
- uses: actions/setup-node@v4
- with:
- node-version: '20'
- cache: 'yarn'
-```
-
-This caches:
-
-- `node_modules` directory
-- Yarn cache directory (`~/.yarn/cache`)
-- Reduces installation time from minutes to seconds on subsequent runs
-
-### Playwright Cache
-
-Playwright browsers are installed fresh each time. To cache Playwright (optional optimization):
-
-```yaml
-- name: Cache Playwright binaries
- uses: actions/cache@v4
- with:
- path: ~/.cache/ms-playwright
- key: ${{ runner.os }}-playwright-${{ hashFiles('**/package-lock.json') }}
- restore-keys: |
- ${{ runner.os }}-playwright-
-```
-
-## Environment Variables
-
-### Default Environment Variables
-
-The workflows use the following environment variables:
-
-```bash
-NODE_ENV=production # For build workflow
-NODE_VERSION=20 # Node.js version used across all workflows
-```
-
-### Custom Environment Variables
-
-To add custom environment variables:
-
-1. Go to repository **Settings** → **Variables** → **Actions**
-2. Click **Add New Variable**
-3. Add variable name and value
-4. Set scope (environment, repository, or organization)
-
-Example for feature flags:
-
-```
-ENABLE_ANALYTICS=false
-API_URL=https://api.example.com
-```
-
-Access in workflow:
-
-```yaml
-env:
- API_URL: ${{ vars.API_URL }}
- ENABLE_ANALYTICS: ${{ vars.ENABLE_ANALYTICS }}
-```
-
-## Troubleshooting
-
-### Workflows Not Running
-
-**Symptoms**: Workflows don't appear or don't trigger
-
-**Solutions**:
-
-1. Verify Actions is enabled in Gitea site administration
-2. Check repository Settings → Actions is enabled
-3. Verify workflow files are in `.gitea/workflows/` directory
-4. Check workflow YAML syntax (no indentation errors)
-
-### Runner Offline
-
-**Symptoms**: Runner shows as **Offline** or **Idle**
-
-**Solutions**:
-
-1. Check runner service status: `sudo systemctl status gitea-runner`
-2. Review runner logs: `journalctl -u gitea-runner -f`
-3. Verify network connectivity to Gitea instance
-4. Restart runner: `sudo systemctl restart gitea-runner`
-
-### Linting Fails with Formatting Errors
-
-**Symptoms**: `dprint check` fails on CI but passes locally
-
-**Solutions**:
-
-1. Ensure dprint configuration (`dprint.json`) is committed
-2. Run `yarn dprint fmt` locally before committing
-3. Consider adding auto-fix workflow (see below)
-
-### Playwright Tests Timeout
-
-**Symptoms**: E2E tests fail with timeout errors
-
-**Solutions**:
-
-1. Check `playwright.config.ts` timeout settings
-2. Ensure preview server starts before tests run (built into config)
-3. Increase timeout in workflow:
- ```yaml
- - name: Run Playwright tests
- run: yarn test:e2e
- env:
- PLAYWRIGHT_TIMEOUT: 60000
- ```
-
-### Build Fails with Out of Memory
-
-**Symptoms**: Build fails with memory allocation errors
-
-**Solutions**:
-
-1. Increase Node.js memory limit:
- ```yaml
- - name: Build project
- run: yarn build
- env:
- NODE_OPTIONS: --max-old-space-size=4096
- ```
-2. Ensure runner has sufficient RAM (minimum 2GB recommended)
-
-### Permission Denied on Runner
-
-**Symptoms**: Runner can't access repository or secrets
-
-**Solutions**:
-
-1. Verify runner has read access to repository
-2. Check secret names match exactly in workflow
-3. Ensure runner user has file system permissions
-
-### Yarn Install Fails with Lockfile Conflict
-
-**Symptoms**: `yarn install --frozen-lockfile` fails
-
-**Solutions**:
-
-1. Ensure `yarn.lock` is up-to-date locally
-2. Run `yarn install` and commit updated `yarn.lock`
-3. Do not use `--frozen-lockfile` if using different platforms (arm64 vs amd64)
-
-### Slow Workflow Execution
-
-**Symptoms**: Workflows take too long to complete
-
-**Solutions**:
-
-1. Verify caching is working (check logs for "Cache restored")
-2. Use `--frozen-lockfile` for faster dependency resolution
-3. Consider matrix strategy for parallel execution (not currently used)
-4. Optimize Playwright tests (reduce test count, increase timeouts only if needed)
-
-## Best Practices
-
-### 1. Keep Dependencies Updated
-
-Regularly update action versions:
-
-```yaml
-- uses: actions/checkout@v4 # Update from v3 to v4 when available
-- uses: actions/setup-node@v4
-```
-
-### 2. Use Frozen Lockfile
-
-Always use `--frozen-lockfile` in CI to ensure reproducible builds:
-
-```bash
-yarn install --frozen-lockfile
-```
-
-### 3. Monitor Workflow Status
-
-Set up notifications for workflow failures:
-
-- Email notifications in Gitea user settings
-- Integrate with Slack/Mattermost for team alerts
-- Use status badges in README
-
-### 4. Test Locally Before Pushing
-
-Run the same checks locally:
-
-```bash
-yarn lint # oxlint
-yarn dprint check # Formatting check
-yarn tsc --noEmit # Type check
-yarn test:e2e # E2E tests
-yarn build # Build
-```
-
-### 5. Leverage Git Hooks
-
-The project uses lefthook for pre-commit/pre-push checks. This catches issues before they reach CI:
-
-```bash
-# Pre-commit: Format code, lint staged files
-# Pre-push: Full type check, format check, full lint
-```
-
-## Additional Resources
-
-- [Gitea Actions Documentation](https://docs.gitea.com/usage/actions/overview)
-- [Gitea act_runner Documentation](https://docs.gitea.com/usage/actions/act-runner)
-- [GitHub Actions Documentation](https://docs.github.com/en/actions)
-- [SvelteKit Deployment Guide](https://kit.svelte.dev/docs/adapters)
-- [Playwright CI/CD Guide](https://playwright.dev/docs/ci)
-
-## Status Badges
-
-Add status badges to your README.md:
-
-```markdown
-
-
-
-```
-
-## Next Steps
-
-1. **Customize deployment**: Modify `deploy.yml` with your deployment strategy
-2. **Add notifications**: Set up workflow failure notifications
-3. **Optimize caching**: Add Playwright cache if needed
-4. **Add badges**: Include status badges in README
-5. **Schedule tasks**: Add periodic tests or dependency updates (optional)
-
----
-
-**Last Updated**: December 30, 2025
-**Version**: 1.0.0
diff --git a/src/routes/Page.svelte b/src/routes/Page.svelte
index a89438d..dae8224 100644
--- a/src/routes/Page.svelte
+++ b/src/routes/Page.svelte
@@ -24,4 +24,4 @@ import {
-
+