Files
hanzo.ai/public/favicon.svg
zooqueen 1890414803 the mark on every tab was two layers of one ink
public/favicon.svg painted the five shapes TWICE — a `.rim` copy stroked at
5.5833 behind a `.core` copy — and then set both to the same colour in both
schemes anyone reports: black on black under `prefers-color-scheme: light`,
white on white under `dark`. A stroke that matches its own fill has nothing to
contrast against, so it bridged the gaps between the five shapes and served a
solid blob. Only the no-preference default drew a mark, and no browser says
that. console.hanzo.ai resolves an org's logo to this same URL, so it was
showing the blob too.

LLM.md already states the rule this broke — never draw a logo, take it from the
canonical source, never hand-edit the copy — so the copy is now DERIVED.
@hanzo/brand ships the mark as one layer of five paths in one ink that flips
with the scheme, which is the only construction that cannot bridge itself, and
scripts/sync-mark.mjs copies it in prebuild and refuses a mark that arrives
with a stroke or with the wrong number of shapes.
2026-08-15 13:06:59 -07:00

443 B