diff --git a/web/src/assets/marks/aircards-symbol.svg b/web/src/assets/marks/aircards-symbol.svg
index 2b07e64..04bfa83 100644
--- a/web/src/assets/marks/aircards-symbol.svg
+++ b/web/src/assets/marks/aircards-symbol.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/web/src/card/marks.test.ts b/web/src/card/marks.test.ts
index 34bb14b..f42cb5a 100644
--- a/web/src/card/marks.test.ts
+++ b/web/src/card/marks.test.ts
@@ -175,6 +175,21 @@ describe('AirCard-IOS-Marken', () => {
expect(symbol).not.toMatch(/fill-opacity="1"/);
});
+ it('Symbol: die Maske hat keine eigene Region und ihr weißes Feld ist größer als die vordere Karte (kein Haarstrich an der Naht)', () => {
+ const tag = /]*>/.exec(symbol)?.[0] ?? '';
+ // Ohne x/y/width/height gilt die Standardregion (-10 % / 120 % der Karte); eine Region exakt auf der Kartenkante
+ // würde deren Kantenglättung doppelt anwenden und bei Vergrößerung einen hellen Strich lassen.
+ expect(tag).not.toMatch(/\s(?:x|y|width|height|maskUnits)=/);
+ const white = /]*>\s*]*fill="#fff"[^>]*\bd="M(-?[\d.]+)[ ,](-?[\d.]+)h([\d.]+)v([\d.]+)H/.exec(symbol);
+ expect(white, 'weißes Rechteck am Anfang der Maske').not.toBeNull();
+ const [x, y, w, h] = white!.slice(1).map(Number);
+ // Die vordere Karte: x 172–852, y 660–1090.
+ expect(x).toBeLessThan(172);
+ expect(y).toBeLessThan(660);
+ expect(x + w).toBeGreaterThan(852);
+ expect(y + h).toBeGreaterThan(1090);
+ });
+
it('Symbol: enge viewBox um die drei Karten (680 x 730)', () => {
expect(svgAspect(symbol)).toBeCloseTo(680 / 730, 3);
});