{
  "url": "https://nouen.sp.mbga.jp",
  "auditedAt": "2026-07-18T19:32:39.016Z",
  "mode": "report",
  "status": "completed",
  "statusDetail": "Requested game host redirects to the generic Mobage portal; public representative portal, listing redirects, and login surfaces were audited.",
  "page": {
    "appType": "mpa",
    "framework": "legacy server-rendered Mobage portal",
    "notes": "nouen.sp.mbga.jp redirects to sp.mbga.jp. Several deep public listing/news URLs further resolved to www.mbga.jp in the audit browser."
  },
  "evidenceUsed": [
    "screenshot",
    "dom",
    "evaluate-probe",
    "layout-metrics",
    "trace",
    "har",
    "discoverability",
    "headers",
    "cookies",
    "trackers",
    "images",
    "secrets",
    "heap-summary",
    "lighthouse"
  ],
  "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/cookies.json",
      "caption": "cookies"
    },
    {
      "type": "screenshot",
      "path": "evidence/discoverability-crawler.png",
      "caption": "discoverability crawler"
    },
    {
      "type": "screenshot",
      "path": "evidence/discoverability-rendered.png",
      "caption": "discoverability rendered"
    },
    {
      "type": "discoverability",
      "path": "evidence/discoverability.json",
      "caption": "discoverability"
    },
    {
      "type": "dom",
      "path": "evidence/dom-home.json",
      "caption": "dom home"
    },
    {
      "type": "other",
      "path": "evidence/headers.json",
      "caption": "headers"
    },
    {
      "type": "heap",
      "path": "evidence/heap-baseline.json",
      "caption": "heap baseline"
    },
    {
      "type": "heap",
      "path": "evidence/heap-post.json",
      "caption": "heap post"
    },
    {
      "type": "screenshot",
      "path": "evidence/home-contrast.png",
      "caption": "home contrast"
    },
    {
      "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-mobile.png",
      "caption": "home mobile"
    },
    {
      "type": "other",
      "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": "har",
      "path": "evidence/home.har",
      "caption": "home"
    },
    {
      "type": "other",
      "path": "evidence/images.json",
      "caption": "images"
    },
    {
      "type": "layout",
      "path": "evidence/layout-desktop.json",
      "caption": "layout desktop"
    },
    {
      "type": "layout",
      "path": "evidence/layout-mobile.json",
      "caption": "layout mobile"
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse-summary.json",
      "caption": "lighthouse summary"
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse.json",
      "caption": "lighthouse"
    },
    {
      "type": "other",
      "path": "evidence/login-invalid-probe.json",
      "caption": "login invalid probe"
    },
    {
      "type": "screenshot",
      "path": "evidence/login-invalid.png",
      "caption": "login invalid"
    },
    {
      "type": "screenshot",
      "path": "evidence/login-mobile.png",
      "caption": "login mobile"
    },
    {
      "type": "other",
      "path": "evidence/login-recon.json",
      "caption": "login recon"
    },
    {
      "type": "screenshot",
      "path": "evidence/news-mobile.png",
      "caption": "news mobile"
    },
    {
      "type": "other",
      "path": "evidence/news-recon.json",
      "caption": "news recon"
    },
    {
      "type": "other",
      "path": "evidence/platform-probe.json",
      "caption": "platform probe"
    },
    {
      "type": "screenshot",
      "path": "evidence/ranking-mobile.png",
      "caption": "ranking mobile"
    },
    {
      "type": "other",
      "path": "evidence/ranking-recon.json",
      "caption": "ranking recon"
    },
    {
      "type": "other",
      "path": "evidence/recon.json",
      "caption": "recon"
    },
    {
      "type": "other",
      "path": "evidence/reduced-motion.json",
      "caption": "reduced motion"
    },
    {
      "type": "other",
      "path": "evidence/secrets.json",
      "caption": "secrets"
    },
    {
      "type": "other",
      "path": "evidence/site-files.json",
      "caption": "site files"
    },
    {
      "type": "other",
      "path": "evidence/trackers.json",
      "caption": "trackers"
    }
  ],
  "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": "medium",
      "method": "direct multi-modal evidence and guidance-backed judgement",
      "evidence": "The dark-emulated screenshot is pixel-identical in palette to the default light capture, and the CSS probe found no prefers-color-scheme, light-dark(), or color-scheme support.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-dark.png",
        "evidence/platform-probe.json"
      ],
      "findingIds": [
        "F02"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-reduced-motion",
      "status": "pass",
      "confidence": "medium",
      "method": "evaluate under emulated reduced motion",
      "evidence": "No active animations were reported under prefers-reduced-motion: reduce, so there is no non-essential motion to suppress.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/reduced-motion.json"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-contrast",
      "status": "issues",
      "confidence": "medium",
      "method": "direct multi-modal evidence and guidance-backed judgement",
      "evidence": "The prefers-contrast capture is unchanged; the CSS probe found no prefers-contrast/forced-colors rules, while Lighthouse failed color-contrast.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-contrast.png",
        "evidence/lighthouse-summary.json"
      ],
      "findingIds": [
        "F03"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "view-transitions",
      "status": "issues",
      "confidence": "medium",
      "method": "direct multi-modal evidence and guidance-backed judgement",
      "evidence": "The CSS probe found no View Transition rules or API use on a multi-page portal with listing and authentication navigation.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-probe.json"
      ],
      "findingIds": [
        "F04"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "scroll-driven-animations",
      "status": "not-applicable",
      "confidence": "high",
      "method": "DOM/CSS inspection",
      "evidence": "No scroll-linked animation or scrollytelling surface exists on the representative public pages.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-probe.json"
      ],
      "reason": "No scroll-linked animation or scrollytelling surface exists on the representative public pages."
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "physical-gestures",
      "status": "not-applicable",
      "confidence": "high",
      "method": "DOM and interaction recon",
      "evidence": "No gesture-driven carousel, swipe, pull-to-refresh, or custom pointer interaction was observed.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-probe.json"
      ],
      "reason": "No gesture-driven carousel, swipe, pull-to-refresh, or custom pointer interaction was observed."
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "scroll-state-aware-chrome",
      "status": "issues",
      "confidence": "medium",
      "method": "direct multi-modal evidence and guidance-backed judgement",
      "evidence": "The 2,882 px page has static chrome and no scroll-state query, progress indicator, or responsive scroll cue in the screenshot/CSS probe.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/platform-probe.json"
      ],
      "findingIds": [
        "F05"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "anchored-positioning",
      "status": "not-applicable",
      "confidence": "high",
      "method": "DOM inspection",
      "evidence": "No tooltip, popover, or edge-positioned menu was exposed in the audited public state.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-probe.json"
      ],
      "reason": "No tooltip, popover, or edge-positioned menu was exposed in the audited public state."
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "directs-attention",
      "status": "issues",
      "confidence": "medium",
      "method": "direct multi-modal evidence and guidance-backed judgement",
      "evidence": "Representative listing/news routes switch or redirect without directional transition, marker, highlight, or focus cue; the CSS probe found none of the corresponding primitives.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-probe.json",
        "evidence/ranking-mobile.png"
      ],
      "findingIds": [
        "F06"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "no-intrusive-interruptions",
      "status": "pass",
      "confidence": "medium",
      "method": "visual load inspection",
      "evidence": "Load captures show no modal interstitial or content-obscuring consent wall; the error toast is small and separately judged for recovery.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "semantic-dismissible-primitives",
      "status": "issues",
      "confidence": "medium",
      "method": "direct multi-modal evidence and guidance-backed judgement",
      "evidence": "The DOM contains hidden drawer controls and custom layer classes, while the platform probe found no dialog, popover, or details element.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/dom-home.json",
        "evidence/platform-probe.json"
      ],
      "findingIds": [
        "F07"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "reduced-chrome",
      "status": "issues",
      "confidence": "medium",
      "method": "direct multi-modal evidence and guidance-backed judgement",
      "evidence": "The desktop screenshot stretches list rows and rules across 1,280 px while retaining phone-like chrome; the mobile first viewport is dominated by nav, campaign, and section bars.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/home-mobile.png"
      ],
      "findingIds": [
        "F08"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "responsive-no-horizontal-scroll",
      "status": "pass",
      "confidence": "medium",
      "method": "layout metrics at narrow viewport",
      "evidence": "At 360×800 the layout reported scrollWidth=clientWidth=360, viewport meta present, and zero horizontal overflow.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/layout-mobile.json"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "component-level-responsiveness",
      "status": "issues",
      "confidence": "medium",
      "method": "direct multi-modal evidence and guidance-backed judgement",
      "evidence": "The CSS probe found no @container/container-type rules; the desktop screenshot shows phone-oriented list components stretched full width.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/platform-probe.json"
      ],
      "findingIds": [
        "F09"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "input-modality-aware",
      "status": "issues",
      "confidence": "medium",
      "method": "direct multi-modal evidence and guidance-backed judgement",
      "evidence": "The focus probe measured registration/login controls at 45×31 px and several elements reported outline-style none; the game navigation is only 38 px high.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-probe.json",
        "evidence/home-mobile.png"
      ],
      "findingIds": [
        "F10"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-purpose-and-primary-action",
      "status": "issues",
      "confidence": "medium",
      "method": "redirect recon and screenshot",
      "evidence": "The requested farm-game URL resolves to a generic Mobage portal, so the intended purpose and next action are lost.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/recon.json",
        "evidence/home-mobile.png"
      ],
      "findingIds": [
        "F01"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "primary-flow-completion",
      "status": "issues",
      "confidence": "medium",
      "method": "direct multi-modal evidence and guidance-backed judgement",
      "evidence": "The recon probe navigated https://nouen.sp.mbga.jp and finished at https://sp.mbga.jp/, a generic Mobage game/news portal. The farm game journey is therefore unavailable from its public entry URL.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/recon.json",
        "evidence/home-mobile.png"
      ],
      "findingIds": [
        "F01"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-system-state-and-recovery",
      "status": "issues",
      "confidence": "medium",
      "method": "direct multi-modal evidence and guidance-backed judgement",
      "evidence": "Both mobile and desktop captures display “システムエラーが発生しました。” over the game list, with no retry, details, or support action.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/home-desktop.png"
      ],
      "findingIds": [
        "F11"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "good-core-web-vitals",
      "status": "issues",
      "confidence": "medium",
      "method": "direct multi-modal evidence and guidance-backed judgement",
      "evidence": "Lighthouse measured LCP 3.1 s and FCP 2.5 s; the independent trace measured LCP/FCP about 2.82 s. CLS and TBT were good.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/home-trace-summary.json"
      ],
      "findingIds": [
        "F12"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "visual-stability",
      "status": "pass",
      "confidence": "medium",
      "method": "layout observer and Lighthouse",
      "evidence": "Layout observation and Lighthouse both reported CLS 0 with no observed shifts.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/layout-mobile.json",
        "evidence/lighthouse-summary.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-main-thread",
      "status": "pass",
      "confidence": "medium",
      "method": "performance trace and Lighthouse",
      "evidence": "Trace and Lighthouse reported no long tasks and 0 ms total blocking time.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-trace-summary.json",
        "evidence/lighthouse-summary.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-resource-delivery",
      "status": "issues",
      "confidence": "medium",
      "method": "direct multi-modal evidence and guidance-backed judgement",
      "evidence": "HAR recorded 66 requests/1.20 MB, including 1.04 MB of images, parser-blocking CSS/scripts, and many large assets without useful cache headers.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home.har"
      ],
      "findingIds": [
        "F13"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "trim-unused-and-duplicate-code",
      "status": "pass",
      "confidence": "medium",
      "method": "HAR and Lighthouse review",
      "evidence": "Only about 59 KB of script and 42 KB of CSS transferred; Lighthouse did not report a failing code-hygiene audit.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/lighthouse-summary.json"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "names-roles-labels",
      "status": "issues",
      "confidence": "medium",
      "method": "direct multi-modal evidence and guidance-backed judgement",
      "evidence": "The image audit found 44 of 45 img elements without alt; the home form probe also found an unlabeled textarea.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/images.json",
        "evidence/platform-probe.json"
      ],
      "findingIds": [
        "F14"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "sufficient-contrast",
      "status": "issues",
      "confidence": "medium",
      "method": "direct multi-modal evidence and guidance-backed judgement",
      "evidence": "Lighthouse’s color-contrast audit failed on the public home page.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/home-mobile.png"
      ],
      "findingIds": [
        "F15"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "structure-and-focus",
      "status": "issues",
      "confidence": "medium",
      "method": "direct multi-modal evidence and guidance-backed judgement",
      "evidence": "Lighthouse found no main landmark; the DOM probe found no semantic landmarks and several focusable items computed outline-style none.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/platform-probe.json"
      ],
      "findingIds": [
        "F16"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "legible-text",
      "status": "pass",
      "confidence": "medium",
      "method": "visual screenshots",
      "evidence": "Representative screenshots show readable body text without clipping at 360 px; line presentation remains intact despite the separate contrast finding.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/login-mobile.png"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "zoom-reflow-targets-and-media",
      "status": "issues",
      "confidence": "medium",
      "method": "direct multi-modal evidence and guidance-backed judgement",
      "evidence": "The viewport declares maximum-scale=1 and user-scalable=no; Lighthouse failed meta-viewport and the focus probe measured 31–38 px controls.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-probe.json",
        "evidence/lighthouse-summary.json"
      ],
      "findingIds": [
        "F17"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "no-console-errors",
      "status": "pass",
      "confidence": "medium",
      "method": "Lighthouse best-practices review",
      "evidence": "Lighthouse best-practices scored 1.0 with no console-error audit failure. The visible system error is judged under task recovery/resilience.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-summary.json"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "sound-document-and-assets",
      "status": "pass",
      "confidence": "medium",
      "method": "DOM and image audit",
      "evidence": "DOM reports HTML doctype, UTF-8 charset, and the image audit found dimensions on all 45 images and no oversized/aspect-ratio failures.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-probe.json",
        "evidence/images.json"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "browser-platform-hygiene",
      "status": "pass",
      "confidence": "medium",
      "method": "Lighthouse and public-flow inspection",
      "evidence": "Lighthouse best-practices scored 1.0 and no load-time permission prompt, deprecated API failure, or paste prevention was observed.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/login-mobile.png"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "title-and-description",
      "status": "pass",
      "confidence": "medium",
      "method": "DOM and raw discoverability comparison",
      "evidence": "The rendered and raw page both expose title “モバゲー” and a descriptive meta description.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-probe.json",
        "evidence/discoverability.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "crawlable-and-mobile-friendly",
      "status": "issues",
      "confidence": "medium",
      "method": "direct multi-modal evidence and guidance-backed judgement",
      "evidence": "Lighthouse failed crawlable-anchors; recon found multiple links implemented as javascript:void(0) and anchors without href.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/recon.json",
        "evidence/lighthouse-summary.json"
      ],
      "findingIds": [
        "F18"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "canonical-and-indexing-signals",
      "status": "issues",
      "confidence": "medium",
      "method": "direct multi-modal evidence and guidance-backed judgement",
      "evidence": "The probe found no canonical or hreflang; sitemap.xml could not be fetched, and the requested nouen host redirects to another host.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-probe.json",
        "evidence/site-files.json"
      ],
      "findingIds": [
        "F19"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "structured-and-shareable-metadata",
      "status": "issues",
      "confidence": "medium",
      "method": "direct multi-modal evidence and guidance-backed judgement",
      "evidence": "The page has no JSON-LD and og:description is empty despite representing a game platform; the requested subdomain has no distinct share target.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-probe.json"
      ],
      "findingIds": [
        "F20"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "secure-transport-and-headers",
      "status": "issues",
      "confidence": "medium",
      "method": "direct multi-modal evidence and guidance-backed judgement",
      "evidence": "HTTPS is used, but CSP, HSTS, nosniff and all other inspected policies are absent. All four cookies lack Secure and use SameSite=None.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/headers.json",
        "evidence/cookies.json"
      ],
      "findingIds": [
        "F21"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "data-minimisation-and-third-parties",
      "status": "pass",
      "confidence": "medium",
      "method": "tracker, HAR and secrets review",
      "evidence": "Tracker scan found no known trackers and only two third-party origins; no secret exposure was found. The insecure aborted analytics URL is covered by transport/runtime findings.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/trackers.json",
        "evidence/secrets.json",
        "evidence/home-summary.json"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "in-context-permissions-and-modern-auth",
      "status": "issues",
      "confidence": "medium",
      "method": "direct multi-modal evidence and guidance-backed judgement",
      "evidence": "The public login offers password and federated providers but no WebAuthn/passkey path; the password field also omits a current-password autocomplete token.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/login-mobile.png",
        "evidence/login-recon.json"
      ],
      "findingIds": [
        "F22"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "defensive-browser-policies",
      "status": "issues",
      "confidence": "medium",
      "method": "direct multi-modal evidence and guidance-backed judgement",
      "evidence": "Header evidence shows no clickjacking defense, Referrer-Policy, Permissions-Policy, HSTS, CSP, or origin-isolation signal.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/headers.json"
      ],
      "findingIds": [
        "F23"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "progressive-enhancement",
      "status": "pass",
      "confidence": "medium",
      "method": "discoverability no-JS comparison",
      "evidence": "Raw HTML retained 86% of rendered content, including title, H1, and description; the site is not a JS shell.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/discoverability.json",
        "evidence/discoverability-crawler.png"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "resilient-runtime-behaviour",
      "status": "issues",
      "confidence": "medium",
      "method": "direct multi-modal evidence and guidance-backed judgement",
      "evidence": "The home path renders a system-error toast without recovery while the HAR records an aborted HTTP analytics request.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/home-summary.json"
      ],
      "findingIds": [
        "F24"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "offline-and-installable",
      "status": "not-applicable",
      "confidence": "high",
      "method": "manifest/service-worker probe",
      "evidence": "The public gaming/community portal is intrinsically network-backed; no offline/installable intent is declared, so an offline PWA is not required.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-probe.json",
        "evidence/site-files.json"
      ],
      "reason": "The public gaming/community portal is intrinsically network-backed; no offline/installable intent is declared, so an offline PWA is not required."
    },
    {
      "principleId": "be-resilient",
      "checkId": "network-and-http-failure-states",
      "status": "issues",
      "confidence": "medium",
      "method": "direct multi-modal evidence and guidance-backed judgement",
      "evidence": "The observed system error has no retry/cancel/support action and no explanation of which operation failed.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png"
      ],
      "findingIds": [
        "F25"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "lang-dir-and-logical-properties",
      "status": "pass",
      "confidence": "medium",
      "method": "DOM/CSS probe",
      "evidence": "The Japanese-only surface declares html lang=\"ja\" and uses some logical CSS properties; its left-to-right direction is correctly inherited.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-probe.json"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "locale-aware-data",
      "status": "not-applicable",
      "confidence": "high",
      "method": "content and DOM review",
      "evidence": "The audited public surfaces contain no user-facing dates, currencies, durations, or locale-switching requirement to evaluate.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/recon.json",
        "evidence/login-recon.json"
      ],
      "reason": "The audited public surfaces contain no user-facing dates, currencies, durations, or locale-switching requirement to evaluate."
    },
    {
      "principleId": "be-internationalised",
      "checkId": "time-zone-correctness",
      "status": "not-applicable",
      "confidence": "high",
      "method": "content review",
      "evidence": "No event scheduling or time-zone-sensitive data appears on the representative public surfaces.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/recon.json"
      ],
      "reason": "No event scheduling or time-zone-sensitive data appears on the representative public surfaces."
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "no-dark-patterns",
      "status": "pass",
      "confidence": "medium",
      "method": "visual flow review",
      "evidence": "Public home and login captures show clear Login, cancel, password recovery, first-use, and provider options without confirmshaming or forced consent.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/login-mobile.png",
        "evidence/home-mobile.png"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "humane-error-handling",
      "status": "issues",
      "confidence": "medium",
      "method": "direct multi-modal evidence and guidance-backed judgement",
      "evidence": "After activating Login with empty fields, the screenshot and probe were unchanged; fields were not required/invalid, aria-invalid remained absent, and no role=alert appeared.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/login-invalid.png",
        "evidence/login-invalid-probe.json"
      ],
      "findingIds": [
        "F26"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "trustworthy-input-assistance",
      "status": "issues",
      "confidence": "medium",
      "method": "direct multi-modal evidence and guidance-backed judgement",
      "evidence": "Email uses autocomplete=\"on\" and password has no token instead of username and current-password.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/login-recon.json"
      ],
      "findingIds": [
        "F27"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "safe-commercial-and-account-flows",
      "status": "pass",
      "confidence": "medium",
      "method": "login flow review",
      "evidence": "The observed account entry clearly exposes cancellation, password recovery, first-use registration, and multiple sign-in alternatives; no purchase commitment was entered.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/login-mobile.png",
        "evidence/login-recon.json"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "optimised-assets",
      "status": "issues",
      "confidence": "medium",
      "method": "direct multi-modal evidence and guidance-backed judgement",
      "evidence": "The image audit found 39 legacy-format images, no modern formats, and 16 below-fold images without lazy loading; HAR attributes 1.04 MB to images.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/images.json",
        "evidence/home-summary.json"
      ],
      "findingIds": [
        "F28"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "no-wasteful-work",
      "status": "pass",
      "confidence": "medium",
      "method": "trace and HAR review",
      "evidence": "Trace showed no long tasks or ongoing main-thread work, and HAR recorded only one failed XHR rather than chatty background fetching.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-trace-summary.json",
        "evidence/home-summary.json"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "third-party-and-media-budget",
      "status": "issues",
      "confidence": "medium",
      "method": "direct multi-modal evidence and guidance-backed judgement",
      "evidence": "Images account for about 87% of 1.20 MB transferred, including duplicated 181 KB sprites and several 150 KB sprites; 52 requests are from asset/ad subdomains.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json"
      ],
      "findingIds": [
        "F29"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "structured-agent-capabilities",
      "status": "not-applicable",
      "confidence": "high",
      "method": "DOM/source-signal review",
      "evidence": "No developer intent or public agent-facing transactional surface is declared for this legacy portal; absence is treated as an emerging opportunity, not a failure.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-probe.json"
      ],
      "reason": "No developer intent or public agent-facing transactional surface is declared for this legacy portal; absence is treated as an emerging opportunity, not a failure."
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "on-device-inference",
      "status": "not-applicable",
      "confidence": "high",
      "method": "DOM/source-signal review",
      "evidence": "No summarisation or language-model use case is present on the representative public pages.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-probe.json"
      ],
      "reason": "No summarisation or language-model use case is present on the representative public pages."
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-leak-under-repeated-interaction",
      "status": "pass",
      "confidence": "medium",
      "method": "baseline/post heap comparison",
      "evidence": "After ten full-page scroll cycles, heap self size rose only 22,904 bytes (0.46%) and node count by 134, with stable constructor populations.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/heap-baseline.json",
        "evidence/heap-post.json"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "bounded-footprint",
      "status": "pass",
      "confidence": "medium",
      "method": "heap summary review",
      "evidence": "The public page heap was about 5.0 MB across about 91k snapshot nodes, proportionate to this catalog page.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/heap-baseline.json"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-detached-dom-or-unbounded-listeners",
      "status": "pass",
      "confidence": "medium",
      "method": "heap constructor comparison",
      "evidence": "The before/after summaries show stable closure/object constructor counts and no Detached* constructor population among leading retained objects.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/heap-baseline.json",
        "evidence/heap-post.json"
      ]
    }
  ],
  "principleOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F02",
        "F03"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F04"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F05",
        "F06"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F07",
        "F08"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F09",
        "F10"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F01",
        "F11"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F12",
        "F13"
      ]
    },
    {
      "principleId": "be-inclusive",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F14",
        "F15",
        "F16",
        "F17"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "be-discoverable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F18",
        "F19",
        "F20"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F21",
        "F22",
        "F23"
      ]
    },
    {
      "principleId": "be-resilient",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F24",
        "F25"
      ]
    },
    {
      "principleId": "be-internationalised",
      "expectation": "contextual",
      "status": "pass"
    },
    {
      "principleId": "be-trustworthy",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F26",
        "F27"
      ]
    },
    {
      "principleId": "be-sustainable",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F28",
        "F29"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "expectation": "contextual",
      "status": "not-applicable",
      "reason": "No developer intent or public agent-facing transactional surface is declared for this legacy portal; absence is treated as an emerging opportunity, not a failure. No summarisation or language-model use case is present on the representative public pages."
    },
    {
      "principleId": "be-memory-efficient",
      "expectation": "default",
      "status": "pass"
    }
  ],
  "paths": [
    {
      "id": "entry",
      "description": "Requested nouen game entry and redirect behavior; represents the named core task.",
      "url": "https://nouen.sp.mbga.jp",
      "conditions": [
        "mobile 360x800",
        "default load"
      ],
      "result": "issues"
    },
    {
      "id": "home",
      "description": "Resolved public Mobage home/catalog; represents navigation, news/game lists, responsive UI, performance, security, discoverability, and memory.",
      "url": "https://sp.mbga.jp/",
      "conditions": [
        "360x800",
        "1280x900",
        "dark preference",
        "high contrast preference",
        "reduced motion",
        "no-JS crawler"
      ],
      "result": "issues"
    },
    {
      "id": "listing",
      "description": "Game-ranking and news deep links; intended listing archetypes, both observed redirecting to the generic www portal.",
      "url": "https://sp.mbga.jp/_game_ranking?genre=1000&sex_type=A",
      "conditions": [
        "360x800"
      ],
      "result": "issues"
    },
    {
      "id": "login",
      "description": "Public account login; represents the primary form, cancellation/recovery choices, invalid submission, and auth methods.",
      "url": "https://sp.mbga.jp/_lg",
      "conditions": [
        "360x800",
        "empty submit"
      ],
      "result": "issues"
    }
  ],
  "findings": [
    {
      "id": "F01",
      "severity": "critical",
      "summary": "The requested game URL does not reach the requested service.",
      "evidence": "The recon probe navigated https://nouen.sp.mbga.jp and finished at https://sp.mbga.jp/, a generic Mobage game/news portal. The farm game journey is therefore unavailable from its public entry URL.",
      "suggestedFix": "Restore a stable game landing/launch route or return an explicit retirement page with explanation, alternatives, and support links.",
      "principleId": "support-core-task-success",
      "principleCheckId": "primary-flow-completion",
      "guidanceId": "primary user journey task completion",
      "confidence": "high",
      "artifacts": [
        "evidence/recon.json",
        "evidence/home-mobile.png"
      ],
      "effort": "large",
      "pathId": "entry",
      "url": "https://nouen.sp.mbga.jp"
    },
    {
      "id": "F02",
      "severity": "medium",
      "summary": "The interface ignores the user’s dark color preference.",
      "evidence": "The dark-emulated screenshot is pixel-identical in palette to the default light capture, and the CSS probe found no prefers-color-scheme, light-dark(), or color-scheme support.",
      "suggestedFix": "Declare color-scheme and define preference-driven light/dark surface and text tokens, preserving contrast in both modes.",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-color-scheme",
      "guidanceId": "dark-mode",
      "confidence": "high",
      "artifacts": [
        "evidence/home-dark.png",
        "evidence/platform-probe.json"
      ],
      "effort": "medium",
      "pathId": "home",
      "url": "https://sp.mbga.jp/"
    },
    {
      "id": "F03",
      "severity": "medium",
      "summary": "High-contrast preferences are not handled and existing contrast fails.",
      "evidence": "The prefers-contrast capture is unchanged; the CSS probe found no prefers-contrast/forced-colors rules, while Lighthouse failed color-contrast.",
      "suggestedFix": "Add forced-colors and prefers-contrast adaptations and verify essential text and controls with automated and visual contrast checks.",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-contrast",
      "guidanceId": "adapt-scrollbar-to-contrast-preferences",
      "confidence": "high",
      "artifacts": [
        "evidence/home-contrast.png",
        "evidence/lighthouse-summary.json"
      ],
      "effort": "medium",
      "pathId": "home",
      "url": "https://sp.mbga.jp/"
    },
    {
      "id": "F04",
      "severity": "low",
      "summary": "Route and state changes are abrupt.",
      "evidence": "The CSS probe found no View Transition rules or API use on a multi-page portal with listing and authentication navigation.",
      "suggestedFix": "Use cross-document View Transitions for same-origin navigation, with reduced-motion-safe fallbacks.",
      "principleId": "implement-natural-interactions",
      "principleCheckId": "view-transitions",
      "guidanceId": "cross-document-transitions",
      "confidence": "high",
      "artifacts": [
        "evidence/platform-probe.json"
      ],
      "effort": "medium",
      "pathId": "home",
      "url": "https://sp.mbga.jp/"
    },
    {
      "id": "F05",
      "severity": "low",
      "summary": "Long-page navigation chrome does not respond to scroll position.",
      "evidence": "The 2,882 px page has static chrome and no scroll-state query, progress indicator, or responsive scroll cue in the screenshot/CSS probe.",
      "suggestedFix": "Add a lightweight scroll-state-aware header or progress/return affordance where it improves orientation.",
      "principleId": "provide-guided-navigation",
      "principleCheckId": "scroll-state-aware-chrome",
      "guidanceId": "scroll-position-aware-elements",
      "confidence": "high",
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/platform-probe.json"
      ],
      "effort": "medium",
      "pathId": "home",
      "url": "https://sp.mbga.jp/"
    },
    {
      "id": "F06",
      "severity": "low",
      "summary": "Navigation changes provide weak attention cues.",
      "evidence": "Representative listing/news routes switch or redirect without directional transition, marker, highlight, or focus cue; the CSS probe found none of the corresponding primitives.",
      "suggestedFix": "Preserve focus and add restrained directional or highlight feedback for route and section changes.",
      "principleId": "provide-guided-navigation",
      "principleCheckId": "directs-attention",
      "guidanceId": "directional-navigation-transitions",
      "confidence": "high",
      "artifacts": [
        "evidence/platform-probe.json",
        "evidence/ranking-mobile.png"
      ],
      "effort": "medium",
      "pathId": "home",
      "url": "https://sp.mbga.jp/"
    },
    {
      "id": "F07",
      "severity": "medium",
      "summary": "The custom navigation drawer is not built with a semantic dismissible primitive.",
      "evidence": "The DOM contains hidden drawer controls and custom layer classes, while the platform probe found no dialog, popover, or details element.",
      "suggestedFix": "Use dialog/popover with declarative control and light-dismiss, while preserving focus and escape-key behavior.",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "semantic-dismissible-primitives",
      "guidanceId": "declarative-dialog-popover-control",
      "confidence": "high",
      "artifacts": [
        "evidence/dom-home.json",
        "evidence/platform-probe.json"
      ],
      "effort": "medium",
      "pathId": "home",
      "url": "https://sp.mbga.jp/"
    },
    {
      "id": "F08",
      "severity": "medium",
      "summary": "Dense legacy chrome crowds the content and scales poorly on wide screens.",
      "evidence": "The desktop screenshot stretches list rows and rules across 1,280 px while retaining phone-like chrome; the mobile first viewport is dominated by nav, campaign, and section bars.",
      "suggestedFix": "Introduce a centered reading/container width, simplify repeated chrome, and let the primary game content lead.",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "reduced-chrome",
      "guidanceId": "improve-text-layout-and-legibility",
      "confidence": "high",
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/home-mobile.png"
      ],
      "effort": "medium",
      "pathId": "home",
      "url": "https://sp.mbga.jp/"
    },
    {
      "id": "F09",
      "severity": "medium",
      "summary": "Components rely on page-wide sizing rather than container-aware adaptation.",
      "evidence": "The CSS probe found no @container/container-type rules; the desktop screenshot shows phone-oriented list components stretched full width.",
      "suggestedFix": "Give reusable cards/lists containment and use container queries for spacing, typography, and multi-column adaptations.",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "component-level-responsiveness",
      "guidanceId": "size-aware-styling",
      "confidence": "high",
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/platform-probe.json"
      ],
      "effort": "medium",
      "pathId": "home",
      "url": "https://sp.mbga.jp/"
    },
    {
      "id": "F10",
      "severity": "high",
      "summary": "Several primary controls are too small or have no visible custom focus.",
      "evidence": "The focus probe measured registration/login controls at 45×31 px and several elements reported outline-style none; the game navigation is only 38 px high.",
      "suggestedFix": "Meet a 44×44 CSS px target where possible and add clear :focus-visible styling without removing native outlines.",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "input-modality-aware",
      "guidanceId": "accessibility",
      "confidence": "high",
      "artifacts": [
        "evidence/platform-probe.json",
        "evidence/home-mobile.png"
      ],
      "effort": "medium",
      "pathId": "home",
      "url": "https://sp.mbga.jp/"
    },
    {
      "id": "F11",
      "severity": "high",
      "summary": "A generic system error appears without a recovery action.",
      "evidence": "Both mobile and desktop captures display “システムエラーが発生しました。” over the game list, with no retry, details, or support action.",
      "suggestedFix": "Replace the transient dead-end toast with a contextual error state that explains impact and offers retry or support.",
      "principleId": "support-core-task-success",
      "principleCheckId": "clear-system-state-and-recovery",
      "guidanceId": "persistent-toast-notifications",
      "confidence": "high",
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/home-desktop.png"
      ],
      "effort": "medium",
      "pathId": "home",
      "url": "https://sp.mbga.jp/"
    },
    {
      "id": "F12",
      "severity": "medium",
      "summary": "Largest Contentful Paint misses the good threshold.",
      "evidence": "Lighthouse measured LCP 3.1 s and FCP 2.5 s; the independent trace measured LCP/FCP about 2.82 s. CLS and TBT were good.",
      "suggestedFix": "Prioritize the LCP candidate, shorten document/resource latency, and defer non-critical images and scripts.",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "good-core-web-vitals",
      "guidanceId": "optimize-image-priority",
      "confidence": "high",
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/home-trace-summary.json"
      ],
      "effort": "medium",
      "pathId": "home",
      "url": "https://sp.mbga.jp/"
    },
    {
      "id": "F13",
      "severity": "medium",
      "summary": "Resource delivery is image-heavy and weakly cached.",
      "evidence": "HAR recorded 66 requests/1.20 MB, including 1.04 MB of images, parser-blocking CSS/scripts, and many large assets without useful cache headers.",
      "suggestedFix": "Modernize and cache image assets, lazy-load below-fold images, and defer confirmed non-critical parser scripts.",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "efficient-resource-delivery",
      "guidanceId": "optimize-image-priority",
      "confidence": "high",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home.har"
      ],
      "effort": "medium",
      "pathId": "home",
      "url": "https://sp.mbga.jp/"
    },
    {
      "id": "F14",
      "severity": "high",
      "summary": "Accessible names and image alternatives are incomplete.",
      "evidence": "The image audit found 44 of 45 img elements without alt; the home form probe also found an unlabeled textarea.",
      "suggestedFix": "Give meaningful images concise alt text, decorative images alt=\"\", and every input an associated label or accessible name.",
      "principleId": "be-inclusive",
      "principleCheckId": "names-roles-labels",
      "guidanceId": "accessibility",
      "confidence": "high",
      "artifacts": [
        "evidence/images.json",
        "evidence/platform-probe.json"
      ],
      "effort": "medium",
      "pathId": "home",
      "url": "https://sp.mbga.jp/"
    },
    {
      "id": "F15",
      "severity": "high",
      "summary": "Text contrast fails WCAG minimums.",
      "evidence": "Lighthouse’s color-contrast audit failed on the public home page.",
      "suggestedFix": "Adjust foreground/background tokens to meet WCAG AA and retest every state, including high contrast and disabled controls.",
      "principleId": "be-inclusive",
      "principleCheckId": "sufficient-contrast",
      "guidanceId": "accessibility",
      "confidence": "high",
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/home-mobile.png"
      ],
      "effort": "medium",
      "pathId": "home",
      "url": "https://sp.mbga.jp/"
    },
    {
      "id": "F16",
      "severity": "high",
      "summary": "Landmarks and focus treatment are incomplete.",
      "evidence": "Lighthouse found no main landmark; the DOM probe found no semantic landmarks and several focusable items computed outline-style none.",
      "suggestedFix": "Add main/nav/header/footer landmarks, preserve a logical heading order, and provide an obvious :focus-visible treatment.",
      "principleId": "be-inclusive",
      "principleCheckId": "structure-and-focus",
      "guidanceId": "accessibility",
      "confidence": "high",
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/platform-probe.json"
      ],
      "effort": "medium",
      "pathId": "home",
      "url": "https://sp.mbga.jp/"
    },
    {
      "id": "F17",
      "severity": "high",
      "summary": "The viewport disables user zoom and some targets are undersized.",
      "evidence": "The viewport declares maximum-scale=1 and user-scalable=no; Lighthouse failed meta-viewport and the focus probe measured 31–38 px controls.",
      "suggestedFix": "Remove zoom restrictions and size controls for comfortable touch while preserving narrow-screen reflow.",
      "principleId": "be-inclusive",
      "principleCheckId": "zoom-reflow-targets-and-media",
      "guidanceId": "fluid-scaling",
      "confidence": "high",
      "artifacts": [
        "evidence/platform-probe.json",
        "evidence/lighthouse-summary.json"
      ],
      "effort": "medium",
      "pathId": "home",
      "url": "https://sp.mbga.jp/"
    },
    {
      "id": "F18",
      "severity": "medium",
      "summary": "Some links are not crawlable.",
      "evidence": "Lighthouse failed crawlable-anchors; recon found multiple links implemented as javascript:void(0) and anchors without href.",
      "suggestedFix": "Use real href URLs for navigation and buttons for actions, keeping link text descriptive.",
      "principleId": "be-discoverable",
      "principleCheckId": "crawlable-and-mobile-friendly",
      "guidanceId": "html",
      "confidence": "high",
      "artifacts": [
        "evidence/recon.json",
        "evidence/lighthouse-summary.json"
      ],
      "effort": "medium",
      "pathId": "home",
      "url": "https://sp.mbga.jp/"
    },
    {
      "id": "F19",
      "severity": "medium",
      "summary": "Canonical and sitemap signals are incomplete.",
      "evidence": "The probe found no canonical or hreflang; sitemap.xml could not be fetched, and the requested nouen host redirects to another host.",
      "suggestedFix": "Publish consistent canonical URLs and a reachable sitemap, and make redirects reflect the intended public URL lifecycle.",
      "principleId": "be-discoverable",
      "principleCheckId": "canonical-and-indexing-signals",
      "guidanceId": "html",
      "confidence": "high",
      "artifacts": [
        "evidence/platform-probe.json",
        "evidence/site-files.json"
      ],
      "effort": "medium",
      "pathId": "home",
      "url": "https://sp.mbga.jp/"
    },
    {
      "id": "F20",
      "severity": "low",
      "summary": "Share and entity metadata are incomplete.",
      "evidence": "The page has no JSON-LD and og:description is empty despite representing a game platform; the requested subdomain has no distinct share target.",
      "suggestedFix": "Add accurate Organization/WebSite structured data and complete Open Graph metadata tied to visible content.",
      "principleId": "be-discoverable",
      "principleCheckId": "structured-and-shareable-metadata",
      "guidanceId": "html",
      "confidence": "high",
      "artifacts": [
        "evidence/platform-probe.json"
      ],
      "effort": "medium",
      "pathId": "home",
      "url": "https://sp.mbga.jp/"
    },
    {
      "id": "F21",
      "severity": "high",
      "summary": "Transport defenses and cookie attributes are unsafe.",
      "evidence": "HTTPS is used, but CSP, HSTS, nosniff and all other inspected policies are absent. All four cookies lack Secure and use SameSite=None.",
      "suggestedFix": "Set Secure and appropriate SameSite on every cookie, deploy HSTS/nosniff, and introduce a nonce/hash-based CSP.",
      "principleId": "be-private-and-secure",
      "principleCheckId": "secure-transport-and-headers",
      "guidanceId": "security",
      "confidence": "high",
      "artifacts": [
        "evidence/headers.json",
        "evidence/cookies.json"
      ],
      "effort": "medium",
      "pathId": "home",
      "url": "https://sp.mbga.jp/"
    },
    {
      "id": "F22",
      "severity": "medium",
      "summary": "Authentication lacks a phishing-resistant passkey option.",
      "evidence": "The public login offers password and federated providers but no WebAuthn/passkey path; the password field also omits a current-password autocomplete token.",
      "suggestedFix": "Add passkey registration/authentication as a first-class option, retaining federated and recovery alternatives.",
      "principleId": "be-private-and-secure",
      "principleCheckId": "in-context-permissions-and-modern-auth",
      "guidanceId": "passkey-authentication",
      "confidence": "high",
      "artifacts": [
        "evidence/login-mobile.png",
        "evidence/login-recon.json"
      ],
      "effort": "large",
      "pathId": "login",
      "url": "https://sp.mbga.jp/_lg"
    },
    {
      "id": "F23",
      "severity": "high",
      "summary": "Defensive browser policies are absent.",
      "evidence": "Header evidence shows no clickjacking defense, Referrer-Policy, Permissions-Policy, HSTS, CSP, or origin-isolation signal.",
      "suggestedFix": "Deploy frame-ancestors/X-Frame-Options, strict Referrer-Policy and a least-privilege Permissions-Policy, then assess Trusted Types/origin isolation.",
      "principleId": "be-private-and-secure",
      "principleCheckId": "defensive-browser-policies",
      "guidanceId": "security",
      "confidence": "high",
      "artifacts": [
        "evidence/headers.json"
      ],
      "effort": "medium",
      "pathId": "home",
      "url": "https://sp.mbga.jp/"
    },
    {
      "id": "F24",
      "severity": "high",
      "summary": "Runtime failure handling is not resilient.",
      "evidence": "The home path renders a system-error toast without recovery while the HAR records an aborted HTTP analytics request.",
      "suggestedFix": "Handle failed requests explicitly, avoid insecure endpoints, and keep core content/actions available with retryable state.",
      "principleId": "be-resilient",
      "principleCheckId": "resilient-runtime-behaviour",
      "guidanceId": "persistent-toast-notifications",
      "confidence": "high",
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/home-summary.json"
      ],
      "effort": "medium",
      "pathId": "home",
      "url": "https://sp.mbga.jp/"
    },
    {
      "id": "F25",
      "severity": "high",
      "summary": "Network and HTTP failure states do not provide recovery.",
      "evidence": "The observed system error has no retry/cancel/support action and no explanation of which operation failed.",
      "suggestedFix": "Provide specific timeout/network/error states with retry, back, and support actions, and preserve context.",
      "principleId": "be-resilient",
      "principleCheckId": "network-and-http-failure-states",
      "guidanceId": "detect-initial-visibility-state",
      "confidence": "high",
      "artifacts": [
        "evidence/home-mobile.png"
      ],
      "effort": "medium",
      "pathId": "home",
      "url": "https://sp.mbga.jp/"
    },
    {
      "id": "F26",
      "severity": "high",
      "summary": "Submitting an empty login form gives no visible or accessible error feedback.",
      "evidence": "After activating Login with empty fields, the screenshot and probe were unchanged; fields were not required/invalid, aria-invalid remained absent, and no role=alert appeared.",
      "suggestedFix": "Require the fields, validate after interaction, mark invalid controls, move focus appropriately, and announce a concise error summary.",
      "principleId": "be-trustworthy",
      "principleCheckId": "humane-error-handling",
      "guidanceId": "accessible-error-announcement",
      "confidence": "high",
      "artifacts": [
        "evidence/login-invalid.png",
        "evidence/login-invalid-probe.json"
      ],
      "effort": "medium",
      "pathId": "login",
      "url": "https://sp.mbga.jp/_lg"
    },
    {
      "id": "F27",
      "severity": "medium",
      "summary": "Login inputs do not expose precise autocomplete semantics.",
      "evidence": "Email uses autocomplete=\"on\" and password has no token instead of username and current-password.",
      "suggestedFix": "Set autocomplete=\"username\" on the identifier and \"current-password\" on the password; preserve password-manager and paste support.",
      "principleId": "be-trustworthy",
      "principleCheckId": "trustworthy-input-assistance",
      "guidanceId": "autofill-sign-in-form",
      "confidence": "high",
      "artifacts": [
        "evidence/login-recon.json"
      ],
      "effort": "small",
      "pathId": "login",
      "url": "https://sp.mbga.jp/_lg"
    },
    {
      "id": "F28",
      "severity": "medium",
      "summary": "Image assets use legacy formats and eager loading.",
      "evidence": "The image audit found 39 legacy-format images, no modern formats, and 16 below-fold images without lazy loading; HAR attributes 1.04 MB to images.",
      "suggestedFix": "Serve WebP/AVIF where appropriate, add responsive sources, and lazy-load below-fold content images.",
      "principleId": "be-sustainable",
      "principleCheckId": "optimised-assets",
      "guidanceId": "optimize-image-priority",
      "confidence": "high",
      "artifacts": [
        "evidence/images.json",
        "evidence/home-summary.json"
      ],
      "effort": "medium",
      "pathId": "home",
      "url": "https://sp.mbga.jp/"
    },
    {
      "id": "F29",
      "severity": "medium",
      "summary": "The page’s visual asset budget is disproportionate to its simple catalog UI.",
      "evidence": "Images account for about 87% of 1.20 MB transferred, including duplicated 181 KB sprites and several 150 KB sprites; 52 requests are from asset/ad subdomains.",
      "suggestedFix": "Replace duplicate sprite sheets with smaller modern assets, cache them aggressively, and defer non-critical campaign/game media.",
      "principleId": "be-sustainable",
      "principleCheckId": "third-party-and-media-budget",
      "guidanceId": "deliver-optimized-decorative-images",
      "confidence": "high",
      "artifacts": [
        "evidence/home-summary.json"
      ],
      "effort": "medium",
      "pathId": "home",
      "url": "https://sp.mbga.jp/"
    }
  ],
  "taskList": [
    {
      "id": "T01",
      "title": "Restore or explicitly retire the nouen game route",
      "priority": 1,
      "findingIds": [
        "F01"
      ],
      "guidanceId": "primary user journey task completion",
      "status": "open"
    },
    {
      "id": "T02",
      "title": "Deploy secure cookies and defensive response headers",
      "priority": 2,
      "findingIds": [
        "F21",
        "F23"
      ],
      "guidanceId": "security",
      "status": "open"
    },
    {
      "id": "T03",
      "title": "Repair accessibility names, landmarks, contrast, zoom, focus, and target size",
      "priority": 3,
      "findingIds": [
        "F10",
        "F14",
        "F15",
        "F16",
        "F17"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T04",
      "title": "Add humane login validation and password-manager semantics",
      "priority": 4,
      "findingIds": [
        "F26",
        "F27"
      ],
      "guidanceId": "accessible-error-announcement",
      "status": "open"
    },
    {
      "id": "T05",
      "title": "Replace generic failures with actionable retry and recovery states",
      "priority": 5,
      "findingIds": [
        "F11",
        "F24",
        "F25"
      ],
      "guidanceId": "persistent-toast-notifications",
      "status": "open"
    },
    {
      "id": "T06",
      "title": "Modernize, cache, and defer the image/resource pipeline",
      "priority": 6,
      "findingIds": [
        "F12",
        "F13",
        "F28",
        "F29"
      ],
      "guidanceId": "optimize-image-priority",
      "status": "open"
    },
    {
      "id": "T07",
      "title": "Add preference-driven dark/high-contrast themes",
      "priority": 7,
      "findingIds": [
        "F02",
        "F03"
      ],
      "guidanceId": "dark-mode",
      "status": "open"
    },
    {
      "id": "T08",
      "title": "Make navigation and layouts semantic, container-aware, and less noisy",
      "priority": 8,
      "findingIds": [
        "F05",
        "F06",
        "F07",
        "F08",
        "F09"
      ],
      "guidanceId": "size-aware-styling",
      "status": "open"
    },
    {
      "id": "T09",
      "title": "Repair crawlable links, canonical/sitemap, and rich metadata",
      "priority": 9,
      "findingIds": [
        "F18",
        "F19",
        "F20"
      ],
      "guidanceId": "html",
      "status": "open"
    },
    {
      "id": "T10",
      "title": "Add restrained route transitions",
      "priority": 10,
      "findingIds": [
        "F04"
      ],
      "guidanceId": "cross-document-transitions",
      "status": "open"
    },
    {
      "id": "T11",
      "title": "Offer passkey authentication",
      "priority": 11,
      "findingIds": [
        "F22"
      ],
      "guidanceId": "passkey-authentication",
      "status": "open"
    }
  ],
  "budget": {
    "pathCount": 4,
    "auditPasses": 1
  },
  "agent": "pi",
  "runId": "2026-07-18T19-32-39-016Z"
}
