{
  "url": "https://www.xnxx2.com",
  "auditedAt": "2026-07-20T20:24:37.939Z",
  "mode": "report",
  "status": "completed",
  "statusDetail": "Requested URL redirects to https://www.xnxx.com/. Complete atomic audit across 58 checks and five representative paths.",
  "page": {
    "appType": "mpa",
    "framework": "server-rendered MPA with legacy JavaScript/jQuery",
    "notes": "Adult media site. Entry requires an age gate and then cookie choice. Requested xnxx2.com redirects to xnxx.com."
  },
  "evidenceUsed": [
    "screenshot",
    "dom",
    "evaluate-probe",
    "layout-metrics",
    "discoverability",
    "images",
    "headers",
    "cookies",
    "trackers",
    "secrets",
    "trace",
    "har",
    "lighthouse",
    "heap-summary",
    "transition-video",
    "Modern Web Guidance 0.0.172"
  ],
  "guidanceConsulted": [
    "dark-mode",
    "component-specific-light-dark-theme",
    "accessibility",
    "adapt-scrollbar-to-contrast-preferences",
    "same-document-transitions",
    "cross-document-transitions",
    "group-element-transitions",
    "faster-spa-view-transitions",
    "scrollytelling",
    "parallax-scroll-effects",
    "scroll-entry-exit-effects",
    "carousel-slide-effects",
    "physics-based-easing",
    "individual-transform-properties",
    "animate-element-entry-exit",
    "animate-to-from-top-layer",
    "animate-to-intrinsic-sizes",
    "dynamic-sibling-animations",
    "interactive-content-reveal",
    "pull-to-reveal",
    "swipe-to-remove",
    "shrinking-header-on-scroll",
    "scroll-progress-indicator",
    "scroll-position-aware-elements",
    "scroll-snap-realtime-feedback",
    "scroll-snap-state-sync",
    "scroll-target-on-load",
    "soft-edge-content-fade",
    "scrollability-affordance-hints",
    "anchor-positioning-tab-underline",
    "position-aware-tooltips",
    "interest-triggered-tooltips",
    "interest-triggered-action-previews",
    "directional-navigation-transitions",
    "carousel-snap-highlights",
    "navigation-drawer",
    "stack-drill-down",
    "persistent-app-tours",
    "persistent-toast-notifications",
    "light-dismiss-a-dialog",
    "platform-controls-dismiss-dialog",
    "declarative-dialog-popover-control",
    "animated-select-picker",
    "branded-select-styling",
    "brand-consistent-forms",
    "custom-select-picker-layouts",
    "rich-media-picker",
    "complex-shapes",
    "shaped-cutouts",
    "overflow-clipping-control",
    "visually-texture-content",
    "apply-webgl-shaders",
    "interactive-content-in-3d-scenes",
    "highlight-text-ranges",
    "prevent-text-wrapping",
    "customize-scrollbar-color-and-thickness",
    "export-html-media-from-canvas",
    "fluid-scaling",
    "calculate-with-intrinsic-sizes",
    "css-layout",
    "size-aware-styling",
    "content-based-styling",
    "child-state-based-styling",
    "design-token-reactivity",
    "dynamic-sibling-styling",
    "form-fields-automatically-fit-contents",
    "improve-text-layout-and-legibility",
    "forms",
    "accessible-error-announcement",
    "required-field-feedback",
    "validate-input-after-interaction",
    "identify-inp-causes",
    "schedule-tasks-by-priority",
    "optimize-preload-priority",
    "improve-next-page-load-performance",
    "interactions-in-complex-layouts",
    "performance",
    "visually-stable-font-fallbacks",
    "break-up-long-tasks",
    "identify-heavy-scripts",
    "optimize-script-priority",
    "defer-rendering-heavy-content",
    "defer-work-until-scroll-ends",
    "optimize-image-priority",
    "conditional-async-dependencies",
    "expose-canvas-content-to-browser-features",
    "move-dom-element-without-losing-state",
    "precise-text-alignment",
    "visually-stable-mixed-fonts",
    "css",
    "html",
    "reduce-style-repetition",
    "security",
    "privacy",
    "batch-analytics-events",
    "full-session-analytics",
    "calculate-total-foreground-time",
    "passkeys",
    "passkey-registration",
    "passkey-authentication",
    "passkey-reauthentication",
    "passkey-conditional-create",
    "passkey-management",
    "flicker-free-client-side-ab-testing",
    "consistent-cross-document-transitions",
    "stabilize-reactive-state",
    "resilient-context-menus-and-nested-dropdowns",
    "persistent-top-layer-ui",
    "detect-initial-visibility-state",
    "sequence-distributed-events",
    "translator",
    "language-detection",
    "support-global-calendar-systems",
    "capture-location-agnostic-data",
    "format-human-readable-durations",
    "manage-recurring-intervals",
    "calculate-event-differentials",
    "coordinate-global-events",
    "model-partial-time-concepts",
    "search-hidden-content",
    "select-menu-interaction",
    "style-parent-with-has",
    "autofill-address-form",
    "autofill-payment-form",
    "autofill-sign-in-form",
    "autofill-sign-up-form",
    "autofill-highlight-inputs",
    "deliver-optimized-decorative-images",
    "resolution-optimized-pseudo-elements",
    "deprioritize-background-fetches",
    "efficient-background-processing",
    "webmcp",
    "agentic-forms",
    "agentic-javascript-tools",
    "language-model",
    "summarizer"
  ],
  "artifacts": [
    {
      "type": "other",
      "path": "evidence/404-probe.json",
      "caption": "404 probe"
    },
    {
      "type": "screenshot",
      "path": "evidence/404.png",
      "caption": "404"
    },
    {
      "type": "other",
      "path": "evidence/account-invalid-submit.json",
      "caption": "account invalid submit"
    },
    {
      "type": "layout",
      "path": "evidence/account-layout-mobile.json",
      "caption": "account layout mobile"
    },
    {
      "type": "screenshot",
      "path": "evidence/account-mobile.png",
      "caption": "account mobile"
    },
    {
      "type": "other",
      "path": "evidence/account-probe.json",
      "caption": "account probe"
    },
    {
      "type": "other",
      "path": "evidence/coverage-manifest.json",
      "caption": "coverage manifest"
    },
    {
      "type": "screenshot",
      "path": "evidence/detail-desktop.png",
      "caption": "detail desktop"
    },
    {
      "type": "screenshot",
      "path": "evidence/detail-discoverability-crawler.png",
      "caption": "detail discoverability crawler"
    },
    {
      "type": "screenshot",
      "path": "evidence/detail-discoverability-rendered.png",
      "caption": "detail discoverability rendered"
    },
    {
      "type": "discoverability",
      "path": "evidence/detail-discoverability.json",
      "caption": "detail discoverability"
    },
    {
      "type": "dom",
      "path": "evidence/detail-dom.json",
      "caption": "detail dom"
    },
    {
      "type": "other",
      "path": "evidence/detail-images.json",
      "caption": "detail images"
    },
    {
      "type": "layout",
      "path": "evidence/detail-layout-mobile.json",
      "caption": "detail layout mobile"
    },
    {
      "type": "screenshot",
      "path": "evidence/detail-mobile-after-consent.png",
      "caption": "detail mobile after consent"
    },
    {
      "type": "other",
      "path": "evidence/detail-probe.json",
      "caption": "detail probe"
    },
    {
      "type": "har-summary",
      "path": "evidence/detail-summary.json",
      "caption": "detail summary"
    },
    {
      "type": "trace-summary",
      "path": "evidence/detail-trace-summary.json",
      "caption": "detail trace summary"
    },
    {
      "type": "trace",
      "path": "evidence/detail-trace.json",
      "caption": "detail trace"
    },
    {
      "type": "har",
      "path": "evidence/detail.har",
      "caption": "detail"
    },
    {
      "type": "other",
      "path": "evidence/empty-search-probe.json",
      "caption": "empty search probe"
    },
    {
      "type": "screenshot",
      "path": "evidence/home-after-consent.png",
      "caption": "home after consent"
    },
    {
      "type": "screenshot",
      "path": "evidence/home-contrast.png",
      "caption": "home contrast"
    },
    {
      "type": "other",
      "path": "evidence/home-cookies.json",
      "caption": "home cookies"
    },
    {
      "type": "screenshot",
      "path": "evidence/home-dark.png",
      "caption": "home dark"
    },
    {
      "type": "screenshot",
      "path": "evidence/home-desktop.png",
      "caption": "home desktop"
    },
    {
      "type": "screenshot",
      "path": "evidence/home-discoverability-crawler.png",
      "caption": "home discoverability crawler"
    },
    {
      "type": "screenshot",
      "path": "evidence/home-discoverability-rendered.png",
      "caption": "home discoverability rendered"
    },
    {
      "type": "discoverability",
      "path": "evidence/home-discoverability.json",
      "caption": "home discoverability"
    },
    {
      "type": "dom",
      "path": "evidence/home-dom.json",
      "caption": "home dom"
    },
    {
      "type": "other",
      "path": "evidence/home-headers.json",
      "caption": "home headers"
    },
    {
      "type": "layout",
      "path": "evidence/home-layout-mobile.json",
      "caption": "home layout mobile"
    },
    {
      "type": "lighthouse",
      "path": "evidence/home-lighthouse-selected.json",
      "caption": "home lighthouse selected"
    },
    {
      "type": "lighthouse",
      "path": "evidence/home-lighthouse-summary.json",
      "caption": "home lighthouse summary"
    },
    {
      "type": "lighthouse",
      "path": "evidence/home-lighthouse.json",
      "caption": "home lighthouse"
    },
    {
      "type": "screenshot",
      "path": "evidence/home-mobile.png",
      "caption": "home mobile"
    },
    {
      "type": "other",
      "path": "evidence/home-probe.json",
      "caption": "home probe"
    },
    {
      "type": "other",
      "path": "evidence/home-secrets.json",
      "caption": "home secrets"
    },
    {
      "type": "har-summary",
      "path": "evidence/home-summary.json",
      "caption": "home summary"
    },
    {
      "type": "trace-summary",
      "path": "evidence/home-trace-summary.json",
      "caption": "home trace summary"
    },
    {
      "type": "trace",
      "path": "evidence/home-trace.json",
      "caption": "home trace"
    },
    {
      "type": "other",
      "path": "evidence/home-trackers.json",
      "caption": "home trackers"
    },
    {
      "type": "har",
      "path": "evidence/home.har",
      "caption": "home"
    },
    {
      "type": "other",
      "path": "evidence/mwg-exact-ids.json",
      "caption": "mwg exact ids"
    },
    {
      "type": "other",
      "path": "evidence/mwg-list.json",
      "caption": "mwg list"
    },
    {
      "type": "other",
      "path": "evidence/mwg-queries.json",
      "caption": "mwg queries"
    },
    {
      "type": "other",
      "path": "evidence/mwg-retrieve-ids.txt",
      "caption": "mwg retrieve ids"
    },
    {
      "type": "other",
      "path": "evidence/mwg-retrieved.md",
      "caption": "mwg retrieved"
    },
    {
      "type": "other",
      "path": "evidence/mwg-search-jobs.tsv",
      "caption": "mwg search jobs"
    },
    {
      "type": "other",
      "path": "evidence/recon-after-gate.json",
      "caption": "recon after gate"
    },
    {
      "type": "other",
      "path": "evidence/recon.json",
      "caption": "recon"
    },
    {
      "type": "other",
      "path": "evidence/reduced-motion-probe.json",
      "caption": "reduced motion probe"
    },
    {
      "type": "other",
      "path": "evidence/render-blocking-dom-confirmation.json",
      "caption": "render blocking dom confirmation"
    },
    {
      "type": "other",
      "path": "evidence/robots-sitemap.json",
      "caption": "robots sitemap"
    },
    {
      "type": "screenshot",
      "path": "evidence/search-discoverability-crawler.png",
      "caption": "search discoverability crawler"
    },
    {
      "type": "screenshot",
      "path": "evidence/search-discoverability-rendered.png",
      "caption": "search discoverability rendered"
    },
    {
      "type": "discoverability",
      "path": "evidence/search-discoverability.json",
      "caption": "search discoverability"
    },
    {
      "type": "heap",
      "path": "evidence/search-heap-baseline.heapsnapshot",
      "caption": "search heap baseline"
    },
    {
      "type": "heap",
      "path": "evidence/search-heap-post.heapsnapshot",
      "caption": "search heap post"
    },
    {
      "type": "other",
      "path": "evidence/search-images.json",
      "caption": "search images"
    },
    {
      "type": "layout",
      "path": "evidence/search-layout-mobile.json",
      "caption": "search layout mobile"
    },
    {
      "type": "lighthouse",
      "path": "evidence/search-lighthouse-selected.json",
      "caption": "search lighthouse selected"
    },
    {
      "type": "lighthouse",
      "path": "evidence/search-lighthouse-summary.json",
      "caption": "search lighthouse summary"
    },
    {
      "type": "lighthouse",
      "path": "evidence/search-lighthouse.json",
      "caption": "search lighthouse"
    },
    {
      "type": "other",
      "path": "evidence/search-memory-metrics-post.json",
      "caption": "search memory metrics post"
    },
    {
      "type": "other",
      "path": "evidence/search-memory-metrics.json",
      "caption": "search memory metrics"
    },
    {
      "type": "screenshot",
      "path": "evidence/search-mobile-after-consent.png",
      "caption": "search mobile after consent"
    },
    {
      "type": "screenshot",
      "path": "evidence/search-mobile.png",
      "caption": "search mobile"
    },
    {
      "type": "other",
      "path": "evidence/search-probe.json",
      "caption": "search probe"
    },
    {
      "type": "video",
      "path": "evidence/search-reduced-motion.mp4",
      "caption": "search reduced motion"
    },
    {
      "type": "har-summary",
      "path": "evidence/search-summary.json",
      "caption": "search summary"
    },
    {
      "type": "trace-summary",
      "path": "evidence/search-trace-summary.json",
      "caption": "search trace summary"
    },
    {
      "type": "trace",
      "path": "evidence/search-trace.json",
      "caption": "search trace"
    },
    {
      "type": "har",
      "path": "evidence/search.har",
      "caption": "search"
    }
  ],
  "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",
      "status": "issues",
      "confidence": "high",
      "method": "Compared normal and prefers-color-scheme: dark screenshots and computed color-scheme.",
      "evidence": "The normal and dark-condition captures are byte-identical, computed color-scheme is normal, and no preference-driven theme is present.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/home-dark.png"
      ],
      "findingIds": [
        "F-01"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-reduced-motion",
      "status": "issues",
      "confidence": "medium",
      "method": "Inspected animation CSS and probed animations under prefers-reduced-motion: reduce.",
      "evidence": "The consent UI defines a 200 ms scale pulse but the captured CSS contains no reduced-motion override; the reduced-motion probe only showed that no animation happened to be active at sampling time.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/reduced-motion-probe.json"
      ],
      "findingIds": [
        "F-02"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-contrast",
      "status": "pass",
      "confidence": "high",
      "method": "Compared prefers-contrast screenshot and Lighthouse contrast audit.",
      "evidence": "Text and controls remained visible under the contrast condition and Lighthouse reported no color-contrast failures.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-contrast.png",
        "evidence/home-lighthouse-selected.json"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "view-transitions",
      "status": "issues",
      "confidence": "high",
      "method": "Inspected CSS/DOM for authored View Transition usage across MPA routes.",
      "evidence": "No authored view-transition-name or transition rule was found; navigation between listing, search, account, and detail templates is an abrupt full-document swap.",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/detail-dom.json"
      ],
      "findingIds": [
        "F-03"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "scroll-driven-animations",
      "status": "pass",
      "confidence": "medium",
      "method": "Inspected CSS and recorded scrolling under reduced motion.",
      "evidence": "No scroll-linked animation or main-thread scrollytelling effect was present, so the page avoids a scroll-event animation anti-pattern.",
      "pathIds": [
        "search"
      ],
      "artifacts": [
        "evidence/search-reduced-motion.mp4",
        "evidence/search-trace-summary.json"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "physical-gestures",
      "status": "pass",
      "confidence": "medium",
      "method": "Reviewed mobile scrolling and controls for gesture interception.",
      "evidence": "The audited templates use native document scrolling and ordinary controls; no custom pointermove/swipe implementation fought platform gestures.",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "artifacts": [
        "evidence/search-mobile.png",
        "evidence/detail-mobile-after-consent.png"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "scroll-state-aware-chrome",
      "status": "issues",
      "confidence": "medium",
      "method": "Reviewed long mobile listing and CSS for scroll-state behavior.",
      "evidence": "The mobile header remains static and no scroll progress, shrinking-header, or scroll-state query behavior was found on a long results page.",
      "pathIds": [
        "search"
      ],
      "artifacts": [
        "evidence/search-mobile.png",
        "evidence/search-reduced-motion.mp4"
      ],
      "findingIds": [
        "F-04"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "anchored-positioning",
      "status": "issues",
      "confidence": "medium",
      "method": "Inspected navigation/menu CSS and DOM for anchor positioning primitives.",
      "evidence": "Menus and the full-screen disclaimer use custom positioned elements; no anchor-name, position-anchor, or position-try usage was found.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-dom.json"
      ],
      "findingIds": [
        "F-05"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "directs-attention",
      "status": "issues",
      "confidence": "medium",
      "method": "Reviewed navigation transitions and long-list orientation cues.",
      "evidence": "Route and menu changes provide no directional transition, progress marker, or post-navigation attention cue beyond an abrupt page replacement.",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/search-mobile.png"
      ],
      "findingIds": [
        "F-06"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "no-intrusive-interruptions",
      "status": "pass",
      "confidence": "medium",
      "method": "Reviewed first-load desktop and mobile screenshots and dismissal choices.",
      "evidence": "The first-load interruption is an age/safety gate appropriate to an adult site, followed by cookie controls that offer rejection; underlying thumbnails are blurred until entry.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/home-mobile.png"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "semantic-dismissible-primitives",
      "status": "issues",
      "confidence": "high",
      "method": "Inspected overlay DOM and semantics.",
      "evidence": "The full-viewport age and cookie flows are custom div overlays with no dialog element or role=dialog, despite blocking the entire page.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/home-probe.json"
      ],
      "findingIds": [
        "F-07"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "reduced-chrome",
      "status": "issues",
      "confidence": "high",
      "method": "Reviewed desktop first viewport and chrome-to-content proportion.",
      "evidence": "A dense top bar plus a persistent category rail occupy substantial space and present many competing links before the primary content.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png"
      ],
      "findingIds": [
        "F-08"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "responsive-no-horizontal-scroll",
      "status": "issues",
      "confidence": "high",
      "method": "Measured four templates at 360x800.",
      "evidence": "Home, search, and detail had no overflow, but the account template reported an 8 px horizontal overflow and an inner width of 368 px in a 360 px viewport.",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "artifacts": [
        "evidence/account-layout-mobile.json",
        "evidence/home-layout-mobile.json",
        "evidence/search-layout-mobile.json",
        "evidence/detail-layout-mobile.json"
      ],
      "findingIds": [
        "F-09"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "component-level-responsiveness",
      "status": "issues",
      "confidence": "high",
      "method": "Inspected CSSOM for container queries and compared reused layouts.",
      "evidence": "The CSS probe found zero @container rules; reusable listing/header components rely on global viewport behavior only.",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/search-mobile.png"
      ],
      "findingIds": [
        "F-10"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "input-modality-aware",
      "status": "issues",
      "confidence": "high",
      "method": "Focused a control, measured visible targets, and reviewed mobile UI.",
      "evidence": "Focus is visible, but the results probe found 69 visible interactive elements below 24 px in one dimension, creating undersized touch targets.",
      "pathIds": [
        "search"
      ],
      "artifacts": [
        "evidence/search-probe.json",
        "evidence/search-mobile.png"
      ],
      "findingIds": [
        "F-11"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-purpose-and-primary-action",
      "status": "pass",
      "confidence": "high",
      "method": "Reviewed first viewports and headings on home, search, detail, and account.",
      "evidence": "Page titles, listing headings, search affordance, content tiles, and account headings clearly communicate each template purpose and next action.",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/search-mobile.png",
        "evidence/detail-desktop.png",
        "evidence/account-mobile.png"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "primary-flow-completion",
      "status": "pass",
      "confidence": "high",
      "method": "Followed age entry to cookie rejection, then inspected search-result links and a content detail route.",
      "evidence": "The age gate advances to cookie controls, rejection is available, search results expose direct detail links, and the selected detail route loads successfully.",
      "pathIds": [
        "home",
        "search",
        "detail"
      ],
      "artifacts": [
        "evidence/recon-after-gate.json",
        "evidence/recon.json",
        "evidence/detail-probe.json"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-system-state-and-recovery",
      "status": "pass",
      "confidence": "high",
      "method": "Loaded an empty search and a nonexistent route.",
      "evidence": "Empty search explicitly says no match; the 404 page states the problem and provides a home-page recovery link.",
      "pathIds": [
        "recovery"
      ],
      "artifacts": [
        "evidence/empty-search-probe.json",
        "evidence/404-probe.json",
        "evidence/404.png"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "good-core-web-vitals",
      "status": "issues",
      "confidence": "high",
      "method": "Ran Lighthouse, trace, and layout observers.",
      "evidence": "Lighthouse measured LCP at 8.24 s on home and 6.49 s on search, outside the good range, although CLS and TBT were low.",
      "pathIds": [
        "home",
        "search"
      ],
      "artifacts": [
        "evidence/home-lighthouse-summary.json",
        "evidence/search-lighthouse-summary.json",
        "evidence/home-trace-summary.json"
      ],
      "findingIds": [
        "F-12"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "visual-stability",
      "status": "pass",
      "confidence": "high",
      "method": "Measured CLS on home, search, and detail mobile loads.",
      "evidence": "Observed CLS was 0 on home, 0.0034 on search, and 0.00014 on detail, all well within the good range.",
      "pathIds": [
        "home",
        "search",
        "detail"
      ],
      "artifacts": [
        "evidence/home-layout-mobile.json",
        "evidence/search-layout-mobile.json",
        "evidence/detail-layout-mobile.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-main-thread",
      "status": "pass",
      "confidence": "high",
      "method": "Captured three traces and layout long-task observers.",
      "evidence": "Home and search traces had no long tasks; detail had one 53.5 ms task and only 3.5 ms total blocking time.",
      "pathIds": [
        "home",
        "search",
        "detail"
      ],
      "artifacts": [
        "evidence/home-trace-summary.json",
        "evidence/search-trace-summary.json",
        "evidence/detail-trace-summary.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-resource-delivery",
      "status": "issues",
      "confidence": "high",
      "method": "Captured HARs, confirmed parser-inserted scripts in live DOM, and ran Lighthouse.",
      "evidence": "Lighthouse estimated about 2.9 s render-blocking savings; the DOM confirms a head script without async/defer and multiple parser-inserted scripts, while cache-lifetime savings reached 5,051 KiB on home.",
      "pathIds": [
        "home",
        "search",
        "detail"
      ],
      "artifacts": [
        "evidence/search-summary.json",
        "evidence/render-blocking-dom-confirmation.json",
        "evidence/home-lighthouse-summary.json"
      ],
      "findingIds": [
        "F-13"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "trim-unused-and-duplicate-code",
      "status": "issues",
      "confidence": "high",
      "method": "Ran Lighthouse code diagnostics and inspected HAR weights.",
      "evidence": "Home Lighthouse estimated 386 KiB unused JavaScript and 123 KiB unused CSS; search loaded a 394 KB main script plus legacy jQuery.",
      "pathIds": [
        "home",
        "search"
      ],
      "artifacts": [
        "evidence/home-lighthouse-summary.json",
        "evidence/search-summary.json"
      ],
      "findingIds": [
        "F-14"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "names-roles-labels",
      "status": "issues",
      "confidence": "high",
      "method": "Ran Lighthouse accessibility audits and inspected images/forms.",
      "evidence": "Lighthouse found unnamed buttons and links; search had 39 of 41 images without alt text and the search input had no label or aria-label.",
      "pathIds": [
        "home",
        "search",
        "account"
      ],
      "artifacts": [
        "evidence/home-lighthouse-summary.json",
        "evidence/search-lighthouse-summary.json",
        "evidence/search-images.json",
        "evidence/account-probe.json"
      ],
      "findingIds": [
        "F-15"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "sufficient-contrast",
      "status": "pass",
      "confidence": "high",
      "method": "Ran Lighthouse contrast audits and reviewed screenshots.",
      "evidence": "Lighthouse reported no color-contrast failures on home or search, and essential text remained visible in captured states.",
      "pathIds": [
        "home",
        "search"
      ],
      "artifacts": [
        "evidence/home-lighthouse-selected.json",
        "evidence/search-lighthouse-selected.json"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "structure-and-focus",
      "status": "issues",
      "confidence": "high",
      "method": "Inspected landmarks/headings and ran focus and Lighthouse probes.",
      "evidence": "The home page has no h1, main, or nav landmark; the detail page begins at h3. Focus is visible, but semantic structure is incomplete.",
      "pathIds": [
        "home",
        "detail"
      ],
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/detail-probe.json",
        "evidence/search-probe.json"
      ],
      "findingIds": [
        "F-16"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "legible-text",
      "status": "issues",
      "confidence": "high",
      "method": "Reviewed desktop/mobile screenshots and computed styles.",
      "evidence": "Dense navigation and metadata are rendered at roughly 12 px with tightly packed lines, reducing reading comfort and scanability.",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/search-mobile.png",
        "evidence/detail-dom.json"
      ],
      "findingIds": [
        "F-17"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "zoom-reflow-targets-and-media",
      "status": "issues",
      "confidence": "high",
      "method": "Ran Lighthouse viewport audit, mobile layouts, target measurement, and media-track inspection.",
      "evidence": "Lighthouse flagged restrictive viewport scaling and the custom probe found 69 undersized targets. The detail video does provide subtitle tracks, but zoom/reflow and target sizing still fail.",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "artifacts": [
        "evidence/home-lighthouse-summary.json",
        "evidence/search-probe.json",
        "evidence/detail-probe.json",
        "evidence/account-layout-mobile.json"
      ],
      "findingIds": [
        "F-18"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "no-console-errors",
      "status": "pass",
      "confidence": "high",
      "method": "Read Lighthouse console-error audits on home and search.",
      "evidence": "Both Lighthouse runs recorded no browser console errors.",
      "pathIds": [
        "home",
        "search"
      ],
      "artifacts": [
        "evidence/home-lighthouse-selected.json",
        "evidence/search-lighthouse-selected.json"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "sound-document-and-assets",
      "status": "issues",
      "confidence": "high",
      "method": "Checked doctype/charset and ran image audits.",
      "evidence": "Doctype and UTF-8 are valid, but every one of 41 search images and 44 detail images lacked explicit width/height; many were oversized.",
      "pathIds": [
        "search",
        "detail"
      ],
      "artifacts": [
        "evidence/search-images.json",
        "evidence/detail-images.json",
        "evidence/home-lighthouse-selected.json"
      ],
      "findingIds": [
        "F-19"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "browser-platform-hygiene",
      "status": "pass",
      "confidence": "medium",
      "method": "Reviewed Lighthouse best-practices and runtime behavior for prompts/errors.",
      "evidence": "Best-practices scored 0.96, no console errors or load-time permission prompts were observed, and no paste-blocking behavior surfaced in audited forms.",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "artifacts": [
        "evidence/home-lighthouse-summary.json",
        "evidence/account-probe.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "title-and-description",
      "status": "pass",
      "confidence": "high",
      "method": "Inspected metadata across representative templates and raw HTML.",
      "evidence": "Home, search, detail, and account have descriptive titles; public content templates include meta descriptions that survive in raw HTML.",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/search-probe.json",
        "evidence/detail-probe.json",
        "evidence/home-discoverability.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "crawlable-and-mobile-friendly",
      "status": "issues",
      "confidence": "high",
      "method": "Inspected anchors/viewport and ran Lighthouse SEO.",
      "evidence": "Search contains 23 anchors with missing or hash-only destinations and Lighthouse found non-descriptive link text; account also has 8 px mobile overflow.",
      "pathIds": [
        "search",
        "account"
      ],
      "artifacts": [
        "evidence/search-probe.json",
        "evidence/search-lighthouse-summary.json",
        "evidence/account-layout-mobile.json"
      ],
      "findingIds": [
        "F-20"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "canonical-and-indexing-signals",
      "status": "issues",
      "confidence": "high",
      "method": "Inspected canonical/robots metadata and fetched robots.txt/sitemap.xml.",
      "evidence": "Robots and sitemap are valid, but no rel=canonical was present on the audited home, search, or detail templates, despite duplicate-capable URL patterns.",
      "pathIds": [
        "home",
        "search",
        "detail"
      ],
      "artifacts": [
        "evidence/recon.json",
        "evidence/search-probe.json",
        "evidence/detail-probe.json",
        "evidence/robots-sitemap.json"
      ],
      "findingIds": [
        "F-21"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "structured-and-shareable-metadata",
      "status": "pass",
      "confidence": "high",
      "method": "Inspected Open Graph and JSON-LD on the rich detail entity.",
      "evidence": "The detail page exposes matching VideoObject JSON-LD plus Open Graph title, URL, duration, and image metadata.",
      "pathIds": [
        "detail"
      ],
      "artifacts": [
        "evidence/detail-probe.json"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "secure-transport-and-headers",
      "status": "issues",
      "confidence": "high",
      "method": "Ran headers and cookies primitives.",
      "evidence": "HTTPS and CSP are present, but HSTS and nosniff are missing, CSP allows unsafe-inline/unsafe-eval, and the session cookie uses SameSite=None.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-headers.json",
        "evidence/home-cookies.json"
      ],
      "findingIds": [
        "F-22"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "data-minimisation-and-third-parties",
      "status": "pass",
      "confidence": "medium",
      "method": "Ran trackers, HAR, secrets, and cookies primitives before consent.",
      "evidence": "No known tracker domain or exposed secret was found; observed third-party origins were site CDN infrastructure and only one first-party cookie was set.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-trackers.json",
        "evidence/home-secrets.json",
        "evidence/home-cookies.json",
        "evidence/home-summary.json"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "in-context-permissions-and-modern-auth",
      "status": "issues",
      "confidence": "high",
      "method": "Inspected account forms/source for passkeys and load-time permission behavior.",
      "evidence": "No permission prompt appeared on load, but the account flow is password-only with no WebAuthn or passkey capability.",
      "pathIds": [
        "account"
      ],
      "artifacts": [
        "evidence/account-probe.json"
      ],
      "findingIds": [
        "F-23"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "defensive-browser-policies",
      "status": "issues",
      "confidence": "high",
      "method": "Inspected security response headers.",
      "evidence": "Clickjacking protection exists, but HSTS, Permissions-Policy, and nosniff are missing; Referrer-Policy remains no-referrer-when-downgrade and CSP permits unsafe execution.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-headers.json"
      ],
      "findingIds": [
        "F-24"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "progressive-enhancement",
      "status": "issues",
      "confidence": "high",
      "method": "Compared raw server HTML with rendered DOM and crawler screenshots.",
      "evidence": "Search retains 84% raw-content coverage, but home falls to 29% and detail to 40%; important listing/detail content is substantially reduced without JavaScript.",
      "pathIds": [
        "home",
        "search",
        "detail"
      ],
      "artifacts": [
        "evidence/home-discoverability.json",
        "evidence/detail-discoverability.json",
        "evidence/home-discoverability-crawler.png",
        "evidence/detail-discoverability-crawler.png"
      ],
      "findingIds": [
        "F-25"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "resilient-runtime-behaviour",
      "status": "pass",
      "confidence": "medium",
      "method": "Reviewed responsive overlays, mobile layouts, and runtime traces.",
      "evidence": "The disclaimer constrains itself to the viewport and scrolls when needed; no cut-off overlay or runtime exception was observed on audited templates.",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/home-lighthouse-selected.json"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "offline-and-installable",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Inspected manifest/service-worker state and site purpose.",
      "evidence": "A manifest is linked but no active service worker exists.",
      "reason": "Offline playback and account actions are intrinsically network-dependent for this streaming site; an installable offline app was not treated as a core requirement.",
      "pathIds": [
        "search",
        "detail"
      ],
      "artifacts": [
        "evidence/search-probe.json"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "network-and-http-failure-states",
      "status": "pass",
      "confidence": "high",
      "method": "Loaded a nonexistent route and an empty result set.",
      "evidence": "The 404 explains the failure and links home; empty search clearly reports zero matches instead of a blank or infinite spinner.",
      "pathIds": [
        "recovery"
      ],
      "artifacts": [
        "evidence/404-probe.json",
        "evidence/empty-search-probe.json"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "lang-dir-and-logical-properties",
      "status": "issues",
      "confidence": "high",
      "method": "Inspected html language/direction and CSS physical properties.",
      "evidence": "lang=en is present, but dir is absent and the stylesheet probe found physical left/right declarations rather than a consistently logical-property layout.",
      "pathIds": [
        "search"
      ],
      "artifacts": [
        "evidence/search-probe.json"
      ],
      "findingIds": [
        "F-26"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "locale-aware-data",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Reviewed representative rendered content and forms for locale-sensitive data.",
      "evidence": "The audited public and account templates did not present dates, currencies, or locale-formatted numeric inputs.",
      "reason": "No locale-sensitive data was present in the representative paths, so Intl formatting could not meaningfully apply.",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/account-probe.json"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "time-zone-correctness",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Reviewed representative flows for time-zone-sensitive scheduling.",
      "evidence": "No event, schedule, recurring interval, or user-entered time appeared.",
      "reason": "The audited browsing, playback, and account flows contain no time-zone-sensitive task.",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "artifacts": [
        "evidence/detail-probe.json",
        "evidence/account-probe.json"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "no-dark-patterns",
      "status": "issues",
      "confidence": "high",
      "method": "Inspected age/cookie flow copy, hierarchy, and CSS.",
      "evidence": "After age entry, “Accept all cookies” is a large primary button while “Reject all cookies” is styled as a borderless underlined text action, creating asymmetric consent pressure.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/recon-after-gate.json"
      ],
      "findingIds": [
        "F-27"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "humane-error-handling",
      "status": "issues",
      "confidence": "high",
      "method": "Submitted the sign-in form empty and inspected validity/accessibility state.",
      "evidence": "Native required-field messages appear only one field at a time, with no aria-invalid state or alert summary for assistive technology.",
      "pathIds": [
        "account"
      ],
      "artifacts": [
        "evidence/account-invalid-submit.json"
      ],
      "findingIds": [
        "F-28"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "trustworthy-input-assistance",
      "status": "issues",
      "confidence": "high",
      "method": "Inspected autocomplete tokens on account and search inputs.",
      "evidence": "Email/login and current-password fields have empty autocomplete values; signup username/profile/password fields also omit appropriate tokens.",
      "pathIds": [
        "account"
      ],
      "artifacts": [
        "evidence/account-probe.json"
      ],
      "findingIds": [
        "F-29"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "safe-commercial-and-account-flows",
      "status": "issues",
      "confidence": "high",
      "method": "Inspected account authentication and recovery forms.",
      "evidence": "Account sign-in is password-only with no phishing-resistant passkey option; password-manager hints are also incomplete.",
      "pathIds": [
        "account"
      ],
      "artifacts": [
        "evidence/account-probe.json"
      ],
      "findingIds": [
        "F-30"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "optimised-assets",
      "status": "issues",
      "confidence": "high",
      "method": "Ran images primitive on listing and detail templates.",
      "evidence": "Search uses 41 legacy-format images with no srcset, 29 oversized; detail has 43 legacy images and 14 oversized, despite one AVIF poster.",
      "pathIds": [
        "search",
        "detail"
      ],
      "artifacts": [
        "evidence/search-images.json",
        "evidence/detail-images.json"
      ],
      "findingIds": [
        "F-31"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "no-wasteful-work",
      "status": "issues",
      "confidence": "high",
      "method": "Captured detail HAR and inspected video state.",
      "evidence": "The paused detail player fetched about 3.41 MB of HLS segments during the short capture, before user-initiated playback.",
      "pathIds": [
        "detail"
      ],
      "artifacts": [
        "evidence/detail-summary.json",
        "evidence/detail-probe.json"
      ],
      "findingIds": [
        "F-32"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "third-party-and-media-budget",
      "status": "issues",
      "confidence": "high",
      "method": "Compared HAR byte budgets across templates.",
      "evidence": "Detail transferred 5.38 MB in 80 requests, including 3.41 MB of media plus 710 KB script; home Lighthouse also reported 5.64 MB total load and large cache-lifetime waste.",
      "pathIds": [
        "home",
        "detail"
      ],
      "artifacts": [
        "evidence/detail-summary.json",
        "evidence/home-lighthouse-summary.json"
      ],
      "findingIds": [
        "F-33"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "structured-agent-capabilities",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Inspected DOM/runtime for WebMCP or agent tool registration and judged emerging applicability.",
      "evidence": "No WebMCP or structured agent tool was exposed.",
      "reason": "This public media-browsing surface exposes no transactional or productivity capability that needs agent execution; emerging agent tools are an opportunity, not a baseline failure.",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "artifacts": [
        "evidence/search-probe.json"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "on-device-inference",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Inspected runtime/source for site-authored built-in AI use and judged applicability.",
      "evidence": "Browser APIs may exist, but the site does not use on-device inference.",
      "reason": "No summarisation, generation, translation, or inference task in the audited core flow would clearly benefit from site-authored on-device AI.",
      "pathIds": [
        "home",
        "search",
        "detail",
        "account"
      ],
      "artifacts": [
        "evidence/search-probe.json"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-leak-under-repeated-interaction",
      "status": "pass",
      "confidence": "high",
      "method": "Compared heap summaries and runtime metrics before/after ten full-list scroll cycles.",
      "evidence": "Snapshot self size increased only 29,071 bytes (18,867,779 to 18,896,850) and runtime used heap rose about 131 KB after ten cycles.",
      "pathIds": [
        "search"
      ],
      "artifacts": [
        "evidence/search-heap-baseline.heapsnapshot",
        "evidence/search-heap-post.heapsnapshot",
        "evidence/search-memory-metrics.json",
        "evidence/search-memory-metrics-post.json"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "bounded-footprint",
      "status": "pass",
      "confidence": "high",
      "method": "Reviewed heap totals and DOM/runtime metrics.",
      "evidence": "The listing used about 8.15 MB JS heap with 1,942 DOM elements and an 18.9 MB snapshot self-size footprint, proportionate to a 41-image result page.",
      "pathIds": [
        "search"
      ],
      "artifacts": [
        "evidence/search-heap-baseline.heapsnapshot",
        "evidence/search-memory-metrics.json"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-detached-dom-or-unbounded-listeners",
      "status": "pass",
      "confidence": "medium",
      "method": "Compared heap node totals, DOM count, and inline-listener element count across repeated interaction.",
      "evidence": "Heap nodes rose only 129, DOM nodes stayed at 1,942, and elements with inline listeners stayed at 7 after ten cycles; no accumulation signal appeared.",
      "pathIds": [
        "search"
      ],
      "artifacts": [
        "evidence/search-heap-baseline.heapsnapshot",
        "evidence/search-heap-post.heapsnapshot",
        "evidence/search-memory-metrics.json",
        "evidence/search-memory-metrics-post.json"
      ]
    }
  ],
  "principleOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-01",
        "F-02"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-03"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-04",
        "F-05",
        "F-06"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-07",
        "F-08"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-09",
        "F-10",
        "F-11"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "be-fast-and-stable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-12",
        "F-13",
        "F-14"
      ]
    },
    {
      "principleId": "be-inclusive",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-15",
        "F-16",
        "F-17",
        "F-18"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-19"
      ]
    },
    {
      "principleId": "be-discoverable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-20",
        "F-21"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-22",
        "F-23",
        "F-24"
      ]
    },
    {
      "principleId": "be-resilient",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F-25"
      ]
    },
    {
      "principleId": "be-internationalised",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F-26"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-27",
        "F-28",
        "F-29",
        "F-30"
      ]
    },
    {
      "principleId": "be-sustainable",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F-31",
        "F-32",
        "F-33"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "expectation": "contextual",
      "status": "not-applicable",
      "reason": "This public media-browsing surface exposes no transactional or productivity capability that needs agent execution; emerging agent tools are an opportunity, not a baseline failure. No summarisation, generation, translation, or inference task in the audited core flow would clearly benefit from site-authored on-device AI."
    },
    {
      "principleId": "be-memory-efficient",
      "expectation": "default",
      "status": "pass"
    }
  ],
  "paths": [
    {
      "id": "home",
      "description": "Redirected landing/listing template, age gate, cookie choice, global navigation, and first-load behavior.",
      "url": "https://www.xnxx2.com",
      "conditions": [
        "desktop 1440x900",
        "mobile 360x800",
        "prefers-color-scheme: dark",
        "prefers-contrast: more",
        "prefers-reduced-motion: reduce",
        "no JavaScript crawler view"
      ],
      "result": "issues"
    },
    {
      "id": "search",
      "description": "Representative search/listing template and repeated long-list scroll interaction.",
      "url": "https://www.xnxx.com/search/milf",
      "conditions": [
        "desktop",
        "mobile 360x800",
        "no JavaScript crawler view",
        "10 repeated full-list scroll cycles"
      ],
      "result": "issues"
    },
    {
      "id": "detail",
      "description": "Representative media detail/playback template, structured metadata, subtitles, and media delivery.",
      "url": "https://www.xnxx.com/video-1i113s4b/big_titty_step_mom_sex_accident",
      "conditions": [
        "desktop",
        "mobile 360x800",
        "no JavaScript crawler view"
      ],
      "result": "issues"
    },
    {
      "id": "account",
      "description": "Account sign-up, sign-in, password recovery, autofill, authentication, and invalid-submit behavior.",
      "url": "https://www.xnxx.com/account/",
      "conditions": [
        "mobile 360x800",
        "empty invalid sign-in submission"
      ],
      "result": "issues"
    },
    {
      "id": "recovery",
      "description": "Empty search and 404 recovery states.",
      "url": "https://www.xnxx.com/this-route-should-not-exist-web-uplift",
      "conditions": [
        "empty results",
        "HTTP not-found route"
      ],
      "result": "pass"
    }
  ],
  "findings": [
    {
      "id": "F-01",
      "pathId": "home",
      "url": "https://www.xnxx.com/",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-color-scheme",
      "guidanceId": "dark-mode",
      "guidanceCategory": "user-experience",
      "severity": "medium",
      "confidence": "high",
      "summary": "respects color scheme needs improvement.",
      "evidence": "The normal and dark-condition captures are byte-identical, computed color-scheme is normal, and no preference-driven theme is present.",
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/home-dark.png"
      ],
      "suggestedFix": "Add preference-driven color-scheme theming rather than a fixed palette.",
      "effort": "medium"
    },
    {
      "id": "F-02",
      "pathId": "home",
      "url": "https://www.xnxx.com/",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-reduced-motion",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "severity": "low",
      "confidence": "medium",
      "summary": "respects reduced motion needs improvement.",
      "evidence": "The consent UI defines a 200 ms scale pulse but the captured CSS contains no reduced-motion override; the reduced-motion probe only showed that no animation happened to be active at sampling time.",
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/reduced-motion-probe.json"
      ],
      "suggestedFix": "Wrap pulse and other non-essential transitions in a no-preference query and disable them under reduce.",
      "effort": "small"
    },
    {
      "id": "F-03",
      "pathId": "home",
      "url": "https://www.xnxx.com/",
      "principleId": "implement-natural-interactions",
      "principleCheckId": "view-transitions",
      "guidanceId": "cross-document-transitions",
      "guidanceCategory": "user-experience",
      "severity": "low",
      "confidence": "high",
      "summary": "view transitions needs improvement.",
      "evidence": "No authored view-transition-name or transition rule was found; navigation between listing, search, account, and detail templates is an abrupt full-document swap.",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/detail-dom.json"
      ],
      "suggestedFix": "Use progressive cross-document View Transitions for same-origin template navigation.",
      "effort": "small"
    },
    {
      "id": "F-04",
      "pathId": "search",
      "url": "https://www.xnxx.com/search/milf",
      "principleId": "provide-guided-navigation",
      "principleCheckId": "scroll-state-aware-chrome",
      "guidanceId": "shrinking-header-on-scroll",
      "guidanceCategory": "user-experience",
      "severity": "low",
      "confidence": "medium",
      "summary": "scroll state aware chrome needs improvement.",
      "evidence": "The mobile header remains static and no scroll progress, shrinking-header, or scroll-state query behavior was found on a long results page.",
      "artifacts": [
        "evidence/search-mobile.png",
        "evidence/search-reduced-motion.mp4"
      ],
      "suggestedFix": "Use a scroll-state-aware compact header or progress affordance on long result pages.",
      "effort": "small"
    },
    {
      "id": "F-05",
      "pathId": "home",
      "url": "https://www.xnxx.com/",
      "principleId": "provide-guided-navigation",
      "principleCheckId": "anchored-positioning",
      "guidanceId": "position-aware-tooltips",
      "guidanceCategory": "user-experience",
      "severity": "low",
      "confidence": "medium",
      "summary": "anchored positioning needs improvement.",
      "evidence": "Menus and the full-screen disclaimer use custom positioned elements; no anchor-name, position-anchor, or position-try usage was found.",
      "artifacts": [
        "evidence/home-dom.json"
      ],
      "suggestedFix": "Use anchored positioning with fallback placement for menus and transient overlays.",
      "effort": "small"
    },
    {
      "id": "F-06",
      "pathId": "home",
      "url": "https://www.xnxx.com/",
      "principleId": "provide-guided-navigation",
      "principleCheckId": "directs-attention",
      "guidanceId": "directional-navigation-transitions",
      "guidanceCategory": "user-experience",
      "severity": "low",
      "confidence": "medium",
      "summary": "directs attention needs improvement.",
      "evidence": "Route and menu changes provide no directional transition, progress marker, or post-navigation attention cue beyond an abrupt page replacement.",
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/search-mobile.png"
      ],
      "suggestedFix": "Add directional/transition cues that preserve orientation across list and detail navigation.",
      "effort": "small"
    },
    {
      "id": "F-07",
      "pathId": "home",
      "url": "https://www.xnxx.com/",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "semantic-dismissible-primitives",
      "guidanceId": "declarative-dialog-popover-control",
      "guidanceCategory": "user-experience",
      "severity": "high",
      "confidence": "high",
      "summary": "semantic dismissible primitives needs improvement.",
      "evidence": "The full-viewport age and cookie flows are custom div overlays with no dialog element or role=dialog, despite blocking the entire page.",
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/home-probe.json"
      ],
      "suggestedFix": "Implement blocking consent as a semantic dialog with focus trapping, naming, and declarative dismissal.",
      "effort": "large"
    },
    {
      "id": "F-08",
      "pathId": "home",
      "url": "https://www.xnxx.com/",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "reduced-chrome",
      "guidanceId": "css-layout",
      "guidanceCategory": "css-layout",
      "severity": "medium",
      "confidence": "high",
      "summary": "reduced chrome needs improvement.",
      "evidence": "A dense top bar plus a persistent category rail occupy substantial space and present many competing links before the primary content.",
      "artifacts": [
        "evidence/home-desktop.png"
      ],
      "suggestedFix": "Reduce persistent category chrome and prioritize the content grid and search task.",
      "effort": "medium"
    },
    {
      "id": "F-09",
      "pathId": "home",
      "url": "https://www.xnxx.com/",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "responsive-no-horizontal-scroll",
      "guidanceId": "fluid-scaling",
      "guidanceCategory": "user-experience",
      "severity": "medium",
      "confidence": "high",
      "summary": "responsive no horizontal scroll needs improvement.",
      "evidence": "Home, search, and detail had no overflow, but the account template reported an 8 px horizontal overflow and an inner width of 368 px in a 360 px viewport.",
      "artifacts": [
        "evidence/account-layout-mobile.json",
        "evidence/home-layout-mobile.json",
        "evidence/search-layout-mobile.json",
        "evidence/detail-layout-mobile.json"
      ],
      "suggestedFix": "Remove the account template’s fixed-width overflow and verify true 360 px reflow.",
      "effort": "medium"
    },
    {
      "id": "F-10",
      "pathId": "home",
      "url": "https://www.xnxx.com/",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "component-level-responsiveness",
      "guidanceId": "size-aware-styling",
      "guidanceCategory": "user-experience",
      "severity": "low",
      "confidence": "high",
      "summary": "component level responsiveness needs improvement.",
      "evidence": "The CSS probe found zero @container rules; reusable listing/header components rely on global viewport behavior only.",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/search-mobile.png"
      ],
      "suggestedFix": "Adopt container queries for reused header, card, and account components.",
      "effort": "small"
    },
    {
      "id": "F-11",
      "pathId": "search",
      "url": "https://www.xnxx.com/search/milf",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "input-modality-aware",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "severity": "high",
      "confidence": "high",
      "summary": "input modality aware needs improvement.",
      "evidence": "Focus is visible, but the results probe found 69 visible interactive elements below 24 px in one dimension, creating undersized touch targets.",
      "artifacts": [
        "evidence/search-probe.json",
        "evidence/search-mobile.png"
      ],
      "suggestedFix": "Increase interactive targets to at least 24 by 24 CSS px, preferably 44 px for primary touch controls.",
      "effort": "large"
    },
    {
      "id": "F-12",
      "pathId": "home",
      "url": "https://www.xnxx.com/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "good-core-web-vitals",
      "guidanceId": "performance",
      "guidanceCategory": "performance",
      "severity": "high",
      "confidence": "high",
      "summary": "good core web vitals needs improvement.",
      "evidence": "Lighthouse measured LCP at 8.24 s on home and 6.49 s on search, outside the good range, although CLS and TBT were low.",
      "artifacts": [
        "evidence/home-lighthouse-summary.json",
        "evidence/search-lighthouse-summary.json",
        "evidence/home-trace-summary.json"
      ],
      "suggestedFix": "Improve LCP discovery and delivery so representative templates reach the good range.",
      "effort": "large"
    },
    {
      "id": "F-13",
      "pathId": "home",
      "url": "https://www.xnxx.com/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "efficient-resource-delivery",
      "guidanceId": "optimize-preload-priority",
      "guidanceCategory": "performance",
      "severity": "high",
      "confidence": "high",
      "summary": "efficient resource delivery needs improvement.",
      "evidence": "Lighthouse estimated about 2.9 s render-blocking savings; the DOM confirms a head script without async/defer and multiple parser-inserted scripts, while cache-lifetime savings reached 5,051 KiB on home.",
      "artifacts": [
        "evidence/search-summary.json",
        "evidence/render-blocking-dom-confirmation.json",
        "evidence/home-lighthouse-summary.json"
      ],
      "suggestedFix": "Remove parser-blocking scripts, shorten critical chains, and set effective cache lifetimes.",
      "effort": "large"
    },
    {
      "id": "F-14",
      "pathId": "home",
      "url": "https://www.xnxx.com/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "trim-unused-and-duplicate-code",
      "guidanceId": "identify-heavy-scripts",
      "guidanceCategory": "performance",
      "severity": "medium",
      "confidence": "high",
      "summary": "trim unused and duplicate code needs improvement.",
      "evidence": "Home Lighthouse estimated 386 KiB unused JavaScript and 123 KiB unused CSS; search loaded a 394 KB main script plus legacy jQuery.",
      "artifacts": [
        "evidence/home-lighthouse-summary.json",
        "evidence/search-summary.json"
      ],
      "suggestedFix": "Split and conditionally load the large legacy bundle and remove unused CSS/duplicate jQuery.",
      "effort": "medium"
    },
    {
      "id": "F-15",
      "pathId": "home",
      "url": "https://www.xnxx.com/",
      "principleId": "be-inclusive",
      "principleCheckId": "names-roles-labels",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "severity": "high",
      "confidence": "high",
      "summary": "names roles labels needs improvement.",
      "evidence": "Lighthouse found unnamed buttons and links; search had 39 of 41 images without alt text and the search input had no label or aria-label.",
      "artifacts": [
        "evidence/home-lighthouse-summary.json",
        "evidence/search-lighthouse-summary.json",
        "evidence/search-images.json",
        "evidence/account-probe.json"
      ],
      "suggestedFix": "Give every control and linked image an accessible name; label search fields and meaningful thumbnails.",
      "effort": "large"
    },
    {
      "id": "F-16",
      "pathId": "home",
      "url": "https://www.xnxx.com/",
      "principleId": "be-inclusive",
      "principleCheckId": "structure-and-focus",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "severity": "high",
      "confidence": "high",
      "summary": "structure and focus needs improvement.",
      "evidence": "The home page has no h1, main, or nav landmark; the detail page begins at h3. Focus is visible, but semantic structure is incomplete.",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/detail-probe.json",
        "evidence/search-probe.json"
      ],
      "suggestedFix": "Add main/nav landmarks and a logical h1-to-h3 heading hierarchy on every template.",
      "effort": "large"
    },
    {
      "id": "F-17",
      "pathId": "home",
      "url": "https://www.xnxx.com/",
      "principleId": "be-inclusive",
      "principleCheckId": "legible-text",
      "guidanceId": "improve-text-layout-and-legibility",
      "guidanceCategory": "user-experience",
      "severity": "medium",
      "confidence": "high",
      "summary": "legible text needs improvement.",
      "evidence": "Dense navigation and metadata are rendered at roughly 12 px with tightly packed lines, reducing reading comfort and scanability.",
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/search-mobile.png",
        "evidence/detail-dom.json"
      ],
      "suggestedFix": "Increase small navigation/metadata text and spacing to improve scanability.",
      "effort": "medium"
    },
    {
      "id": "F-18",
      "pathId": "home",
      "url": "https://www.xnxx.com/",
      "principleId": "be-inclusive",
      "principleCheckId": "zoom-reflow-targets-and-media",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "severity": "high",
      "confidence": "high",
      "summary": "zoom reflow targets and media needs improvement.",
      "evidence": "Lighthouse flagged restrictive viewport scaling and the custom probe found 69 undersized targets. The detail video does provide subtitle tracks, but zoom/reflow and target sizing still fail.",
      "artifacts": [
        "evidence/home-lighthouse-summary.json",
        "evidence/search-probe.json",
        "evidence/detail-probe.json",
        "evidence/account-layout-mobile.json"
      ],
      "suggestedFix": "Allow user scaling, remove reflow overflow, and enlarge undersized touch targets while retaining captions.",
      "effort": "large"
    },
    {
      "id": "F-19",
      "pathId": "search",
      "url": "https://www.xnxx.com/search/milf",
      "principleId": "follow-best-practices",
      "principleCheckId": "sound-document-and-assets",
      "guidanceId": "html",
      "guidanceCategory": "html",
      "severity": "medium",
      "confidence": "high",
      "summary": "sound document and assets needs improvement.",
      "evidence": "Doctype and UTF-8 are valid, but every one of 41 search images and 44 detail images lacked explicit width/height; many were oversized.",
      "artifacts": [
        "evidence/search-images.json",
        "evidence/detail-images.json",
        "evidence/home-lighthouse-selected.json"
      ],
      "suggestedFix": "Add intrinsic dimensions/aspect ratios and correct responsive sizing to images.",
      "effort": "medium"
    },
    {
      "id": "F-20",
      "pathId": "search",
      "url": "https://www.xnxx.com/search/milf",
      "principleId": "be-discoverable",
      "principleCheckId": "crawlable-and-mobile-friendly",
      "guidanceId": "html",
      "guidanceCategory": "html",
      "severity": "medium",
      "confidence": "high",
      "summary": "crawlable and mobile friendly needs improvement.",
      "evidence": "Search contains 23 anchors with missing or hash-only destinations and Lighthouse found non-descriptive link text; account also has 8 px mobile overflow.",
      "artifacts": [
        "evidence/search-probe.json",
        "evidence/search-lighthouse-summary.json",
        "evidence/account-layout-mobile.json"
      ],
      "suggestedFix": "Replace hash-only anchors with real destinations or buttons and fix account mobile overflow.",
      "effort": "medium"
    },
    {
      "id": "F-21",
      "pathId": "home",
      "url": "https://www.xnxx.com/",
      "principleId": "be-discoverable",
      "principleCheckId": "canonical-and-indexing-signals",
      "guidanceId": "html",
      "guidanceCategory": "html",
      "severity": "medium",
      "confidence": "high",
      "summary": "canonical and indexing signals needs improvement.",
      "evidence": "Robots and sitemap are valid, but no rel=canonical was present on the audited home, search, or detail templates, despite duplicate-capable URL patterns.",
      "artifacts": [
        "evidence/recon.json",
        "evidence/search-probe.json",
        "evidence/detail-probe.json",
        "evidence/robots-sitemap.json"
      ],
      "suggestedFix": "Emit stable canonical links for home, search, and detail templates.",
      "effort": "medium"
    },
    {
      "id": "F-22",
      "pathId": "home",
      "url": "https://www.xnxx.com/",
      "principleId": "be-private-and-secure",
      "principleCheckId": "secure-transport-and-headers",
      "guidanceId": "security",
      "guidanceCategory": "security",
      "severity": "high",
      "confidence": "high",
      "summary": "secure transport and headers needs improvement.",
      "evidence": "HTTPS and CSP are present, but HSTS and nosniff are missing, CSP allows unsafe-inline/unsafe-eval, and the session cookie uses SameSite=None.",
      "artifacts": [
        "evidence/home-headers.json",
        "evidence/home-cookies.json"
      ],
      "suggestedFix": "Add HSTS and nosniff, tighten CSP, and avoid SameSite=None unless cross-site cookie use is required.",
      "effort": "large"
    },
    {
      "id": "F-23",
      "pathId": "account",
      "url": "https://www.xnxx.com/account/",
      "principleId": "be-private-and-secure",
      "principleCheckId": "in-context-permissions-and-modern-auth",
      "guidanceId": "passkeys",
      "guidanceCategory": "passkeys",
      "severity": "high",
      "confidence": "high",
      "summary": "in context permissions and modern auth needs improvement.",
      "evidence": "No permission prompt appeared on load, but the account flow is password-only with no WebAuthn or passkey capability.",
      "artifacts": [
        "evidence/account-probe.json"
      ],
      "suggestedFix": "Offer passkey/WebAuthn sign-in alongside password fallback.",
      "effort": "large"
    },
    {
      "id": "F-24",
      "pathId": "home",
      "url": "https://www.xnxx.com/",
      "principleId": "be-private-and-secure",
      "principleCheckId": "defensive-browser-policies",
      "guidanceId": "security",
      "guidanceCategory": "security",
      "severity": "high",
      "confidence": "high",
      "summary": "defensive browser policies needs improvement.",
      "evidence": "Clickjacking protection exists, but HSTS, Permissions-Policy, and nosniff are missing; Referrer-Policy remains no-referrer-when-downgrade and CSP permits unsafe execution.",
      "artifacts": [
        "evidence/home-headers.json"
      ],
      "suggestedFix": "Set Permissions-Policy, strict referrer policy, HSTS, nosniff, and a nonce/hash-based CSP.",
      "effort": "large"
    },
    {
      "id": "F-25",
      "pathId": "home",
      "url": "https://www.xnxx.com/",
      "principleId": "be-resilient",
      "principleCheckId": "progressive-enhancement",
      "guidanceId": "stabilize-reactive-state",
      "guidanceCategory": "user-experience",
      "severity": "medium",
      "confidence": "high",
      "summary": "progressive enhancement needs improvement.",
      "evidence": "Search retains 84% raw-content coverage, but home falls to 29% and detail to 40%; important listing/detail content is substantially reduced without JavaScript.",
      "artifacts": [
        "evidence/home-discoverability.json",
        "evidence/detail-discoverability.json",
        "evidence/home-discoverability-crawler.png",
        "evidence/detail-discoverability-crawler.png"
      ],
      "suggestedFix": "Server-render essential home and detail content so non-JS users/crawlers receive equivalent core information.",
      "effort": "medium"
    },
    {
      "id": "F-26",
      "pathId": "search",
      "url": "https://www.xnxx.com/search/milf",
      "principleId": "be-internationalised",
      "principleCheckId": "lang-dir-and-logical-properties",
      "guidanceId": "translator",
      "guidanceCategory": "built-in-ai",
      "severity": "medium",
      "confidence": "high",
      "summary": "lang dir and logical properties needs improvement.",
      "evidence": "lang=en is present, but dir is absent and the stylesheet probe found physical left/right declarations rather than a consistently logical-property layout.",
      "artifacts": [
        "evidence/search-probe.json"
      ],
      "suggestedFix": "Set explicit direction and migrate layout CSS to logical inline/block properties.",
      "effort": "medium"
    },
    {
      "id": "F-27",
      "pathId": "home",
      "url": "https://www.xnxx.com/",
      "principleId": "be-trustworthy",
      "principleCheckId": "no-dark-patterns",
      "guidanceId": "custom-button-actions",
      "guidanceCategory": "general",
      "severity": "high",
      "confidence": "high",
      "summary": "no dark patterns needs improvement.",
      "evidence": "After age entry, “Accept all cookies” is a large primary button while “Reject all cookies” is styled as a borderless underlined text action, creating asymmetric consent pressure.",
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/recon-after-gate.json"
      ],
      "suggestedFix": "Give Accept and Reject equal visual weight and keep consent choices explicit and reversible.",
      "effort": "large"
    },
    {
      "id": "F-28",
      "pathId": "account",
      "url": "https://www.xnxx.com/account/",
      "principleId": "be-trustworthy",
      "principleCheckId": "humane-error-handling",
      "guidanceId": "accessible-error-announcement",
      "guidanceCategory": "accessibility",
      "severity": "medium",
      "confidence": "high",
      "summary": "humane error handling needs improvement.",
      "evidence": "Native required-field messages appear only one field at a time, with no aria-invalid state or alert summary for assistive technology.",
      "artifacts": [
        "evidence/account-invalid-submit.json"
      ],
      "suggestedFix": "Add an accessible error summary and synchronize aria-invalid only after interaction.",
      "effort": "medium"
    },
    {
      "id": "F-29",
      "pathId": "account",
      "url": "https://www.xnxx.com/account/",
      "principleId": "be-trustworthy",
      "principleCheckId": "trustworthy-input-assistance",
      "guidanceId": "autofill-sign-in-form",
      "guidanceCategory": "forms",
      "severity": "medium",
      "confidence": "high",
      "summary": "trustworthy input assistance needs improvement.",
      "evidence": "Email/login and current-password fields have empty autocomplete values; signup username/profile/password fields also omit appropriate tokens.",
      "artifacts": [
        "evidence/account-probe.json"
      ],
      "suggestedFix": "Add username/current-password/new-password and related autocomplete tokens.",
      "effort": "medium"
    },
    {
      "id": "F-30",
      "pathId": "account",
      "url": "https://www.xnxx.com/account/",
      "principleId": "be-trustworthy",
      "principleCheckId": "safe-commercial-and-account-flows",
      "guidanceId": "passkey-authentication",
      "guidanceCategory": "passkeys",
      "severity": "high",
      "confidence": "high",
      "summary": "safe commercial and account flows needs improvement.",
      "evidence": "Account sign-in is password-only with no phishing-resistant passkey option; password-manager hints are also incomplete.",
      "artifacts": [
        "evidence/account-probe.json"
      ],
      "suggestedFix": "Add passkey authentication and complete password-manager semantics across account flows.",
      "effort": "large"
    },
    {
      "id": "F-31",
      "pathId": "search",
      "url": "https://www.xnxx.com/search/milf",
      "principleId": "be-sustainable",
      "principleCheckId": "optimised-assets",
      "guidanceId": "deliver-optimized-decorative-images",
      "guidanceCategory": "user-experience",
      "severity": "high",
      "confidence": "high",
      "summary": "optimised assets needs improvement.",
      "evidence": "Search uses 41 legacy-format images with no srcset, 29 oversized; detail has 43 legacy images and 14 oversized, despite one AVIF poster.",
      "artifacts": [
        "evidence/search-images.json",
        "evidence/detail-images.json"
      ],
      "suggestedFix": "Serve responsive AVIF/WebP thumbnails with srcset, sizes, lazy loading, and intrinsic dimensions.",
      "effort": "large"
    },
    {
      "id": "F-32",
      "pathId": "detail",
      "url": "https://www.xnxx.com/video-1i113s4b/big_titty_step_mom_sex_accident",
      "principleId": "be-sustainable",
      "principleCheckId": "no-wasteful-work",
      "guidanceId": "deprioritize-background-fetches",
      "guidanceCategory": "performance",
      "severity": "high",
      "confidence": "high",
      "summary": "no wasteful work needs improvement.",
      "evidence": "The paused detail player fetched about 3.41 MB of HLS segments during the short capture, before user-initiated playback.",
      "artifacts": [
        "evidence/detail-summary.json",
        "evidence/detail-probe.json"
      ],
      "suggestedFix": "Do not fetch HLS segments until the user initiates playback; defer background media work.",
      "effort": "large"
    },
    {
      "id": "F-33",
      "pathId": "home",
      "url": "https://www.xnxx.com/",
      "principleId": "be-sustainable",
      "principleCheckId": "third-party-and-media-budget",
      "guidanceId": "efficient-background-processing",
      "guidanceCategory": "performance",
      "severity": "high",
      "confidence": "high",
      "summary": "third party and media budget needs improvement.",
      "evidence": "Detail transferred 5.38 MB in 80 requests, including 3.41 MB of media plus 710 KB script; home Lighthouse also reported 5.64 MB total load and large cache-lifetime waste.",
      "artifacts": [
        "evidence/detail-summary.json",
        "evidence/home-lighthouse-summary.json"
      ],
      "suggestedFix": "Set a proportional media/script budget and defer playback/media requests until intent.",
      "effort": "large"
    }
  ],
  "taskList": [
    {
      "id": "T-01",
      "title": "Fix accessibility semantics, reflow, and target sizing",
      "priority": 1,
      "findingIds": [
        "F-07",
        "F-11",
        "F-15",
        "F-16",
        "F-18"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T-02",
      "title": "Stop eager media transfer and optimize responsive imagery",
      "priority": 2,
      "findingIds": [
        "F-31",
        "F-32",
        "F-33"
      ],
      "guidanceId": "deprioritize-background-fetches",
      "status": "open"
    },
    {
      "id": "T-03",
      "title": "Improve LCP and critical resource delivery",
      "priority": 3,
      "findingIds": [
        "F-12",
        "F-13",
        "F-14"
      ],
      "guidanceId": "performance",
      "status": "open"
    },
    {
      "id": "T-04",
      "title": "Harden transport and browser security policies",
      "priority": 4,
      "findingIds": [
        "F-22",
        "F-24"
      ],
      "guidanceId": "security",
      "status": "open"
    },
    {
      "id": "T-05",
      "title": "Modernize account trust, autofill, validation, and authentication",
      "priority": 5,
      "findingIds": [
        "F-23",
        "F-28",
        "F-29",
        "F-30"
      ],
      "guidanceId": "passkeys",
      "status": "open"
    },
    {
      "id": "T-06",
      "title": "Improve progressive enhancement and indexing signals",
      "priority": 6,
      "findingIds": [
        "F-20",
        "F-21",
        "F-25"
      ],
      "guidanceId": "html",
      "status": "open"
    },
    {
      "id": "T-07",
      "title": "Respect user preferences and modern navigation behavior",
      "priority": 7,
      "findingIds": [
        "F-01",
        "F-02",
        "F-03",
        "F-04",
        "F-05",
        "F-06"
      ],
      "guidanceId": "dark-mode",
      "status": "open"
    },
    {
      "id": "T-08",
      "title": "Reduce chrome and adopt component-responsive layout",
      "priority": 8,
      "findingIds": [
        "F-08",
        "F-09",
        "F-10",
        "F-17",
        "F-26"
      ],
      "guidanceId": "size-aware-styling",
      "status": "open"
    },
    {
      "id": "T-09",
      "title": "Make cookie consent choices visually equal",
      "priority": 9,
      "findingIds": [
        "F-27"
      ],
      "guidanceId": "custom-button-actions",
      "status": "open"
    },
    {
      "id": "T-10",
      "title": "Add intrinsic image dimensions and asset hygiene",
      "priority": 10,
      "findingIds": [
        "F-19"
      ],
      "guidanceId": "html",
      "status": "open"
    }
  ],
  "budget": {
    "pathCount": 5,
    "auditPasses": 1
  },
  "summary": {
    "severityCounts": {
      "critical": 0,
      "high": 15,
      "medium": 12,
      "low": 6
    },
    "notCovered": "Authenticated member-only state, upload completion, paid GOLD checkout, external live-cam/dating destinations, and exhaustive locale variants were not covered because they require credentials/payment or leave the audited origin."
  },
  "agent": "pi",
  "runId": "2026-07-20T20-24-37-939Z"
}
