# This is NOT the Next.js you know This version has breaking changes — APIs, conventions, and file structure may all differ from your training data. Read the relevant guide in `node_modules/next/dist/docs/` (resolved from this file's directory; in monorepos the `next` package may not be visible from the repo root) before writing any code. Heed deprecation notices. This block is written and re-added by `next dev` — verify at `node_modules/next/dist/server/lib/generate-agent-files.js`. Removing it from a diff only re-creates the uncommitted change; committing it with your work keeps the tree clean. # Anelia Wolf – Projektregeln Dieser Abschnitt steht bewusst UNTER dem generierten Block oben (`next dev` schreibt den Block neu, dieser Teil bleibt). ## Harte Regeln - `src/components/brand/WolfMark.tsx` wird **nie** bearbeitet. - Kein `localStorage`, kein `sessionStorage`, keine Cookies. - Keine externen Requests, Skripte, Schriften oder iframes – die Datenschutzerklärung sagt das zu (`src/content/legal.ts`, Ziffer 2/3/6). - Radius 0, keine Schatten, kein Fettdruck. - Playfair Display (`font-display`) nie unter 28 px. Unter `lg` weicht Text auf `font-sans` (Source Sans 3) aus, statt die Display-Schrift zu verkleinern. - Betonungswort einer Headline: genau ein ``. Kursiv, und auf `data-theme="dark"` zusätzlich golden – das macht eine Regel in `globals.css`, nicht die Komponente. Auf hellem Grund bleibt es rein typografisch (Gold-Verlauf auf Elfenbein = 2,4:1). - Goldene Schrift nur auf `[data-theme="dark"]`; auf Ivory gilt `--gold-deep`. - Sichtbare Copy lebt ausschließlich in `src/content/*.ts`, nie im JSX. ## Konventionen - Jeder Top-Level-Block malt seinen eigenen Grund (`data-theme` + Regel in `globals.css`); die Naht zwischen zwei Gründen ist die goldene Haarlinie. - Scroll-Reveals animieren **nur** `opacity` (+ `y`) – nie `autoAlpha` oder `visibility`, sonst fallen Links aus der Tab-Reihenfolge. - Alle Animationen laufen über `gsap.matchMedia` mit `MM.reduce`/`MM.ok`; GSAP ist die einzige Animations-Runtime im Bundle. - Ein Ankersprung nutzt genau einen Offset: `anchorOffset()` in `TransitionLink.tsx` bzw. `scroll-margin-top` in `globals.css`. - `ScrollTrigger.refresh()` nur über `refreshSoon()` aus `@/lib/gsap`. - Jede `
` braucht eine Überschrift (notfalls das Eyebrow als `

`). - Platzhalter immer über `ph()`; der Build-Guard in `src/lib/legal.ts` stoppt den Launch-Flip, solange irgendwo noch ein „[…]“ steht.