{
  "url": "https://www.xnxx.es",
  "auditedAt": "2026-07-20T00:05:39.112Z",
  "mode": "report",
  "status": "completed",
  "statusDetail": "Coverage-complete representative audit of entry, search listing, video detail, account, and 404 recovery templates.",
  "page": {
    "appType": "mpa",
    "framework": "server-rendered multi-page site with client-side enhancement",
    "notes": "Adult media catalog. The age gate was evaluated as a purpose-specific requirement, not automatically treated as an intrusive interstitial."
  },
  "evidenceUsed": [
    "screenshot",
    "dom",
    "evaluate-probe",
    "layout-metrics",
    "trace",
    "har",
    "lighthouse",
    "headers",
    "cookies",
    "trackers",
    "secrets",
    "images",
    "discoverability",
    "heap-summary",
    "robots/sitemap fetch",
    "Modern Web Guidance 0.0.172"
  ],
  "guidanceConsulted": [
    "dark-mode",
    "accessibility",
    "directional-navigation-transitions",
    "shrinking-header-on-scroll",
    "position-aware-tooltips",
    "declarative-dialog-popover-control",
    "css",
    "size-aware-styling",
    "performance",
    "html",
    "security",
    "privacy",
    "passkeys",
    "autofill-sign-in-form",
    "optimize-image-priority",
    "forms",
    "fluid-scaling",
    "webmcp",
    "light-dismiss-a-dialog",
    "search-hidden-content",
    "required-field-feedback",
    "deliver-optimized-decorative-images",
    "reduce-style-repetition"
  ],
  "artifacts": [
    {
      "type": "other",
      "path": "evidence/404-probe.json",
      "caption": "404 probe",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/404.png",
      "caption": "404",
      "findingIds": []
    },
    {
      "type": "dom",
      "path": "evidence/account-dom.json",
      "caption": "account dom",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/account-interaction-probe.json",
      "caption": "account interaction probe",
      "findingIds": [
        "F10",
        "F15",
        "F23",
        "F28"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/account-mobile.png",
      "caption": "account mobile",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/account-probe.json",
      "caption": "account probe",
      "findingIds": [
        "F09",
        "F15",
        "F23",
        "F28"
      ]
    },
    {
      "type": "other",
      "path": "evidence/age-elements.json",
      "caption": "age elements",
      "findingIds": [
        "F07"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/detail-desktop.png",
      "caption": "detail desktop",
      "findingIds": []
    },
    {
      "type": "dom",
      "path": "evidence/detail-dom.json",
      "caption": "detail dom",
      "findingIds": [
        "F20"
      ]
    },
    {
      "type": "layout",
      "path": "evidence/detail-mobile-layout.json",
      "caption": "detail mobile layout",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-accessibility.md",
      "caption": "guidance accessibility",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-autofill-sign-in-form.md",
      "caption": "guidance autofill sign in form",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-css.md",
      "caption": "guidance css",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-dark-mode.md",
      "caption": "guidance dark mode",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-declarative-dialog-popover-control.md",
      "caption": "guidance declarative dialog popover control",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-deliver-optimized-decorative-images.md",
      "caption": "guidance deliver optimized decorative images",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-directional-navigation-transitions.md",
      "caption": "guidance directional navigation transitions",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-fluid-scaling.md",
      "caption": "guidance fluid scaling",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-forms.md",
      "caption": "guidance forms",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-html.md",
      "caption": "guidance html",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-light-dismiss-a-dialog.md",
      "caption": "guidance light dismiss a dialog",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-optimize-image-priority.md",
      "caption": "guidance optimize image priority",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-passkeys.md",
      "caption": "guidance passkeys",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-performance.md",
      "caption": "guidance performance",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-position-aware-tooltips.md",
      "caption": "guidance position aware tooltips",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-privacy.md",
      "caption": "guidance privacy",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-reduce-style-repetition.md",
      "caption": "guidance reduce style repetition",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-required-field-feedback.md",
      "caption": "guidance required field feedback",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-hidden-content.md",
      "caption": "guidance search hidden content",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-searches.txt",
      "caption": "guidance searches",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-security.md",
      "caption": "guidance security",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-shrinking-header-on-scroll.md",
      "caption": "guidance shrinking header on scroll",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-size-aware-styling.md",
      "caption": "guidance size aware styling",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-webmcp.md",
      "caption": "guidance webmcp",
      "findingIds": []
    },
    {
      "type": "heap",
      "path": "evidence/heap-baseline.json",
      "caption": "heap baseline",
      "findingIds": []
    },
    {
      "type": "heap",
      "path": "evidence/heap-post.json",
      "caption": "heap post",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/home-contrast.png",
      "caption": "home contrast",
      "findingIds": [
        "F02"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-cookies.json",
      "caption": "home cookies",
      "findingIds": [
        "F21"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-dark.png",
      "caption": "home dark",
      "findingIds": [
        "F01"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-desktop.png",
      "caption": "home desktop",
      "findingIds": [
        "F07"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-discoverability-crawler.png",
      "caption": "home discoverability crawler",
      "findingIds": [
        "F25"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-discoverability-rendered.png",
      "caption": "home discoverability rendered",
      "findingIds": [
        "F25"
      ]
    },
    {
      "type": "discoverability",
      "path": "evidence/home-discoverability.json",
      "caption": "home discoverability",
      "findingIds": [
        "F25"
      ]
    },
    {
      "type": "dom",
      "path": "evidence/home-dom.json",
      "caption": "home dom",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/home-entered.png",
      "caption": "home entered",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/home-headers.json",
      "caption": "home headers",
      "findingIds": [
        "F21",
        "F24"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-images.json",
      "caption": "home images",
      "findingIds": [
        "F17",
        "F29",
        "F30"
      ]
    },
    {
      "type": "layout",
      "path": "evidence/home-layout.json",
      "caption": "home layout",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/home-probe.json",
      "caption": "home probe",
      "findingIds": [
        "F01",
        "F02",
        "F03",
        "F06",
        "F09",
        "F14",
        "F15",
        "F19",
        "F27"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-secrets.json",
      "caption": "home secrets",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/home-summary.json",
      "caption": "home summary",
      "findingIds": [
        "F12",
        "F13",
        "F22"
      ]
    },
    {
      "type": "trace-summary",
      "path": "evidence/home-trace-summary.json",
      "caption": "home trace summary",
      "findingIds": [
        "F11"
      ]
    },
    {
      "type": "trace",
      "path": "evidence/home-trace.json",
      "caption": "home trace",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/home-trackers.json",
      "caption": "home trackers",
      "findingIds": [
        "F22"
      ]
    },
    {
      "type": "har",
      "path": "evidence/home.har",
      "caption": "home",
      "findingIds": []
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse.json",
      "caption": "lighthouse",
      "findingIds": [
        "F11",
        "F12",
        "F13",
        "F14",
        "F16",
        "F17",
        "F18",
        "F30"
      ]
    },
    {
      "type": "other",
      "path": "evidence/motion-probe.json",
      "caption": "motion probe",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/pwa-probe.json",
      "caption": "pwa probe",
      "findingIds": [
        "F26"
      ]
    },
    {
      "type": "other",
      "path": "evidence/recon.json",
      "caption": "recon",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/robots-headers.txt",
      "caption": "robots headers",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/robots.txt",
      "caption": "robots",
      "findingIds": [
        "F19"
      ]
    },
    {
      "type": "other",
      "path": "evidence/routes.json",
      "caption": "routes",
      "findingIds": []
    },
    {
      "type": "dom",
      "path": "evidence/search-dom.json",
      "caption": "search dom",
      "findingIds": [
        "F04",
        "F20"
      ]
    },
    {
      "type": "other",
      "path": "evidence/search-links.json",
      "caption": "search links",
      "findingIds": []
    },
    {
      "type": "layout",
      "path": "evidence/search-mobile-layout.json",
      "caption": "search mobile layout",
      "findingIds": [
        "F16"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/search-mobile.png",
      "caption": "search mobile",
      "findingIds": [
        "F08"
      ]
    },
    {
      "type": "other",
      "path": "evidence/search-probe.json",
      "caption": "search probe",
      "findingIds": [
        "F03",
        "F04",
        "F05",
        "F06",
        "F09",
        "F10",
        "F14",
        "F16",
        "F27"
      ]
    },
    {
      "type": "other",
      "path": "evidence/sitemap-headers.txt",
      "caption": "sitemap headers",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/sitemap.xml",
      "caption": "sitemap",
      "findingIds": [
        "F19"
      ]
    },
    {
      "type": "other",
      "path": "evidence/video-links.json",
      "caption": "video links",
      "findingIds": []
    }
  ],
  "config": {
    "loaded": false
  },
  "coverage": {
    "catalogVersion": "modern-web-guidance@0.0.172",
    "catalogChecksum": "sha256:78ccfdb2d483f4c57d9dafed80fd86c6265585a56457c8dcfddc254b80fb44d7",
    "expected": 58,
    "recorded": 58,
    "judged": 58,
    "blocked": 0,
    "notRun": 0,
    "missing": 0,
    "unknown": 0,
    "duplicates": 0,
    "complete": true
  },
  "checkOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-color-scheme",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "confidence": "high",
      "status": "issues",
      "method": "Targeted screenshot/DOM/evaluate/network or Lighthouse evidence as cited.",
      "evidence": "The DOM/CSS probe found no color-scheme or prefers-color-scheme rule, and the dark-condition screenshot is pixel-identical in appearance to the default age gate.",
      "artifacts": [
        "evidence/home-dark.png",
        "evidence/home-probe.json"
      ],
      "findingIds": [
        "F01"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-reduced-motion",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "confidence": "high",
      "status": "pass",
      "evidence": "Emulated prefers-reduced-motion:reduce matched, and getAnimations() returned zero active animations on the entry state.",
      "method": "evaluate under reduced-motion",
      "artifacts": [
        "evidence/motion-probe.json"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-contrast",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "confidence": "high",
      "status": "issues",
      "method": "Targeted screenshot/DOM/evaluate/network or Lighthouse evidence as cited.",
      "evidence": "The CSS probe found neither prefers-contrast nor forced-colors handling; essential custom controls rely on fixed blue/white styling.",
      "artifacts": [
        "evidence/home-contrast.png",
        "evidence/home-probe.json"
      ],
      "findingIds": [
        "F02"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "view-transitions",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "confidence": "high",
      "status": "issues",
      "method": "Targeted screenshot/DOM/evaluate/network or Lighthouse evidence as cited.",
      "evidence": "The CSS/DOM probe found no view-transition usage across the home, search, and account templates.",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/search-probe.json"
      ],
      "findingIds": [
        "F03"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "scroll-driven-animations",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "confidence": "medium",
      "status": "pass",
      "evidence": "No scroll-linked effects or main-thread scroll animation behavior were observed; CSS contained no animation-timeline and layout captured no long tasks.",
      "method": "CSS/evaluate plus layout",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/home-layout.json"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "physical-gestures",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "confidence": "medium",
      "status": "pass",
      "evidence": "Representative pages rely on native scrolling and links; no custom pointer-driven gesture surface that fought platform behavior was observed.",
      "method": "DOM/CSS interaction review",
      "artifacts": [
        "evidence/search-dom.json"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "scroll-state-aware-chrome",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "confidence": "high",
      "status": "issues",
      "method": "Targeted screenshot/DOM/evaluate/network or Lighthouse evidence as cited.",
      "evidence": "The search template is a long paginated feed, but CSS inspection found no scroll-state container query, progress cue, or responsive shrinking-header behavior.",
      "artifacts": [
        "evidence/search-dom.json",
        "evidence/search-probe.json"
      ],
      "findingIds": [
        "F04"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "anchored-positioning",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "confidence": "high",
      "status": "issues",
      "method": "Targeted screenshot/DOM/evaluate/network or Lighthouse evidence as cited.",
      "evidence": "The templates expose menu/filter controls, while CSS inspection found no anchor-name, position-anchor, position-try, or native popover usage.",
      "artifacts": [
        "evidence/search-probe.json"
      ],
      "findingIds": [
        "F05"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "directs-attention",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "confidence": "high",
      "status": "issues",
      "method": "Targeted screenshot/DOM/evaluate/network or Lighthouse evidence as cited.",
      "evidence": "The home-to-search-to-detail journey uses full page swaps; no view-transition, highlight, scroll-marker, or other focus-movement cue was found.",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/search-probe.json"
      ],
      "findingIds": [
        "F06"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "no-intrusive-interruptions",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "confidence": "medium",
      "status": "pass",
      "evidence": "The only load-time interstitial is the site-purpose-specific age gate; it clearly states why access is blocked and provides explicit entry choices.",
      "method": "load screenshot and DOM review",
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/age-elements.json"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "semantic-dismissible-primitives",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "confidence": "high",
      "status": "issues",
      "method": "Targeted screenshot/DOM/evaluate/network or Lighthouse evidence as cited.",
      "evidence": "The visible gate is #disclaimer_background with three buttons; DOM inspection found zero dialog elements and the background page remains a large underlying interaction surface.",
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/age-elements.json"
      ],
      "findingIds": [
        "F07"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "reduced-chrome",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "confidence": "high",
      "status": "issues",
      "method": "Targeted screenshot/DOM/evaluate/network or Lighthouse evidence as cited.",
      "evidence": "The 360px search screenshot shows two stacked header bars, seven icon controls, filter/report chrome, and the age gate before the first result.",
      "artifacts": [
        "evidence/search-mobile.png"
      ],
      "findingIds": [
        "F08"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "responsive-no-horizontal-scroll",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "confidence": "high",
      "status": "pass",
      "evidence": "At 360x800, search and detail both reported scrollWidth=clientWidth=360 and horizontalOverflowPx=0 with a viewport meta tag.",
      "method": "mobile layout metrics",
      "artifacts": [
        "evidence/search-mobile-layout.json",
        "evidence/detail-mobile-layout.json"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "component-level-responsiveness",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "confidence": "high",
      "status": "issues",
      "method": "Targeted screenshot/DOM/evaluate/network or Lighthouse evidence as cited.",
      "evidence": "CSS inspection across home, search, and account templates found no @container or container-type usage.",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/search-probe.json",
        "evidence/account-probe.json"
      ],
      "findingIds": [
        "F09"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "input-modality-aware",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "confidence": "high",
      "status": "issues",
      "method": "Targeted screenshot/DOM/evaluate/network or Lighthouse evidence as cited.",
      "evidence": "The focused required account field computed outline-style:none; probes counted 151 sub-44px targets on search and 19 on account.",
      "artifacts": [
        "evidence/account-interaction-probe.json",
        "evidence/search-probe.json"
      ],
      "findingIds": [
        "F10"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-purpose-and-primary-action",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "confidence": "high",
      "status": "pass",
      "evidence": "The gate identifies adult content and its primary entry buttons; search and detail titles communicate their purpose.",
      "method": "first-viewport screenshots and DOM",
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/search-dom.json",
        "evidence/detail-dom.json"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "primary-flow-completion",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "confidence": "medium",
      "status": "pass",
      "evidence": "The representative journey is connected by real hrefs: entry page to /search/ai, then to a concrete /video-* detail URL; all three returned rendered templates. Playback itself was not started to avoid unnecessary media transfer.",
      "method": "manual route/DOM walkthrough",
      "artifacts": [
        "evidence/recon.json",
        "evidence/search-links.json",
        "evidence/detail-dom.json"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-system-state-and-recovery",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "confidence": "high",
      "status": "pass",
      "evidence": "A nonexistent route renders a titled Spanish not-found state with an h1 and a visible return-to-home action; forms use native required constraints.",
      "method": "404 and invalid-form probes",
      "artifacts": [
        "evidence/404.png",
        "evidence/404-probe.json",
        "evidence/account-interaction-probe.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "good-core-web-vitals",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "confidence": "high",
      "status": "issues",
      "method": "Targeted screenshot/DOM/evaluate/network or Lighthouse evidence as cited.",
      "evidence": "Lighthouse measured LCP 5.8s and Time to Interactive 10.2s (performance 0.75), despite low CLS and TBT.",
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/home-trace-summary.json"
      ],
      "findingIds": [
        "F11"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "visual-stability",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "confidence": "high",
      "status": "pass",
      "evidence": "CLS was 0.053 on home, 0.0037 on mobile search, and 0.00008 on mobile detail, all within the good threshold.",
      "method": "layout-shift observers",
      "artifacts": [
        "evidence/home-layout.json",
        "evidence/search-mobile-layout.json",
        "evidence/detail-mobile-layout.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-main-thread",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "confidence": "high",
      "status": "pass",
      "evidence": "Trace recorded zero long tasks and 0ms total blocking time; Lighthouse TBT was 74ms.",
      "method": "trace and Lighthouse",
      "artifacts": [
        "evidence/home-trace-summary.json",
        "evidence/lighthouse.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-resource-delivery",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "confidence": "high",
      "status": "issues",
      "method": "Targeted screenshot/DOM/evaluate/network or Lighthouse evidence as cited.",
      "evidence": "The HAR summary identifies one parser-blocking stylesheet and four parser-inserted script candidates; Lighthouse estimates 1.25s render-blocking savings and 4.9MiB cache-lifetime savings.",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/lighthouse.json"
      ],
      "findingIds": [
        "F12"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "trim-unused-and-duplicate-code",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "confidence": "high",
      "status": "issues",
      "method": "Targeted screenshot/DOM/evaluate/network or Lighthouse evidence as cited.",
      "evidence": "Lighthouse estimates 386KiB unused JavaScript, 123KiB unused CSS, and 51KiB legacy-JavaScript savings.",
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/home-summary.json"
      ],
      "findingIds": [
        "F13"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "names-roles-labels",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "confidence": "high",
      "status": "issues",
      "method": "Targeted screenshot/DOM/evaluate/network or Lighthouse evidence as cited.",
      "evidence": "Lighthouse failed button-name and link-name; the DOM probe found an unnamed account icon, logo link, and many image-only thumbnail links.",
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/home-probe.json",
        "evidence/search-probe.json"
      ],
      "findingIds": [
        "F14"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "sufficient-contrast",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "confidence": "high",
      "status": "pass",
      "evidence": "Lighthouse color-contrast audit passed and the sampled account/age-gate screenshots show strong white/yellow-on-blue contrast.",
      "method": "Lighthouse plus screenshots",
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/account-mobile.png"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "structure-and-focus",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "confidence": "high",
      "status": "issues",
      "method": "Targeted screenshot/DOM/evaluate/network or Lighthouse evidence as cited.",
      "evidence": "The homepage has no h1, the account page starts at repeated h2 headings, and the focused account field reports outline-style:none.",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/account-probe.json",
        "evidence/account-interaction-probe.json"
      ],
      "findingIds": [
        "F15"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "legible-text",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "confidence": "medium",
      "status": "pass",
      "evidence": "Account and age-gate screenshots at 360px show readable type without clipping or horizontal overflow.",
      "method": "mobile screenshot and layout",
      "artifacts": [
        "evidence/account-mobile.png",
        "evidence/search-mobile-layout.json"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "zoom-reflow-targets-and-media",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "confidence": "high",
      "status": "issues",
      "method": "Targeted screenshot/DOM/evaluate/network or Lighthouse evidence as cited.",
      "evidence": "Lighthouse failed meta-viewport because scaling is constrained in its audited DOM, while the probes counted hundreds of controls below 44px; mobile reflow itself showed no horizontal overflow.",
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/search-mobile-layout.json",
        "evidence/search-probe.json"
      ],
      "findingIds": [
        "F16"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "no-console-errors",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "confidence": "high",
      "status": "pass",
      "evidence": "Lighthouse errors-in-console audit passed with no browser errors logged.",
      "method": "Lighthouse console audit",
      "artifacts": [
        "evidence/lighthouse.json"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "sound-document-and-assets",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "confidence": "high",
      "status": "issues",
      "method": "Targeted screenshot/DOM/evaluate/network or Lighthouse evidence as cited.",
      "evidence": "The image audit found 100/100 images without width/height, 100 without srcset, 100 legacy-format images, and 11 oversized images; Lighthouse also failed unsized-images.",
      "artifacts": [
        "evidence/home-images.json",
        "evidence/lighthouse.json"
      ],
      "findingIds": [
        "F17"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "browser-platform-hygiene",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "confidence": "high",
      "status": "issues",
      "method": "Targeted screenshot/DOM/evaluate/network or Lighthouse evidence as cited.",
      "evidence": "Lighthouse failed valid-source-maps for large first-party JavaScript; no console errors or deprecated API failures were observed.",
      "artifacts": [
        "evidence/lighthouse.json"
      ],
      "findingIds": [
        "F18"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "title-and-description",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "confidence": "high",
      "status": "pass",
      "evidence": "Home and search have descriptive Spanish titles and meta descriptions; Lighthouse title and meta-description audits passed.",
      "method": "DOM probes and Lighthouse",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/search-probe.json",
        "evidence/lighthouse.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "crawlable-and-mobile-friendly",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "confidence": "high",
      "status": "pass",
      "evidence": "Lighthouse reports crawlable anchors and indexability; robots.txt allows public routes and both mobile layouts have viewport metadata with no horizontal overflow.",
      "method": "Lighthouse, robots, mobile layout",
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/robots.txt",
        "evidence/search-mobile-layout.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "canonical-and-indexing-signals",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "confidence": "high",
      "status": "issues",
      "method": "Targeted screenshot/DOM/evaluate/network or Lighthouse evidence as cited.",
      "evidence": "DOM probes found no canonical or hreflang on the .es templates; https://www.xnxx.es/sitemap.xml lists only www.xnxx.com sitemap locations.",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/robots.txt",
        "evidence/sitemap.xml"
      ],
      "findingIds": [
        "F19"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "structured-and-shareable-metadata",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "confidence": "high",
      "status": "issues",
      "method": "Targeted screenshot/DOM/evaluate/network or Lighthouse evidence as cited.",
      "evidence": "The representative probes found titles/descriptions but no visible evidence of Open Graph, Twitter Card, or validated schema.org entity metadata.",
      "artifacts": [
        "evidence/search-dom.json",
        "evidence/detail-dom.json"
      ],
      "findingIds": [
        "F20"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "secure-transport-and-headers",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "confidence": "high",
      "status": "issues",
      "method": "Targeted screenshot/DOM/evaluate/network or Lighthouse evidence as cited.",
      "evidence": "Header evidence shows CSP allows unsafe-inline and unsafe-eval, HSTS and nosniff are absent; the 180-day session_token uses SameSite=None.",
      "artifacts": [
        "evidence/home-headers.json",
        "evidence/home-cookies.json"
      ],
      "findingIds": [
        "F21"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "data-minimisation-and-third-parties",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "confidence": "high",
      "status": "issues",
      "method": "Targeted screenshot/DOM/evaluate/network or Lighthouse evidence as cited.",
      "evidence": "HAR captured 13 third-party requests and 346,610 transferred bytes, including www.tjk-njk.com; the tracker primitive found two third-party origins even though no known tracker signature matched.",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home-trackers.json"
      ],
      "findingIds": [
        "F22"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "in-context-permissions-and-modern-auth",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "confidence": "high",
      "status": "issues",
      "method": "Targeted screenshot/DOM/evaluate/network or Lighthouse evidence as cited.",
      "evidence": "The account probe found password sign-in fields and no WebAuthn/PublicKeyCredential integration; required sign-in fields also omit current-password/username autocomplete.",
      "artifacts": [
        "evidence/account-probe.json",
        "evidence/account-interaction-probe.json"
      ],
      "findingIds": [
        "F23"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "defensive-browser-policies",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "confidence": "high",
      "status": "issues",
      "method": "Targeted screenshot/DOM/evaluate/network or Lighthouse evidence as cited.",
      "evidence": "Headers show no HSTS, Permissions-Policy, or nosniff; Referrer-Policy is no-referrer-when-downgrade and CSP relies on X-Frame-Options rather than a visible frame-ancestors directive.",
      "artifacts": [
        "evidence/home-headers.json"
      ],
      "findingIds": [
        "F24"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "progressive-enhancement",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "confidence": "high",
      "status": "issues",
      "method": "Targeted screenshot/DOM/evaluate/network or Lighthouse evidence as cited.",
      "evidence": "Discoverability measured only 31% raw-to-rendered content coverage and reported the rendered title absent from raw HTML, despite a 200 response.",
      "artifacts": [
        "evidence/home-discoverability.json",
        "evidence/home-discoverability-rendered.png",
        "evidence/home-discoverability-crawler.png"
      ],
      "findingIds": [
        "F25"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "resilient-runtime-behaviour",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "confidence": "medium",
      "status": "pass",
      "evidence": "Representative menu/list/detail/account templates rendered without cut-off horizontal overflow, uncaught console errors, or blank runtime states.",
      "method": "layout, DOM and Lighthouse",
      "artifacts": [
        "evidence/search-mobile-layout.json",
        "evidence/lighthouse.json"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "offline-and-installable",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "confidence": "high",
      "status": "issues",
      "method": "Targeted screenshot/DOM/evaluate/network or Lighthouse evidence as cited.",
      "evidence": "The PWA probe found zero service-worker registrations; manifest.json has name/icons/display but no start_url and no offline fallback was demonstrated.",
      "artifacts": [
        "evidence/pwa-probe.json"
      ],
      "findingIds": [
        "F26"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "network-and-http-failure-states",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "confidence": "high",
      "status": "pass",
      "evidence": "The tested nonexistent route provides a specific not-found message and a recovery link instead of a blank shell or infinite spinner.",
      "method": "404 route probe",
      "artifacts": [
        "evidence/404.png",
        "evidence/404-probe.json"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "lang-dir-and-logical-properties",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "confidence": "high",
      "status": "issues",
      "method": "Targeted screenshot/DOM/evaluate/network or Lighthouse evidence as cited.",
      "evidence": "All sampled pages correctly use lang=es, yet CSS inspection found no logical inline/block properties and no dir declaration across a site with language switching.",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/search-probe.json"
      ],
      "findingIds": [
        "F27"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "locale-aware-data",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "confidence": "high",
      "status": "not-applicable",
      "method": "Applicability judgement from representative-page recon.",
      "evidence": "The representative pages contain no dates, currencies, durations, or other locale-sensitive values to format.",
      "reason": "The representative pages contain no dates, currencies, durations, or other locale-sensitive values to format."
    },
    {
      "principleId": "be-internationalised",
      "checkId": "time-zone-correctness",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "confidence": "high",
      "status": "not-applicable",
      "method": "Applicability judgement from representative-page recon.",
      "evidence": "The representative pages contain no events, schedules, or stored time concepts requiring time-zone or DST handling.",
      "reason": "The representative pages contain no events, schedules, or stored time concepts requiring time-zone or DST handling."
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "no-dark-patterns",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "confidence": "medium",
      "status": "pass",
      "evidence": "The age gate states the condition and terms directly; account marketing consent is a separate unchecked checkbox and legal links are visible.",
      "method": "gate/account DOM and screenshots",
      "artifacts": [
        "evidence/age-elements.json",
        "evidence/account-probe.json",
        "evidence/account-mobile.png"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "humane-error-handling",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "confidence": "medium",
      "status": "pass",
      "evidence": "Required account fields use native constraint validation and return specific fill-in messages; no premature visible error was present in the initial account screenshot.",
      "method": "invalid-form probe and screenshot",
      "artifacts": [
        "evidence/account-interaction-probe.json",
        "evidence/account-mobile.png"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "trustworthy-input-assistance",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "confidence": "high",
      "status": "issues",
      "method": "Targeted screenshot/DOM/evaluate/network or Lighthouse evidence as cited.",
      "evidence": "The account probe found empty autocomplete on email/login/password fields except new-password confirmation fields.",
      "artifacts": [
        "evidence/account-probe.json",
        "evidence/account-interaction-probe.json"
      ],
      "findingIds": [
        "F28"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "safe-commercial-and-account-flows",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "confidence": "medium",
      "status": "pass",
      "evidence": "The account surface clearly separates sign-in, registration, recovery and social sign-in; terms and privacy links are visible and no paid commitment occurs in the sampled flow.",
      "method": "account screenshot and DOM",
      "artifacts": [
        "evidence/account-mobile.png",
        "evidence/account-probe.json"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "optimised-assets",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "confidence": "high",
      "status": "issues",
      "method": "Targeted screenshot/DOM/evaluate/network or Lighthouse evidence as cited.",
      "evidence": "The image primitive found 100 legacy PNG/JPEG images, zero modern-format images, zero srcset, 11 oversized images, and 89 below-fold images without lazy loading.",
      "artifacts": [
        "evidence/home-images.json"
      ],
      "findingIds": [
        "F29"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "no-wasteful-work",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "confidence": "high",
      "status": "issues",
      "method": "Targeted screenshot/DOM/evaluate/network or Lighthouse evidence as cited.",
      "evidence": "Lighthouse estimates 509KiB unused CSS/JS and the image audit found 89 below-fold images not marked lazy.",
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/home-images.json"
      ],
      "findingIds": [
        "F30"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "third-party-and-media-budget",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "confidence": "medium",
      "status": "pass",
      "evidence": "The unloaded home/gate state transferred 1.24MiB with 346KiB third-party bytes and did not autoplay video; for a media catalog this sampled pre-playback footprint is proportionate, though asset waste is reported separately.",
      "method": "HAR and DOM video probe",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home-probe.json"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "structured-agent-capabilities",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "confidence": "high",
      "status": "not-applicable",
      "method": "Applicability judgement from representative-page recon.",
      "evidence": "No declared agent-facing intent exists for this public media catalog; this emerging opportunity is not treated as an obligation.",
      "reason": "No declared agent-facing intent exists for this public media catalog; this emerging opportunity is not treated as an obligation."
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "on-device-inference",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "confidence": "high",
      "status": "not-applicable",
      "method": "Applicability judgement from representative-page recon.",
      "evidence": "No user task in the sampled catalog requires on-device language-model or summarisation inference; this emerging check is contextual.",
      "reason": "No user task in the sampled catalog requires on-device language-model or summarisation inference; this emerging check is contextual."
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-leak-under-repeated-interaction",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "confidence": "medium",
      "status": "pass",
      "evidence": "After ten mobile-menu open/close cycles, heap changed from 19.77MB/284,660 nodes to 20.27MB/289,247 nodes (about 2.5%/1.6% across fresh sessions), with no Detached constructor among top populations; no unbounded trend was established.",
      "method": "baseline/post heap-summary comparison",
      "artifacts": [
        "evidence/heap-baseline.json",
        "evidence/heap-post.json"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "bounded-footprint",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "confidence": "medium",
      "status": "pass",
      "evidence": "The sampled page heap was about 19.8-20.3MB for a thumbnail-rich page, proportionate to the rendered catalog state.",
      "method": "heap-summary totals",
      "artifacts": [
        "evidence/heap-baseline.json",
        "evidence/heap-post.json"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-detached-dom-or-unbounded-listeners",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "confidence": "medium",
      "status": "pass",
      "evidence": "No Detached* constructor appeared in the top heap constructor summaries before or after ten menu cycles, and total growth was small rather than runaway.",
      "method": "heap constructor comparison",
      "artifacts": [
        "evidence/heap-baseline.json",
        "evidence/heap-post.json"
      ]
    }
  ],
  "principleOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F01",
        "F02"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F03"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F04",
        "F05",
        "F06"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F07",
        "F08"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F09",
        "F10"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "be-fast-and-stable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F11",
        "F12",
        "F13"
      ]
    },
    {
      "principleId": "be-inclusive",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F14",
        "F15",
        "F16"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F17",
        "F18"
      ]
    },
    {
      "principleId": "be-discoverable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F19",
        "F20"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F21",
        "F22",
        "F23",
        "F24"
      ]
    },
    {
      "principleId": "be-resilient",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F25",
        "F26"
      ]
    },
    {
      "principleId": "be-internationalised",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F27"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F28"
      ]
    },
    {
      "principleId": "be-sustainable",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F29",
        "F30"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "expectation": "contextual",
      "status": "not-applicable",
      "reason": "All checks were judged contextually not applicable to the sampled site intent and content."
    },
    {
      "principleId": "be-memory-efficient",
      "expectation": "default",
      "status": "pass"
    }
  ],
  "paths": [
    {
      "id": "home",
      "description": "Homepage and mandatory age gate: entry purpose, preferences, navigation, load, privacy, discoverability, and memory baseline.",
      "url": "https://www.xnxx.es/",
      "conditions": [
        "desktop 780x493",
        "prefers-color-scheme: dark",
        "prefers-contrast: more",
        "prefers-reduced-motion: reduce",
        "JavaScript-disabled crawler view"
      ],
      "result": "issues"
    },
    {
      "id": "search",
      "description": "AI search results listing: representative long content/catalog template and mobile navigation.",
      "url": "https://www.xnxx.es/search/ai",
      "conditions": [
        "mobile 360x800"
      ],
      "result": "issues"
    },
    {
      "id": "detail",
      "description": "Representative video detail route: media/detail template and mobile reflow. Playback was not started to avoid unnecessary media transfer.",
      "url": "https://www.xnxx.es/video-1ga9yt04/el_arquero_y_la_princesa_generados_por_ia",
      "conditions": [
        "desktop",
        "mobile 360x800"
      ],
      "result": "issues"
    },
    {
      "id": "account",
      "description": "Account sign-in/sign-up/recovery template: forms, focus, autocomplete, authentication, and consent.",
      "url": "https://www.xnxx.es/account/",
      "conditions": [
        "mobile 360x800",
        "keyboard focus",
        "invalid required fields"
      ],
      "result": "issues"
    },
    {
      "id": "not-found",
      "description": "Deliberate nonexistent route: HTTP/application recovery state.",
      "url": "https://www.xnxx.es/definitely-not-a-real-page-404",
      "conditions": [
        "desktop"
      ],
      "result": "pass"
    }
  ],
  "findings": [
    {
      "id": "F01",
      "severity": "medium",
      "confidence": "high",
      "summary": "The interface ignores the system colour-scheme preference.",
      "evidence": "The DOM/CSS probe found no color-scheme or prefers-color-scheme rule, and the dark-condition screenshot is pixel-identical in appearance to the default age gate.",
      "suggestedFix": "Add color-scheme: light dark and preference-driven surface/text tokens, using light-dark() or a prefers-color-scheme fallback.",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-color-scheme",
      "guidanceId": "dark-mode",
      "guidanceCategory": "user-experience",
      "artifacts": [
        "evidence/home-dark.png",
        "evidence/home-probe.json"
      ],
      "effort": "medium"
    },
    {
      "id": "F02",
      "severity": "medium",
      "confidence": "high",
      "summary": "No authored high-contrast or forced-colours adaptation is present.",
      "evidence": "The CSS probe found neither prefers-contrast nor forced-colors handling; essential custom controls rely on fixed blue/white styling.",
      "suggestedFix": "Add forced-colors and prefers-contrast rules that preserve borders, focus indicators, text, and scrollbar visibility.",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-contrast",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "artifacts": [
        "evidence/home-contrast.png",
        "evidence/home-probe.json"
      ],
      "effort": "medium"
    },
    {
      "id": "F03",
      "severity": "low",
      "confidence": "high",
      "summary": "Route and state changes use abrupt swaps rather than directional view transitions.",
      "evidence": "The CSS/DOM probe found no view-transition usage across the home, search, and account templates.",
      "suggestedFix": "Progressively enhance same-origin navigation with cross-document View Transitions and directional cues, retaining instant navigation as fallback.",
      "principleId": "implement-natural-interactions",
      "principleCheckId": "view-transitions",
      "guidanceId": "directional-navigation-transitions",
      "guidanceCategory": "user-experience",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/search-probe.json"
      ],
      "effort": "small"
    },
    {
      "id": "F04",
      "severity": "low",
      "confidence": "high",
      "summary": "Long listing chrome does not react to scroll state.",
      "evidence": "The search template is a long paginated feed, but CSS inspection found no scroll-state container query, progress cue, or responsive shrinking-header behavior.",
      "suggestedFix": "Use scroll-state container queries for a compact sticky header or a lightweight progress/scrollability cue.",
      "principleId": "provide-guided-navigation",
      "principleCheckId": "scroll-state-aware-chrome",
      "guidanceId": "shrinking-header-on-scroll",
      "guidanceCategory": "user-experience",
      "artifacts": [
        "evidence/search-dom.json",
        "evidence/search-probe.json"
      ],
      "effort": "small"
    },
    {
      "id": "F05",
      "severity": "low",
      "confidence": "high",
      "summary": "Menus and transient header controls are not anchored with resilient platform positioning.",
      "evidence": "The templates expose menu/filter controls, while CSS inspection found no anchor-name, position-anchor, position-try, or native popover usage.",
      "suggestedFix": "Implement transient menus with popover and CSS anchor positioning plus position-try fallbacks.",
      "principleId": "provide-guided-navigation",
      "principleCheckId": "anchored-positioning",
      "guidanceId": "position-aware-tooltips",
      "guidanceCategory": "user-experience",
      "artifacts": [
        "evidence/search-probe.json"
      ],
      "effort": "small"
    },
    {
      "id": "F06",
      "severity": "low",
      "confidence": "high",
      "summary": "Navigation changes do not provide an attention cue.",
      "evidence": "The home-to-search-to-detail journey uses full page swaps; no view-transition, highlight, scroll-marker, or other focus-movement cue was found.",
      "suggestedFix": "Add directional View Transitions and move focus to the destination heading after route changes.",
      "principleId": "provide-guided-navigation",
      "principleCheckId": "directs-attention",
      "guidanceId": "directional-navigation-transitions",
      "guidanceCategory": "user-experience",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/search-probe.json"
      ],
      "effort": "small"
    },
    {
      "id": "F07",
      "severity": "high",
      "confidence": "high",
      "summary": "The mandatory age gate is a custom full-screen div rather than a semantic modal.",
      "evidence": "The visible gate is #disclaimer_background with three buttons; DOM inspection found zero dialog elements and the background page remains a large underlying interaction surface.",
      "suggestedFix": "Implement the gate as a modal <dialog>, move initial focus inside it, mark the rest inert, and define an explicit dismissal policy appropriate to age verification.",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "semantic-dismissible-primitives",
      "guidanceId": "declarative-dialog-popover-control",
      "guidanceCategory": "user-experience",
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/age-elements.json"
      ],
      "effort": "large"
    },
    {
      "id": "F08",
      "severity": "medium",
      "confidence": "high",
      "summary": "Dense navigation chrome competes with the listing content on mobile.",
      "evidence": "The 360px search screenshot shows two stacked header bars, seven icon controls, filter/report chrome, and the age gate before the first result.",
      "suggestedFix": "Consolidate secondary controls behind a labelled menu and keep the primary search/content actions visually dominant.",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "reduced-chrome",
      "guidanceId": "css",
      "guidanceCategory": "css",
      "artifacts": [
        "evidence/search-mobile.png"
      ],
      "effort": "medium"
    },
    {
      "id": "F09",
      "severity": "low",
      "confidence": "high",
      "summary": "Reusable cards and controls rely on viewport rules rather than component-level responsiveness.",
      "evidence": "CSS inspection across home, search, and account templates found no @container or container-type usage.",
      "suggestedFix": "Add container-type to reusable card/form regions and use size container queries for local layout changes, with existing viewport styles as fallback.",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "component-level-responsiveness",
      "guidanceId": "size-aware-styling",
      "guidanceCategory": "user-experience",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/search-probe.json",
        "evidence/account-probe.json"
      ],
      "effort": "small"
    },
    {
      "id": "F10",
      "severity": "high",
      "confidence": "high",
      "summary": "Keyboard focus is not reliably visible and many targets are undersized.",
      "evidence": "The focused required account field computed outline-style:none; probes counted 151 sub-44px targets on search and 19 on account.",
      "suggestedFix": "Provide a high-contrast :focus-visible outline and enlarge interactive hit areas to at least 44 by 44 CSS pixels where feasible.",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "input-modality-aware",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "artifacts": [
        "evidence/account-interaction-probe.json",
        "evidence/search-probe.json"
      ],
      "effort": "large"
    },
    {
      "id": "F11",
      "severity": "high",
      "confidence": "high",
      "summary": "The measured mobile load misses the good LCP range.",
      "evidence": "Lighthouse measured LCP 5.8s and Time to Interactive 10.2s (performance 0.75), despite low CLS and TBT.",
      "suggestedFix": "Prioritise the LCP resource, remove render-blocking work, and defer non-critical scripts and below-fold thumbnails.",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "good-core-web-vitals",
      "guidanceId": "performance",
      "guidanceCategory": "performance",
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/home-trace-summary.json"
      ],
      "effort": "large"
    },
    {
      "id": "F12",
      "severity": "high",
      "confidence": "high",
      "summary": "Critical delivery is slowed by blocking resources and weak cache/font/image delivery.",
      "evidence": "The HAR summary identifies one parser-blocking stylesheet and four parser-inserted script candidates; Lighthouse estimates 1.25s render-blocking savings and 4.9MiB cache-lifetime savings.",
      "suggestedFix": "Inline only critical CSS, defer non-critical classic scripts, set long immutable caching on versioned assets, and use font-display with suitable fallbacks.",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "efficient-resource-delivery",
      "guidanceId": "performance",
      "guidanceCategory": "performance",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/lighthouse.json"
      ],
      "effort": "large"
    },
    {
      "id": "F13",
      "severity": "medium",
      "confidence": "high",
      "summary": "The page ships substantial unused CSS and JavaScript.",
      "evidence": "Lighthouse estimates 386KiB unused JavaScript, 123KiB unused CSS, and 51KiB legacy-JavaScript savings.",
      "suggestedFix": "Split template-specific bundles, remove dead/duplicate rules, and serve a modern module build without avoidable legacy transforms.",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "trim-unused-and-duplicate-code",
      "guidanceId": "performance",
      "guidanceCategory": "performance",
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/home-summary.json"
      ],
      "effort": "medium"
    },
    {
      "id": "F14",
      "severity": "high",
      "confidence": "high",
      "summary": "Important buttons and links lack accessible names.",
      "evidence": "Lighthouse failed button-name and link-name; the DOM probe found an unnamed account icon, logo link, and many image-only thumbnail links.",
      "suggestedFix": "Give icon controls aria-labels or visible text, ensure thumbnail links derive names from adjacent titles, and preserve native semantics.",
      "principleId": "be-inclusive",
      "principleCheckId": "names-roles-labels",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/home-probe.json",
        "evidence/search-probe.json"
      ],
      "effort": "large"
    },
    {
      "id": "F15",
      "severity": "high",
      "confidence": "high",
      "summary": "Heading/landmark structure and focus treatment are inconsistent.",
      "evidence": "The homepage has no h1, the account page starts at repeated h2 headings, and the focused account field reports outline-style:none.",
      "suggestedFix": "Add one descriptive h1 per template, a main landmark, sequential headings, a skip link, and a persistent :focus-visible indicator.",
      "principleId": "be-inclusive",
      "principleCheckId": "structure-and-focus",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/account-probe.json",
        "evidence/account-interaction-probe.json"
      ],
      "effort": "large"
    },
    {
      "id": "F16",
      "severity": "high",
      "confidence": "high",
      "summary": "Zoom policy and small targets reduce inclusive input access.",
      "evidence": "Lighthouse failed meta-viewport because scaling is constrained in its audited DOM, while the probes counted hundreds of controls below 44px; mobile reflow itself showed no horizontal overflow.",
      "suggestedFix": "Allow unrestricted user scaling, enlarge targets, and verify captions/equivalents on every video template.",
      "principleId": "be-inclusive",
      "principleCheckId": "zoom-reflow-targets-and-media",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/search-mobile-layout.json",
        "evidence/search-probe.json"
      ],
      "effort": "large"
    },
    {
      "id": "F17",
      "severity": "medium",
      "confidence": "high",
      "summary": "Image assets are unsized and not responsively delivered.",
      "evidence": "The image audit found 100/100 images without width/height, 100 without srcset, 100 legacy-format images, and 11 oversized images; Lighthouse also failed unsized-images.",
      "suggestedFix": "Set intrinsic width/height, generate srcset/sizes, and serve AVIF/WebP with a compatible fallback.",
      "principleId": "follow-best-practices",
      "principleCheckId": "sound-document-and-assets",
      "guidanceId": "html",
      "guidanceCategory": "html",
      "artifacts": [
        "evidence/home-images.json",
        "evidence/lighthouse.json"
      ],
      "effort": "medium"
    },
    {
      "id": "F18",
      "severity": "low",
      "confidence": "high",
      "summary": "Large first-party scripts ship without valid source maps.",
      "evidence": "Lighthouse failed valid-source-maps for large first-party JavaScript; no console errors or deprecated API failures were observed.",
      "suggestedFix": "Publish matching production source maps with restricted access if needed, and keep build metadata aligned with deployed bundles.",
      "principleId": "follow-best-practices",
      "principleCheckId": "browser-platform-hygiene",
      "guidanceId": "html",
      "guidanceCategory": "html",
      "artifacts": [
        "evidence/lighthouse.json"
      ],
      "effort": "small"
    },
    {
      "id": "F19",
      "severity": "medium",
      "confidence": "high",
      "summary": "Canonical and localization signals are incomplete and the sitemap host is inconsistent.",
      "evidence": "DOM probes found no canonical or hreflang on the .es templates; https://www.xnxx.es/sitemap.xml lists only www.xnxx.com sitemap locations.",
      "suggestedFix": "Add self-consistent canonical and hreflang alternates for localized pages and publish a host-consistent sitemap referenced by robots.txt.",
      "principleId": "be-discoverable",
      "principleCheckId": "canonical-and-indexing-signals",
      "guidanceId": "html",
      "guidanceCategory": "html",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/robots.txt",
        "evidence/sitemap.xml"
      ],
      "effort": "medium"
    },
    {
      "id": "F20",
      "severity": "medium",
      "confidence": "high",
      "summary": "Public listing/detail templates lack verified rich/share metadata.",
      "evidence": "The representative probes found titles/descriptions but no visible evidence of Open Graph, Twitter Card, or validated schema.org entity metadata.",
      "suggestedFix": "Add accurate Open Graph/Twitter metadata and VideoObject/BreadcrumbList JSON-LD matching visible page content.",
      "principleId": "be-discoverable",
      "principleCheckId": "structured-and-shareable-metadata",
      "guidanceId": "html",
      "guidanceCategory": "html",
      "artifacts": [
        "evidence/search-dom.json",
        "evidence/detail-dom.json"
      ],
      "effort": "medium"
    },
    {
      "id": "F21",
      "severity": "high",
      "confidence": "high",
      "summary": "Transport is HTTPS, but the CSP and cookie/header posture are weaker than the baseline.",
      "evidence": "Header evidence shows CSP allows unsafe-inline and unsafe-eval, HSTS and nosniff are absent; the 180-day session_token uses SameSite=None.",
      "suggestedFix": "Deploy CSP nonces/hashes without unsafe-eval, add HSTS and nosniff, and use Lax/Strict for the first-party session cookie unless cross-site use is essential.",
      "principleId": "be-private-and-secure",
      "principleCheckId": "secure-transport-and-headers",
      "guidanceId": "security",
      "guidanceCategory": "security",
      "artifacts": [
        "evidence/home-headers.json",
        "evidence/home-cookies.json"
      ],
      "effort": "large"
    },
    {
      "id": "F22",
      "severity": "medium",
      "confidence": "high",
      "summary": "Third-party delivery occurs before any recorded preference choice.",
      "evidence": "HAR captured 13 third-party requests and 346,610 transferred bytes, including www.tjk-njk.com; the tracker primitive found two third-party origins even though no known tracker signature matched.",
      "suggestedFix": "Document each third party, gate non-essential requests on consent, proxy or remove unnecessary calls, and batch analytics.",
      "principleId": "be-private-and-secure",
      "principleCheckId": "data-minimisation-and-third-parties",
      "guidanceId": "privacy",
      "guidanceCategory": "privacy",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home-trackers.json"
      ],
      "effort": "medium"
    },
    {
      "id": "F23",
      "severity": "high",
      "confidence": "high",
      "summary": "Account authentication is password-only and does not expose passkeys.",
      "evidence": "The account probe found password sign-in fields and no WebAuthn/PublicKeyCredential integration; required sign-in fields also omit current-password/username autocomplete.",
      "suggestedFix": "Offer passkey registration and authentication alongside recovery-safe password fallback, and add correct sign-in autocomplete tokens.",
      "principleId": "be-private-and-secure",
      "principleCheckId": "in-context-permissions-and-modern-auth",
      "guidanceId": "passkeys",
      "guidanceCategory": "passkeys",
      "artifacts": [
        "evidence/account-probe.json",
        "evidence/account-interaction-probe.json"
      ],
      "effort": "large"
    },
    {
      "id": "F24",
      "severity": "high",
      "confidence": "high",
      "summary": "Several browser-enforced defensive policies are absent or weak.",
      "evidence": "Headers show no HSTS, Permissions-Policy, or nosniff; Referrer-Policy is no-referrer-when-downgrade and CSP relies on X-Frame-Options rather than a visible frame-ancestors directive.",
      "suggestedFix": "Add HSTS, Permissions-Policy, nosniff, strict-origin-when-cross-origin (or stricter), and CSP frame-ancestors; assess Trusted Types for script-heavy surfaces.",
      "principleId": "be-private-and-secure",
      "principleCheckId": "defensive-browser-policies",
      "guidanceId": "security",
      "guidanceCategory": "security",
      "artifacts": [
        "evidence/home-headers.json"
      ],
      "effort": "large"
    },
    {
      "id": "F25",
      "severity": "high",
      "confidence": "high",
      "summary": "Most rendered content is unavailable to a crawler that does not execute JavaScript.",
      "evidence": "Discoverability measured only 31% raw-to-rendered content coverage and reported the rendered title absent from raw HTML, despite a 200 response.",
      "suggestedFix": "Server-render essential listings, titles, and navigation; use JavaScript to enhance sorting, personalization, and playback rather than create core text.",
      "principleId": "be-resilient",
      "principleCheckId": "progressive-enhancement",
      "guidanceId": "html",
      "guidanceCategory": "html",
      "artifacts": [
        "evidence/home-discoverability.json",
        "evidence/home-discoverability-rendered.png",
        "evidence/home-discoverability-crawler.png"
      ],
      "effort": "large"
    },
    {
      "id": "F26",
      "severity": "medium",
      "confidence": "high",
      "summary": "The standalone manifest is incomplete and there is no active service worker.",
      "evidence": "The PWA probe found zero service-worker registrations; manifest.json has name/icons/display but no start_url and no offline fallback was demonstrated.",
      "suggestedFix": "If standalone installation is intended, add start_url/scope/id, register a service worker, and provide an explicit offline fallback; otherwise remove misleading standalone intent.",
      "principleId": "be-resilient",
      "principleCheckId": "offline-and-installable",
      "guidanceId": "html",
      "guidanceCategory": "html",
      "artifacts": [
        "evidence/pwa-probe.json"
      ],
      "effort": "medium"
    },
    {
      "id": "F27",
      "severity": "medium",
      "confidence": "high",
      "summary": "Language is declared, but the layout is not writing-mode resilient.",
      "evidence": "All sampled pages correctly use lang=es, yet CSS inspection found no logical inline/block properties and no dir declaration across a site with language switching.",
      "suggestedFix": "Retain correct lang, set direction from locale, and replace physical left/right spacing and positioning with logical properties.",
      "principleId": "be-internationalised",
      "principleCheckId": "lang-dir-and-logical-properties",
      "guidanceId": "css",
      "guidanceCategory": "css",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/search-probe.json"
      ],
      "effort": "medium"
    },
    {
      "id": "F28",
      "severity": "medium",
      "confidence": "high",
      "summary": "Sign-up, sign-in, and recovery fields omit useful autocomplete tokens.",
      "evidence": "The account probe found empty autocomplete on email/login/password fields except new-password confirmation fields.",
      "suggestedFix": "Use username, email, current-password, new-password, and profile-appropriate tokens on the corresponding controls.",
      "principleId": "be-trustworthy",
      "principleCheckId": "trustworthy-input-assistance",
      "guidanceId": "autofill-sign-in-form",
      "guidanceCategory": "user-experience",
      "artifacts": [
        "evidence/account-probe.json",
        "evidence/account-interaction-probe.json"
      ],
      "effort": "medium"
    },
    {
      "id": "F29",
      "severity": "high",
      "confidence": "high",
      "summary": "The thumbnail-heavy experience does not optimise image formats or responsive delivery.",
      "evidence": "The image primitive found 100 legacy PNG/JPEG images, zero modern-format images, zero srcset, 11 oversized images, and 89 below-fold images without lazy loading.",
      "suggestedFix": "Generate AVIF/WebP variants, use picture/srcset/sizes, set dimensions, and lazy-load below-fold thumbnails while keeping the LCP image eager.",
      "principleId": "be-sustainable",
      "principleCheckId": "optimised-assets",
      "guidanceId": "optimize-image-priority",
      "guidanceCategory": "user-experience",
      "artifacts": [
        "evidence/home-images.json"
      ],
      "effort": "large"
    },
    {
      "id": "F30",
      "severity": "medium",
      "confidence": "high",
      "summary": "Large unused bundles and eager below-fold image work waste network and processing resources.",
      "evidence": "Lighthouse estimates 509KiB unused CSS/JS and the image audit found 89 below-fold images not marked lazy.",
      "suggestedFix": "Remove unused bundle code, conditionally load template features, and defer below-fold image/rendering work with loading=lazy and content-visibility where suitable.",
      "principleId": "be-sustainable",
      "principleCheckId": "no-wasteful-work",
      "guidanceId": "performance",
      "guidanceCategory": "performance",
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/home-images.json"
      ],
      "effort": "medium"
    }
  ],
  "taskList": [
    {
      "id": "T1",
      "title": "Make the age gate a keyboard-safe semantic modal and repair names/focus/targets",
      "priority": 1,
      "findingIds": [
        "F07",
        "F10",
        "F14",
        "F15",
        "F16"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T2",
      "title": "Fix LCP and critical resource delivery; remove unused and legacy bundles",
      "priority": 2,
      "findingIds": [
        "F11",
        "F12",
        "F13"
      ],
      "guidanceId": "performance",
      "status": "open"
    },
    {
      "id": "T3",
      "title": "Harden CSP, transport headers, browser policies, cookies, and third-party gating",
      "priority": 3,
      "findingIds": [
        "F21",
        "F22",
        "F24"
      ],
      "guidanceId": "security",
      "status": "open"
    },
    {
      "id": "T4",
      "title": "Add passkeys and correct account autocomplete tokens",
      "priority": 4,
      "findingIds": [
        "F23",
        "F28"
      ],
      "guidanceId": "passkeys",
      "status": "open"
    },
    {
      "id": "T5",
      "title": "Build a responsive modern-image pipeline with dimensions, srcset, formats, and lazy loading",
      "priority": 5,
      "findingIds": [
        "F17",
        "F29",
        "F30"
      ],
      "guidanceId": "optimize-image-priority",
      "status": "open"
    },
    {
      "id": "T6",
      "title": "Server-render core catalog content and complete install/offline intent",
      "priority": 6,
      "findingIds": [
        "F25",
        "F26"
      ],
      "guidanceId": "html",
      "status": "open"
    },
    {
      "id": "T7",
      "title": "Add canonical, hreflang, sitemap consistency, and rich share metadata",
      "priority": 7,
      "findingIds": [
        "F19",
        "F20"
      ],
      "guidanceId": "html",
      "status": "open"
    },
    {
      "id": "T8",
      "title": "Add preference-responsive theme and contrast styles",
      "priority": 8,
      "findingIds": [
        "F01",
        "F02"
      ],
      "guidanceId": "dark-mode",
      "status": "open"
    },
    {
      "id": "T9",
      "title": "Simplify mobile chrome and progressively enhance navigation cues/positioning",
      "priority": 9,
      "findingIds": [
        "F03",
        "F04",
        "F05",
        "F06",
        "F08"
      ],
      "guidanceId": "directional-navigation-transitions",
      "status": "open"
    },
    {
      "id": "T10",
      "title": "Adopt container queries and logical properties for reusable/localized layouts",
      "priority": 10,
      "findingIds": [
        "F09",
        "F27"
      ],
      "guidanceId": "size-aware-styling",
      "status": "open"
    }
  ],
  "budget": {
    "pathCount": 5,
    "auditPasses": 1
  },
  "agent": "pi",
  "runId": "2026-07-20T00-05-39-112Z"
}
