You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Apply final-review fixes: correct !important record, document styling convention, retire dead max-* artefacts, close anchors test gap
Fixes the four Important findings from the final whole-branch review:
- .nav-github's !important is load-bearing (specificity, not layering);
documented why. .footer-brand's !important was inert; dropped it and
corrected the comment that had cited a false precedent. Corrected the
Task 7/12 entries in deferred-findings.md to match.
- Added a "Styling conventions" section to README.md recording the
utilities-vs-scoped-CSS rule the branch actually followed.
- Removed the dead --breakpoint-xs token, corrected Navbar's comment that
claimed its media query was "mirrored with max-md: semantics" (the
opposite is true), and noted in the plan that the max-* variant approach
was rejected in favour of raw @media blocks.
- extract.mjs now captures target/rel on anchors so the "target and label"
test name matches what it checks.
Also fixes a stale baseline line-range comment in index.astro (1298-1324 ->
1298-1325).
11/11 parity tests pass, astro build is clean, astro check reports 0
errors/warnings. Verified in Chrome that .footer-brand's computed color is
unchanged (rgb(226, 232, 240)) with and without the !important.
Copy file name to clipboardExpand all lines: docs/superpowers/plans/2026-08-23-astro-migration.md
+6Lines changed: 6 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -79,6 +79,8 @@ For each component task the procedure is mechanical and identical:
79
79
2. For each declaration, write the equivalent Tailwind utility on the element. Where no utility exists, use an arbitrary value (`bg-[rgba(10,14,23,0.85)]`, `w-[44px]`).
80
80
3. The original stylesheet is **desktop-first**: the unprefixed rule is the desktop one and `@media (max-width: 768px)` / `@media (max-width: 480px)` blocks override it downward. **Mirror that structure exactly using Tailwind v4's `max-*` variants** — the desktop declaration stays unprefixed and the override becomes `max-md:` or `max-xs:`. Do **not** invert the stylesheet into mobile-first; inverting is the single most likely defect in this migration and buys nothing here.
81
81
82
+
*(Note, added during implementation: this `max-*` variant approach was rejected. All eight responsive overrides in the branch use raw `@media` blocks instead, because they match the baseline's inclusive `<=` boundaries exactly — see the next paragraph, and the comments in `Hero.astro` and `Navbar.astro`.)*
@@ -88,6 +90,8 @@ For each component task the procedure is mechanical and identical:
88
90
```
89
91
90
92
`max-md` is `< 48rem` and `max-xs` is `< 30rem`, against the baseline's `<= 768px` and `<= 480px`. The two differ only at exactly 768.00 and 480.00 CSS pixels. That is accepted.
93
+
94
+
*(Note, added during implementation: this off-by-one-pixel difference is not actually present in the branch — every responsive override was implemented as a raw `@media` block, not a `max-*` variant, precisely to hit the baseline's boundary exactly.)*
91
95
4. Do not invent, round, or "improve" any value. Copy pixel and colour values exactly.
92
96
93
97
Two things Task 7 discovered the hard way, which every later component task inherits:
Keep the baseline's desktop-first structure: the horizontal nav stays unprefixed and the drawer override becomes `max-md:`. Do not invert to mobile-first.
1175
1179
1180
+
*(Note, added during implementation: the drawer override was implemented as a raw `@media (max-width:768px)` block, not `max-md:`, because `max-md:` excludes exactly 768px while the baseline's boundary is inclusive — see the comment in `Navbar.astro`.)*
0 commit comments