{
  "url": "https://nustargame.com",
  "auditedAt": "2026-07-26T13:08:38.950Z",
  "mode": "report",
  "status": "completed",
  "statusDetail": "Coverage-complete audit of the regional 403 restriction response. The underlying Philippines-only product was not reachable from this audit location; all sitemap routes returned the same restriction template.",
  "page": {
    "appType": "mpa",
    "framework": "none detected on regional response",
    "notes": "A server-rendered static geo-restriction page. Home, games, promos, news, and an unknown route all returned HTTP 403 with the same English notice."
  },
  "evidenceUsed": [
    "screenshot",
    "dom",
    "evaluate-probe",
    "layout-metrics",
    "trace",
    "har",
    "discoverability",
    "headers",
    "cookies",
    "trackers",
    "secrets",
    "images",
    "heap-summary",
    "axe-core",
    "CDP-console",
    "Lighthouse-attempt"
  ],
  "guidanceConsulted": [
    "accessibility",
    "accessible-error-announcement",
    "language-detection",
    "language-model",
    "summarizer",
    "translator",
    "css",
    "highlight-text-ranges",
    "css-layout",
    "animated-select-picker",
    "autofill-address-form",
    "autofill-highlight-inputs",
    "autofill-payment-form",
    "autofill-sign-in-form",
    "autofill-sign-up-form",
    "brand-consistent-forms",
    "branded-select-styling",
    "custom-select-picker-layouts",
    "form-fields-automatically-fit-contents",
    "forms",
    "required-field-feedback",
    "rich-media-picker",
    "select-menu-interaction",
    "validate-input-after-interaction",
    "html",
    "passkey-authentication",
    "passkey-conditional-create",
    "passkey-management",
    "passkey-reauthentication",
    "passkey-registration",
    "passkeys",
    "batch-analytics-events",
    "break-up-long-tasks",
    "calculate-total-foreground-time",
    "conditional-async-dependencies",
    "defer-rendering-heavy-content",
    "defer-work-until-scroll-ends",
    "deprioritize-background-fetches",
    "detect-initial-visibility-state",
    "efficient-background-processing",
    "faster-spa-view-transitions",
    "full-session-analytics",
    "identify-heavy-scripts",
    "identify-inp-causes",
    "improve-next-page-load-performance",
    "interactions-in-complex-layouts",
    "optimize-image-priority",
    "optimize-preload-priority",
    "optimize-script-priority",
    "performance",
    "resolution-optimized-pseudo-elements",
    "schedule-tasks-by-priority",
    "sequence-distributed-events",
    "privacy",
    "security",
    "adapt-scrollbar-to-contrast-preferences",
    "anchor-positioning-tab-underline",
    "animate-element-entry-exit",
    "animate-to-from-top-layer",
    "animate-to-intrinsic-sizes",
    "apply-webgl-shaders",
    "calculate-event-differentials",
    "calculate-with-intrinsic-sizes",
    "capture-location-agnostic-data",
    "carousel-slide-effects",
    "carousel-snap-highlights",
    "child-state-based-styling",
    "complex-shapes",
    "component-specific-light-dark-theme",
    "consistent-cross-document-transitions",
    "content-based-styling",
    "coordinate-global-events",
    "cross-document-transitions",
    "customize-scrollbar-color-and-thickness",
    "dark-mode",
    "declarative-dialog-popover-control",
    "deliver-optimized-decorative-images",
    "design-token-reactivity",
    "directional-navigation-transitions",
    "dynamic-sibling-animations",
    "dynamic-sibling-styling",
    "export-html-media-from-canvas",
    "expose-canvas-content-to-browser-features",
    "flicker-free-client-side-ab-testing",
    "fluid-scaling",
    "format-human-readable-durations",
    "group-element-transitions",
    "improve-text-layout-and-legibility",
    "individual-transform-properties",
    "interactive-content-in-3d-scenes",
    "interactive-content-reveal",
    "interest-triggered-action-previews",
    "interest-triggered-tooltips",
    "light-dismiss-a-dialog",
    "manage-recurring-intervals",
    "model-partial-time-concepts",
    "move-dom-element-without-losing-state",
    "navigation-drawer",
    "overflow-clipping-control",
    "parallax-scroll-effects",
    "persistent-app-tours",
    "persistent-toast-notifications",
    "persistent-top-layer-ui",
    "physics-based-easing",
    "platform-controls-dismiss-dialog",
    "position-aware-tooltips",
    "precise-text-alignment",
    "prevent-text-wrapping",
    "pull-to-reveal",
    "reduce-style-repetition",
    "resilient-context-menus-and-nested-dropdowns",
    "same-document-transitions",
    "scroll-entry-exit-effects",
    "scroll-position-aware-elements",
    "scroll-progress-indicator",
    "scroll-snap-realtime-feedback",
    "scroll-snap-state-sync",
    "scroll-target-on-load",
    "scrollability-affordance-hints",
    "scrollytelling",
    "search-hidden-content",
    "shaped-cutouts",
    "shrinking-header-on-scroll",
    "size-aware-styling",
    "soft-edge-content-fade",
    "stabilize-reactive-state",
    "stack-drill-down",
    "style-parent-with-has",
    "support-global-calendar-systems",
    "swipe-to-remove",
    "visually-stable-font-fallbacks",
    "visually-stable-mixed-fonts",
    "visually-texture-content",
    "agentic-forms",
    "agentic-javascript-tools",
    "webmcp"
  ],
  "artifacts": [
    {
      "type": "screenshot",
      "path": "evidence/home-desktop.png",
      "caption": "Regional restriction response at 1440×1000",
      "condition": "viewport: 1440x1000",
      "findingIds": [
        "F05"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-mobile.png",
      "caption": "Regional restriction response at 360×800, showing clipped footer",
      "condition": "viewport: 360x800",
      "findingIds": [
        "F03",
        "F18"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-dark.png",
      "caption": "Dark preference leaves page unchanged",
      "condition": "prefers-color-scheme: dark",
      "findingIds": [
        "F01"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-contrast.png",
      "caption": "High-contrast preference leaves page unchanged",
      "condition": "prefers-contrast: more",
      "findingIds": [
        "F02"
      ]
    },
    {
      "type": "layout",
      "path": "evidence/home-layout-mobile.json",
      "caption": "No scroll overflow/CLS at 360px, with element clipping corroborated separately",
      "condition": "viewport: 360x800",
      "findingIds": [
        "F03"
      ]
    },
    {
      "type": "other",
      "path": "evidence/mobile-computed.json",
      "caption": "Computed mobile bounds and text styles",
      "condition": "viewport: 360x800",
      "findingIds": [
        "F03"
      ]
    },
    {
      "type": "trace",
      "path": "evidence/home-trace.json",
      "caption": "DevTools load trace",
      "condition": "default",
      "findingIds": [
        "F06"
      ]
    },
    {
      "type": "trace-summary",
      "path": "evidence/home-trace-summary.json",
      "caption": "LCP/FCP and main-thread summary",
      "condition": "default",
      "findingIds": [
        "F06"
      ]
    },
    {
      "type": "har",
      "path": "evidence/home.har",
      "caption": "Network archive",
      "condition": "default",
      "findingIds": [
        "F06",
        "F17"
      ]
    },
    {
      "type": "har-summary",
      "path": "evidence/home-summary.json",
      "caption": "Network totals, failures, blocking candidates, and weight offenders",
      "condition": "default",
      "findingIds": [
        "F06",
        "F17"
      ]
    },
    {
      "type": "discoverability",
      "path": "evidence/discoverability.json",
      "caption": "Raw HTML/rendered comparison and 403 status",
      "condition": "crawler without JavaScript",
      "findingIds": [
        "F12"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/discoverability-rendered.png",
      "caption": "Browser-rendered regional response",
      "condition": "JavaScript enabled",
      "findingIds": [
        "F12"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/discoverability-crawler.png",
      "caption": "Crawler view retains full notice",
      "condition": "JavaScript disabled",
      "findingIds": [
        "F12"
      ]
    },
    {
      "type": "other",
      "path": "evidence/headers.json",
      "caption": "Security header inventory",
      "condition": "default",
      "findingIds": [
        "F14",
        "F15"
      ]
    },
    {
      "type": "other",
      "path": "evidence/cookies.json",
      "caption": "Cookie security inventory",
      "condition": "default",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/trackers.json",
      "caption": "Third-party and tracker inventory",
      "condition": "default",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/secrets.json",
      "caption": "Client secret scan: no findings",
      "condition": "default",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/images.json",
      "caption": "Image dimensions, formats, srcset and alt audit",
      "condition": "default",
      "findingIds": [
        "F07",
        "F10",
        "F17"
      ]
    },
    {
      "type": "heap",
      "path": "evidence/home-heap.json",
      "caption": "V8 heap summary",
      "condition": "single static state",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/runtime-probe.json",
      "caption": "Heap, DOM, doctype, locale, and runtime inventory",
      "condition": "single static state",
      "findingIds": [
        "F16"
      ]
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse.json",
      "caption": "Lighthouse attempt, blocked from scoring by intentional HTTP 403",
      "condition": "default",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/axe.json",
      "caption": "axe-core accessibility results",
      "condition": "default",
      "findingIds": [
        "F02",
        "F04",
        "F08"
      ]
    },
    {
      "type": "other",
      "path": "evidence/console.json",
      "caption": "CDP console and exception events through load",
      "condition": "default",
      "findingIds": [
        "F09",
        "F10"
      ]
    },
    {
      "type": "dom",
      "path": "evidence/home-dom.json",
      "caption": "Rendered DOM snapshot",
      "condition": "default",
      "findingIds": [
        "F05",
        "F11"
      ]
    },
    {
      "type": "other",
      "path": "evidence/feature-probe.json",
      "caption": "Metadata, script attributes, controls, and platform features",
      "condition": "prefers-reduced-motion: reduce",
      "findingIds": [
        "F06",
        "F11",
        "F13"
      ]
    },
    {
      "type": "other",
      "path": "evidence/site-map.json",
      "caption": "robots.txt and sitemap.xml responses",
      "condition": "default",
      "findingIds": [
        "F12"
      ]
    },
    {
      "type": "other",
      "path": "evidence/404.json",
      "caption": "Unknown-route regional response probe",
      "condition": "default",
      "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",
      "status": "issues",
      "confidence": "high",
      "method": "Screenshot comparison under prefers-color-scheme: dark",
      "evidence": "Dark and default screenshots are byte-identical and retain the same white surface.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-dark.png"
      ],
      "findingIds": [
        "F01"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-reduced-motion",
      "status": "pass",
      "confidence": "high",
      "method": "Emulated reduced-motion evaluate probe",
      "evidence": "prefers-reduced-motion: reduce matched and document.getAnimations() returned no active animations.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/feature-probe.json"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-contrast",
      "status": "issues",
      "confidence": "high",
      "method": "High-contrast screenshot plus axe contrast analysis",
      "evidence": "High-contrast rendering is unchanged and orange accent text measures 2.66:1.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-contrast.png",
        "evidence/axe.json"
      ],
      "findingIds": [
        "F02"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "view-transitions",
      "status": "not-applicable",
      "confidence": "high",
      "method": "DOM interaction inventory",
      "evidence": "The audited regional response is a single static notice with no state or route-change controls to transition.",
      "reason": "The audited regional response is a single static notice with no state or route-change controls to transition.",
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/feature-probe.json"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "scroll-driven-animations",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Animation and interaction probe",
      "evidence": "The static one-viewport response has no scrolling effects or scroll-linked motion.",
      "reason": "The static one-viewport response has no scrolling effects or scroll-linked motion.",
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/feature-probe.json"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "physical-gestures",
      "status": "pass",
      "confidence": "high",
      "method": "DOM interaction and pointer-handler inventory",
      "evidence": "The page uses ordinary document scrolling and contains no custom pointer handlers or gesture controls that fight platform behavior.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/feature-probe.json"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "scroll-state-aware-chrome",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Screenshot and DOM review",
      "evidence": "The response fits one viewport and has no navigation chrome or meaningful scroll journey.",
      "reason": "The response fits one viewport and has no navigation chrome or meaningful scroll journey.",
      "artifacts": [
        "evidence/home-desktop.png"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "anchored-positioning",
      "status": "not-applicable",
      "confidence": "high",
      "method": "DOM overlay inventory",
      "evidence": "No tooltip, menu, popover, or anchored overlay exists.",
      "reason": "No tooltip, menu, popover, or anchored overlay exists.",
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/feature-probe.json"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "directs-attention",
      "status": "pass",
      "confidence": "medium",
      "method": "Heading structure and screenshot review",
      "evidence": "For this single-state response, the H1 and compact visual hierarchy direct attention immediately to the restriction reason without a competing navigation state.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "no-intrusive-interruptions",
      "status": "pass",
      "confidence": "high",
      "method": "Initial-load screenshot and overlay inventory",
      "evidence": "The page shows only the restriction message; no pop-up, banner overlay, or consent wall obscures it.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "semantic-dismissible-primitives",
      "status": "pass",
      "confidence": "high",
      "method": "DOM semantic overlay inventory",
      "evidence": "There are no overlays or rich controls implemented with ad-hoc elements.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/feature-probe.json"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "reduced-chrome",
      "status": "pass",
      "confidence": "high",
      "method": "Desktop and mobile visual review",
      "evidence": "The sparse page focuses on the restriction message with minimal decorative chrome.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "responsive-no-horizontal-scroll",
      "status": "issues",
      "confidence": "high",
      "method": "360x800 layout metrics and element bounds probe",
      "evidence": "No scroll overflow is reported, but the 400px footer image extends from -25 to 375 and is visibly clipped.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/home-layout-mobile.json",
        "evidence/mobile-computed.json"
      ],
      "findingIds": [
        "F03"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "component-level-responsiveness",
      "status": "not-applicable",
      "confidence": "medium",
      "method": "DOM/CSS feature and reuse review",
      "evidence": "This one-off static notice has no reused component rendered in materially different containers.",
      "reason": "This one-off static notice has no reused component rendered in materially different containers.",
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/feature-probe.json"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "input-modality-aware",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Interactive-element inventory",
      "evidence": "The response contains no links, buttons, inputs, or other controls needing touch, hover, or focus treatment.",
      "reason": "The response contains no links, buttons, inputs, or other controls needing touch, hover, or focus treatment.",
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/feature-probe.json"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-purpose-and-primary-action",
      "status": "pass",
      "confidence": "high",
      "method": "First-viewport screenshot and heading review",
      "evidence": "The H1 and first paragraphs immediately explain that access is restricted to the Philippines.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "primary-flow-completion",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Journey inventory across sitemap routes",
      "evidence": "This regional response intentionally exposes no game flow; the underlying product cannot legally be exercised from the audited location.",
      "reason": "This regional response intentionally exposes no game flow; the underlying product cannot legally be exercised from the audited location.",
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/feature-probe.json"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-system-state-and-recovery",
      "status": "issues",
      "confidence": "high",
      "method": "DOM control inventory and restriction-state review",
      "evidence": "The state is clear, but there is no support, retry, verification, or policy link.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/home-dom.json",
        "evidence/feature-probe.json"
      ],
      "findingIds": [
        "F05"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "good-core-web-vitals",
      "status": "pass",
      "confidence": "medium",
      "method": "CDP trace and layout observers",
      "evidence": "Trace LCP/FCP is 1,970 ms with 0 ms TBT; layout records CLS 0. No interactive flow exists to sample INP.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-trace-summary.json",
        "evidence/home-mobile.png",
        "evidence/home-layout-mobile.json",
        "evidence/mobile-computed.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "visual-stability",
      "status": "pass",
      "confidence": "high",
      "method": "3-second layout-shift observation",
      "evidence": "CLS is 0 with no observed shifts, despite missing image dimensions in this cached test.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/home-layout-mobile.json",
        "evidence/mobile-computed.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-main-thread",
      "status": "pass",
      "confidence": "high",
      "method": "DevTools trace and long-task observer",
      "evidence": "Trace and layout observer report zero long tasks and 0 ms total blocking time.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-trace-summary.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-resource-delivery",
      "status": "issues",
      "confidence": "high",
      "method": "HAR dependency signals confirmed against script attributes and trace",
      "evidence": "A parser-inserted classic script has no async/defer, CSS blocks rendering, and two cross-origin fonts fail; LCP is 1.97 s.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home-dom.json",
        "evidence/feature-probe.json",
        "evidence/home-trace-summary.json"
      ],
      "findingIds": [
        "F06"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "trim-unused-and-duplicate-code",
      "status": "pass",
      "confidence": "medium",
      "method": "HAR resource inventory",
      "evidence": "The entire transfer is 53,953 bytes with only three small scripts; no duplicated or dominant third-party bundle is evident.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "names-roles-labels",
      "status": "issues",
      "confidence": "high",
      "method": "axe, image audit, and alt-content comparison",
      "evidence": "Images have alt attributes, but the composite compliance image is named only “Philippines”, omitting its 21+ and regulator meaning.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/axe.json",
        "evidence/images.json"
      ],
      "findingIds": [
        "F07"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "sufficient-contrast",
      "status": "issues",
      "confidence": "high",
      "method": "axe color-contrast computation",
      "evidence": "Two orange text spans on white have a measured contrast ratio of 2.66:1, below 4.5:1.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/axe.json"
      ],
      "findingIds": [
        "F19"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "structure-and-focus",
      "status": "issues",
      "confidence": "high",
      "method": "axe landmark and heading analysis",
      "evidence": "Heading order passes, but axe finds no main landmark and page content outside landmarks; there are no focusable controls.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/axe.json"
      ],
      "findingIds": [
        "F08"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "legible-text",
      "status": "pass",
      "confidence": "high",
      "method": "Mobile/desktop visual review and computed typography",
      "evidence": "Body text is 14px with 30px line-height and remains readable without overlap on both viewports, apart from the separately reported contrast accents.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/home-layout-mobile.json",
        "evidence/mobile-computed.json"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "zoom-reflow-targets-and-media",
      "status": "issues",
      "confidence": "high",
      "method": "axe meta-viewport audit and narrow-layout screenshot",
      "evidence": "user-scalable=no and maximum-scale=1 disable zoom; the footer image also clips at 360px.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/axe.json",
        "evidence/home-mobile.png",
        "evidence/home-layout-mobile.json",
        "evidence/mobile-computed.json"
      ],
      "findingIds": [
        "F04"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "no-console-errors",
      "status": "issues",
      "confidence": "high",
      "method": "CDP Runtime and Log events collected through load",
      "evidence": "No uncaught exception occurred, but six error log entries include font CORS failures and 403 resources.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/console.json"
      ],
      "findingIds": [
        "F09"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "sound-document-and-assets",
      "status": "issues",
      "confidence": "high",
      "method": "DOM, image audit, and network console review",
      "evidence": "Doctype and UTF-8 are valid, but both images omit dimensions and malformed cross-origin font requests fail.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/images.json",
        "evidence/console.json"
      ],
      "findingIds": [
        "F10"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "browser-platform-hygiene",
      "status": "pass",
      "confidence": "medium",
      "method": "DOM/API inventory plus runtime exception capture",
      "evidence": "No permissions prompt, input paste handler, deprecated API use, or uncaught exception was observed on this minimal page.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/feature-probe.json",
        "evidence/console.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "title-and-description",
      "status": "issues",
      "confidence": "high",
      "method": "DOM metadata probe across advertised routes",
      "evidence": "Every tested route uses title “Nustar” and no meta description.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/feature-probe.json"
      ],
      "findingIds": [
        "F11"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "crawlable-and-mobile-friendly",
      "status": "issues",
      "confidence": "high",
      "method": "Robots/sitemap, DOM links, viewport, and mobile bounds probes",
      "evidence": "Robots allows crawlers and viewport exists, but zoom is disabled, a footer asset clips, and no descriptive help link exists.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/home-layout-mobile.json",
        "evidence/mobile-computed.json"
      ],
      "findingIds": [
        "F18"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "canonical-and-indexing-signals",
      "status": "issues",
      "confidence": "high",
      "method": "Raw fetch plus route response and robots/sitemap inspection",
      "evidence": "All advertised routes return 403 in this region, no canonical exists, and robots/sitemap simultaneously advertise crawling.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/discoverability.json",
        "evidence/discoverability-rendered.png",
        "evidence/discoverability-crawler.png",
        "evidence/site-map.json"
      ],
      "findingIds": [
        "F12"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "structured-and-shareable-metadata",
      "status": "issues",
      "confidence": "high",
      "method": "DOM metadata inventory",
      "evidence": "No Open Graph tags or JSON-LD are present for the NUSTAR brand/service page.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/feature-probe.json"
      ],
      "findingIds": [
        "F13"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "secure-transport-and-headers",
      "status": "issues",
      "confidence": "high",
      "method": "Headers, cookie, mixed-content, and secret probes",
      "evidence": "HTTPS, HSTS, nosniff and secure HttpOnly cookies are present, but CSP is missing.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/headers.json",
        "evidence/cookies.json",
        "evidence/trackers.json",
        "evidence/secrets.json"
      ],
      "findingIds": [
        "F14"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "data-minimisation-and-third-parties",
      "status": "pass",
      "confidence": "medium",
      "method": "HAR, tracker, cookie and secret review",
      "evidence": "No known trackers or exposed secrets were found; the only third-party host serves brand/font assets, and transfer is 54 KB.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/headers.json",
        "evidence/cookies.json",
        "evidence/trackers.json",
        "evidence/secrets.json",
        "evidence/home-summary.json"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "in-context-permissions-and-modern-auth",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Permission/auth surface inventory",
      "evidence": "The restriction response requests no permissions and exposes no authentication flow.",
      "reason": "The restriction response requests no permissions and exposes no authentication flow.",
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/feature-probe.json"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "defensive-browser-policies",
      "status": "issues",
      "confidence": "high",
      "method": "Security response-header inspection",
      "evidence": "HSTS, X-Frame-Options, nosniff and Referrer-Policy are present; Permissions-Policy and CSP frame-ancestors are absent.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/headers.json",
        "evidence/cookies.json",
        "evidence/trackers.json",
        "evidence/secrets.json"
      ],
      "findingIds": [
        "F15"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "progressive-enhancement",
      "status": "pass",
      "confidence": "high",
      "method": "Raw-HTML/rendered diff and JS-disabled crawler screenshot",
      "evidence": "Raw HTML contains 100% of rendered content tokens and the JS-disabled crawler view shows the full notice.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/discoverability.json",
        "evidence/discoverability-rendered.png",
        "evidence/discoverability-crawler.png"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "resilient-runtime-behaviour",
      "status": "pass",
      "confidence": "medium",
      "method": "Static runtime and viewport-edge review",
      "evidence": "The static response has no menus, overlays, async app state, or state moves that can become fragile.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/feature-probe.json",
        "evidence/home-mobile.png",
        "evidence/home-layout-mobile.json",
        "evidence/mobile-computed.json"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "offline-and-installable",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Manifest/service-worker inventory and site-purpose judgement",
      "evidence": "This legal restriction notice is not an app surface; it has no manifest or service-worker controller and does not need installation.",
      "reason": "This legal restriction notice is not an app surface; it has no manifest or service-worker controller and does not need installation.",
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/feature-probe.json"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "network-and-http-failure-states",
      "status": "pass",
      "confidence": "medium",
      "method": "Regional denial and unknown-route probes",
      "evidence": "The server intentionally renders a clear restriction explanation for home, sitemap routes, and an unknown route instead of a blank shell.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/discoverability.json",
        "evidence/discoverability-rendered.png",
        "evidence/discoverability-crawler.png",
        "evidence/404.json"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "lang-dir-and-logical-properties",
      "status": "issues",
      "confidence": "high",
      "method": "DOM language and rendered-language comparison",
      "evidence": "html lang is zh-CN while all visible prose is English.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/feature-probe.json"
      ],
      "findingIds": [
        "F16"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "locale-aware-data",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Rendered-data inventory",
      "evidence": "The response contains no dates, numbers, currencies, durations, or calendars to localise.",
      "reason": "The response contains no dates, numbers, currencies, durations, or calendars to localise.",
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/feature-probe.json"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "time-zone-correctness",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Rendered-data inventory",
      "evidence": "The response contains no time or event data.",
      "reason": "The response contains no time or event data.",
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/feature-probe.json"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "no-dark-patterns",
      "status": "pass",
      "confidence": "high",
      "method": "Visual and interaction review",
      "evidence": "The restriction notice has no upsell, consent wall, disguised advertising, forced continuity, or manipulative choice.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "humane-error-handling",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Form inventory",
      "evidence": "No form or user-entered validation state exists.",
      "reason": "No form or user-entered validation state exists.",
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/feature-probe.json"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "trustworthy-input-assistance",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Input inventory",
      "evidence": "No input fields exist.",
      "reason": "No input fields exist.",
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/feature-probe.json"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "safe-commercial-and-account-flows",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Commercial/account-flow inventory",
      "evidence": "No checkout, subscription, consent, authentication, or account-management flow is exposed in this regional response.",
      "reason": "No checkout, subscription, consent, authentication, or account-management flow is exposed in this regional response.",
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/feature-probe.json"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "optimised-assets",
      "status": "issues",
      "confidence": "high",
      "method": "Image and HAR byte analysis",
      "evidence": "Both PNGs are oversized, legacy-format, dimensionless, and lack srcset; images are 69% of transferred bytes.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/images.json",
        "evidence/home-summary.json"
      ],
      "findingIds": [
        "F17"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "no-wasteful-work",
      "status": "pass",
      "confidence": "high",
      "method": "Trace, HAR and idle observation",
      "evidence": "Only 11 requests and 54 KB transfer were observed, with no long tasks or ongoing background work.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home-trace-summary.json"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "third-party-and-media-budget",
      "status": "pass",
      "confidence": "high",
      "method": "HAR type/origin budget and media inventory",
      "evidence": "No audio/video/autoplay exists; third-party asset traffic is modest and total transfer is 54 KB.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home-dom.json",
        "evidence/feature-probe.json"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "structured-agent-capabilities",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Site-purpose and WebMCP capability inventory",
      "evidence": "This regional legal notice exposes no actionable capability for an agent; structured WebMCP tools would add no useful operation.",
      "reason": "This regional legal notice exposes no actionable capability for an agent; structured WebMCP tools would add no useful operation.",
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/feature-probe.json"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "on-device-inference",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Site-purpose and API inventory",
      "evidence": "No summarisation or generative task exists on this short static notice.",
      "reason": "No summarisation or generative task exists on this short static notice.",
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/feature-probe.json"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-leak-under-repeated-interaction",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Representative-interaction inventory",
      "evidence": "The static response has no real interaction to repeat; fabricating one would not test a user journey.",
      "reason": "The static response has no real interaction to repeat; fabricating one would not test a user journey.",
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/feature-probe.json"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "bounded-footprint",
      "status": "pass",
      "confidence": "high",
      "method": "Heap summary and Performance.memory probe",
      "evidence": "Heap snapshot totals 2,555,353 self-size bytes; runtime used heap is 4.64 MB with only 26 live DOM elements, proportionate to the page.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-heap.json",
        "evidence/runtime-probe.json"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-detached-dom-or-unbounded-listeners",
      "status": "pass",
      "confidence": "medium",
      "method": "Heap constructor summary and static runtime inventory",
      "evidence": "No Detached* constructor appears in top heap constructors, the live DOM has 26 elements, and the page has no recurring interaction or timers.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-heap.json",
        "evidence/runtime-probe.json"
      ]
    }
  ],
  "principleOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F01",
        "F02"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "provide-guided-navigation",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F03"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F05"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F06"
      ]
    },
    {
      "principleId": "be-inclusive",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F07",
        "F19",
        "F08",
        "F04"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F09",
        "F10"
      ]
    },
    {
      "principleId": "be-discoverable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F11",
        "F18",
        "F12",
        "F13"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F14",
        "F15"
      ]
    },
    {
      "principleId": "be-resilient",
      "expectation": "contextual",
      "status": "pass"
    },
    {
      "principleId": "be-internationalised",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F16"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "be-sustainable",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F17"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "expectation": "contextual",
      "status": "not-applicable",
      "reason": "All checks are inapplicable to this static regional restriction response."
    },
    {
      "principleId": "be-memory-efficient",
      "expectation": "default",
      "status": "pass"
    }
  ],
  "paths": [
    {
      "id": "home",
      "description": "Entry page and regional restriction template; tested desktop, mobile, preferences, no-JS, performance, security, accessibility, and memory.",
      "url": "https://nustargame.com/",
      "conditions": [
        "1440x1000",
        "360x800",
        "prefers-color-scheme: dark",
        "prefers-contrast: more",
        "prefers-reduced-motion: reduce",
        "JavaScript disabled"
      ],
      "result": "issues"
    },
    {
      "id": "games",
      "description": "Sitemap game-listing archetype candidate; geo gate returned the same 403 restriction template, so underlying listing was unavailable and de-duplicated.",
      "url": "https://nustargame.com/games",
      "conditions": [
        "default"
      ],
      "result": "issues"
    },
    {
      "id": "promos",
      "description": "Sitemap promotion archetype candidate; geo gate returned the same 403 restriction template, so underlying content was unavailable and de-duplicated.",
      "url": "https://nustargame.com/promos",
      "conditions": [
        "default"
      ],
      "result": "issues"
    },
    {
      "id": "news",
      "description": "Sitemap news archetype candidate; geo gate returned the same 403 restriction template, so underlying content was unavailable and de-duplicated.",
      "url": "https://nustargame.com/news",
      "conditions": [
        "default"
      ],
      "result": "issues"
    },
    {
      "id": "not-found",
      "description": "Unknown-route recovery probe; server returned the same clear regional restriction state rather than an app error shell.",
      "url": "https://nustargame.com/does-not-exist",
      "conditions": [
        "default"
      ],
      "result": "pass"
    }
  ],
  "findings": [
    {
      "id": "F01",
      "severity": "medium",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-color-scheme",
      "guidanceId": "dark-mode",
      "guidanceCategory": "modern-web-guidance",
      "confidence": "high",
      "summary": "The regional restriction page ignores the user’s dark color-scheme preference.",
      "evidence": "Dark and default mobile screenshots are byte-identical (54,300 bytes), and the white surface does not retint under prefers-color-scheme: dark.",
      "suggestedFix": "Declare color-scheme and provide preference-driven dark surface, text, accent, and image treatment.",
      "effort": "small",
      "artifacts": [
        "evidence/home-dark.png"
      ],
      "pathId": "home",
      "url": "https://nustargame.com/"
    },
    {
      "id": "F02",
      "severity": "medium",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-contrast",
      "guidanceId": "adapt-scrollbar-to-contrast-preferences",
      "guidanceCategory": "modern-web-guidance",
      "confidence": "high",
      "summary": "High-contrast preferences do not improve the low-contrast accent text.",
      "evidence": "The prefers-contrast: more screenshot is visually unchanged; axe measures #ff7700 text on white at 2.66:1.",
      "suggestedFix": "Use a higher-contrast accent and add prefers-contrast/forced-colors styles that preserve text and control visibility.",
      "effort": "small",
      "artifacts": [
        "evidence/home-contrast.png",
        "evidence/axe.json"
      ],
      "pathId": "home",
      "url": "https://nustargame.com/"
    },
    {
      "id": "F03",
      "severity": "medium",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "responsive-no-horizontal-scroll",
      "guidanceId": "fluid-scaling",
      "guidanceCategory": "modern-web-guidance",
      "confidence": "high",
      "summary": "A fixed-width footer graphic is clipped on the 360px layout.",
      "evidence": "The mobile probe reports .philippines_img at x=-25, width 400, right=375 in a 360px viewport; the screenshot clips the composite compliance logos.",
      "suggestedFix": "Make the footer image fluid with max-inline-size:100%; block-size:auto, or split the logos into responsive semantic assets.",
      "effort": "small",
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/home-layout-mobile.json",
        "evidence/mobile-computed.json"
      ],
      "pathId": "home",
      "url": "https://nustargame.com/"
    },
    {
      "id": "F04",
      "severity": "high",
      "principleId": "be-inclusive",
      "principleCheckId": "zoom-reflow-targets-and-media",
      "guidanceId": "accessibility",
      "guidanceCategory": "modern-web-guidance",
      "confidence": "high",
      "summary": "The viewport configuration prevents user zoom.",
      "evidence": "axe reports a critical meta-viewport violation because maximum-scale=1.0 and user-scalable=no disable zoom on mobile.",
      "suggestedFix": "Remove maximum-scale and user-scalable=no; retain width=device-width, initial-scale=1.",
      "effort": "trivial",
      "artifacts": [
        "evidence/axe.json"
      ],
      "pathId": "home",
      "url": "https://nustargame.com/"
    },
    {
      "id": "F05",
      "severity": "medium",
      "principleId": "support-core-task-success",
      "principleCheckId": "clear-system-state-and-recovery",
      "guidanceId": "persistent-toast-notifications",
      "guidanceCategory": "modern-web-guidance",
      "confidence": "high",
      "summary": "The restriction state explains the problem but offers no recovery or support path.",
      "evidence": "The rendered DOM contains no links or controls: users cannot verify location, retry, reach support, or learn how access rules apply.",
      "suggestedFix": "Add a concise official help/support link and, where location detection can be stale, a retry or verification action with clear expectations.",
      "effort": "small",
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/home-dom.json",
        "evidence/feature-probe.json"
      ],
      "pathId": "home",
      "url": "https://nustargame.com/"
    },
    {
      "id": "F06",
      "severity": "medium",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "efficient-resource-delivery",
      "guidanceId": "optimize-script-priority",
      "guidanceCategory": "modern-web-guidance",
      "confidence": "high",
      "summary": "Blocking resources and failed cross-origin fonts delay an otherwise tiny page.",
      "evidence": "The trace records LCP/FCP at 1,970 ms. HAR identifies parser-blocking index.css and a classic index.js without async/defer; two font requests fail CORS after about 1.18 s.",
      "suggestedFix": "Fix the font URLs/CORS, preload only fonts actually used, and defer or remove the classic script if it is not required for first paint.",
      "effort": "small",
      "artifacts": [
        "evidence/home-trace-summary.json",
        "evidence/home-summary.json",
        "evidence/home-dom.json",
        "evidence/feature-probe.json"
      ],
      "pathId": "home",
      "url": "https://nustargame.com/"
    },
    {
      "id": "F07",
      "severity": "medium",
      "principleId": "be-inclusive",
      "principleCheckId": "names-roles-labels",
      "guidanceId": "accessibility",
      "guidanceCategory": "modern-web-guidance",
      "confidence": "high",
      "summary": "The composite footer image has an inaccurate accessible alternative.",
      "evidence": "The image contains NUSTAR Online, PAGCOR, and a 21+ responsible-gaming notice, but its alt text is only “Philippines”.",
      "suggestedFix": "Use concise alt text that communicates the meaningful logos and 21+ notice, or render the compliance text as HTML.",
      "effort": "trivial",
      "artifacts": [
        "evidence/images.json",
        "evidence/home-mobile.png",
        "evidence/home-layout-mobile.json",
        "evidence/mobile-computed.json"
      ],
      "pathId": "home",
      "url": "https://nustargame.com/"
    },
    {
      "id": "F08",
      "severity": "low",
      "principleId": "be-inclusive",
      "principleCheckId": "structure-and-focus",
      "guidanceId": "accessibility",
      "guidanceCategory": "modern-web-guidance",
      "confidence": "high",
      "summary": "The restriction content has no main landmark.",
      "evidence": "axe reports landmark-one-main and region violations; all visible content is inside generic div elements.",
      "suggestedFix": "Wrap the primary message in <main> and use a semantic footer for the compliance marks.",
      "effort": "trivial",
      "artifacts": [
        "evidence/axe.json"
      ],
      "pathId": "home",
      "url": "https://nustargame.com/"
    },
    {
      "id": "F09",
      "severity": "medium",
      "principleId": "follow-best-practices",
      "principleCheckId": "no-console-errors",
      "guidanceId": "html",
      "guidanceCategory": "modern-web-guidance",
      "confidence": "high",
      "summary": "The page logs resource and CORS errors on every load.",
      "evidence": "The CDP console probe records six error entries, including two fonts blocked by CORS and a 403 favicon.",
      "suggestedFix": "Correct or remove the broken font requests, provide an accessible favicon response, and keep expected regional HTTP handling from surfacing avoidable resource errors.",
      "effort": "small",
      "artifacts": [
        "evidence/console.json"
      ],
      "pathId": "home",
      "url": "https://nustargame.com/"
    },
    {
      "id": "F10",
      "severity": "low",
      "principleId": "follow-best-practices",
      "principleCheckId": "sound-document-and-assets",
      "guidanceId": "html",
      "guidanceCategory": "modern-web-guidance",
      "confidence": "high",
      "summary": "Images lack intrinsic dimensions and the font asset URLs are malformed.",
      "evidence": "The image audit finds both images missing width/height; console/HAR show font URLs under /seo/logo.png/Montserrat-*.otf failing CORS.",
      "suggestedFix": "Add width and height matching intrinsic ratios and correct the @font-face URLs/CORS configuration.",
      "effort": "small",
      "artifacts": [
        "evidence/images.json",
        "evidence/console.json"
      ],
      "pathId": "home",
      "url": "https://nustargame.com/"
    },
    {
      "id": "F11",
      "severity": "medium",
      "principleId": "be-discoverable",
      "principleCheckId": "title-and-description",
      "guidanceId": "html",
      "guidanceCategory": "modern-web-guidance",
      "confidence": "high",
      "summary": "The page has a generic title and no meta description.",
      "evidence": "DOM evidence shows title “Nustar” on every sitemap route and no meta[name=description].",
      "suggestedFix": "Write a descriptive regional-restriction title and meta description; use unique metadata on each publicly indexed route.",
      "effort": "trivial",
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/feature-probe.json"
      ],
      "pathId": "home",
      "url": "https://nustargame.com/"
    },
    {
      "id": "F12",
      "severity": "high",
      "principleId": "be-discoverable",
      "principleCheckId": "canonical-and-indexing-signals",
      "guidanceId": "html",
      "guidanceCategory": "modern-web-guidance",
      "confidence": "high",
      "summary": "Sitemap URLs return an index-hostile 403 response in the audited region with no canonical signal.",
      "evidence": "The home, /games, /promos, and /news probes all return 403 with the same restriction template; discoverability fetch also reports 403, while robots.txt explicitly allows crawlers and sitemap.xml advertises those URLs. No canonical is present.",
      "suggestedFix": "Align indexing signals with geo policy: serve indexable content with 200 where intended, or deliberately exclude restricted variants; add correct canonical URLs and use a semantically appropriate restriction response.",
      "effort": "medium",
      "artifacts": [
        "evidence/discoverability.json",
        "evidence/discoverability-rendered.png",
        "evidence/discoverability-crawler.png",
        "evidence/site-map.json",
        "evidence/route-games.json",
        "evidence/route-promos.json",
        "evidence/route-news.json"
      ],
      "pathId": "home",
      "url": "https://nustargame.com/"
    },
    {
      "id": "F13",
      "severity": "medium",
      "principleId": "be-discoverable",
      "principleCheckId": "structured-and-shareable-metadata",
      "guidanceId": "html",
      "guidanceCategory": "modern-web-guidance",
      "confidence": "high",
      "summary": "The public brand page provides no share-preview or structured metadata.",
      "evidence": "The feature probe finds zero Open Graph tags and zero JSON-LD blocks despite the page representing the NUSTAR organization/service.",
      "suggestedFix": "Add accurate Open Graph/Twitter metadata and Organization/WebSite JSON-LD matching visible content.",
      "effort": "small",
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/feature-probe.json"
      ],
      "pathId": "home",
      "url": "https://nustargame.com/"
    },
    {
      "id": "F14",
      "severity": "high",
      "principleId": "be-private-and-secure",
      "principleCheckId": "secure-transport-and-headers",
      "guidanceId": "security",
      "guidanceCategory": "modern-web-guidance",
      "confidence": "high",
      "summary": "The response has no Content-Security-Policy.",
      "evidence": "The headers primitive confirms HTTPS, HSTS, nosniff and SAMEORIGIN, but Content-Security-Policy is absent.",
      "suggestedFix": "Deploy a restrictive CSP, preferably via response header, allowing only required first-party/static origins without unsafe-inline or unsafe-eval.",
      "effort": "medium",
      "artifacts": [
        "evidence/headers.json",
        "evidence/cookies.json",
        "evidence/trackers.json",
        "evidence/secrets.json"
      ],
      "pathId": "home",
      "url": "https://nustargame.com/"
    },
    {
      "id": "F15",
      "severity": "medium",
      "principleId": "be-private-and-secure",
      "principleCheckId": "defensive-browser-policies",
      "guidanceId": "security",
      "guidanceCategory": "modern-web-guidance",
      "confidence": "high",
      "summary": "The response omits Permissions-Policy.",
      "evidence": "The headers primitive reports Permissions-Policy missing; Referrer-Policy and clickjacking defenses are present.",
      "suggestedFix": "Add a least-privilege Permissions-Policy disabling unused sensors and powerful features.",
      "effort": "trivial",
      "artifacts": [
        "evidence/headers.json",
        "evidence/cookies.json",
        "evidence/trackers.json",
        "evidence/secrets.json"
      ],
      "pathId": "home",
      "url": "https://nustargame.com/"
    },
    {
      "id": "F16",
      "severity": "high",
      "principleId": "be-internationalised",
      "principleCheckId": "lang-dir-and-logical-properties",
      "guidanceId": "translator",
      "guidanceCategory": "modern-web-guidance",
      "confidence": "high",
      "summary": "The document language is wrong for the rendered content.",
      "evidence": "The DOM declares html lang=\"zh-CN\", while the complete visible restriction message is English; direction computes to ltr.",
      "suggestedFix": "Set lang=\"en\" (or the precise English locale) for this response and generate language-specific variants with matching lang/dir.",
      "effort": "trivial",
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/feature-probe.json",
        "evidence/runtime-probe.json"
      ],
      "pathId": "home",
      "url": "https://nustargame.com/"
    },
    {
      "id": "F17",
      "severity": "medium",
      "principleId": "be-sustainable",
      "principleCheckId": "optimised-assets",
      "guidanceId": "deliver-optimized-decorative-images",
      "guidanceCategory": "modern-web-guidance",
      "confidence": "high",
      "summary": "Both PNGs are oversized and lack responsive sources.",
      "evidence": "The image audit reports 2/2 legacy PNGs oversized at more than twice their displayed width, with no srcset and no intrinsic dimensions; images account for 37,187 of 53,953 transferred bytes.",
      "suggestedFix": "Export AVIF/WebP variants at appropriate sizes, add srcset/sizes and intrinsic dimensions, and avoid a fixed 400px composite footer.",
      "effort": "small",
      "artifacts": [
        "evidence/images.json",
        "evidence/home-summary.json"
      ],
      "pathId": "home",
      "url": "https://nustargame.com/"
    },
    {
      "id": "F18",
      "severity": "medium",
      "principleId": "be-discoverable",
      "principleCheckId": "crawlable-and-mobile-friendly",
      "guidanceId": "fluid-scaling",
      "guidanceCategory": "modern-web-guidance",
      "confidence": "high",
      "summary": "The public response is not fully mobile-friendly.",
      "evidence": "Although layout reports no horizontal scrollbar and viewport meta is present, the 400px footer image is clipped at 360px and the viewport disables scaling. The page exposes no crawlable help/navigation links.",
      "suggestedFix": "Allow zoom, make all assets fluid, and provide descriptive crawlable links to official help or policy information.",
      "effort": "small",
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/home-layout-mobile.json",
        "evidence/mobile-computed.json"
      ],
      "pathId": "home",
      "url": "https://nustargame.com/"
    },
    {
      "id": "F19",
      "severity": "high",
      "principleId": "be-inclusive",
      "principleCheckId": "sufficient-contrast",
      "guidanceId": "accessibility",
      "guidanceCategory": "modern-web-guidance",
      "confidence": "high",
      "summary": "Orange accent text fails WCAG AA contrast.",
      "evidence": "axe measures both #ff7700 text spans on white at 2.66:1, below the required 4.5:1 for 14px normal text.",
      "suggestedFix": "Choose an accent color with at least 4.5:1 contrast on white and verify all preference modes.",
      "effort": "trivial",
      "artifacts": [
        "evidence/axe.json"
      ],
      "pathId": "home",
      "url": "https://nustargame.com/"
    }
  ],
  "taskList": [
    {
      "id": "T01",
      "title": "Restore zoom and responsive footer reflow",
      "priority": 1,
      "findingIds": [
        "F03",
        "F04",
        "F18"
      ],
      "guidanceId": "fluid-scaling",
      "status": "open"
    },
    {
      "id": "T02",
      "title": "Align geo HTTP, sitemap, robots, and canonical indexing signals",
      "priority": 2,
      "findingIds": [
        "F11",
        "F12",
        "F13"
      ],
      "guidanceId": "html",
      "status": "open"
    },
    {
      "id": "T03",
      "title": "Add CSP and least-privilege Permissions-Policy",
      "priority": 3,
      "findingIds": [
        "F14",
        "F15"
      ],
      "guidanceId": "security",
      "status": "open"
    },
    {
      "id": "T04",
      "title": "Correct document language and accessibility semantics",
      "priority": 4,
      "findingIds": [
        "F07",
        "F08",
        "F16"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T05",
      "title": "Fix accent contrast and preference-driven themes",
      "priority": 5,
      "findingIds": [
        "F01",
        "F02",
        "F19"
      ],
      "guidanceId": "dark-mode",
      "status": "open"
    },
    {
      "id": "T06",
      "title": "Repair font delivery and remove avoidable blocking/error requests",
      "priority": 6,
      "findingIds": [
        "F06",
        "F09",
        "F10"
      ],
      "guidanceId": "optimize-script-priority",
      "status": "open"
    },
    {
      "id": "T07",
      "title": "Optimise and responsively serve imagery",
      "priority": 7,
      "findingIds": [
        "F10",
        "F17"
      ],
      "guidanceId": "deliver-optimized-decorative-images",
      "status": "open"
    },
    {
      "id": "T08",
      "title": "Add an official help or retry path to the restriction state",
      "priority": 8,
      "findingIds": [
        "F05"
      ],
      "guidanceId": "persistent-toast-notifications",
      "status": "open"
    }
  ],
  "budget": {
    "pathCount": 5,
    "auditPasses": 1
  },
  "agent": "pi",
  "runId": "2026-07-26T13-08-38-950Z"
}
