diff --git a/README.md b/README.md
index 0b5b541..65a0b96 100644
--- a/README.md
+++ b/README.md
@@ -8,7 +8,7 @@ from the saved theme, all from the same content:
- **`web`** (default) — a light, frosted-glass **website**: a sticky full-height sidebar
(section nav, light/dark switch, desktop switch) beside a column of glass cards — hero with
a socials row, quick tiles, live services, activity heatmap, projects and hardware
- (a masonry gallery), features and friends. Light by default with a persisted dark mode,
+ (a masonry gallery), features and friends. Dark by default with a persisted light mode,
and fully responsive, so phones and desktops get the same shell.
- **`skeuo`** — an alternate KDE Plasma / Windows-style **desktop simulation** (desktop
only): draggable snap-to-grid icons, resizable/floating windows, a Start menu, taskbar and
@@ -26,7 +26,7 @@ more.
- **Two themes / shells** — a default frosted-glass **web** shell and an alternate KDE-style
**desktop** shell, toggled from either UI and persisted in `localStorage` (applied pre-paint
to avoid a flash). Phones always get the web shell.
-- **Light / dark mode** — the web shell has a light/dark switch (light by default, remembered
+- **Light / dark mode** — the web shell has a light/dark switch (dark by default, remembered
in `localStorage`, applied pre-paint). The desktop shell keeps its own Breeze Dark look.
- **Glassmorphic web layout** — a sticky sidebar with section navigation beside a column of
frosted-glass panels (subtle gradients + `backdrop-filter` blur), reorganised into
diff --git a/agents.md b/agents.md
index 0b858ec..dd234d6 100644
--- a/agents.md
+++ b/agents.md
@@ -109,7 +109,8 @@ scripts/
1. `ThemeScript` runs before paint. It reads `localStorage.theme` and sets
`data-theme` (`web` | `skeuo`) on ``, defaulting to `web`; it also reads
`localStorage.scheme` and sets `data-scheme` (`light` | `dark`), defaulting to
- `light`. There is no device sniff anymore.
+ `dark` (only an explicit stored `light` overrides it). There is no device
+ sniff anymore.
2. `useTheme()` (in `useTheme.ts`) reads `data-theme` via `useSyncExternalStore`
and dispatches a `theme-change` event on toggle. `useColorScheme()` does the
same for `data-scheme` via a `scheme-change` event.
@@ -192,6 +193,14 @@ Themes: `web` = default frosted-glass website (sidebar + content, light/dark),
`.web-tile-note` is centered. Every other panel title is centered too:
`.web-section-head` (the eyebrow + `.web-section-title`) and `.web-tile-title`
("Right now" / "Gym PRs"). Desktop keeps the left-aligned headings.
+- The gym PR icons (`.gym-icon--squat` / `--bench` / `--deadlift`) are **pure
+ CSS barbells**, not SVGs: a bar (`::before`) plus plates drawn as layered
+ `linear-gradient` backgrounds on `::after`, all in `currentColor` so they
+ adapt to light/dark and the desktop app surface. More plates per side = a
+ heavier lift (bench 1, squat 2, deadlift 3). Don't swap them back to images.
+- `.web-quick` is top-aligned (`align-items: start`) so the shorter "Right now"
+ tile isn't stretched to the Gym tile's height (it used to leave a big empty
+ gap under the text).
- Under `max-width: 640px` the year-grid heatmap (`.heatmap-container`) and its
legend/hover row (`.heatmap-status-row`) are `display: none` — the grid is
unreadable at phone widths. The contribution total and the commit history
diff --git a/public/bench.svg b/public/bench.svg
deleted file mode 100644
index 22ed036..0000000
--- a/public/bench.svg
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/public/deadlift.svg b/public/deadlift.svg
deleted file mode 100644
index 86fad37..0000000
--- a/public/deadlift.svg
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/public/squat.svg b/public/squat.svg
deleted file mode 100644
index 4b08285..0000000
--- a/public/squat.svg
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/src/app/components/ThemeScript.tsx b/src/app/components/ThemeScript.tsx
index 3780e42..f765eee 100644
--- a/src/app/components/ThemeScript.tsx
+++ b/src/app/components/ThemeScript.tsx
@@ -7,8 +7,9 @@ import { useServerInsertedHTML } from "next/navigation";
// are applied without a flash. It is injected with useServerInsertedHTML so the
//