[
  {
    "id": "scope-bento",
    "title": "Zakres współpracy — bento i przełączane panele",
    "name": "Zakres współpracy — bento i przełączane panele",
    "source": {
      "url": "https://audyt.dealyo.io/#zakres",
      "path": "dealyo-audyt-cloudflare/public/index.html",
      "selector": "#zakres .sc-shell > .sc-areas.fc-areas"
    },
    "preview": "scope-bento.html",
    "snippetFile": "snippets/scope-bento.html",
    "dependencies": [
      "audit-critical.css",
      "landing.css",
      "booking.css",
      "preview.css",
      "page.js",
      "motion-loader.js",
      "process-motion.js",
      "assets/general-sans-400.woff2",
      "assets/general-sans-500.woff2",
      "assets/general-sans-600.woff2",
      "assets/general-sans-700.woff2",
      "assets/dealyo-mark.svg",
      "assets/meta-logo.svg",
      "assets/profit-ascii-hall.svg",
      "assets/dealyo-logo-orange.svg"
    ],
    "motion": {
      "component": "Oryginalny page.js przełącza sześć paneli kliknięciem i klawiszami strzałek/Home/End. process-motion.js uruchamia 7 prymitywów animacji bento wyłącznie w widocznym panelu.",
      "scripts": [
        "page.js",
        "motion-loader.js",
        "process-motion.js"
      ],
      "reducedMotion": "Brak animacji bento; przełączanie paneli i nawigacja klawiaturą pozostają aktywne.",
      "sourceEvidence": "motion-loader.js?v=9 imports process-motion.js?v=2; no motion.js import. CSS cascade #critical-css, landing.css?v=70, booking.css?v=8."
    },
    "content": "Oryginalna struktura, klasy, SVG i zachowanie. Treść zewnętrzna zastąpiona polami do uzupełnienia; etykiety ilustracji i nazwy obszarów zachowane ze źródła.",
    "status": "Istniejący komponent — źródłowy kod; izolacja podglądu i jawne decyzje marki w preview.css."
  },
  {
    "id": "before-after",
    "title": "Wyniki — porównanie przed/po i paski proporcji",
    "name": "Wyniki — porównanie przed/po i paski proporcji",
    "source": {
      "url": "https://audyt.dealyo.io/#wyniki",
      "path": "dealyo-audyt-cloudflare/public/index.html",
      "selector": "#wyniki .lp-results-grid > .lp-result-main; #wyniki .lp-result-leads"
    },
    "preview": "before-after.html",
    "snippetFile": "snippets/before-after.html",
    "dependencies": [
      "audit-critical.css",
      "landing.css",
      "booking.css",
      "preview.css",
      "assets/general-sans-400.woff2",
      "assets/general-sans-500.woff2",
      "assets/general-sans-600.woff2",
      "assets/general-sans-700.woff2",
      "assets/dealyo-mark.svg",
      "assets/meta-logo.svg",
      "assets/profit-ascii-hall.svg",
      "assets/dealyo-logo-orange.svg"
    ],
    "motion": {
      "component": "Źródłowe karty, liczby i paski są statyczne. Nie uruchomiono nieużywanego motion.js.",
      "scripts": [],
      "reducedMotion": "Układ i wartości pozostają statyczne.",
      "sourceEvidence": "motion-loader.js?v=9 imports process-motion.js?v=2; no motion.js import. CSS cascade #critical-css, landing.css?v=70, booking.css?v=8."
    },
    "content": "Liczby klienta, wartości proporcji i twierdzenia o wynikach usunięto. Równe paski są polami do uzupełnienia, a nie demonstracją wzrostu.",
    "status": "Istniejący komponent — źródłowy kod; izolacja podglądu i jawne decyzje marki w preview.css."
  },
  {
    "id": "background-field",
    "title": "Tło procesu — ruchome znaki i kropkowane pole",
    "name": "Tło procesu — ruchome znaki i kropkowane pole",
    "source": {
      "url": "https://audyt.dealyo.io/#metoda",
      "path": "dealyo-audyt-cloudflare/public/index.html",
      "selector": "#metoda > .lp-section-head > .process-field"
    },
    "preview": "background-field.html",
    "snippetFile": "snippets/background-field.html",
    "dependencies": [
      "audit-critical.css",
      "landing.css",
      "booking.css",
      "preview.css",
      "motion-loader.js",
      "process-motion.js",
      "assets/general-sans-400.woff2",
      "assets/general-sans-500.woff2",
      "assets/general-sans-600.woff2",
      "assets/general-sans-700.woff2",
      "assets/dealyo-mark.svg",
      "assets/meta-logo.svg",
      "assets/profit-ascii-hall.svg",
      "assets/dealyo-logo-orange.svg"
    ],
    "motion": {
      "component": "Oryginalna pętla process-field-flow 7 s z indywidualnymi ujemnymi opóźnieniami. Nagłówek jest statyczny.",
      "scripts": [
        "motion-loader.js",
        "process-motion.js"
      ],
      "reducedMotion": "Źródłowy CSS całkowicie ukrywa dekoracyjne process-field.",
      "sourceEvidence": "motion-loader.js?v=9 imports process-motion.js?v=2; no motion.js import. CSS cascade #critical-css, landing.css?v=70, booking.css?v=8."
    },
    "content": "Oryginalna struktura, klasy, SVG i zachowanie. Treść zewnętrzna zastąpiona polami do uzupełnienia; etykiety ilustracji i nazwy obszarów zachowane ze źródła.",
    "status": "Istniejący komponent — źródłowy kod; izolacja podglądu i jawne decyzje marki w preview.css."
  },
  {
    "id": "method-ads",
    "title": "Reklama — animowana talia kreacji",
    "name": "Reklama — animowana talia kreacji",
    "source": {
      "url": "https://audyt.dealyo.io/#metoda",
      "path": "dealyo-audyt-cloudflare/public/index.html",
      "selector": "#metoda [data-process-scene=\"method-ads\"]"
    },
    "preview": "method-ads.html",
    "snippetFile": "snippets/method-ads.html",
    "dependencies": [
      "audit-critical.css",
      "landing.css",
      "booking.css",
      "preview.css",
      "motion-loader.js",
      "process-motion.js",
      "assets/general-sans-400.woff2",
      "assets/general-sans-500.woff2",
      "assets/general-sans-600.woff2",
      "assets/general-sans-700.woff2",
      "assets/dealyo-mark.svg",
      "assets/meta-logo.svg",
      "assets/profit-ascii-hall.svg",
      "assets/dealyo-logo-orange.svg"
    ],
    "motion": {
      "component": "Oryginalne SVG, keyframes i czasy aktualnego landing.css; animacja uruchamiana przez process-motion.js po wejściu sceny w kadr. Pauza poza kadrem oraz w ukrytej karcie.",
      "scripts": [
        "motion-loader.js",
        "process-motion.js"
      ],
      "reducedMotion": "Oryginalny process-motion.js nie włącza process-motion-ready; źródłowe SVG pozostaje widoczne i statyczne.",
      "sourceEvidence": "motion-loader.js?v=9 imports process-motion.js?v=2; no motion.js import. CSS cascade #critical-css, landing.css?v=70, booking.css?v=8."
    },
    "content": "Oryginalna struktura, klasy, SVG i zachowanie. Treść zewnętrzna zastąpiona polami do uzupełnienia; etykiety ilustracji i nazwy obszarów zachowane ze źródła.",
    "status": "Istniejący komponent — źródłowy kod; izolacja podglądu i jawne decyzje marki w preview.css."
  },
  {
    "id": "method-conversation",
    "title": "Rozmowa — animowane pytanie i odpowiedź",
    "name": "Rozmowa — animowane pytanie i odpowiedź",
    "source": {
      "url": "https://audyt.dealyo.io/#metoda",
      "path": "dealyo-audyt-cloudflare/public/index.html",
      "selector": "#metoda [data-process-scene=\"method-conversation\"]"
    },
    "preview": "method-conversation.html",
    "snippetFile": "snippets/method-conversation.html",
    "dependencies": [
      "audit-critical.css",
      "landing.css",
      "booking.css",
      "preview.css",
      "motion-loader.js",
      "process-motion.js",
      "assets/general-sans-400.woff2",
      "assets/general-sans-500.woff2",
      "assets/general-sans-600.woff2",
      "assets/general-sans-700.woff2",
      "assets/dealyo-mark.svg",
      "assets/meta-logo.svg",
      "assets/profit-ascii-hall.svg",
      "assets/dealyo-logo-orange.svg"
    ],
    "motion": {
      "component": "Oryginalne SVG, keyframes i czasy aktualnego landing.css; animacja uruchamiana przez process-motion.js po wejściu sceny w kadr. Pauza poza kadrem oraz w ukrytej karcie.",
      "scripts": [
        "motion-loader.js",
        "process-motion.js"
      ],
      "reducedMotion": "Oryginalny process-motion.js nie włącza process-motion-ready; źródłowe SVG pozostaje widoczne i statyczne.",
      "sourceEvidence": "motion-loader.js?v=9 imports process-motion.js?v=2; no motion.js import. CSS cascade #critical-css, landing.css?v=70, booking.css?v=8."
    },
    "content": "Oryginalna struktura, klasy, SVG i zachowanie. Treść zewnętrzna zastąpiona polami do uzupełnienia; etykiety ilustracji i nazwy obszarów zachowane ze źródła.",
    "status": "Istniejący komponent — źródłowy kod; izolacja podglądu i jawne decyzje marki w preview.css."
  },
  {
    "id": "method-meeting",
    "title": "Spotkanie — kalendarz i potwierdzenie",
    "name": "Spotkanie — kalendarz i potwierdzenie",
    "source": {
      "url": "https://audyt.dealyo.io/#metoda",
      "path": "dealyo-audyt-cloudflare/public/index.html",
      "selector": "#metoda [data-process-scene=\"method-meeting\"]"
    },
    "preview": "method-meeting.html",
    "snippetFile": "snippets/method-meeting.html",
    "dependencies": [
      "audit-critical.css",
      "landing.css",
      "booking.css",
      "preview.css",
      "motion-loader.js",
      "process-motion.js",
      "assets/general-sans-400.woff2",
      "assets/general-sans-500.woff2",
      "assets/general-sans-600.woff2",
      "assets/general-sans-700.woff2",
      "assets/dealyo-mark.svg",
      "assets/meta-logo.svg",
      "assets/profit-ascii-hall.svg",
      "assets/dealyo-logo-orange.svg"
    ],
    "motion": {
      "component": "Oryginalne SVG, keyframes i czasy aktualnego landing.css; animacja uruchamiana przez process-motion.js po wejściu sceny w kadr. Pauza poza kadrem oraz w ukrytej karcie.",
      "scripts": [
        "motion-loader.js",
        "process-motion.js"
      ],
      "reducedMotion": "Oryginalny process-motion.js nie włącza process-motion-ready; źródłowe SVG pozostaje widoczne i statyczne.",
      "sourceEvidence": "motion-loader.js?v=9 imports process-motion.js?v=2; no motion.js import. CSS cascade #critical-css, landing.css?v=70, booking.css?v=8."
    },
    "content": "Oryginalna struktura, klasy, SVG i zachowanie. Treść zewnętrzna zastąpiona polami do uzupełnienia; etykiety ilustracji i nazwy obszarów zachowane ze źródła.",
    "status": "Istniejący komponent — źródłowy kod; izolacja podglądu i jawne decyzje marki w preview.css."
  },
  {
    "id": "problem-mismatch",
    "title": "Rozbieżność reklamy i strony — ruch kursora",
    "name": "Rozbieżność reklamy i strony — ruch kursora",
    "source": {
      "url": "https://audyt.dealyo.io/#problem",
      "path": "dealyo-audyt-cloudflare/public/index.html",
      "selector": "#problem [data-process-scene=\"problem-mismatch\"]"
    },
    "preview": "problem-mismatch.html",
    "snippetFile": "snippets/problem-mismatch.html",
    "dependencies": [
      "audit-critical.css",
      "landing.css",
      "booking.css",
      "preview.css",
      "motion-loader.js",
      "process-motion.js",
      "assets/general-sans-400.woff2",
      "assets/general-sans-500.woff2",
      "assets/general-sans-600.woff2",
      "assets/general-sans-700.woff2",
      "assets/dealyo-mark.svg",
      "assets/meta-logo.svg",
      "assets/profit-ascii-hall.svg",
      "assets/dealyo-logo-orange.svg"
    ],
    "motion": {
      "component": "Oryginalne SVG, keyframes i czasy aktualnego landing.css; animacja uruchamiana przez process-motion.js po wejściu sceny w kadr. Pauza poza kadrem oraz w ukrytej karcie.",
      "scripts": [
        "motion-loader.js",
        "process-motion.js"
      ],
      "reducedMotion": "Oryginalny process-motion.js nie włącza process-motion-ready; źródłowe SVG pozostaje widoczne i statyczne.",
      "sourceEvidence": "motion-loader.js?v=9 imports process-motion.js?v=2; no motion.js import. CSS cascade #critical-css, landing.css?v=70, booking.css?v=8."
    },
    "content": "Oryginalna struktura, klasy, SVG i zachowanie. Treść zewnętrzna zastąpiona polami do uzupełnienia; etykiety ilustracji i nazwy obszarów zachowane ze źródła.",
    "status": "Istniejący komponent — źródłowy kod; izolacja podglądu i jawne decyzje marki w preview.css."
  },
  {
    "id": "problem-delay",
    "title": "Opóźniony kontakt — zegar i nieodebrany telefon",
    "name": "Opóźniony kontakt — zegar i nieodebrany telefon",
    "source": {
      "url": "https://audyt.dealyo.io/#problem",
      "path": "dealyo-audyt-cloudflare/public/index.html",
      "selector": "#problem [data-process-scene=\"problem-delay\"]"
    },
    "preview": "problem-delay.html",
    "snippetFile": "snippets/problem-delay.html",
    "dependencies": [
      "audit-critical.css",
      "landing.css",
      "booking.css",
      "preview.css",
      "motion-loader.js",
      "process-motion.js",
      "assets/general-sans-400.woff2",
      "assets/general-sans-500.woff2",
      "assets/general-sans-600.woff2",
      "assets/general-sans-700.woff2",
      "assets/dealyo-mark.svg",
      "assets/meta-logo.svg",
      "assets/profit-ascii-hall.svg",
      "assets/dealyo-logo-orange.svg"
    ],
    "motion": {
      "component": "Oryginalne SVG, keyframes i czasy aktualnego landing.css; animacja uruchamiana przez process-motion.js po wejściu sceny w kadr. Pauza poza kadrem oraz w ukrytej karcie.",
      "scripts": [
        "motion-loader.js",
        "process-motion.js"
      ],
      "reducedMotion": "Oryginalny process-motion.js nie włącza process-motion-ready; źródłowe SVG pozostaje widoczne i statyczne.",
      "sourceEvidence": "motion-loader.js?v=9 imports process-motion.js?v=2; no motion.js import. CSS cascade #critical-css, landing.css?v=70, booking.css?v=8."
    },
    "content": "Oryginalna struktura, klasy, SVG i zachowanie. Treść zewnętrzna zastąpiona polami do uzupełnienia; etykiety ilustracji i nazwy obszarów zachowane ze źródła.",
    "status": "Istniejący komponent — źródłowy kod; izolacja podglądu i jawne decyzje marki w preview.css."
  },
  {
    "id": "problem-no-next-step",
    "title": "Brak następnego kroku — wiadomości i kalendarz",
    "name": "Brak następnego kroku — wiadomości i kalendarz",
    "source": {
      "url": "https://audyt.dealyo.io/#problem",
      "path": "dealyo-audyt-cloudflare/public/index.html",
      "selector": "#problem [data-process-scene=\"problem-no-next-step\"]"
    },
    "preview": "problem-no-next-step.html",
    "snippetFile": "snippets/problem-no-next-step.html",
    "dependencies": [
      "audit-critical.css",
      "landing.css",
      "booking.css",
      "preview.css",
      "motion-loader.js",
      "process-motion.js",
      "assets/general-sans-400.woff2",
      "assets/general-sans-500.woff2",
      "assets/general-sans-600.woff2",
      "assets/general-sans-700.woff2",
      "assets/dealyo-mark.svg",
      "assets/meta-logo.svg",
      "assets/profit-ascii-hall.svg",
      "assets/dealyo-logo-orange.svg"
    ],
    "motion": {
      "component": "Oryginalne SVG, keyframes i czasy aktualnego landing.css; animacja uruchamiana przez process-motion.js po wejściu sceny w kadr. Pauza poza kadrem oraz w ukrytej karcie.",
      "scripts": [
        "motion-loader.js",
        "process-motion.js"
      ],
      "reducedMotion": "Oryginalny process-motion.js nie włącza process-motion-ready; źródłowe SVG pozostaje widoczne i statyczne.",
      "sourceEvidence": "motion-loader.js?v=9 imports process-motion.js?v=2; no motion.js import. CSS cascade #critical-css, landing.css?v=70, booking.css?v=8."
    },
    "content": "Oryginalna struktura, klasy, SVG i zachowanie. Treść zewnętrzna zastąpiona polami do uzupełnienia; etykiety ilustracji i nazwy obszarów zachowane ze źródła.",
    "status": "Istniejący komponent — źródłowy kod; izolacja podglądu i jawne decyzje marki w preview.css."
  },
  {
    "id": "campaign-chart",
    "title": "Wykres kampanii — demonstracja animacji",
    "name": "Wykres kampanii — demonstracja animacji",
    "source": {
      "url": "https://dealyo-homepage-preview.pages.dev/#zakres",
      "path": "dealyo-homepage/dist/index.html",
      "selector": "#zakres .lpup__ads",
      "version": "Lokalny snapshot: app.js?v=74101beceeaf; dealyo.css?v=0fd6a0461dc9. URL wskazuje projekt referencyjny z inną aktualną wersją."
    },
    "preview": "campaign-chart.html",
    "snippetFile": "snippets/campaign-chart.html",
    "dependencies": [
      "base.css",
      "components.css",
      "reviews.css",
      "upgrades.css",
      "work.css",
      "layout.css",
      "dealyo.css",
      "preview.css",
      "homepage-app.js",
      "assets/general-sans-400.woff2",
      "assets/general-sans-500.woff2",
      "assets/general-sans-600.woff2",
      "assets/general-sans-700.woff2",
      "assets/dealyo-mark.svg",
      "assets/meta-logo.svg",
      "assets/profit-ascii-hall.svg",
      "assets/dealyo-logo-orange.svg"
    ],
    "motion": {
      "component": "Oryginalny app.js: przy progu widoczności 0,45 dodaje is-chart-running; 6 słupków rośnie 1,8 s z opóźnieniami 90 ms, wartości dochodzą do demonstracyjnych +48% i −24% przez 2,1 s (ease-out cubic). Animacja jest jednorazowa.",
      "scripts": [
        "homepage-app.js"
      ],
      "reducedMotion": "Wykres i wartości demonstracyjne są widoczne od razu; brak animacji.",
      "sourceEvidence": "Lokalny index.html ładuje app.js?v=74101beceeaf. Żądanie publicznego projektu zwróciło app.js?v=e95b6e845c23, z innym SHA-256 i bez animacji licznika. Ten przykład odtwarza lokalny snapshot; nie deklaruje zgodności z bieżącym live."
    },
    "content": "Dane demonstracyjne pochodzą ze źródłowej „Symulacji kampanii”. Nie są wynikami klienta ani obietnicą.",
    "status": "Istniejący komponent lokalnego podglądu — kopia lokalnego źródła; publiczny URL zawiera inną wersję. Izolacja i decyzje marki w preview.css.",
    "notes": "Źródło: lokalny snapshot dealyo-homepage/dist (app.js?v=74101beceeaf). Publiczny podgląd obecnie ma inną wersję: „Pomiar kampanii”, trzy puste wskaźniki i skrypt e95b6e845c23. Ten przykład zachowuje lokalną „Symulację kampanii” i jej animację."
  }
]
